/* Stage 3.6 COA-pending mode — banner, first-visit modal, product chips.
   z-ladder: age-gate(10005) > coa-modal(10002) > consent(9998-9999)
   > coa-banner(950) > nav(800/810). */

/* ── Persistent top banner ─────────────────────────────────── */
#uspp-coa-banner {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 950;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 8px max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));
  background: #0a1322;
  border-bottom: 1px solid rgba(78,163,227,0.28);
}
.uspp-coa-banner__text {
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.03em;
  line-height: 1.4;
  color: rgba(255,255,255,0.82);
  text-align: center;
}
.uspp-coa-banner__text a {
  color: var(--cyan, #4FA3E3);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.uspp-coa-banner__dismiss {
  flex: 0 0 auto;
  background: none;
  border: none;
  color: rgba(255,255,255,0.55);
  font-size: 18px;
  line-height: 1;
  padding: 4px 8px;
  cursor: pointer;
}
.uspp-coa-banner__dismiss:hover,
.uspp-coa-banner__dismiss:focus-visible { color: #fff; }

/* Push fixed nav + page flow down while the banner is present. */
body.has-coa-banner { padding-top: var(--coa-banner-h, 36px); }
body.has-coa-banner #nav { top: var(--coa-banner-h, 36px); }

/* ── First-visit modal ─────────────────────────────────────── */
#uspp-coa-modal {
  position: fixed;
  inset: 0;
  z-index: 10002;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
}
.uspp-coa-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2,6,14,0.78);
}
.uspp-coa-modal__panel {
  position: relative;
  max-width: 480px;
  width: 100%;
  background: #0a1322;
  border: 1px solid rgba(78,163,227,0.28);
  border-top: 3px solid var(--cyan, #4FA3E3);
  padding: 28px 28px 24px;
  animation: uspp-coa-modal-in 0.25s ease-out;
}
@keyframes uspp-coa-modal-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .uspp-coa-modal__panel { animation: none; }
}
.uspp-coa-modal__kicker {
  display: block;
  font-family: 'Syne', sans-serif;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cyan, #4FA3E3);
  margin-bottom: 10px;
}
#uspp-coa-modal-title {
  margin: 0 0 12px;
  font-size: 20px;
  line-height: 1.3;
  color: #fff;
}
.uspp-coa-modal__body {
  margin: 0 0 20px;
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(255,255,255,0.78);
}
.uspp-coa-modal__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.uspp-coa-modal__link {
  font-size: 13px;
  color: var(--cyan, #4FA3E3);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.uspp-coa-modal__btn {
  padding: 10px 22px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--cyan, #4FA3E3);
  color: #041020;
  border: none;
  cursor: pointer;
}
.uspp-coa-modal__btn:hover,
.uspp-coa-modal__btn:focus-visible { filter: brightness(1.1); }

/* ── Product / cart-line chips ─────────────────────────────── */
.coa-chip {
  display: inline-block;
  margin-top: 6px;
  padding: 3px 8px;
  font-family: 'IBM Plex Mono', Courier, monospace;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  background: rgba(78,163,227,0.08);
  border: 1px solid rgba(78,163,227,0.25);
  border-radius: 2px;
  white-space: nowrap;
}
.coa-chip--cart {
  margin: 2px 0 4px;
  white-space: normal;
}
