
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body{margin:0}img{max-width:100%}[hidden]{display:none!important}

/* Layout (Manual de marca DigitalNetwork v1.0): dark Negro Red header bar + white category bar,
   light Blanco Hueso page, product shots on Negro Red tiles, Rojo Señal only for buy/quote actions.
   Single light look by brand decision: 60% neutros claros, 30% Negro Red, 10% Rojo Señal. */
:root{
  --negro:#111418;      /* Negro Red */
  --rojo:#e11d48;       /* Rojo Señal: acento único */
  --grafito:#4a5260;    /* Grafito: texto secundario */
  --niebla:#b8bec8;     /* Gris Niebla: bordes, texto sobre negro */
  --hueso:#f7f7f5;      /* Blanco Hueso: fondo */
  --blanco:#ffffff;     /* superficies de tarjeta */
  --linea:#e2e4e8;      /* niebla aclarada para divisores */
  --beige:#f3eee6;      /* fondo de fotos de producto */
  --rojo-hover:#c8163f;
  --f-titulo:"Chakra Petch","Arial Narrow",Arial,sans-serif;
  --f-texto:"IBM Plex Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:40px;--s7:64px;
  --r:6px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{background:var(--hueso);color:var(--negro);font-family:var(--f-texto);font-size:16px;line-height:1.55}
a{color:inherit}
:focus-visible{outline:2px solid var(--rojo);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-titulo);font-weight:700;line-height:1.05;margin:0;text-wrap:balance}
h2{font-size:clamp(30px,4.2vw,44px)}
.eyebrow{font:600 12px/1 var(--f-texto);letter-spacing:.16em;text-transform:uppercase;color:var(--rojo)}
.eyebrow::before{content:"";display:inline-block;width:18px;height:2px;background:var(--rojo);vertical-align:middle;margin-right:8px}
.lead{color:var(--grafito);max-width:62ch;margin:var(--s3) 0 0}
section{padding-block:var(--s7)}
.tnum{font-variant-numeric:tabular-nums}

/* header: barra Negro Red + barra de categorías blanca (manual, p. 8) */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10}
.top{background:var(--negro)}
.top .wrap{display:flex;align-items:center;gap:var(--s5);padding-block:14px}
.logo{display:block;flex:none;line-height:0}
.logo img{height:30px;width:auto;min-width:120px}
.search{flex:1;display:flex;align-items:center;gap:var(--s2);background:var(--blanco);border-radius:var(--r);padding:0 var(--s3);max-width:520px;min-width:0}
.search svg{color:var(--grafito);flex:none}
.search input{flex:1;min-width:0;border:0;background:transparent;font:15px var(--f-texto);color:var(--negro);padding:11px 0}
.search input::placeholder{color:var(--grafito)}
.search input:focus{outline:none}
.search:focus-within{box-shadow:0 0 0 2px var(--rojo)}
.top .wa{margin-left:auto;color:var(--blanco);text-decoration:none;font:500 14px var(--f-texto);display:flex;align-items:center;gap:8px;white-space:nowrap}
.top .wa svg{width:20px;height:20px}
.sub{background:var(--blanco);border-bottom:1px solid var(--linea)}
.sub .wrap{display:flex;align-items:center;gap:var(--s5)}
.cats{display:flex;gap:var(--s5);overflow-x:auto;scrollbar-width:none;min-width:0;flex:1}
.cats::-webkit-scrollbar{display:none}
.cats button{font:500 15px var(--f-texto);background:none;border:0;border-bottom:2px solid transparent;padding:14px 0;cursor:pointer;color:var(--negro);white-space:nowrap}
.cats button:hover{color:var(--rojo)}
.cats button[aria-pressed="true"]{border-bottom-color:var(--rojo)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 var(--f-texto);padding:12px 18px;border-radius:var(--r);text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.btn-rojo{background:var(--rojo);color:var(--blanco)}
.btn-rojo:hover{background:var(--rojo-hover)}
.btn-negro{background:var(--negro);color:var(--blanco)}
.btn-negro:hover{background:#262b33}
.btn-borde{border-color:var(--niebla);color:var(--negro);background:var(--blanco)}
.btn-borde:hover{border-color:var(--negro)}
.btn svg{width:18px;height:18px;flex:none}
.sub .btn{padding:9px 14px;font-size:14px}
@media (max-width:760px){
  .top .wrap{flex-wrap:wrap;gap:var(--s3)}
  .search{order:3;flex-basis:100%;max-width:none}
  .top .wa span{display:none}
  .sub .btn{display:none}
}

/* hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s6);align-items:center;padding-block:var(--s7) var(--s6)}
.hero h1{font-size:clamp(40px,6.4vw,76px);letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--rojo)}
.hero p{font-size:19px;color:var(--grafito);max-width:46ch;margin:var(--s5) 0}
.cta{display:flex;flex-wrap:wrap;gap:var(--s3)}
.hero-shot{position:relative;margin:0;aspect-ratio:1/1;max-width:100%;background:var(--beige);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden}
.hero-shot img{width:100%;height:100%;object-fit:contain;padding:6% 6% 16%}
.readout{position:absolute;left:var(--s4);right:var(--s4);bottom:var(--s4);display:flex;flex-wrap:wrap;gap:var(--s2)}
.readout span{font:500 13px/1 var(--f-titulo);letter-spacing:.06em;padding:8px 10px;border:1px solid var(--grafito);color:var(--blanco);background:rgba(17,20,24,.85);border-radius:4px}
.readout span b{color:var(--rojo);font-weight:700}
@media (max-width:820px){.hero{grid-template-columns:1fr;padding-top:var(--s6)}.hero-shot{max-width:460px}}

/* trust */
.trust{background:var(--negro);color:var(--blanco)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);padding-block:var(--s5)}
.trust div{display:flex;gap:var(--s3);align-items:flex-start}
.trust i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--rojo);margin-top:7px}
.trust strong{display:block;font-weight:600}
.trust span{color:var(--niebla);font-size:14px}
@media (max-width:820px){.trust .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:440px){.trust .wrap{grid-template-columns:1fr}}

/* catalog */
.cat-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s4)}
.cat-head h2{margin-top:var(--s3)}
.brands{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s5)}
.chip{font:500 14px/1 var(--f-texto);padding:9px 14px;border-radius:999px;border:1px solid var(--niebla);background:var(--blanco);color:var(--negro);cursor:pointer}
.chip:hover{border-color:var(--negro)}
.chip[aria-pressed="true"]{background:var(--negro);border-color:var(--negro);color:var(--blanco)}
.count{font:500 14px var(--f-texto);color:var(--grafito)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s4);margin-top:var(--s5)}
.card{display:flex;flex-direction:column;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;min-width:0;transition:border-color .15s}
.card:hover{border-color:var(--niebla)}
.card .pic{aspect-ratio:1/1;max-width:100%;background:var(--beige);border-bottom:1px solid var(--linea);display:grid;place-items:center}
.card .pic img{width:100%;height:100%;object-fit:contain;padding:8%;transition:transform .25s}
.card:hover .pic img{transform:scale(1.03)}
.card .pic svg{width:46%;height:46%}
.card .body{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4);flex:1}
.brand{font:600 12px/1 var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--grafito)}
.card h3{font-size:24px}
.type{color:var(--grafito);font-size:14px;margin:0}
.specs{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none}
.specs li{font:500 12px/1 var(--f-texto);padding:6px 8px;background:var(--hueso);border:1px solid var(--linea);border-radius:3px}
.foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--s3);padding-top:var(--s3)}
.price{font:700 26px/1 var(--f-titulo);font-variant-numeric:tabular-nums}
.price small{display:block;font:400 12px var(--f-texto);color:var(--grafito);margin-top:6px}
.avail{font:500 12px var(--f-texto);color:var(--grafito);display:flex;align-items:center;gap:6px}
.avail::before{content:"";width:7px;height:7px;border-radius:50%;background:#2f9e5b}
.avail.out::before{background:var(--niebla)}
.empty{color:var(--grafito);margin-top:var(--s5)}

/* kits */
.kits-band{background:var(--blanco);border-block:1px solid var(--linea)}
.kits{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-top:var(--s5)}
.kit{display:flex;flex-direction:column;gap:var(--s3);background:var(--hueso);border:1px solid var(--linea);border-radius:var(--r);padding:var(--s5)}
.kit .for{font:600 12px var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--rojo)}
.kit h3{font-size:30px}
.kit p{margin:0;color:var(--grafito)}
.kit ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:15px}
.kit li{display:flex;gap:10px}
.kit li b{font:700 14px var(--f-titulo);min-width:2.2em}
.kit .price{margin-top:auto;padding-top:var(--s4);border-top:1px solid var(--linea)}
@media (max-width:900px){.kits{grid-template-columns:1fr}}

/* steps + faq */
.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6)}
@media (max-width:820px){.two{grid-template-columns:1fr}}
.two h2{margin-top:var(--s3)}
.steps{list-style:none;margin:var(--s5) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--s4);counter-reset:s}
.steps li{display:grid;grid-template-columns:44px 1fr;gap:var(--s3);counter-increment:s}
.steps li::before{content:counter(s);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--negro);color:var(--blanco);font:700 16px/1 var(--f-titulo)}
.steps strong{display:block}
.steps span{color:var(--grafito)}
details{border-bottom:1px solid var(--linea);padding-block:var(--s4)}
details:first-of-type{margin-top:var(--s4)}
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:var(--s3)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:700 20px/1 var(--f-titulo);color:var(--rojo)}
details[open] summary::after{content:"–"}
details p{color:var(--grafito);margin:var(--s3) 0 0;max-width:65ch}

/* contact + footer */
.contact{background:var(--negro);color:var(--blanco);border-radius:var(--r);padding:var(--s6) var(--s5);display:flex;flex-wrap:wrap;gap:var(--s5);align-items:center;justify-content:space-between}
.contact .meta{color:var(--niebla);font-size:15px;margin:var(--s3) 0 0}
footer{background:var(--negro);color:var(--niebla);font-size:14px;padding-block:var(--s6)}
footer .brandrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4);padding-bottom:var(--s5);margin-bottom:var(--s5);border-bottom:1px solid #262b33}
footer .brandrow img{height:44px;width:auto}
.legal{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.legal h4{margin:0 0 var(--s2);font:600 12px var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--blanco)}
.legal p{margin:0}
@media (max-width:820px){.legal{grid-template-columns:1fr}}
.fab{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:20;border-radius:999px;padding:14px;box-shadow:0 6px 20px rgba(17,20,24,.3)}
.fab span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body{margin:0}img{max-width:100%}
.crumbs{font-size:14px;color:var(--grafito);padding-block:var(--s5) 0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--grafito)}
.pd{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);padding-block:var(--s5) var(--s7);align-items:start}
.pd .shot{background:var(--beige);border:1px solid var(--linea);border-radius:var(--r);aspect-ratio:1/1;max-width:100%}
.pd .shot img{width:100%;height:100%;object-fit:contain;padding:8%}
.pd h1{font-size:clamp(34px,5vw,52px);margin-top:var(--s2)}
.pd .type{font-size:18px;margin-top:var(--s2)}
.pd .price{font-size:40px;margin-top:var(--s5)}
.pd .specs{margin-top:var(--s4)}
.pd .actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}
.pd .note{color:var(--grafito);font-size:15px;max-width:52ch;margin-top:var(--s5)}
.pd .facts{list-style:none;padding:0;margin:var(--s5) 0 0;display:flex;flex-direction:column;gap:8px;font-size:15px}
.pd .facts li{display:flex;gap:10px}.pd .facts li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--rojo);margin-top:8px}
@media (max-width:820px){.pd{grid-template-columns:1fr}}
.rel h2{font-size:28px}
.doc{max-width:760px;padding-block:var(--s6) var(--s7)}
.doc h1{font-size:clamp(32px,5vw,46px);margin-bottom:var(--s4)}
.doc h2{font-size:22px;margin:var(--s6) 0 var(--s2)}
.doc p,.doc li{color:#2b313a;max-width:68ch}
.doc .upd{color:var(--grafito);font-size:14px}
.legal a{color:var(--niebla)}
.foot-links{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s3)}

.co{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--s6);padding-block:var(--s5) var(--s7);align-items:start}
.co-form h1,.co-done h1,.co-empty h1{font-size:clamp(30px,4vw,42px);margin:0 0 var(--s4)}
.co-form fieldset{border:1px solid var(--linea);border-radius:var(--r);background:var(--blanco);padding:var(--s4) var(--s5) var(--s5);margin:0 0 var(--s4);display:flex;flex-direction:column;gap:var(--s3);min-width:0}
.co-form legend{font:700 18px var(--f-titulo);padding:0 6px}
.co-f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;min-width:0}
.co-f input,.co-f select{font:400 16px var(--f-texto);padding:11px 12px;border:1px solid var(--niebla);border-radius:var(--r);background:var(--blanco);color:var(--negro);width:100%;box-sizing:border-box}
.co-f input:focus,.co-f select:focus{outline:2px solid var(--negro);outline-offset:1px}
.co-f input[aria-invalid=true]{border-color:var(--rojo)}
.co-f small{font-weight:400;color:var(--grafito)}
.co-err{color:var(--rojo);font-style:normal;font-weight:500;font-size:13px}
.co-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.co-doc{display:flex;flex-wrap:wrap;gap:var(--s3)}
.co-doc label,.co-chk{display:flex;gap:8px;align-items:center;font-size:15px}
.co-doc label{border:1px solid var(--linea);border-radius:var(--r);padding:10px 14px;cursor:pointer}
.co-doc label:has(input:checked){border-color:var(--negro);background:var(--hueso)}
.co-chk{align-items:flex-start}.co-chk input{margin-top:3px}
.co-note,.co-mini{font-size:13px;color:var(--grafito);margin:0}
.co-go{width:100%;font-size:17px;padding:16px}
.co-sum{position:sticky;top:16px;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);padding:var(--s5)}
.co-sum h2{font-size:22px;margin:0 0 var(--s3)}
.co-it{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--linea);font-size:14px}
.co-img{position:relative;width:56px;height:56px;background:var(--beige);border-radius:6px}
.co-img img{width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box}
.co-img b{position:absolute;top:-6px;right:-6px;background:var(--grafito);color:#fff;border-radius:10px;min-width:20px;height:20px;font-size:12px;line-height:20px;text-align:center}
.co-n small{display:block;color:var(--grafito);font-size:12px}
.co-row{display:flex;justify-content:space-between;padding-top:10px;font-size:15px}
.co-tot{font:700 22px var(--f-titulo);padding-top:14px}.co-tot small{font:400 12px var(--f-texto);color:var(--grafito)}
.co-sum .co-mini{margin-top:12px}
.co-done,.co-empty{grid-column:1/-1;max-width:680px}
.co-ok{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#2f9e5b;color:#fff;font-size:28px;margin-bottom:12px}
.co-big{font-size:18px}.co-big b{font:700 30px var(--f-titulo)}
.co-steps{padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--s5);margin:var(--s5) 0}
.co-steps li>div{display:flex;flex-direction:column;gap:8px}.co-steps li span{color:var(--grafito)}
.co-steps .btn{align-self:flex-start}
.co-pay{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:900px){.co{grid-template-columns:1fr}.co-sum{position:static;order:-1}}
@media (max-width:520px){.co-2{grid-template-columns:1fr}.co-form fieldset{padding:var(--s3) var(--s4) var(--s4)}.co-steps .btn{align-self:stretch}}
