/* 0.49.8 — visitor layout and keyboard/touch refinements. */
:root { text-size-adjust:100%; -webkit-text-size-adjust:100%; }
html { scroll-padding-top: 5rem; }
body { overflow-wrap:break-word; }
main, main section, .section, .page-content { min-width:0; }
img, video, iframe { max-width:100%; }
button, select, input, textarea { font:inherit; }
button, a, select, input[type="checkbox"], input[type="radio"] { touch-action:manipulation; }
:where(button, a, input, select, textarea):focus-visible { outline:3px solid #d89b24; outline-offset:3px; }
@media (max-width: 760px) {
 .hero-place-actions, .visit-actions { display:flex; flex-wrap:wrap; gap:.7rem; }
 .hero-place-actions > a, .visit-actions > a.button-link { min-height:44px; display:inline-flex; align-items:center; justify-content:center; max-width:100%; white-space:normal; text-align:center; }
 .page-tools, .admin-auth-row { flex-wrap:wrap; }
 .page-tools > *, .page-tools select { max-width:100%; }
 .cards, .wide-cards { min-width:0; }
 .cards > *, .wide-cards > * { min-width:0; }
 .map-destinations, #visitorMap { max-width:100%; }
}
@media (max-width: 480px) {
 .hero-place-actions > a { width:100%; }
 .section { scroll-margin-top:5rem; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}
