/* ── Brand identity: amber #f5a623 / orange #e05820 / warm cream light ── */
@import url('https://fonts.googleapis.com/css2?family=Fredoka+One&family=Nunito:wght@400;600;700;800;900&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:      #0d0b18;
  --bg2:     #141220;
  --bg3:     #1c1a2c;
  --border:  rgba(255,255,255,0.07);
  --cyan:    #f5a623;
  --cyan2:   #c07818;
  --purple:  #e05820;
  --purple2: #a03810;
  --pink:    #f08030;
  --text:    #ede8e0;
  --muted:   #7a7060;
  --danger:  #ff4466;
  --green:   #30e878;
  --yellow:  #f8d030;
  --orange:  #ff8844;
  --radius:  14px;
}

html { scroll-behavior: smooth; overflow-x:hidden; }
body { font-family: 'Nunito', system-ui, sans-serif; background: var(--bg); color: var(--text); min-height: 100vh; font-size: 15px; line-height: 1.6; overflow-x:hidden; }
h1,h2,h3 { font-family: 'Fredoka One', 'Nunito', sans-serif; letter-spacing: 0.3px; }
a { color: var(--cyan); text-decoration: none; }
a:hover { color: var(--orange); }
img { max-width: 100%; display: block; }
input,select,textarea { font-family: inherit; font-size: inherit; }

/* ── Page entrance ──────────────────────────────────────────────────────── */
@keyframes pageIn   { from { opacity:0; } to { opacity:1; } }
@keyframes fadeIn   { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp  { from { opacity:0; transform:translateY(40px); } to { opacity:1; transform:none; } }
@keyframes shimmer  { from { left:-100%; } to { left:200%; } }
@keyframes blobFloat { 0%,100% { transform:translate(0,0) scale(1); } 50% { transform:translate(var(--tx,20px),var(--ty,-25px)) scale(1.08); } }
@keyframes tileIn   { from { opacity:0; transform:translateY(50px) scale(0.94); } to { opacity:1; transform:none; } }
@keyframes glowPulse { 0%,100% { opacity:0.6; } 50% { opacity:1; } }
@keyframes drip { 0%,80%,100% { height:0; opacity:0; } 40% { height:22px; opacity:1; } }
@keyframes spin { to { transform:rotate(360deg); } }

body { animation: pageIn 0.4s ease forwards; }
.animate-in { opacity:0; transform:translateY(36px); transition: opacity .5s ease, transform .5s ease; }
.animate-in.visible { opacity:1; transform:none; }

/* ── Layout ─────────────────────────────────────────────────────────────── */
.container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }

/* ── Navigation ─────────────────────────────────────────────────────────── */
nav {
  position: sticky; top: 0; z-index: 200;
  background: rgba(13,11,24,0.92);
  backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 1px 20px rgba(0,0,0,0.3);
}
.nav-inner { display:flex; align-items:center; height:66px; gap:20px; }
.nav-logo {
  font-family: 'Fredoka One', sans-serif; font-size: 1.35rem; white-space:nowrap;
  background: linear-gradient(90deg, var(--cyan), var(--purple));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  letter-spacing: 0.5px;
}
.nav-links { display:flex; align-items:center; gap:2px; }
.nav-links a { padding:6px 14px; border-radius:8px; color:var(--muted); font-size:0.88rem; font-weight:600; transition:all .2s; }
.nav-links a:hover,.nav-links a.active { color:var(--text); background:var(--bg3); }
.nav-right { display:flex; align-items:center; gap:8px; margin-left:auto; }
.lang-btn {
  padding:5px 11px; border-radius:7px; border:1px solid var(--border);
  background:var(--bg3); color:var(--muted); font-size:0.78rem; font-weight:700; cursor:pointer;
  transition:all .15s;
}
.lang-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.lang-btn.on { border-color:var(--cyan); color:var(--cyan); background:rgba(245,166,35,0.1); }
.cart-btn {
  display:flex; align-items:center; gap:8px;
  padding:8px 18px; border-radius:10px;
  background:linear-gradient(135deg,rgba(245,166,35,0.15),rgba(224,88,32,0.15));
  border:1px solid rgba(245,166,35,0.3);
  color:var(--text); font-size:0.88rem; font-weight:700; transition:all .2s;
}
.cart-btn:hover { border-color:var(--cyan); box-shadow:0 0 20px rgba(245,166,35,0.2); color:var(--cyan); }
.cart-badge {
  background:linear-gradient(135deg,var(--cyan),var(--purple)); color:#000; font-size:0.7rem; font-weight:900;
  border-radius:50%; width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center;
}
.cart-badge.hidden { display:none; }

/* ── Hero ───────────────────────────────────────────────────────────────── */
.hero {
  position:relative; overflow:hidden;
  background: var(--bg);
  padding-bottom:0;
}
.hero-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.hero-wave { position:absolute; bottom:-1px; left:0; width:100%; height:70px; display:block; }

/* Split layout */
.hero-split {
  display:grid; grid-template-columns:1fr 1fr; align-items:center;
  gap:40px; min-height:60vh; padding:60px 0 90px;
}
.hero-content { position:relative; z-index:1; }
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:8px; margin-bottom:20px;
  padding:6px 16px; border-radius:20px;
  background:rgba(192,64,16,0.1); border:1px solid rgba(192,64,16,0.2);
  font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:2px; color:var(--purple);
}
.hero-h1-light {
  font-family:'Fredoka One',sans-serif; font-size:clamp(2.4rem,5vw,4.2rem); line-height:1.1;
  margin-bottom:20px; display:block; cursor:default;
}
.hero-h1-light .line-cyan   { display:block; color:var(--cyan); }
.hero-h1-light .line-purple { display:block; color:var(--purple); }
.hero-sub { font-size:1rem; color:var(--muted); max-width:460px; margin-bottom:32px; line-height:1.7; }
.hero-origin {
  display:flex; align-items:center; gap:10px; margin-top:20px;
  font-size:0.78rem; font-weight:700; text-transform:uppercase;
  letter-spacing:2px; color:var(--muted);
}
.btn-hero-wa {
  background:#25D366; color:#fff; border:none;
  box-shadow:0 4px 16px rgba(37,211,102,0.3);
}
.btn-hero-wa:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(37,211,102,0.45); color:#fff; }

/* ── Hero scattered cards ─────────────────────────── */
@keyframes floatCard {
  0%,100% { transform:rotate(var(--rot)) translateY(0px); }
  50%      { transform:rotate(var(--rot)) translateY(-12px); }
}
.hero-visual { position:relative; z-index:1; overflow:hidden; border-radius:16px; }
.hero-scattered {
  position:relative; height:420px; overflow:hidden;
}
.hsc-card {
  position:absolute;
  width:200px; height:200px;
  border-radius:20px; overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,0.5), 0 2px 8px rgba(0,0,0,0.3);
  border:2px solid rgba(255,255,255,0.12);
  animation:floatCard 4s ease-in-out infinite;
  animation-delay:var(--delay,0s);
  transition:box-shadow .3s;
}
.hsc-card:hover {
  box-shadow:0 20px 50px rgba(212,130,10,0.25), 0 2px 8px rgba(0,0,0,0.1);
  z-index:10;
}
.hsc-card img { width:100%; height:100%; object-fit:cover; display:block; }
.hsc-ph { width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:var(--bg2); }

/* Poziții fixe pentru fiecare card */
.hsc-card-1 { top:0;   left:50%;  width:220px; height:220px; z-index:3; }
.hsc-card-2 { top:20px; left:5%;  width:190px; height:190px; z-index:2; }
.hsc-card-3 { top:200px; left:30%; width:200px; height:200px; z-index:4; }
.hsc-card-4 { top:180px; left:0%;  width:170px; height:170px; z-index:1; }
.hsc-card-5 { top:10px; left:72%; width:160px; height:160px; z-index:2; }

/* Ecrane medii: desktop 2 coloane dar coloana e mai îngustă — scale down carduri */
@media(min-width:861px) and (max-width:1200px){
  .hero-scattered { height:380px; }
  .hsc-card-1 { width:175px; height:175px; }
  .hsc-card-2 { width:155px; height:155px; }
  .hsc-card-3 { top:180px; left:28%; width:165px; height:165px; }
  .hsc-card-4 { top:162px; width:140px; height:140px; }
  .hsc-card-5 { left:62%; width:130px; height:130px; }
}

@media(max-width:860px){
  .hero-split { grid-template-columns:1fr; gap:0; }
  .hero-visual { order:-1; }
  .hero-scattered { height:230px; }
  .hsc-card-1 { top:0;    left:50%;  width:120px; height:120px; }
  .hsc-card-2 { top:12px; left:5%;   width:108px; height:108px; }
  .hsc-card-3 { top:118px; left:30%; width:112px; height:112px; }
  .hsc-card-4 { top:105px; left:0%;  width:96px;  height:96px; }
  .hsc-card-5 { top:8px;  left:68%;  width:92px;  height:92px; }
}

.hero-sub { font-size:1rem; color:var(--muted); max-width:460px; margin-bottom:32px; line-height:1.7; }
.hero-ctas { display:flex; flex-wrap:wrap; gap:12px; }

/* ── Buttons ────────────────────────────────────────────────────────────── */
.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 26px; border-radius:10px; font-size:0.95rem; font-weight:700; cursor:pointer; border:none; transition:all .2s; text-decoration:none; font-family:'Nunito',sans-serif; }
.btn-cyan { background:linear-gradient(135deg,var(--cyan),var(--cyan2)); color:#000; box-shadow:0 4px 24px rgba(245,166,35,0.35); }
.btn-cyan:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(245,166,35,0.5); color:#000; }
.btn-purple { background:linear-gradient(135deg,var(--purple),var(--pink)); color:#fff; box-shadow:0 4px 24px rgba(224,88,32,0.3); }
.btn-purple:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(224,88,32,0.45); color:#fff; }
.btn-outline { background:transparent; color:var(--cyan); border:2px solid rgba(245,166,35,0.4); }
.btn-outline:hover { border-color:var(--cyan); background:rgba(245,166,35,0.08); color:var(--cyan); }
.btn-ghost { background:var(--bg3); color:var(--text); border:1px solid var(--border); }
.btn-ghost:hover { border-color:var(--muted); color:var(--text); }
.btn-danger { background:var(--danger); color:#fff; }
.btn-danger:hover { background:#cc2244; color:#fff; }
.btn-sm { padding:7px 14px; font-size:0.82rem; border-radius:8px; }
.btn-block { width:100%; justify-content:center; }

/* ── Section headers ────────────────────────────────────────────────────── */
.sec-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:24px; }
.sec-title { font-family:'Fredoka One',sans-serif; font-size:1.8rem; }
.sec-title .accent-cyan { color:var(--cyan); }
.sec-title .accent-purple { color:var(--purple); }

/* ── Category Bento Grid ─────────────────────────────────────────────────── */
.bento-section { padding:60px 0 20px; }

/* ── Dot-grid background for product sections ─────────────────────── */
.bento-section,
.shop-section {
  background-image: radial-gradient(circle, rgba(245,166,35,0.15) 1px, transparent 1px);
  background-size: 28px 28px;
}
.bento-grid {
  display:grid; align-items:start;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:240px;
  gap:16px;
}
/* ── Category tile flip card ─────────────────────────────────────────────── */
.cat-tile {
  position:relative; display:block; border-radius:18px;
  perspective:1100px; cursor:pointer; text-decoration:none;
  height:200px;
  border:1px solid rgba(255,255,255,0.08);
  transition:box-shadow .35s ease;
}
.cat-tile--hero { grid-column:span 2; }
.cat-tile--tall { grid-column:span 3; }
.cat-tile--wide { grid-column:span 3; }
.cat-tile:hover { box-shadow:0 24px 56px rgba(0,0,0,0.65), 0 0 50px var(--cat-glow); }

.cat-tile-inner {
  position:relative; width:100%; height:100%;
  transform-style:preserve-3d;
  transition:transform .65s cubic-bezier(.4,.2,.2,1);
  border-radius:18px;
}
.cat-tile:hover .cat-tile-inner { transform:rotateY(180deg); }

.cat-tile-front,
.cat-tile-back {
  position:absolute; inset:0; border-radius:18px;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  overflow:hidden; padding:20px;
}

/* ── Front ── */
.cat-tile-front {
  background:linear-gradient(145deg, var(--cat-dark), var(--cat-color));
  display:flex; flex-direction:column; justify-content:flex-end;
}
.cat-tile-front::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.1) 50%,transparent 100%);
  transform:translateX(-100%); transition:transform .55s ease;
}
.cat-tile:hover .cat-tile-front::after { transform:translateX(200%); }

.cat-tile-badge {
  position:absolute; top:14px; right:14px;
  background:rgba(0,0,0,0.45); backdrop-filter:blur(8px);
  padding:4px 12px; border-radius:20px; font-size:0.72rem; font-weight:700;
  color:rgba(255,255,255,0.75); border:1px solid rgba(255,255,255,0.1);
}
.cat-tile-count { font-size:0.75rem; color:rgba(255,255,255,0.5); margin-bottom:4px; }
.cat-tile-name  {
  font-family:'Fredoka One',sans-serif; font-size:clamp(1.5rem,2.5vw,2.2rem);
  color:#fff; line-height:1; text-shadow:0 2px 16px rgba(0,0,0,0.5);
}
.cat-tile-arrow { color:rgba(255,255,255,0.6); font-size:1rem; margin-top:4px; }

/* ── Back ── */
.cat-tile-back {
  transform:rotateY(180deg);
  display:flex; flex-direction:column; gap:10px;
}
.cat-back-header {
  display:flex; align-items:baseline; justify-content:space-between;
}
.cat-back-title {
  font-family:'Fredoka One',sans-serif; font-size:1.1rem; color:#fff;
}
.cat-back-count {
  font-size:0.68rem; font-weight:700; color:rgba(255,255,255,0.55);
  text-transform:uppercase; letter-spacing:1px;
}
.cat-back-list {
  display:grid; grid-template-columns:repeat(4,1fr); gap:6px;
  overflow:hidden; align-content:start;
}
.cat-back-row {
  display:flex; flex-direction:column; align-items:center; gap:3px;
  background:rgba(0,0,0,0.22); border-radius:8px; padding:5px 4px 4px;
  overflow:hidden;
}
.cat-back-thumb {
  width:100%; height:52px; flex-shrink:0;
  border-radius:5px; overflow:hidden; background:rgba(0,0,0,0.3);
  display:flex; align-items:center; justify-content:center; font-size:1.2rem;
}
.cat-back-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.cat-back-info { width:100%; min-width:0; }
.cat-back-name {
  font-size:0.6rem; font-weight:700; color:#fff; text-align:center;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.2;
}
.cat-back-price {
  font-size:0.56rem; color:rgba(255,255,255,0.55); text-align:center;
}
.cat-back-empty {
  color:rgba(255,255,255,0.5); font-size:0.8rem; text-align:center; padding:12px 0;
}
.cat-back-cta {
  font-size:0.72rem; font-weight:800; color:#fff;
  text-align:right; opacity:0.8; letter-spacing:0.3px;
}

/* ── Category header banner (when inside a category) ────────────────────── */
.cat-banner {
  position:relative; overflow:hidden;
  padding:48px 0; margin-bottom:0;
  background:linear-gradient(135deg,var(--cat-dark,#0d0d22),var(--cat-mid,#14142e));
  border-bottom:1px solid var(--border);
}
.cat-banner-glow {
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 80% 50%,var(--cat-glow,rgba(224,88,32,0.2)) 0%,transparent 60%);
}
.cat-banner-content { position:relative; z-index:1; }
.cat-banner-label { font-size:0.75rem; text-transform:uppercase; letter-spacing:2px; color:var(--muted); margin-bottom:8px; }
.cat-banner-title { font-family:'Fredoka One',sans-serif; font-size:clamp(2rem,5vw,3.5rem); color:var(--cat-color,var(--cyan)); margin-bottom:8px; }
.cat-banner-meta { color:var(--muted); font-size:0.9rem; }

/* ── Product grid ────────────────────────────────────────────────────────── */
.shop-section { padding:40px 0 64px; }
.products-header { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:24px; }
.product-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:18px; }
.product-card {
  position:relative; overflow:hidden; border-radius:16px;
  background:var(--bg2); border:1px solid var(--border);
  transition:transform .32s cubic-bezier(.34,1.4,.64,1), box-shadow .32s ease, border-color .25s;
  will-change:transform;
}
.product-card:hover {
  transform:translateY(-6px) scale(1.012);
  border-color:rgba(212,130,10,0.4);
  box-shadow:0 20px 48px rgba(0,0,0,0.14), 0 0 0 1px rgba(212,130,10,0.18), 0 0 30px rgba(212,130,10,0.08);
}
/* Holographic shine overlay */
.card-shine {
  position:absolute; inset:0; z-index:2; pointer-events:none; border-radius:16px;
  background:radial-gradient(circle at 50% 50%, rgba(255,255,255,0.06), transparent 60%);
  transition:background .1s;
}
.product-card-img {
  aspect-ratio:1; overflow:hidden; background:var(--bg3);
  display:flex; align-items:center; justify-content:center; position:relative;
}
.product-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.product-card:hover .product-card-img img { transform:scale(1.08); }
.product-card-img .no-img { font-size:3.5rem; color:var(--bg3); filter:brightness(2); }
.card-featured-badge {
  position:absolute; top:10px; left:10px; z-index:3;
  background:linear-gradient(135deg,var(--cyan),var(--purple));
  color:#000; font-size:0.68rem; font-weight:900; padding:3px 10px; border-radius:6px;
  text-transform:uppercase; letter-spacing:1px;
}
/* Quick-add overlay that slides up on hover */
.card-quick-add {
  position:absolute; bottom:-58px; left:0; right:0; z-index:3;
  background:linear-gradient(135deg,var(--cyan),var(--purple));
  padding:15px; text-align:center; font-weight:900; font-size:0.88rem;
  color:#000; letter-spacing:0.04em;
  transition:bottom .28s cubic-bezier(.34,1.25,.64,1);
  cursor:pointer;
  box-shadow:0 -6px 20px rgba(0,0,0,0.12);
}
.card-quick-add::before {
  content:'🛒 ';
}
.product-card:hover .card-quick-add { bottom:0; }
.product-card-body { padding:14px 16px 16px; }
.product-card-cat { font-size:0.7rem; text-transform:uppercase; letter-spacing:1.5px; color:var(--muted); margin-bottom:5px; }
.product-card-name { font-size:0.94rem; font-weight:700; color:var(--text); line-height:1.35; margin-bottom:4px; }
.product-card-mat { font-size:0.76rem; color:var(--muted); margin-bottom:10px; }
.product-card-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.price { font-size:1.05rem; font-weight:800; background:linear-gradient(90deg,var(--cyan),var(--purple)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.stock-in  { font-size:0.72rem; padding:3px 8px; border-radius:5px; background:rgba(48,232,120,0.12); color:var(--green); font-weight:700; }
.stock-out { font-size:0.72rem; padding:3px 8px; border-radius:5px; background:rgba(255,68,102,0.12); color:var(--danger); font-weight:700; }

/* ── Filters bar ─────────────────────────────────────────────────────────── */
.filters { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.filter-pill {
  padding:7px 18px; border-radius:20px; font-size:0.82rem; font-weight:700;
  border:1px solid var(--border); color:var(--muted); background:var(--bg2);
  cursor:pointer; transition:all .2s; white-space:nowrap; text-decoration:none;
}
.filter-pill:hover { border-color:var(--cyan); color:var(--cyan); }
.filter-pill.on { background:rgba(245,166,35,0.1); border-color:var(--cyan); color:var(--cyan); }
.search-wrap { flex:1; max-width:300px; position:relative; }
.search-wrap input {
  width:100%; padding:9px 14px 9px 38px;
  background:var(--bg2); border:1px solid var(--border); border-radius:10px;
  color:var(--text); font-weight:600; transition:border-color .2s;
}
.search-wrap input:focus { outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(245,166,35,0.1); }
.search-wrap::before { content:'🔍'; position:absolute; left:12px; top:50%; transform:translateY(-50%); font-size:0.82rem; pointer-events:none; }

/* ── Product detail page ─────────────────────────────────────────────────── */
.product-detail { display:grid; grid-template-columns:1fr 1fr; gap:52px; padding:48px 0; }
.product-img-col { display:flex; flex-direction:column; gap:12px; }
.product-img-box {
  background:var(--bg2); border:1px solid var(--border); border-radius:20px;
  overflow:hidden; aspect-ratio:1; display:flex; align-items:center; justify-content:center;
  position:relative;
}
.product-img-box img { width:100%; height:100%; object-fit:cover; }
.product-img-box .no-img { font-size:7rem; color:var(--bg3); filter:brightness(2); }
/* Gallery thumbnails */
.gallery-thumbs {
  display:flex; gap:8px; overflow-x:auto; padding-bottom:2px;
}
.gallery-thumbs::-webkit-scrollbar { height:4px; }
.gallery-thumbs::-webkit-scrollbar-track { background:transparent; }
.gallery-thumbs::-webkit-scrollbar-thumb { background:var(--border); border-radius:4px; }
.gallery-thumb {
  width:72px; height:72px; flex-shrink:0; border:2px solid transparent;
  border-radius:10px; overflow:hidden; padding:0; background:var(--bg2); cursor:pointer;
  transition:border-color .2s, transform .15s;
}
.gallery-thumb:hover { transform:scale(1.05); }
.gallery-thumb.active { border-color:var(--cyan); }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.product-info h1 { font-size:clamp(1.6rem,3vw,2.4rem); margin-bottom:4px; }
.product-big-price {
  font-size:2.2rem; font-weight:900; margin:16px 0;
  background:linear-gradient(90deg,var(--cyan),var(--purple));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.product-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.product-tag {
  padding:5px 14px; background:var(--bg3); border:1px solid var(--border);
  border-radius:8px; font-size:0.8rem; color:var(--muted);
}
.product-tag strong { color:var(--text); }
.product-desc { color:var(--muted); line-height:1.85; margin-bottom:28px; }
.product-desc .pdesc-p { margin-bottom:10px; }
.product-desc .pdesc-p:last-child { margin-bottom:0; }
.product-desc .pdesc-list { padding-left:18px; margin:6px 0 12px; list-style:none; }
.product-desc .pdesc-list li { position:relative; padding-left:14px; margin-bottom:5px; line-height:1.65; }
.product-desc .pdesc-list li::before { content:'▸'; position:absolute; left:0; color:var(--cyan); font-size:0.8em; top:2px; }
.qty-row { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.qty-ctrl { display:flex; align-items:center; }
.qty-btn {
  width:36px; height:36px; background:var(--bg3); border:1px solid var(--border);
  color:var(--text); border-radius:8px; font-size:1.2rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:all .15s;
}
.qty-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.qty-num {
  width:52px; height:36px; text-align:center; background:var(--bg2);
  border:1px solid var(--border); border-radius:0; color:var(--text);
}
.qty-num:focus { outline:none; border-color:var(--cyan); }

/* ── Cart ────────────────────────────────────────────────────────────────── */
.cart-wrap { padding:40px 0 64px; }
.cart-table { width:100%; border-collapse:collapse; margin-bottom:32px; }
.cart-table th { text-align:left; padding:10px 14px; font-size:0.75rem; text-transform:uppercase; letter-spacing:1.5px; color:var(--muted); border-bottom:1px solid var(--border); }
.cart-table td { padding:16px 14px; border-bottom:1px solid var(--border); vertical-align:middle; }
.cart-row:hover td { background:rgba(255,255,255,0.01); }
.cart-prod { display:flex; align-items:center; gap:14px; }
.cart-thumb { width:62px; height:62px; border-radius:10px; overflow:hidden; background:var(--bg3); flex-shrink:0; display:flex; align-items:center; justify-content:center; border:1px solid var(--border); }
.cart-thumb img { width:100%; height:100%; object-fit:cover; }
.cart-thumb .no-img { font-size:1.4rem; }
.cart-pname { font-weight:700; font-size:0.92rem; }
.cart-pmat { font-size:0.76rem; color:var(--muted); }
.cart-qty { width:58px; padding:7px 8px; text-align:center; background:var(--bg3); border:1px solid var(--border); border-radius:8px; color:var(--text); }
.cart-summary-box { max-width:380px; margin-left:auto; background:var(--bg2); border:1px solid var(--border); border-radius:18px; padding:28px; }
.cart-row-sum { display:flex; justify-content:space-between; padding:9px 0; font-size:0.92rem; border-bottom:1px solid var(--border); }
.cart-row-sum:last-of-type { border:none; font-weight:800; font-size:1.1rem; padding-top:14px; }
.cart-empty-state { text-align:center; padding:80px 0; color:var(--muted); }
.cart-empty-state .icon { font-size:4rem; margin-bottom:16px; display:block; }

/* ── Checkout ────────────────────────────────────────────────────────────── */
.checkout-grid { display:grid; grid-template-columns:1fr 360px; gap:32px; padding:40px 0 64px; }
.form-card { background:var(--bg2); border:1px solid var(--border); border-radius:18px; padding:28px; margin-bottom:20px; }
.form-card h3 { font-size:0.8rem; text-transform:uppercase; letter-spacing:1.5px; color:var(--muted); margin-bottom:20px; }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:0.82rem; color:var(--muted); font-weight:700; margin-bottom:6px; }
.form-group input, .form-group select, .form-group textarea {
  width:100%; padding:11px 14px; background:var(--bg);
  border:1px solid var(--border); border-radius:10px; color:var(--text); font-weight:600;
  transition:border-color .2s, box-shadow .2s;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(245,166,35,0.1); }
.form-group textarea { resize:vertical; min-height:90px; }
.form-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.discount-row { display:flex; gap:8px; }
.discount-row input { flex:1; }
.order-summary-card { background:var(--bg2); border:1px solid var(--border); border-radius:18px; padding:24px; position:sticky; top:80px; }
.order-summary-card h3 { font-size:0.8rem; text-transform:uppercase; letter-spacing:1.5px; color:var(--muted); margin-bottom:16px; }
.order-sum-item { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--border); font-size:0.88rem; }
.order-sum-item:last-of-type { border:none; }
.order-sum-total { display:flex; justify-content:space-between; padding-top:12px; margin-top:4px; font-weight:800; font-size:1.05rem; }
.notice-box {
  display:flex; gap:10px; align-items:flex-start;
  background:rgba(224,88,32,0.07); border:1px solid rgba(224,88,32,0.2);
  border-radius:10px; padding:14px 16px; font-size:0.83rem; color:var(--muted); margin-bottom:20px;
}
.discount-badge {
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(245,166,35,0.12); border:1px solid rgba(245,166,35,0.3);
  color:var(--cyan); font-size:0.82rem; font-weight:700; padding:4px 12px; border-radius:8px; margin-top:8px;
}

/* ── Success page ────────────────────────────────────────────────────────── */
.success-page { text-align:center; padding:80px 0; }
.success-icon { font-size:5rem; margin-bottom:20px; display:block; animation:fadeIn .8s ease; }
.success-page h1 { font-size:2.2rem; margin-bottom:12px; background:linear-gradient(90deg,var(--cyan),var(--purple)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.success-page p { color:var(--muted); margin-bottom:8px; }
.order-num-chip {
  display:inline-block; margin:20px 0;
  background:linear-gradient(135deg,rgba(245,166,35,0.1),rgba(224,88,32,0.1));
  border:2px solid rgba(224,88,32,0.4);
  color:var(--purple); font-family:'Fredoka One',sans-serif;
  font-size:1.5rem; padding:12px 36px; border-radius:12px; letter-spacing:3px;
}

/* ── Misc ────────────────────────────────────────────────────────────────── */
.breadcrumb { display:flex; gap:6px; font-size:0.82rem; color:var(--muted); padding:18px 0 0; }
.breadcrumb a { color:var(--muted); }
.breadcrumb a:hover { color:var(--cyan); }
.page-title { font-size:1.8rem; margin:32px 0 8px; }
.empty-state { text-align:center; padding:60px 0; color:var(--muted); }
.empty-state .icon { font-size:3rem; margin-bottom:12px; }
.section-title { font-family:'Fredoka One',sans-serif; font-size:1.4rem; margin-bottom:20px; }

/* ── Footer ──────────────────────────────────────────────────────────────── */
/* ── Scrollbar ───────────────────────────────────────────────────────────── */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb {
  background:linear-gradient(180deg,var(--cyan),var(--purple));
  border-radius:10px;
}
::-webkit-scrollbar-thumb:hover { background:var(--cyan); }

/* ── Footer ──────────────────────────────────────────────────────────────── */
footer {
  border-top:1px solid var(--border);
  padding:60px 0 32px;
  margin-top:60px;
  color:var(--muted);
  font-size:0.85rem;
  background:var(--bg2);
}
.footer-grid {
  display:grid;
  grid-template-columns:1.8fr 1fr 1fr 1fr;
  gap:40px;
  margin-bottom:48px;
}
.footer-brand .footer-logo {
  font-family:'Fredoka One',sans-serif; font-size:1.4rem;
  background:linear-gradient(90deg,var(--cyan),var(--purple));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  display:block; margin-bottom:12px;
}
.footer-brand p { line-height:1.7; font-size:0.83rem; max-width:240px; }
.footer-social { display:flex; gap:10px; margin-top:20px; }
.footer-social a {
  width:36px; height:36px; border-radius:10px;
  background:var(--bg3); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; text-decoration:none;
  transition:border-color .2s, background .2s;
}
.footer-social a:hover { border-color:var(--cyan); background:rgba(0,232,184,0.08); }
.footer-col h4 {
  font-size:0.72rem; font-weight:700; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--text);
  margin-bottom:16px;
}
.footer-col a {
  display:block; color:var(--muted); text-decoration:none;
  margin-bottom:10px; font-size:0.84rem;
  transition:color .2s;
}
.footer-col a:hover { color:var(--cyan); }
.footer-newsletter { margin-top:4px; }
.footer-newsletter p { font-size:0.82rem; margin-bottom:12px; line-height:1.6; }
.footer-newsletter form { display:flex; gap:8px; }
.footer-newsletter input {
  flex:1; padding:9px 14px; border-radius:10px;
  background:var(--bg3); border:1px solid var(--border);
  color:var(--text); font-size:0.82rem; outline:none;
  transition:border-color .2s;
}
.footer-newsletter input:focus { border-color:var(--cyan); }
.footer-newsletter button {
  padding:9px 16px; border-radius:10px;
  background:linear-gradient(135deg,var(--cyan),var(--purple));
  border:none; color:#000; font-weight:800; font-size:0.8rem;
  cursor:pointer; white-space:nowrap;
}
.footer-bottom {
  border-top:1px solid var(--border); padding-top:24px;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:12px; font-size:0.78rem; color:var(--muted);
}
.footer-bottom a { color:var(--muted); text-decoration:none; }
.footer-bottom a:hover { color:var(--cyan); }

/* ── FAQ page ─────────────────────────────────────────── */
.faq-hero {
  background:linear-gradient(135deg,var(--bg2),var(--bg3));
  border-bottom:1px solid var(--border);
  padding:60px 0 40px; text-align:center;
}
.faq-hero h1 { font-size:clamp(1.8rem,4vw,2.8rem); color:var(--cyan); }
.faq-hero p  { color:var(--muted); margin-top:8px; font-size:1rem; }
.faq-section { padding:60px 0; }
.faq-container { max-width:780px; }
.faq-group { margin-bottom:40px; }
.faq-group-title {
  font-size:1.1rem; font-weight:800; color:var(--text);
  margin-bottom:16px; padding-bottom:8px;
  border-bottom:1px solid var(--border);
}
.faq-item {
  background:var(--bg2); border:1px solid var(--border);
  border-radius:12px; margin-bottom:8px; overflow:hidden;
  transition:border-color .2s;
}
.faq-item[open] { border-color:rgba(245,166,35,0.35); }
.faq-item summary {
  padding:16px 20px; cursor:pointer; font-weight:700; font-size:0.92rem;
  color:var(--text); list-style:none; display:flex; justify-content:space-between; align-items:center;
  user-select:none;
}
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'﹢'; color:var(--cyan); font-size:1.2rem; transition:transform .25s; }
.faq-item[open] summary::after { content:'﹣'; }
.faq-item summary:hover { color:var(--cyan); }
.faq-answer { padding:0 20px 18px; color:var(--muted); font-size:0.88rem; line-height:1.7; }
.faq-answer strong { color:var(--text); }
.faq-cta {
  text-align:center; margin-top:48px; padding:32px;
  background:linear-gradient(135deg,rgba(245,166,35,0.08),rgba(224,88,32,0.08));
  border:1px solid rgba(245,166,35,0.2); border-radius:18px;
  color:var(--text); font-size:1.05rem; font-weight:700;
}
.footer-logo { font-family:'Fredoka One',sans-serif; font-size:1.1rem; background:linear-gradient(90deg,var(--cyan),var(--purple)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
@media(max-width:768px){
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:480px){
  .footer-grid { grid-template-columns:1fr; }
}

/* ── Admin ────────────────────────────────────────────────────────────────── */
.admin-layout { display:grid; grid-template-columns:230px 1fr; min-height:100vh; }
.admin-sidebar { background:var(--bg2); border-right:1px solid var(--border); padding:24px 0; position:sticky; top:0; height:100vh; overflow-y:auto; }
.admin-sidebar .logo { padding:0 20px 20px; border-bottom:1px solid var(--border); margin-bottom:12px; font-family:'Fredoka One',sans-serif; font-size:1.05rem; background:linear-gradient(90deg,var(--cyan),var(--purple)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.sidebar-link { display:flex; align-items:center; gap:10px; padding:10px 20px; color:var(--muted); font-size:0.88rem; font-weight:700; transition:all .15s; }
.sidebar-link:hover,.sidebar-link.on { background:var(--bg3); color:var(--text); }
.sidebar-link .icon { font-size:1rem; width:20px; text-align:center; }
.admin-main { padding:32px; background:var(--bg); }
.admin-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; }
.admin-header h1 { font-size:1.4rem; font-weight:700; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:32px; }
.stat-card { background:var(--bg2); border:1px solid var(--border); border-radius:14px; padding:22px; }
.stat-card .val { font-size:2rem; font-weight:800; color:var(--cyan); margin-bottom:4px; font-family:'Fredoka One',sans-serif; }
.stat-card .lbl { font-size:0.75rem; text-transform:uppercase; letter-spacing:1px; color:var(--muted); }
.data-table { width:100%; border-collapse:collapse; background:var(--bg2); border-radius:14px; overflow:hidden; border:1px solid var(--border); }
.data-table th { padding:12px 16px; text-align:left; font-size:0.75rem; text-transform:uppercase; letter-spacing:1px; color:var(--muted); background:var(--bg3); border-bottom:1px solid var(--border); }
.data-table td { padding:12px 16px; border-bottom:1px solid var(--border); font-size:0.87rem; vertical-align:middle; }
.data-table tr:last-child td { border-bottom:none; }
.data-table tr:hover td { background:rgba(255,255,255,0.02); }
.data-table .acts { display:flex; gap:8px; }
.sbadge { display:inline-block; padding:3px 10px; border-radius:5px; font-size:0.72rem; font-weight:800; text-transform:uppercase; }
.sbadge-pending   { background:rgba(248,208,48,0.12); color:var(--yellow); }
.sbadge-confirmed { background:rgba(245,166,35,0.12);  color:var(--cyan); }
.sbadge-shipped   { background:rgba(224,88,32,0.12); color:var(--purple); }
.sbadge-delivered { background:rgba(48,232,120,0.12); color:var(--green); }
.sbadge-cancelled { background:rgba(255,68,102,0.12); color:var(--danger); }
.sbadge-active    { background:rgba(48,232,120,0.12); color:var(--green); }
.sbadge-inactive  { background:rgba(255,68,102,0.12); color:var(--danger); }
.form-section { background:var(--bg2); border:1px solid var(--border); border-radius:14px; padding:24px; margin-bottom:20px; }
.form-section h3 { font-size:0.8rem; text-transform:uppercase; letter-spacing:1.5px; color:var(--muted); margin-bottom:18px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-check { display:flex; align-items:center; gap:8px; font-size:0.88rem; font-weight:600; }
.form-check input[type=checkbox] { accent-color:var(--cyan); width:16px; height:16px; }
.admin-login-page { display:flex; align-items:center; justify-content:center; min-height:100vh; }
.admin-login-card { width:360px; background:var(--bg2); border:1px solid var(--border); border-radius:20px; padding:40px; }
.admin-login-card h1 { text-align:center; font-size:1.5rem; margin-bottom:6px; }
.admin-login-card p { text-align:center; color:var(--muted); margin-bottom:28px; font-size:0.9rem; }
.err-box { background:rgba(255,68,102,0.1); border:1px solid rgba(255,68,102,0.3); border-radius:8px; padding:10px 14px; color:var(--danger); font-size:0.85rem; margin-bottom:14px; }
.order-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:24px; }

/* ── SEO / promo banners ─────────────────────────────────────────────────── */
.promo-banner {
  background:linear-gradient(135deg,rgba(224,88,32,0.15),rgba(245,166,35,0.15));
  border:1px solid rgba(224,88,32,0.25);
  border-radius:12px; padding:14px 20px; margin-bottom:20px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.promo-banner-text { font-size:0.9rem; font-weight:700; }
.promo-banner-code {
  background:rgba(0,0,0,0.3); padding:4px 14px; border-radius:6px;
  font-family:monospace; font-size:0.95rem; letter-spacing:2px; color:var(--cyan);
  border:1px dashed rgba(245,166,35,0.4);
}

/* ── Admin image grid ────────────────────────────────────────────────────── */
.admin-img-grid { display:flex; flex-wrap:wrap; gap:10px; }
.admin-img-item { position:relative; width:88px; height:88px; transition:opacity .2s; }
.admin-img-item img { width:100%; height:100%; object-fit:cover; border-radius:9px; border:1px solid var(--border); display:block; }
.admin-img-remove {
  position:absolute; top:-7px; right:-7px; width:22px; height:22px; border-radius:50%;
  background:var(--purple); color:#fff; border:2px solid var(--bg); cursor:pointer;
  font-size:0.68rem; display:flex; align-items:center; justify-content:center;
  font-weight:900; line-height:1; padding:0;
  transition:background .15s;
}
.admin-img-remove:hover { background:var(--cyan); }

/* ── Mobile navigation menu ──────────────────────────────────────────────── */
#mobileMenuBtn {
  display:none; background:none; border:1px solid var(--border);
  border-radius:8px; padding:8px 10px; color:var(--text);
  cursor:pointer; align-items:center; justify-content:center;
  flex-shrink:0; transition:border-color .15s, color .15s;
}
#mobileMenuBtn:hover { border-color:var(--cyan); color:var(--cyan); }
#mobileMenuBtn.open { border-color:var(--cyan); color:var(--cyan); background:rgba(245,166,35,0.08); }
#mobileMenu {
  display:none; position:fixed; top:58px; left:0; right:0;
  background:rgba(13,11,24,0.99); backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border); z-index:190;
  padding:4px 0 16px; box-shadow:0 8px 32px rgba(0,0,0,0.6);
  overflow-y:auto; max-height:calc(100vh - 58px);
}
#mobileMenu.open { display:block; }
.mob-link {
  display:block; padding:13px 20px; color:var(--muted);
  font-size:0.95rem; font-weight:600; text-decoration:none;
  border-left:3px solid transparent; transition:all .15s;
}
.mob-link:hover,.mob-link.active { color:var(--text); background:rgba(255,255,255,0.04); border-left-color:var(--cyan); }
.mob-link-cyan { color:var(--cyan) !important; font-weight:800; }
.mob-link-purple { color:var(--purple) !important; font-weight:800; }
.mob-sep { height:1px; background:var(--border); margin:6px 0; }
.mob-lang-row { display:flex; gap:8px; padding:10px 20px; }
.mob-account { padding:10px 20px; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
/* Nav compact la 1200px — evita overflow pe Z Fold inner (1123px) si ecrane medii */
@media (max-width:1200px) {
  .nav-inner { gap:10px; }
  .nav-links a { padding:6px 8px; font-size:0.82rem; }
  .nav-logo { font-size:1.1rem; }
  .lang-btn { padding:4px 8px; font-size:0.74rem; }
  .container { padding:0 16px; }
}
/* Hamburger nav la ≤1150px — include Z Fold inner (1123px), tablete, telefoane */
@media (max-width:1150px) {
  .nav-inner {
    position:relative; height:60px !important;
    padding:0 16px; gap:0; justify-content:space-between;
  }
  #mobileMenuBtn { display:inline-flex !important; }
  .nav-logo {
    position:absolute; left:50%; transform:translateX(-50%);
    font-size:1.05rem; white-space:nowrap; z-index:1; pointer-events:auto;
  }
  .nav-links { display:none !important; }
  .nav-right { gap:8px; flex-shrink:0; }
  .nav-right .nav-account-btn { display:none !important; }
}

/* Breakpoint la 820px ca Z Fold inner (~992px) sa vada layout desktop complet */
@media (max-width:820px) {
  .bento-grid { grid-template-columns:1fr 1fr; }
  .cat-tile--hero { grid-column:span 2; }
  .product-detail { grid-template-columns:1fr; gap:32px; }
  .checkout-grid { grid-template-columns:1fr; }
  .stat-grid { grid-template-columns:1fr 1fr; }
}
/* Admin mobil — breakpoint separat la 768px ca Z Fold inner (~884px) sa vada layout desktop */
@media (max-width:768px) {
  .admin-layout { grid-template-columns:1fr; }
  .admin-sidebar { display:flex; flex-direction:column; position:fixed; top:0; left:0; height:100vh; width:260px; z-index:1000; background:var(--bg2); border-right:1px solid var(--border); box-shadow:4px 0 24px rgba(0,0,0,0.5); transform:translateX(-100%); transition:transform .28s cubic-bezier(.4,0,.2,1); }
  .admin-sidebar.open { transform:translateX(0); }
  .admin-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.55); z-index:999; backdrop-filter:blur(2px); }
  .admin-overlay.open { display:block; }
  .admin-topbar { display:flex !important; align-items:center; gap:12px; padding:14px 16px; background:var(--bg2); border-bottom:1px solid var(--border); margin-bottom:20px; }
  .admin-topbar h2 { font-size:1rem; font-weight:700; margin:0; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .admin-hamburger { background:none; border:1px solid var(--border); border-radius:8px; color:var(--text); font-size:1.3rem; cursor:pointer; padding:4px 10px; line-height:1; flex-shrink:0; }
  .admin-main { padding:0 16px 32px; }
  .admin-topbar { margin:0 -16px 20px; }
}
@media (max-width:640px) {
  /* ─ Nav extra-compact pe telefoane mici ─ */
  .nav-right .lang-btn { display:none !important; }
  .cart-btn { padding:7px 12px !important; font-size:0.82rem !important; gap:5px !important; }
  .nav-inner { height:58px !important; padding:0 12px; }

  /* ─ Container ───────────────────────── */
  .container { padding:0 14px !important; }

  /* ─ Grids ───────────────────────────── */
  .bento-grid { grid-template-columns:1fr !important; }
  .cat-tile--hero,.cat-tile--tall { grid-column:span 1 !important; grid-row:span 1 !important; }
  .stat-grid { grid-template-columns:1fr 1fr !important; }
  .form-row,.form-grid2 { grid-template-columns:1fr !important; }
  .account-grid { grid-template-columns:1fr !important; }

  /* ─ Cart table ──────────────────────── */
  .cart-table th:nth-child(3),
  .cart-table td:nth-child(3) { display:none; }

  /* ─ Hero ────────────────────────────── */
  .hero-split { padding:32px 0 60px; gap:20px; min-height:unset; }
  .hero-h1-light { font-size:clamp(2rem,8vw,3rem) !important; }
  .hero-sub { font-size:0.9rem; }
  .hero-ctas { flex-direction:column; }
  .hero-ctas .btn { width:100%; justify-content:center; }

  /* ─ Trust strip ─────────────────────── */
  .trust-grid { grid-template-columns:1fr !important; gap:10px !important; }
  .trust-item { padding:14px 16px !important; }
}

/* ══════════════════════════════════════════════════════
   CONVERSION LAYER — badges, toasts, confetti, bars
   ══════════════════════════════════════════════════════ */

/* ── Product badges ─────────────────────────────────── */
.p-badge {
  position:absolute;top:10px;left:10px;z-index:3;
  font-size:0.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.8px;
  padding:4px 9px;border-radius:6px;pointer-events:none;
}
.p-badge-bestseller {
  background:linear-gradient(135deg,#ff6b00,#ff3366);color:#fff;
  animation:badgePulse 2s ease-in-out infinite;
  box-shadow:0 0 12px rgba(255,80,0,0.5);
}
.p-badge-new { background:linear-gradient(135deg,var(--cyan),var(--purple));color:#000; }
.p-badge-hot {
  background:#ff2244;color:#fff;
  animation:badgePulse 1.4s ease-in-out infinite;
  box-shadow:0 0 10px rgba(255,34,68,0.6);
}
.p-badge-sale { background:var(--green);color:#000; }
.p-badge-limited {
  background:linear-gradient(135deg,var(--yellow),var(--orange));color:#000;
  animation:badgeShimmer 2.5s linear infinite;
}
@keyframes badgePulse {
  0%,100% { transform:scale(1);   box-shadow:0 0 10px rgba(255,80,0,0.4); }
  50%      { transform:scale(1.08);box-shadow:0 0 20px rgba(255,80,0,0.7); }
}
@keyframes badgeShimmer {
  0%   { filter:brightness(1); }
  50%  { filter:brightness(1.3); }
  100% { filter:brightness(1); }
}

/* ── Low stock warning ──────────────────────────────── */
.stock-warning {
  font-size:0.72rem;font-weight:800;color:var(--danger);
  animation:stockBlink 1.8s ease-in-out infinite;
  display:flex;align-items:center;gap:4px;
}
@keyframes stockBlink {
  0%,100% { opacity:1; }
  50%      { opacity:.5; }
}

/* ── Crossed-out old price ──────────────────────────── */
.price-old {
  font-size:0.8rem;color:var(--muted);text-decoration:line-through;
  margin-right:4px;
}
.price-sale { color:var(--danger) !important; }

/* ── Purchase toast notifications ──────────────────── */
#toast-container {
  position:fixed;bottom:24px;left:24px;z-index:9999;
  display:flex;flex-direction:column;gap:10px;pointer-events:none;
}
.p-toast {
  display:flex;align-items:center;gap:12px;
  background:var(--bg2);border:1px solid var(--border);
  border-left:3px solid var(--cyan);border-radius:12px;
  padding:12px 16px;min-width:260px;max-width:320px;
  box-shadow:0 8px 32px rgba(0,0,0,0.4);pointer-events:auto;
  animation:toastIn .4s cubic-bezier(.34,1.56,.64,1) forwards;
}
.p-toast.hiding { animation:toastOut .3s ease forwards; }
.p-toast-img {
  width:40px;height:40px;border-radius:8px;object-fit:cover;
  flex-shrink:0;background:var(--bg3);display:flex;align-items:center;
  justify-content:center;font-size:1.4rem;
}
.p-toast-body { flex:1;min-width:0; }
.p-toast-name { font-size:0.82rem;font-weight:700;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.p-toast-meta { font-size:0.72rem;color:var(--muted); }
.p-toast-dot  { width:8px;height:8px;background:var(--green);border-radius:50%;
  flex-shrink:0;animation:dotPulse 1.5s ease-in-out infinite; }
@keyframes dotPulse {
  0%,100% { box-shadow:0 0 0 0 rgba(48,232,120,0.6); }
  50%      { box-shadow:0 0 0 5px rgba(48,232,120,0); }
}
@keyframes toastIn  {
  from { transform:translateX(-120%);opacity:0; }
  to   { transform:translateX(0);opacity:1; }
}
@keyframes toastOut {
  from { transform:translateX(0);opacity:1; }
  to   { transform:translateX(-120%);opacity:0; }
}

/* ── Free shipping bar ──────────────────────────────── */
.shipping-bar {
  background:var(--bg3);border-bottom:1px solid var(--border);
  padding:7px 0;text-align:center;font-size:0.8rem;font-weight:700;
  position:relative;overflow:hidden;
}
.shipping-bar-fill {
  position:absolute;top:0;left:0;height:100%;
  background:linear-gradient(90deg,rgba(245,166,35,.12),rgba(224,88,32,.12));
  transition:width .8s cubic-bezier(.4,0,.2,1);
}
.shipping-bar-text { position:relative;z-index:1; }
.shipping-bar-text .amt { color:var(--cyan);font-weight:900; }
.shipping-bar-text .done { color:var(--green); }

/* ── Watching counter ───────────────────────────────── */
.watching-badge {
  display:inline-flex;align-items:center;gap:6px;
  font-size:0.8rem;color:var(--muted);
  background:var(--bg2);border:1px solid var(--border);
  border-radius:20px;padding:4px 12px;
}
.watching-dot { width:7px;height:7px;background:var(--danger);border-radius:50%;
  animation:dotPulse 1.2s ease-in-out infinite; }

/* ── Confetti canvas ────────────────────────────────── */
#confetti-canvas {
  position:fixed;top:0;left:0;width:100%;height:100%;
  pointer-events:none;z-index:9998;
}

/* ── Animated counter ───────────────────────────────── */
.stat-counter { font-family:'Fredoka One',sans-serif;font-size:1.55rem;
  color:var(--text);letter-spacing:0.5px; }

/* ── Trust strip ────────────────────────────────────── */
.trust-strip {
  position:relative;
  background:var(--bg2);
  padding:50px 0;
}
.wave-top,.wave-bottom {
  position:absolute; left:0; width:100%; height:60px; display:block;
}
.wave-top  { top:-1px; }
.wave-bottom { bottom:-1px; }
.trust-grid {
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.trust-item {
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  padding:24px 22px;
  background:var(--bg3);border-radius:18px;
  border:1px solid var(--border);
  transition:transform .25s, box-shadow .25s;
}
.trust-item:hover {
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(0,0,0,0.3);
  border-color:rgba(245,166,35,0.25);
}
.trust-icon-wrap {
  width:52px;height:52px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;flex-shrink:0;
}
.trust-item div { display:flex;flex-direction:column;gap:5px; }
.trust-item strong { font-size:0.9rem;color:var(--text);font-weight:800;line-height:1.3; }
.trust-item span { font-size:0.78rem;color:var(--muted);line-height:1.5; }
@media(max-width:860px){
  .trust-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:480px){
  .trust-grid{grid-template-columns:1fr;}
}

/* ── Social proof section ───────────────────────────── */
.social-proof {
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;
  padding:20px 24px;border-top:1px solid var(--border);
  margin:0;
  background:rgba(255,255,255,0.015);
}
.sp-item { text-align:center;display:flex;flex-direction:column;
  align-items:center;padding:12px 36px; }
.sp-label { font-size:0.68rem;text-transform:uppercase;
  letter-spacing:1.8px;color:var(--muted);margin-top:3px;display:block; }
.sp-sep { width:1px;height:32px;background:var(--border);opacity:0.6; }

/* ── Shipping bar (cart) ────────────────────────────── */
.shipping-bar {
  background:var(--bg2);border:1px solid var(--border);border-radius:12px;
  padding:12px 16px;margin-bottom:20px;font-size:0.82rem;font-weight:700;
}
.shipping-bar-track {
  height:6px;background:var(--bg3);border-radius:4px;margin-top:8px;overflow:hidden;
}
.shipping-bar-fill {
  height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--purple));
  border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1);
}
.shipping-bar-text .amt { color:var(--cyan);font-weight:900; }
.shipping-bar-text .done { color:var(--green); }

/* ── Ticker bar ─────────────────────────────────────── */
.ticker-wrap {
  overflow:hidden;background:linear-gradient(90deg,var(--purple2),var(--cyan2));
  padding:8px 0;white-space:nowrap;
}
.ticker-inner {
  display:inline-flex;gap:60px;
  animation:tickerScroll 28s linear infinite;
}
.ticker-item { font-size:0.8rem;font-weight:700;color:#fff; }
@keyframes tickerScroll {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}

/* ── Category Drawer ────────────────────────────────────────────────────── */
.cat-drawer-toggle {
  position: fixed;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1100;
  background: linear-gradient(135deg, var(--cyan), var(--purple));
  color: #000;
  border: none;
  border-radius: 0 12px 12px 0;
  padding: 14px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  font-size: 0.65rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  box-shadow: 4px 0 24px rgba(245,166,35,0.3);
  transition: padding .25s, box-shadow .25s, background .2s;
  writing-mode: horizontal-tb;
  width: 46px;
}
.cat-drawer-toggle:hover, .cat-drawer-toggle.active {
  padding: 14px 14px;
  box-shadow: 6px 0 32px rgba(245,166,35,0.5);
}
.cat-drawer-toggle span {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  letter-spacing: 1px;
}

.cat-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 1199;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
  backdrop-filter: blur(3px);
}
.cat-drawer-backdrop.visible {
  opacity: 1;
  pointer-events: all;
}

.cat-drawer {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 280px;
  background: #1a1530;
  border-right: 2px solid var(--cyan);
  z-index: 1200;
  transform: translateX(-100%);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
  display: flex;
  flex-direction: column;
  box-shadow: 8px 0 40px rgba(0,0,0,0.5);
}
.cat-drawer.open { transform: translateX(0); }

.cat-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 20px 16px;
  border-bottom: 1px solid rgba(245,166,35,0.25);
  font-family: 'Fredoka One', sans-serif;
  font-size: 1.25rem;
  color: var(--cyan);
  background: #211d38;
  flex-shrink: 0;
}
.cat-drawer-close {
  background: none;
  border: none;
  color: var(--muted);
  font-size: 1.1rem;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: color .15s, background .15s;
}
.cat-drawer-close:hover { color: var(--text); background: rgba(255,255,255,0.08); }

.cat-drawer-nav {
  flex: 1;
  overflow-y: auto;
  padding: 12px 0;
}
.cat-drawer-nav::-webkit-scrollbar { width: 4px; }
.cat-drawer-nav::-webkit-scrollbar-track { background: transparent; }
.cat-drawer-nav::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }

.cat-drawer-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 20px;
  color: var(--text);
  font-weight: 600;
  font-size: 0.95rem;
  transition: background .15s, color .15s, padding-left .15s;
  border-left: 3px solid transparent;
  text-decoration: none;
}
.cat-drawer-item:hover {
  background: rgba(245,166,35,0.1);
  color: var(--cyan);
  border-left-color: var(--cyan);
  padding-left: 24px;
}
.cat-drawer-item.active {
  background: rgba(245,166,35,0.15);
  color: var(--cyan);
  border-left-color: var(--cyan);
}
.cat-drawer-all {
  border-bottom: 1px solid var(--border);
  margin-bottom: 8px;
  padding-bottom: 14px;
  font-weight: 800;
  color: var(--orange);
}
.cat-drawer-icon { font-size: 1.1rem; width: 24px; text-align: center; flex-shrink: 0; }
.cat-drawer-count {
  margin-left: auto;
  background: rgba(245,166,35,0.18);
  color: var(--cyan);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
}

.cat-drawer-footer {
  padding: 14px 20px;
  border-top: 1px solid rgba(245,166,35,0.2);
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #211d38;
  flex-shrink: 0;
}
.cat-drawer-link {
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 600;
  padding: 6px 0;
  transition: color .15s;
  text-decoration: none;
}
.cat-drawer-link:hover { color: var(--text); }

@media (max-width: 640px) {
  .cat-drawer { width: 85vw; }
  .cat-drawer-toggle { top: auto; bottom: 90px; transform: none; }
}
