/* Lotto 6: shared readability and input geometry, loaded after page styles. */
main p:not(.eyebrow):not(.fleet-card__cat):not(.guide-path__label),
main li, main td, main th {font-size:max(1rem, 1em);}
/* Nested lists and step indicators must not shrink their inherited body size. */
main li {font-size:max(1rem, 1em) !important;}
main :is(p,li,h1,h2,h3), .backlink {overflow-wrap:anywhere;}
main :is(.grid,.container,.about-stat), .compare-wrap {min-inline-size:0;}
.btn, #siteNav .mnav__cta, .cookie button, .cookie-modal button,
.mnav__trigger, .langsw__btn {min-height:44px;min-width:44px;}
.cookie .cookie__close, .cookie-modal .cookie__close {width:44px;height:44px;}
.cookie p {padding-inline-end:2.5rem;font-size:1rem;}
.cookie {max-height:calc(100dvh - 7rem);overflow-y:auto;}
/* The privacy prompt takes part in layout, leaving every CTA reachable. */
.cookie:not([hidden]) {position:relative;inset:auto;margin:1rem auto;max-width:560px;width:calc(100% - 2rem);}
body:has(.cookie:not([hidden])) .wa-float {visibility:hidden;}
input:not([type=checkbox]):not([type=radio]):not([aria-hidden=true]),select,textarea {font-size:16px;min-height:44px;min-width:0;max-width:100%;}
.compare-wrap,.table-wrap,.guide-table {max-width:100%;overflow-x:auto;}
.about-stat {min-width:0;}
.backlink {white-space:normal;}
@media(max-width:600px){
  .about-stats .container {grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
  .about-stat b {font-size:clamp(1.5rem,8vw,2.3rem);}
  .btn {white-space:normal;overflow-wrap:anywhere;}
}
/* Reading and printing do not depend on reveal observers. */
@media print {
  @page {margin:16mm;}
  html,body,main,.section,.section--dark {background:#fff !important;color:#111 !important;}
  #siteNav,.nav,.footer,.mobile-bar,.wa-float,.cookie,.cookie-modal,.guide-cta-inline,.guide-cta-final,.guide-related,.guide-next {display:none !important;}
  * {box-shadow:none !important;text-shadow:none !important;}
  .reveal:where(.js *) {opacity:1 !important;transform:none !important;}
  main p,main li,main td,main th {font-size:11pt !important;color:#111 !important;}
  h1,h2,h3,a,.guide-summary__title {color:#111 !important;}
  h1 {font-size:25pt !important;} h2 {font-size:18pt !important;} h3 {font-size:13pt !important;}
  .section,.guide-hero,.guide-section {padding-block:10pt !important;}
  .container,.guide-reading {max-width:none !important;width:100% !important;padding-inline:0 !important;}
  .guide-summary,.guide-toc,.guide-faq__item {background:transparent !important;border-color:#999 !important;}
  .guide-table,.table-wrap {overflow:visible !important;}
  table {width:100% !important;min-width:0 !important;table-layout:fixed;}
  td,th {overflow-wrap:anywhere;padding:5pt !important;}
  thead {display:table-header-group;} tr,img,.guide-faq__item {break-inside:avoid;}
  h1,h2,h3 {break-after:avoid;} p {orphans:3;widows:3;}
  .guide-illustration {max-width:220px;margin:auto;}
}
.guide-related__card,.guide-path__card {min-width:0;overflow-wrap:anywhere;}
@media(max-width:480px){
  .booking-steps {flex-direction:column;}
  .booking-steps .booking-steps__item {justify-content:flex-start;padding:.6rem 1rem;border-inline:0;border-block-end:1px solid var(--line);}
  .booking-steps .booking-steps__item:last-child {border-block-end:0;}
}
/* Native details keeps every navigation group usable without JavaScript. */
html:not(.js) #siteNav {position:static;}
html:not(.js) #siteNav :is(.mnav,.langsw,.mnav__burger) {display:none;}
.nojs-nav {padding:1rem;max-width:1240px;margin:auto;display:flex;flex-wrap:wrap;gap:.75rem;}
.nojs-nav details {flex:1 1 12rem;min-width:0;border:1px solid var(--line, #555);padding:.5rem;}
.nojs-nav summary,.nojs-nav a {min-height:44px;padding:.6rem;overflow-wrap:anywhere;font-size:16px;}
.nojs-nav a {display:block;}
.nojs-nav ul {list-style:none;margin:0;padding:0;}
.nojs-nav svg {display:none;}
.nojs-nav a span {display:block;font-size:16px;}
@media print {.nojs-nav {display:none;}}
/* The booking API needs JavaScript; keep the existing direct contact route visible. */
html:not(.js) .booking-wizard {display:none;}
html:not(.js) .booking-grid {grid-template-columns:1fr;}
.mobile-bar a,.wa-float,.backlink,.guide-toc a {min-height:44px;min-width:44px;}
.guide-toc a {display:flex;align-items:center;}
.backlink {display:inline-flex;align-items:center;}
/* Above-the-fold copy must be readable at first paint, before scroll observers. */
.hero .reveal:where(.js *) {opacity:1;transform:none;transition:none;}
main td,main th {font-size:max(1rem,1em) !important;}
/* On narrow screens the existing navigation and footer already expose contact links. */
@media(max-width:960px){.wa-float {display:none;}}
@media print {
  main * {color:#111 !important;background:transparent !important;}
  table,caption,th,td {border-color:#999 !important;}
}
