/* Recovery refinements, shared by the original hotel pages. */
:focus-visible { outline: 3px solid #c5a880; outline-offset: 4px; }
.booking-field input[type=date] { width:100%; min-width:0; border:0; background:transparent; color:#0d3226; font:inherit; padding:10px 0; }
.hero__content,.hero__overlay { animation:none !important; }
.hero__overlay { background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.58)) !important; opacity:1 !important; }
.hero__title { color:#fff; text-shadow:0 2px 18px #0005; }
.hero__subtitle { color:#fff; }
.reservation-shell { max-width:1160px; margin:auto; padding:140px 24px 72px; }
.reservation-heading { margin-bottom:32px; }
.reservation-heading h1 { font-size:clamp(2.6rem,5vw,4rem); color:#0d3226; margin:10px 0 16px; }
.reservation-heading p { color:#475569; max-width:660px; }
.reservation-layout { display:grid; grid-template-columns:1fr 1.1fr; border:1px solid #dce4df; background:#fff; }
.reservation-photo { width:100%; height:100%; min-height:480px; object-fit:cover; }
.reservation-form { padding:36px; }
.reservation-fields { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
.reservation-field { display:flex; flex-direction:column; gap:8px; }
.reservation-field label { font-size:.9rem; font-weight:600; }
.reservation-field input,.reservation-field select,.reservation-field textarea { border:1px solid #bccac2; border-radius:4px; padding:12px; font:inherit; width:100%; min-width:0; background:white; color:#0d3226; }
.reservation-field--wide { grid-column:1/-1; }
.reservation-note { font-size:.9rem; color:#475569; margin:22px 0; }
.reservation-error { color:#a12727; margin:12px 0; }
.reservation-contact { margin-top:28px; text-align:center; }
.reservation-contact a { text-decoration:underline; text-underline-offset:4px; }
.reservation-form .btn { width:100%; white-space:normal; }
@media(max-width:768px) {
 .reservation-shell { padding:104px 20px 36px; }
 .reservation-layout { grid-template-columns:1fr; }
 .reservation-photo { height:220px; min-height:0; }
 .reservation-form { padding:24px 18px; }
 .reservation-fields { gap:18px 12px; }
 .hero__title { font-size:clamp(2rem,8.5vw,3.4rem); overflow-wrap:normal; }
}
@media(max-width:380px) { .reservation-fields { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
 .hero__slide,.hotel-intro__slide { opacity:0 !important; }
 .hero__slide:first-child,.hotel-intro__slide:first-child { opacity:1 !important; }
}
