/* TOGOPEPTIDE — Header glow-up · Layer 8 · Cluster 03 */

/* ── Top announcement bar (above header) ─────────────────── */
.announcement-bar{
  position:relative;z-index:55;
  background:linear-gradient(90deg,
    var(--color-red-500-a12) 0%,
    color-mix(in srgb, var(--color-red-500) 6%, transparent) 50%,
    var(--color-red-500-a12) 100%);
  border-bottom:1px solid rgba(255,255,255,0.06);
  padding:8px 16px;font-size:12.5px;color:#ddd;
  display:flex;align-items:center;justify-content:center;gap:14px;
  text-align:center;line-height:1.4;
  animation:ann-fade-in 380ms cubic-bezier(0.22,1,0.36,1);
}
.announcement-bar[hidden]{display:none}
.announcement-bar__progress[hidden]{display:none !important}
.announcement-bar strong{color:#fff;font-weight:600}
.announcement-bar a{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  color:#fff;
  text-decoration:underline;
  font-weight:600;
}
.announcement-bar__progress{
  display:inline-flex;align-items:center;gap:8px;
}
.announcement-bar__bar{
  position:relative;width:100px;height:4px;
  background:rgba(255,255,255,0.1);border-radius:2px;overflow:hidden;
}
.announcement-bar__bar-fill{
  position:absolute;left:0;top:0;bottom:0;
  background:linear-gradient(90deg,var(--color-red-500) 0%,#ff3030 100%);
  border-radius:2px;
  transition:width 380ms cubic-bezier(0.22,1,0.36,1);
}
.announcement-bar__close{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  background:transparent;border:0;color:#999;cursor:pointer;font-size:16px;
  padding:0 6px;line-height:1;transition:color 160ms;
}
.announcement-bar__close:hover{color:#fff}
@keyframes ann-fade-in{
  from{opacity:0;transform:translateY(-4px)}
  to  {opacity:1;transform:translateY(0)}
}
@media (max-width:640px){
  .announcement-bar{
    min-height:42px;
    padding:6px 40px 6px 14px;
    gap:6px 8px;
    font-size:11px;
    line-height:1.25;
    letter-spacing:0;
    flex-wrap:wrap;
  }
  .announcement-bar__progress{display:none}
  .announcement-bar__close{
    right:8px;
    width:32px;
    height:32px;
    padding:0;
    display:grid;
    place-items:center;
    color:rgba(255,255,255,.78);
    font-size:18px;
  }
}

/* ── Header sticky-shrink + hide-on-scroll-down ─────────── */
.site-header{
  transition:
    transform var(--dur-base, 240ms) var(--ease-out, cubic-bezier(0.22,1,0.36,1)),
    background var(--dur-fast, 160ms) ease,
    box-shadow var(--dur-fast, 160ms) ease,
    padding var(--dur-fast, 160ms) ease;
}
.site-header.is-scrolled{
  background:rgba(8,8,10,0.85);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:0 4px 20px -4px rgba(0,0,0,0.5);
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.site-header.is-hidden{
  transform:translateY(-100%);
}
/* When announcement bar is present + sticky, shift header offset */
body.has-announcement .site-header{
  /* No-op for now since announcement is in flow above header */
}
/* When body has scrolled-shrink, slightly reduce header padding */
body.is-scrolled .site-header__inner{
  padding-top:8px;
  padding-bottom:8px;
}

/* ── Cart-icon "+1" pop animation ──────────────────────── */
@keyframes cart-pop{
  0%   { transform:scale(1);   }
  35%  { transform:scale(1.28); }
  70%  { transform:scale(0.92); }
  100% { transform:scale(1);    }
}
.nav-cart__icon.is-popping{
  animation:cart-pop 480ms cubic-bezier(0.34,1.56,0.64,1);
  color:var(--color-accent, #e01b1b);
}
[data-cart-count].is-popping{
  animation:cart-pop 480ms cubic-bezier(0.34,1.56,0.64,1);
}

/* "+1" floater ↑ on add-to-cart */
.cart-floater{
  position:fixed;z-index:200;pointer-events:none;
  font-size:14px;font-weight:700;color:#fff;
  background:var(--color-accent, #e01b1b);
  padding:6px 12px;border-radius:999px;
  box-shadow:0 6px 20px color-mix(in srgb, var(--color-red-500) 45%, transparent);
  animation:cart-float 900ms cubic-bezier(0.22,1,0.36,1) forwards;
}
@keyframes cart-float{
  0%   { opacity:0;  transform:translate(-50%, 0)     scale(0.6); }
  18%  { opacity:1;  transform:translate(-50%, -10px) scale(1.05); }
  85%  { opacity:1;  transform:translate(-50%, -90px) scale(1);    }
  100% { opacity:0;  transform:translate(-50%, -110px) scale(0.85); }
}

/* ── Cmd+K keyboard-shortcuts overlay ──────────────────── */
.shortcuts-overlay{
  position:fixed;inset:0;z-index:140;
  background:rgba(5,5,8,0.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  display:flex;align-items:flex-start;justify-content:center;
  padding:80px 20px;
  animation:so-fade-in 220ms cubic-bezier(0.22,1,0.36,1);
}
.shortcuts-overlay[hidden]{display:none}
.shortcuts-overlay__panel{
  background:#0b0b0d;border:1px solid rgba(255,255,255,0.1);border-radius:14px;
  width:100%;max-width:520px;padding:24px;
  box-shadow:0 32px 80px -16px rgba(0,0,0,0.6);
  animation:so-pop-in 320ms cubic-bezier(0.34,1.56,0.64,1);
}
.shortcuts-overlay__title{
  margin:0 0 16px;font-size:14px;font-weight:600;color:#fff;
  display:flex;align-items:center;justify-content:space-between;
}
.shortcuts-overlay__close{
  background:transparent;border:0;color:#888;cursor:pointer;font-size:18px;line-height:1;padding:0 4px;
}
.shortcuts-overlay__close:hover{color:#fff}
.shortcuts-overlay__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.shortcuts-overlay__list li{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 12px;border-radius:8px;font-size:14px;color:#ddd;
  transition:background 140ms ease;
}
.shortcuts-overlay__list li:hover{background:rgba(255,255,255,0.03);color:#fff}
.kbd{
  display:inline-block;padding:2px 8px;font-family:ui-monospace, SFMono-Regular, monospace;
  font-size:11.5px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);
  border-radius:5px;color:#fff;line-height:1.6;margin-left:4px;
}
@keyframes so-fade-in{from{opacity:0}to{opacity:1}}
@keyframes so-pop-in{
  from{opacity:0;transform:translateY(-12px) scale(0.96)}
  to  {opacity:1;transform:translateY(0)     scale(1)}
}

/* ── Logo-monogram fallback (small screens) ────────────── */
@media (max-width:380px){
  .site-header__brand__logo{width:36px;height:36px}
}
