/* Only the existing phone/short-landscape layout gains a map chooser. */
.map-preference-item { display: none; }
.directions-dialog:not([open]) { display: none; }
@media (max-width: 767px), (max-width: 991px) and (orientation: landscape) and (max-height: 500px) {
  .map-preference-item:not([hidden]) { display: list-item; }
  .map-preference-change, .directions-text-button {
    border: 0; padding: 8px 0; min-height: 44px; background: transparent;
    color: var(--medicus-red); font: inherit; font-size: 13px;
    text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
    text-align: start;
  }
  .directions-dialog {
    position: fixed; inset: auto 0 0; margin: 0 auto;
    width: min(100%, 460px); max-width: 100%;
    max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px);
    padding: 20px max(20px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px)) calc(20px + env(safe-area-inset-bottom, 0px));
    border: 0; border-radius: 16px 16px 0 0; background: #fff; color: #292c28;
    font-family: Montserrat, sans-serif; font-size: 14px; line-height: 1.5;
    overflow-y: auto; overscroll-behavior: contain; overflow-wrap: anywhere;
  }
  .directions-dialog::backdrop { background: rgb(0 0 0 / 40%); }
  .directions-heading { display: flex; align-items: start; gap: 12px; }
  .directions-heading h2 { flex: 1; margin: 4px 0 10px; font-size: 21px; line-height: 1.3; font-weight: 700; color: #292c28; }
  .directions-close { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border: 1px solid #d9dfdd; border-radius: 6px; background: #fff; color: #292c28; font-size: 28px; line-height: 1; cursor: pointer; }
  .directions-dialog p { font-size: inherit; line-height: inherit; margin: 0 0 14px; }
  .directions-providers { display: grid; gap: 8px; margin: 18px 0 14px; }
  .directions-providers a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 12px 14px; border: 1px solid #c8cfcc; border-radius: 6px; color: #292c28; background: #fff; font-weight: 600; text-decoration: none; }
  .directions-providers a:hover { border-color: var(--medicus-red); text-decoration: underline; }
  .directions-providers a span { color: var(--medicus-red); }
  .directions-remember { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 0 0 6px; cursor: pointer; }
  .directions-remember input { flex: none; width: 20px; height: 20px; accent-color: var(--medicus-red); }
  .directions-remember:has(input:disabled) { color: #555; cursor: default; }
  .directions-dialog .directions-consent, .directions-dialog .directions-privacy, .directions-dialog .directions-status { font-size: 12px; color: #555; }
  .directions-consent[hidden], .directions-status[hidden] { display: none; }
  .directions-consent .directions-text-button { display: inline; font-size: inherit; padding: 4px 0; }
  .directions-web { display: inline-flex; align-items: center; min-height: 44px; color: var(--medicus-red); text-decoration: underline; text-underline-offset: 3px; }
  .directions-dialog :is(a, button, input):focus-visible, .map-preference-change:focus-visible { outline: 2px solid #292c28; outline-offset: 3px; }
  html[data-a11y-scale="1"] .directions-dialog { font-size: 18px; }
  html[data-a11y-scale="2"] .directions-dialog { font-size: 20px; }
  html[data-a11y-scale="3"] .directions-dialog { font-size: 22px; }
  html:is([data-a11y-scale="1"], [data-a11y-scale="2"], [data-a11y-scale="3"]) .directions-dialog :is(.directions-consent,.directions-privacy,.directions-status) { font-size: 1em; }
  html.a11y-high-contrast .directions-dialog { color: #111; }
  html.a11y-high-contrast .directions-dialog :is(p,a,button,label) { color: #111; }
}
@media (forced-colors: active) {
  .directions-dialog { border: 1px solid CanvasText; }
  .directions-providers a, .directions-close { border-color: ButtonText; }
}
