/* Phase 165 professional stability layer.
   Purpose: final predictable polish loaded after page/core CSS.
   Rules: additive only, no router changes, no design reset, no data mutation. */

:root{
  --am-focus-ring: 0 0 0 3px rgba(92,198,255,.28);
  --am-focus-outline: rgba(92,198,255,.92);
  --am-readable-measure: 72ch;
  --am-safe-page-pad: clamp(16px, 4vw, 28px);
  --am-touch-target: 44px;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top: 88px;
}

body{
  min-height:100%;
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
}

img, picture, video, canvas, svg{
  max-width:100%;
}

img, video{
  height:auto;
}

button, input, select, textarea{
  font:inherit;
}

button, [role="button"], a, input, textarea, select, summary{
  -webkit-tap-highlight-color: rgba(92,198,255,.22);
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--am-focus-outline);
  outline-offset:3px;
  box-shadow:var(--am-focus-ring);
}

[hidden],
.am-hidden{
  display:none !important;
}

.wrap,
main,
section,
article,
.panel,
.card,
.tile,
.feature-card,
.update-card,
.merch-panel,
.merch-shopify-embed{
  min-width:0;
}

p, li, .copy, .update-body, .tile__desc, .am-governed-copy{
  overflow-wrap:break-word;
}

:is(.btn,.cta,.filter-chip,.am-notify-btn,.shopify-buy__btn){
  min-height:var(--am-touch-target);
  align-items:center;
  justify-content:center;
}

:is(.btn,.cta,.filter-chip,.am-notify-btn,.shopify-buy__btn):disabled,
:is(.btn,.cta,.filter-chip,.am-notify-btn,.shopify-buy__btn)[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.62;
}

iframe,
embed,
object{
  max-width:100%;
  border:0;
}

/* Prevent long public/admin labels from blowing out grids. */
[class*="title"],
[class*="headline"],
[class*="kicker"],
[class*="meta"]{
  overflow-wrap:break-word;
}

/* Stable responsive media/CTA behavior without redesigning visuals. */
@media (max-width: 768px){
  .wrap{
    padding-left:max(16px, env(safe-area-inset-left));
    padding-right:max(16px, env(safe-area-inset-right));
  }

  .hero-cta,
  .merch-actions,
  .drop-banner__cta,
  .mini-contactbar__nav{
    flex-wrap:wrap;
  }

  .hero-cta .cta,
  .merch-actions .btn,
  .drop-banner__cta .btn,
  .mini-contactbar__nav a{
    min-height:var(--am-touch-target);
  }
}

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

  .ticker-track{
    animation:none !important;
  }
}

@media print{
  body{
    background:#fff !important;
    color:#000 !important;
  }

  header, footer, video, audio, .hero-media, .ticker-wrap, .am-cookie-banner{
    display:none !important;
  }

  a{
    color:#000 !important;
    text-decoration:underline;
  }
}

.am-quickview-trigger{cursor:pointer;}
.am-media-error{opacity:.72;filter:saturate(.6);}
