/* A2TDEV Responsive Upgrade 10
   Final completion layer for small-device polish.
   Loaded last, so it only fixes edge cases that previous page-specific CSS can still miss. */

:root {
  --a2t-safe-top: env(safe-area-inset-top, 0px);
  --a2t-safe-right: env(safe-area-inset-right, 0px);
  --a2t-safe-bottom: env(safe-area-inset-bottom, 0px);
  --a2t-safe-left: env(safe-area-inset-left, 0px);
  --a2t-mobile-radius-sm: 12px;
  --a2t-mobile-radius: 16px;
  --a2t-mobile-radius-lg: 22px;
  --a2t-mobile-border: rgba(15, 23, 42, .12);
  --a2t-mobile-surface: rgba(255, 255, 255, .94);
  --a2t-mobile-surface-strong: #ffffff;
  --a2t-mobile-text: #0f172a;
  --a2t-mobile-muted: #64748b;
  --a2t-mobile-shadow: 0 18px 50px rgba(15, 23, 42, .12);
}

html[data-theme='dark'] {
  --a2t-mobile-border: rgba(255, 255, 255, .12);
  --a2t-mobile-surface: rgba(15, 23, 42, .92);
  --a2t-mobile-surface-strong: #101827;
  --a2t-mobile-text: #f8fafc;
  --a2t-mobile-muted: #a9b5c7;
  --a2t-mobile-shadow: 0 18px 50px rgba(0, 0, 0, .34);
}

html {
  scroll-padding-top: calc(var(--a2t-header-height, 72px) + 14px);
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: clip;
  min-width: 0;
}

#a2t-main-content {
  min-width: 0;
  isolation: isolate;
}

#a2t-main-content,
#a2t-main-content * {
  box-sizing: border-box;
}

#a2t-main-content :where(img, picture, video, canvas, svg, iframe) {
  max-width: 100%;
}

#a2t-main-content :where(img, video, canvas, svg) {
  height: auto;
}

#a2t-main-content :where(p, li, dd, td, th, span, strong, em, small, a, button, input, textarea, select, label) {
  overflow-wrap: anywhere;
}

#a2t-main-content :where(h1, h2, h3, h4, h5, h6) {
  overflow-wrap: balance;
  word-break: normal;
}

#a2t-main-content :where(pre, code, kbd, samp) {
  white-space: pre-wrap;
  word-break: break-word;
}

#a2t-main-content :where([style*='width'], [style*='min-width']) {
  max-width: 100%;
}

#a2t-main-content :where(.container, .container-fluid) {
  min-width: 0;
}

#a2t-main-content :where(.row, [class*='grid'], [class*='layout'], [class*='wrapper'], [class*='section'], [class*='shell']) {
  min-width: 0;
}

#a2t-main-content :where(.card, [class*='card'], [class*='panel'], [class*='box'], [class*='tile'], [class*='summary'], [class*='widget']) {
  min-width: 0;
}

#a2t-main-content :where(table) {
  max-width: 100%;
  border-collapse: collapse;
}

.a2t-media-frame {
  width: 100%;
  max-width: 100%;
  border-radius: var(--a2t-mobile-radius);
  overflow: hidden;
  background: rgba(15, 23, 42, .04);
}

html[data-theme='dark'] .a2t-media-frame {
  background: rgba(255, 255, 255, .06);
}

.a2t-media-frame > :where(iframe, video, embed, object) {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
}

.a2t-mobile-overflow-warning #a2t-main-content {
  contain: paint;
}

.a2t-completion-overflow-contained {
  max-width: 100% !important;
  min-width: 0 !important;
}

.a2t-completion-scroll-contained {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

@media (max-width: 991.98px) {
  #a2t-main-content :where(.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl) {
    max-width: 100%;
  }
}

@media (max-width: 760px) {
  :root {
    --a2t-mobile-gutter: clamp(14px, 4vw, 20px);
    --a2t-mobile-section-y: clamp(28px, 8vw, 52px);
  }

  body {
    width: 100%;
    min-height: 100svh;
  }

  .a2t-site-header {
    padding-top: var(--a2t-safe-top);
    backface-visibility: hidden;
    transform: translateZ(0);
  }

  .a2t-site-header.is-hidden:has(.a2t-mobile-menu-btn.is-open),
  html.a2t-nav-open .a2t-site-header,
  html.a2t-notification-open .a2t-site-header {
    transform: translateY(0) translateZ(0) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .a2t-nav-shell {
    min-width: 0;
    gap: 10px;
  }

  .a2t-brand {
    flex: 0 1 auto;
    min-width: 0;
  }

  .a2t-nav-actions {
    flex: 0 0 auto;
    min-width: 0;
  }

  .a2t-theme-toggle,
  .a2t-mobile-menu-btn,
  button.a2t-mobile-nav-notification,
  button.a2t-mobile-nav-notification-icon {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 999px !important;
    padding: 0 !important;
    flex: 0 0 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }

  button.a2t-mobile-nav-notification,
  button.a2t-mobile-nav-notification-icon {
    position: relative !important;
    border: 1px solid rgba(37, 99, 235, .18) !important;
    background:
      radial-gradient(circle at 28% 18%, rgba(255, 255, 255, .92), transparent 31%),
      linear-gradient(145deg, #ecf5ff 0%, #dbeafe 50%, #eff6ff 100%) !important;
    box-shadow: 0 10px 26px rgba(37, 99, 235, .18) !important;
    color: #2563eb !important;
  }

  html[data-theme='dark'] button.a2t-mobile-nav-notification,
  html[data-theme='dark'] button.a2t-mobile-nav-notification-icon {
    border-color: rgba(96, 165, 250, .26) !important;
    background:
      radial-gradient(circle at 28% 18%, rgba(255, 255, 255, .18), transparent 32%),
      linear-gradient(145deg, #10233f 0%, #172d52 56%, #0f1f38 100%) !important;
    box-shadow: 0 10px 26px rgba(37, 99, 235, .28) !important;
    color: #bfdbfe !important;
  }

  [data-notification-count] {
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    color: #fff !important;
    background: #ef4444 !important;
    border: 2px solid var(--a2t-mobile-surface-strong) !important;
    box-shadow: 0 8px 18px rgba(239, 68, 68, .3) !important;
  }

  [data-notification-count][hidden],
  [data-notification-modal-count][hidden] {
    display: none !important;
  }

  .a2t-mobile-menu {
    width: 100vw;
    max-width: 100vw;
    padding-left: max(var(--a2t-mobile-gutter), var(--a2t-safe-left));
    padding-right: max(var(--a2t-mobile-gutter), var(--a2t-safe-right));
    padding-bottom: max(18px, var(--a2t-safe-bottom));
    overflow-x: hidden;
    overscroll-behavior: contain;
  }

  .a2t-mobile-menu-inner {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .a2t-mobile-nav-quick,
  .a2t-mobile-links,
  .a2t-mobile-profile-link {
    min-width: 0;
  }

  .a2t-mobile-cart-link {
    min-width: 0;
    overflow: hidden;
  }

  .a2t-mobile-cart-link span,
  .a2t-mobile-cart-link strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .a2t-notification-modal {
    padding-top: calc(var(--a2t-header-height, 72px) + 8px + var(--a2t-safe-top));
    padding-left: max(10px, var(--a2t-safe-left));
    padding-right: max(10px, var(--a2t-safe-right));
    padding-bottom: max(10px, var(--a2t-safe-bottom));
    overflow: hidden;
    overscroll-behavior: contain;
  }

  .a2t-notification-dialog {
    width: min(100%, 520px) !important;
    max-width: 100% !important;
    max-height: calc((var(--a2t-vh, 1vh) * 100) - var(--a2t-header-height, 72px) - 24px - var(--a2t-safe-top) - var(--a2t-safe-bottom)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .a2t-notification-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 30 !important;
    min-height: 62px;
    padding-top: max(14px, var(--a2t-safe-top)) !important;
    background: color-mix(in srgb, var(--a2t-mobile-surface-strong) 94%, transparent) !important;
    border-bottom: 1px solid var(--a2t-mobile-border) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  html[data-theme='dark'] .a2t-notification-head {
    background: color-mix(in srgb, var(--a2t-mobile-surface-strong) 94%, transparent) !important;
  }

  .a2t-notification-actions .a2t-icon-btn,
  [data-notification-close] {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 999px !important;
    touch-action: manipulation;
  }

  .a2t-notification-list {
    padding-bottom: max(14px, var(--a2t-safe-bottom));
  }

  .a2t-notification-item {
    min-width: 0;
    align-items: flex-start;
  }

  .a2t-notification-copy,
  .a2t-notification-copy * {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  #a2t-main-content {
    width: 100%;
    max-width: 100vw;
  }

  #a2t-main-content :where(section, article, header, footer, main) {
    max-width: 100%;
  }

  #a2t-main-content :where(.container, .container-fluid, .a2t-container, .page-container, .content-container) {
    width: 100%;
    max-width: 100%;
    padding-left: var(--a2t-mobile-gutter);
    padding-right: var(--a2t-mobile-gutter);
  }

  #a2t-main-content :where(.row) {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
  }

  #a2t-main-content :where(.row > *) {
    min-width: 0;
  }

  #a2t-main-content :where(.hero, [class*='hero'], .banner, [class*='banner']) {
    overflow: hidden;
  }

  #a2t-main-content :where(h1, .h1) {
    font-size: clamp(2rem, 10.6vw, 3.25rem) !important;
    line-height: .98 !important;
    letter-spacing: -.055em;
  }

  #a2t-main-content :where(h2, .h2) {
    font-size: clamp(1.55rem, 7vw, 2.35rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -.04em;
  }

  #a2t-main-content :where(h3, .h3) {
    font-size: clamp(1.2rem, 5vw, 1.55rem) !important;
    line-height: 1.14 !important;
  }

  #a2t-main-content :where(p, li) {
    font-size: clamp(.94rem, 3.8vw, 1rem);
    line-height: 1.65;
  }

  #a2t-main-content :where(.lead, [class*='lead']) {
    font-size: clamp(1rem, 4.2vw, 1.15rem) !important;
  }

  #a2t-main-content :where(input, select, textarea, button) {
    font-size: 16px;
  }

  #a2t-main-content :where(input:not([type='checkbox']):not([type='radio']):not([type='range']), select, textarea) {
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    border-radius: 14px;
  }

  #a2t-main-content :where(textarea) {
    min-height: 120px;
    resize: vertical;
  }

  #a2t-main-content :where(button, .btn, [class*='btn'], input[type='submit'], input[type='button'], input[type='reset']) {
    min-height: 44px;
    touch-action: manipulation;
  }

  #a2t-main-content :where(.btn-group, .button-group, .action-group, .actions, [class*='actions'], [class*='button-row'], [class*='cta-row']) {
    max-width: 100%;
    min-width: 0;
  }

  #a2t-main-content :where(.btn-group, .button-group, .action-group, [class*='button-row'], [class*='cta-row']) {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
  }

  #a2t-main-content :where(.btn-group > *, .button-group > *, .action-group > *, [class*='button-row'] > *, [class*='cta-row'] > *) {
    min-width: 0;
  }

  #a2t-main-content .a2t-mobile-full {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  #a2t-main-content :where(.dropdown-menu, .popover, .tooltip, [role='menu']) {
    max-width: calc(100vw - 28px) !important;
  }

  #a2t-main-content :where(.modal, .modal-dialog, [class*='modal'], [role='dialog']) {
    max-width: 100vw;
  }

  #a2t-main-content :where(.modal-dialog) {
    margin-left: 10px;
    margin-right: 10px;
  }

  #a2t-main-content :where(.table-responsive, .a2t-responsive-table-wrap, .table-wrap) {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
  }

  #a2t-main-content :where(table) {
    font-size: .92rem;
  }

  #a2t-main-content :where(th, td) {
    min-width: 0;
    vertical-align: top;
  }

  #a2t-main-content :where(.sticky, [class*='sticky']) {
    max-width: 100vw;
  }

  #a2t-main-content :where([class*='sidebar'], aside) {
    min-width: 0;
  }

  .a2t-mobile-scroll-rail {
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .a2t-mobile-scroll-rail::-webkit-scrollbar {
    display: none;
  }

  .a2t-mobile-scroll-rail > * {
    scroll-snap-align: center;
  }

  .a2t-rail-fade {
    position: relative;
  }

  .a2t-rail-fade::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 34px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, var(--a2t-mobile-surface-strong));
    opacity: .88;
  }

  #a2t-main-content :where(.pagination) {
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
  }

  #a2t-main-content :where(.pagination .page-link) {
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
  }

  #a2t-main-content :where(.alert, [class*='alert'], .message, [class*='message']) {
    max-width: 100%;
    border-radius: var(--a2t-mobile-radius);
  }

  #a2t-main-content :where([class*='empty'], .empty-state) {
    text-align: center;
  }

  #a2t-main-content :where(.ratio, .embed-responsive) {
    max-width: 100%;
  }

  #a2t-main-content :where(.ck-content, .article-body, .post-content, .content-body, .prose, [class*='description']) :where(img, video, iframe, table) {
    margin-left: auto;
    margin-right: auto;
  }

  #a2t-main-content :where(.ck-content, .article-body, .post-content, .content-body, .prose) :where(blockquote) {
    margin-left: 0;
    margin-right: 0;
    padding: 1rem;
    border-radius: var(--a2t-mobile-radius);
  }

  #a2t-main-content :where(.ck-content, .article-body, .post-content, .content-body, .prose) :where(ul, ol) {
    padding-left: 1.2rem;
  }

  .a2t-site-footer {
    overflow: hidden;
  }

  .a2t-footer-grid,
  .a2t-footer-bottom {
    min-width: 0;
  }
}

@media (max-width: 575.98px) {
  #a2t-main-content :where(.row > [class^='col-'], .row > [class*=' col-']) {
    max-width: 100%;
  }

  #a2t-main-content :where(.d-flex.flex-nowrap, .flex-nowrap) {
    min-width: 0;
  }

  #a2t-main-content :where(.d-flex.flex-nowrap:not(.a2t-mobile-scroll-rail), .flex-nowrap:not(.a2t-mobile-scroll-rail)) {
    flex-wrap: wrap !important;
  }

  #a2t-main-content :where(.input-group) {
    flex-wrap: nowrap;
  }

  #a2t-main-content :where(.input-group > .form-control, .input-group > .form-select) {
    min-width: 0;
  }

  #a2t-main-content :where(.input-group > .btn) {
    flex: 0 0 auto;
  }

  #a2t-main-content :where(.nav, .nav-tabs, .tabs, .a2t-tabs) {
    flex-wrap: nowrap;
  }

  #a2t-main-content :where(.nav:not(.a2t-mobile-scroll-rail), .nav-tabs:not(.a2t-mobile-scroll-rail), .tabs:not(.a2t-mobile-scroll-rail), .a2t-tabs:not(.a2t-mobile-scroll-rail)) {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 430px) {
  .a2t-nav-shell {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .a2t-brand {
    font-size: 1.05rem !important;
    letter-spacing: -.045em;
  }

  .a2t-nav-actions {
    gap: 7px !important;
  }

  .a2t-theme-toggle,
  .a2t-mobile-menu-btn,
  button.a2t-mobile-nav-notification,
  button.a2t-mobile-nav-notification-icon {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    flex-basis: 40px !important;
  }

  [data-notification-count] {
    min-width: 18px !important;
    height: 18px !important;
    font-size: 10px !important;
  }

  .a2t-mobile-menu {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .a2t-mobile-cart-link strong {
    font-size: .75rem !important;
  }

  .a2t-notification-modal {
    padding-left: 8px;
    padding-right: 8px;
  }

  .a2t-notification-head h2,
  .a2t-notification-head .h2 {
    font-size: 1.1rem !important;
  }

  .a2t-notification-copy strong {
    font-size: .94rem !important;
  }

  #a2t-main-content :where(.container, .container-fluid, .a2t-container, .page-container, .content-container) {
    padding-left: 12px;
    padding-right: 12px;
  }

  #a2t-main-content :where(h1, .h1) {
    font-size: clamp(1.78rem, 11.8vw, 2.75rem) !important;
  }

  #a2t-main-content :where(h2, .h2) {
    font-size: clamp(1.42rem, 8.2vw, 2rem) !important;
  }

  #a2t-main-content :where(.btn, [class*='btn'], button, input[type='submit']) {
    min-height: 42px;
  }
}

@media (max-width: 360px) {
  .a2t-nav-shell {
    gap: 6px !important;
  }

  .a2t-brand span {
    display: none;
  }

  .a2t-nav-actions {
    gap: 5px !important;
  }

  .a2t-theme-toggle,
  .a2t-mobile-menu-btn,
  button.a2t-mobile-nav-notification,
  button.a2t-mobile-nav-notification-icon {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    flex-basis: 38px !important;
  }

  #a2t-main-content :where(.container, .container-fluid, .a2t-container, .page-container, .content-container) {
    padding-left: 10px;
    padding-right: 10px;
  }

  #a2t-main-content :where(.card, [class*='card'], [class*='panel'], [class*='box']) {
    border-radius: 14px;
  }
}

@media (max-height: 560px) and (orientation: landscape) {
  .a2t-mobile-menu {
    padding-top: 8px !important;
  }

  .a2t-mobile-menu-inner {
    gap: 10px !important;
  }

  .a2t-notification-modal {
    padding-top: calc(var(--a2t-header-height, 58px) + 4px) !important;
  }

  .a2t-notification-dialog {
    max-height: calc((var(--a2t-vh, 1vh) * 100) - var(--a2t-header-height, 58px) - 12px) !important;
  }
}

@media (hover: none) and (pointer: coarse) {
  a,
  button,
  input,
  select,
  textarea,
  summary {
    -webkit-tap-highlight-color: rgba(37, 99, 235, .14);
  }

  #a2t-main-content :where(a, button, .btn, [class*='btn'], summary, label) {
    touch-action: manipulation;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}
