/* Mobile polish: readable controls, reliable touch targets and safe-area spacing. */
@media(max-width:700px){
 input,select,textarea,.flex-fields input,.flex-fields select,.flex-results-head select{font-size:16px!important}
 .hero-controls button{min-width:44px;min-height:44px}
 .hero-controls{background:rgba(25,27,24,.65)}
 .hero-pause{padding-inline:12px}
 .filters{gap:8px;flex-wrap:wrap}
 .filters button,summary{min-height:44px}
 .filters button{padding:12px}
 .overview-links a,.host-link{min-height:44px;display:flex;align-items:center}
 footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important}
 .flex-fields label,.flex-fields>*,.flex-heading>*{min-width:0}
 .flex-heading{flex-wrap:wrap}
 .flex-heading h2{font-size:30px}
 .flex-explainer,.flex-footnote{font-size:12px}
 .mobile-booking-bar>a{min-height:44px;display:flex;align-items:center;justify-content:center}
 .card .stay-plan-link{min-height:44px;box-sizing:border-box}
}
:focus-visible{outline:2px solid #766143;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

@media(max-width:360px){body>nav .links>.btn{white-space:nowrap;letter-spacing:.4px!important;font-size:8px!important;padding:11px 8px!important}body>nav .links{gap:8px!important}}
