.home-availability-reveal__actions {
	display: flex;
	justify-content: flex-start;
	width: min(1220px, calc(100% - 48px));
	margin: 30px auto -66px;
}

.home-availability-reveal__actions [data-close-calendar] {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--forest);
	border-radius: 999px;
	background: transparent;
	color: var(--forest);
	font: 800 11px/1 var(--sans);
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	text-decoration: none;
}

.home-availability-reveal__actions [data-close-calendar] span {
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
}

.home-availability-reveal__actions [data-close-calendar]:hover,
.home-availability-reveal__actions [data-close-calendar]:focus-visible {
	background: var(--forest);
	color: #fff;
}

body.is-calendar-open {
	overflow: hidden;
}

.site-calendar-overlay {
	position: fixed;
	inset: 0;
	z-index: 1000;
	overflow-y: auto;
	padding: 24px 0;
	background: rgba(8, 22, 17, .82);
	backdrop-filter: blur(8px);
}

.site-calendar-overlay[hidden] {
	display: none;
}

.site-calendar-overlay .home-availability-reveal__actions {
	position: fixed;
	top: 16px;
	left: 22px;
	z-index: 1001;
	justify-content: flex-end;
	width: auto;
	margin: 0;
}

.site-calendar-overlay .home-availability-reveal__actions [data-close-calendar] {
	background: #fff;
	color: var(--forest);
}

.site-calendar-overlay .home-availability-reveal__actions [data-close-calendar]:hover,
.site-calendar-overlay .home-availability-reveal__actions [data-close-calendar]:focus-visible {
	background: var(--forest);
	color: #fff;
}

.site-calendar-overlay .tiny4you-search {
	margin-block: 58px 24px;
}

/* WordPress inserts line-break elements into shortcode output. Keep those
 * elements from becoming grid items in the calendar and search form. */
.site-calendar-overlay .tiny4you-overview__houses > br,
.site-calendar-overlay .tiny4you-overview__day > br,
.site-calendar-overlay .tiny4you-search__form > br,
.site-calendar-overlay .tiny4you-search__form > p:empty,
.site-calendar-overlay .tiny4you-search__stay > br,
.site-calendar-overlay .tiny4you-search__stay > p:empty,
.site-calendar-overlay .tiny4you-search__stay > p:has(> br:only-child),
.site-calendar-overlay .tiny4you-search__contact > br,
.site-calendar-overlay .tiny4you-search__actions > br,
.site-calendar-overlay .tiny4you-search__actions > p:empty,
.site-calendar-overlay .tiny4you-price-summary > br {
	display: none !important;
}

.site-calendar-overlay .tiny4you-search {
	margin-block: 18px;
	padding: 22px 26px;
}

.site-calendar-overlay .tiny4you-search__intro {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 22px;
	align-items: center;
}

.site-calendar-overlay .tiny4you-search__intro .eyebrow {
	display: none;
}

.site-calendar-overlay .tiny4you-search__intro h2 {
	font-size: clamp(34px, 4vw, 48px);
}

.site-calendar-overlay .tiny4you-search__intro > p:last-child {
	font-size: 13px;
}

.site-calendar-overlay .tiny4you-overview {
	margin-top: 14px;
	padding: 14px;
}

.site-calendar-overlay .tiny4you-overview__heading {
	justify-content: flex-end;
	gap: 14px;
	margin-bottom: 4px;
}

.site-calendar-overlay .tiny4you-overview__heading > div:first-child {
	display: none;
}

.site-calendar-overlay .tiny4you-overview__heading strong {
	font-size: 18px;
}

.site-calendar-overlay .tiny4you-overview__status-legend,
.site-calendar-overlay .tiny4you-overview__house-legend {
	gap: 9px;
}

.site-calendar-overlay .tiny4you-overview__house-legend {
	padding: 3px 0 4px;
}

.site-calendar-overlay .tiny4you-overview__nav {
	margin-bottom: 2px;
}

.site-calendar-overlay .tiny4you-overview__nav button {
	min-height: 34px;
	padding: 6px 12px;
}

.site-calendar-overlay .tiny4you-overview__month {
	padding: 10px;
	overflow-x: visible;
}

.site-calendar-overlay .tiny4you-overview__month h3 {
	display: none;
}

.site-calendar-overlay .tiny4you-overview__week,
.site-calendar-overlay .tiny4you-overview__days {
	min-width: 0;
	gap: 5px;
}

.site-calendar-overlay .tiny4you-overview__day {
	min-height: 64px;
	padding: 2px;
}

.site-calendar-overlay .tiny4you-overview__date {
	margin-bottom: 2px;
	font-size: 10px;
}

.site-calendar-overlay .tiny4you-overview__houses {
	grid-template-columns: repeat(2, 22px);
	gap: 3px;
	width: max-content;
	margin-inline: auto;
}

.site-calendar-overlay .tiny4you-house-marker {
	width: 22px;
	height: 22px;
	font-size: 10px;
}

.site-calendar-overlay .tiny4you-search__form {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px 12px;
	align-items: end;
	margin-top: 14px;
}

.site-calendar-overlay .tiny4you-search__stay {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.site-calendar-overlay .tiny4you-search__stay > label,
.site-calendar-overlay .tiny4you-search__contact > label {
	grid-column: auto !important;
}

.site-calendar-overlay .tiny4you-search__form input[type="date"],
.site-calendar-overlay .tiny4you-search__form select {
	width: 100%;
	min-height: 42px;
	height: 42px;
	padding-inline: 11px;
}

.site-calendar-overlay .tiny4you-search__contact {
	grid-column: 1 / 3;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.site-calendar-overlay .tiny4you-search__contact input {
	min-height: 42px;
}

.site-calendar-overlay .tiny4you-search__privacy {
	margin: 0;
}

.site-calendar-overlay .tiny4you-search__consent {
	grid-column: 3 / 5;
	align-self: center;
}

.site-calendar-overlay .tiny4you-search__actions {
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.site-calendar-overlay .tiny4you-price-summary,
.site-calendar-overlay .tiny4you-search__actions > button {
	min-height: 54px;
}

.house-exterior-gallery .tiny-gallery__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.house-exterior-gallery .tiny-gallery__grid figure,
.house-exterior-gallery .tiny-gallery__grid figure:nth-child(1),
.house-exterior-gallery .tiny-gallery__grid figure:nth-child(2),
.house-exterior-gallery .tiny-gallery__grid figure:last-child {
	grid-column: auto;
	height: 410px;
}

.houses-hero {
	padding-bottom: 50px;
}

.houses-hero + .house-exterior-gallery {
	padding-top: 35px;
}

.photo-mosaic__copy {
	display: flex;
	align-items: center;
	margin: 0;
	padding: clamp(28px, 4vw, 58px);
	background: var(--forest);
	color: #fff;
	font-family: var(--serif);
	font-size: clamp(34px, 3.2vw, 58px);
	font-weight: 400;
	line-height: 1.02;
	letter-spacing: -.025em;
}

.houses-editorial {
	padding-bottom: 35px;
}

.house-size-intro {
	padding-top: 35px;
}

.amenities-hero {
	padding-bottom: 50px;
}

.amenities-feature {
	padding-top: 35px;
	padding-bottom: 60px;
}

.amenities-feature + .tiny-gallery,
.amenities-feature + .tiny-gallery + .tiny-gallery {
	padding-block: 60px;
}

.amenities-feature + .tiny-gallery + .tiny-gallery + .amenity-grid {
	margin-block: 60px;
}

.amenities-feature + .tiny-gallery + .tiny-gallery + .amenity-grid + .content-section {
	padding-block: 60px;
}

.location-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(42px, 6vw, 82px);
	align-items: center;
	padding-block: 90px;
}

.surroundings-hero {
	padding-bottom: 50px;
}

.surroundings-hero + .location-intro {
	padding-top: 35px;
	padding-bottom: 35px;
}

.location-intro figure {
	margin: 0;
}

.location-intro img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.location-intro h2 {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(46px, 5.2vw, 76px);
	font-weight: 400;
	line-height: .98;
	letter-spacing: -.035em;
}

.location-intro__text {
	grid-column: 1 / -1;
	max-width: 900px;
	margin-top: 0;
}

.location-intro__text p:first-child {
	margin-top: 0;
}

.destination-grid article > p:empty {
	display: none;
}

.surroundings-experience {
	padding-top: 35px;
	padding-bottom: 60px;
}

.surroundings-destination-grid {
	gap: 74px;
	margin-bottom: 35px;
}

.surroundings-destination-grid + .region-preview {
	padding-block: 70px;
}

.region-preview__grid--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.region-preview__grid--four a {
	min-height: 390px;
}

.region-preview__grid--four a:nth-child(2) img {
	object-position: 38% center;
}

.film-section {
	scroll-margin-top: 110px;
}

.film-section--page {
	display: grid;
	align-items: center;
	height: calc(100dvh - 120px);
	min-height: 0;
	padding-block: clamp(28px, 6vh, 70px);
	overflow: hidden;
}

.video-main {
	margin-block-start: 0;
}

.film-section--page h1 {
	margin: 0 0 24px;
	font: 400 clamp(42px, 5vw, 70px)/1 var(--serif);
	font-size: clamp(38px, min(5vw, 7vh), 70px);
}

.home .nature-hero {
	height: calc(100dvh - 120px);
	min-height: 0;
	overflow: hidden;
}

.home .home-main {
	margin-block-start: 0;
}

@media (max-width: 900px) {
	.home .nature-hero {
		height: calc(100dvh - 106px);
	}

	.film-section--page {
		height: calc(100dvh - 106px);
	}
}

@media (max-width: 600px) {
	.house-exterior-gallery .tiny-gallery__grid {
		grid-template-columns: 1fr;
	}

	.photo-mosaic__copy {
		min-height: 220px;
		margin-bottom: 12px;
	}

}

@media (max-width: 900px) {
	.location-intro {
		grid-template-columns: 1fr;
		padding-block: 70px;
	}

	.region-preview__grid--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.location-intro img {
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 600px) {
	.region-preview__grid--four {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.home-availability-reveal__actions {
		width: min(100% - 30px, 1220px);
		margin: 20px auto -45px;
	}
}

@media (max-width: 760px) {
	.site-calendar-overlay .tiny4you-search__form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-calendar-overlay .tiny4you-search__stay {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-calendar-overlay .tiny4you-search__contact,
	.site-calendar-overlay .tiny4you-search__consent {
		grid-column: 1 / -1 !important;
	}
}

@media (max-width: 520px) {
	.site-calendar-overlay {
		padding-block: 14px;
	}

	.site-calendar-overlay .tiny4you-search {
		width: min(100% - 16px, 1220px);
		margin-block: 50px 14px;
		padding: 14px;
	}

	.site-calendar-overlay .tiny4you-overview {
		padding: 8px;
	}

	.site-calendar-overlay .tiny4you-overview__month {
		padding: 8px;
	}

	.site-calendar-overlay .tiny4you-overview__week,
	.site-calendar-overlay .tiny4you-overview__days {
		gap: 3px;
	}

	.site-calendar-overlay .tiny4you-overview__day {
		min-height: 62px;
		padding: 4px 2px;
	}

	.site-calendar-overlay .tiny4you-overview__date {
		margin-bottom: 3px;
		font-size: 10px;
	}

	.site-calendar-overlay .tiny4you-overview__houses {
		grid-template-columns: repeat(2, 18px);
		gap: 3px;
	}

	.site-calendar-overlay .tiny4you-house-marker {
		width: 18px;
		height: 18px;
		border-width: 1px;
		font-size: 9px;
	}

}

@media (max-width: 400px) {
	.site-calendar-overlay .tiny4you-search__form,
	.site-calendar-overlay .tiny4you-search__actions,
	.site-calendar-overlay .tiny4you-search__contact,
	.site-calendar-overlay .tiny4you-search__stay {
		grid-template-columns: 1fr;
	}
}
