/* Booking follows the site's existing green, ivory and editorial typography. */
.site-header .nav-booking{background:var(--green);color:#fff;padding:13px 17px;letter-spacing:.07em;font-size:14px}
.site-header .nav-booking:hover{background:#204e3d;color:#fff}
.nav-right{flex-wrap:wrap;gap:18px}
.booking-page{max-width:1320px;margin:auto;padding:60px clamp(24px,5vw,70px) 70px}
.booking-heading{margin-bottom:34px}.booking-heading .kicker{font-size:14px;letter-spacing:.12em;color:var(--green)}
.booking-heading h1,.booking-heading h2{font:inherit;font-size:clamp(40px,5vw,66px);font-weight:300;line-height:1.12;letter-spacing:-.025em;margin:17px 0}
.booking-heading>p{font-size:20px;line-height:1.55;margin:0;color:#56635c}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:clamp(30px,5vw,75px);align-items:center}
.booking-panel{padding:32px;border:1px solid #d6d6cb;background:#fff}
.booking-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin-bottom:22px}
.booking-field label{font:500 14px/1.4 Arial,sans-serif;color:#405347}
.booking-field input,.booking-field select{width:100%;min-width:0;min-height:52px;padding:12px;border:1px solid #bfc7bf;border-radius:0;background:#fff;color:#173c2e;font:400 16px/1.5 Arial,sans-serif;color-scheme:light}
.booking-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.booking-panel fieldset{margin:0 0 24px;padding:18px 0 0;border:0;border-top:1px solid #d6d6cb;min-width:0}
.booking-panel legend{font:500 14px/1.4 Arial,sans-serif;padding:0 12px 0 0;color:#405347}
.booking-radio{display:flex;gap:14px 24px;flex-wrap:wrap}.booking-radio label{display:flex;gap:8px;align-items:center;font:400 15px/1.5 Arial,sans-serif}
.booking-radio input{width:18px;height:18px;accent-color:var(--green);margin:0}
.booking-panel fieldset p{font:400 14px/1.6 Arial,sans-serif;color:#66706a;margin:14px 0 0}
.booking-submit{width:100%;border:0;background:var(--green);color:#fff;padding:18px 24px;min-height:56px;cursor:pointer;font:500 16px/1.4 Arial,sans-serif}
.booking-submit:hover{background:#204e3d}.booking-submit:disabled{opacity:.6;cursor:wait}
.booking-note{font:400 14px/1.6 Arial,sans-serif;color:#66706a;margin:17px 0 0}
#booking-status{font:400 16px/1.6 Arial,sans-serif;margin:16px 0 0;color:#173c2e}#booking-status:empty{display:none}
#booking-fallback{display:inline-block;font:400 15px/1.6 Arial,sans-serif;text-underline-offset:4px;margin-top:10px}
.booking-property{text-align:center}.booking-property img{width:100%;height:auto;max-height:260px;object-fit:contain;mix-blend-mode:multiply;margin-bottom:24px}
.booking-property>span{font:400 14px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#677267}
.booking-property h2{font:inherit;font-size:clamp(30px,3.5vw,44px);font-weight:300;line-height:1.15;letter-spacing:-.02em;margin:16px 0}
.booking-property p{font-size:16px;line-height:1.7;color:#677267;margin:0}
.booking-help{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:30px;font-size:17px;line-height:1.6}.booking-help a{color:var(--green);text-underline-offset:5px}
.booking-panel [hidden],#booking-form[hidden],#booking-fallback[hidden],#booking-guarantee[hidden]{display:none}
.hero-booking{display:inline-block;margin-right:24px;margin-bottom:18px;padding:16px 24px;background:#f8f7f3;color:#173c2e;text-decoration:none;font:500 16px/1.4 Arial,sans-serif}
.hero-booking:hover{background:#fff}.hotel-booking-link{display:inline-flex;margin:32px 32px 0 0;font-size:18px;color:var(--green);text-underline-offset:6px}
.booking-direct-links{font-size:18px;line-height:2}
@media(max-width:1120px){.site-header{padding-left:24px;padding-right:24px}.site-header .nav-left,.site-header .nav-right{gap:14px}.site-header .nav-booking{padding:11px 12px}}
@media(max-width:900px){.booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:28px}.booking-panel{padding:24px}}
@media(max-width:760px){.booking-page{padding-top:38px}.booking-layout{grid-template-columns:minmax(0,1fr)}.booking-property{display:none}.booking-heading h1,.booking-heading h2{font-size:42px}.booking-heading>p{font-size:18px}}
@media(max-width:380px){.booking-panel{padding:18px}.booking-pair{grid-template-columns:minmax(0,1fr);gap:0}}
