
/* ═══════════════════════════════════════════════════════════════
   SimParts v58 — Ultra Modern Design System
   Novità v58: Light Mode, Password SHA-256, Order Confirmation,
               Copy Link, Network Error Handling
   ═══════════════════════════════════════════════════════════════ */

/* ── v58: LIGHT MODE ── */
body.light-mode {
  --bg: #f5f5f7;
  --sf: #ffffff;
  --sf2: #e8e8ed;
  --bd: #d1d1d6;
  --bd2: #c7c7cc;
  --tx: #1c1c1e;
  --sub: #48484a;
  --mut: #8e8e93;
  --wh: #1c1c1e;
  --glass: rgba(0,0,0,.03);
  --glass-bd: rgba(0,0,0,.1);
  --red-d: rgba(232,0,13,.08);
  --grn-d: rgba(16,185,129,.08);
  --amb-d: rgba(245,158,11,.08);
  --pur-d: rgba(139,92,246,.08);
  --blu-d: rgba(59,130,246,.08);
  background-image:
    radial-gradient(ellipse 80% 50% at 20% 10%,rgba(99,102,241,.04),transparent),
    radial-gradient(ellipse 60% 40% at 80% 80%,rgba(139,92,246,.03),transparent);
}
body.light-mode nav {
  background: rgba(255,255,255,.9);
  border-bottom-color: rgba(0,0,0,.08);
}
body.light-mode .pcard {
  background: linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.8));
  border-color: rgba(0,0,0,.1);
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
}
body.light-mode .pcard:hover {
  border-color: rgba(99,102,241,.4);
  box-shadow: 0 8px 28px rgba(99,102,241,.12);
}
body.light-mode .cart-drawer {
  background: linear-gradient(160deg,rgba(255,255,255,.98),rgba(248,248,252,.99));
  border-left-color: rgba(0,0,0,.1);
}
body.light-mode .modal {
  background: linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,248,252,.95));
  border-color: rgba(0,0,0,.1);
}
body.light-mode .finput,
body.light-mode .ftextarea,
body.light-mode .fselect {
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.12);
  color: var(--tx);
}
body.light-mode .arow {
  background: rgba(255,255,255,.8);
  border-color: rgba(0,0,0,.08);
}
body.light-mode .review-card,
body.light-mode .pend-card {
  background: rgba(255,255,255,.9);
  border-color: rgba(0,0,0,.08);
}
body.light-mode .admin-bar {
  background: rgba(255,255,255,.95);
  border-bottom-color: rgba(0,0,0,.08);
}

/* ── v58: THEME TOGGLE BUTTON ── */
#theme-toggle-btn {
  background: rgba(255,255,255,.06);
  border: 1px solid var(--bd2);
  border-radius: 50%;
  width: 34px; height: 34px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: .95rem;
  transition: all .2s;
  flex-shrink: 0;
}
#theme-toggle-btn:hover {
  background: rgba(99,102,241,.12);
  border-color: var(--acc);
  transform: scale(1.1) rotate(20deg);
}
body.light-mode #theme-toggle-btn {
  background: rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.15);
}

/* ── v58: ORDER CONFIRMATION OVERLAY ── */
#order-confirm-overlay {
  position: fixed; inset: 0; z-index: 10100;
  background: rgba(0,0,0,.88);
  backdrop-filter: blur(20px);
  display: none; /* shown via JS */
  align-items: center; justify-content: center;
  padding: 16px;
  opacity: 0; transition: opacity .3s;
}
#order-confirm-overlay.open { opacity: 1; }
.oc-box {
  background: linear-gradient(135deg,rgba(16,185,129,.08),rgba(99,102,241,.06));
  border: 1px solid rgba(16,185,129,.3);
  border-radius: 24px;
  width: 100%; max-width: 440px;
  padding: 32px 28px;
  box-shadow: 0 32px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(16,185,129,.15);
  animation: modalIn .35s cubic-bezier(.34,1.2,.64,1);
  text-align: center;
}
.oc-icon {
  font-size: 3.5rem; margin-bottom: 8px;
  animation: heartBeat .8s ease;
}
.oc-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 1.8rem;
  letter-spacing: .04em; text-transform: uppercase;
  background: linear-gradient(135deg, #10b981, #6ee7b7);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  margin-bottom: 4px;
}
.oc-sub {
  font-size: .85rem; color: var(--sub); margin-bottom: 20px;
}
.oc-details {
  background: rgba(0,0,0,.2);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px;
  text-align: left;
  margin-bottom: 20px;
}
body.light-mode .oc-details {
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.08);
}
.oc-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 5px 0;
  font-size: .82rem; color: var(--sub);
}
.oc-row strong { color: var(--tx); }
.oc-total-row {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 10px;
  margin-top: 8px;
  border-top: 1px solid rgba(255,255,255,.08);
}
body.light-mode .oc-total-row { border-top-color: rgba(0,0,0,.08); }
.oc-total-lbl {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800; font-size: .9rem; letter-spacing: .06em;
  text-transform: uppercase; color: var(--sub);
}
.oc-total-val {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 1.5rem;
  background: var(--grd3);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.oc-wa-btn {
  width: 100%; padding: 14px;
  background: linear-gradient(135deg, #1a8a44, #25d366);
  border: none; border-radius: 12px;
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800; font-size: 1rem;
  letter-spacing: .1em; text-transform: uppercase;
  cursor: pointer; margin-bottom: 10px;
  transition: all .2s;
  box-shadow: 0 8px 24px rgba(37,211,102,.3);
}
.oc-wa-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(37,211,102,.45); }
.oc-close-btn {
  width: 100%; padding: 10px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  color: var(--sub);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: .85rem;
  letter-spacing: .08em; text-transform: uppercase;
  cursor: pointer;
  transition: all .2s;
}
.oc-close-btn:hover { color: var(--tx); border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); }

/* ── ANIMATIONS 1-20: Base keyframes ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@keyframes popIn{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@keyframes shimmer{0%{background-position:200% center}100%{background-position:-200% center}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes navPop{0%{transform:scale(1)}50%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes glowPulse{0%,100%{box-shadow:0 0 20px rgba(99,102,241,.3),0 0 40px rgba(99,102,241,.1)}50%{box-shadow:0 0 40px rgba(99,102,241,.6),0 0 80px rgba(99,102,241,.3)}}
@keyframes borderRotate{from{--angle:0deg}to{--angle:360deg}}
@keyframes meshMove{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes countUp{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes ringDrain{from{stroke-dashoffset:0}to{stroke-dashoffset:32}}
@keyframes cardIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes addFlash{0%{box-shadow:0 0 0 0 rgba(16,185,129,.5)}50%{box-shadow:0 0 0 8px rgba(16,185,129,.2)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}
@keyframes heroGlow{0%,100%{opacity:.7;transform:scale(1) rotate(0deg)}50%{opacity:1;transform:scale(1.08) rotate(2deg)}}
@keyframes lineGrow{from{width:0}to{width:100%}}

/* ── ANIMATIONS 21-40: Interactive ── */
@keyframes atcSlideDown{from{transform:translateX(-50%) translateY(-120%);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}
@keyframes atcSlideUp{from{transform:translateX(-50%) translateY(0);opacity:1}to{transform:translateX(-50%) translateY(-120%);opacity:0}}
@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@keyframes checkDraw{from{stroke-dashoffset:40}to{stroke-dashoffset:0}}
@keyframes starPop{0%{transform:scale(1)}50%{transform:scale(1.35) rotate(-10deg)}100%{transform:scale(1)}}
@keyframes heartBeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.15)}70%{transform:scale(1)}}
@keyframes ripple{from{transform:scale(0);opacity:.5}to{transform:scale(3);opacity:0}}
@keyframes tagAppear{from{opacity:0;transform:scale(.7) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes barGrow{from{height:3px;opacity:0}to{opacity:1}}
@keyframes dotBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes skeletonWave{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes overlayIn{from{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(18px)}}
@keyframes modalIn{from{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes toastIn{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes toastOut{from{transform:translateX(0);opacity:1}to{transform:translateX(110%);opacity:0}}
@keyframes drawerSlide{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes ppSlide{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes filterSlide{from{opacity:0;max-height:0}to{opacity:1;max-height:600px}}
@keyframes thumbHover{from{border-color:transparent}to{border-color:var(--acc)}}
@keyframes priceGlow{0%,100%{text-shadow:none}50%{text-shadow:0 0 20px rgba(99,102,241,.6)}}

/* ── ANIMATIONS 41-60: Admin & UI ── */
@keyframes rowSlide{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}
@keyframes statCount{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes sidebarItem{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
@keyframes activeUnderline{from{width:0}to{width:100%}}
@keyframes progressBar{from{width:0}to{width:var(--pct)}}
@keyframes consoleOpen{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@keyframes badgePulse{0%,100%{box-shadow:0 0 0 0 rgba(232,0,13,.4)}70%{box-shadow:0 0 0 8px rgba(232,0,13,0)}}
@keyframes saBadgeWave{0%,100%{border-color:rgba(251,191,36,.3)}50%{border-color:rgba(251,191,36,.8);box-shadow:0 0 20px rgba(251,191,36,.3)}}
@keyframes menuDrop{from{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes inputFocus{from{box-shadow:0 0 0 0 rgba(99,102,241,0)}to{box-shadow:0 0 0 3px rgba(99,102,241,.25)}}
@keyframes btnWave{0%{transform:scale(1)}30%{transform:scale(.95)}70%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes iconSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes waFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.04)}}
@keyframes promoSlide{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@keyframes maintenanceGlow{0%,100%{text-shadow:0 0 30px rgba(251,191,36,.3)}50%{text-shadow:0 0 60px rgba(251,191,36,.8),0 0 100px rgba(251,191,36,.4)}}
@keyframes cartBounce{0%{transform:scale(1)}30%{transform:scale(1.18)}60%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes loadingDots{0%,80%,100%{transform:scale(0)}40%{transform:scale(1)}}
@keyframes gradientBorder{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes scrollReveal{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes flipIn{from{opacity:0;transform:perspective(400px) rotateX(-20deg)}to{opacity:1;transform:perspective(400px) rotateX(0)}}

/* ── ANIMATIONS 61-80: Product & Cart ── */
@keyframes photoAppear{from{opacity:0;transform:scale(.8) rotate(-4deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes photoRemove{to{opacity:0;transform:scale(.7) rotate(4deg)}}
@keyframes variantAppear{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}
@keyframes qtyBump{0%{transform:scale(1)}50%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes ringPulse{0%{opacity:1}100%{opacity:.3}}
@keyframes stockLow{0%,100%{border-color:rgba(217,119,6,.3)}50%{border-color:rgba(217,119,6,.8)}}
@keyframes stockOut{0%,100%{opacity:1}50%{opacity:.6}}
@keyframes priceReveal{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@keyframes descFade{from{opacity:0;max-height:0}to{opacity:1;max-height:200px}}
@keyframes relatedHover{from{transform:translateX(0)}to{transform:translateX(4px)}}
@keyframes cartItemIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes cartItemOut{to{opacity:0;transform:translateX(20px);max-height:0;padding:0;margin:0}}
@keyframes emptyCartBounce{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-12px) rotate(-8deg)}75%{transform:translateY(-8px) rotate(8deg)}}
@keyframes waBtn{0%,100%{box-shadow:0 8px 32px rgba(37,211,102,.3)}50%{box-shadow:0 8px 48px rgba(37,211,102,.6),0 0 0 8px rgba(37,211,102,.1)}}
@keyframes setupEntrance{from{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes logoMark{0%,100%{clip-path:polygon(0 0,100% 0,80% 100%,0 100%)}50%{clip-path:polygon(0 0,100% 0,90% 100%,0 100%)}}
@keyframes navShrink{from{height:64px}to{height:52px}}
@keyframes reviewCard{from{opacity:0;transform:translateX(-20px) scale(.97)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes setupCard{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes finRow{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}

/* ── ANIMATIONS 81-100: Special Effects ── */
@keyframes neonFlicker{0%,19%,21%,23%,25%,54%,56%,100%{text-shadow:0 0 10px var(--acc),0 0 20px var(--acc),0 0 40px var(--acc)}20%,24%,55%{text-shadow:none}}
@keyframes glassShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes particleFloat{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}
@keyframes orb1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}
@keyframes orb2{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-50px,20px) scale(.85)}66%{transform:translate(30px,-40px) scale(1.15)}}
@keyframes orb3{0%,100%{transform:translate(0,0)}50%{transform:translate(25px,30px)}}
@keyframes textGradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes borderFlow{0%{border-color:rgba(99,102,241,.3)}33%{border-color:rgba(16,185,129,.3)}66%{border-color:rgba(232,0,13,.3)}100%{border-color:rgba(99,102,241,.3)}}
@keyframes iconFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-6px) rotate(5deg)}}
@keyframes sectionReveal{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0% 0 0)}}
@keyframes slideUpFade{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}
@keyframes expandWidth{from{width:0;opacity:0}to{opacity:1}}
@keyframes glowLine{0%,100%{box-shadow:0 0 8px rgba(99,102,241,.4)}50%{box-shadow:0 0 24px rgba(99,102,241,.9),0 0 48px rgba(99,102,241,.4)}}
@keyframes waveText{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes morphBorder{0%{border-radius:12px}25%{border-radius:16px 8px}50%{border-radius:8px 16px}75%{border-radius:14px 10px}100%{border-radius:12px}}
@keyframes lightBeam{0%{opacity:0;transform:scaleX(0) rotate(-45deg)}50%{opacity:.15}100%{opacity:0;transform:scaleX(1) rotate(-45deg)}}
@keyframes cartPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes typewriter{from{width:0}to{width:100%}}

/* ══ RESET & ROOT ══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#04040a;--sf:#0a0a14;--sf2:#0f0f1c;--bd:#1a1a2e;--bd2:#252538;
  --red:#e8000d;--red-d:rgba(232,0,13,.12);--red-g:rgba(232,0,13,.25);
  --tx:#e8eaf6;--sub:#6b7280;--mut:#374151;--wh:#fff;
  --grn:#10b981;--grn-d:rgba(16,185,129,.12);
  --amb:#f59e0b;--amb-d:rgba(245,158,11,.12);
  --blu:#3b82f6;--blu-d:rgba(59,130,246,.12);
  --pur:#8b5cf6;--pur-d:rgba(139,92,246,.12);
  --acc:#6366f1;--acc2:#10b981;--acc3:#f59e0b;
  --wa:#25d366;
  --glass:rgba(255,255,255,.03);
  --glass-bd:rgba(255,255,255,.08);
  --grd1:linear-gradient(135deg,#6366f1,#8b5cf6);
  --grd2:linear-gradient(135deg,#10b981,#06b6d4);
  --grd3:linear-gradient(135deg,#e8000d,#f43f5e);
}
body{
  background:var(--bg);
  color:var(--tx);
  font-family:'Barlow',sans-serif;
  min-height:100vh;
  overflow-x:hidden;
  background-image:
    radial-gradient(ellipse 80% 50% at 20% 10%,rgba(99,102,241,.06),transparent),
    radial-gradient(ellipse 60% 40% at 80% 80%,rgba(139,92,246,.05),transparent),
    radial-gradient(ellipse 50% 60% at 50% 50%,rgba(16,185,129,.03),transparent);
  background-attachment:fixed;
}

/* ── SETUP SCREEN ── */
.setup-screen{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .5s ease;}
.setup-box{background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--glass-bd);border-radius:20px;padding:36px;width:100%;max-width:500px;box-shadow:0 32px 80px rgba(0,0,0,.6),0 0 0 1px rgba(99,102,241,.1);backdrop-filter:blur(20px);animation:setupEntrance .6s cubic-bezier(.34,1.56,.64,1);}
.setup-logo{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2rem;letter-spacing:.06em;text-transform:uppercase;color:var(--wh);margin-bottom:4px;background:linear-gradient(135deg,#fff 30%,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent;}
.setup-logo span{background:var(--grd1);-webkit-background-clip:text;background-clip:text;color:transparent;}
.setup-sub{color:var(--sub);font-size:.85rem;margin-bottom:24px;line-height:1.7;}
.setup-step{background:rgba(255,255,255,.02);border:1px solid var(--bd);border-radius:12px;padding:14px;margin-bottom:10px;transition:border-color .2s;}
.setup-step:hover{border-color:rgba(99,102,241,.3);}
.setup-step-head{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.setup-step-num{width:22px;height:22px;background:var(--grd1);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:900;flex-shrink:0;box-shadow:0 0 12px rgba(99,102,241,.4);}
.setup-step-body{font-size:.8rem;color:var(--sub);line-height:1.6;}
.setup-step-body a{color:#818cf8;text-decoration:none;}
.setup-step-body code{background:rgba(99,102,241,.1);color:#a5b4fc;padding:1px 7px;border-radius:4px;font-size:.78rem;font-family:monospace;border:1px solid rgba(99,102,241,.2);}
.setup-inputs{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.setup-inp{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--bd2);color:var(--tx);border-radius:10px;padding:10px 14px;font-family:'Barlow',sans-serif;font-size:.85rem;outline:none;transition:all .2s;}
.setup-inp:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(99,102,241,.2);}
.setup-save-btn{width:100%;padding:13px;background:var(--grd1);color:#fff;border:none;border-radius:10px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;margin-top:8px;transition:all .2s;box-shadow:0 8px 24px rgba(99,102,241,.35);}
.setup-save-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(99,102,241,.5);}
.setup-save-btn:active{transform:translateY(0);animation:btnWave .3s ease;}
.setup-sql-box{background:#060612;border:1px solid var(--bd);border-radius:8px;padding:12px;font-family:monospace;font-size:.7rem;color:#a5b4fc;white-space:pre-wrap;overflow-x:auto;max-height:180px;overflow-y:auto;margin-top:8px;}
.sql-copy-btn{padding:5px 14px;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.25);color:#818cf8;border-radius:6px;font-size:.72rem;font-weight:700;cursor:pointer;font-family:'Barlow',sans-serif;margin-top:6px;transition:all .2s;}
.sql-copy-btn:hover{background:rgba(99,102,241,.2);border-color:var(--acc);}

/* ── NAV ── */
nav{
  position:sticky;top:0;z-index:100;
  background:rgba(4,4,10,.85);
  backdrop-filter:blur(24px) saturate(180%);
  border-bottom:1px solid rgba(255,255,255,.06);
  height:60px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(14px,3.5vw,52px);gap:10px;
  transition:height .3s ease,background .3s ease;
}
nav::after{
  content:'';
  position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(99,102,241,.6),rgba(16,185,129,.4),transparent);
  animation:glowLine 3s ease infinite;
}
nav.scrolled{height:50px;background:rgba(4,4,10,.95);}
.nav-logo{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.4rem;
  letter-spacing:.06em;text-transform:uppercase;
  display:flex;align-items:center;gap:10px;flex-shrink:0;
  cursor:pointer;user-select:none;
}
.nav-logo-text{
  background:linear-gradient(135deg,#fff 20%,#a5b4fc 60%,#6ee7b7);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  background-size:200% auto;
  animation:shimmer 4s linear infinite;
}
.nav-logo span{color:var(--acc);}
.nav-mark{
  width:28px;height:28px;
  background:var(--grd1);
  clip-path:polygon(0 0,100% 0,80% 100%,0 100%);
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;font-weight:900;padding-right:3px;color:#fff;
  box-shadow:0 0 16px rgba(99,102,241,.5);
  animation:logoMark 4s ease-in-out infinite;
  transition:transform .2s;
}
nav.scrolled .nav-mark{transform:scale(.9);}
.nav-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.badge{
  background:var(--grd3);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.76rem;
  padding:3px 10px;border-radius:20px;letter-spacing:.06em;
  box-shadow:0 0 12px rgba(232,0,13,.4);
  animation:badgePulse 2s infinite;
}
.tab-bar{
  display:flex;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  overflow:hidden;
  backdrop-filter:blur(12px);
}
.tab{
  padding:6px 12px;font-size:.68rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;cursor:pointer;color:var(--sub);
  transition:all .2s;border:none;background:transparent;
  font-family:'Barlow',sans-serif;white-space:nowrap;position:relative;
}
.tab:hover{color:var(--tx);background:rgba(255,255,255,.05);}
.tab.active{
  background:var(--grd1);
  color:#fff;
  box-shadow:0 0 16px rgba(99,102,241,.4);
}
.tab-dot{position:absolute;top:4px;right:4px;width:5px;height:5px;background:var(--amb);border-radius:50%;display:none;box-shadow:0 0 6px var(--amb);}
.tab-dot.on{display:block;animation:pulse 1.5s ease infinite;}
.admin-tab{display:none;}
.admin-mode .admin-tab{display:block;}

/* CART BTN */
.cart-nav-btn{
  display:none;align-items:center;gap:7px;padding:6px 14px;
  background:rgba(37,211,102,.08);border:1px solid rgba(37,211,102,.2);
  border-radius:12px;color:#25d366;font-size:.7rem;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;cursor:pointer;
  font-family:'Barlow',sans-serif;transition:all .25s;
}
.cart-nav-btn.visible{display:flex;}
.cart-nav-btn.has{
  border-color:var(--wa);color:var(--wa);
  background:rgba(37,211,102,.12);
  box-shadow:0 0 16px rgba(37,211,102,.2);
  animation:cartBounce .45s cubic-bezier(.34,1.56,.64,1);
}
.cart-nav-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(37,211,102,.25);}
.cart-pulse{animation:cartBounce .5s cubic-bezier(.34,1.56,.64,1)!important;}
.cart-bubble{
  background:var(--grd2);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:.65rem;padding:2px 7px;border-radius:20px;
  min-width:20px;text-align:center;
}

/* ── VIEWS ── */
.view{display:none;}.view.vis{display:block;animation:fadeIn .3s ease;}

/* ── LOADING ── */
.page-loader{display:flex;align-items:center;justify-content:center;padding:80px 20px;flex-direction:column;gap:16px;color:var(--sub);}
.spinner{
  width:36px;height:36px;
  border:3px solid rgba(99,102,241,.15);
  border-top-color:var(--acc);
  border-right-color:rgba(16,185,129,.6);
  border-radius:50%;animation:spin .8s linear infinite;
  box-shadow:0 0 20px rgba(99,102,241,.3);
}

/* ── HERO ── */
.hero{
  position:relative;overflow:hidden;
  padding:clamp(52px,8vw,96px) clamp(14px,3.5vw,52px) clamp(36px,5vw,64px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 70% at 70% 40%,rgba(99,102,241,.18),transparent 60%),
    radial-gradient(ellipse 50% 60% at 20% 70%,rgba(139,92,246,.12),transparent 60%),
    radial-gradient(ellipse 40% 50% at 85% 80%,rgba(16,185,129,.08),transparent 55%);
  animation:heroGlow 8s ease-in-out infinite alternate;
}
.hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(99,102,241,.4) 30%,rgba(16,185,129,.3) 70%,transparent 100%);
}
.hero-inner{max-width:1100px;margin:0 auto;position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;gap:28px;}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--acc);margin-bottom:16px;
  animation:slideRight .5s ease both;
}
.hero-eyebrow::before{
  content:'';width:20px;height:2px;
  background:var(--grd1);
  box-shadow:0 0 8px rgba(99,102,241,.6);
  animation:expandWidth .6s ease both;
}
.hero h1{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:clamp(2.6rem,6vw,5.2rem);line-height:.9;
  letter-spacing:-.02em;text-transform:uppercase;
  background:linear-gradient(130deg,#ffffff 0%,#c7d2fe 40%,#a5f3fc 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:fadeUp .6s ease both,shimmer 5s linear 1s infinite;
}
.hero h1 em{
  background:var(--grd3);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:normal;
  filter:drop-shadow(0 0 20px rgba(232,0,13,.4));
}
.hero-sub{
  margin-top:14px;color:#94a3b8;font-size:.95rem;
  max-width:440px;line-height:1.7;
  animation:fadeUp .6s .12s ease both;
}
.hero-stat{text-align:right;flex-shrink:0;animation:fadeUp .6s .2s ease both;}
.hero-stat-num{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:clamp(2.4rem,5vw,4.2rem);line-height:1;
  background:var(--grd2);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 16px rgba(16,185,129,.4));
  animation:countUp .8s .3s ease both;
}
.hero-stat-num span{color:#6ee7b7;}
.hero-stat-lbl{font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sub);margin-top:4px;}

/* ── REVIEWS STRIP (homepage) ── */
.reviews-strip{max-width:1100px;margin:0 auto;padding:0 clamp(14px,3.5vw,52px) clamp(28px,4vw,48px);}
.reviews-strip-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sub);margin-bottom:16px;display:flex;align-items:center;gap:12px;}
.reviews-strip-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(99,102,241,.3),transparent);}
.reviews-scroller{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--bd) transparent;}
.reviews-scroller::-webkit-scrollbar{height:3px;}
.reviews-scroller::-webkit-scrollbar-track{background:transparent;}
.reviews-scroller::-webkit-scrollbar-thumb{background:var(--acc);border-radius:3px;}
.review-chip{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px;min-width:220px;max-width:280px;flex-shrink:0;transition:all .25s;backdrop-filter:blur(8px);}
.review-chip:hover{border-color:rgba(99,102,241,.3);transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.1);}
.rc-stars{color:#f59e0b;font-size:.8rem;margin-bottom:6px;letter-spacing:2px;filter:drop-shadow(0 0 4px rgba(245,158,11,.3));}
.rc-text{font-size:.78rem;color:var(--sub);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.rc-name{font-size:.7rem;color:var(--mut);margin-top:8px;font-weight:600;letter-spacing:.04em;}

/* ── SHOP ── */
.shop-wrap{max-width:1100px;margin:0 auto;padding:clamp(28px,4vw,48px) clamp(14px,3.5vw,52px);}
.sec-head{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.sec-title{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.3rem;
  letter-spacing:.1em;text-transform:uppercase;
  background:linear-gradient(135deg,#fff,#a5b4fc);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.sec-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(99,102,241,.4),rgba(16,185,129,.2),transparent);}

/* ── PRODUCT CARDS ── */
.product-list{display:flex;flex-direction:column;gap:10px;}
.pcard{
  background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  display:flex;align-items:stretch;overflow:hidden;
  transition:all .3s cubic-bezier(.34,1.2,.64,1);
  animation:cardIn .4s cubic-bezier(.34,1.2,.64,1) both;
  position:relative;cursor:pointer;
  box-shadow:0 4px 24px rgba(0,0,0,.3);
  backdrop-filter:blur(8px);
}
.pcard:hover{
  border-color:rgba(99,102,241,.5);
  transform:translateY(-3px);
  box-shadow:0 12px 40px rgba(99,102,241,.15),0 4px 24px rgba(0,0,0,.4);
}
.pcard::after{
  content:'';position:absolute;inset:0;border-radius:16px;
  background:linear-gradient(135deg,rgba(99,102,241,.05),transparent 50%);
  opacity:0;transition:opacity .3s;
  pointer-events:none;
}
.pcard:hover::after{opacity:1;}
.pcard.s-out{opacity:.45;pointer-events:none;}
.pcard.s-low{
  border-color:rgba(245,158,11,.25);
  animation:stockLow 3s ease infinite,cardIn .4s cubic-bezier(.34,1.2,.64,1) both;
}
.pcard.just-added{
  animation:addFlash .6s ease;
  border-color:rgba(16,185,129,.5);
}
.prod-badge{
  position:absolute;top:10px;left:0;
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  padding:3px 10px 3px 8px;border-radius:0 20px 20px 0;z-index:2;pointer-events:none;
}
.prod-badge.nuovo{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;box-shadow:0 0 12px rgba(59,130,246,.4);}
.prod-badge.top{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;box-shadow:0 0 12px rgba(245,158,11,.4);}
.prod-badge.limited{background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;box-shadow:0 0 12px rgba(139,92,246,.4);}
.pcard-img{
  width:130px;min-height:120px;flex-shrink:0;
  background:rgba(255,255,255,.02);
  overflow:hidden;position:relative;
  border-right:1px solid rgba(255,255,255,.06);
  border-left:3px solid var(--acc);
  border-radius:14px 0 0 14px;
  display:flex;align-items:center;justify-content:center;
  color:var(--sub);font-size:1.8rem;
  box-shadow:inset 3px 0 0 0 rgba(99,102,241,.3);
}
.pcard-img img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .4s cubic-bezier(.34,1.2,.64,1);}
.pcard:hover .pcard-img img{transform:scale(1.1);}
.pcard-img-count{
  position:absolute;bottom:5px;right:5px;
  background:rgba(0,0,0,.75);color:#fff;
  font-size:.55rem;font-weight:700;padding:2px 6px;
  border-radius:20px;backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.1);
  pointer-events:none;
}
.pcard-body{flex:1;padding:14px 16px;display:flex;align-items:center;gap:14px;min-width:0;}
.pcard-info{flex:1;min-width:0;}
.pcard-name{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.05rem;
  letter-spacing:.04em;text-transform:uppercase;
  background:linear-gradient(135deg,#fff,#c7d2fe);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pcard-desc{font-size:.78rem;color:var(--sub);margin-top:3px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pcard-meta{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap;}
.sbadge{display:inline-flex;align-items:center;gap:4px;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:20px;}
.sbadge.av{background:rgba(16,185,129,.1);color:#10b981;border:1px solid rgba(16,185,129,.25);box-shadow:0 0 8px rgba(16,185,129,.15);}
.sbadge.lw{background:rgba(245,158,11,.1);color:#f59e0b;border:1px solid rgba(245,158,11,.25);animation:stockLow 2.5s ease infinite;}
.sbadge.ot{background:rgba(100,116,139,.08);color:#64748b;border:1px solid rgba(100,116,139,.15);}
.sdot{width:5px;height:5px;border-radius:50%;background:currentColor;}
.pcard-stars{font-size:.72rem;color:#f59e0b;letter-spacing:2px;filter:drop-shadow(0 0 4px rgba(245,158,11,.4));}
.pcard-stars span{font-size:.65rem;color:var(--sub);margin-left:2px;}
.pcard-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px;flex-shrink:0;padding-right:4px;}
.pcard-price{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.5rem;
  background:var(--grd3);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 8px rgba(232,0,13,.3));
  white-space:nowrap;animation:priceReveal .4s ease both;
}
.cart-ctrl{height:34px;display:flex;align-items:center;position:relative;}
.add-btn{
  display:flex;align-items:center;gap:6px;padding:0 16px;height:34px;
  background:var(--grd1);border:none;border-radius:10px;
  color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;
  cursor:pointer;transition:all .2s;white-space:nowrap;
  box-shadow:0 4px 16px rgba(99,102,241,.35);
}
.add-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.5);}
.add-btn:active{transform:scale(.95);animation:btnWave .3s ease;}
.pcard.s-out .add-btn{opacity:.3;pointer-events:none;}
.qty-picker{
  display:flex;align-items:center;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;overflow:hidden;height:34px;
  animation:qtyIn .25s cubic-bezier(.34,1.56,.64,1);
  backdrop-filter:blur(8px);
}
@keyframes qtyIn{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
.qty-btn{width:34px;height:34px;border:none;background:transparent;color:var(--sub);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.qty-btn:hover{background:rgba(255,255,255,.08);color:var(--wh);}
.qty-btn.plus:hover{background:rgba(99,102,241,.25);color:#a5b4fc;}
.qty-val{min-width:28px;text-align:center;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1rem;color:var(--wh);}
.qty-val.bump{animation:qtyBump .2s cubic-bezier(.34,1.56,.64,1);}
.qty-ring{position:absolute;right:-5px;top:-5px;width:13px;height:13px;pointer-events:none;}
.qty-ring circle{fill:none;stroke:var(--acc2);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:34;stroke-dashoffset:34;transform-origin:center;transform:rotate(-90deg);}
.qty-ring circle.counting{animation:ringDrain var(--dur,2.5s) linear forwards;}
.shop-empty{text-align:center;padding:80px 20px;color:var(--sub);animation:fadeIn .5s ease;}
.shop-empty-icon{font-size:3rem;margin-bottom:12px;animation:emptyCartBounce 3s ease infinite;}
.shop-empty-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sub);}
.shop-empty-sub{font-size:.83rem;margin-top:6px;color:var(--mut);}

/* ── PRODUCT DETAIL PAGE ── */
.product-page{position:fixed;inset:0;z-index:600;background:var(--bg);overflow-y:auto;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);}
.product-page.open{transform:translateX(0);animation:ppSlide .4s cubic-bezier(.4,0,.2,1);}
.pp-nav{
  display:flex;align-items:center;gap:14px;
  padding:14px clamp(14px,3.5vw,52px);
  border-bottom:1px solid rgba(255,255,255,.06);
  position:sticky;top:0;
  background:rgba(4,4,10,.88);backdrop-filter:blur(24px);
  z-index:10;
}
.pp-back{
  display:flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:10px;padding:6px 14px;cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--sub);
  transition:all .2s;
}
.pp-back:hover{color:var(--tx);border-color:rgba(99,102,241,.4);background:rgba(99,102,241,.08);transform:translateX(-2px);}
.pp-title{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.1rem;
  letter-spacing:.06em;text-transform:uppercase;
  flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  background:linear-gradient(135deg,#fff,#a5b4fc);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.pp-inner{max-width:1000px;margin:0 auto;padding:clamp(24px,4vw,48px) clamp(14px,3.5vw,52px);}
.pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:48px;}
@media(max-width:680px){.pp-grid{grid-template-columns:1fr;}}
/* gallery */
.pp-gallery{display:flex;flex-direction:column;gap:10px;}
.pp-main-img{width:100%;aspect-ratio:4/3;background:var(--sf2);border-radius:6px;overflow:hidden;border:1px solid var(--bd);cursor:zoom-in;}
.pp-main-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .4s cubic-bezier(.34,1.2,.64,1);}
.pp-main-img:hover img{transform:scale(1.04);}
.pp-thumbs{display:flex;gap:8px;flex-wrap:wrap;}
.pp-thumb{width:64px;height:64px;background:var(--sf2);border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .15s;flex-shrink:0;}
.pp-thumb:hover{border-color:var(--sub);}
.pp-thumb.active{border-color:var(--red);}
.pp-thumb img{width:100%;height:100%;object-fit:cover;}
/* info */
.pp-badge-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap;}
.pp-badge{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:2px 10px;border-radius:3px;}
.pp-badge.nuovo{background:#2563eb;color:#fff;}.pp-badge.top{background:#d97706;color:#fff;}.pp-badge.limited{background:#7c3aed;color:#fff;}
.pp-name{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(1.8rem,4vw,2.8rem);line-height:.95;letter-spacing:-.01em;text-transform:uppercase;color:var(--wh);margin-bottom:12px;}
.pp-stars-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.pp-stars{font-size:1rem;color:#f59e0b;letter-spacing:2px;}
.pp-stars-count{font-size:.78rem;color:var(--mut);}
.pp-desc{font-size:.9rem;color:var(--sub);line-height:1.7;margin-bottom:20px;}
.pp-stock{margin-bottom:16px;}
.pp-price{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2.8rem;color:var(--red);line-height:1;margin-bottom:20px;}
.pp-cart-area{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.pp-add-btn{display:flex;align-items:center;gap:8px;padding:14px 28px;background:var(--red);border:none;border-radius:4px;color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:opacity .15s,transform .1s;box-shadow:0 4px 16px var(--red-g);}
.pp-add-btn:hover{opacity:.88;}.pp-add-btn:active{transform:scale(.97);}
.pp-qty-ctrl{display:flex;align-items:center;background:var(--sf2);border:1px solid var(--bd2);border-radius:4px;overflow:hidden;height:48px;}
.pp-qty-btn{width:44px;height:48px;border:none;background:transparent;color:var(--sub);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s;}
.pp-qty-btn:hover{background:var(--bd2);color:var(--wh);}
.pp-qty-val{min-width:40px;text-align:center;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.3rem;color:var(--wh);}

/* ── REVIEWS SECTION (product page) ── */
.pp-reviews{margin-top:0;}
.pp-sec-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.3rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:12px;}
.pp-sec-title::after{content:'';flex:1;height:1px;background:var(--bd);}
.reviews-list{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;}
.review-card{background:var(--sf);border:1px solid var(--bd);border-radius:4px;padding:16px 18px;animation:cardIn .25s ease both;}
.rv-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.rv-name{font-weight:600;font-size:.88rem;}
.rv-date{font-size:.72rem;color:var(--mut);}
.rv-stars{color:#f59e0b;font-size:.85rem;letter-spacing:2px;margin-bottom:6px;}
.rv-text{font-size:.83rem;color:var(--sub);line-height:1.6;}
.rv-prod-name{font-size:.72rem;color:var(--mut);margin-top:6px;font-style:italic;}
.no-reviews{text-align:center;padding:32px;color:var(--mut);font-size:.83rem;border:1px dashed var(--bd);border-radius:4px;}
/* leave review form */
.review-form-box{background:var(--sf);border:1px solid var(--bd2);border-radius:6px;padding:20px;}
.review-form-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:14px;}
.star-picker{display:flex;gap:6px;margin-bottom:12px;}
.star-btn{background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--bd2);transition:color .1s,transform .1s;}
.star-btn.on{color:#f59e0b;}
.star-btn:hover{transform:scale(1.2);}

/* ── ADMIN ── */
.admin-wrap{max-width:780px;margin:0 auto;padding:clamp(24px,4vw,44px) clamp(14px,4vw,40px);}
.admin-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.8rem;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:4px;}
.admin-sub{color:var(--sub);font-size:.8rem;margin-bottom:22px;}
.admin-actions{display:flex;gap:8px;margin-bottom:26px;flex-wrap:wrap;}
.abtn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;border:none;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.abtn:hover{transform:translateY(-2px);}.abtn:active{transform:scale(.97);animation:btnWave .3s ease;}
.abtn-red{background:var(--grd3);color:#fff;box-shadow:0 4px 16px rgba(232,0,13,.3);}
.abtn-red:hover{box-shadow:0 8px 24px rgba(232,0,13,.45);}
.abtn-dim{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--sub);backdrop-filter:blur(8px);}
.abtn-dim:hover{color:var(--tx);border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);}
.abtn-publish{background:var(--grd1);color:#fff;border:none;box-shadow:0 4px 16px rgba(99,102,241,.35);}
.abtn-publish:hover{box-shadow:0 8px 24px rgba(99,102,241,.5);}
.admin-list{display:flex;flex-direction:column;gap:8px;}
.arow{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:14px;display:flex;align-items:center;gap:12px;padding:10px 14px;animation:rowSlide .3s ease both;transition:all .2s;backdrop-filter:blur(6px);}
.arow:hover{border-color:rgba(99,102,241,.3);transform:translateX(3px);background:rgba(99,102,241,.04);}
.arow-thumb{width:48px;height:48px;border-radius:10px;background:rgba(255,255,255,.04);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--sub);font-size:1.2rem;border:1px solid rgba(255,255,255,.08);}
.arow-thumb img{width:100%;height:100%;object-fit:cover;}
.arow-info{flex:1;min-width:0;}
.arow-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx);}
.arow-meta{display:flex;align-items:center;gap:5px;margin-top:3px;flex-wrap:wrap;}
.arow-price{font-size:.75rem;font-weight:700;background:var(--grd3);-webkit-background-clip:text;background-clip:text;color:transparent;}
.apill{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:20px;}
.apill.av{background:rgba(16,185,129,.1);color:#10b981;border:1px solid rgba(16,185,129,.2);}
.apill.lw{background:rgba(245,158,11,.1);color:#f59e0b;border:1px solid rgba(245,158,11,.2);}
.apill.ot{background:rgba(100,100,100,.08);color:#64748b;border:1px solid rgba(100,100,100,.15);}
.arow-extra{font-size:.62rem;color:var(--mut);}
.arow-extra.has{color:var(--acc);}
.arow-btns{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
.arbtn{padding:5px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--sub);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.arbtn:hover{background:rgba(255,255,255,.08);color:var(--tx);border-color:rgba(255,255,255,.2);}
.arbtn.del:hover{background:rgba(232,0,13,.1);color:var(--red);border-color:rgba(232,0,13,.3);}
.reminder-section{margin-top:28px;}
.reminder-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px;color:var(--amb);}
.reminder-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(245,158,11,.4),transparent);}
.rem-row{background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.2);border-left:3px solid var(--amb);border-radius:12px;display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:6px;transition:all .2s;}
.rem-row:hover{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.35);}
.rem-name{flex:1;font-size:.85rem;font-weight:600;color:var(--tx);}
.rem-pill{font-size:.62rem;font-weight:700;padding:3px 9px;border-radius:20px;background:rgba(245,158,11,.1);color:var(--amb);border:1px solid rgba(245,158,11,.2);}
.reviews-mod{margin-top:28px;}
.reviews-mod-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px;color:var(--acc);}
.reviews-mod-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(99,102,241,.4),transparent);}
.rv-mod-row{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin-bottom:6px;transition:all .2s;}
.rv-mod-row:hover{border-color:rgba(99,102,241,.25);}
.rv-mod-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap;}
.rv-mod-name{font-weight:600;font-size:.85rem;color:var(--tx);}
.rv-mod-prod{font-size:.72rem;color:var(--sub);}
.rv-mod-stars{font-size:.78rem;color:#f59e0b;letter-spacing:1px;}
.rv-mod-text{font-size:.8rem;color:var(--sub);margin-bottom:8px;line-height:1.5;}
.rv-mod-btns{display:flex;gap:6px;}
.rv-mod-approve{padding:5px 14px;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);color:#10b981;border-radius:8px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.rv-mod-approve:hover{background:rgba(16,185,129,.2);box-shadow:0 0 12px rgba(16,185,129,.2);}
.rv-mod-reject{padding:5px 14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--sub);border-radius:8px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.rv-mod-reject:hover{background:rgba(232,0,13,.1);color:var(--red);border-color:rgba(232,0,13,.3);}

/* ── ORDERS ── */
.ord-wrap{max-width:780px;margin:0 auto;padding:clamp(24px,4vw,44px) clamp(14px,4vw,40px);}
.ord-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.8rem;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:4px;}
.ord-sub{color:var(--sub);font-size:.8rem;margin-bottom:22px;}
.pend-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px;margin-bottom:10px;animation:cardIn .3s ease both;transition:all .25s;backdrop-filter:blur(8px);}
.pend-card:hover{border-color:rgba(99,102,241,.2);transform:translateY(-1px);box-shadow:0 8px 32px rgba(0,0,0,.3);}
.pend-card.confermato{border-color:rgba(16,185,129,.2);opacity:.7;}
.pend-card.nuovo-ordine{border-color:var(--amb);box-shadow:0 0 0 1px rgba(245,158,11,.3),0 0 24px rgba(245,158,11,.15);animation:newOrder .6s ease;}
@keyframes newOrder{0%{transform:scale(.98)}50%{transform:scale(1.01)}100%{transform:scale(1)}}
.pend-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;}
.pend-customer-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--tx);}
.pend-phone{font-size:.78rem;color:var(--sub);margin-top:2px;}
.pend-status{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:20px;white-space:nowrap;}
.pend-status.in-sospeso{background:rgba(245,158,11,.1);color:var(--amb);border:1px solid rgba(245,158,11,.25);animation:pulse 2s ease infinite;}
.pend-status.confermato{background:rgba(16,185,129,.1);color:#10b981;border:1px solid rgba(16,185,129,.25);}
.pend-date{font-size:.7rem;color:var(--mut);margin-top:3px;}
.pend-items{font-size:.8rem;color:var(--sub);margin-bottom:8px;line-height:1.7;}
.pend-items span{color:var(--tx);font-weight:600;}
.pend-total{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.2rem;background:var(--grd3);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:10px;}
.pend-note{font-size:.78rem;color:var(--sub);font-style:italic;margin-bottom:10px;}
.pend-actions{display:flex;gap:8px;flex-wrap:wrap;}
.pend-btn{padding:7px 16px;border-radius:10px;border:none;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.pend-btn:hover{transform:translateY(-2px);}
.pend-btn.confirm{background:rgba(37,211,102,.15);border:1px solid rgba(37,211,102,.3);color:#25d366;box-shadow:0 4px 14px rgba(37,211,102,.15);}
.pend-btn.confirm:hover{background:rgba(37,211,102,.25);box-shadow:0 6px 20px rgba(37,211,102,.25);}
.pend-btn.wa-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--sub);}
.pend-btn.wa-btn:hover{color:var(--wa);border-color:rgba(37,211,102,.4);background:rgba(37,211,102,.08);}
.pend-btn.del-btn{background:transparent;border:1px solid rgba(255,255,255,.08);color:var(--sub);}
.pend-btn.del-btn:hover{border-color:rgba(232,0,13,.3);color:var(--red);background:rgba(232,0,13,.06);}
.ord-empty{text-align:center;padding:60px;color:var(--sub);animation:fadeIn .5s ease;}
.ord-empty-icon{font-size:2.5rem;margin-bottom:10px;animation:floatY 3s ease infinite;}

/* ── FINANCE ── */
.fin-wrap{max-width:920px;margin:0 auto;padding:clamp(24px,4vw,44px) clamp(14px,4vw,40px);}
.fin-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.8rem;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#fff,#6ee7b7);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:4px;}
.fin-sub{color:var(--sub);font-size:.8rem;margin-bottom:24px;}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:28px;}
.stat-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px 18px;transition:all .25s;backdrop-filter:blur(8px);animation:statCount .4s ease both;}
.stat-card:hover{border-color:rgba(99,102,241,.25);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.3);}
.stat-lbl{font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sub);margin-bottom:6px;}
.stat-val{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.8rem;line-height:1;}
.stat-val.grn{background:var(--grd2);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 8px rgba(16,185,129,.3));}
.stat-val.red{background:var(--grd3);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 8px rgba(232,0,13,.3));}
.stat-val.amb{color:var(--amb);filter:drop-shadow(0 0 8px rgba(245,158,11,.3));}
.chart-section{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px 22px;margin-bottom:28px;backdrop-filter:blur(8px);}
.chart-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sub);margin-bottom:18px;}
.chart-bars{display:flex;align-items:flex-end;gap:8px;height:100px;}
.chart-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;}
.chart-bar{width:100%;background:var(--grd1);border-radius:6px 6px 0 0;min-height:3px;transition:height .5s cubic-bezier(.34,1.2,.64,1);box-shadow:0 0 10px rgba(99,102,241,.3);animation:barGrow .5s ease both;}
.chart-bar.zero{background:rgba(255,255,255,.06);box-shadow:none;}
.chart-lbl{font-size:.6rem;color:var(--mut);letter-spacing:.06em;}
.chart-val{font-size:.62rem;color:var(--sub);font-weight:600;}
.fin-sec{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent;}
.fin-sec::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(99,102,241,.4),transparent);}
.exp-form{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px;margin-bottom:16px;display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;backdrop-filter:blur(8px);}
@media(max-width:580px){.exp-form{grid-template-columns:1fr 1fr;}}
.exp-form input,.exp-form select{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--tx);border-radius:10px;padding:9px 12px;font-family:'Barlow',sans-serif;font-size:.85rem;outline:none;transition:all .2s;}
.exp-form input:focus,.exp-form select:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(99,102,241,.15);}
.exp-add-btn{padding:9px 16px;background:var(--grd1);color:#fff;border:none;border-radius:10px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px rgba(99,102,241,.3);}
.exp-add-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(99,102,241,.45);}
.exp-list,.sale-list{display:flex;flex-direction:column;gap:6px;margin-bottom:28px;}
.exp-row,.sale-row{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:12px;display:flex;align-items:center;gap:10px;padding:10px 14px;transition:all .2s;animation:finRow .3s ease both;}
.exp-row:hover,.sale-row:hover{border-color:rgba(99,102,241,.2);transform:translateX(3px);}
.exp-cat{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:20px;flex-shrink:0;}
.exp-cat.filamento{background:rgba(59,130,246,.1);color:#60a5fa;border:1px solid rgba(59,130,246,.2);}
.exp-cat.attrezzatura{background:rgba(139,92,246,.1);color:#a78bfa;border:1px solid rgba(139,92,246,.2);}
.exp-cat.spedizione{background:rgba(245,158,11,.1);color:var(--amb);border:1px solid rgba(245,158,11,.2);}
.exp-cat.altro{background:rgba(100,100,100,.08);color:#64748b;border:1px solid rgba(100,100,100,.15);}
.exp-desc,.sale-name{flex:1;font-size:.82rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx);}
.exp-date,.sale-date,.sale-note{font-size:.72rem;color:var(--mut);flex-shrink:0;}
.exp-amt{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1rem;background:var(--grd3);-webkit-background-clip:text;background-clip:text;color:transparent;flex-shrink:0;}
.sale-amt{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1rem;background:var(--grd2);-webkit-background-clip:text;background-clip:text;color:transparent;flex-shrink:0;}
.sale-note{max-width:110px;overflow:hidden;text-overflow:ellipsis;}
.exp-rm,.sale-rm{background:none;border:none;color:var(--mut);cursor:pointer;font-size:.85rem;padding:0 0 0 6px;transition:color .2s;flex-shrink:0;}
.exp-rm:hover,.sale-rm:hover{color:var(--red);}
.fin-empty{text-align:center;padding:28px;color:var(--sub);font-size:.82rem;border:1px dashed rgba(255,255,255,.08);border-radius:14px;animation:fadeIn .4s ease;}
.fin-actions{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}

/* ── FOOTER ── */
footer{
  border-top:1px solid rgba(255,255,255,.06);
  padding:24px clamp(14px,3.5vw,52px);
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:rgba(4,4,10,.6);backdrop-filter:blur(16px);
}
.footer-copy{font-size:.75rem;color:var(--mut);}
.footer-admin-btn{font-size:.72rem;color:var(--mut);background:none;border:none;cursor:pointer;transition:all .2s;font-family:'Barlow',sans-serif;padding:5px 10px;border-radius:8px;}
.footer-admin-btn:hover{color:var(--acc);background:rgba(99,102,241,.08);}

/* ── MODAL ── */
.overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.8);backdrop-filter:blur(16px);display:none;align-items:center;justify-content:center;padding:14px;}
.overlay.open{display:flex!important;}
.overlay.open .modal{animation:modalIn .22s cubic-bezier(.34,1.2,.64,1);}
.modal{
  background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;width:100%;max-width:480px;max-height:92vh;overflow-y:auto;
  padding:24px;backdrop-filter:blur(24px);
  box-shadow:0 32px 80px rgba(0,0,0,.6),0 0 0 1px rgba(99,102,241,.1);
}
@keyframes modalIn{from{transform:translateY(20px) scale(.95)}to{transform:translateY(0) scale(1)}}
.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08);}
.modal-head h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent;}
.modal-x{width:30px;height:30px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--sub);font-size:.9rem;transition:all .2s;}
.modal-x:hover{background:rgba(232,0,13,.1);color:var(--red);border-color:rgba(232,0,13,.3);transform:rotate(90deg);}
.fgroup{margin-bottom:14px;}
.flabel{display:block;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sub);margin-bottom:5px;}
.finput,.ftextarea,.fselect{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--tx);border-radius:10px;padding:9px 12px;font-family:'Barlow',sans-serif;font-size:.88rem;outline:none;transition:all .2s;}
.finput:focus,.ftextarea:focus,.fselect:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(99,102,241,.2);background:rgba(99,102,241,.04);}
.ftextarea{resize:vertical;min-height:68px;}
.frow{display:flex;gap:8px;}.frow .fgroup{flex:1;}
/* photo upload */
.photo-upload{display:flex;flex-direction:column;gap:8px;}
.photo-row{display:flex;gap:7px;flex-wrap:wrap;align-items:flex-start;}
.photo-thumb{width:72px;height:72px;border-radius:10px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);flex-shrink:0;transition:border-color .2s;}
.photo-thumb:hover{border-color:rgba(99,102,241,.4);}
.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-thumb-rm{position:absolute;top:3px;right:3px;width:18px;height:18px;background:rgba(0,0,0,.8);border:none;border-radius:6px;color:#fff;font-size:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.photo-thumb-rm:hover{background:var(--red);}
.photo-thumb.cover::after{content:'COVER';position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(99,102,241,.9),transparent);color:#fff;font-size:.48rem;font-weight:700;letter-spacing:.07em;text-align:center;padding:4px 0 2px;}
.photo-add{width:72px;height:72px;border:1.5px dashed rgba(255,255,255,.15);border-radius:10px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;gap:3px;flex-shrink:0;transition:all .2s;}
.photo-add:hover{border-color:rgba(99,102,241,.5);background:rgba(99,102,241,.06);}
.photo-add span:first-child{font-size:1.2rem;opacity:.4;}
.photo-add span:last-child{font-size:.58rem;color:var(--sub);}
.photo-add input{display:none;}
.photo-hint{font-size:.63rem;color:var(--mut);line-height:1.5;}
.file-link-area{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;}
.file-link-row{display:flex;gap:6px;margin-bottom:6px;}
.file-link-row input{flex:1;background:transparent;border:none;color:var(--tx);font-family:'Barlow',sans-serif;font-size:.82rem;outline:none;}
.file-link-row input::placeholder{color:var(--mut);}
.fl-add{padding:6px 12px;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.25);color:#60a5fa;border-radius:8px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;font-family:'Barlow',sans-serif;white-space:nowrap;transition:all .2s;}
.fl-add:hover{background:rgba(59,130,246,.18);box-shadow:0 0 12px rgba(59,130,246,.2);}
.fl-list{display:flex;flex-direction:column;gap:4px;}
.fl-item{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.04);border-radius:6px;padding:5px 9px;}
.fl-item-name{flex:1;font-size:.72rem;color:#93c5fd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fl-item-open{font-size:.68rem;color:var(--sub);text-decoration:none;transition:color .15s;}.fl-item-open:hover{color:#60a5fa;}
.fl-item-rm{background:none;border:none;color:var(--mut);cursor:pointer;font-size:.78rem;flex-shrink:0;transition:color .15s;}.fl-item-rm:hover{color:var(--red);}
.fl-hint{font-size:.67rem;color:var(--mut);margin-top:6px;line-height:1.5;}
.fsave{width:100%;padding:12px;background:var(--grd1);color:#fff;border:none;border-radius:12px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.92rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;margin-top:6px;transition:all .2s;box-shadow:0 6px 20px rgba(99,102,241,.35);}
.fsave:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(99,102,241,.5);}.fsave:active{transform:scale(.97);}
.fsave.wa{background:linear-gradient(135deg,#1a8a44,#25d366);color:#fff;box-shadow:0 6px 20px rgba(37,211,102,.3);}

/* ── CART ── */
.cart-overlay{position:fixed;inset:0;z-index:700;background:rgba(0,0,0,.7);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .25s;}
.cart-overlay.open{opacity:1;pointer-events:all;}
.cart-drawer{
  position:fixed;right:0;top:0;bottom:0;width:min(420px,100vw);
  background:linear-gradient(160deg,rgba(10,10,20,.98),rgba(6,6,14,.99));
  border-left:1px solid rgba(255,255,255,.08);
  z-index:701;display:flex;flex-direction:column;
  transform:translateX(105%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:-20px 0 60px rgba(0,0,0,.6);
  backdrop-filter:blur(24px);
}
.cart-overlay.open .cart-drawer{transform:translateX(0);}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid rgba(255,255,255,.07);}
.cart-head h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent;}
.cart-x{width:30px;height:30px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--sub);font-size:.9rem;transition:all .2s;}
.cart-x:hover{background:rgba(232,0,13,.1);color:var(--red);border-color:rgba(232,0,13,.3);transform:rotate(90deg);}
.cart-items{flex:1;overflow-y:auto;padding:14px 20px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin;scrollbar-color:rgba(99,102,241,.3) transparent;}
.cart-item{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px 14px;animation:cartIn .3s cubic-bezier(.34,1.2,.64,1) both;transition:all .2s;}
.cart-item:hover{border-color:rgba(99,102,241,.25);background:rgba(99,102,241,.04);}
@keyframes cartIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.cart-item.removing{animation:cartOut .22s ease forwards;}
@keyframes cartOut{to{opacity:0;transform:translateX(28px) scale(.9);max-height:0;padding:0;margin:0;overflow:hidden;}}
.cart-item-img{width:46px;height:46px;border-radius:10px;overflow:hidden;flex-shrink:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--sub);}
.cart-item-img img{width:100%;height:100%;object-fit:cover;}
.cart-item-info{flex:1;min-width:0;}
.cart-item-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx);}
.cart-item-price{font-size:.75rem;font-weight:700;background:var(--grd3);-webkit-background-clip:text;background-clip:text;color:transparent;margin-top:2px;}
.cart-qty{display:flex;align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden;height:28px;flex-shrink:0;}
.cq-btn{width:26px;height:28px;border:none;background:transparent;color:var(--sub);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.cq-btn:hover{background:rgba(255,255,255,.08);color:var(--wh);}
.cq-btn.cq-plus:hover{background:rgba(99,102,241,.25);color:#a5b4fc;}
.cq-val{min-width:24px;text-align:center;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.92rem;color:var(--wh);}
.cart-item-rm{background:none;border:none;color:var(--mut);cursor:pointer;font-size:.85rem;flex-shrink:0;padding:0 0 0 4px;transition:color .2s;}
.cart-item-rm:hover{color:var(--red);}
.cart-empty-msg{text-align:center;color:var(--sub);font-size:.85rem;padding:60px 20px;line-height:1.7;animation:fadeIn .4s ease;}
.cart-footer{padding:18px 20px;border-top:1px solid rgba(255,255,255,.07);}
.cart-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;}
.cart-total-lbl{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sub);}
.cart-total-val{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.8rem;background:linear-gradient(135deg,#fff,#c7d2fe);-webkit-background-clip:text;background-clip:text;color:transparent;}
.cart-wa-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px;background:linear-gradient(135deg,#1a8a44,#25d366);color:#fff;border:none;border-radius:14px;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s;box-shadow:0 8px 24px rgba(37,211,102,.3);}
.cart-wa-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(37,211,102,.45);}.cart-wa-btn:active{transform:scale(.97);}
.cart-clear-btn{display:block;width:100%;margin-top:8px;padding:8px;background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--sub);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.cart-clear-btn:hover{border-color:rgba(232,0,13,.3);color:var(--red);background:rgba(232,0,13,.04);}

/* ── LIGHTBOX ── */
.lightbox{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s;}
.lightbox.open{opacity:1;pointer-events:all;}
.lb-img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:3px;display:block;user-select:none;}
.lb-close{position:fixed;top:14px;right:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:1rem;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:901;transition:background .15s;}
.lb-close:hover{background:rgba(232,0,13,.7);}
.lb-prev,.lb-next{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#fff;font-size:1.4rem;width:40px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:901;transition:background .15s;}
.lb-prev{left:10px;}.lb-next{right:10px;}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.16);}
.lb-dots{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:901;}
.lb-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22);cursor:pointer;transition:background .15s,transform .15s;}
.lb-dot.on{background:#fff;transform:scale(1.3);}
.lb-info{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);font-size:.72rem;color:rgba(255,255,255,.35);letter-spacing:.1em;z-index:901;}

/* ── NOTIFICATION BANNER ── */
.new-order-banner{
  position:fixed;top:70px;left:50%;transform:translateX(-50%) translateY(-20px);
  background:linear-gradient(135deg,#f59e0b,#fb923c);
  color:#000;font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;
  padding:10px 22px;border-radius:20px;z-index:800;
  opacity:0;pointer-events:none;transition:all .3s;
  box-shadow:0 8px 24px rgba(245,158,11,.4);
  white-space:nowrap;
}
.new-order-banner.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ── TOAST ── */
.toast{
  position:fixed;bottom:24px;left:50%;
  transform:translateX(-50%) translateY(20px);
  background:rgba(10,10,20,.95);
  border:1px solid rgba(255,255,255,.1);
  border-left:3px solid var(--acc);
  border-radius:14px;padding:10px 20px;
  font-size:.82rem;font-weight:500;color:var(--tx);
  opacity:0;transition:all .25s cubic-bezier(.34,1.2,.64,1);
  pointer-events:none;z-index:9998;white-space:nowrap;
  backdrop-filter:blur(16px);
  box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 0 1px rgba(99,102,241,.1);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);animation:toastPop .3s cubic-bezier(.34,1.2,.64,1);}
.toast.green{border-left-color:#25d366;}
.toast.blue{border-left-color:#60a5fa;}

/* EXPORT */
#export-stage{position:fixed;left:-9999px;top:-9999px;pointer-events:none;z-index:-1;}
.ex-card{width:960px;height:540px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#0a0a0a;position:relative;}
.ex-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:#e8000d;z-index:5;}
.ex-img-s{position:relative;overflow:hidden;background:#141414;}
.ex-img-s img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;}
.ex-img-s::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,rgba(0,0,0,.7));z-index:1;}
.ex-no-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:5rem;color:#222;}
.ex-info{padding:44px 42px;display:flex;flex-direction:column;justify-content:space-between;z-index:2;background:#0a0a0a;}
.ex-brow{display:flex;align-items:center;gap:10px;}
.ex-bmark{height:18px;background:#e8000d;clip-path:polygon(0 0,100% 0,88% 100%,0 100%);padding:0 13px 0 8px;display:flex;align-items:center;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#fff;}
.ex-bsub{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#444;}
.ex-name{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:50px;line-height:.94;letter-spacing:-.01em;text-transform:uppercase;color:#fff;}
.ex-desc{font-size:13px;line-height:1.6;color:#666;margin-top:10px;font-family:'Barlow',sans-serif;}
.ex-foot{display:flex;align-items:flex-end;justify-content:space-between;}
.ex-plbl{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#444;font-weight:700;font-family:'Barlow Condensed',sans-serif;}
.ex-price{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:56px;color:#e8000d;line-height:1;}
.ex-tag{background:#141414;border:1px solid #222;border-radius:3px;padding:8px 14px;text-align:center;}
.ex-tag-t{font-size:8px;color:#444;letter-spacing:.12em;text-transform:uppercase;font-weight:700;font-family:'Barlow Condensed',sans-serif;}
.ex-tag-v{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:15px;color:#777;letter-spacing:.06em;text-transform:uppercase;margin-top:3px;}
.ex-grid{width:960px;height:540px;background:#0a0a0a;position:relative;display:flex;flex-direction:column;overflow:hidden;}
.ex-grid::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:#e8000d;z-index:5;}
.ex-grid-hdr{padding:18px 28px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.ex-grid-logo{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:17px;letter-spacing:.08em;text-transform:uppercase;color:#fff;}
.ex-grid-logo span{color:#e8000d;}
.ex-grid-items{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;padding:0 2px 2px;overflow:hidden;}
.ex-mini{background:#141414;display:flex;align-items:center;gap:12px;padding:12px 16px;}
.ex-mini-img{width:58px;height:58px;border-radius:2px;background:#1c1c1c;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#333;font-size:1.5rem;}
.ex-mini-img img{width:100%;height:100%;object-fit:cover;}
.ex-mini-info{flex:1;min-width:0;}
.ex-mini-name{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:.02em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ex-mini-desc{font-size:11px;color:#555;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'Barlow',sans-serif;}
.ex-mini-price{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:20px;color:#e8000d;flex-shrink:0;}

/* ── CUSTOMER AUTH ── */
.customer-auth-btn{
  display:flex;align-items:center;gap:7px;padding:6px 14px;
  background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.2);
  border-radius:12px;color:#a5b4fc;font-size:.7rem;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;cursor:pointer;
  font-family:'Barlow',sans-serif;transition:all .25s;
}
.customer-auth-btn:hover{background:rgba(99,102,241,.15);border-color:var(--acc);transform:translateY(-1px);}
.customer-auth-btn.logged{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.2);color:#6ee7b7;}
.customer-avatar{
  width:28px;height:28px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:.75rem;
  color:#fff;flex-shrink:0;letter-spacing:0;
}
.customer-modal-overlay{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.85);backdrop-filter:blur(16px);display:none;align-items:center;justify-content:center;padding:14px;}
.customer-modal-overlay.open{display:flex!important;}
.customer-modal{
  background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;width:100%;max-width:420px;max-height:92vh;overflow-y:auto;
  padding:24px;backdrop-filter:blur(24px);
  box-shadow:0 32px 80px rgba(0,0,0,.6),0 0 0 1px rgba(99,102,241,.1);
  animation:modalIn .22s cubic-bezier(.34,1.2,.64,1);
}
.auth-tabs{display:flex;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;margin-bottom:18px;}
.auth-tab{flex:1;padding:8px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--sub);transition:all .2s;border:none;background:transparent;font-family:'Barlow',sans-serif;}
.auth-tab:hover{color:var(--tx);background:rgba(255,255,255,.04);}
.auth-tab.active{background:var(--grd1);color:#fff;box-shadow:0 0 12px rgba(99,102,241,.35);}

/* ── PROFILE VIEW ── */
.profile-wrap{max-width:560px;margin:0 auto;padding:clamp(28px,4vw,52px) clamp(14px,3.5vw,52px);}
.profile-avatar-big{
  width:72px;height:72px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.6rem;
  color:#fff;margin-bottom:12px;flex-shrink:0;border:3px solid rgba(255,255,255,.1);
  box-shadow:0 0 24px rgba(99,102,241,.3);
}

/* ── MAINTENANCE MODE ── */
.maintenance-screen{
  position:fixed;inset:0;z-index:9998;
  background:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(99,102,241,.18),transparent 60%),#04040a;
  display:flex;align-items:center;justify-content:center;padding:20px;flex-direction:column;gap:24px;text-align:center;
}
.maintenance-icon{font-size:4rem;animation:floatY 3s ease infinite;}
.maintenance-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2.4rem;letter-spacing:-.01em;text-transform:uppercase;background:linear-gradient(135deg,#fff,#a5b4fc 50%,#6ee7b7);-webkit-background-clip:text;background-clip:text;color:transparent;}
.maintenance-sub{font-size:.95rem;color:#64748b;max-width:380px;line-height:1.7;}
.maintenance-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.3);border-radius:20px;padding:6px 18px;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);animation:pulse 2s ease infinite;}
.admin-mode .maintenance-screen{display:none;}
/* banner admin visibile solo in modalità admin durante manutenzione */
#maint-admin-banner{display:none !important;}

/* ── CONSOLE OVERLAY ── */
#console-overlay.open{opacity:1 !important;pointer-events:all !important;}
#console-overlay.open #console-box{transform:scale(1) !important;}
.admin-mode #wa-float{display:none!important;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.promo-banner{position:fixed;top:0;left:0;right:0;z-index:9997;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;font-size:.82rem;font-weight:600;transition:transform .3s;}
.promo-banner.hidden{transform:translateY(-100%);}
.promo-close-btn{background:none;border:none;font-size:1rem;cursor:pointer;opacity:.7;flex-shrink:0;color:inherit;}
.promo-close-btn:hover{opacity:1;}
nav.with-promo{top:36px!important;}
#login-overlay{z-index:10020;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(99,102,241,.3);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:rgba(99,102,241,.55);}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}


/* ══ SEARCH & FILTERS ══ */
.shop-search-bar{display:flex;gap:8px;margin:0 0 10px;align-items:center;}
.shop-search-bar input{flex:1;min-width:180px;}
.filter-toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:.75rem;font-weight:700;color:var(--sub);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;transition:all .2s;font-family:'Barlow Condensed',sans-serif;backdrop-filter:blur(8px);}
.filter-toggle-btn:hover,.filter-toggle-btn.active{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.3);color:var(--acc);box-shadow:0 0 16px rgba(99,102,241,.15);}
.filter-toggle-btn .ftb-icon{transition:transform .3s;}
.filter-toggle-btn.active .ftb-icon{transform:rotate(180deg);}

/* Panel filtri */
@keyframes filterSlideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
#filters-panel{animation:filterSlideDown .22s ease both;}
.filters-panel-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:16px;}
.filter-section-label{font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:8px;}
.filter-chips-row{display:flex;flex-wrap:wrap;gap:5px;}

/* Chip singolo */
.filter-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:20px;font-size:.72rem;font-weight:700;color:var(--sub);cursor:pointer;transition:all .2s cubic-bezier(.34,1.2,.64,1);letter-spacing:.04em;white-space:nowrap;user-select:none;}
.filter-chip:hover{border-color:rgba(99,102,241,.4);color:var(--tx);background:rgba(99,102,241,.08);}
.filter-chip.active{background:rgba(99,102,241,.15);border-color:var(--acc);color:var(--acc);box-shadow:0 0 12px rgba(99,102,241,.2);}
.filter-chip.active::after{content:'✕';font-size:.6rem;margin-left:2px;opacity:.7;}

/* Select personalizzato */
.filter-select-wrap{position:relative;}
.filter-select-wrap::after{content:'▾';position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.7rem;color:var(--mut);pointer-events:none;}
.filter-select{-webkit-appearance:none;appearance:none;width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--tx);border-radius:10px;padding:8px 28px 8px 12px;font-size:.78rem;font-weight:600;cursor:pointer;outline:none;transition:all .2s;font-family:'Barlow',sans-serif;}
.filter-select:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(99,102,241,.15);}
.filter-select option{background:#0a0a14;color:var(--tx);}

/* Slider prezzo */
.price-slider-wrap{display:flex;flex-direction:column;gap:6px;}
.price-slider-track{position:relative;height:4px;background:var(--bd2);border-radius:2px;}
input[type=range].price-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:transparent;cursor:pointer;position:relative;z-index:1;}
input[type=range].price-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--acc);border:2px solid #fff;box-shadow:0 0 0 2px rgba(99,102,241,.3),0 2px 6px rgba(0,0,0,.4);cursor:pointer;transition:transform .15s;}
input[type=range].price-slider::-webkit-slider-thumb:hover{transform:scale(1.2);}
input[type=range].price-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--acc);border:2px solid #fff;cursor:pointer;}

/* Reset btn dentro il panel */
.filter-reset-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 12px;border-top:1px solid rgba(255,255,255,.06);}
.filter-reset-btn{display:flex;align-items:center;gap:5px;background:none;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--sub);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:5px 14px;font-family:'Barlow Condensed',sans-serif;transition:all .2s;}
.filter-reset-btn:hover{border-color:rgba(232,0,13,.3);color:var(--red);background:rgba(232,0,13,.06);}
.filter-active-count{font-size:.7rem;color:var(--mut);}

.search-results-count{font-size:.72rem;color:var(--mut);margin-bottom:8px;padding:0 2px;}

/* ══ WISHLIST ══ */
.wish-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:2px 4px;line-height:1;transition:transform .2s cubic-bezier(.34,1.6,.64,1);color:var(--mut);opacity:.6;}
.wish-btn:hover{transform:scale(1.25);opacity:1;}
.wish-btn.active{opacity:1;}
#v-wishlist .pcard{cursor:pointer;}
.wish-tab-dot{width:6px;height:6px;background:var(--red);border-radius:50%;display:inline-block;margin-left:5px;vertical-align:middle;}

/* ══ DISCOUNT CODE ══ */
.discount-row{display:flex;gap:6px;margin:8px 0 0;padding:10px 0 0;border-top:1px solid rgba(255,255,255,.06);}
.discount-row input{flex:1;font-family:monospace;text-transform:uppercase;font-size:.85rem;}
.discount-row button{padding:8px 16px;background:var(--grd1);color:#fff;border:none;border-radius:10px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:all .2s;box-shadow:0 4px 14px rgba(99,102,241,.3);}
.discount-row button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(99,102,241,.45);}
.discount-applied{display:flex;align-items:center;justify-content:space-between;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);border-radius:10px;padding:7px 12px;margin-top:6px;font-size:.78rem;color:#10b981;}
.discount-applied button{background:none;border:none;color:#10b981;cursor:pointer;font-size:.8rem;padding:0;}
.cart-total-row.discount{color:var(--grn);}

/* ══ VARIANTS v51 ══ */
/* -- Admin editor -- */
.variants-admin-list{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.variant-admin-card{background:rgba(255,255,255,.03);border:1px solid var(--bd2);border-radius:10px;padding:12px;position:relative;transition:border-color .2s;}
.variant-admin-card:hover{border-color:rgba(99,102,241,.3);}
.variant-admin-card-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:.78rem;letter-spacing:.08em;color:var(--acc);margin-bottom:8px;}
.variant-admin-card-body{display:grid;grid-template-columns:2fr 1fr 1fr;gap:6px;}
.variant-admin-card-attrs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px;}
.variant-color-wrap{display:flex;align-items:center;gap:6px;}
.variant-color-preview{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.2);flex-shrink:0;cursor:pointer;}
.variant-del-btn{position:absolute;top:8px;right:8px;background:none;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--mut);padding:3px 8px;cursor:pointer;font-size:.72rem;transition:all .15s;}
.variant-del-btn:hover{border-color:rgba(232,0,13,.3);color:var(--red);background:rgba(232,0,13,.06);}
.variant-add-btn{width:100%;padding:10px;background:transparent;border:1px dashed rgba(255,255,255,.12);border-radius:10px;color:var(--sub);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:6px;}
.variant-add-btn:hover{border-color:rgba(99,102,241,.4);color:var(--acc);background:rgba(99,102,241,.06);}
/* -- Selector pagina prodotto -- */
.variants-selector{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.variant-card{display:flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;cursor:pointer;transition:all .2s;position:relative;animation:variantAppear .25s ease both;}
.variant-card:hover:not(.ot){border-color:rgba(99,102,241,.35);background:rgba(99,102,241,.07);}
.variant-card.selected{background:rgba(99,102,241,.14);border-color:var(--acc);box-shadow:0 0 0 1px var(--acc),0 4px 16px rgba(99,102,241,.25);}
.variant-card.ot{opacity:.38;cursor:not-allowed;filter:grayscale(.6);}
.variant-card.ot::after{content:"Esaurito";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);background:rgba(0,0,0,.5);border-radius:12px;}
.vc-swatch{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.18);flex-shrink:0;}
.vc-info{display:flex;flex-direction:column;gap:1px;min-width:0;}
.vc-name{font-size:.8rem;font-weight:700;color:var(--tx);line-height:1.2;white-space:nowrap;}
.vc-attrs{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px;}
.vc-attr{font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.07);border-radius:4px;padding:1px 5px;color:var(--mut);}
.vc-price{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:.95rem;color:var(--red);margin-left:6px;flex-shrink:0;white-space:nowrap;}
.vc-stock-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.vc-stock-dot.av{background:#10b981;}.vc-stock-dot.lw{background:var(--amb);}.vc-stock-dot.ot{background:var(--red);}
/* -- Carrello -- */
.cart-item-variant{font-size:.65rem;color:#a5b4fc;margin-top:2px;display:flex;align-items:center;gap:4px;}
.cart-item-variant-swatch{width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.2);flex-shrink:0;display:inline-block;}
/* -- Warning -- */
@keyframes warnIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.variant-required-warn{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.3);border-radius:8px;padding:8px 12px;font-size:.75rem;color:var(--amb);display:none;margin-top:6px;}
.variant-required-warn.show{display:block;animation:warnIn .2s ease both,shake .3s ease .1s;}
/* -- Prezzo barrato variante -- */
.pp-price-original{font-size:1.4rem;color:var(--mut);text-decoration:line-through;font-weight:400;margin-left:10px;vertical-align:middle;}
/* -- Variant card selected: checkmark -- */
.variant-card.selected .vc-name::after{content:" ✓";color:var(--acc);font-size:.7rem;}
/* -- Cart item variant label -- */
.cart-item-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0;}

/* ══ v54: ADMIN BAR SECONDARIA ══ */
.admin-bar{
  display:none;
  align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto;
  background:rgba(167,139,250,.06);
  border-bottom:1px solid rgba(167,139,250,.18);
  padding:5px clamp(10px,3vw,40px);
  position:sticky;top:60px;z-index:99;
  backdrop-filter:blur(12px);
  scrollbar-width:none;
}
.admin-bar::-webkit-scrollbar{display:none;}
.admin-mode .admin-bar{display:flex;}
.admin-bar .atab.sa-only{display:none;}
.sa-mode .admin-bar .atab.sa-only{display:flex;}
nav.scrolled ~ .admin-bar{top:50px;}
.admin-bar-label{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(167,139,250,.6);flex-shrink:0;padding-right:6px;border-right:1px solid rgba(167,139,250,.2);margin-right:2px;}
.atab{padding:5px 12px;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:rgba(167,139,250,.7);border:none;background:transparent;font-family:'Barlow',sans-serif;white-space:nowrap;border-radius:8px;transition:all .18s;}
.atab:hover{color:#a78bfa;background:rgba(167,139,250,.1);}
.atab.active{background:rgba(167,139,250,.18);color:#c4b5fd;box-shadow:inset 0 0 0 1px rgba(167,139,250,.3);}
.atab .tab-dot{position:relative;top:-2px;display:inline-block;margin-left:3px;}

/* ══ v54: FULL CART OVERLAY ══ */
.fullcart-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s;}
.fullcart-overlay.open{opacity:1;pointer-events:all;}
.fullcart-modal{width:100%;max-width:680px;max-height:90vh;background:var(--sf);border:1px solid var(--bd2);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 32px 80px rgba(0,0,0,.6);animation:modalIn .3s cubic-bezier(.34,1.2,.64,1) both;}
.fullcart-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--bd);flex-shrink:0;}
.fullcart-head h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.3rem;letter-spacing:.04em;text-transform:uppercase;color:var(--wh);}
.fullcart-head-x{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--bd2);border-radius:50%;cursor:pointer;font-size:1rem;color:var(--sub);transition:all .15s;}
.fullcart-head-x:hover{border-color:var(--red);color:var(--red);}
.fullcart-body{flex:1;overflow-y:auto;padding:20px 24px;}
.fullcart-item{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--bd);}
.fullcart-item:last-child{border-bottom:none;}
.fullcart-item-img{width:64px;height:64px;border-radius:10px;overflow:hidden;background:var(--sf2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.6rem;}
.fullcart-item-img img{width:100%;height:100%;object-fit:cover;}
.fullcart-item-info{flex:1;min-width:0;}
.fullcart-item-name{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1rem;letter-spacing:.02em;text-transform:uppercase;color:var(--wh);}
.fullcart-item-variant{font-size:.7rem;color:#a5b4fc;margin-top:2px;}
.fullcart-item-price{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.1rem;color:var(--red);flex-shrink:0;}
.fullcart-item-qty{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.fullcart-item-qty button{width:28px;height:28px;border-radius:50%;border:1px solid var(--bd2);background:var(--sf2);color:var(--tx);font-size:.9rem;cursor:pointer;transition:all .15s;}
.fullcart-item-qty button:hover{border-color:var(--acc);color:var(--acc);}
.fullcart-footer{padding:18px 24px;border-top:1px solid var(--bd);flex-shrink:0;background:var(--sf);}
.fullcart-totals{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.fullcart-total-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--sub);}
.fullcart-total-row.main{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.3rem;color:var(--wh);}
.fullcart-discount-inp{display:flex;gap:8px;margin-bottom:14px;}
.fullcart-discount-inp input{flex:1;}
.fullcart-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fullcart-btn-order{padding:14px;background:var(--grd1);border:none;border-radius:12px;color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .2s;box-shadow:0 8px 24px rgba(99,102,241,.3);}
.fullcart-btn-order:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(99,102,241,.5);}
.fullcart-btn-wa{padding:14px;background:rgba(37,211,102,.1);border:1px solid rgba(37,211,102,.3);border-radius:12px;color:#25d366;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.fullcart-btn-wa:hover{background:rgba(37,211,102,.18);transform:translateY(-2px);}
@media(max-width:480px){.fullcart-cta-row{grid-template-columns:1fr;}.fullcart-modal{border-radius:20px 20px 0 0;}.fullcart-overlay{align-items:flex-end;}}

/* ══ SUPER ADMIN PANEL ══ */
.sa-panel{background:rgba(251,191,36,.04);border:1px solid rgba(251,191,36,.15);border-radius:16px;padding:20px;margin-bottom:16px;backdrop-filter:blur(8px);}
.sa-panel-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:#fbbf24;margin-bottom:16px;display:flex;align-items:center;gap:8px;filter:drop-shadow(0 0 8px rgba(251,191,36,.3));}
.sa-panel-title::before{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(251,191,36,.3));}
.feature-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.feature-toggle-row:last-child{border-bottom:none;}
.feature-toggle-info{display:flex;flex-direction:column;gap:2px;}
.feature-toggle-label{font-size:.85rem;font-weight:600;color:var(--tx);}
.feature-toggle-desc{font-size:.7rem;color:var(--mut);}
/* Toggle switch */
.toggle-sw{position:relative;width:42px;height:22px;flex-shrink:0;cursor:pointer;}
.toggle-sw input{opacity:0;width:0;height:0;}
.toggle-track{position:absolute;inset:0;background:var(--bd2);border-radius:22px;transition:.25s;}
.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 1px 4px rgba(0,0,0,.4);}
.toggle-sw input:checked ~ .toggle-track{background:var(--grd1);}
.toggle-sw input:checked ~ .toggle-thumb{left:23px;}

/* ══ DISCOUNT CODES ADMIN ══ */
.dc-table{width:100%;border-collapse:collapse;font-size:.8rem;}
.dc-table th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--bd2);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);}
.dc-table td{padding:8px;border-bottom:1px solid rgba(255,255,255,.03);vertical-align:middle;}
.dc-table tr:hover td{background:rgba(255,255,255,.02);}
.dc-badge{display:inline-flex;padding:2px 8px;border-radius:3px;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.dc-badge.active{background:rgba(22,163,74,.15);color:var(--grn);}
.dc-badge.inactive{background:rgba(255,255,255,.06);color:var(--mut);}
.dc-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
@media(max-width:480px){.dc-form{grid-template-columns:1fr;}}

/* ══ PHOTO ZOOM ══ */
#zoom-overlay{position:fixed;inset:0;z-index:950;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s;}
#zoom-overlay.open{opacity:1;pointer-events:all;}
#zoom-overlay.open #zoom-img{animation:zoomPop .3s cubic-bezier(.34,1.2,.64,1) both;}
@keyframes zoomPop{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
#zoom-img{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:6px;cursor:zoom-out;}
.zoom-close{position:absolute;top:16px;right:18px;width:34px;height:34px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:1rem;transition:background .15s;}
.zoom-close:hover{background:rgba(232,0,13,.3);}
.zoom-hint{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-size:.7rem;color:rgba(255,255,255,.3);pointer-events:none;}
.pp-main-img-el-wrap{cursor:zoom-in;position:relative;}
.pp-main-img-el-wrap::after{content:'🔍';position:absolute;bottom:8px;right:8px;font-size:.9rem;background:rgba(0,0,0,.5);padding:3px 6px;border-radius:4px;opacity:0;transition:opacity .2s;}
.pp-main-img-el-wrap:hover::after{opacity:1;}

/* ══ ACTIVITY LOG ══ */
.log-entry{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.78rem;}
.log-entry:last-child{border-bottom:none;}
.log-time{color:var(--mut);font-family:monospace;font-size:.68rem;flex-shrink:0;white-space:nowrap;margin-top:1px;}
.log-action{color:var(--sub);}
.log-mode{font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:2px;background:rgba(167,139,250,.15);color:#a78bfa;flex-shrink:0;margin-top:2px;}

/* ══ STATS CARDS ══ */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:20px;}
.stat-kpi{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px;transition:all .2s;backdrop-filter:blur(8px);animation:statCount .4s ease both;}
.stat-kpi:hover{border-color:rgba(99,102,241,.25);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3);}
.stat-kpi-label{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sub);margin-bottom:5px;}
.stat-kpi-val{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.9rem;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;}
.stat-kpi-sub{font-size:.68rem;color:var(--mut);margin-top:3px;}
.top-prod-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.top-prod-rank{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.2rem;color:var(--red);width:24px;flex-shrink:0;}
.top-prod-name{flex:1;font-size:.82rem;}
.top-prod-qty{font-family:'Barlow Condensed',sans-serif;font-weight:800;color:var(--sub);}

/* ══ EMAIL SETTINGS ══ */
.email-test-result{font-size:.75rem;padding:6px 10px;border-radius:4px;margin-top:6px;}
.email-test-result.ok{background:var(--grn-d);border:1px solid rgba(22,163,74,.3);color:var(--grn);}
.email-test-result.err{background:var(--red-d);border:1px solid rgba(232,0,13,.2);color:var(--red);}

/* ══ SUPER ADMIN MODE indicator ══ */
.sa-mode-badge{display:none;align-items:center;gap:6px;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);border-radius:20px;padding:3px 12px;}
.sa-mode-badge span.dot{width:6px;height:6px;border-radius:50%;background:#fbbf24;animation:pulse .9s ease infinite;box-shadow:0 0 8px rgba(251,191,36,.5);}
.sa-mode-badge span.lbl{font-size:.63rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fbbf24;}
body.sa-mode .sa-mode-badge{display:flex;}

/* ══ WISHLIST PAGE ══ */
#v-wishlist .shop-wrap .product-list:empty::after{content:'Nessun prodotto nella wishlist ancora. Clicca ❤️ su un prodotto per salvarlo.';display:block;color:var(--mut);font-size:.88rem;padding:32px 0;text-align:center;}


/* ══ KEYFRAMES EXTRA ══ */
@keyframes heartPop{0%{transform:scale(1)}30%{transform:scale(1.5)}60%{transform:scale(.9)}100%{transform:scale(1)}}
@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes numBounce{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes toastPop{0%{transform:translateX(-50%) translateY(20px) scale(.9);opacity:0}100%{transform:translateX(-50%) translateY(0) scale(1);opacity:1}}
@keyframes barGrow{from{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}
@keyframes finRow{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
@keyframes statCount{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes overlayIn{from{opacity:0}to{opacity:1}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes cartBounce{0%{transform:scale(1)}30%{transform:scale(1.22)}60%{transform:scale(.88)}80%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes glowRing{0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,.4)}50%{box-shadow:0 0 0 8px rgba(99,102,241,.0)}}

/* Smooth scroll */
html{scroll-behavior:smooth;}

/* Product page slide */
.product-page.open .pp-inner{animation:slideInRight .38s cubic-bezier(.34,1.2,.64,1) both;}
/* Cart item entry */
.cart-item{animation:slideInUp .25s cubic-bezier(.34,1.2,.64,1) both;}
/* View transition */
.view.vis{animation:scaleIn .22s ease both;}
/* Hero stats bounce */
.hero-stat-num{animation:numBounce .6s .3s cubic-bezier(.34,1.4,.64,1) both;}
/* Cuore */
.wish-btn.active{animation:heartPop .4s cubic-bezier(.34,1.6,.64,1);}
/* Tab */
.tab{transition:color .15s,background .15s;}
/* Qty picker */
.qty-picker{animation:scaleIn .2s cubic-bezier(.34,1.56,.64,1);}

/* ══ CARD HOVER ══ */
.pcard{
  animation:scaleIn .35s cubic-bezier(.34,1.2,.64,1) both;
  transition:border-color .25s,box-shadow .25s,background .25s,transform .25s;
}
.pcard:hover{
  border-color:rgba(99,102,241,.4);
  background:linear-gradient(160deg,rgba(99,102,241,.06),rgba(255,255,255,.03));
  box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 0 1px rgba(99,102,241,.2),inset 0 0 40px rgba(99,102,241,.03);
  transform:translateY(-3px);
}
.pcard:hover .pcard-name{color:#fff;}
.pcard:hover .pcard-img img{transform:scale(1.04);}
.pcard::before{content:'';position:absolute;left:0;top:15%;bottom:15%;width:2px;background:var(--grd1);opacity:0;border-radius:1px;transition:opacity .25s,top .25s,bottom .25s;}
.pcard:hover::before{opacity:1;top:5%;bottom:5%;}

/* v39 ════════════════════════════════════════════════════════════
   Storico ordini cliente, timeline, tracking admin, badge stato
   ════════════════════════════════════════════════════════════════ */

/* ── Badge stato ordine cliente ── */
.ord-badge{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:20px;}
.ord-badge.pending{background:rgba(245,158,11,.15);color:#f59e0b;border:1px solid rgba(245,158,11,.3);}
.ord-badge.confirmed,.ord-badge.confermato{background:rgba(16,185,129,.13);color:#10b981;border:1px solid rgba(16,185,129,.3);}
.ord-badge.shipped,.ord-badge.spedito{background:rgba(59,130,246,.13);color:#60a5fa;border:1px solid rgba(59,130,246,.3);}
.ord-badge.delivered,.ord-badge.consegnato{background:rgba(5,150,105,.15);color:#059669;border:1px solid rgba(5,150,105,.3);}
.ord-badge.cancelled,.ord-badge.annullato{background:rgba(232,0,13,.1);color:var(--red);border:1px solid rgba(232,0,13,.25);}
.ord-badge.in-sospeso,.ord-badge.sospeso{background:rgba(245,158,11,.15);color:#f59e0b;border:1px solid rgba(245,158,11,.3);}
.ord-badge.in-preparazione{background:rgba(139,92,246,.13);color:#a78bfa;border:1px solid rgba(139,92,246,.3);}

/* ── Sezione "I miei ordini" nel profilo ── */
.my-orders-section{margin-top:20px;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:20px;}
.my-orders-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sub);margin-bottom:16px;}
.my-order-row{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:all .2s;}
.my-order-row:hover{border-color:rgba(99,102,241,.3);background:rgba(99,102,241,.04);}
.my-order-row.expanded{border-color:rgba(99,102,241,.4);background:rgba(99,102,241,.06);}
.my-order-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.my-order-id{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.88rem;letter-spacing:.04em;color:var(--wh);}
.my-order-date{font-size:.72rem;color:var(--mut);}
.my-order-total{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.1rem;color:var(--red);}
.my-order-summary{font-size:.75rem;color:var(--sub);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.my-order-details{display:none;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);animation:fadeIn .2s ease;}
.my-order-row.expanded .my-order-details{display:block;}
.my-order-chevron{font-size:.7rem;color:var(--mut);transition:transform .2s;}
.my-order-row.expanded .my-order-chevron{transform:rotate(180deg);}

/* ── Timeline orizzontale ── */
@keyframes timelinePulse{0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,.4)}50%{box-shadow:0 0 0 6px rgba(99,102,241,.15)}}
.order-timeline{display:flex;align-items:flex-start;justify-content:space-between;position:relative;margin:16px 0;padding:0 4px;}
.order-timeline::before{content:'';position:absolute;top:12px;left:12px;right:12px;height:2px;background:rgba(255,255,255,.08);z-index:0;}
.tl-step{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;position:relative;z-index:1;}
.tl-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;border:2px solid transparent;transition:all .3s;flex-shrink:0;}
.tl-dot.done{background:var(--grn);border-color:var(--grn);color:#fff;box-shadow:0 0 12px rgba(16,185,129,.4);}
.tl-dot.current{background:var(--acc);border-color:var(--acc);color:#fff;animation:timelinePulse 2s ease infinite;}
.tl-dot.pending{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:var(--mut);}
.tl-label{font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;text-align:center;color:var(--sub);}
.tl-date{font-size:.58rem;color:var(--mut);text-align:center;}
.tl-line-fill{position:absolute;top:12px;left:50%;right:-50%;height:2px;z-index:0;}
.tl-line-fill.done{background:var(--grn);}

/* ── Tracking card nel profilo cliente ── */
.tracking-card{background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:10px 12px;margin-top:10px;}
.tracking-label{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sub);margin-bottom:4px;}
.tracking-code{font-family:monospace;font-size:.9rem;color:#60a5fa;font-weight:700;}
.tracking-link{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:.72rem;font-weight:700;color:#60a5fa;text-decoration:none;transition:color .15s;}
.tracking-link:hover{color:#93c5fd;}

/* ── Admin: tracking widget nell'ordine ── */
.v39-tracking-widget{background:rgba(59,130,246,.04);border:1px solid rgba(59,130,246,.15);border-radius:8px;padding:12px;margin:8px 0;}
.v39-tracking-saved{background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.2);border-radius:8px;padding:10px 12px;margin:8px 0;}

/* v40 ════════════════════════════════════════════════════════════
   Q&A Prodotti · Recensioni con Foto · Confronto · Cronologia · Social
   ════════════════════════════════════════════════════════════════ */

/* ── FAQ sezione nella pagina prodotto (v56) ── */
.qa-section{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.07);}
.qa-section-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:var(--wh);margin-bottom:14px;}
.faq-list{display:flex;flex-direction:column;gap:6px;}
.faq-item{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;transition:border-color .2s;}
.faq-item:hover{border-color:rgba(99,102,241,.25);}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;cursor:pointer;user-select:none;}
.faq-q-text{font-size:.88rem;font-weight:600;color:var(--wh);}
.faq-arrow{font-size:.7rem;color:var(--mut);transition:transform .22s;flex-shrink:0;}
.faq-item.open .faq-arrow{transform:rotate(180deg);}
.faq-a{display:none;padding:0 16px 13px;font-size:.82rem;color:var(--sub);line-height:1.6;border-top:1px solid rgba(255,255,255,.05);padding-top:10px;}
.faq-item.open .faq-a{display:block;}
/* ── FAQ admin editor ── */
.faq-admin-list{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.faq-admin-item{background:rgba(255,255,255,.03);border:1px solid var(--bd2);border-radius:10px;padding:12px;position:relative;}
.faq-admin-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:.72rem;letter-spacing:.08em;color:var(--acc);margin-bottom:8px;}
.faq-admin-rm{position:absolute;top:8px;right:8px;background:none;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--mut);padding:3px 8px;cursor:pointer;font-size:.72rem;transition:all .15s;}
.faq-admin-rm:hover{border-color:rgba(232,0,13,.3);color:var(--red);}
.faq-add-btn{width:100%;padding:10px;background:transparent;border:1px dashed rgba(255,255,255,.12);border-radius:10px;color:var(--sub);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:6px;}
.faq-add-btn:hover{border-color:rgba(99,102,241,.4);color:var(--acc);background:rgba(99,102,241,.06);}

/* ── Recensioni con foto ── */
.rv-photos-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;}
.rv-photo-thumb{width:62px;height:62px;border-radius:7px;overflow:hidden;cursor:pointer;border:2px solid rgba(255,255,255,.1);transition:border-color .2s;}
.rv-photo-thumb:hover{border-color:var(--acc);}
.rv-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.rv-upload-hint{font-size:.68rem;color:var(--mut);margin-top:5px;}
/* lightbox riusa .lightbox esistente */

/* ── Confronto prodotti ── */
.compare-btn-card{
  position:absolute;top:8px;left:8px;
  width:28px;height:28px;border-radius:50%;
  background:rgba(10,10,20,.75);border:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  font-size:.78rem;cursor:pointer;opacity:0;
  transition:opacity .2s,background .2s,border-color .2s;
  z-index:5;
}
.pcard:hover .compare-btn-card{opacity:1;}
.compare-btn-card.active{background:rgba(99,102,241,.25);border-color:var(--acc);opacity:1;}

/* ── Barra confronto fissa ── */
#compare-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:500;
  background:rgba(4,4,10,.96);border-top:1px solid rgba(99,102,241,.3);
  backdrop-filter:blur(18px);
  padding:10px clamp(14px,3.5vw,52px);
  display:none;align-items:center;gap:12px;flex-wrap:wrap;
  box-shadow:0 -8px 32px rgba(0,0,0,.5);
  animation:slideUpBar .3s cubic-bezier(.34,1.2,.64,1);
}
@keyframes slideUpBar{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
#compare-bar.visible{display:flex;}
.compare-bar-label{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sub);flex-shrink:0;}
.compare-bar-chips{display:flex;gap:8px;flex:1;flex-wrap:wrap;}
.compare-chip{display:flex;align-items:center;gap:6px;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.25);border-radius:20px;padding:4px 10px;font-size:.72rem;color:var(--acc);}
.compare-chip-rm{cursor:pointer;color:var(--mut);transition:color .15s;font-size:.8rem;}
.compare-chip-rm:hover{color:var(--red);}
.compare-bar-btns{display:flex;gap:8px;flex-shrink:0;}
.compare-bar-go{padding:7px 18px;background:var(--grd1);color:#fff;border:none;border-radius:8px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:opacity .2s;}
.compare-bar-go:hover{opacity:.85;}
.compare-bar-clear{padding:7px 12px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--mut);font-size:.75rem;cursor:pointer;transition:all .2s;}
.compare-bar-clear:hover{border-color:var(--red);color:var(--red);}

/* ── Modal confronto ── */
.compare-modal-wrap{display:none;position:fixed;inset:0;z-index:700;background:rgba(0,0,0,.8);backdrop-filter:blur(16px);}
.compare-modal-wrap.open{display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;animation:overlayIn .25s ease;}
.compare-modal{background:var(--sf);border:1px solid var(--bd2);border-radius:18px;width:100%;max-width:960px;overflow:hidden;animation:modalIn .3s cubic-bezier(.34,1.2,.64,1);}
.compare-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid rgba(255,255,255,.07);}
.compare-modal-head h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--wh);}
.compare-modal-x{cursor:pointer;color:var(--mut);font-size:1.1rem;transition:color .15s;padding:4px;}
.compare-modal-x:hover{color:var(--wh);}
.compare-table{width:100%;overflow-x:auto;padding:16px 22px;}
.compare-cols{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.compare-col{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;}
.compare-col-img{width:100%;height:140px;object-fit:cover;background:var(--sf2);display:block;}
.compare-col-body{padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:6px;}
.compare-col-name{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.95rem;color:var(--wh);}
.compare-col-price{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.2rem;color:var(--red);}
.compare-col-desc{font-size:.75rem;color:var(--sub);line-height:1.5;flex:1;}
.compare-col-footer{padding:10px 14px;border-top:1px solid rgba(255,255,255,.06);display:flex;gap:7px;flex-wrap:wrap;}
.compare-col-rm{font-size:.65rem;color:var(--mut);background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px 8px;cursor:pointer;transition:all .15s;font-family:'Barlow',sans-serif;}
.compare-col-rm:hover{border-color:var(--red);color:var(--red);}
.compare-col-add{font-size:.68rem;background:var(--grd1);color:#fff;border:none;border-radius:6px;padding:5px 10px;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:opacity .2s;}
.compare-col-add:hover{opacity:.85;}

/* ── Prodotti visti di recente ── */
.recently-section{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.07);}
.recently-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sub);margin-bottom:12px;}
.recently-grid{display:flex;gap:10px;flex-wrap:wrap;}
.recently-thumb{width:90px;cursor:pointer;border-radius:8px;overflow:hidden;background:var(--sf2);border:1px solid rgba(255,255,255,.07);transition:border-color .2s,transform .2s;}
.recently-thumb:hover{border-color:rgba(99,102,241,.4);transform:translateY(-2px);}
.recently-thumb img{width:100%;height:70px;object-fit:cover;display:block;}
.recently-thumb-name{font-size:.62rem;color:var(--sub);padding:5px 6px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ── Social share ── */
.share-row{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap;}
.share-label{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--mut);}
.share-btn{display:flex;align-items:center;gap:5px;padding:5px 13px;border-radius:20px;font-size:.72rem;font-weight:700;cursor:pointer;border:none;font-family:'Barlow',sans-serif;transition:all .2s;letter-spacing:.04em;}
.share-btn-wa{background:rgba(37,211,102,.1);border:1px solid rgba(37,211,102,.25);color:var(--wa);}
.share-btn-wa:hover{background:rgba(37,211,102,.2);}
.share-btn-copy{background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.25);color:#a5b4fc;}
.share-btn-copy:hover{background:rgba(99,102,241,.2);}

/* ── Foto recensione upload nel form ── */
.rv-file-upload-wrap{margin-top:4px;}
.rv-file-input{display:none;}
.rv-file-label{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.15);border-radius:8px;cursor:pointer;font-size:.75rem;color:var(--sub);transition:border-color .2s,color .2s;}
.rv-file-label:hover{border-color:rgba(99,102,241,.4);color:var(--acc);}
.rv-preview-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;}
.rv-preview-item{position:relative;width:62px;height:62px;border-radius:7px;overflow:hidden;border:1px solid rgba(255,255,255,.1);}
.rv-preview-item img{width:100%;height:100%;object-fit:cover;display:block;}
.rv-preview-rm{position:absolute;top:2px;right:2px;width:16px;height:16px;background:rgba(0,0,0,.7);border:none;border-radius:50%;color:#fff;font-size:.55rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;}

/* v41 ════════════════════════════════════════════════════════════
   Categoria · Autocomplete · URL Filtri
   ════════════════════════════════════════════════════════════════ */
.search-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--sf);border:1px solid var(--bd2);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:8000;overflow:hidden;max-height:260px;overflow-y:auto;}
.suggestion-item{padding:9px 14px;font-size:.85rem;color:var(--tx);cursor:pointer;transition:background .12s;display:flex;align-items:center;gap:8px;}
.suggestion-item:hover{background:rgba(99,102,241,.1);}
.suggestion-item .si-cat{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);background:rgba(99,102,241,.1);border-radius:3px;padding:1px 6px;flex-shrink:0;}
.suggestion-item .si-price{font-family:'Barlow Condensed',sans-serif;font-weight:800;color:var(--red);margin-left:auto;flex-shrink:0;}
.suggestion-divider{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);padding:5px 14px 3px;background:rgba(255,255,255,.02);}

/* v42 ════════════════════════════════════════════════════════════
   Programma Fedeltà Punti
   ════════════════════════════════════════════════════════════════ */
.loyalty-section{background:var(--sf);border:1px solid var(--bd);border-left:3px solid #fbbf24;border-radius:14px;padding:22px;margin-top:16px;}
.loyalty-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:#fbbf24;margin-bottom:14px;}
.loyalty-balance-card{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.2);border-radius:10px;padding:16px;display:flex;align-items:center;gap:16px;margin-bottom:14px;}
.loyalty-pts-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2.2rem;color:#fbbf24;line-height:1;}
.loyalty-pts-lbl{font-size:.72rem;color:var(--sub);margin-top:2px;}
.loyalty-pts-euro{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1rem;color:#10b981;margin-top:4px;}
.loyalty-history-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--bd2);font-size:.8rem;}
.loyalty-history-row:last-child{border-bottom:none;}
.loyalty-pts-badge{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.85rem;min-width:64px;text-align:right;}
.loyalty-pts-badge.earned{color:#10b981;}
.loyalty-pts-badge.redeemed{color:var(--red);}
.loyalty-toggle-row{display:flex;align-items:center;gap:10px;font-size:.84rem;color:var(--tx);}
.loyalty-toggle-row input[type=checkbox]{accent-color:#fbbf24;width:16px;height:16px;cursor:pointer;}

/* v43 ════════════════════════════════════════════════════════════
   Notifiche in-App
   ════════════════════════════════════════════════════════════════ */
@keyframes bellShake{0%,100%{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(6deg)}}
.notif-bell-btn{position:relative;background:rgba(255,255,255,.04);border:1px solid var(--bd2);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--sub);font-size:.95rem;transition:all .15s;flex-shrink:0;}
.notif-bell-btn:hover{background:rgba(99,102,241,.12);border-color:var(--acc);color:var(--acc);}
.notif-bell-btn.has-unread{animation:bellShake .5s ease .3s both;}
.notif-badge{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;border-radius:50%;width:16px;height:16px;font-size:.55rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg);}
.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:90vw;background:var(--sf);border:1px solid var(--bd2);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.5);z-index:9500;overflow:hidden;}
.notif-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--bd2);}
.notif-panel-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tx);}
.notif-list{max-height:360px;overflow-y:auto;}
.notif-item{padding:11px 16px;border-bottom:1px solid var(--bd2);cursor:pointer;transition:background .12s;}
.notif-item:last-child{border-bottom:none;}
.notif-item:hover{background:rgba(99,102,241,.06);}
.notif-item.unread{background:rgba(99,102,241,.07);border-left:3px solid var(--acc);}
.notif-item-title{font-size:.82rem;font-weight:600;color:var(--tx);margin-bottom:2px;}
.notif-item-body{font-size:.75rem;color:var(--sub);line-height:1.4;}
.notif-item-time{font-size:.62rem;color:var(--mut);margin-top:4px;}
.notif-empty{padding:24px;text-align:center;color:var(--mut);font-size:.8rem;}

/* v44 ════════════════════════════════════════════════════════════
   SEO · PWA · Performance
   ════════════════════════════════════════════════════════════════ */
@keyframes installBannerIn{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
#v44-install-banner.show{display:flex!important;animation:installBannerIn .4s cubic-bezier(.34,1.2,.64,1) both;}
#v44-install-banner.show~#compare-bar{bottom:56px!important;}

/* v45 ════════════════════════════════════════════════════════════
   Gestione Prodotti Avanzata
   ════════════════════════════════════════════════════════════════ */
.tag-chips-row{display:flex;flex-wrap:wrap;gap:5px;min-height:20px;}
.tag-chip{display:inline-flex;align-items:center;gap:4px;background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.25);border-radius:20px;padding:3px 10px;font-size:.72rem;color:#a5b4fc;font-weight:600;}
.tag-chip button{background:none;border:none;color:#a5b4fc;cursor:pointer;font-size:.75rem;padding:0;line-height:1;opacity:.7;}
.tag-chip button:hover{opacity:1;}
.arow-sort-btns{display:flex;flex-direction:column;gap:2px;flex-shrink:0;}
.sort-btn{background:rgba(255,255,255,.05);border:1px solid var(--bd2);border-radius:4px;width:22px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.6rem;color:var(--mut);transition:all .12s;}
.sort-btn:hover{background:rgba(99,102,241,.15);color:var(--acc);border-color:var(--acc);}
.arow-margin{font-size:.6rem;font-weight:700;padding:2px 7px;border-radius:20px;margin-top:3px;display:inline-block;}
.arow-margin.good{background:rgba(16,185,129,.12);color:#10b981;border:1px solid rgba(16,185,129,.2);}
.arow-margin.bad{background:rgba(232,0,13,.1);color:var(--red);border:1px solid rgba(232,0,13,.2);}
.featured-badge{display:inline-flex;align-items:center;gap:3px;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.25);border-radius:20px;padding:2px 8px;font-size:.6rem;font-weight:700;color:#fbbf24;}
.featured-section{margin-bottom:24px;}
.featured-section .sec-title{color:#fbbf24;}

/* v46 ════════════════════════════════════════════════════════════
   Gestione Ordini Avanzata
   ════════════════════════════════════════════════════════════════ */
.ord-checkbox{width:16px;height:16px;accent-color:var(--acc);cursor:pointer;flex-shrink:0;}
.pend-card.selected{border-color:rgba(99,102,241,.5);background:rgba(99,102,241,.05);}
.status-log-entry{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.72rem;color:var(--sub);}
.status-log-entry::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--acc);flex-shrink:0;}

/* v47 ════════════════════════════════════════════════════════════
   Analytics & Finanze Avanzate
   ════════════════════════════════════════════════════════════════ */
.v47-bar-col{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;min-width:0;}
.v47-bar{background:linear-gradient(to top,rgba(99,102,241,.6),rgba(139,92,246,.8));border-radius:3px 3px 0 0;width:100%;transition:height .4s ease;position:relative;cursor:default;}
.v47-bar:hover::after{content:attr(data-label);position:absolute;top:-22px;left:50%;transform:translateX(-50%);background:var(--sf);border:1px solid var(--bd2);border-radius:4px;padding:2px 6px;font-size:.6rem;white-space:nowrap;color:var(--tx);}
.v47-bar-day{font-size:.5rem;color:var(--mut);text-align:center;white-space:nowrap;overflow:hidden;max-width:100%;}
.stock-forecast{display:inline-flex;align-items:center;gap:4px;background:rgba(217,119,6,.1);border:1px solid rgba(217,119,6,.25);border-radius:20px;padding:2px 8px;font-size:.6rem;font-weight:700;color:var(--amb);margin-top:3px;}

/* v48 ════════════════════════════════════════════════════════════
   Gestione Clienti
   ════════════════════════════════════════════════════════════════ */
.v48-seg-btn{padding:5px 12px;background:rgba(255,255,255,.04);border:1px solid var(--bd2);border-radius:6px;color:var(--sub);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .15s;}
.v48-seg-btn.active,.v48-seg-btn:hover{background:rgba(99,102,241,.12);border-color:rgba(99,102,241,.35);color:#a5b4fc;}
.v48-client-table{width:100%;border-collapse:collapse;font-size:.78rem;}
.v48-client-table th{padding:7px 10px;text-align:left;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--bd2);}
.v48-client-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--sub);}
.v48-client-table tr:hover td{background:rgba(99,102,241,.04);}
.v48-bl-badge{background:rgba(232,0,13,.1);border:1px solid rgba(232,0,13,.2);border-radius:3px;padding:1px 6px;font-size:.6rem;font-weight:700;color:var(--red);}

/* v49 ════════════════════════════════════════════════════════════
   Promozioni & Marketing
   ════════════════════════════════════════════════════════════════ */
@keyframes flashPulse{0%,100%{opacity:1}50%{opacity:.6}}
.flash-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,rgba(232,0,13,.15),rgba(251,191,36,.1));border:1px solid rgba(232,0,13,.35);border-radius:20px;padding:2px 10px;font-size:.6rem;font-weight:800;color:var(--red);letter-spacing:.06em;text-transform:uppercase;animation:flashPulse 1.5s ease infinite;}
.flash-price-orig{text-decoration:line-through;color:var(--mut);font-size:.85em;margin-right:5px;}
.flash-countdown{font-size:.6rem;color:var(--amb);font-weight:700;}
.fs-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--bd2);font-size:.78rem;}
.fs-row:last-child{border-bottom:none;}

/* v50 ════════════════════════════════════════════════════════════
   Operatività: Log · Spedizionieri · Import · Backup
   ════════════════════════════════════════════════════════════════ */
.v50-log-row{display:flex;align-items:flex-start;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.75rem;}
.v50-log-action{font-weight:700;color:var(--acc);flex-shrink:0;min-width:120px;}
.v50-log-details{flex:1;color:var(--sub);font-size:.7rem;}
.v50-log-time{color:var(--mut);font-size:.65rem;flex-shrink:0;}
.carrier-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--bd2);font-size:.78rem;}
.carrier-row:last-child{border-bottom:none;}
.import-table{width:100%;border-collapse:collapse;font-size:.72rem;}
.import-table th{padding:5px 8px;text-align:left;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--bd2);}
.import-table td{padding:5px 8px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--sub);}

/* FASE 4: slideInRight */
@keyframes slideInRight{0%{transform:translateX(120%);opacity:0}100%{transform:translateX(0);opacity:1}}

/* --- v61 FIXES --- */
/* Shake animation per warning variante */
@keyframes v61Shake{0%,100%{transform:translateX(0)}15%{transform:translateX(-6px)}30%{transform:translateX(6px)}45%{transform:translateX(-5px)}60%{transform:translateX(5px)}75%{transform:translateX(-3px)}90%{transform:translateX(3px)}}
/* Variante selezionata nel carrello drawer */
.cart-item-variant{font-size:.68rem;color:var(--acc);margin:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;letter-spacing:.03em;}
/* z-index cart drawer sopra product page (z-600) */
.cart-overlay{z-index:800!important;}
.cart-drawer{z-index:801!important;}



/* ══════════════════════════════════════════
   v63 — NEGOZIO SETTINGS & WHITE LABEL
══════════════════════════════════════════ */

/* Demo banner */
#v62-demo-banner { font-size:.82rem;line-height:1.3; }
body.has-demo-banner { padding-top:38px; }
body.has-demo-banner #main-nav { top:38px; }

/* Powered by */
#v63-powered-by, #v62-powered-by {
  font-size:.62rem;color:var(--mut);opacity:.35;
  letter-spacing:.05em;text-align:right;
  transition:opacity .2s;
}
#v63-powered-by:hover, #v62-powered-by:hover { opacity:.65; }

/* Settings cards v63 */
.v63-settings-card {
  background:var(--sf);
  border:1px solid var(--bd);
  border-left:3px solid var(--acc);
  border-radius:10px;
  padding:20px;
  margin-bottom:18px;
}
.v63-card-title {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:800;font-size:.95rem;
  letter-spacing:.07em;text-transform:uppercase;
  color:var(--tx);margin-bottom:16px;
  display:flex;align-items:center;gap:8px;
}

/* Toggle rows */
.v63-toggle-row {
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:12px;
  background:var(--bg);border:1px solid var(--bd2);border-radius:8px;
  margin-bottom:10px;
}
.v63-toggle-label { font-size:.85rem;font-weight:600;color:var(--tx);margin-bottom:2px; }
.v63-toggle-sub { font-size:.72rem;color:var(--mut);line-height:1.4; }

/* Bottoni v63 */
.v63-btn {
  display:inline-flex;align-items:center;gap:7px;
  padding:10px 20px;border:none;border-radius:10px;
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:.88rem;letter-spacing:.07em;text-transform:uppercase;
  cursor:pointer;transition:all .2s;white-space:nowrap;
}
.v63-btn:hover { transform:translateY(-2px); }
.v63-btn:active { transform:scale(.97); }
.v63-btn-green {
  background:linear-gradient(135deg,#10b981,#059669);
  color:#fff;box-shadow:0 4px 16px rgba(16,185,129,.35);
}
.v63-btn-green:hover { box-shadow:0 8px 24px rgba(16,185,129,.5); }
.v63-btn-dim {
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  color:var(--sub);
}
.v63-btn-dim:hover { background:rgba(255,255,255,.08);color:var(--tx); }
.v63-btn-blue {
  background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.3);
  color:#60a5fa;
}
.v63-btn-blue:hover { background:rgba(59,130,246,.2); }
.v63-btn-purple {
  background:linear-gradient(135deg,#6366f1,#8b5cf6);
  color:#fff;box-shadow:0 4px 16px rgba(99,102,241,.35);
}
.v63-btn-purple:hover { box-shadow:0 8px 24px rgba(99,102,241,.5); }

/* Plan cards */
.v63-plan-card {
  background:var(--bg);border:1px solid var(--bd2);
  border-radius:12px;padding:18px;position:relative;
  transition:border-color .2s,transform .2s;
}
.v63-plan-card:hover { border-color:rgba(99,102,241,.3);transform:translateY(-2px); }
.v63-plan-name {
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;
  margin-bottom:4px;
}
.v63-plan-price {
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:1.9rem;color:var(--tx);line-height:1.1;margin-bottom:12px;
}
.v63-plan-price span { font-size:.85rem;font-weight:400;color:var(--mut); }
.v63-plan-list {
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:5px;
  font-size:.78rem;color:var(--sub);line-height:1.5;
}

/* Cart item variante */
.cart-item-variant {
  font-size:.68rem;color:var(--acc);
  margin:2px 0;font-weight:600;letter-spacing:.02em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* Shake animation variante */
@keyframes v63Shake {
  0%,100%{transform:translateX(0)}
  15%{transform:translateX(-7px)}30%{transform:translateX(7px)}
  45%{transform:translateX(-5px)}60%{transform:translateX(5px)}
  75%{transform:translateX(-3px)}90%{transform:translateX(3px)}
}

/* Cart z-index definitivi */
.cart-overlay { z-index:8000!important; }
.cart-drawer  { z-index:8001!important; }


/* ════════════════════════════════════════════════════
   v64 — GLASSMORPHISM UI & PREMIUM COMPONENTS
════════════════════════════════════════════════════ */

/* ── Page Header ── */
.v64-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.v64-page-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900;
  font-size: 1.8rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--tx);
  line-height: 1;
  margin-bottom: 4px;
}
.v64-page-sub {
  font-size: .75rem;
  color: var(--mut);
  letter-spacing: .04em;
}
.v64-hdr-btn {
  padding: 8px 16px;
  border: none;
  border-radius: 8px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
}
.v64-hdr-btn:hover { transform: translateY(-1px); }
.v64-hdr-btn:active { transform: scale(.97); }
.v64-hdr-btn-green { background: linear-gradient(135deg,#10b981,#059669); color: #fff; box-shadow: 0 4px 14px rgba(16,185,129,.3); }
.v64-hdr-btn-green:hover { box-shadow: 0 6px 20px rgba(16,185,129,.45); }
.v64-hdr-btn-blue { background: rgba(59,130,246,.12); border: 1px solid rgba(59,130,246,.25); color: #60a5fa; }
.v64-hdr-btn-blue:hover { background: rgba(59,130,246,.2); }
.v64-hdr-btn-purple { background: linear-gradient(135deg,#6366f1,#8b5cf6); color: #fff; box-shadow: 0 4px 14px rgba(99,102,241,.3); }
.v64-hdr-btn-purple:hover { box-shadow: 0 6px 20px rgba(99,102,241,.45); }

/* ── Settings Grid 2 colonne ── */
.v64-settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 720px) {
  .v64-settings-grid { grid-template-columns: 1fr; }
}

/* ── Glass Card ── */
.v64-glass-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 14px;
  padding: 20px;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: border-color .2s;
}
.v64-glass-card:hover {
  border-color: rgba(99,102,241,.2);
}
.v64-export-card {
  background: linear-gradient(135deg,rgba(99,102,241,.06),rgba(139,92,246,.04));
  border-color: rgba(99,102,241,.15);
}

/* ── Card Header ── */
.v64-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.v64-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.v64-card-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  font-size: .95rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tx);
}
.v64-card-sub {
  font-size: .68rem;
  color: var(--mut);
  margin-top: 1px;
}

/* ── Input premium ── */
.v64-input {
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.04) !important;
  transition: border-color .2s, background .2s !important;
}
.v64-input:focus {
  border-color: var(--acc) !important;
  background: rgba(99,102,241,.06) !important;
  outline: none !important;
}

/* ── Toggle items ── */
.v64-toggle-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.05);
  margin-bottom: 0;
}
.v64-toggle-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  flex-shrink: 0;
}
.v64-toggle-content { flex: 1; min-width: 0; }
.v64-toggle-label { font-size: .82rem; font-weight: 700; color: var(--tx); }
.v64-toggle-desc { font-size: .68rem; color: var(--mut); margin-top: 1px; line-height: 1.4; }

/* ── Mini piani ── */
.v64-mini-plan {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 9px;
  transition: border-color .2s;
}
.v64-mini-plan:hover { border-color: rgba(255,255,255,.12); }
.v64-mini-plan-featured {
  background: rgba(99,102,241,.07);
  border-color: rgba(99,102,241,.2);
}

/* ── Variant Warning Premium ── */
.v64-variant-warn {
  display: none;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: linear-gradient(135deg,rgba(232,0,13,.12),rgba(239,68,68,.08));
  border: 1px solid rgba(232,0,13,.3);
  border-radius: 10px;
  font-size: .82rem;
  color: #fca5a5;
  font-weight: 600;
  box-shadow: 0 4px 20px rgba(232,0,13,.15);
  margin: 8px 0 12px;
  animation: none;
}
.v64-variant-warn.show {
  display: flex !important;
  animation: v64WarnIn .3s cubic-bezier(.34,1.56,.64,1) forwards;
}
@keyframes v64WarnIn {
  from { opacity:0; transform: scale(.95) translateY(-4px); }
  to   { opacity:1; transform: scale(1) translateY(0); }
}
.v64-warn-icon { font-size: 1.1rem; flex-shrink: 0; }

/* ── Shake v64 più aggressivo ── */
.v64-shake {
  animation: v64ShakeKf .5s cubic-bezier(.36,.07,.19,.97) forwards !important;
}
@keyframes v64ShakeKf {
  0%,100% { transform: translateX(0); }
  10%      { transform: translateX(-10px); }
  20%      { transform: translateX(10px); }
  30%      { transform: translateX(-8px); }
  40%      { transform: translateX(8px); }
  50%      { transform: translateX(-6px); }
  60%      { transform: translateX(6px); }
  70%      { transform: translateX(-3px); }
  80%      { transform: translateX(3px); }
  90%      { transform: translateX(-1px); }
}

/* ── Cart z-index definitivi (già in v63, rinforzo) ── */
.cart-overlay { z-index: 8000 !important; }
.cart-drawer  { z-index: 8001 !important; }

/* ── Powered by ── */
#v63-powered-by, #v62-powered-by {
  font-size: .6rem;
  color: var(--mut);
  opacity: .3;
  letter-spacing: .06em;
  text-align: right;
  transition: opacity .3s;
}
#v63-powered-by:hover, #v62-powered-by:hover { opacity: .65; }

/* ── Cart item variante (swatch inline) ── */
.cart-item-variant {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: .68rem;
  color: #a5b4fc;
  font-weight: 600;
  margin: 2px 0;
}
.cart-item-variant-swatch {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  border: 1px solid rgba(255,255,255,.15);
  flex-shrink: 0;
}
