
:root{
  --bg:#08090b; --bg2:#0f1216; --card:#111519; --line:rgba(255,255,255,.075);
  --tx:#eef2f6; --mut:#8b95a3; --acc:#00e0c6; --acc-dim:rgba(0,224,198,.10); --warn:#ff6b81;
  --r:14px; --shadow:0 18px 40px -22px rgba(0,0,0,.9);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
     font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* cabecera */
header{position:sticky;top:0;z-index:60;background:rgba(8,9,11,.82);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:24px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;letter-spacing:-.3px}
.logo i{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--acc),#009b88);box-shadow:0 0 0 1px rgba(0,224,198,.25),0 8px 20px -10px rgba(0,224,198,.8)}
.nav a.lnk{color:var(--mut);font-size:13.5px;font-weight:500;padding:8px 2px;transition:color .15s}
.nav a.lnk:hover{color:var(--tx)}
.hsearch input{background:var(--bg2);border:1px solid var(--line);color:var(--tx);padding:9px 14px;border-radius:10px;font-size:13.5px;width:250px;transition:border-color .15s}
.hsearch input:focus{outline:none;border-color:rgba(0,224,198,.5)}
.spacer{flex:1}
.cartbtn{border:1px solid var(--line);background:var(--bg2);padding:9px 15px;border-radius:10px;font-size:13.5px;font-weight:500;transition:.15s}
.cartbtn:hover{border-color:rgba(0,224,198,.45);color:var(--acc)}
.burger{display:none;background:transparent;border:1px solid var(--line);color:var(--tx);font-size:17px;padding:5px 10px;border-radius:9px;cursor:pointer}
#mnav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg2);border-bottom:1px solid var(--line);flex-direction:column;padding:10px 24px 16px}
#mnav.on{display:flex}
#mnav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}

/* portada */
.hero{position:relative;padding:64px 0 52px;border-bottom:1px solid var(--line);overflow:hidden}
.hero:before{content:"";position:absolute;inset:-40% 40% 40% -20%;background:radial-gradient(closest-side,rgba(0,224,198,.16),transparent 70%);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);font-weight:700;margin-bottom:18px}
.eyebrow:before{content:"";width:22px;height:1px;background:var(--acc);opacity:.7}
.hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(30px,3.6vw,46px);line-height:1.06;letter-spacing:-.03em;margin:0 0 16px}
.hero h1 em{font-style:normal;color:var(--acc)}
.hero p{color:var(--mut);font-size:16px;max-width:520px;margin:0 0 26px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--acc);color:#04120f;font-weight:700;padding:13px 22px;border-radius:11px;font-size:14.5px;border:0;cursor:pointer;transition:.16s;box-shadow:0 12px 28px -16px rgba(0,224,198,.9)}
.btn:hover{transform:translateY(-1px);box-shadow:0 16px 32px -14px rgba(0,224,198,.75)}
.btn.ghost{background:transparent;color:var(--tx);border:1px solid var(--line);box-shadow:none}
.btn.ghost:hover{border-color:rgba(255,255,255,.22);transform:none}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:36px;max-width:640px}
.trust div{border-left:1px solid var(--line);padding:2px 0 2px 14px}
.trust b{display:block;font-family:'Space Grotesk';font-size:13.5px;letter-spacing:-.1px}
.trust span{color:var(--mut);font-size:11.5px}
.heroart{position:relative;aspect-ratio:1/1;border-radius:22px;border:1px solid var(--line);background:
   radial-gradient(circle at 50% 42%,rgba(0,224,198,.14),transparent 62%),linear-gradient(160deg,#141a20,#0b0e12);
   display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--shadow)}
.heroart img{width:82%;height:82%;object-fit:contain;filter:drop-shadow(0 26px 40px rgba(0,0,0,.55))}
.heroart .tag{position:absolute;left:16px;bottom:16px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}

/* secciones y tarjetas */
.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:56px 0 4px}
.sechead h2{font-family:'Space Grotesk',sans-serif;font-size:24px;letter-spacing:-.6px;margin:0}
.sechead a{color:var(--acc);font-size:13.5px;font-weight:600}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px;padding:20px 0 64px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.2s;position:relative}
.card:hover{border-color:rgba(0,224,198,.38);transform:translateY(-3px);box-shadow:var(--shadow)}
.card .ph{aspect-ratio:1/1;position:relative;overflow:hidden;background:#090a0e}
.card .ph img{width:100%;height:100%;object-fit:contain;padding:6px;transition:transform .35s}
.card.fullimg .ph{background:#0e1216}
.card.fullimg .ph img{object-fit:cover;padding:0}
.card:hover .ph img{transform:scale(1.04)}
.card .ph video.cvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s;z-index:2}
.card:hover .ph video.cvid{opacity:1}
.card .slides{position:absolute;inset:0}
.slides .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .7s}
.slides .slide.on{opacity:1}
.card .bd{padding:14px 15px 16px;display:flex;flex-direction:column;gap:7px;flex:1}
.card .brand{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--mut);font-weight:600}
.card h3{font-size:14px;margin:0;font-weight:600;line-height:1.35;letter-spacing:-.1px;min-height:38px;
   display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .meta{color:var(--mut);font-size:12px}
.card .row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px}
.price{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17.5px;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.pill{font-size:10.5px;font-weight:600;color:var(--acc);background:var(--acc-dim);border:1px solid rgba(0,224,198,.22);padding:3px 8px;border-radius:20px;white-space:nowrap}
.pill.out{color:var(--warn);background:rgba(255,107,129,.08);border-color:rgba(255,107,129,.22)}
.badge{position:absolute;top:10px;left:10px;z-index:3;background:rgba(8,10,13,.8);backdrop-filter:blur(6px);color:var(--tx);font-size:10.5px;font-weight:600;letter-spacing:.04em;padding:4px 9px;border-radius:20px;border:1px solid var(--line)}
.badge.out{color:var(--warn);border-color:rgba(255,107,129,.3)}

/* categorías */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:-6px 0 8px;padding:30px 0 0}
.cattile{position:relative;border:1px solid var(--line);border-radius:var(--r);padding:20px 18px;background:linear-gradient(160deg,#12171d,#0c0f13);transition:.18s;overflow:hidden}
.cattile:after{content:"→";position:absolute;right:16px;top:18px;color:var(--acc);font-size:16px;opacity:.55;transition:.18s}
.cattile:hover{border-color:rgba(0,224,198,.4);transform:translateY(-2px)}
.cattile:hover:after{opacity:1;transform:translateX(3px)}
.cattile b{display:block;font-family:'Space Grotesk';font-size:15.5px;letter-spacing:-.2px;margin-bottom:3px}
.cattile span{display:block;color:var(--mut);font-size:12.5px;max-width:85%}
.cattile em{display:block;margin-top:12px;font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);font-weight:600}
@media(max-width:820px){.cats{grid-template-columns:1fr;gap:10px;padding-top:22px}.cattile{padding:16px 15px}}

/* filtros */
.pagehead{padding:44px 0 6px}
.pagehead h1{font-family:'Space Grotesk',sans-serif;font-size:34px;letter-spacing:-1px;margin:0 0 6px}
.pagehead p{color:var(--mut);margin:0;font-size:14.5px}
.filters{position:sticky;top:68px;z-index:40;display:flex;gap:10px;flex-wrap:wrap;padding:16px 0;background:linear-gradient(var(--bg) 70%,transparent);border-bottom:1px solid var(--line);margin-bottom:6px}
.filters input,.filters select{background:var(--bg2);border:1px solid var(--line);color:var(--tx);padding:10px 14px;border-radius:10px;font-size:13.5px;min-width:160px}
.filters input{flex:1;min-width:240px}
.filters input:focus,.filters select:focus{outline:none;border-color:rgba(0,224,198,.45)}
#res{color:var(--mut);font-size:12.5px;align-self:center}

/* ficha */
.crumbs{color:var(--mut);font-size:12.5px;padding:22px 0 0}
.crumbs a:hover{color:var(--acc)}
.pd{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;padding:26px 0 72px;align-items:start}
.galwrap{position:sticky;top:92px}
.gal{background:#090a0e;border:1px solid var(--line);border-radius:18px;overflow:hidden;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;position:relative}
.gal img{width:100%;height:100%;object-fit:cover;padding:0}
.gal.fullimg img{max-width:none;max-height:none;width:100%;height:100%;object-fit:cover;padding:0}
.gal{overflow:hidden}
.gal video{width:100%;height:100%;object-fit:cover;background:transparent;transform:scale(1.18)}
.thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.thumbs img{width:58px;height:58px;object-fit:contain;background:#141a20;border-radius:9px;border:1px solid var(--line);cursor:pointer;padding:3px;transition:.15s}
.thumbs img:hover{border-color:rgba(255,255,255,.25)}
.thumbs img.on{border-color:var(--acc);box-shadow:0 0 0 1px rgba(0,224,198,.4)}
.vervid{margin-top:10px;background:transparent;border:1px solid var(--line);color:var(--mut);padding:8px 13px;border-radius:9px;font-size:12.5px;cursor:pointer}
.vervid:hover{border-color:var(--acc);color:var(--acc)}
.pd h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,2.6vw,32px);line-height:1.14;letter-spacing:-.03em;margin:0 0 10px}
.pd .lead{color:var(--mut);margin:0 0 20px;font-size:15px}
.pd .p{font-family:'Space Grotesk',sans-serif;font-size:34px;font-weight:700;letter-spacing:-.04em;margin:0;font-variant-numeric:tabular-nums}
.stock{font-size:12.5px;color:var(--acc);display:inline-flex;align-items:center;gap:7px}
.stock:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.stock.no{color:var(--warn)}
.varlab{font-size:11px;color:var(--mut);margin:20px 0 8px;text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.sel{width:100%;background:var(--bg2);border:1px solid var(--line);color:var(--tx);padding:12px 14px;border-radius:11px;font-size:14px}
.sel:focus{outline:none;border-color:rgba(0,224,198,.45)}
.packs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 8px}
.pack{background:var(--bg2);border:1px solid var(--line);color:var(--tx);border-radius:11px;padding:10px 6px;cursor:pointer;text-align:center;line-height:1.3;transition:.15s}
.pack:hover{border-color:rgba(255,255,255,.2)}
.pack b{display:block;font-family:'Space Grotesk';font-size:13.5px}
.pack span{font-size:10.5px;color:var(--mut)}
.pack.on{border-color:rgba(0,224,198,.55);background:var(--acc-dim)}
.pack.on span{color:var(--acc)}
.packinfo{font-size:12.5px;color:var(--acc);min-height:18px;margin-bottom:10px}
.unidad{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.unidad label{font-size:12px;color:var(--mut);min-width:62px}
.unidad select{flex:1;background:var(--bg2);border:1px solid var(--line);color:var(--tx);padding:9px 11px;border-radius:10px;font-size:13px}
.specs{width:100%;border-collapse:collapse;margin:30px 0 0;font-size:13.5px}
.specs tr{border-bottom:1px solid var(--line)}
.specs td{padding:11px 0}
.specs td:first-child{color:var(--mut);width:46%}
.specs td:last-child{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.long{margin-top:34px;padding-top:26px;border-top:1px solid var(--line);color:#c3ccd8;font-size:15px;line-height:1.75;white-space:pre-wrap}
.long b{color:var(--tx)}

/* pie */
footer{border-top:1px solid var(--line);background:#060708;color:var(--mut);font-size:13px;margin-top:40px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px;padding:44px 0 26px}
.fgrid b{display:block;margin-bottom:6px;font-family:'Space Grotesk';font-size:13.5px;color:var(--tx)}
.fgrid p{color:var(--mut);font-size:13px;margin:0;max-width:270px}
.fgrid a{display:block;color:var(--mut);font-size:13px;padding:4px 0}
.fgrid a:hover{color:var(--acc)}
.fbottom{border-top:1px solid var(--line);padding:16px 0;font-size:11.5px;color:#6b7684;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* carrito y formularios */
#cof label{display:block;font-size:13px;color:var(--mut);margin-bottom:12px}
#cof input{width:100%;margin-top:5px;background:var(--bg2);border:1px solid var(--line);color:var(--tx);padding:11px 13px;border-radius:10px;font-size:14px}
#cof input:focus{outline:none;border-color:rgba(0,224,198,.45)}

/* +18 */
#agegate{position:fixed;inset:0;z-index:999;background:rgba(6,7,9,.96);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}
#agegate.off{display:none}
.agbox{max-width:430px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:36px 30px;box-shadow:var(--shadow)}
.agbox h2{font-family:'Space Grotesk';font-size:42px;margin:0 0 10px;color:var(--acc);letter-spacing:-.02em}
.agbox p{color:var(--mut);font-size:14px}
.agbtns{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.aglegal{font-size:11.5px!important;margin-top:18px;opacity:.65}

/* móvil */
@media(max-width:900px){
  .hero{padding:40px 0 34px}
  .hero .wrap{grid-template-columns:1fr;gap:28px}
  .heroart{max-width:340px;margin:0 auto;border-radius:18px}
  .trust{grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
  .pd{grid-template-columns:1fr;gap:26px}
  .galwrap{position:static}
  .fgrid{grid-template-columns:1fr 1fr;gap:20px}
  .filters{position:static}
}
@media(max-width:820px){
  header .nav a.lnk, header .hsearch{display:none}
  .wrap{padding:0 16px}
  .nav{gap:10px;height:60px}
  #mnav{top:60px}
  .cartbtn{padding:7px 11px;font-size:13px;white-space:nowrap}
  .burger{display:block}
  .logo{font-size:15.5px}
  .grid{grid-template-columns:repeat(2,1fr);gap:11px;padding:16px 0 46px}
  .card h3{font-size:12.8px;min-height:34px}
  .card .bd{padding:11px 11px 13px;gap:5px}
  .price{font-size:15px}
  .card .ph video.cvid{display:none}
  .card:hover{transform:none}
  .pagehead h1{font-size:27px}
  .packs{gap:6px}
  .pack b{font-size:12.5px}
  .footer .fbottom{flex-direction:column}
}
