/* Shared responsive presentation; booking behavior and data remain unchanged. */
main, main .grid > *, footer .grid > *, header .container > * { min-width: 0; }
main p, main li, main h1, main h2, main h3, footer p, footer a { overflow-wrap: anywhere; }
main img, main video { max-width: 100%; }
main input:not([type=checkbox]):not([type=radio]), main select, main textarea { max-width: 100%; }
.aot-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.aot-table-scroll:focus-visible { outline: 2px solid #0d9488; outline-offset: 2px; }
.aot-table-scroll th, .aot-table-scroll td { vertical-align: top; overflow-wrap: anywhere; }
.article-content { min-width: 0; overflow-wrap: anywhere; }
.article-content table { display: block; max-width: 100%; overflow-x: auto; }
.article-content iframe { max-width: 100%; }
@media (max-width: 767px) {
 main .container, footer .container { padding-left: 1rem; padding-right: 1rem; }
 main input:not([type=checkbox]):not([type=radio]), main select, main textarea { font-size: 16px; }
 .aot-table-scroll table { min-width: 36rem; }
 .aot-table-scroll th, .aot-table-scroll td { padding: .75rem; }
 main h1 { font-size: clamp(1.75rem, 7vw, 2.5rem); line-height: 1.35; }
 main h2 { font-size: clamp(1.35rem, 5.5vw, 1.875rem); line-height: 1.4; }
 header button { min-width: 44px; min-height: 44px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
 main .container { padding-left: 1.5rem; padding-right: 1.5rem; }
}
