/* ==========================================================
   NETCRAFTER — design system
   Inspiré de index.html (thème Noctura) : fond sombre, accent
   ambre, Fraunces + Work Sans, cartes bordées, reveal au scroll.
   ========================================================== */

:root{
  --bg:#07070a; --bg-panel:#0f1013; --bg-panel-2:#151519;
  --line:#26262b; --line-soft:#1a1a1e;
  --text:#f3f0e9; --text-dim:#a29d92; --text-faint:#5f5c56;
  --amber:#e0a441; --amber-soft:#f0c47a; --glare:#bcd4f2;
  --green:#7cbf8e; --red:#e0704a;
  --font-display:'Fraunces', serif; --font-body:'Work Sans', sans-serif;
  --radius:14px; --radius-sm:8px; --radius-pill:100px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:auto;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;}
a{color:inherit;text-decoration:none;}
img,svg,video{display:block;max-width:100%;}
button,input,select,textarea{font-family:inherit;color:inherit;}
button{cursor:pointer;background:none;border:none;-webkit-appearance:none;appearance:none;font-size:inherit;}
ul{list-style:none;}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px;}
@media (max-width:640px){.wrap{padding:0 18px;}}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:-0.01em;}
.icon{width:20px;height:20px;flex-shrink:0;}
:focus-visible{outline:2px solid var(--amber-soft);outline-offset:3px;}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(30px);filter:blur(6px);transition:opacity .7s ease, transform .7s ease, filter .7s ease;}
.reveal.in{opacity:1;transform:none;filter:none;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-pill);font-size:14.5px;font-weight:600;padding:13px 26px;border:1px solid transparent;transition:background .25s ease, box-shadow .25s ease, border-color .25s ease, color .25s ease;white-space:nowrap;}
.btn-primary{background:var(--amber);color:#1a1204;}
.btn-primary:hover{background:var(--amber-soft);box-shadow:0 10px 30px -10px rgba(224,164,65,0.55);}
.btn-primary:disabled{background:var(--line);color:var(--text-faint);cursor:not-allowed;box-shadow:none;}
.btn-outline{border-color:var(--line);color:var(--text);background:transparent;}
.btn-outline:hover{border-color:var(--amber);background:rgba(224,164,65,0.08);}
.btn-ghost{background:transparent;color:var(--text-dim);padding:10px 16px;}
.btn-ghost:hover{color:var(--amber-soft);}
.btn-danger{background:rgba(224,112,74,0.12);color:var(--red);border-color:rgba(224,112,74,0.3);}
.btn-danger:hover{background:rgba(224,112,74,0.22);}
.btn-sm{padding:9px 16px;font-size:13px;}
.btn-block{width:100%;}
.btn-line{font-size:14.5px;color:var(--text);padding:13px 4px;border-bottom:1px solid var(--line);}
.btn-line:hover{border-color:var(--amber);color:var(--amber-soft);}

/* ---------- badges ---------- */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:var(--radius-pill);letter-spacing:0.02em;}
.badge-amber{background:var(--amber);color:#1a1204;}
.badge-outline{border:1px solid var(--line);color:var(--text-dim);background:rgba(255,255,255,0.02);}
.badge-green{background:rgba(124,191,142,0.15);color:var(--green);}
.badge-red{background:rgba(224,112,74,0.15);color:var(--red);}
.badge-faint{background:var(--bg-panel-2);color:var(--text-faint);border:1px solid var(--line);}

/* ---------- forms ---------- */
label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:6px;}
.field{margin-bottom:18px;}
.input,select.input,textarea.input{width:100%;background:var(--bg-panel-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;color:var(--text);font-size:15px;transition:border-color .2s ease;}
.input:focus{border-color:var(--amber);outline:none;}
textarea.input{resize:vertical;min-height:100px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:560px){.field-row{grid-template-columns:1fr;}}
.field-error{color:var(--red);font-size:12.5px;margin-top:6px;}
.help-text{color:var(--text-faint);font-size:12.5px;margin-top:6px;}
.checkbox-row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-dim);}
.checkbox-row input{width:16px;height:16px;accent-color:var(--amber);}

.radio-card{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;cursor:pointer;transition:border-color .2s ease, background .2s ease;}
.radio-card:hover{border-color:rgba(224,164,65,0.4);}
.radio-card input{margin-top:3px;width:16px;height:16px;accent-color:var(--amber);flex-shrink:0;}
.radio-card.checked{border-color:var(--amber);background:rgba(224,164,65,0.06);}
.radio-card .rc-title{font-size:15px;color:var(--text);font-weight:600;display:flex;align-items:center;gap:8px;}
.radio-card .rc-desc{font-size:13px;color:var(--text-faint);margin-top:4px;}

.payment-icons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.payment-icons img{height:24px;width:auto;max-width:60px;object-fit:contain;background:#fff;border-radius:6px;padding:5px 9px;box-shadow:0 1px 0 rgba(0,0,0,0.04);}
.payment-icons.sm img{height:18px;max-width:46px;padding:4px 7px;}

/* ---------- flash / toast ---------- */
.flash-stack{position:fixed;top:16px;right:16px;z-index:400;display:flex;flex-direction:column;gap:10px;max-width:340px;}
.flash{background:var(--bg-panel-2);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:var(--radius-sm);padding:13px 16px;font-size:14px;color:var(--text);box-shadow:0 20px 40px -20px rgba(0,0,0,.6);}
.flash.success{border-left-color:var(--green);}
.flash.error{border-left-color:var(--red);}

/* ---------- top nav (site) ---------- */
.top-fixed{position:sticky;top:0;left:0;right:0;z-index:300;background:rgba(7,7,10,0.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.nav{padding:16px 0;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.logo{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:0.01em;color:var(--text);}
.logo span{color:var(--amber-soft);}
.nav-links{display:flex;align-items:center;gap:30px;font-size:14.5px;color:var(--text-dim);}
.nav-links a:hover{color:var(--amber-soft);}
@media (max-width:820px){.nav-links{display:none;}}
.nav-links.mobile-open{display:flex !important;position:absolute;top:100%;left:0;right:0;background:var(--bg-panel);border-bottom:1px solid var(--line);flex-direction:column;padding:10px 32px 18px;gap:2px;z-index:250;}
.nav-links.mobile-open a{padding:12px 0;border-bottom:1px solid var(--line-soft);}
.mobile-menu-btn{display:none;background:transparent;border:1px solid var(--line);border-radius:8px;width:40px;height:40px;color:var(--text);font-size:18px;align-items:center;justify-content:center;}
@media (max-width:820px){.mobile-menu-btn{display:flex;}}
.nav-actions{display:flex;align-items:center;gap:16px;}
.nav-search{display:flex;align-items:center;gap:8px;background:var(--bg-panel-2);border:1px solid var(--line);border-radius:var(--radius-pill);padding:8px 14px;}
.nav-search input{background:transparent;border:none;color:var(--text);font-size:13.5px;width:150px;}
.nav-search input:focus{outline:none;}
@media (max-width:640px){.nav-search{display:none;}}
.cart-link{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);}
.cart-link:hover{border-color:var(--amber);}
.cart-count{position:absolute;top:-6px;right:-6px;background:var(--amber);color:#1a1204;font-size:10.5px;font-weight:700;min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 3px;}

/* ---------- hero (home) ---------- */
.hero{position:relative;padding:70px 0 60px;overflow:hidden;border-bottom:1px solid var(--line-soft);}
.hero-glow{position:absolute;width:60%;height:80%;top:-10%;right:-8%;background:radial-gradient(circle, rgba(224,164,65,0.16), transparent 70%);filter:blur(50px);pointer-events:none;}
.hero-inner{position:relative;z-index:2;max-width:640px;}
.hs-kicker{display:inline-block;font-size:13px;color:var(--amber-soft);letter-spacing:0.03em;margin-bottom:14px;}
.hero h1{font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.08;margin-bottom:18px;}
.hero p{font-size:16.5px;color:var(--text-dim);max-width:480px;margin-bottom:26px;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}

/* ---------- section shell ---------- */
section{padding:56px 0;}
.eyebrow{font-size:13px;color:var(--amber-soft);margin-bottom:10px;letter-spacing:0.02em;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px;flex-wrap:wrap;}
.section-head h2{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15;}
.section-head p{color:var(--text-dim);font-size:15px;margin-top:8px;max-width:520px;}

/* ---------- categories ---------- */
.category-strip{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;}
.category-chip{flex:0 0 auto;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-pill);padding:10px 18px;font-size:14px;color:var(--text-dim);background:var(--bg-panel-2);transition:border-color .2s ease,color .2s ease;}
.category-chip:hover,.category-chip.active{border-color:var(--amber);color:var(--amber-soft);}

/* ---------- product grid & card ---------- */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media (max-width:1020px){.product-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:760px){.product-grid{grid-template-columns:repeat(2,1fr);gap:14px;}}
@media (max-width:460px){.product-grid{grid-template-columns:1fr 1fr;}}

.product-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-panel-2);transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;display:flex;flex-direction:column;}
.product-card:hover{border-color:rgba(224,164,65,0.4);transform:translateY(-3px);box-shadow:0 24px 44px -26px rgba(0,0,0,.6);}
.pc-media{position:relative;aspect-ratio:1/1;background:var(--bg-panel);overflow:hidden;}
.pc-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.product-card:hover .pc-media img{transform:scale(1.05);}
.pc-badge{position:absolute;top:10px;left:10px;z-index:2;}
.pc-badge-stock{position:absolute;top:10px;right:10px;z-index:2;}
.pc-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1;}
.pc-cat{font-size:11.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.03em;}
.pc-name{font-size:15px;color:var(--text);font-weight:600;line-height:1.3;}
.pc-price-row{margin-top:auto;display:flex;align-items:baseline;gap:8px;padding-top:8px;}
.pc-price{font-family:var(--font-display);font-size:1.15rem;color:var(--amber-soft);}
.pc-price-from{font-size:11.5px;color:var(--text-faint);}
.pc-compare{font-size:13px;color:var(--text-faint);text-decoration:line-through;}

.empty-state{text-align:center;padding:70px 20px;color:var(--text-faint);border:1px dashed var(--line);border-radius:var(--radius);}
.empty-state h3{color:var(--text);margin-bottom:8px;font-size:1.2rem;}

/* ---------- banners / publicités ---------- */
.banner-hero{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:220px;display:flex;align-items:flex-end;background:var(--bg-panel-2);}
.banner-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.banner-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(7,7,10,0.88), rgba(7,7,10,0.15));z-index:1;}
.banner-hero-content{position:relative;z-index:2;padding:28px 32px;}
.banner-hero-content h3{font-size:1.5rem;color:var(--text);margin-bottom:6px;}
.banner-hero-content p{color:var(--text-dim);font-size:14px;margin-bottom:4px;}
.banner-hero-content .advertiser{font-size:11.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.03em;margin-top:8px;}

.banner-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.banner-card{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/7;display:block;background:var(--bg-panel-2);}
.banner-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.banner-card:hover img{transform:scale(1.04);}
.banner-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(7,7,10,0.82), transparent 60%);}
.banner-card-content{position:absolute;left:0;right:0;bottom:0;padding:16px;z-index:2;}
.banner-card-content h4{font-size:1.05rem;color:var(--text);margin-bottom:3px;}
.banner-card-content p{font-size:12.5px;color:var(--text-dim);}
.banner-card-badge{position:absolute;top:10px;right:10px;z-index:2;}

.feature-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:760px){.feature-trio{grid-template-columns:1fr;}}

/* ---------- product detail ---------- */
.product-layout{display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:flex-start;}
@media (max-width:900px){.product-layout{grid-template-columns:1fr;gap:26px;}}

.gallery-main{position:relative;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--bg-panel-2);}
.gallery-main img,.gallery-main video{width:100%;height:100%;object-fit:contain;background:var(--bg-panel-2);}
.gallery-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
.gallery-thumb{position:relative;width:66px;height:66px;border-radius:var(--radius-sm);overflow:hidden;border:1.5px solid var(--line);cursor:pointer;opacity:.62;transition:opacity .2s ease,border-color .2s ease,transform .2s ease;}
.gallery-thumb:hover{transform:translateY(-3px);}
.gallery-thumb.active{border-color:var(--amber);opacity:1;}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;}
.gallery-thumb .play-badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(7,7,10,0.35);color:#fff;font-size:18px;}

.product-info h1{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:10px;line-height:1.16;}
.product-cat-link{font-size:12.5px;color:var(--amber-soft);text-transform:uppercase;letter-spacing:0.03em;margin-bottom:10px;display:inline-block;}
.product-price-block{display:flex;align-items:baseline;gap:12px;margin:14px 0;}
.product-price{font-family:var(--font-display);font-size:2rem;color:var(--amber-soft);}
.product-compare{font-size:15px;color:var(--text-faint);text-decoration:line-through;}
.product-desc{color:var(--text-dim);font-size:15px;line-height:1.65;margin-bottom:20px;}

.variant-group{margin-bottom:20px;}
.variant-group .vg-label{font-size:13px;color:var(--text-dim);margin-bottom:8px;}
.variant-options{display:flex;flex-wrap:wrap;gap:9px;}
.variant-opt{border:1px solid var(--line);border-radius:var(--radius-pill);padding:9px 18px;font-size:13.5px;color:var(--text-dim);background:var(--bg-panel-2);transition:border-color .2s ease,color .2s ease;}
.variant-opt.active{border-color:var(--amber);color:var(--amber-soft);background:rgba(224,164,65,0.08);}
.variant-opt.disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed;}

.qty-row{display:flex;align-items:center;gap:16px;margin-bottom:22px;}
.qty-stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);overflow:hidden;}
.qty-stepper button{width:38px;height:40px;background:transparent;border:none;color:var(--text);font-size:16px;}
.qty-stepper button:hover{background:rgba(224,164,65,0.1);}
.qty-stepper input{width:40px;text-align:center;background:transparent;border:none;color:var(--text);font-size:15px;}

.stock-line{font-size:13px;margin-bottom:18px;}
.stock-line.ok{color:var(--green);}
.stock-line.low{color:var(--amber-soft);}
.stock-line.out{color:var(--red);}

.product-points{margin:20px 0;}
.product-points li{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line-soft);font-size:13.5px;color:var(--text-dim);}
.product-points li:last-child{border-bottom:1px solid var(--line-soft);}

.product-tabs{margin-top:44px;border-top:1px solid var(--line-soft);}
.tab-heads{display:flex;gap:26px;border-bottom:1px solid var(--line-soft);}
.tab-head{padding:16px 2px;font-size:14.5px;color:var(--text-faint);border-bottom:2px solid transparent;}
.tab-head.active{color:var(--text);border-color:var(--amber);}
.tab-panel{display:none;padding:24px 0;color:var(--text-dim);font-size:15px;line-height:1.7;}
.tab-panel.active{display:block;}

/* ---------- cart ---------- */
.cart-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:36px;align-items:flex-start;}
@media (max-width:880px){.cart-layout{grid-template-columns:1fr;}}
.cart-row{display:grid;grid-template-columns:80px 1fr auto auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line-soft);}
.cart-row img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line);}
.cart-row .ci-name{font-size:14.5px;color:var(--text);font-weight:600;}
.cart-row .ci-variant{font-size:12.5px;color:var(--text-faint);margin-top:2px;}
.cart-row .ci-price{font-size:13px;color:var(--text-dim);margin-top:6px;}
.cart-remove{font-size:12.5px;color:var(--text-faint);margin-top:6px;}
.cart-remove:hover{color:var(--red);}
@media (max-width:560px){.cart-row{grid-template-columns:60px 1fr;grid-template-areas:"img name" "img qty";} .cart-row img{width:60px;height:60px;}}

.summary-card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--bg-panel-2);position:sticky;top:90px;}
.summary-card h3{font-size:1.1rem;margin-bottom:16px;}
.summary-line{display:flex;justify-content:space-between;font-size:14px;color:var(--text-dim);padding:8px 0;}
.summary-line.total{border-top:1px solid var(--line-soft);margin-top:8px;padding-top:14px;font-size:16px;color:var(--text);font-weight:600;}
.summary-line .amount{color:var(--text);}
.summary-line.discount .amount{color:var(--green);}

/* ---------- checkout ---------- */
.checkout-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:flex-start;}
@media (max-width:900px){.checkout-layout{grid-template-columns:1fr;}}
.checkout-section{margin-bottom:30px;}
.checkout-section h3{font-size:1.05rem;margin-bottom:16px;}
.payment-options{display:flex;flex-direction:column;gap:12px;}

/* ---------- order success / track ---------- */
.order-status-box{max-width:560px;margin:0 auto;text-align:center;border:1px solid var(--line);border-radius:var(--radius);padding:44px 30px;background:var(--bg-panel-2);}
.order-status-box .icon-lg{width:56px;height:56px;color:var(--amber-soft);margin:0 auto 18px;}
.order-ref{font-family:var(--font-display);font-size:1.6rem;color:var(--amber-soft);margin:14px 0;}
.status-timeline{display:flex;justify-content:space-between;margin:30px 0;position:relative;}
.status-timeline::before{content:'';position:absolute;top:11px;left:0;right:0;height:2px;background:var(--line);}
.status-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11.5px;color:var(--text-faint);flex:1;}
.status-step .dot{width:22px;height:22px;border-radius:50%;background:var(--bg-panel);border:2px solid var(--line);}
.status-step.done .dot{background:var(--amber);border-color:var(--amber);}
.status-step.done{color:var(--text-dim);}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line-soft);padding:40px 0 60px;margin-top:30px;}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:30px;}
.footer-brand p{color:var(--text-faint);font-size:13.5px;max-width:280px;margin-top:10px;}
.footer-links{display:flex;gap:50px;flex-wrap:wrap;}
.footer-col h5{font-size:12.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.03em;margin-bottom:12px;}
.footer-col a{display:block;font-size:14px;color:var(--text-dim);padding:5px 0;}
.footer-col a:hover{color:var(--amber-soft);}
.footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid var(--line-soft);font-size:12.5px;color:var(--text-faint);text-align:center;}

/* ---------- trust strip ---------- */
.trust-strip{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.trust-strip-inner{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 0;}
@media (max-width:760px){.trust-strip-inner{grid-template-columns:repeat(2,1fr);gap:20px;}}
.trust-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:10px;transition:background .3s ease,transform .3s ease;}
.trust-item:hover{background:rgba(224,164,65,0.05);transform:translateY(-2px);}
.trust-item .icon{color:var(--amber-soft);flex-shrink:0;}
.trust-item .t1{font-size:14px;color:var(--text);font-weight:500;}
.trust-item .t2{font-size:12.5px;color:var(--text-faint);}

/* ---------- benefits ---------- */
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media (max-width:900px){.benefits-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.benefits-grid{grid-template-columns:1fr;}}
.benefit-card{background:var(--bg-panel-2);border:1px solid var(--line);border-radius:14px;padding:20px;transition:border-color .3s ease,box-shadow .3s ease;}
.benefit-card:hover{border-color:rgba(224,164,65,0.4);box-shadow:0 20px 40px -20px rgba(0,0,0,0.5);}
.benefit-card .b-icon{width:40px;height:40px;border-radius:10px;background:rgba(224,164,65,0.1);display:flex;align-items:center;justify-content:center;color:var(--amber-soft);margin-bottom:12px;}
.benefit-card h4{font-family:var(--font-display);font-size:1.05rem;font-weight:500;margin-bottom:6px;}
.benefit-card p{color:var(--text-dim);font-size:13.5px;line-height:1.5;}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line-soft);}
.faq-item:first-child{border-top:1px solid var(--line-soft);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 0;color:var(--text);font-family:var(--font-display);font-size:16.5px;font-weight:400;text-align:left;}
.faq-q:hover{color:var(--amber-soft);}
.faq-plus{font-size:20px;color:var(--text-faint);transition:transform .3s ease;flex-shrink:0;margin-left:20px;font-family:var(--font-body);}
.faq-item.open .faq-plus{transform:rotate(45deg);color:var(--amber);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;color:var(--text-dim);font-size:15px;max-width:680px;}
.faq-item.open .faq-a{padding-bottom:18px;max-height:400px;}

/* ---------- sticky add-to-cart bar ---------- */
.sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(15,16,19,0.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:14px 0;transform:translateY(110%);transition:transform .4s cubic-bezier(.16,1,.3,1);}
.sticky-bar.show{transform:translateY(0);}
.sticky-inner{display:flex;align-items:center;gap:16px;justify-content:space-between;}
.sticky-left{display:flex;align-items:center;gap:14px;min-width:0;}
.sticky-left img{width:44px;height:44px;border-radius:8px;object-fit:cover;border:1px solid var(--line);flex-shrink:0;}
.sticky-left .name{font-size:14.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sticky-left .price{font-size:13px;color:var(--amber-soft);}
@media (max-width:600px){.sticky-left .name{display:none;}}

/* ---------- final CTA ---------- */
.final-cta{text-align:center;padding:70px 0;}
.final-cta h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:14px;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.16;}
.final-cta p{color:var(--text-dim);margin-bottom:22px;font-size:15px;}

/* ============================================================
   ADMIN
   ============================================================ */
.admin-body{display:flex;min-height:100vh;background:var(--bg);}
.admin-sidebar{width:240px;flex-shrink:0;background:var(--bg-panel);border-right:1px solid var(--line);padding:22px 16px;position:sticky;top:0;height:100vh;overflow-y:auto;}
.admin-logo{font-family:var(--font-display);font-size:19px;padding:6px 10px 24px;color:var(--text);}
.admin-logo span{color:var(--amber-soft);}
.admin-nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--radius-sm);font-size:14px;color:var(--text-dim);margin-bottom:2px;}
.admin-nav a:hover{background:var(--bg-panel-2);color:var(--text);}
.admin-nav a.active{background:rgba(224,164,65,0.1);color:var(--amber-soft);}
.admin-nav .nav-sep{font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-faint);padding:16px 12px 6px;}
@media (max-width:900px){.admin-sidebar{display:none;}}

.admin-main{flex:1;min-width:0;padding:28px 32px 60px;}
@media (max-width:640px){.admin-main{padding:20px 16px 50px;}}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;flex-wrap:wrap;gap:14px;}
.admin-topbar h1{font-size:1.5rem;}
.admin-breadcrumb{font-size:13px;color:var(--text-faint);margin-bottom:6px;}

.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:30px;}
@media (max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr);}}
.stat-card{border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;background:var(--bg-panel-2);}
.stat-card .s-label{font-size:12.5px;color:var(--text-faint);margin-bottom:8px;}
.stat-card .s-value{font-family:var(--font-display);font-size:1.7rem;color:var(--text);}
.stat-card .s-value.amber{color:var(--amber-soft);}

.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel-2);padding:22px;margin-bottom:22px;}
.card h3{font-size:1.05rem;margin-bottom:16px;}

.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);}
table.admin-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px;}
.admin-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:0.03em;color:var(--text-faint);padding:12px 16px;background:var(--bg-panel-2);border-bottom:1px solid var(--line);}
.admin-table td{padding:13px 16px;border-bottom:1px solid var(--line-soft);color:var(--text-dim);vertical-align:middle;}
.admin-table tr:last-child td{border-bottom:none;}
.admin-table tr:hover td{background:rgba(255,255,255,0.015);}
.admin-thumb{width:42px;height:42px;border-radius:6px;object-fit:cover;border:1px solid var(--line);}
.table-actions{display:flex;gap:10px;}
.table-actions a,.table-actions button{font-size:12.5px;color:var(--text-dim);}
.table-actions a:hover{color:var(--amber-soft);}
.table-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px;}
.table-filters{display:flex;gap:10px;flex-wrap:wrap;}
.table-filters select,.table-filters input{background:var(--bg-panel-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 12px;font-size:13.5px;color:var(--text);}

.variant-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 0.8fr 0.6fr auto;gap:10px;align-items:end;margin-bottom:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-panel);}
@media (max-width:920px){.variant-row{grid-template-columns:1fr 1fr;}}
.variant-row label{margin-bottom:4px;}
.variant-remove{color:var(--red);font-size:13px;align-self:center;}

.media-dropzone{border:1.5px dashed var(--line);border-radius:var(--radius);padding:30px;text-align:center;color:var(--text-faint);font-size:14px;cursor:pointer;transition:border-color .2s ease,background .2s ease;}
.media-dropzone:hover,.media-dropzone.dragover{border-color:var(--amber);background:rgba(224,164,65,0.05);}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin-top:16px;}
.media-item{position:relative;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:1/1;background:var(--bg-panel);}
.media-item img,.media-item video{width:100%;height:100%;object-fit:cover;}
.media-item .mi-actions{position:absolute;inset:0;background:rgba(7,7,10,0.55);opacity:0;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s ease;}
.media-item:hover .mi-actions{opacity:1;}
.media-item .mi-actions button{width:30px;height:30px;border-radius:50%;background:var(--bg-panel-2);border:1px solid var(--line);color:var(--text);font-size:13px;}
.media-item .mi-cover{position:absolute;top:6px;left:6px;}
.media-item .mi-video-badge{position:absolute;bottom:6px;right:6px;background:rgba(7,7,10,0.65);color:#fff;font-size:11px;padding:3px 7px;border-radius:5px;}

.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px;}
.login-card{width:100%;max-width:400px;border:1px solid var(--line);border-radius:var(--radius);padding:36px;background:var(--bg-panel-2);}
.login-card .logo{display:block;text-align:center;margin-bottom:8px;}
.login-card p.sub{text-align:center;color:var(--text-faint);font-size:13.5px;margin-bottom:26px;}
