

.b-guesty-widget #guesty-search-widget__datepicker {
	gap: 8px;
}
.b-guesty-page { background: var(--th-white); }

.b-booking-hero,
.b-wrap {
	width: 100vw;
	max-width: none;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.b-booking-hero {
	padding: 64px 0 72px;
	background: #fff;
}

.b-booking-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr);
	gap: clamp(48px, 7vw, 96px);
	align-items: center;
}

.b-booking-intro { padding: 24px 0; }

.b-booking-intro .p-eyebrow,
.b-booking-guide .p-eyebrow {
	margin-bottom: 18px;
	color: var(--th-coral);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.b-booking-intro h1 {
	max-width: 720px;
	margin: 0 0 24px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3.5rem, 6.5vw, 6.4rem);
	font-weight: 500;
	letter-spacing: -0.055em;
	line-height: 0.94;
}

.b-booking-intro > p {
	max-width: 650px;
	margin: 0;
	color: var(--th-muted);
	font-size: 1.02rem;
	line-height: 1.75;
}

.b-property-facts {
	display: flex;
	gap: 0;
	margin: 38px 0 0;
	padding: 0;
	list-style: none;
}

.b-property-facts li {
	display: grid;
	gap: 2px;
	min-width: 126px;
	padding: 0 26px;
	border-left: 1px solid #d8d0c5;
}

.b-property-facts li:first-child { padding-left: 0; border-left: 0; }
.b-property-facts strong { font: 500 1.85rem/1 Georgia, "Times New Roman", serif; }
.b-property-facts span { color: var(--th-muted); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }

.b-booking-visual {
	position: relative;
	height: 520px;
	margin: 0;
	overflow: hidden;
	border-radius: 24px;
	background: #ddd6cc;
	box-shadow: 0 24px 55px rgba(23, 32, 35, 0.14);
}

.b-booking-visual::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 48%, rgba(15, 24, 27, 0.72));
	content: "";
	pointer-events: none;
}

.b-booking-visual img { width: 100%; height: 100%; object-fit: cover; }

.b-booking-visual figcaption {
	position: absolute;
	z-index: 1;
	right: 28px;
	bottom: 26px;
	left: 28px;
	display: grid;
	gap: 3px;
	color: var(--th-white);
}

.b-booking-visual figcaption strong { font: 500 1.45rem/1.2 Georgia, "Times New Roman", serif; }
.b-booking-visual figcaption span { color: rgba(255, 255, 255, 0.78); font-size: 0.75rem; }

.b-wrap { padding: 88px 0 96px; background: var(--th-white); }

.b-booking-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(290px, 0.75fr);
	gap: 28px;
	align-items: start;
}

.b-guesty-panel {
	padding: clamp(30px, 4vw, 48px);
	border: 1px solid var(--th-line);
	border-radius: 20px;
	background: var(--th-white);
	box-shadow: 0 20px 60px rgba(23, 32, 35, 0.08);
}

.b-guesty-copy { max-width: 680px; margin-bottom: 34px; }

.b-step-label {
	display: block;
	margin-bottom: 12px;
	color: var(--th-coral);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.b-guesty-copy h2,
.b-booking-guide h2 {
	margin: 0 0 14px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 3.8vw, 3.25rem);
	font-weight: 500;
	letter-spacing: -0.035em;
	line-height: 1.04;
}

.b-guesty-copy p { margin: 0; color: var(--th-muted); line-height: 1.7; }

.b-guesty-widget {
	position: relative;
	z-index: 2;
	min-height: 92px;
	padding: 22px 20px;
	border: 1px solid #e2dbd2;
	border-radius: 14px;
	background: #faf8f4;
}

.b-search-handoff {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 24px 0 0;
	color: var(--th-muted);
	font-size: 0.78rem;
	line-height: 1.55;
}

.b-search-handoff > span {
	width: 8px;
	height: 8px;
	margin-top: 5px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--th-coral);
	box-shadow: 0 0 0 4px rgba(199, 72, 62, 0.12);
}

.b-guesty-fallback { margin-top: 18px; color: var(--th-muted); font-size: 0.76rem; }
.b-guesty-fallback summary { width: max-content; cursor: pointer; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.b-guesty-fallback p { margin: 10px 0 0; }

.b-booking-guide {
	padding: 38px 34px;
	border-radius: 20px;
	background: var(--th-ink);
	color: var(--th-white);
}

.b-booking-guide h2 { font-size: clamp(2rem, 3vw, 2.7rem); }
.b-booking-guide ol { margin: 30px 0 0; padding: 0; list-style: none; }

.b-booking-guide li {
	display: grid;
	grid-template-columns: 34px 1fr;
	gap: 14px;
	padding: 20px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.b-booking-guide li > span { color: #f0a199; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.1em; }
.b-booking-guide li strong { display: block; margin-bottom: 5px; font-size: 0.88rem; }
.b-booking-guide li p,
.b-booking-help p { margin: 0; color: rgba(255, 255, 255, 0.66); font-size: 0.76rem; line-height: 1.55; }

.b-booking-help {
	margin-top: 20px;
	padding: 22px;
	border-radius: 13px;
	background: rgba(255, 255, 255, 0.07);
}

.b-booking-help strong { display: block; margin-bottom: 6px; font: 500 1.2rem/1.25 Georgia, "Times New Roman", serif; }
.b-booking-help a { display: inline-block; margin-top: 14px; color: var(--th-white) !important; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-decoration: none !important; text-transform: uppercase; }

.b-guesty-assurance {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 30px;
}

.b-guesty-assurance > div {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 5px 13px;
	padding: 23px;
	border: 1px solid var(--th-line);
	border-radius: 14px;
	background: #faf8f4;
}

.b-assurance-number { grid-row: 1 / 3; color: var(--th-coral) !important; font: 500 1.05rem/1.2 Georgia, "Times New Roman", serif !important; }
.b-guesty-assurance strong { font-size: 0.8rem; letter-spacing: 0.02em; }
.b-guesty-assurance span,
.b-guesty-privacy { color: var(--th-muted); font-size: 0.72rem; line-height: 1.55; }
.b-guesty-privacy { margin: 20px 2px 0; }
.b-guesty-page a { color: var(--th-ink); text-decoration-thickness: 1px; text-underline-offset: 3px; }

@media (max-width: 920px) {
	.b-booking-hero-grid,
	.b-booking-grid { grid-template-columns: 1fr; }
	.b-booking-visual { height: 440px; }
	.b-booking-guide { display: grid; grid-template-columns: 1fr 1.25fr; gap: 0 32px; }
	.b-booking-guide .p-eyebrow,
	.b-booking-guide h2 { grid-column: 1; }
	.b-booking-guide ol { grid-column: 2; grid-row: 1 / 4; margin-top: 0; }
	.b-booking-help { grid-column: 1; }
}

@media (max-width: 700px) {
	.b-booking-hero { padding: 42px 0 54px; }
	.b-booking-intro { padding: 8px 0 0; }
	.b-booking-intro h1 { font-size: clamp(3.25rem, 15vw, 4.7rem); }
	.b-property-facts { justify-content: space-between; }
	.b-property-facts li { min-width: 0; padding: 0 16px; }
	.b-booking-visual { height: 390px; }
	.b-wrap { padding: 58px 0 72px; }
	.b-booking-guide,
	.b-guesty-assurance { display: grid; grid-template-columns: 1fr; }
	.b-booking-guide .p-eyebrow,
	.b-booking-guide h2,
	.b-booking-guide ol,
	.b-booking-help { grid-column: 1; grid-row: auto; }
	.b-booking-guide ol { margin-top: 20px; }
	.b-guesty-widget { padding: 18px 14px; }
}

@media (max-width: 430px) {
	.b-property-facts span { font-size: 0.58rem; }
	.b-guesty-panel,
	.b-booking-guide { padding: 26px 22px; }
}
