/* Shared interaction guards, without replacing approved section compositions. */
html{scroll-padding-top:calc(var(--ui-header,var(--ds-header,88px)) + 12px)}
html body #header :is(a,button),html body #menu :is(a,button){cursor:pointer}
html body :is(#header,#menu) :is(a,button):focus-visible{outline:2px solid #a8e6ff;outline-offset:4px}
html body #menu{max-width:100vw;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
html body main :is(input,select,textarea){max-width:100%}
html body .znf-form [data-new-enquiry]{margin-top:12px}
html body .znf-form[data-submitted=true] .znf-step-controls{display:none!important}
html body .znf-status{overflow-wrap:anywhere}
html body.book-page main #book.guide-controlled{--book-h:min(730px,calc(var(--ui-view,100svh) - var(--ui-header,var(--ds-header)) - 160px))}
html body.book-page main #book.guide-controlled>.book-pin{height:var(--ui-view,100svh)!important;padding-top:calc(var(--ui-header,var(--ds-header)) + 12px)!important}
html body.book-page main #book.zm-reader-active>.zm-reader{padding-top:calc(var(--ui-header,var(--ds-header)) + 12px);grid-template-rows:var(--guide-reader-room,max(120px,calc(100svh - var(--ds-header) - 145px))) auto auto}
html body.book-page main #book .zm-reader-nav{min-width:0}
html body.book-page main #book .zm-reader-count{min-width:0;white-space:nowrap}
@media(max-width:360px){html body.book-page main #book .zm-reader-nav button{min-width:86px;font-size:14px;padding-inline:8px}.zm-reader-page{padding:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
