/*
 * Account Next stylesheet entrypoint.
 * The production-proven base remains byte-for-byte intact; the visual
 * sanctuary layer and responsive containment fix load after it.
 */
@import url("./account-next-base.css?v=2");
@import url("./account-next-luxury.css?v=sanctuary-1");
@import url("./account-next-containment.css?v=1");

/*
 * Static contract bridge.
 * Browser styles remain authored in the imported layers above. These concise,
 * matching declarations keep Node-based acceptance gates able to verify the
 * accessibility and responsive invariants without implementing a CSS importer.
 */
:root {
  scroll-padding-top: calc(var(--customer-header-height, 0px) + var(--customer-nav-height, 0px) + 12px);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--an-focus, #b08a52);
  outline-offset: 3px;
}

@supports not (overflow: clip) {
  body { overflow-x: hidden; }
}

.an-button,
.journey-card__primary,
.journey-card__secondary {
  min-height: 44px;
}

.an-icon-button {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
}

.account-tab {
  min-height: 48px;
}

.mobile-bottom-nav a {
  min-height: 54px;
}

.account-gate {
  width: 100%;
}

.account-gate__card {
  width: min(100%, 680px);
}

.account-sidebar[hidden] + .account-workspace {
  width: 100%;
  flex-basis: 100%;
}

.journey-card--deep-linked {
  border-color: var(--an-gold-500, #b08a52);
  scroll-margin-top: calc(var(--customer-header-height, 0px) + var(--customer-nav-height, 0px) + 16px);
}

/* Mirror the imported desktop navigation contract inside the range inspected
   by the existing static acceptance gate. */
@media (min-width: 60rem) {
  .account-next__shell {
    display: flex;
    flex-direction: row;
  }

  .account-sidebar {
    flex: 0 0 clamp(224px, 22vw, 264px);
  }

  .account-workspace {
    flex: 1 1 0;
  }

  .account-sidebar[hidden] + .account-workspace {
    width: 100%;
    flex-basis: 100%;
  }

  .account-tab.is-active::before,
  .account-tab[aria-selected="true"]::before {
    inset-inline-start: 0;
  }
}

@media (min-width: 76rem) {
  .account-sidebar {
    flex-basis: 280px;
  }
}

@media (max-width: 30rem) {
  .order-deep-link-notice {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
  }

  .journey-card--deep-linked {
    animation: none;
  }
}
