/* ============================================================
   GUSTĂRI SPAȚIALE 2030 — Galactic Design System
   Copy 1:1 din assets/styles.css mockup + completări WP
   Mobile-first: baza = mobile, media queries = desktop
   @package GustariSpatiale
   @author  Canny Agency SRL <office@canny.ro>
   ============================================================ */

/* Font preload via class-cannyro-performance.php (anti-blocking) */
/* ---------- TOKENS ---------- */
:root {
  --bg-deep:   #08041C;
  --bg-mid:    #150A38;
  --bg-soft:   #221257;
  --bg-card:   #1B0F4A;
  --ink:       #FFFFFF;
  --ink-2:     #E8E1FF;
  --ink-soft:  #B4A8E6;
  --ink-mute:  #7A6FA8;

  --brand-yellow:   #FFC83D;
  --brand-yellow-2: #FFE17A;
  --brand-orange:   #FF8A3D;
  --magenta:        #FF3F8E;
  --alien:          #9DFF6E;
  --plasma:         #5BE5FF;
  --mars:           #E15B3D;
  --purple-glow:    #A57EFF;
  --violet:         #6B3DFF;

  --hairline:        rgba(255,255,255,0.10);
  --hairline-strong: rgba(255,200,61,0.28);

  --font-display:          'Montserrat', system-ui, sans-serif;
  --font-display-style:    normal;
  --font-display-weight:   800;
  --font-display-tracking: -0.03em;
  --font-display-leading:  0.88;

  --font-body: 'Montserrat', system-ui, sans-serif;
  --font-mono: 'Montserrat', ui-monospace, monospace;

  --r-sm:   10px;
  --r-md:   18px;
  --r-lg:   28px;
  --r-xl:   40px;
  --r-pill: 999px;

  --shadow-pop:  0 30px 80px -20px rgba(0,0,0,0.6), 0 8px 20px -8px rgba(255,63,142,0.3);
  --shadow-soft: 0 20px 60px -20px rgba(0,0,0,0.5);
  --glow-yellow:  0 0 60px -10px rgba(255,200,61,0.55);
  --glow-magenta: 0 0 60px -10px rgba(255,63,142,0.55);

  --gutter: clamp(16px, 4vw, 64px);
  --maxw: 1440px;
}

/* ---------- RESET ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  background: var(--bg-deep);
  color: var(--ink);
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  cursor: auto;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; }
img { display: block; max-width: 100%; }
::selection { background: var(--brand-yellow); color: var(--bg-deep); }

/* ---------- CURSOR RACHETĂ — DEZACTIVAT 2026-05-17 (perf fix) ---------- */
/* cursor: none era pereche cu setupCursorRocket() care e disabled.
   Restaurez cursor implicit ca să fie vizibil. */
@media (hover: hover) and (pointer: fine) {
  html, body { cursor: auto; }
}
.cursor-rocket {
  position: fixed; top: 0; left: 0;
  width: 32px; height: 32px;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  transition: width .2s, height .2s;
  will-change: transform;
}
.cursor-rocket svg { width: 100%; height: 100%; filter: drop-shadow(0 0 8px rgba(255,200,61,.7)); }
.cursor-rocket.is-hover { width: 56px; height: 56px; }
.cursor-trail {
  position: fixed; width: 6px; height: 6px;
  border-radius: 50%;
  background: radial-gradient(circle, #FFC83D 0%, transparent 70%);
  pointer-events: none; z-index: 9998;
  transform: translate(-50%, -50%);
}
@media (pointer: coarse), (prefers-reduced-motion: reduce) {
  .cursor-rocket, .cursor-trail { display: none !important; }
  html, body, a, button { cursor: auto !important; }
}

/* ---------- SKIP LINK ---------- */
.skip-link {
  position: absolute; top: -100px; left: 16px;
  background: var(--brand-yellow); color: var(--bg-deep);
  padding: 8px 16px; border-radius: var(--r-pill);
  font-weight: 700; z-index: 9999;
  transition: top .2s;
}
.skip-link:focus { top: 16px; }

/* ---------- BACKGROUND COSMOS ---------- */
.cosmos-bg {
  position: fixed; inset: 0; z-index: -1;
  background:
    radial-gradient(ellipse 80% 60% at 80% 0%, rgba(255,63,142,0.18), transparent 60%),
    radial-gradient(ellipse 60% 80% at 0% 100%, rgba(91,229,255,0.12), transparent 60%),
    radial-gradient(ellipse 100% 60% at 50% 50%, rgba(165,126,255,0.10), transparent 70%),
    linear-gradient(180deg, #08041C 0%, #150A38 60%, #08041C 100%);
}
.cosmos-bg::before {
  content: ""; position: absolute; inset: 0;
  background-image:
    radial-gradient(2px 2px at 20% 30%, #fff, transparent),
    radial-gradient(1px 1px at 60% 70%, #fff, transparent),
    radial-gradient(1.5px 1.5px at 80% 20%, #fff, transparent),
    radial-gradient(1px 1px at 40% 80%, #fff, transparent),
    radial-gradient(2px 2px at 90% 50%, #FFC83D, transparent),
    radial-gradient(1px 1px at 10% 60%, #FF3F8E, transparent),
    radial-gradient(1.5px 1.5px at 70% 40%, #5BE5FF, transparent),
    radial-gradient(1px 1px at 30% 10%, #fff, transparent);
  background-size: 600px 600px;
  background-repeat: repeat;
  opacity: 0.6;
  animation: drift 120s linear infinite;
}
.cosmos-bg::after {
  content: ""; position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 25% 45%, #fff, transparent),
    radial-gradient(1.5px 1.5px at 75% 25%, #fff, transparent),
    radial-gradient(1px 1px at 50% 80%, #FFC83D, transparent),
    radial-gradient(2px 2px at 85% 65%, #fff, transparent);
  background-size: 400px 400px;
  background-repeat: repeat;
  opacity: 0.5;
  animation: drift 80s linear infinite reverse;
}
@keyframes drift {
  from { background-position: 0 0; }
  to { background-position: -600px -600px; }
}

/* ---------- HEADER ---------- */
/* ---------- TOPBAR PROMO (livrare gratuită, static site-wide, 2026-06) ---------- */
.gs-topbar {
  background: var(--brand-yellow, #FFC83D);
  color: var(--bg-deep, #08041C);
  text-align: center;
  padding: 9px 16px;
  position: relative;
  z-index: 90;                       /* sub header sticky (100), peste cosmos-bg */
  font-family: var(--font-display, 'Montserrat', sans-serif);
  font-weight: 700;
  font-size: clamp(13px, 1.5vw, 15px);
  letter-spacing: 0.01em;
  line-height: 1.3;
}
.gs-topbar__msg {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.gs-topbar__msg strong { font-weight: 900; }
.gs-topbar__icon {
  display: inline-block;
  font-size: 1.05em;
  animation: gs-topbar-rocket 2.6s ease-in-out infinite;
}
@keyframes gs-topbar-rocket {
  0%, 100% { transform: translate(0, 0) rotate(0); }
  50%      { transform: translate(3px, -2px) rotate(8deg); }
}
@media (prefers-reduced-motion: reduce) {
  .gs-topbar__icon { animation: none; }
}

.cosmo-header {
  position: sticky; top: 0; z-index: 100;
  padding: 14px var(--gutter);
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
  backdrop-filter: blur(14px);
  background: rgba(8, 4, 28, 0.55);
  border-bottom: 1px solid var(--hairline);
}
.cosmo-header .logo {
  display: flex; align-items: center; gap: 12px;
  font-family: var(--font-display);
  font-weight: var(--font-display-weight);
  font-style: var(--font-display-style);
  letter-spacing: var(--font-display-tracking);
  font-size: 22px;
  line-height: 0.9;
}
.cosmo-header .logo { display: inline-flex; align-items: center; gap: 12px; }
.cosmo-header .logo img { width: 44px; height: 44px; object-fit: contain; flex-shrink: 0; }
.cosmo-header .logo .lockup {
  display: flex; flex-direction: column;
  line-height: 1; gap: 4px;
}
.cosmo-header .logo .lockup .brand-name {
  color: var(--ink);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 17px;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.cosmo-header .logo .lockup .brand-sub {
  color: var(--brand-yellow);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.18em;
  font-weight: 600;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .cosmo-header .logo .lockup .brand-name { font-size: 14px; }
  .cosmo-header .logo .lockup .brand-sub { font-size: 8px; letter-spacing: 0.14em; }
}

/* Footer logo — mai mare, doar imaginea */
.footer-logo {
  display: inline-flex !important;
  align-items: center !important;
}
.footer-logo img {
  width: 88px !important;
  height: 88px !important;
  object-fit: contain;
}
/* .footer-logo .lockup { display: none !important; }  — DISABLED 2026-05-15 (footer simplif: lockup vizibil) */

.cosmo-nav { display: none; gap: 4px; align-items: center; }
@media (min-width: 980px) { .cosmo-nav { display: flex; } }
.cosmo-nav a {
  padding: 10px 16px;
  border-radius: var(--r-pill);
  font-weight: 500; font-size: 15px;
  color: var(--ink-2);
  transition: background .2s, color .2s;
  position: relative;
}
.cosmo-nav a:hover { background: rgba(255,255,255,0.06); color: var(--ink); }
.cosmo-nav a.active { color: var(--brand-yellow); }
.cosmo-nav a.active::after {
  content: ""; position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%);
  width: 5px; height: 5px; border-radius: 50%; background: var(--brand-yellow);
  box-shadow: 0 0 8px var(--brand-yellow);
}

.cosmo-header .right { display: flex; gap: 10px; align-items: center; }
.icon-btn {
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--hairline);
  transition: background .2s, transform .2s;
  position: relative;
}
.icon-btn:hover { background: rgba(255,200,61,0.15); transform: scale(1.05); }
.icon-btn svg { width: 18px; height: 18px; }
.cart-count {
  position: absolute; top: -4px; right: -4px;
  background: var(--magenta); color: #fff;
  font-size: 11px; font-weight: 700;
  width: 20px; height: 20px; border-radius: 50%;
  display: grid; place-items: center;
  border: 2px solid var(--bg-deep);
  transition: opacity .2s, transform .2s;
}
.cart-count.is-empty {
  opacity: 0; transform: scale(0.6); pointer-events: none;
}

.btn-launch {
  padding: 12px 22px;
  background: var(--brand-yellow);
  color: var(--bg-deep);
  border-radius: var(--r-pill);
  font-weight: 700; font-size: 15px;
  display: inline-flex; align-items: center; gap: 8px;
  transition: transform .2s, box-shadow .2s;
}
.btn-launch:hover { transform: translateY(-2px); box-shadow: var(--glow-yellow); }
.btn-launch svg { width: 16px; height: 16px; }

/* Hamburger */
.nav-toggle {
  display: flex; flex-direction: column; justify-content: center; gap: 5px;
  width: 44px; height: 44px; padding: 8px;
  border-radius: var(--r-sm);
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.04);
}
.nav-toggle span {
  display: block; height: 2px;
  background: var(--ink);
  border-radius: 2px;
  transition: transform .3s, opacity .3s;
}
.nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2) { opacity: 0; }
.nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (min-width: 980px) { .nav-toggle { display: none; } }

/* Mobile nav overlay */
.mobile-nav {
  display: none;
  flex-direction: column;
  position: fixed; top: 73px; left: 0; right: 0; bottom: 0;
  background: rgba(8,4,28,0.97);
  backdrop-filter: blur(16px);
  z-index: 99;
  padding: 32px var(--gutter);
  gap: 8px;
}
.mobile-nav.is-open { display: flex; }
.mobile-nav a {
  padding: 18px 20px;
  border-radius: var(--r-md);
  font-family: var(--font-display);
  font-weight: var(--font-display-weight);
  font-size: clamp(22px, 6vw, 32px);
  letter-spacing: var(--font-display-tracking);
  border: 1px solid var(--hairline);
  color: var(--ink-2);
  transition: background .2s, color .2s;
}
.mobile-nav a:hover { background: rgba(255,200,61,0.1); color: var(--brand-yellow); }
@media (min-width: 980px) { .mobile-nav { display: none !important; } }

/* ---------- BUTTONS ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 10px;
  padding: 16px 28px;
  border-radius: var(--r-pill);
  font-weight: 700; font-size: 16px;
  transition: transform .2s, box-shadow .2s, background .2s;
  white-space: nowrap;
  cursor: pointer;
}
.btn-primary { background: var(--brand-yellow); color: var(--bg-deep); }
.btn-primary:hover { transform: translateY(-3px); box-shadow: var(--glow-yellow); }
.btn-ghost {
  background: transparent; color: var(--ink);
  border: 1.5px solid var(--hairline);
}
.btn-ghost:hover { border-color: var(--brand-yellow); color: var(--brand-yellow); }
.btn-magenta { background: var(--magenta); color: #fff; }
.btn-magenta:hover { transform: translateY(-3px); box-shadow: var(--glow-magenta); }
.btn-big { padding: 22px 40px; font-size: 18px; border-radius: var(--r-pill); }

/* ---------- TYPE UTILITIES ---------- */
.display {
  font-family: var(--font-display);
  font-weight: var(--font-display-weight);
  font-style: var(--font-display-style);
  letter-spacing: var(--font-display-tracking);
  line-height: var(--font-display-leading);
  text-wrap: balance;
}
.display-xxl { font-size: clamp(64px, 13vw, 220px); }
.display-xl  { font-size: clamp(48px, 9vw, 140px); }
.display-lg  { font-size: clamp(40px, 6.5vw, 96px); }
.display-md  { font-size: clamp(32px, 4.5vw, 64px); }
.display-sm  { font-size: clamp(24px, 3vw, 40px); }

.eyebrow {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-yellow);
  display: inline-flex; align-items: center; gap: 10px;
}
.eyebrow::before {
  content: ""; width: 8px; height: 8px;
  background: var(--brand-yellow); border-radius: 50%;
  box-shadow: 0 0 12px var(--brand-yellow);
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.6; }
}

.lead { font-size: clamp(18px, 1.6vw, 22px); color: var(--ink-2); max-width: 60ch; line-height: 1.5; }
.text-yellow  { color: var(--brand-yellow); }
.text-magenta { color: var(--magenta); }
.text-alien   { color: var(--alien); }
.text-plasma  { color: var(--plasma); }

/* ---------- LAYOUT ---------- */
.section { padding: clamp(64px, 9vw, 140px) var(--gutter); position: relative; }
.wrap { max-width: var(--maxw); margin: 0 auto; }

/* ---------- MARQUEE ---------- */
.marquee {
  overflow: hidden;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  background: var(--brand-yellow);
  color: var(--bg-deep);
  padding: 18px 0;
}
.marquee-track {
  display: flex; gap: 48px;
  animation: marquee 30s linear infinite;
  white-space: nowrap;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(20px, 2.4vw, 36px);
  letter-spacing: -0.01em;
}
.marquee-track span { display: inline-flex; align-items: center; gap: 48px; }
/* Removed 2026-05-15 vizual3 task4: stelele ★ inserate prin pseudo-element erau dublate cu emoji-urile din .marquee-icon */
@keyframes marquee { to { transform: translateX(-50%); } }

/* ---------- MARQUEE ITEM HIGHLIGHT (Faza 1.1 + 2.1.B + pastilă 2026-06) — "Livrare gratuită" prioritizat ---------- */
/* Pastilă navy + puls lin: badge închis pe bara galbenă, text galben, fără subliniere. */
.marquee-track .marquee-item--highlight {
  font-weight: 900;
  letter-spacing: -0.005em;
  gap: 8px;                       /* override gap-ul de 48px moștenit din .marquee-track span */
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--bg-deep, #0a0420);
  color: var(--brand-yellow, #FFC83D);
  box-shadow: 0 6px 18px rgba(10, 4, 32, 0.35);
  animation: marquee-pill-breath 2.4s ease-in-out infinite;
  will-change: transform;
}
/* Steluța ★ — galbenă pe pastila navy, statică (mișcarea o dă pastila) */
.marquee-track .marquee-item__star {
  display: inline-block;
  color: var(--brand-yellow, #FFC83D);
  font-size: 1.05em;
}
@keyframes marquee-pill-breath {
  0%, 100% { transform: scale(1);     box-shadow: 0 6px 18px rgba(10, 4, 32, 0.35); }
  50%      { transform: scale(1.045); box-shadow: 0 10px 26px rgba(10, 4, 32, 0.5); }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track .marquee-item--highlight { animation: none; }
}

/* ---------- PLANET + ORBIT ---------- */
.planet {
  border-radius: 50%;
  position: relative;
  background-size: cover;
  box-shadow: inset -10px -10px 30px rgba(0,0,0,0.4), 0 20px 60px rgba(0,0,0,0.4);
}
.planet-yellow  { background: radial-gradient(circle at 30% 30%, #FFE17A, #FFC83D 50%, #B88300); }
.planet-purple  { background: radial-gradient(circle at 30% 30%, #C9A8FF, #8B5BFF 50%, #4520A8); }
.planet-magenta { background: radial-gradient(circle at 30% 30%, #FFA3CC, #FF3F8E 50%, #A8175A); }
.planet-orange  { background: radial-gradient(circle at 30% 30%, #FFC899, #FF8A3D 50%, #A84A10); }
.planet-mars    { background: radial-gradient(circle at 30% 30%, #FFA88A, #E15B3D 50%, #8B2A10); }
.planet-cyan    { background: radial-gradient(circle at 30% 30%, #B5F0FF, #5BE5FF 50%, #1A8FA8); }
.planet.cratered::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  background:
    radial-gradient(circle 8px at 20% 30%, rgba(0,0,0,0.25), transparent),
    radial-gradient(circle 12px at 70% 60%, rgba(0,0,0,0.2), transparent),
    radial-gradient(circle 6px at 50% 75%, rgba(0,0,0,0.25), transparent),
    radial-gradient(circle 10px at 80% 25%, rgba(0,0,0,0.2), transparent);
}
.planet-ring {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%) rotateX(72deg);
  border: 6px solid rgba(255,200,61, 0.7);
  border-radius: 50%;
  pointer-events: none;
}

@keyframes spin  { to { transform: rotate(360deg); } }
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}
@keyframes float-slow {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-14px) rotate(3deg); }
}

/* ---------- PRODUCT CARDS ---------- */
.product-card {
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  padding: 28px;
  overflow: hidden;
  transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .3s;
  isolation: isolate;
  display: block;
}
.product-card::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,200,61,0.18), transparent 60%);
  opacity: 0; transition: opacity .3s; z-index: 0;
}
.product-card:hover { border-color: var(--hairline-strong); transform: translateY(-6px); }
.product-card:hover::before { opacity: 1; }
.product-card > * { position: relative; z-index: 1; }
.product-card .img-wrap {
  aspect-ratio: 1/1;
  display: grid; place-items: center;
  margin-bottom: 18px; position: relative;
  min-height: 260px;
}
.product-card .img-wrap::before {
  content: ""; position: absolute;
  width: 70%; height: 70%; top: 15%; left: 15%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,200,61,0.3), transparent 60%);
  filter: blur(20px); z-index: 0;
}
.product-card .img-wrap img {
  width: 100%; height: 100%; object-fit: contain;
  position: relative; z-index: 1;
  transition: transform .4s cubic-bezier(.2,.8,.2,1);
  filter: drop-shadow(0 24px 36px rgba(0,0,0,0.5));
}
.product-card:hover .img-wrap img { transform: scale(1.08) rotate(-3deg); }
.product-card .flavor {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--brand-yellow); margin-bottom: 6px;
}
.product-card .title {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); letter-spacing: var(--font-display-tracking);
  font-size: clamp(22px, 2.2vw, 30px); line-height: 0.95; margin-bottom: 8px;
}
.product-card .desc { color: var(--ink-soft); font-size: 14px; min-height: 42px; }
.product-card .row {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 18px; gap: 12px;
}
.product-card .price {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: 28px; color: var(--brand-yellow);
}
.product-card .price small { font-size: 14px; color: var(--ink-soft); font-weight: 500; font-style: normal; font-family: var(--font-body); margin-left: 4px; }
.product-card .add {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--brand-yellow); color: var(--bg-deep);
  display: grid; place-items: center; transition: transform .2s;
  cursor: pointer;
}
.product-card .add:hover { transform: rotate(90deg) scale(1.1); }

.tag {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; border-radius: var(--r-pill);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase;
  background: rgba(157, 255, 110, 0.15); color: var(--alien);
  border: 1px solid rgba(157, 255, 110, 0.3);
}
.tag.yellow  { background: rgba(255,200,61,0.15); color: var(--brand-yellow); border-color: rgba(255,200,61,0.3); }
.tag.magenta { background: rgba(255,63,142,0.15); color: var(--magenta); border-color: rgba(255,63,142,0.3); }

/* ---------- FOOTER ---------- */
.cosmo-footer {
  padding: 100px var(--gutter) 32px;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.5));
  border-top: 1px solid var(--hairline);
  position: relative; overflow: hidden;
}
.cosmo-footer .top {
  display: grid; grid-template-columns: 1fr;
  gap: 48px; max-width: var(--maxw); margin: 0 auto;
}
@media (min-width: 640px) { .cosmo-footer .top { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .cosmo-footer .top { grid-template-columns: 1.5fr 1fr 1fr 1fr; } }
.cosmo-footer h3, .cosmo-footer h4 {
  font-family: var(--font-mono); font-size: 12px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--brand-yellow); margin: 0 0 16px;
}
.cosmo-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.cosmo-footer ul a { color: var(--ink-soft); font-size: 15px; transition: color .2s; }
.cosmo-footer ul a:hover { color: var(--brand-yellow); }
.cosmo-footer .bot {
  max-width: var(--maxw); margin: 56px auto 0;
  padding-top: 24px; border-top: 1px solid var(--hairline);
  display: flex; justify-content: space-between; gap: 24px;
  font-size: 13px; color: var(--ink-mute); font-family: var(--font-mono);
  flex-wrap: wrap;
}
.cosmo-footer .word {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-size: clamp(60px, 14vw, 220px); line-height: 0.85;
  letter-spacing: var(--font-display-tracking);
  text-align: center; margin-top: 80px;
  background: linear-gradient(180deg, var(--brand-yellow) 0%, var(--brand-yellow) 48%, rgba(255,200,61,0.45) 58%, rgba(255,200,61,0.22) 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; opacity: 0.7;
}
.newsletter { display: flex; gap: 8px; margin-top: 18px; flex-wrap: wrap; }
.newsletter input {
  flex: 1; min-width: 0;
  padding: 14px 18px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--hairline);
  border-radius: var(--r-pill);
  color: var(--ink); font: inherit; outline: none;
}
.newsletter input:focus { border-color: var(--brand-yellow); }
.newsletter button {
  padding: 14px 22px; background: var(--brand-yellow);
  color: var(--bg-deep); border-radius: var(--r-pill); font-weight: 700; cursor: pointer;
}

/* ---------- FORMS ---------- */
.form-group { display: grid; gap: 8px; margin-bottom: 18px; }
.form-group label {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--brand-yellow);
}
.form-control {
  width: 100%; padding: 14px 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--hairline);
  border-radius: var(--r-md);
  color: var(--ink); font: inherit; outline: none;
  transition: border-color .2s, background .2s;
  -webkit-appearance: none; appearance: none;
}
.form-control:focus { border-color: var(--brand-yellow); background: rgba(255,200,61,0.05); }
.form-control::placeholder { color: var(--ink-mute); }

/* ---------- BREADCRUMBS ---------- */
.crumbs {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-mono); font-size: 12px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-mute); margin-bottom: 32px;
}
.crumbs a:hover { color: var(--brand-yellow); }
.crumbs span { opacity: 0.5; }

/* ---------- REVEAL ON SCROLL ---------- */
.reveal { opacity: 0; transform: translateY(40px); transition: opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1); }
.reveal.in { opacity: 1; transform: none; }

/* ---------- DIVIDER ---------- */
.divider-stars {
  display: flex; align-items: center; justify-content: center; gap: 24px;
  padding: 32px 0; color: var(--ink-mute);
  font-family: var(--font-mono); font-size: 12px;
  letter-spacing: 0.16em; text-transform: uppercase;
}
.divider-stars::before, .divider-stars::after {
  content: ""; flex: 1; height: 1px;
  background: linear-gradient(90deg, transparent, var(--hairline), transparent);
}

/* ============================================================
   HOME — HERO
   ============================================================ */
.gs-hero {
  position: relative;
  padding: 40px var(--gutter) 80px;
  min-height: 92vh;
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: center;
  overflow: hidden;
}
@media (min-width: 980px) {
  .gs-hero { grid-template-columns: 1.05fr 1fr; }
}

.hero-copy { position: relative; z-index: 3; }
.gs-hero h1 {
  font-family: var(--font-display);
  font-weight: var(--font-display-weight);
  font-style: var(--font-display-style);
  letter-spacing: var(--font-display-tracking);
  line-height: 0.86;
  font-size: clamp(40px, 8.2vw, 132px);
  margin: 18px 0 28px;
  text-wrap: balance;
}
.gs-hero h1 .accent { color: var(--brand-yellow); }
.gs-hero h1 .star {
  display: inline-block; color: var(--magenta);
  animation: spin 12s linear infinite; transform-origin: center;
}
.gs-hero h1 .ital { font-family: 'Montserrat', Georgia, serif; font-style: italic; font-weight: 400; color: var(--ink-2); }
.gs-hero .lead { font-size: clamp(17px, 1.5vw, 21px); max-width: 50ch; color: var(--ink-2); }
.gs-hero .cta-row { display: flex; gap: 14px; margin-top: 36px; flex-wrap: wrap; }
.gs-hero .stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 4px; margin-top: 56px;
  border-top: 1px solid var(--hairline);
  padding-top: 28px;
}
.gs-hero .stats .stat-num {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style);
  font-size: clamp(32px, 4vw, 56px);
  color: var(--brand-yellow); line-height: 0.9;
  letter-spacing: var(--font-display-tracking);
}
.gs-hero .stats .stat-lbl {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ink-soft); margin-top: 6px;
}

/* Hero meta */
.hero-meta {
  display: none;
  position: absolute; top: 30px; right: 30px; z-index: 3;
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-soft); text-align: right; line-height: 1.7;
}
@media (min-width: 980px) { .hero-meta { display: block; } }
.hero-meta .live::before {
  content: ""; display: inline-block;
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--alien); margin-right: 6px;
  box-shadow: 0 0 8px var(--alien);
  animation: pulse 1.6s infinite;
}

/* Hero stage */
.hero-stage {
  position: relative; aspect-ratio: 1/1;
  width: 100%; max-width: 480px; margin: 0 auto;
}
@media (min-width: 980px) { .hero-stage { max-width: 640px; } }
.stage-rings {
  position: absolute; inset: 0; border-radius: 50%; pointer-events: none;
}
.stage-rings::before, .stage-rings::after, .stage-rings .r3 {
  content: ""; position: absolute; inset: 0;
  border-radius: 50%; border: 1px dashed rgba(255,200,61,0.18);
}
.stage-rings::before { inset: 8%; border-style: dashed; }
.stage-rings::after  { inset: 20%; border-color: rgba(255,63,142,0.20); }
.stage-rings .r3     { inset: 32%; border-color: rgba(91,229,255,0.18); }
.astro-anchor {
  position: absolute; inset: 28% 28% 28% 28%;
  display: grid; place-items: center;
  animation: float 7s ease-in-out infinite;
}
.astro-anchor svg { width: 100%; height: 100%; filter: drop-shadow(0 30px 60px rgba(0,0,0,0.5)); }
.astro-anchor img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 30px 60px rgba(0,0,0,0.5)); }
.orbit {
  position: absolute; inset: 0; border-radius: 50%;
  animation: spin var(--dur, 36s) linear infinite;
}
.orbit-slow { --dur: 80s; }
.orbit-med  { --dur: 50s; }
.orbit-fast { --dur: 32s; }
.orbit-rev { animation-direction: reverse; }
.orbit-item {
  position: absolute; top: var(--y, 0); left: var(--x, 50%);
  transform: translate(-50%, -50%);
}
.orbit-item .counter-spin { animation: spin var(--dur, 36s) linear infinite reverse; }
.pouch-pill {
  width: clamp(80px, 12vw, 140px);
  transition: transform .3s;
  filter: drop-shadow(0 20px 30px rgba(0,0,0,0.45));
}
.pouch-pill:hover { transform: scale(1.1); }
/* Hero subtitle (sub H1) */
.gs-hero-sub {
  font-family: var(--font-display);
  font-weight: var(--font-display-weight);
  font-size: clamp(22px, 3vw, 40px);
  letter-spacing: var(--font-display-tracking);
  line-height: 1;
  margin: 0 0 16px;
  color: var(--brand-yellow);
}

.glow-orb {
  position: absolute; border-radius: 50%;
  filter: blur(40px); pointer-events: none;
}
.glow-1 { width: 280px; height: 280px; background: rgba(255,200,61,0.25); top: 20%; left: 30%; }
.glow-2 { width: 220px; height: 220px; background: rgba(255,63,142,0.22); bottom: 10%; right: 10%; }
.glow-3 { width: 180px; height: 180px; background: rgba(91,229,255,0.18); top: 50%; left: 5%; }

/* ============================================================
   HOME — MANIFEST / CE SUNTEM
   ============================================================ */
.gs-manifest { position: relative; }
.gs-manifest .lockup {
  display: grid; grid-template-columns: 1fr;
  gap: clamp(40px, 6vw, 100px); align-items: center;
}
@media (min-width: 980px) { .gs-manifest .lockup { grid-template-columns: 1fr 1.4fr; } }
.gs-manifest .quote {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); letter-spacing: var(--font-display-tracking);
  line-height: 0.95; font-size: clamp(36px, 5.2vw, 78px);
}
.gs-manifest .quote em {
  font-family: 'Montserrat', Georgia, serif; font-style: italic;
  color: var(--brand-yellow); font-weight: 400;
}
.gs-manifest .quote .underline {
  background: linear-gradient(transparent 70%, var(--brand-yellow) 70%);
  background-size: 100% 100%; padding: 0 4px; color: var(--bg-deep);
}
.gs-manifest .body p { color: var(--ink-2); font-size: 17px; line-height: 1.7; margin: 0 0 18px; }

/* ============================================================
   HOME — PRODUCTS GRID
   ============================================================ */
.products-grid {
  display: grid; grid-template-columns: 1fr; gap: 20px;
}
@media (min-width: 600px) { .products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .products-grid { grid-template-columns: repeat(4, 1fr); } }

/* ============================================================
   HOME — PACKS
   ============================================================ */
.packs { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 900px) { .packs { grid-template-columns: 1fr 1fr; } }
.pack-card {
  position: relative; border-radius: var(--r-xl);
  padding: 40px; overflow: hidden;
  min-height: 380px; display: flex; flex-direction: column; justify-content: space-between;
  border: 1px solid var(--hairline);
  transition: transform .3s;
}
.pack-card:hover { transform: translateY(-8px); }
.pack-card.crew   { background: linear-gradient(135deg, rgba(255,63,142,0.20) 0%, rgba(165,126,255,0.15) 100%), var(--bg-card); }
.pack-card.galaxy { background: linear-gradient(135deg, rgba(91,229,255,0.18) 0%, rgba(255,200,61,0.12) 100%), var(--bg-card); }
.pack-card .pack-illo {
  position: absolute; right: -40px; bottom: -40px;
  width: 55%; pointer-events: none; opacity: 0.95;
}
.pack-card h3 {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); letter-spacing: var(--font-display-tracking);
  font-size: clamp(32px, 4vw, 60px); line-height: 0.95; margin: 14px 0 18px;
}
.pack-card p { color: var(--ink-2); max-width: 32ch; }
.pack-card .pack-row { display: flex; align-items: center; gap: 18px; margin-top: auto; position: relative; z-index: 2; flex-wrap: wrap; }
.pack-card .pack-price {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: 36px;
  color: var(--brand-yellow); letter-spacing: var(--font-display-tracking);
}
.pack-card .pack-price small { font-size: 14px; color: var(--ink-soft); font-weight: 500; font-family: var(--font-body); font-style: normal; }

/* ============================================================
   HOME — STEPS / HOW IT WORKS
   ============================================================ */
.steps { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 900px) { .steps { grid-template-columns: repeat(3, 1fr); } }
.step {
  position: relative; padding: 36px 28px;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--hairline); border-radius: var(--r-lg); overflow: hidden;
}
.step .num {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: 120px; line-height: 1;
  color: transparent; -webkit-text-stroke: 1.5px var(--brand-yellow);
  letter-spacing: -0.05em; margin-bottom: -20px;
}
.step h3, .step h4 {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: 28px;
  margin: 0 0 12px; letter-spacing: var(--font-display-tracking);
}
.step p { color: var(--ink-soft); margin: 0; line-height: 1.6; }
.step .icon { position: absolute; top: 28px; right: 28px; width: 48px; height: 48px; opacity: 0.7; }

/* ============================================================
   HOME — QUOTES / TESTIMONIALE
   ============================================================ */
.quotes-row { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 900px) { .quotes-row { grid-template-columns: repeat(3, 1fr); } }
.qcard {
  padding: 32px; border-radius: var(--r-lg);
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--hairline); position: relative;
}
.qcard .mark {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: 64px; line-height: 0.6;
  color: var(--brand-yellow); margin-bottom: 14px;
}
.qcard q { display: block; font-size: 18px; line-height: 1.5; quotes: none; }
.qcard q::before, .qcard q::after { content: none; }
.qcard .who {
  margin-top: 22px; font-family: var(--font-mono); font-size: 12px;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft);
}
.qcard .who strong { color: var(--brand-yellow); font-weight: 700; }

/* ============================================================
   HOME — FAQ
   ============================================================ */
.faq { max-width: 920px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--hairline); padding: 22px 0; }
.faq-item summary {
  list-style: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style);
  font-size: clamp(20px, 2.4vw, 32px);
  letter-spacing: var(--font-display-tracking); line-height: 1.1;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+"; color: var(--brand-yellow);
  font-size: 32px; line-height: 1; transition: transform .3s; flex-shrink: 0;
}
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item .ans {
  padding: 18px 0 0; color: var(--ink-2);
  font-size: 17px; line-height: 1.7; max-width: 72ch;
}

/* ============================================================
   HOME — FINAL CTA
   ============================================================ */
.final-cta {
  text-align: center;
  padding: clamp(80px, 12vw, 180px) var(--gutter);
  position: relative;
}
.final-cta h2 {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style);
  font-size: clamp(56px, 10vw, 168px); line-height: 0.88;
  letter-spacing: var(--font-display-tracking); margin: 0 0 36px;
}
.final-cta h2 em { font-family: 'Montserrat', Georgia, serif; font-style: italic; color: var(--brand-yellow); font-weight: 400; }

/* ============================================================
   SHOP / ARCHIVE
   ============================================================ */
.gs-shop-hero {
  padding: 60px var(--gutter) 40px;
  display: grid; grid-template-columns: 1fr;
  gap: 40px; align-items: center; position: relative;
}
@media (min-width: 980px) { .gs-shop-hero { grid-template-columns: 1.2fr 1fr; } }
.gs-shop-hero h1 {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); letter-spacing: var(--font-display-tracking);
  line-height: 0.88; font-size: clamp(48px, 9vw, 140px);
  margin: 16px 0 24px;
}
.gs-shop-hero h1 em { font-family: 'Montserrat', Georgia, serif; font-style: italic; font-weight: 400; color: var(--brand-yellow); }

/* Galaxy map */
.galaxy-map {
  aspect-ratio: 1/1; width: 100%; max-width: 540px;
  margin: 0 auto; position: relative;
}
.galaxy-map .center-star {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 80px; height: 80px; border-radius: 50%;
  background: radial-gradient(circle, #FFE17A 0%, #FFC83D 50%, transparent 70%);
  filter: blur(4px); animation: pulse 3s ease-in-out infinite;
}
.galaxy-map .label {
  position: absolute; font-family: var(--font-mono);
  font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-soft); white-space: nowrap;
}
.gm-orbit {
  position: absolute; inset: 0; border-radius: 50%;
  border: 1px dashed rgba(255,200,61,0.16);
  animation: spin 90s linear infinite;
}
.gm-orbit.r2 { inset: 12%; border-color: rgba(255,63,142,0.18); animation-duration: 60s; animation-direction: reverse; }
.gm-orbit.r3 { inset: 26%; border-color: rgba(91,229,255,0.16); animation-duration: 45s; }
.gm-orbit.r4 { inset: 38%; border-color: rgba(157,255,110,0.14); animation-duration: 36s; animation-direction: reverse; }
.gm-item { position: absolute; transform: translate(-50%, -50%); }

/* Filter bar */
.filter-bar {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 14px; background: rgba(255,255,255,0.04);
  border: 1px solid var(--hairline); border-radius: var(--r-pill);
  margin-bottom: 32px; align-items: center; justify-content: space-between;
}
.filter-bar .chips { display: flex; gap: 6px; flex-wrap: wrap; }
.filter-bar .chip {
  padding: 10px 18px; border-radius: var(--r-pill);
  font-size: 14px; font-weight: 500; color: var(--ink-2);
  transition: background .2s, color .2s; cursor: pointer;
}
.filter-bar .chip:hover { background: rgba(255,255,255,0.06); }
.filter-bar .chip.active { background: var(--brand-yellow); color: var(--bg-deep); font-weight: 700; }

/* Shop grid — vezi woocommerce.css pentru reguli canonice (mobile/tablet/desktop) */

.shop-card {
  position: relative; background: var(--bg-card);
  border: 1px solid var(--hairline); border-radius: var(--r-lg);
  overflow: hidden; transition: transform .3s, border-color .3s;
  isolation: isolate; display: block;
}
.shop-card:hover { transform: translateY(-6px); border-color: var(--hairline-strong); }
.shop-card .img-area {
  aspect-ratio: 4/5; position: relative;
  overflow: hidden; display: grid; place-items: center;
}
.shop-card.flavor-pink .img-area    { background: radial-gradient(ellipse at center, rgba(255,63,142,0.35), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }
.shop-card.flavor-green .img-area   { background: radial-gradient(ellipse at center, rgba(157,255,110,0.25), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }
.shop-card.flavor-magenta .img-area { background: radial-gradient(ellipse at center, rgba(255,63,142,0.30), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }
.shop-card.flavor-orange .img-area  { background: radial-gradient(ellipse at center, rgba(255,138,61,0.35), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }
.shop-card.pack-crew .img-area      { background: radial-gradient(ellipse at center, rgba(165,126,255,0.28), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }
.shop-card.pack-galaxy .img-area    { background: radial-gradient(ellipse at center, rgba(91,229,255,0.26), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }
.shop-card .img-area img {
  width: 70%; height: 70%; object-fit: contain;
  filter: drop-shadow(0 30px 40px rgba(0,0,0,0.5));
  transition: transform .4s cubic-bezier(.2,.8,.2,1);
}
.shop-card:hover .img-area img { transform: scale(1.06) rotate(-2deg); }
.shop-card .img-area .floating-planet {
  position: absolute; border-radius: 50%;
  pointer-events: none; animation: float-slow 4s ease-in-out infinite;
}
.shop-card .meta { padding: 22px 24px 24px; }
.shop-card .badges {
  display: flex; gap: 6px; flex-wrap: wrap;
  position: absolute; top: 16px; left: 16px; z-index: 2;
}
.shop-card .planet-name {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--brand-yellow); margin-bottom: 4px;
}
.shop-card .title {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style);
  font-size: clamp(22px, 2.2vw, 32px);
  letter-spacing: var(--font-display-tracking); line-height: 0.95; margin-bottom: 8px;
}
.shop-card .desc { color: var(--ink-soft); font-size: 14px; }
.shop-card .footer {
  margin-top: 18px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px;
}
.shop-card .price {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: 30px;
  color: var(--brand-yellow); letter-spacing: var(--font-display-tracking);
}
.shop-card .price small { font-size: 13px; color: var(--ink-soft); font-weight: 500; font-family: var(--font-body); font-style: normal; margin-left: 4px; }
.shop-card .add-btn {
  padding: 12px 18px; border-radius: var(--r-pill);
  background: var(--brand-yellow); color: var(--bg-deep);
  font-weight: 700; font-size: 14px;
  display: inline-flex; align-items: center; gap: 6px;
  transition: transform .2s; cursor: pointer;
}
.shop-card .add-btn:hover { transform: scale(1.05); }
/* featured: 1 coloana pe mobile, 2 coloane de la 641px */
.shop-card.featured { grid-column: span 1; }
@media (min-width: 641px) { .shop-card.featured { grid-column: span 1; } }
.shop-card.featured .img-area { aspect-ratio: 16/9; }
.shop-card.featured .img-area img { width: 50%; height: 80%; }
.shop-card.featured .meta { padding: 28px 32px 32px; }
.shop-card.featured .title { font-size: clamp(28px, 3.4vw, 48px); }

/* Compare strip */
.compare-strip {
  margin-top: 80px; padding: 40px; border-radius: var(--r-xl);
  background: linear-gradient(135deg, rgba(255,200,61,0.10), rgba(255,63,142,0.08));
  border: 1px solid var(--hairline);
  display: grid; grid-template-columns: 1fr; gap: 32px; align-items: center;
}
@media (min-width: 800px) { .compare-strip { grid-template-columns: 1fr 1fr; padding: 40px; } }
.compare-strip h3 {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: clamp(28px, 3vw, 42px);
  line-height: 0.95; letter-spacing: var(--font-display-tracking); margin: 0 0 12px;
}

/* ============================================================
   SINGLE PRODUCT — CREW PACK / PRODUCT HERO
   ============================================================ */
.product-hero {
  padding: 40px var(--gutter);
  display: grid; grid-template-columns: 1fr;
  gap: 60px; align-items: center;
  min-height: 80vh; position: relative;
}
@media (min-width: 980px) { .product-hero { grid-template-columns: 1fr 1fr; } }

/* Viewer container */
.viewer {
  position: relative; aspect-ratio: 1/1;
  width: 100%; max-width: 620px; margin: 0 auto;
}
.viewer-stage {
  position: relative; aspect-ratio: 1/1;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,200,61,0.20), transparent 55%),
    radial-gradient(circle at 80% 80%, rgba(255,63,142,0.18), transparent 60%),
    linear-gradient(180deg, var(--bg-mid) 0%, var(--bg-soft) 100%);
  border: 1px solid var(--hairline);
  border-radius: var(--r-xl); overflow: hidden;
}
.viewer-stage::before {
  content: ""; position: absolute; inset: 0;
  background-image:
    radial-gradient(1.5px 1.5px at 18% 22%, #fff, transparent),
    radial-gradient(1px 1px at 60% 70%, #fff, transparent),
    radial-gradient(2px 2px at 84% 28%, #FFC83D, transparent),
    radial-gradient(1px 1px at 28% 80%, #FF3F8E, transparent);
  background-size: 500px 500px; opacity: 0.6; pointer-events: none;
}
.viewer-orbit-ring {
  position: absolute; top: 50%; left: 50%;
  width: 80%; aspect-ratio: 1/1;
  transform: translate(-50%, -50%) rotateX(72deg);
  border: 1px dashed rgba(255,200,61,0.25); border-radius: 50%;
  animation: spin 40s linear infinite; pointer-events: none;
}
.viewer-orbit-ring.r2 {
  width: 95%; border-color: rgba(255,63,142,0.18);
  animation-duration: 60s; animation-direction: reverse;
}
.viewer-scene {
  position: absolute; inset: 0;
  display: grid; place-items: center;
}
.viewer-pouch {
  width: 56%; animation: showroom 6s ease-in-out infinite;
  filter: drop-shadow(0 40px 50px rgba(0,0,0,0.6));
  transition: opacity .35s, transform .35s;
  position: relative; z-index: 2;
}
@keyframes showroom {
  0%, 100% { transform: rotateY(-12deg) rotateX(2deg); }
  50% { transform: rotateY(12deg) rotateX(-2deg); }
}
.viewer-shadow {
  position: absolute; bottom: 12%; left: 50%;
  transform: translateX(-50%);
  width: 40%; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5), transparent 70%);
  filter: blur(8px); z-index: 1;
}
.v-rotate {
  position: absolute; top: 18px; right: 18px;
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(0,0,0,0.45); backdrop-filter: blur(8px);
  border: 1px solid var(--hairline);
  display: grid; place-items: center;
  color: var(--brand-yellow); cursor: pointer;
  transition: background .2s, transform .2s; z-index: 5;
}
.v-rotate:hover { background: rgba(255,200,61,0.2); transform: scale(1.08); }
.v-counter {
  position: absolute; top: 18px; left: 18px;
  padding: 6px 12px; border-radius: var(--r-pill);
  background: rgba(0,0,0,0.45); backdrop-filter: blur(8px);
  border: 1px solid var(--hairline);
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-soft); z-index: 5;
}
.v-counter .live::before {
  content: ""; display: inline-block;
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--alien); margin-right: 6px;
  box-shadow: 0 0 6px var(--alien); animation: pulse 1.6s infinite;
}
.v-progress {
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 3px; background: rgba(255,255,255,0.06); z-index: 4;
}
.v-progress span {
  display: block; height: 100%;
  background: linear-gradient(90deg, var(--brand-yellow), var(--magenta));
  width: 0%; transition: width .3s ease-out;
}

/* Flavor pills */
.flavor-pills {
  margin-top: 24px; display: flex; gap: 10px;
  justify-content: center; flex-wrap: wrap;
}
.flavor-pills .pp {
  padding: 13px 22px; border-radius: var(--r-pill);
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--hairline);
  font-weight: 600; color: var(--ink-2); font-size: 14px;
  display: inline-flex; align-items: center; gap: 8px;
  transition: background .25s, color .25s, border-color .25s, transform .15s; cursor: pointer;
}
.flavor-pills .pp:hover { transform: translateY(-2px); border-color: var(--hairline-strong); }
.flavor-pills .pp .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c, var(--brand-yellow)); }
.flavor-pills .pp.active {
  background: var(--brand-yellow); color: var(--bg-deep);
  border-color: var(--brand-yellow); font-weight: 700;
  box-shadow: var(--glow-yellow);
}
.flavor-pills .pp.active .dot { background: var(--bg-deep); }
.flavor-info {
  margin-top: 18px; text-align: center;
  font-family: var(--font-mono); font-size: 12px;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-soft); min-height: 18px;
}
.flavor-info strong { color: var(--brand-yellow); margin-right: 6px; }

/* Product info right */
.p-info { position: relative; z-index: 2; }
.p-info h1 {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style);
  font-size: clamp(48px, 7vw, 110px); line-height: 0.86;
  letter-spacing: var(--font-display-tracking); margin: 16px 0 18px;
}
.p-info h1 em { font-family: 'Montserrat', Georgia, serif; font-style: italic; font-weight: 400; color: var(--brand-yellow); }
.p-info .lead { font-size: clamp(17px, 1.4vw, 21px); color: var(--ink-2); max-width: 50ch; line-height: 1.55; }
.p-info .price-row {
  margin: 32px 0 24px;
  display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap;
}
.p-info .price {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style);
  font-size: clamp(48px, 6vw, 80px);
  color: var(--brand-yellow); letter-spacing: var(--font-display-tracking); line-height: 1;
}
.p-info .price small { font-family: var(--font-body); font-style: normal; font-weight: 500; color: var(--ink-soft); font-size: 16px; margin-left: 4px; }
.p-info .old-price { color: var(--ink-mute); text-decoration: line-through; font-size: 20px; }
.p-info .save-tag {
  background: var(--alien); color: var(--bg-deep);
  padding: 4px 10px; border-radius: var(--r-pill);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase; font-weight: 700;
}

/* QTY + ADD TO CART */
.qty-row { display: flex; gap: 12px; align-items: stretch; margin-bottom: 16px; flex-wrap: wrap; }
.qty-stepper {
  display: flex; align-items: center;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--hairline); border-radius: var(--r-pill); overflow: hidden;
}
.qty-stepper button {
  width: 48px; height: 56px; display: grid; place-items: center;
  color: var(--brand-yellow); font-size: 20px; font-weight: 700;
  transition: background .15s; cursor: pointer;
}
.qty-stepper button:hover { background: rgba(255,200,61,0.10); }
.qty-stepper .val {
  min-width: 48px; text-align: center;
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: 24px;
}
.add-cart {
  flex: 1; min-width: 220px;
  padding: 16px 32px; background: var(--brand-yellow);
  color: var(--bg-deep); border-radius: var(--r-pill);
  font-weight: 700; font-size: 16px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  transition: transform .2s, box-shadow .2s; border: none;
}
.add-cart:hover { transform: translateY(-2px); box-shadow: var(--glow-yellow); }

/* WooCommerce ATC override */
.woocommerce-form-cart .qty { display: none !important; }
.single_add_to_cart_button.button {
  width: 100%; padding: 16px 32px;
  background: var(--brand-yellow); color: var(--bg-deep);
  border-radius: var(--r-pill); border: none;
  font-family: var(--font-body); font-weight: 700; font-size: 16px;
  cursor: pointer; transition: transform .2s, box-shadow .2s;
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none;
}
.single_add_to_cart_button.button:hover { transform: translateY(-2px); box-shadow: var(--glow-yellow); }

/* Meta list */
.meta-list { display: grid; gap: 12px; margin-top: 28px; padding: 18px 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.meta-list li { list-style: none; display: flex; align-items: center; gap: 12px; color: var(--ink-2); font-size: 14px; }
.meta-list svg { width: 18px; height: 18px; color: var(--brand-yellow); flex-shrink: 0; }

/* Share row */
.share { display: flex; gap: 8px; margin-top: 18px; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); align-items: center; flex-wrap: wrap; }
.share .ic { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,0.05); border: 1px solid var(--hairline); transition: background .2s; }
.share .ic:hover { background: rgba(255,200,61,0.15); }

/* Inside (flavor cards) */
.inside { padding: clamp(80px, 10vw, 140px) var(--gutter); }
.inside-grid {
  display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 48px;
}
@media (min-width: 640px) { .inside-grid { grid-template-columns: repeat(2, 1fr); } }
/* 2 coloane pe desktop — cards mai late, fotografii mai mari (prezentare) */
.flavor-card {
  padding: 28px; background: var(--bg-card);
  border: 1px solid var(--hairline); border-radius: var(--r-lg);
  text-align: center; transition: transform .3s, border-color .3s;
  position: relative; overflow: hidden;
}
.flavor-card:hover { transform: translateY(-6px); }
.flavor-card::before {
  content: ""; position: absolute;
  top: -50%; left: -50%; width: 200%; height: 200%;
  background: radial-gradient(circle at center, var(--c, rgba(255,200,61,0.3)), transparent 50%);
  opacity: 0; transition: opacity .4s;
}
.flavor-card:hover::before { opacity: 0.6; }
.flavor-card > * { position: relative; z-index: 1; }
.flavor-card .planet-vis { margin: 0 auto 18px; display: grid; place-items: center; height: 140px; }
.flavor-card .planet-vis img { max-height: 140px; filter: drop-shadow(0 16px 24px rgba(0,0,0,0.5)); }
.flavor-card .planet-vis .casca {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: 50px; line-height: 0.95;
  color: var(--brand-orange); text-align: center; letter-spacing: -0.04em;
}
.flavor-card h4 {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: 24px;
  letter-spacing: var(--font-display-tracking); margin: 0 0 6px; line-height: 1;
}
.flavor-card .sub { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 10px; }
.flavor-card p { color: var(--ink-2); font-size: 14px; margin: 0; line-height: 1.5; }

/* Readout (nutritie) */
.readout {
  background: var(--bg-mid); border: 1px solid var(--hairline);
  border-radius: var(--r-xl); padding: 48px; position: relative; overflow: hidden;
}
.readout::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 90% 10%, rgba(255,200,61,0.15), transparent 50%);
  pointer-events: none;
}
.readout-grid { display: grid; grid-template-columns: 1fr; gap: 40px; position: relative; z-index: 1; }
@media (min-width: 900px) { .readout-grid { grid-template-columns: 1fr 1.4fr; } }
.readout h3 {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: clamp(32px, 4vw, 56px);
  letter-spacing: var(--font-display-tracking); line-height: 0.95; margin: 14px 0 18px;
}
.nutr-table { display: grid; gap: 0; }
.nutr-row { display: grid; grid-template-columns: 1fr auto auto; gap: 16px; padding: 12px 0; border-bottom: 1px dashed var(--hairline); font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.08em; align-items: center; }
.nutr-row.head { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-mute); }
.nutr-row .val { color: var(--brand-yellow); font-weight: 700; font-size: 16px; }
.nutr-row .pct { color: var(--ink-soft); }

/* Process */
.process { padding: clamp(80px, 10vw, 140px) var(--gutter); text-align: center; position: relative; }
.process-line {
  margin-top: 64px; display: grid; grid-template-columns: 1fr;
  gap: 32px; position: relative; max-width: 1100px; margin-left: auto; margin-right: auto;
}
@media (min-width: 900px) {
  .process-line { grid-template-columns: repeat(4, 1fr); gap: 12px; }
  .process-line::before {
    content: ""; position: absolute;
    top: 36px; left: 8%; right: 8%; height: 2px;
    background: linear-gradient(90deg, transparent, var(--brand-yellow), var(--magenta), var(--plasma), transparent);
    z-index: 0;
  }
}
.ps { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; padding: 0 8px; }
.ps .dot {
  width: 72px; height: 72px; display: grid; place-items: center;
  border-radius: 50%; background: var(--bg-mid); border: 2px solid var(--brand-yellow);
  margin-bottom: 18px; font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: 28px; color: var(--brand-yellow);
}
.ps h5 { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 20px; letter-spacing: var(--font-display-tracking); margin: 0 0 8px; }
.ps p { font-size: 13px; color: var(--ink-soft); margin: 0; line-height: 1.5; }

/* Reviews */
.rev-summary { display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: center; padding: 32px; background: rgba(255,255,255,0.04); border: 1px solid var(--hairline); border-radius: var(--r-lg); margin-bottom: 32px; }
@media (max-width: 700px) { .rev-summary { grid-template-columns: 1fr; } }
.rev-summary .big-rating { text-align: center; }
.rev-summary .big-rating .num { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 80px; line-height: 0.9; color: var(--brand-yellow); letter-spacing: var(--font-display-tracking); }
.rev-summary .stars { color: var(--brand-yellow); font-size: 22px; margin: 8px 0; }
.rev-summary .count { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); }
.rev-bars { display: grid; gap: 8px; }
.rev-bar { display: grid; grid-template-columns: 40px 1fr 40px; gap: 12px; align-items: center; font-family: var(--font-mono); font-size: 12px; color: var(--ink-soft); }
.rev-bar .bar { height: 8px; background: rgba(255,255,255,0.06); border-radius: 4px; overflow: hidden; }
.rev-bar .bar span { display: block; height: 100%; background: var(--brand-yellow); border-radius: 4px; }
.rev-list { display: grid; gap: 18px; }
.rev-item { padding: 24px; background: rgba(255,255,255,0.03); border: 1px solid var(--hairline); border-radius: var(--r-lg); }
.rev-item .hdr { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 12px; flex-wrap: wrap; }
.rev-item .author { font-weight: 700; color: var(--brand-yellow); font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; }
.rev-item .stars { color: var(--brand-yellow); }
.rev-item p { margin: 0; color: var(--ink-2); }

/* Sticky mobile CTA (single product) — preț + qty rotund + adaugă în coș */
.sticky-mobile-cta {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 80;
  background: rgba(8,4,28,0.97); backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  padding: 14px 14px calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--hairline);
  gap: 12px; align-items: center;
  box-shadow: 0 -10px 28px rgba(0,0,0,0.45);
}
@media (max-width: 980px) { .sticky-mobile-cta { display: flex; } }

/* Preț sticky — mai vizibil */
.sticky-mobile-cta .smc-price {
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(20px, 5.5vw, 26px);
  color: var(--brand-yellow); letter-spacing: -0.02em;
  flex-shrink: 0; line-height: 1; white-space: nowrap;
}
.sticky-mobile-cta .smc-price .woocommerce-Price-amount { white-space: nowrap; }
.sticky-mobile-cta .smc-price del { display: none; }
.sticky-mobile-cta .smc-price ins { background: transparent; text-decoration: none; }

/* Quantity rotund — design pill cu butoane circulare MAI MARI */
.sticky-mobile-cta .smc-qty {
  display: inline-flex; align-items: center; gap: 0;
  background: rgba(255,255,255,0.06);
  border: 1.5px solid var(--hairline-strong);
  border-radius: var(--r-pill);
  padding: 4px;
  flex-shrink: 0;
}
.sticky-mobile-cta .smc-qty-btn {
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: transparent;
  color: var(--brand-yellow);
  border: 0;
  cursor: pointer;
  transition: background .15s, transform .1s;
  -webkit-tap-highlight-color: transparent;
}
.sticky-mobile-cta .smc-qty-btn:active {
  background: rgba(255,200,61,0.18);
  transform: scale(0.92);
}
.sticky-mobile-cta .smc-qty-btn svg { width: 20px; height: 20px; }
.sticky-mobile-cta .smc-qty-input {
  width: 38px; min-height: 0;
  border: 0; background: transparent;
  color: var(--ink); text-align: center;
  font-family: var(--font-display); font-weight: 700; font-size: 20px;
  padding: 0; -moz-appearance: textfield;
}
.sticky-mobile-cta .smc-qty-input::-webkit-outer-spin-button,
.sticky-mobile-cta .smc-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none; margin: 0;
}

/* Buton Adaugă în coș — mai mare, mai vizibil */
.sticky-mobile-cta .smc-add {
  flex: 1; min-width: 0;
  min-height: 56px;
  padding: 0 18px;
  display: inline-flex; align-items: center; justify-content: center;
  gap: 10px;
  background: linear-gradient(135deg, #FFE17A 0%, #FFC83D 60%, #FFB020 100%);
  color: var(--bg-deep);
  border: 0; border-radius: var(--r-pill);
  font-family: var(--font-display); font-weight: 800;
  font-size: 16px; letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: 0 8px 22px -4px rgba(255,200,61,0.55);
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
}
.sticky-mobile-cta .smc-add:active { transform: scale(0.97); }
.sticky-mobile-cta .smc-add svg { flex-shrink: 0; width: 20px; height: 20px; }

/* Ecran mediu mobile (≤480px) — micșorăm proporțional */
@media (max-width: 480px) {
  .sticky-mobile-cta { gap: 8px; padding: 12px 10px calc(12px + env(safe-area-inset-bottom)); }
  .sticky-mobile-cta .smc-price { font-size: 17px; }
  .sticky-mobile-cta .smc-qty-btn { width: 38px; height: 38px; }
  .sticky-mobile-cta .smc-qty-btn svg { width: 16px; height: 16px; }
  .sticky-mobile-cta .smc-qty-input { width: 30px; font-size: 17px; }
  .sticky-mobile-cta .smc-qty { padding: 3px; }
  .sticky-mobile-cta .smc-add { font-size: 14px; padding: 0 14px; gap: 6px; min-height: 50px; }
  .sticky-mobile-cta .smc-add svg { width: 18px; height: 18px; }
}

/* Ecran mic (≤400px) — ascundem textul, lăsăm doar icoana coș */
@media (max-width: 400px) {
  .sticky-mobile-cta .smc-add span { display: none; }
  .sticky-mobile-cta .smc-add {
    flex: 0 0 56px;
    min-width: 56px;
    padding: 0;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
  }
  .sticky-mobile-cta .smc-add svg { width: 22px; height: 22px; }
}

/* ============================================================
   CART
   ============================================================ */
.gs-cart-wrap { padding: 40px var(--gutter) 100px; }
.gs-cart-header { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--hairline); }
.gs-cart-header h1 { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: clamp(48px, 8vw, 120px); line-height: 0.86; letter-spacing: var(--font-display-tracking); margin: 16px 0 0; }
.gs-cart-header h1 em { font-family: 'Montserrat', Georgia, serif; font-style: italic; font-weight: 400; color: var(--brand-yellow); }
.gs-cart-grid { display: grid; grid-template-columns: 1fr; gap: 32px; margin-top: 40px; }
@media (min-width: 980px) { .gs-cart-grid { grid-template-columns: 1.5fr 1fr; } }

.cart-item { display: grid; grid-template-columns: 100px 1fr auto; gap: 20px; padding: 20px; background: var(--bg-card); border: 1px solid var(--hairline); border-radius: var(--r-lg); align-items: center; transition: border-color .2s; }
.cart-item:hover { border-color: var(--hairline-strong); }
.cart-item .thumb { width: 100px; height: 100px; border-radius: var(--r-md); background: linear-gradient(135deg, var(--bg-mid), var(--bg-soft)); display: grid; place-items: center; position: relative; overflow: hidden; border: 1px solid var(--hairline); }
.cart-item .thumb img { width: 70%; height: 70%; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(0,0,0,0.4)); }
.cart-item .info .planet { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--brand-yellow); margin-bottom: 4px; }
.cart-item .info .name { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 22px; letter-spacing: var(--font-display-tracking); line-height: 1; margin-bottom: 4px; }
.cart-item .info .vari { color: var(--ink-soft); font-size: 13px; }
.cart-item .controls { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: flex-end; }
.cart-item .qty-wrap { display: flex; align-items: center; background: rgba(255,255,255,0.05); border: 1px solid var(--hairline); border-radius: var(--r-pill); overflow: hidden; }
.cart-item .qty-wrap .minus, .cart-item .qty-wrap .plus { width: 44px; height: 44px; display: grid; place-items: center; color: var(--brand-yellow); font-size: 16px; font-weight: 700; cursor: pointer; }
.cart-item .qty-wrap .minus:hover, .cart-item .qty-wrap .plus:hover { background: rgba(255,200,61,0.10); }
.cart-item .qty-wrap input { min-width: 32px; width: 40px; text-align: center; background: transparent; border: 0; color: var(--ink); font-family: var(--font-display); font-weight: var(--font-display-weight); font-size: 18px; outline: none; }
.cart-item .price-col { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 24px; color: var(--brand-yellow); letter-spacing: var(--font-display-tracking); min-width: 80px; text-align: right; }
.cart-item .remove { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,63,142,0.10); color: var(--magenta); transition: background .2s; text-decoration: none; }
.cart-item .remove:hover { background: rgba(255,63,142,0.20); }
@media (max-width: 700px) { .cart-item { grid-template-columns: 80px 1fr; gap: 16px; } .cart-item .controls { grid-column: 1 / -1; justify-content: space-between; } .cart-item .thumb { width: 80px; height: 80px; } }

.cart-promo { margin-top: 20px; padding: 18px 22px; background: rgba(157,255,110,0.05); border: 1px dashed rgba(157,255,110,0.4); border-radius: var(--r-lg); display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.cart-promo input { flex: 1; min-width: 160px; padding: 10px 16px; background: rgba(0,0,0,0.3); border: 1px solid var(--hairline); border-radius: var(--r-pill); color: var(--ink); font: inherit; outline: none; }
.cart-promo input:focus { border-color: var(--alien); }
.cart-promo button { padding: 12px 22px; background: var(--alien); color: var(--bg-deep); border-radius: var(--r-pill); font-weight: 700; font-size: 14px; cursor: pointer; }

/* Cart summary */
.cart-summary { position: sticky; top: 100px; padding: 32px; background: var(--bg-card); border: 1px solid var(--hairline); border-radius: var(--r-xl); overflow: hidden; }
.cart-summary::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 100% 0%, rgba(255,200,61,0.18), transparent 50%); pointer-events: none; }
.cart-summary > * { position: relative; z-index: 1; }
.cart-summary h3 { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 28px; letter-spacing: var(--font-display-tracking); margin: 0 0 24px; }
.sum-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px dashed var(--hairline); font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.04em; }
.sum-row .lbl { color: var(--ink-soft); }
.sum-row .val { color: var(--ink); font-weight: 600; }
.sum-row.discount .val { color: var(--alien); }
.sum-row.total { padding: 18px 0 8px; margin-top: 4px; border-top: 1px solid var(--brand-yellow); border-bottom: 0; font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 22px; letter-spacing: var(--font-display-tracking); }
.sum-row.total .val { color: var(--brand-yellow); font-size: 38px; line-height: 1; }
.sum-row.total .lbl { color: var(--ink); font-size: 18px; align-self: end; }
.checkout-btn { margin-top: 24px; width: 100%; padding: 20px; background: var(--brand-yellow); color: var(--bg-deep); border-radius: var(--r-pill); font-weight: 700; font-size: 17px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; transition: transform .2s, box-shadow .2s; cursor: pointer; text-decoration: none; border: none; }
.checkout-btn:hover { transform: translateY(-2px); box-shadow: var(--glow-yellow); }
.ship-progress { margin-top: 20px; padding: 14px 16px; background: rgba(157,255,110,0.06); border: 1px solid rgba(157,255,110,0.25); border-radius: var(--r-md); font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; }
.ship-progress .top { display: flex; justify-content: space-between; color: var(--alien); margin-bottom: 8px; }
.ship-progress .bar { height: 6px; background: rgba(0,0,0,0.3); border-radius: 3px; overflow: hidden; }
.ship-progress .bar span { display: block; height: 100%; background: var(--alien); border-radius: 3px; transition: width .4s; }
.trust-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 24px; }
.trust-row .t { flex: 1; min-width: 100px; padding: 12px; background: rgba(0,0,0,0.2); border: 1px solid var(--hairline); border-radius: var(--r-md); text-align: center; }
.trust-row .t svg { color: var(--brand-yellow); margin-bottom: 6px; }
.trust-row .t .lbl { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); }

/* ============================================================
   CHECKOUT
   ============================================================ */
.gs-co-wrap { padding: 40px var(--gutter) 100px; }
.gs-co-header h1 { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: clamp(40px, 7vw, 96px); line-height: 0.88; letter-spacing: var(--font-display-tracking); margin: 16px 0 0; }
.gs-co-header h1 em { font-family: 'Montserrat', Georgia, serif; font-style: italic; font-weight: 400; color: var(--brand-yellow); }
.stepper { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 32px 0 48px; position: relative; }
.stepper::before { content: ""; position: absolute; top: 24px; left: 16%; right: 16%; height: 2px; background: linear-gradient(90deg, var(--brand-yellow), var(--magenta), var(--plasma)); opacity: 0.3; z-index: 0; }
.sstep { position: relative; z-index: 1; text-align: center; }
.sstep .dot { width: 48px; height: 48px; margin: 0 auto 12px; display: grid; place-items: center; border-radius: 50%; background: var(--bg-card); border: 2px solid var(--hairline); font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 18px; color: var(--ink-soft); transition: all .3s; }
.sstep.active .dot { background: var(--brand-yellow); color: var(--bg-deep); border-color: var(--brand-yellow); box-shadow: var(--glow-yellow); }
.sstep.done .dot { background: var(--alien); color: var(--bg-deep); border-color: var(--alien); }
.sstep .label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft); }
.sstep.active .label { color: var(--brand-yellow); }
.gs-co-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 980px) { .gs-co-grid { grid-template-columns: 1.6fr 1fr; } }
.co-panel { padding: 32px; background: var(--bg-card); border: 1px solid var(--hairline); border-radius: var(--r-xl); margin-bottom: 20px; position: relative; overflow: hidden; }
.co-panel-title { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.co-panel-title .n { width: 36px; height: 36px; background: var(--brand-yellow); color: var(--bg-deep); border-radius: 50%; display: grid; place-items: center; font-family: var(--font-display); font-weight: var(--font-display-weight); font-size: 16px; }
.co-panel-title h2 { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: clamp(24px, 3vw, 36px); letter-spacing: var(--font-display-tracking); margin: 0; line-height: 1; }
.co-panel-title h2 em { font-family: 'Montserrat', Georgia, serif; font-style: italic; font-weight: 400; color: var(--brand-yellow); }
.form-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px) { .form-grid { grid-template-columns: 1fr 1fr; } }
.form-grid .full { grid-column: 1 / -1; }
.opt-grid { display: grid; gap: 12px; }
.opt-row { display: flex; align-items: center; gap: 16px; padding: 18px 20px; background: rgba(255,255,255,0.03); border: 1px solid var(--hairline); border-radius: var(--r-md); cursor: pointer; transition: border-color .2s, background .2s; }
.opt-row:hover { border-color: var(--hairline-strong); }
.opt-row.sel { border-color: var(--brand-yellow); background: rgba(255,200,61,0.06); }
.opt-row .radio { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--ink-soft); flex-shrink: 0; position: relative; transition: border-color .2s; }
.opt-row.sel .radio { border-color: var(--brand-yellow); }
.opt-row.sel .radio::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--brand-yellow); }
.opt-row .body { flex: 1; }
.opt-row .ttl { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 18px; letter-spacing: var(--font-display-tracking); line-height: 1.1; }
.opt-row .sub { font-size: 13px; color: var(--ink-soft); margin-top: 4px; }
.opt-row .price-side { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 22px; color: var(--brand-yellow); letter-spacing: var(--font-display-tracking); }
.co-summary { position: sticky; top: 100px; padding: 32px; background: var(--bg-card); border: 1px solid var(--hairline); border-radius: var(--r-xl); overflow: hidden; }
.co-summary::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 100% 0%, rgba(255,200,61,0.15), transparent 50%); pointer-events: none; }
.co-summary > * { position: relative; z-index: 1; }
.co-summary h3 { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 24px; letter-spacing: var(--font-display-tracking); margin: 0 0 18px; }
.place-order { margin-top: 20px; width: 100%; padding: 20px; background: var(--brand-yellow); color: var(--bg-deep); border-radius: var(--r-pill); font-weight: 700; font-size: 16px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; transition: transform .2s, box-shadow .2s; border: none; cursor: pointer; }
.place-order:hover { transform: translateY(-2px); box-shadow: var(--glow-yellow); }

/* ============================================================
   MY ACCOUNT / ORDERS
   ============================================================ */
.gs-acc-wrap { padding: 40px var(--gutter) 100px; }
.gs-acc-hero { margin-bottom: 40px; padding: 40px; background: linear-gradient(135deg, rgba(255,200,61,0.10) 0%, rgba(255,63,142,0.06) 100%); border: 1px solid var(--hairline-strong); border-radius: var(--r-xl); display: grid; grid-template-columns: auto 1fr; gap: 32px; align-items: center; position: relative; overflow: hidden; }
@media (min-width: 800px) { .gs-acc-hero { grid-template-columns: auto 1fr auto; } }
.gs-acc-hero::before { content: ""; position: absolute; top: -50%; right: -10%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(255,200,61,0.18), transparent 70%); pointer-events: none; }
.acc-avatar { width: 100px; height: 100px; border-radius: 50%; background: linear-gradient(135deg, var(--brand-yellow), var(--magenta)); display: grid; place-items: center; font-family: var(--font-display); font-weight: var(--font-display-weight); font-size: 48px; color: var(--bg-deep); letter-spacing: -0.05em; position: relative; box-shadow: 0 0 60px rgba(255,200,61,0.4); }
@media (min-width: 980px) { .acc-avatar { width: 120px; height: 120px; font-size: 56px; } }
.gs-acc-hero .copy h1 { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: clamp(28px, 5vw, 64px); line-height: 0.9; letter-spacing: var(--font-display-tracking); margin: 8px 0; }
.gs-acc-hero .copy h1 em { font-family: 'Montserrat', Georgia, serif; font-style: italic; font-weight: 400; color: var(--brand-yellow); }
.gs-acc-hero .copy .meta { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.gs-acc-hero .copy .meta strong { color: var(--brand-yellow); }
.gs-acc-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 880px) { .gs-acc-grid { grid-template-columns: 240px 1fr; } }
.gs-side-nav { position: sticky; top: 100px; background: var(--bg-card); border: 1px solid var(--hairline); border-radius: var(--r-lg); padding: 14px; height: fit-content; }
.gs-side-nav a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--r-md); color: var(--ink-2); font-size: 14px; font-weight: 500; transition: background .2s; }
.gs-side-nav a:hover { background: rgba(255,255,255,0.05); }
.gs-side-nav a.active { background: var(--brand-yellow); color: var(--bg-deep); font-weight: 700; }
.gs-side-nav a svg { width: 18px; height: 18px; flex-shrink: 0; }
.gs-side-nav hr { border: 0; border-top: 1px solid var(--hairline); margin: 8px 0; }

/* Stat row */
.stat-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 24px; }
@media (min-width: 880px) { .stat-row { grid-template-columns: repeat(4, 1fr); } }
.st { padding: 24px; background: var(--bg-card); border: 1px solid var(--hairline); border-radius: var(--r-lg); position: relative; overflow: hidden; }
.st .ic { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,200,61,0.12); color: var(--brand-yellow); }
.st .num { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: clamp(28px, 4vw, 48px); color: var(--brand-yellow); letter-spacing: var(--font-display-tracking); line-height: 1; }
.st .lbl { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft); margin-top: 8px; }

/* Acc panels */
.gs-panel { padding: 32px; background: var(--bg-card); border: 1px solid var(--hairline); border-radius: var(--r-xl); margin-bottom: 20px; }
.gs-panel h3 { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: clamp(20px, 2.6vw, 32px); letter-spacing: var(--font-display-tracking); margin: 0 0 24px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.gs-panel h3 em { font-family: 'Montserrat', Georgia, serif; font-style: italic; font-weight: 400; color: var(--brand-yellow); }
.gs-panel h3 a { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--brand-yellow); font-style: normal; font-weight: 500; }

/* Recent order rows */
.rorder { display: grid; grid-template-columns: auto 1fr auto auto; gap: 18px; padding: 16px; border-radius: var(--r-md); background: rgba(255,255,255,0.03); margin-bottom: 10px; align-items: center; transition: background .2s; }
.rorder:hover { background: rgba(255,255,255,0.06); }
.rorder .icn { width: 44px; height: 44px; border-radius: 50%; background: rgba(255,200,61,0.15); color: var(--brand-yellow); display: grid; place-items: center; }
.rorder .info .id { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; color: var(--ink-soft); text-transform: uppercase; }
.rorder .info .nm { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 18px; letter-spacing: var(--font-display-tracking); line-height: 1; margin-top: 2px; }
.rorder .info .det { font-size: 12px; color: var(--ink-soft); margin-top: 2px; }
.rorder .rstat { padding: 6px 12px; border-radius: var(--r-pill); font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; }
.rstat.orbit   { background: rgba(91,229,255,0.15); color: var(--plasma); }
.rstat.landed  { background: rgba(157,255,110,0.15); color: var(--alien); }
.rstat.launch  { background: rgba(255,200,61,0.15); color: var(--brand-yellow); }
.rorder .total { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 20px; color: var(--brand-yellow); letter-spacing: var(--font-display-tracking); }
@media (max-width: 700px) { .rorder { grid-template-columns: auto 1fr; } .rorder .rstat, .rorder .total { grid-column: 2; justify-self: start; } }

/* Orders page */
.gs-ord-wrap { padding: 40px var(--gutter) 100px; }
.gs-ord-header { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 24px; margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid var(--hairline); }
.gs-ord-header h1 { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: clamp(48px, 8vw, 120px); line-height: 0.86; letter-spacing: var(--font-display-tracking); margin: 16px 0 0; }
.gs-ord-header h1 em { font-family: 'Montserrat', Georgia, serif; font-style: italic; font-weight: 400; color: var(--brand-yellow); }
.filter-tabs { display: flex; gap: 6px; background: rgba(255,255,255,0.04); border: 1px solid var(--hairline); border-radius: var(--r-pill); padding: 4px; }
.filter-tabs button { padding: 8px 16px; border-radius: var(--r-pill); font-size: 13px; font-weight: 500; color: var(--ink-soft); transition: background .2s, color .2s; cursor: pointer; }
.filter-tabs button.active { background: var(--brand-yellow); color: var(--bg-deep); font-weight: 700; }

/* Order cards */
.ord { background: var(--bg-card); border: 1px solid var(--hairline); border-radius: var(--r-xl); padding: 28px; margin-bottom: 20px; transition: border-color .2s; position: relative; overflow: hidden; }
.ord:hover { border-color: var(--hairline-strong); }
.ord-top { display: grid; grid-template-columns: 1fr auto; gap: 18px; padding-bottom: 20px; border-bottom: 1px dashed var(--hairline); margin-bottom: 20px; }
.ord-id { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-soft); }
.ord-id strong { color: var(--brand-yellow); }
.ord-title { font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: clamp(20px, 2.6vw, 32px); letter-spacing: var(--font-display-tracking); line-height: 1; margin: 6px 0; }
.ord-date { font-family: var(--font-mono); font-size: 12px; color: var(--ink-mute); letter-spacing: 0.08em; }
.ord-status { text-align: right; }
.ord-status .pill { padding: 6px 14px; border-radius: var(--r-pill); font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; display: inline-block; }
.pill.orbit   { background: rgba(91,229,255,0.15); color: var(--plasma); }
.pill.landed  { background: rgba(157,255,110,0.15); color: var(--alien); }
.pill.launch  { background: rgba(255,200,61,0.15); color: var(--brand-yellow); }
.pill.canceled { background: rgba(255,63,142,0.15); color: var(--magenta); }
.ord-status .total { margin-top: 8px; font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 28px; color: var(--brand-yellow); letter-spacing: var(--font-display-tracking); line-height: 1; }
.ord-items { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.ord-items .it { display: flex; align-items: center; gap: 10px; padding: 6px 14px 6px 6px; background: rgba(255,255,255,0.04); border: 1px solid var(--hairline); border-radius: var(--r-pill); }
.ord-items .it img { width: 32px; height: 32px; object-fit: contain; }
.ord-items .it .lbl { font-size: 12px; }
.ord-items .it .lbl strong { color: var(--brand-yellow); }
.ord-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.ord-btn { padding: 10px 18px; border-radius: var(--r-pill); font-size: 13px; font-weight: 600; background: rgba(255,255,255,0.05); border: 1px solid var(--hairline); color: var(--ink-2); transition: background .2s, color .2s; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.ord-btn:hover { background: rgba(255,200,61,0.1); color: var(--brand-yellow); border-color: var(--brand-yellow); }
.ord-btn.primary { background: var(--brand-yellow); color: var(--bg-deep); border-color: var(--brand-yellow); font-weight: 700; }
.ord-btn.primary:hover { transform: translateY(-2px); box-shadow: var(--glow-yellow); }
.ord-btn svg { width: 14px; height: 14px; }

/* ============================================================
   MY ACCOUNT — CLASS ALIASES (aliniere PHP ↔ CSS)
   ============================================================ */

/* .gs-avatar = .acc-avatar */
.gs-avatar {
  width: 100px; height: 100px; border-radius: 50%;
  background: linear-gradient(135deg, var(--brand-yellow), var(--magenta));
  display: grid; place-items: center;
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-size: 48px; color: var(--bg-deep);
  letter-spacing: -0.05em; position: relative;
  box-shadow: 0 0 60px rgba(255,200,61,0.4);
}
@media (min-width: 980px) { .gs-avatar { width: 120px; height: 120px; font-size: 56px; } }

/* .gs-acc-copy = .copy in .gs-acc-hero */
.gs-acc-copy h1 {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: clamp(28px, 5vw, 64px);
  line-height: 0.9; letter-spacing: var(--font-display-tracking); margin: 8px 0;
}
/* .gs-acc-meta = .meta in .gs-acc-hero */
.gs-acc-meta {
  font-family: var(--font-mono); font-size: 12px;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-soft); display: flex; gap: 16px; flex-wrap: wrap; align-items: center;
}
.gs-acc-meta strong { color: var(--brand-yellow); }

/* .gs-acc-badge = rank badge */
.gs-acc-badge {
  background: rgba(255,200,61,0.08); border: 1px solid rgba(255,200,61,0.25);
  border-radius: var(--r-lg); padding: 20px 24px; text-align: center;
  min-width: 160px;
}
.gs-rank-label {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--ink-soft); margin-bottom: 8px;
}
.gs-rank-name {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-size: 20px; letter-spacing: var(--font-display-tracking);
  color: var(--brand-yellow); margin-bottom: 12px;
}
.gs-rank-bar {
  height: 6px; background: rgba(255,255,255,0.08);
  border-radius: 3px; overflow: hidden; margin-bottom: 8px;
}
.gs-rank-bar span {
  display: block; height: 100%;
  background: linear-gradient(90deg, var(--brand-yellow), var(--magenta));
  border-radius: 3px;
}
.gs-rank-next {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-soft);
}

/* .side-nav = .gs-side-nav alias */
.side-nav {
  position: sticky; top: 100px; background: var(--bg-card);
  border: 1px solid var(--hairline); border-radius: var(--r-lg);
  padding: 14px; height: fit-content;
}
.side-nav a {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px; border-radius: var(--r-md);
  color: var(--ink-2); font-size: 14px; font-weight: 500; transition: background .2s;
}
.side-nav a:hover { background: rgba(255,255,255,0.05); }
.side-nav a.active { background: var(--brand-yellow); color: var(--bg-deep); font-weight: 700; }
.side-nav a svg { width: 18px; height: 18px; flex-shrink: 0; }
.side-nav hr { border: 0; border-top: 1px solid var(--hairline); margin: 8px 0; }

/* ============================================================
   WC — RESET DEFAULT STYLES
   ============================================================ */
.woocommerce-notices-wrapper { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: var(--bg-card); border: 1px solid var(--hairline);
  border-radius: var(--r-md); padding: 16px 20px;
  font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.08em;
  margin-bottom: 20px; color: var(--ink-2);
  display: flex; align-items: center; gap: 12px;
}
.woocommerce-message { border-left: 3px solid var(--alien); }
.woocommerce-info { border-left: 3px solid var(--plasma); }
.woocommerce-error { border-left: 3px solid var(--magenta); }
.woocommerce-message::before, .woocommerce-info::before { display: none; }

/* ============================================================
   HOME — SUPLIMENTARE (clase din front-page.php)
   ============================================================ */

/* Products grid (4 cards) */
.gs-products-grid {
  display: grid; grid-template-columns: 1fr; gap: 20px;
}
@media (min-width: 640px) { .gs-products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .gs-products-grid { grid-template-columns: repeat(4, 1fr); } }

/* Why list */
.gs-why-list { display: grid; gap: 24px; }
@media (min-width: 800px) { .gs-why-list { grid-template-columns: 1fr 1fr; } }
.why-item {
  display: flex; gap: 20px; align-items: flex-start;
  padding: 24px; background: rgba(255,255,255,0.03);
  border: 1px solid var(--hairline); border-radius: var(--r-lg);
}
.why-item .ic {
  width: 44px; height: 44px; flex-shrink: 0;
  border-radius: 50%; background: rgba(157,255,110,0.15);
  display: grid; place-items: center;
}
.why-item .ic svg { width: 20px; height: 20px; color: var(--alien); }
.why-item strong { display: block; font-family: var(--font-display); font-weight: var(--font-display-weight); font-style: var(--font-display-style); font-size: 20px; letter-spacing: var(--font-display-tracking); margin-bottom: 6px; }
.why-item p { margin: 0; color: var(--ink-soft); font-size: 15px; line-height: 1.5; }

/* Steps (Când mănânci) */
.gs-steps {
  display: grid; grid-template-columns: 1fr; gap: 20px;
}
@media (min-width: 640px) { .gs-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .gs-steps { grid-template-columns: repeat(4, 1fr); } }
/* .step and .num are already defined above, reuse them */

/* Bundles row */
.gs-bundles-row {
  display: grid; grid-template-columns: 1fr; gap: 24px;
}
@media (min-width: 640px) { .gs-bundles-row { grid-template-columns: repeat(3, 1fr); } }
.bundle-card {
  display: flex; flex-direction: column; align-items: center;
  text-align: center; padding: 32px 24px;
  background: var(--bg-card); border: 1px solid var(--hairline);
  border-radius: var(--r-xl); transition: transform .3s, border-color .3s;
}
.bundle-card:hover { transform: translateY(-6px); border-color: var(--hairline-strong); }
.bundle-name {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: clamp(28px, 3vw, 40px);
  letter-spacing: var(--font-display-tracking); line-height: 1; margin-bottom: 8px;
}
.bundle-price {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style); font-size: 44px;
  color: var(--brand-yellow); letter-spacing: var(--font-display-tracking); line-height: 1; margin-bottom: 4px;
}
.bundle-desc { color: var(--ink-soft); font-size: 14px; margin-bottom: 20px; }

/* FAQ container */
.gs-faq { max-width: 920px; margin: 0 auto; }

/* Press */
.gs-press-row {
  display: grid; gap: 20px; grid-template-columns: 1fr;
}
@media (min-width: 700px) { .gs-press-row { grid-template-columns: 1fr 1fr; } }
.press-card {
  padding: 28px; background: rgba(255,255,255,0.03);
  border: 1px solid var(--hairline); border-radius: var(--r-lg);
}
.press-card .title { font-weight: 600; font-size: 17px; line-height: 1.4; margin-bottom: 12px; }
.press-card a { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--brand-yellow); }

/* Quotes */
.gs-quotes {
  display: grid; grid-template-columns: 1fr; gap: 20px;
}
@media (min-width: 640px) { .gs-quotes { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .gs-quotes { grid-template-columns: repeat(4, 1fr); } }

/* Partners */
.gs-partners-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.gs-partner-badge {
  padding: 10px 20px; border-radius: var(--r-pill);
  background: rgba(255,255,255,0.05); border: 1px solid var(--hairline);
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--ink-soft);
}

/* Final CTA */
.gs-final-cta {
  text-align: center;
  padding: clamp(80px, 12vw, 180px) var(--gutter);
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, transparent, rgba(255,63,142,0.06), transparent);
}
.gs-final-cta h2 {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style);
  line-height: 0.88; letter-spacing: var(--font-display-tracking); margin: 0 0 36px;
}
.gs-final-cta .trust-bar {
  color: var(--ink-soft); font-family: var(--font-mono); font-size: 12px;
  letter-spacing: 0.12em; text-transform: uppercase;
}

/* Gs-promo (coupon in cart) */
.gs-promo {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 18px 22px; background: rgba(157,255,110,0.05);
  border: 1px dashed rgba(157,255,110,0.35); border-radius: var(--r-lg);
}
.gs-promo .ic { width: 36px; height: 36px; display: grid; place-items: center; color: var(--alien); flex-shrink: 0; }
.gs-promo input[type="text"] {
  flex: 1; min-width: 160px; padding: 10px 16px;
  background: rgba(0,0,0,0.3); border: 1px solid var(--hairline);
  border-radius: var(--r-pill); color: var(--ink); font: inherit; outline: none;
}
.gs-promo input[type="text"]:focus { border-color: var(--alien); }
.gs-promo .button {
  padding: 12px 22px; background: var(--alien); color: var(--bg-deep);
  border-radius: var(--r-pill); font-weight: 700; font-size: 14px; cursor: pointer; border: none;
}

/* gs-panel (checkout panels) — alias for co-panel */
.gs-panel {
  padding: 32px; background: var(--bg-card);
  border: 1px solid var(--hairline); border-radius: var(--r-xl);
  margin-bottom: 20px; position: relative; overflow: hidden;
}
.gs-panel .panel-title {
  display: flex; align-items: center; gap: 12px; margin-bottom: 24px;
}
.gs-panel .panel-title .n {
  width: 36px; height: 36px; background: var(--brand-yellow); color: var(--bg-deep);
  border-radius: 50%; display: grid; place-items: center;
  font-family: var(--font-display); font-weight: var(--font-display-weight); font-size: 16px;
  flex-shrink: 0;
}
.gs-panel .panel-title h2 {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-style: var(--font-display-style);
  font-size: clamp(22px, 2.6vw, 32px); letter-spacing: var(--font-display-tracking);
  margin: 0; line-height: 1;
}

/* WooCommerce form fields override */
.woocommerce-checkout .form-row { margin-bottom: 18px; }
.woocommerce-checkout .form-row label {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--brand-yellow); display: block; margin-bottom: 6px;
}
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100%; padding: 14px 18px;
  background: rgba(255,255,255,0.04); border: 1px solid var(--hairline);
  border-radius: var(--r-md); color: var(--ink); font: inherit; outline: none;
  transition: border-color .2s;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--brand-yellow);
}
.woocommerce-checkout #billing_fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 640px) { .woocommerce-checkout #billing_fields { grid-template-columns: 1fr; } }
.woocommerce-checkout .form-row-last,
.woocommerce-checkout .form-row-first { float: none; width: 100%; }

/* WC Cart totals */
.cart_totals .shop_table { width: 100%; }
.cart_totals .shop_table tr { border-bottom: 1px dashed var(--hairline); }
.cart_totals .shop_table th,
.cart_totals .shop_table td { padding: 10px 0; font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.06em; }
.cart_totals .shop_table th { color: var(--ink-soft); font-weight: 500; }
.cart_totals .shop_table td { color: var(--ink); font-weight: 600; text-align: right; }
.cart_totals .shop_table .order-total th,
.cart_totals .shop_table .order-total td {
  font-family: var(--font-display); font-weight: var(--font-display-weight);
  font-size: 20px; letter-spacing: var(--font-display-tracking); color: var(--brand-yellow);
  border-top: 1px solid var(--brand-yellow); padding-top: 14px;
}

/* Checkout totals */
.woocommerce-checkout-review-order-table { width: 100%; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 10px 0; font-family: var(--font-mono); font-size: 13px;
  letter-spacing: 0.06em; border-bottom: 1px dashed var(--hairline);
}
.woocommerce-checkout-review-order-table th { color: var(--ink-soft); }
.woocommerce-checkout-review-order-table td { text-align: right; color: var(--ink); }
.woocommerce-checkout-review-order-table .order-total td { color: var(--brand-yellow); font-weight: 700; font-size: 18px; }
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .shipping td { color: var(--ink-2); }

/* Legal note in checkout */
.legal-note { font-size: 12px; color: var(--ink-mute); text-align: center; margin-top: 12px; line-height: 1.6; }
.legal-note a { color: var(--brand-yellow); text-decoration: underline; }

/* Track (orders progress) */
.track { margin: 16px 0; }
.track .stages { display: flex; align-items: flex-start; gap: 0; position: relative; }
.track .stages::before {
  content: ""; position: absolute; top: 20px; left: 24px; right: 24px; height: 2px;
  background: var(--hairline); z-index: 0;
}
.track .stage {
  flex: 1; text-align: center; position: relative; z-index: 1;
}
.track .stage .pt {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--bg-card); border: 2px solid var(--hairline);
  display: grid; place-items: center; margin: 0 auto 8px;
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-mute);
  transition: all .3s;
}
.track .stage.done .pt { background: var(--alien); color: var(--bg-deep); border-color: var(--alien); }
.track .stage.active .pt { background: var(--brand-yellow); color: var(--bg-deep); border-color: var(--brand-yellow); box-shadow: 0 0 16px rgba(255,200,61,0.5); }
.track .stage .lbl { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-mute); }
.track .stage.done .lbl,
.track .stage.active .lbl { color: var(--brand-yellow); }

/* Ord pagination */
.ord-pagination { display: flex; gap: 12px; justify-content: center; margin-top: 32px; }

/* Screen reader only */
.screen-reader-text {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ============================================================
   FOCUS-VISIBLE — Accesibilitate tastatură
   ============================================================ */
*:focus { outline: none; }
*:focus-visible {
  outline: 3px solid var(--brand-yellow);
  outline-offset: 3px;
  border-radius: 4px;
}
.icon-btn:focus-visible,
.nav-toggle:focus-visible,
.btn-launch:focus-visible,
.btn:focus-visible,
.checkout-btn:focus-visible,
.place-order:focus-visible,
.add-cart:focus-visible,
.single_add_to_cart_button.button:focus-visible {
  outline-offset: 4px;
  border-radius: var(--r-pill);
}

/* ============================================================
   @SUPPORTS FALLBACKS — browser compat
   ============================================================ */
@supports not (backdrop-filter: blur(1px)) {
  .cosmo-header       { background: rgba(8, 4, 28, 0.92); }
  .mobile-nav         { background: rgba(8, 4, 28, 0.99); }
  .sticky-mobile-cta  { background: rgba(8, 4, 28, 0.99); }
  .v-rotate,
  .v-counter          { background: rgba(0,0,0,0.75); }
}

@supports not (aspect-ratio: 1) {
  .hero-stage         { padding-top: 100%; height: 0; }
  .galaxy-map         { padding-top: 100%; height: 0; }
  .viewer-stage       { padding-top: 100%; height: 0; }
  .shop-card .img-area { padding-top: 125%; height: 0; }
}

/* ============================================================
   PREFERS-REDUCED-MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   INPUT FONT-SIZE >= 16px (previne zoom iOS)
   Suprascrie font: inherit pentru inputs mici
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
select,
textarea {
  font-size: max(16px, 1rem);
}

/* ============================================================
   STICKY MOBILE CTA — rewrite la min-width (mobile-first)
   Regula originala @media (max-width: 980px) ramane pentru
   compatibilitate; adaugam clauza min-width pentru desktop
   ============================================================ */
@media (min-width: 981px) {
  .sticky-mobile-cta { display: none !important; }
}

/* Pe mobil: form-ul cart din summary se ascunde — sticky bar-ul de jos face treaba */
@media (max-width: 980px) {
  .gs-product-summary form.cart,
  .gs-product-summary .summary form.cart,
  .summary .cart,
  .single-product .summary form.cart,
  form.cart:not(.sticky-mobile-cta) { display: none !important; }
}

/* ============================================================
   MOBILE OPTIMIZATIONS
   - Ascund CTA "Comandă" din header pe mobil (avem icon-btn coș + nav-toggle)
   - Reduc animații grele pentru a îmbunătăți performanța
   ============================================================ */
@media (max-width: 980px) {
  /* Buton Comandă vizibil DOAR pe desktop */
  .btn-launch--desktop-only { display: none !important; }

  /* Reduc complexitatea animațiilor pe mobil */
  .glow-orb { animation: none !important; opacity: 0.4 !important; filter: blur(60px) !important; }
  .orbit, .orbit-slow, .stage-rings, .orbit-item { animation-duration: 60s !important; }
  .marquee-track { animation-duration: 30s !important; }
  .planet { animation: none !important; }
  .counter-spin { animation: none !important; }

  /* Tilt 3D dezactivat pe touch (este oricum cosmetic) */
  [data-tilt] { transform: none !important; }
}

/* Pe mobil mic, opresc complet planetele decorative din hero pentru a economisi GPU */
@media (max-width: 640px) {
  .glow-orb, .planet, .orbit-item, .stage-rings, .galaxy-map { animation: none !important; }
  .floating-planet { display: none !important; }
}

/* ============================================================
   GLOBAL LINK UNDERLINE OVERRIDE
   WooCommerce core + wc-blocks CSS forțează text-decoration:underline
   pe anchors. Tema dorește anchors curate fără underline implicit.
   Subliniere e păstrată DOAR pentru legal-note + lost-pass (intenționat).
   ============================================================ */
a,
a:link,
a:visited,
.woocommerce a,
.woocommerce-page a,
.woocommerce-MyAccount-content a,
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a,
.wc-block-components-button,
.wc-block-cart a,
.wc-block-checkout a,
.wp-block-woocommerce-cart a,
.wp-block-woocommerce-checkout a,
.entry-content a {
  text-decoration: none;
}
a:hover,
a:focus,
.woocommerce a:hover,
.woocommerce-page a:hover {
  text-decoration: none;
}
/* Sublinierea voită doar în zonele "legal/fine-print" */
.legal-note a,
.gs-lost-pass {
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* ============================================================
   SCROLL FX SYSTEM 2030 — declarativ data-fx / data-stagger /
   data-parallax-* / data-mouse / data-magnetic / word-fx.
   Append safe — toate selectors prefixate cu [data-*] sau .word-fx.
   @package GustariSpatiale
   ============================================================ */
[data-fx] {
	opacity: 0;
	transition: opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1), filter .8s cubic-bezier(.2,.8,.2,1), clip-path .8s cubic-bezier(.2,.8,.2,1);
	will-change: opacity, transform;
}
[data-fx="up"]     { transform: translateY(60px); }
[data-fx="down"]   { transform: translateY(-60px); }
[data-fx="left"]   { transform: translateX(-80px); }
[data-fx="right"]  { transform: translateX(80px); }
[data-fx="scale"]  { transform: scale(0.85); }
[data-fx="zoom"]   { transform: scale(1.15); }
[data-fx="rotate"] { transform: rotate(-8deg) translateY(40px); }
[data-fx="word"]   { opacity: 1; transform: none; }
[data-fx="blur"]   { filter: blur(20px); opacity: 0; }
[data-fx="clip"]   { clip-path: inset(0 100% 0 0); opacity: 1; transform: none; }
[data-fx="mask"]   { -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 0%); mask-image: linear-gradient(180deg, #000 0%, transparent 0%); }
[data-fx].in {
	opacity: 1;
	transform: none;
	filter: none;
	clip-path: inset(0 0 0 0);
	-webkit-mask-image: linear-gradient(180deg, #000 100%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 100%, transparent 100%);
}

[data-stagger] > * {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);
}
[data-stagger] > *.in {
	opacity: 1;
	transform: none;
}

.word-fx {
	display: inline-block;
	opacity: 0;
	transform: translateY(0.5em);
	transition: opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);
	will-change: opacity, transform;
}
.word-fx.in {
	opacity: 1;
	transform: none;
}

[data-parallax-y]    { transform: translate3d(0, var(--py, 0), 0); will-change: transform; }
[data-parallax-x]    { transform: translate3d(var(--px, 0), 0, 0); will-change: transform; }
[data-rotate-scroll] { transform: rotate(var(--rot, 0deg)); will-change: transform; }
[data-scale-scroll]  { transform: scale(var(--ssc, 1)); will-change: transform; }
[data-mouse]         { transform: translate3d(var(--mx, 0), var(--my, 0), 0); transition: transform .15s ease-out; will-change: transform; }
[data-magnetic]      { transform: translate3d(var(--magnX, 0), var(--magnY, 0), 0); transition: transform .25s cubic-bezier(.2,.8,.2,1); will-change: transform; }

/* Combinări frecvente */
[data-parallax-y][data-rotate-scroll] {
	transform: translate3d(0, var(--py, 0), 0) rotate(var(--rot, 0deg));
}
[data-parallax-y][data-mouse] {
	transform: translate3d(var(--mx, 0), calc(var(--my, 0px) + var(--py, 0px)), 0);
}
[data-parallax-y][data-rotate-scroll][data-mouse] {
	transform: translate3d(var(--mx, 0), calc(var(--my, 0px) + var(--py, 0px)), 0) rotate(var(--rot, 0deg));
}

@media (prefers-reduced-motion: reduce) {
	[data-fx], [data-stagger] > *, .word-fx {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		filter: none !important;
		clip-path: none !important;
	}
	[data-parallax-y], [data-parallax-x], [data-rotate-scroll], [data-scale-scroll], [data-mouse], [data-magnetic] {
		transform: none !important;
	}
}

/* ============================================================
   FIX FOOTER .word (2026-05-15) — TASK 7
   Fix text giant tăiat (descenders Ț, Ș, Ț + ascenders românești) + reduce padding bottom
   ============================================================ */
.cosmo-footer {
	padding: 60px var(--gutter) 8px;
}
.cosmo-footer .word {
	line-height: 0.85;
	padding-block: 0.02em 0.04em; /* minim pentru ascenders/descenders româneşti */
	margin-top: 16px;
	margin-bottom: 0;
	overflow: visible;
}
.cosmo-footer .bot { margin-top: 4px !important; padding-top: 12px !important; }
@media (max-width: 768px) {
	.cosmo-footer {
		padding: 48px 16px 6px;
	}
	.cosmo-footer .word {
		margin-top: 12px;
		font-size: clamp(40px, 18vw, 120px);
		padding-block: 0;
	}
	.cosmo-footer .bot {
		margin-top: 4px !important;
		padding-top: 8px !important;
		gap: 12px;
		font-size: 12px;
	}
}


/* ============================================================
   Hide pill principal (Crew Pack / Galaxy Box) pe pagina produs — la cererea clientului
   Lăsăm doar pill-urile arome (Căpșune, Măr, Zmeură, Cașcaval).
   ============================================================ */
.gs-pp[data-variant="crew"],
.gs-pp[data-variant="galaxy"] {
	display: none !important;
}


/* ============================================================
   MOBILE HEADER HARDENING v3 (aplicat 2026-05-15) — TASK 1
   Header se sparge vertical pe mobile pentru ca lockup-ul textual
   ("GUSTĂRI SPAȚIALE" + "BY TCE AGRICULTURA") wrap-uia pe 4 rânduri.
   Fix: ascund lockup pe <=768px, logo redus la 36px, icon-btn-uri
   compacte, ascund CTA "Comandă" pe <=480px.
   ============================================================ */
@media (max-width: 768px) {
	.cosmo-header .logo .lockup,
	.cosmo-header .lockup {
		display: none !important;
	}
	.cosmo-header {
		padding: 12px 16px !important;
		gap: 12px !important;
	}
	.cosmo-header .logo img,
	.cosmo-header .logo picture img {
		width: 36px !important;
		height: 36px !important;
	}
	.cosmo-header .right {
		gap: 8px !important;
	}
	.cosmo-header .icon-btn {
		width: 36px;
		height: 36px;
	}
}
@media (max-width: 480px) {
	.cosmo-header .btn-launch--desktop-only,
	.cosmo-header .btn-launch {
		display: none !important;
	}
}


/* ============================================================
   MOBILE V4 — Fix critic logo + lockup + cleanup (2026-05-15)
   Specificitate explicită pe \<picture\> + body class.
   ============================================================ */
@media (max-width: 768px) {
  body .cosmo-header .logo { gap: 8px !important; }
  /* Re-enable lockup pe mobile, dar compact pe 1 rând fiecare span */
  body .cosmo-header .logo .lockup {
    display: inline-flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    line-height: 1.1;
    gap: 2px;
  }
  body .cosmo-header .logo .lockup .brand-name {
    display: block !important;
    visibility: visible !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    white-space: nowrap;
    font-weight: 800;
  }
  body .cosmo-header .logo .lockup .brand-sub {
    display: block !important;
    visibility: visible !important;
    font-size: 7px !important;
    letter-spacing: 0.14em !important;
    white-space: nowrap;
  }
  body .cosmo-header .logo picture {
    display: inline-block !important;
    width: 40px !important;
    height: 40px !important;
    flex-shrink: 0 !important;
  }
  body .cosmo-header .logo picture img,
  body .cosmo-header .logo > img {
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
    object-fit: contain !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* ============================================================
   FIX line-height tăiat pe diacritice românești (Î, Ă, Ș, Ț, Â)
   Aplicat: 2026-05-15
   Motiv: line-height < 1 + font-size foarte mare → ascenders
   (accente Î, căciulă Ă, sedile Ș/Ț) tăiate de line-box.
   Soluție: line-height >= 1.05 + padding-top compensator.
   ============================================================ */
.display, .display-lg, .display-xl, .display-xxl, .display-md, .display-sm,
.display-title,
.crew-card h3, .pack-card h3,
.gs-product-info h1, .gs-shop-hero h1,
.gs-cart-header h1, .gs-co-header h1,
.gs-acc-hero h1, .gs-acc-hero h2,
.gs-ord-header h1,
.asteroid-cta h2, .final-cta h2,
.manifest h2,
.shop-card.featured .title,
.p-info h1, .p-info h2,
.rev-summary .big-rating .num {
  line-height: 1.05 !important;
  padding-top: 0.12em !important;
  padding-bottom: 0.04em !important;
}

/* Fix specific FAQ heading (Întrebări frecvente) — Î cu accent */
.faq-heading, #faq h2,
section[id="faq"] h2,
section[aria-labelledby*="faq"] h2 {
  line-height: 1.12 !important;
  padding-top: 0.2em !important;
  padding-bottom: 0.06em !important;
}

/* Star decorativ în titlu Galactic — aliniere baseline */
.reveal-shop h1 .star,
.reveal-shop h2 .star,
.reveal-shop .display-title .star {
  vertical-align: -0.05em;
}

/* ============================================================
   FOOTER SIMPLIFICAT (2026-05-15) — ECHIPA B
   - Scoatem textul giant „GUSTĂRI SPAȚIALE" (rezolvat în footer.php)
   - Stele decorative .footer-stars (12 stele, twinkle animație)
   - Logo footer cu lockup vizibil (override regulă veche)
   - Titluri h4: font-display, 16px, font-weight 800
   - Înălțime footer crescută (+40px top, +20px bottom)
   ============================================================ */

/* Footer container — padding nou + clearance pentru stele */
.cosmo-footer {
	padding: 100px var(--gutter) 28px !important;
	position: relative;
	overflow: hidden;
}
.cosmo-footer .top {
	padding-bottom: 20px;
}
.cosmo-footer .bot {
	margin-top: 24px !important;
	padding-top: 20px !important;
}

/* Container stele decorative (poziție absolută, în spate, fără interacțiune) */
.cosmo-footer .footer-stars {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
}
.cosmo-footer .top,
.cosmo-footer .bot {
	position: relative;
	z-index: 1;
}

/* Stele individuale — fiecare cu poziție/dimensiune/glow unic */
.cosmo-footer .footer-star {
	position: absolute;
	border-radius: 50%;
	background: #fff;
	animation: footer-twinkle 4s ease-in-out infinite;
	will-change: opacity;
}

/* Stele mici albe (1-2px) */
.cosmo-footer .fs-1 {
	top: 12%; left: 6%;
	width: 2px; height: 2px;
	box-shadow: 0 0 6px rgba(255,255,255,0.85);
	animation-delay: 0s;
}
.cosmo-footer .fs-2 {
	top: 28%; left: 18%;
	width: 1px; height: 1px;
	box-shadow: 0 0 4px rgba(255,255,255,0.7);
	animation-delay: 1.2s;
}
.cosmo-footer .fs-3 {
	top: 58%; left: 11%;
	width: 2px; height: 2px;
	box-shadow: 0 0 5px rgba(255,255,255,0.8);
	animation-delay: 2.4s;
}
.cosmo-footer .fs-4 {
	top: 82%; left: 22%;
	width: 1px; height: 1px;
	box-shadow: 0 0 4px rgba(255,255,255,0.7);
	animation-delay: 3.1s;
}

/* Stea galbenă mare (brand-yellow) */
.cosmo-footer .fs-5 {
	top: 18%; left: 38%;
	width: 4px; height: 4px;
	background: var(--brand-yellow, #ffc83d);
	box-shadow: 0 0 10px rgba(255,200,61,0.9), 0 0 18px rgba(255,200,61,0.45);
	animation-delay: 0.6s;
	animation-duration: 5s;
}

/* Stele mici albe centru + dreapta */
.cosmo-footer .fs-6 {
	top: 45%; left: 47%;
	width: 1px; height: 1px;
	box-shadow: 0 0 4px rgba(255,255,255,0.7);
	animation-delay: 1.8s;
}
.cosmo-footer .fs-7 {
	top: 72%; left: 55%;
	width: 2px; height: 2px;
	box-shadow: 0 0 6px rgba(255,255,255,0.85);
	animation-delay: 2.9s;
}
.cosmo-footer .fs-8 {
	top: 24%; left: 64%;
	width: 1px; height: 1px;
	box-shadow: 0 0 4px rgba(255,255,255,0.7);
	animation-delay: 0.4s;
}

/* Stea magenta mare (brand magenta) */
.cosmo-footer .fs-9 {
	top: 62%; left: 73%;
	width: 5px; height: 5px;
	background: var(--magenta, #ff3f8e);
	box-shadow: 0 0 12px rgba(255,63,142,0.9), 0 0 20px rgba(255,63,142,0.5);
	animation-delay: 1.5s;
	animation-duration: 5.5s;
}

/* Stele mici dreapta */
.cosmo-footer .fs-10 {
	top: 15%; left: 84%;
	width: 2px; height: 2px;
	box-shadow: 0 0 6px rgba(255,255,255,0.85);
	animation-delay: 2.2s;
}
.cosmo-footer .fs-11 {
	top: 48%; left: 91%;
	width: 1px; height: 1px;
	box-shadow: 0 0 4px rgba(255,255,255,0.7);
	animation-delay: 3.5s;
}

/* Stea galbenă mică dreapta jos */
.cosmo-footer .fs-12 {
	top: 86%; left: 80%;
	width: 3px; height: 3px;
	background: var(--brand-yellow, #ffc83d);
	box-shadow: 0 0 8px rgba(255,200,61,0.8);
	animation-delay: 1s;
	animation-duration: 4.5s;
}

@keyframes footer-twinkle {
	0%, 100% { opacity: 0.45; transform: scale(1); }
	50%      { opacity: 1;    transform: scale(1.15); }
}

@media (prefers-reduced-motion: reduce) {
	.cosmo-footer .footer-star {
		animation: none !important;
		opacity: 0.8;
	}
}

/* Logo footer cu lockup vizibil — override la .footer-logo .lockup { display: none } */
.cosmo-footer .footer-logo {
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px;
}
.cosmo-footer .footer-logo .lockup {
	display: inline-flex !important;
	flex-direction: column;
	line-height: 1;
}
.cosmo-footer .footer-logo .lockup .brand-name {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight, 800);
	font-size: 18px;
	letter-spacing: 0.04em;
	color: var(--ink, #fff);
	line-height: 1;
}
.cosmo-footer .footer-logo .lockup .brand-sub {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-soft, rgba(255,255,255,0.65));
	margin-top: 4px;
}
@media (max-width: 540px) {
	.cosmo-footer .footer-logo .lockup .brand-name { font-size: 15px; }
	.cosmo-footer .footer-logo .lockup .brand-sub { font-size: 9px; letter-spacing: 0.14em; }
}

/* Titluri MAGAZIN / DESPRE / CONTUL MEU — mai mari + bold */
.cosmo-footer h3, .cosmo-footer h4 {
	font-family: var(--font-display) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase;
	color: var(--brand-yellow);
	margin: 0 0 18px;
}

/* Mobile — păstrăm padding rezonabil */
@media (max-width: 768px) {
	.cosmo-footer {
		padding: 72px 16px 24px !important;
	}
	.cosmo-footer .bot {
		margin-top: 20px !important;
		padding-top: 16px !important;
		gap: 12px;
		font-size: 12px;
	}
	.cosmo-footer h3, .cosmo-footer h4 {
		font-size: 15px !important;
	}
}

/* ================================================================
   FAZA 10 — Footer (rebuild 2026-05-17)
   ================================================================ */

/* Override layout vechi pe .cosmo-footer .top — folosim grid nou */
.cosmo-footer { padding: 88px var(--gutter) 0; }

.gs-footer-tagline-wrap {
  max-width: var(--maxw);
  margin: 0 auto 56px;
  text-align: center;
  position: relative;
  z-index: 2;
}
.gs-footer-tagline {
  font-family: var(--font-display);
  font-weight: var(--font-display-weight);
  font-size: clamp(22px, 3.4vw, 38px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  background: linear-gradient(90deg, var(--brand-yellow) 0%, var(--brand-yellow-2) 50%, var(--brand-yellow) 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  margin: 0 auto;
  max-width: 32ch;
}

.gs-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  max-width: var(--maxw);
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media (min-width: 720px) {
  .gs-footer-grid { grid-template-columns: 1fr 1fr; gap: 56px 40px; }
}
@media (min-width: 1080px) {
  .gs-footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 56px 40px; }
}

.gs-footer-col h3, .gs-footer-col h4 {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brand-yellow);
  margin: 0 0 18px;
}

.gs-footer-col-firm .footer-logo {
  margin-bottom: 18px;
}
.gs-footer-firm {
  font-style: normal;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 18px;
}
.gs-footer-firm strong {
  color: #fff;
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.gs-footer-firm-meta {
  display: inline-block;
  margin-top: 6px;
  color: var(--ink-mute);
  font-size: 12.5px;
  font-family: var(--font-mono);
  letter-spacing: 0.05em;
}

.gs-footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.gs-footer-contact li {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px;
}
.gs-footer-contact a {
  color: var(--ink-soft);
  text-decoration: none;
  transition: color .2s;
  word-break: break-word;
}
.gs-footer-contact a:hover { color: var(--brand-yellow); }
.gs-footer-ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: rgba(255,200,61,0.10);
  border: 1px solid rgba(255,200,61,0.25);
  color: var(--brand-yellow);
  font-size: 13px;
  flex-shrink: 0;
}

.gs-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}
.gs-footer-links a {
  color: var(--ink-soft);
  font-size: 15px;
  text-decoration: none;
  transition: color .2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.gs-footer-links a:hover { color: var(--brand-yellow); }
.gs-footer-anpc a:hover .gs-footer-extlink { color: var(--brand-yellow); }
.gs-footer-extlink {
  font-size: 12px;
  color: var(--ink-mute);
  transition: color .2s;
}


.gs-footer-badges {
  list-style: none;
  padding: 0;
  margin: 44px 0 0;
  display: grid;
  gap: 10px;
}
.gs-footer-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--hairline);
  border-radius: 999px;
  font-size: 12px;
  color: var(--ink-soft);
  width: fit-content;
}
.gs-footer-badge-ico svg { width: 14px; height: 14px; }
.gs-footer-badge-ico {
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--brand-yellow);
  flex-shrink: 0;
}

/* Social */
.gs-footer-social {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  gap: 10px;
}
.gs-footer-soc-link {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px;
  border-radius: 50%;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--hairline);
  color: var(--ink-soft);
  transition: all .25s ease;
}
.gs-footer-soc-link:hover {
  background: rgba(255,200,61,0.12);
  border-color: rgba(255,200,61,0.45);
  color: var(--brand-yellow);
  transform: translateY(-2px);
}

/* Newsletter placeholder */
.gs-footer-newsletter-intro {
  color: var(--ink-mute);
  font-size: 13px;
  line-height: 1.5;
  margin: 0 0 12px;
}
.gs-footer-newsletter { display: grid; gap: 12px; }
.gs-footer-nl-row {
  display: flex; gap: 8px; flex-wrap: wrap;
}
.gs-footer-nl-row input[type="email"] {
  flex: 1; min-width: 0;
  padding: 12px 16px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--hairline);
  border-radius: var(--r-pill, 999px);
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  outline: none;
  opacity: 0.7;
}
.gs-footer-nl-row input[type="email"]::placeholder { color: var(--ink-mute); }
.gs-footer-nl-row input[type="email"]:focus { border-color: var(--brand-yellow); opacity: 1; }
.gs-footer-nl-row button {
  padding: 12px 20px;
  background: var(--brand-yellow);
  color: var(--bg-deep);
  border: none;
  border-radius: var(--r-pill, 999px);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  cursor: not-allowed;
  opacity: 0.55;
  font-family: var(--font-mono);
  text-transform: uppercase;
}
.gs-footer-nl-gdpr {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--ink-mute);
  cursor: not-allowed;
}
.gs-footer-nl-gdpr input[type="checkbox"] {
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--brand-yellow);
}
.gs-footer-nl-gdpr a {
  color: var(--ink-soft);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.gs-footer-nl-gdpr a:hover { color: var(--brand-yellow); }
.gs-footer-nl-note {
  font-size: 11.5px;
  color: var(--ink-mute);
  font-family: var(--font-mono);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0;
}

/* BOT bar */
.gs-footer-bot {
  max-width: var(--maxw);
  margin: 56px auto 0;
  padding: 20px 0 24px;
  border-top: 1px solid var(--hairline);
  display: flex; justify-content: space-between; gap: 16px;
  flex-wrap: wrap;
  font-size: 12.5px;
  color: var(--ink-mute);
  font-family: var(--font-mono);
  letter-spacing: 0.04em;
  position: relative;
  z-index: 2;
}
.gs-footer-bot-claim {
  color: var(--brand-yellow);
  opacity: 0.85;
}
.gs-footer-bot-credit {
  width: 100%;
  text-align: center;
  font-size: 10.5px;
  color: var(--ink-mute);
  opacity: 0.45;
  letter-spacing: 0.06em;
  margin-top: 12px;
  transition: opacity 0.3s ease;
}
.gs-footer-bot-credit:hover { opacity: 0.75; }
.gs-footer-bot-credit a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
  padding-bottom: 1px;
  transition: color 0.2s ease;
}
.gs-footer-bot-credit a:hover { color: var(--brand-yellow); }
.gs-footer-heart {
  color: #e84a4a;
  font-size: 11px;
  margin: 0 2px;
  display: inline-block;
  animation: gs-heart-pulse 2.4s ease-in-out infinite;
}
@keyframes gs-heart-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}

/* Big word at the bottom (păstrăm efectul gradient) */
.cosmo-footer-word-wrap {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  pointer-events: none;
}
.cosmo-footer-word-wrap .word {
  font-family: var(--font-display);
  font-weight: var(--font-display-weight);
  font-size: clamp(28px, 5vw, 64px);
  line-height: 0.95;
  letter-spacing: var(--font-display-tracking);
  text-align: center;
  background: linear-gradient(180deg, var(--brand-yellow) 0%, var(--brand-yellow) 45%, rgba(255,200,61,0.50) 75%, rgba(255,200,61,0.25) 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  opacity: 0.55;
  white-space: nowrap;
  overflow: hidden;
  display: block;
}
.cosmo-footer-word-wrap .word-2 {
  margin-top: 2px;
  opacity: 0.45;
}

/* Mobile tightening */
@media (max-width: 719px) {
  .cosmo-footer { padding: 56px var(--gutter) 0; }
  .gs-footer-tagline-wrap { margin-bottom: 36px; }
  .gs-footer-grid { gap: 36px; }
  .gs-footer-bot {
    flex-direction: column;
    text-align: center;
    align-items: center;
    margin-top: 36px;
  }
  .gs-footer-bot-claim { order: -1; }
  .cosmo-footer-word-wrap .word {
    font-size: clamp(24px, 7vw, 44px);
  }
  .cosmo-footer-word-wrap .word-2 {
    margin-top: 2px;
  }
}

/* Anti-conflict cu reguli vechi `.cosmo-footer .top/.bot/.word` (păstrate pentru
   compat istoric, dar noul markup folosește prefixe .gs-footer-*). */
.cosmo-footer .gs-footer-grid h3, .cosmo-footer .gs-footer-grid h4 { margin-top: 0; }

/* ============================================================
   Faza 2.4 — Cards info produs (added 2026-05-17)
   Acoperă structura existentă: .gs-pp-info-grid-section,
   .gs-pp-info-grid, .gs-pp-info-card (+ variante color),
   .gs-pp-info-card__head, __icon, __title, __list, __nolist,
   __chips, __accent, __lines
   ============================================================ */

.gs-pp-info-grid-section {
  padding: 48px 0;
}

.gs-pp-info-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

@media (min-width: 640px) {
  .gs-pp-info-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}

@media (min-width: 1080px) {
  .gs-pp-info-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }
}

.gs-pp-info-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 28px 24px;
  border-radius: var(--r-md, 18px);
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--hairline, rgba(255,255,255,0.10));
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.gs-pp-info-card:hover {
  transform: translateY(-3px);
}

.gs-pp-info-card__head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.gs-pp-info-card__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--hairline, rgba(255,255,255,0.10));
}

.gs-pp-info-card__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.2px;
  color: var(--ink, #fff);
}

.gs-pp-info-card__list,
.gs-pp-info-card__nolist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gs-pp-info-card__list li,
.gs-pp-info-card__nolist li {
  position: relative;
  padding-left: 18px;
  color: var(--ink-2, #E8E1FF);
  font-size: 15px;
  line-height: 1.5;
}

.gs-pp-info-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.7;
}

.gs-pp-info-card__nolist li {
  padding-left: 22px;
}

.gs-pp-info-card__nolist li::before {
  content: "✕";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
  font-size: 14px;
  color: currentColor;
  opacity: 0.6;
}

.gs-pp-info-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.gs-pp-info-card__chips li {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: var(--r-pill, 999px);
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--hairline, rgba(255,255,255,0.10));
  font-size: 13px;
  color: var(--ink-2, #E8E1FF);
  font-weight: 500;
}

.gs-pp-info-card__accent,
.gs-pp-info-card__lines {
  color: var(--ink-soft, #B4A8E6);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

/* ---- Variante de culoare (accent) ---- */

.gs-pp-info-card--yellow {
  background: rgba(255,200,61,0.06);
  border-color: rgba(255,200,61,0.30);
}
.gs-pp-info-card--yellow:hover { border-color: rgba(255,200,61,0.55); background: rgba(255,200,61,0.09); }
.gs-pp-info-card--yellow .gs-pp-info-card__icon { color: var(--brand-yellow, #FFC83D); border-color: rgba(255,200,61,0.45); background: rgba(255,200,61,0.10); }
.gs-pp-info-card--yellow .gs-pp-info-card__list li::before { background: var(--brand-yellow, #FFC83D); opacity: 1; }

.gs-pp-info-card--magenta {
  background: rgba(255,63,142,0.06);
  border-color: rgba(255,63,142,0.30);
}
.gs-pp-info-card--magenta:hover { border-color: rgba(255,63,142,0.55); background: rgba(255,63,142,0.09); }
.gs-pp-info-card--magenta .gs-pp-info-card__icon { color: var(--magenta, #FF3F8E); border-color: rgba(255,63,142,0.45); background: rgba(255,63,142,0.10); }
.gs-pp-info-card--magenta .gs-pp-info-card__list li::before,
.gs-pp-info-card--magenta .gs-pp-info-card__nolist li::before { color: var(--magenta, #FF3F8E); opacity: 1; }

.gs-pp-info-card--purple {
  background: rgba(165,126,255,0.06);
  border-color: rgba(165,126,255,0.30);
}
.gs-pp-info-card--purple:hover { border-color: rgba(165,126,255,0.55); background: rgba(165,126,255,0.09); }
.gs-pp-info-card--purple .gs-pp-info-card__icon { color: var(--purple-glow, #A57EFF); border-color: rgba(165,126,255,0.45); background: rgba(165,126,255,0.10); }
.gs-pp-info-card--purple .gs-pp-info-card__list li::before { background: var(--purple-glow, #A57EFF); opacity: 1; }

.gs-pp-info-card--alien {
  background: rgba(157,255,110,0.06);
  border-color: rgba(157,255,110,0.30);
}
.gs-pp-info-card--alien:hover { border-color: rgba(157,255,110,0.55); background: rgba(157,255,110,0.09); }
.gs-pp-info-card--alien .gs-pp-info-card__icon { color: var(--alien, #9DFF6E); border-color: rgba(157,255,110,0.45); background: rgba(157,255,110,0.10); }
.gs-pp-info-card--alien .gs-pp-info-card__list li::before { background: var(--alien, #9DFF6E); opacity: 1; }

/* ============================================================
   Fix footer social — orizontal (override .cosmo-footer ul grid)
   ============================================================ */

.cosmo-footer .gs-footer-social {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
}

/* ============================================================
   Accordion-uri Ingrediente & Valori nutriționale (added 2026-05-17)
   ============================================================ */

.gs-pp-accordions-section { padding: 32px 0 56px; }

.gs-pp-accordions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

@media (min-width: 880px) {
  .gs-pp-accordions { grid-template-columns: 1fr 1fr; gap: 24px; }
}

.gs-pp-accordion {
  border-radius: var(--r-md, 18px);
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--hairline, rgba(255,255,255,0.10));
  overflow: hidden;
  transition: border-color .25s ease, background .25s ease;
}

.gs-pp-accordion > summary { list-style: none; cursor: pointer; }
.gs-pp-accordion > summary::-webkit-details-marker { display: none; }

.gs-pp-accordion__head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 22px;
  font-weight: 600;
  color: var(--ink, #fff);
}

.gs-pp-accordion__icon-leading {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--hairline, rgba(255,255,255,0.10));
}

.gs-pp-accordion__label {
  flex: 1;
  font-size: 16px;
  letter-spacing: 0.2px;
}

.gs-pp-accordion__icon {
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  color: var(--ink-soft, #B4A8E6);
  transition: transform .25s ease;
}

.gs-pp-accordion[open] .gs-pp-accordion__icon { transform: rotate(45deg); }

.gs-pp-accordion__body {
  padding: 4px 22px 22px;
  color: var(--ink-2, #E8E1FF);
  font-size: 15px;
  line-height: 1.6;
  border-top: 1px solid var(--hairline, rgba(255,255,255,0.06));
  margin-top: 0;
}

.gs-pp-accordion__body > p:first-child { margin-top: 16px; }
.gs-pp-accordion__body > p:last-child { margin-bottom: 0; }

.gs-pp-nutrition-placeholder {
  font-style: italic;
  color: var(--ink-mute, #7A6FA8);
}

/* Tabel valori nutriționale */
.gs-pp-nutrition-list {
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.gs-pp-nutrition-list dt,
.gs-pp-nutrition-list dd {
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid var(--hairline, rgba(255,255,255,0.06));
}

.gs-pp-nutrition-list dt {
  color: var(--ink-soft, #B4A8E6);
  font-size: 14px;
}

.gs-pp-nutrition-list dd {
  color: var(--ink, #fff);
  font-weight: 600;
  font-size: 14px;
  text-align: right;
  margin-left: 16px;
}

.gs-pp-nutrition-list {
  grid-template-columns: 1fr auto;
}

.gs-pp-nutrition-list dt.gs-pp-nutrition-sub,
.gs-pp-nutrition-list dd.gs-pp-nutrition-sub {
  padding-left: 16px;
  font-size: 13px;
  color: var(--ink-mute, #7A6FA8);
  font-weight: 400;
}

.gs-pp-nutrition-list dt:last-of-type,
.gs-pp-nutrition-list dd:last-of-type { border-bottom: 0; }

/* Variante color accents (match cards) */
.gs-pp-accordion--yellow .gs-pp-accordion__icon-leading {
  color: var(--brand-yellow, #FFC83D);
  background: rgba(255,200,61,0.10);
  border-color: rgba(255,200,61,0.30);
}
.gs-pp-accordion--yellow[open] {
  border-color: rgba(255,200,61,0.30);
  background: rgba(255,200,61,0.04);
}

.gs-pp-accordion--alien .gs-pp-accordion__icon-leading {
  color: var(--alien, #9DFF6E);
  background: rgba(157,255,110,0.10);
  border-color: rgba(157,255,110,0.30);
}
.gs-pp-accordion--alien[open] {
  border-color: rgba(157,255,110,0.30);
  background: rgba(157,255,110,0.04);
}

.gs-pp-accordion--purple .gs-pp-accordion__icon-leading {
  color: var(--purple-glow, #A57EFF);
  background: rgba(165,126,255,0.10);
  border-color: rgba(165,126,255,0.30);
}

.gs-pp-accordion--magenta .gs-pp-accordion__icon-leading {
  color: var(--magenta, #FF3F8E);
  background: rgba(255,63,142,0.10);
  border-color: rgba(255,63,142,0.30);
}

/* ============================================================
   Tabel valori nutriționale (added 2026-05-17)
   ============================================================ */

table.gs-pp-nutrition {
  width: 100%;
  margin: 18px 0 0;
  border-collapse: collapse;
  font-size: 14px;
  table-layout: auto;
}

table.gs-pp-nutrition tr {
  border-bottom: 1px solid var(--hairline, rgba(255,255,255,0.08));
}

table.gs-pp-nutrition tr:last-child {
  border-bottom: 0;
}

table.gs-pp-nutrition th {
  text-align: left;
  font-weight: 500;
  color: var(--ink-soft, #B4A8E6);
  padding: 11px 12px 11px 0;
  vertical-align: middle;
  line-height: 1.4;
}

table.gs-pp-nutrition td {
  text-align: right;
  font-weight: 600;
  color: var(--ink, #fff);
  padding: 11px 0 11px 12px;
  white-space: nowrap;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}

/* ============================================================
   Patch 2026-05-17b: footer social nowrap + checkbox hide enforced
   ============================================================ */

.cosmo-footer .gs-footer-social {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: center;
}

.gs-create-account-input,
input.gs-create-account-input {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  clip: rect(0,0,0,0) !important;
}

/* ============================================================
   Safari fix: forțează synthesized italic dacă fontul nu are variant
   (added 2026-05-17c)
   ============================================================ */

.accent-italic,
.crew-card h3 .accent-italic,
em,
i,
[style*="italic"] {
  font-synthesis: style weight;
  font-synthesis-style: auto;
}
