/* Shared interface rules, applied after legacy page styles. */
:root{--ink:#163e2b;--teal:#0a7a4b;--sand:#f6f8f6;--gold:#e8b85b}
body{color:var(--ink);background:var(--sand)}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
.primary{background:#0a7a4b;color:#fff;line-height:1.4;border-radius:8px}
.primary:hover{background:#0d5c3a;color:#fff}
button:focus-visible,a:focus-visible{outline:2px solid #0a7a4b;outline-offset:3px}
button:disabled{opacity:.5;cursor:not-allowed}
.view>h1{font-size:clamp(26px,4vw,38px);line-height:1.15;letter-spacing:-.035em;text-wrap:balance}
.view>p:not(.eyebrow){line-height:1.65;max-width:760px;color:#4b6354}
.panel{border-color:#dce6df;border-radius:12px}
.view .muted,.view .stay-small{color:#536a5b}
label{line-height:1.4}input,select,textarea{border-color:#cbdacf}
dialog{max-width:min(600px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d5e2d9;border-radius:16px;color:#163e2b}
dialog::backdrop{background:#082c205c}dialog img{max-width:100%;object-fit:contain}dialog .close{min-width:44px;min-height:44px}
.vehicle-book small{display:block!important;color:#536a5b;margin:0!important;line-height:1.4}
.mobile-dock button[aria-current="page"]{background:#e5f3e9;color:#0a7a4b;border-radius:8px}
.reserve-grid button:hover{border-color:#0a7a4b;background:#f1f8f2}
@media(max-width:767px){
.view>h1,.view>h2,.view>.eyebrow,.view>p{text-align:center;margin-inline:auto}
.view>h1{font-size:27px;margin:12px auto 18px;max-width:340px}
.view>p:not(.eyebrow){font-size:14px}
.view .panel{padding:18px}
.rental-search,.directory-search{border-radius:12px}
.vehicle-row{grid-template-columns:minmax(0,1fr)!important;overflow:hidden;border-radius:12px}
.vehicle-row>*{grid-column:auto!important;min-width:0}
.vehicle-description{text-align:center;padding:18px!important}
.vehicle-book{display:grid!important;grid-template-columns:1fr;text-align:center;justify-items:center;padding:16px!important;gap:7px;border-top:1px solid #e3ebe5}
.vehicle-book .primary{width:100%;max-width:320px;min-height:44px;font-size:13px!important;margin-top:7px}
.vehicle-photo img{height:210px!important;object-fit:contain;background:#f5f7f5}
.vehicle-photo figcaption{font-size:11px;color:#546b5c}
.partner-card{text-align:center}.partner-card .primary{max-width:100%;white-space:normal}
.event-nav{justify-content:center;gap:7px}.event-nav a{min-height:42px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.stay-feature-body{text-align:center}.stay-types,.stay-steps{justify-content:center}
#stays-platforms{grid-template-columns:1fr}.stay-feature h2{font-size:23px}
.reserve-grid button{border-radius:12px;text-align:center;padding:20px 12px}
.reserve-grid h2{font-size:17px}.reserve-grid p{font-size:13px;line-height:1.5}
.guide-faq summary{min-height:44px;padding-block:10px}
#event-form,#advertise-form{min-width:0}textarea{width:100%;box-sizing:border-box;min-height:110px}
.directory-links{flex-wrap:wrap}.directory-links a{min-height:40px;display:inline-flex;align-items:center}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
