/* V19: bounded final keyboard and form safeguards. No header/home layout rules. */
:root body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid #07392f;
  outline-offset: 4px;
  box-shadow: 0 0 0 4px #fffdfa;
}
/* Contrast stays visible on dark dialogs, mint controls and pale surfaces. */
@media (forced-colors: active) {
  :root body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline-color: Highlight;
    box-shadow: none;
  }
}
/* These actual text-entry surfaces include controls outside <main>. */
:root body :is(.form-shell,#assistant-dialog,.nl,.menu-filter-details,.ac-filters)
  :is(input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
  font-size: max(1rem,16px);
}
:root body :is(#assistant-dialog,#product-dialog) :is(button,input:not([type=checkbox]):not([type=radio])) {
  min-height: 44px;
}
:root body :is(#assistant-dialog,#product-dialog) [data-close-dialog] {
  min-width: 44px;
}
/* Maintain a usable scroll region with the virtual keyboard or short tablet viewport. */
:root body :is(#assistant-dialog,#product-dialog) {
  max-height: calc(100dvh - 24px);
  max-width: calc(100vw - 24px);
  overflow: auto;
  overscroll-behavior: contain;
  scroll-padding-block: 16px;
}
