/* Screen-only enhancement loaded after existing bundles. */
@media screen {
  body.vbs-app { --ux-ink: #172b4d; --ux-muted: #475569; --ux-focus: #1d4ed8; }
  body.vbs-app :where(button.btn, a.btn, .mobile-tabbar-link) { min-height: 44px; min-width: 44px; }
  body.vbs-app :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) { font-size: 1rem; min-height: 44px; }
  body.vbs-app :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #1d4ed8; outline-offset: 3px;
    box-shadow: 0 0 0 2px #fff;
  }
  body.vbs-app :where(.form-error-summary, .booking-error-summary) {
    color: #7f1d1d; background: #fff7f7; border: 2px solid #b91c1c;
    border-radius: 12px; padding: 1rem; overflow-wrap: anywhere;
  }
  body.vbs-app .form-error-summary a { color: #7f1d1d; text-decoration: underline; }
  body.vbs-app .field-error { color: #991b1b; font-size: .9375rem; margin-top: .375rem; }
  body.vbs-app :where(input, select, textarea)[aria-invalid=true] { border: 2px solid #b91c1c; }
  body.vbs-app .table-scroll-hint { color: var(--ux-muted); font-size: .9375rem; margin: .5rem 0; }
  body.vbs-app .table-scroll-hint[hidden] { display: none; }
  body.vbs-app :where(.form-section, .form-error-summary, input, select, textarea) { scroll-margin-block: 6rem; }
  @media (max-width: 600px) {
    body.vbs-app .request-stepper ol { display: grid; grid-template-columns: 1fr; gap: .5rem; }
    body.vbs-app .request-step { min-height: 44px; }
    body.vbs-app .request-form .form-section { padding: 1rem; }
    body.vbs-app .request-form .actions { flex-wrap: wrap; gap: .75rem; }
    body.vbs-app .request-form .actions > .btn { flex: 1 1 10rem; white-space: normal; }
  }
  @media (prefers-reduced-motion: reduce) {
    body.vbs-app *, body.vbs-app *::before, body.vbs-app *::after {
      animation-duration: .01ms !important; animation-iteration-count: 1 !important;
      transition-duration: .01ms !important; scroll-behavior: auto !important;
    }
  }
  @media (forced-colors: active) {
    body.vbs-app :focus-visible { outline-color: Highlight; }
    body.vbs-app [aria-invalid=true] { border-color: CanvasText; }
  }
}

@media screen {
  body.vbs-app .booking-availability-preview { min-block-size: 10rem; }
  body.vbs-app .availability-retry { margin-block: .5rem; }
  body.vbs-app .availability-retry[hidden] { display: none; }
  body.vbs-app .booking-availability-copy { min-inline-size: 0; overflow-wrap: anywhere; }
}
