/* Tema: claro siempre por defecto; oscuro sólo con el botón (data-modo), sin seguir el tema del visor ni del sistema. */
/* Layout: tienda de una columna centrada (1200px), producto protagonista en el inicio; checkout en dos columnas que se apilan en móvil. Claro por defecto, oscuro con el botón. */
:root{
  --bg:#FFFFFF;--sf:#F4F6F9;--sf2:#EBEFF4;--line:#DFE5ED;--line2:#C9D3DF;
  --ink:#0D1A2D;--title:#10264A;--mut:#4E5C72;--acc:#006A94;--cy:#00C2FF;
  --ok:#0B6B3F;--okbg:#E5F3EB;--warn:#8A5A00;--warnbg:#FBF1DC;--bad:#B42318;--badbg:#FDECEA;
  --pri:#1B3A6B;--pri-h:#15305A;--pri-ink:#FFFFFF;--stage:#EEF2F7;--photo:#FFFFFF;--logo:#8792A4;--logo-h:#4E5C72;
  --gl:rgba(255,255,255,.66);--glb:rgba(255,255,255,.92);--scrim:rgba(13,26,45,.42);
  --sh:0 1px 2px rgba(16,38,74,.06),0 12px 28px -6px rgba(16,38,74,.16);
  --sh2:0 24px 60px -12px rgba(16,38,74,.28);
  --f-disp:Poppins,'Segoe UI',system-ui,sans-serif;--f-body:'IBM Plex Sans','Segoe UI',system-ui,sans-serif;--f-mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  --ease:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1);
  color-scheme:light;
}
:root[data-modo="oscuro"]{
  --bg:#0B1220;--sf:#111B2C;--sf2:#172338;--line:#223049;--line2:#33435E;
  --ink:#E6ECF4;--title:#F2F6FB;--mut:#A4B3C8;--acc:#5CD8FF;--cy:#00C2FF;
  --ok:#45D693;--okbg:#10291F;--warn:#F2C062;--warnbg:#2A2210;--bad:#FF8A80;--badbg:#2C1414;
  --pri:#2F63B0;--pri-h:#3A70C0;--pri-ink:#FFFFFF;--stage:#24355A;--photo:#E9EDF2;--logo:#7D8AA0;--logo-h:#C9D3E0;
  --gl:rgba(20,31,51,.66);--glb:rgba(255,255,255,.10);--scrim:rgba(0,0,0,.55);
  --sh:0 1px 2px rgba(0,0,0,.3),0 12px 28px -6px rgba(0,0,0,.5);--sh2:0 24px 60px -12px rgba(0,0,0,.6);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--f-body);-webkit-font-smoothing:antialiased;caret-color:var(--acc);accent-color:var(--pri);scrollbar-color:var(--line2) transparent;transition:background-color .3s ease,color .3s ease}
::selection{background:rgba(0,194,255,.24)}
a{color:var(--acc);text-underline-offset:3px;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--cy);outline-offset:2px;border-radius:8px}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3{font-family:var(--f-disp);color:var(--title);margin:0;text-wrap:balance}
p{margin:0}
.mono{font-family:var(--f-mono)}
.num{font-variant-numeric:tabular-nums lining-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1200px;margin:0 auto;padding-inline:24px}

/* Demo bar */
.demobar{background:var(--sf);border-bottom:1px solid var(--line);font-size:13px;color:var(--mut)}
.demobar .wrap{display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;min-height:36px;padding-block:6px}
.demobar b{color:var(--title);font-weight:600}
.linkbtn{border:0;background:none;padding:0;color:var(--acc);text-decoration:underline;text-underline-offset:3px;font-size:inherit}

/* Header */
.hdrbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--line)}
.hdr{height:76px;display:flex;align-items:center;gap:36px}
.logo{display:block;flex:none;line-height:0;border-radius:6px}
.logo img{height:52px;width:auto;display:block}
.logo .ld{display:none}
:root[data-modo="oscuro"] .logo .ll{display:none}:root[data-modo="oscuro"] .logo .ld{display:block}
.nav{display:flex;gap:26px;font-size:15px;font-weight:500}
.nav button{border:0;background:none;padding:6px 0;color:var(--title);font-weight:500;transition:color .15s ease}
.nav button[aria-current="page"]{color:var(--acc)}
.tools{margin-left:auto;display:flex;gap:6px;align-items:center}
.hs{display:flex;align-items:center;gap:8px;height:40px;padding:0 10px 0 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--mut);font-size:14px;min-width:200px;transition:border-color .15s ease}
.hs kbd{margin-left:auto;font:500 11px var(--f-body);border:1px solid var(--line);border-radius:5px;padding:1px 6px}
.ib{width:42px;height:42px;border-radius:10px;border:0;background:transparent;color:var(--title);display:grid;place-items:center;position:relative;transition:background-color .15s ease,transform .16s var(--ease)}
.ib.pri{background:var(--pri);color:var(--pri-ink)}
.bdg{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 4px;background:var(--cy);color:#04101E;border:2px solid var(--bg);border-radius:999px;font-size:10px;line-height:15px;text-align:center;font-weight:600}
.bdg.bump{animation:bump .4s var(--ease)}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.3)}100%{transform:scale(1)}}
.burger{display:none}
.mob-only{display:none!important}
@media (max-width:860px){.mob-only{display:inline-flex!important}}
@media (min-width:861px){.mmenu{display:none!important}}
.mmenu{border-top:1px solid var(--line);padding-block:12px 16px;display:flex;flex-direction:column}
.mmenu button{border:0;background:none;text-align:left;padding:12px 0;font-size:17px;font-weight:500;color:var(--title);border-bottom:1px solid var(--line)}

/* Buttons */
.btn{min-height:48px;padding:0 22px;border-radius:10px;border:0;background:var(--pri);color:var(--pri-ink);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background-color .15s ease,transform .16s var(--ease),opacity .15s ease}
.btn2{min-height:48px;padding:0 20px;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:var(--ink);font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:border-color .15s ease,transform .16s var(--ease)}
.btn:active,.btn2:active,.ib:active{transform:scale(.97)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn.block,.btn2.block{width:100%}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:56px;align-items:center;padding-block:56px 56px}
.hero h1{font-size:clamp(34px,4.4vw,54px);line-height:1.06;font-weight:600;letter-spacing:-.025em}
.lede{font-size:18px;line-height:1.6;color:var(--mut);max-width:30em;text-wrap:pretty}
.search{display:flex;gap:8px;max-width:520px}
.fi{flex:1;display:flex;align-items:center;border:1px solid var(--line2);border-radius:10px;background:var(--bg);min-width:0;transition:border-color .15s ease,box-shadow .15s ease}
.fi:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px rgba(0,194,255,.18)}
.fi>svg{margin-left:12px;color:var(--mut);flex:none}
.fi input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:16px;height:46px;padding:0 12px 0 8px}
.fi input::placeholder{color:var(--mut);opacity:1}
.pop{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;font-size:14px;color:var(--mut)}
.pop button{border:0;background:none;padding:0;color:var(--title);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px;transition:text-decoration-color .15s ease}
.stage{position:relative;border-radius:24px;background:var(--stage);padding:72px 40px 96px;transition:background-color .3s ease}
.stage .dev{filter:drop-shadow(0 18px 24px rgba(16,38,74,.22)) drop-shadow(0 2px 3px rgba(16,38,74,.18));display:block;width:100%}
.stage .sku{position:absolute;left:28px;top:24px;font-size:12px;color:var(--mut)}
.float{position:absolute;border-radius:14px;background:var(--gl);border:1px solid var(--glb);backdrop-filter:blur(16px) saturate(170%);-webkit-backdrop-filter:blur(16px) saturate(170%);box-shadow:var(--sh)}
.pricecard{left:-28px;bottom:28px;padding:14px 18px;display:flex;flex-direction:column;gap:2px;min-width:236px;text-align:left;color:var(--ink);transition:transform .2s var(--ease)}
.tagcard{right:24px;top:-18px;padding:10px 14px;display:flex;align-items:center;gap:10px}
.boot .led{opacity:.18;animation:linkup .01s steps(1) both}
@keyframes linkup{to{opacity:1}}
.boot .float{animation:settle .5s var(--ease) both}
.boot .pricecard{animation-delay:.75s}.boot .tagcard{animation-delay:.9s}
@keyframes settle{from{opacity:0;transform:translateY(10px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

/* Brand marquee */
.marq{border-block:1px solid var(--line);display:flex;align-items:center;gap:24px;padding-block:18px}
.marq .lbl{font-size:13px;color:var(--mut);flex:none}
.marq .vp{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq .track{display:flex;width:max-content;animation:marq 38s linear infinite}
.marq:hover .track,.marq:focus-within .track{animation-play-state:paused}
.marq ul{display:flex;align-items:center;gap:56px;padding:0 28px;margin:0;list-style:none}
.marq li{display:flex;align-items:center;height:48px}
.bl{display:block;background:var(--logo);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;transition:background-color .2s ease}
@keyframes marq{to{transform:translateX(-50%)}}

/* Sections */
.sec{padding-top:88px;display:flex;flex-direction:column;gap:28px}
.sec-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.h2{font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.015em}
.sub{color:var(--mut)}
.more{margin-left:auto;font-weight:500;border:0;background:none;color:var(--acc);padding:0}

/* Product grid */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px}
.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.prod{display:flex;flex-direction:column;gap:12px;min-width:0}
.ph{aspect-ratio:4/3;max-width:100%;border-radius:14px;background:var(--photo);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;padding:0;transition:border-color .2s ease}
:root[data-modo="oscuro"] .ph{border-color:transparent}
.ph svg{width:62%;height:auto;transition:transform .35s var(--ease)}
.brand{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}
.nom{border:0;background:none;padding:0;text-align:left;color:var(--ink);font-weight:500;font-size:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px;transition:color .15s ease}
.price{display:flex;flex-direction:column;line-height:1.3}
.price .p{font-family:var(--f-disp);font-size:20px;font-weight:600;color:var(--title)}
.price .s{font-size:13px;color:var(--ok);font-weight:500}
.stock{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mut)}
.stock i{width:7px;height:7px;border-radius:50%;background:var(--ok)}
.stock.low i{background:#D08B00}.stock.out i{background:var(--line2)}
.add{width:44px;height:44px;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:var(--title);display:grid;place-items:center;flex:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .16s var(--ease)}
.add:active{transform:scale(.94)}
.add[disabled]{opacity:.4;cursor:not-allowed}
.prow{display:flex;align-items:end;justify-content:space-between;gap:10px}

/* Solutions list */
.idx{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.idx button{width:100%;display:grid;grid-template-columns:44px minmax(180px,260px) minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--ink);transition:background-color .2s ease}
.idx .ico{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);color:var(--title);display:grid;place-items:center}
.idx .t{font-family:var(--f-disp);font-size:18px;font-weight:500;color:var(--title)}
.idx .d{color:var(--mut);font-size:15px}
.idx .go{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--acc);font-size:15px}
.idx .go svg{transition:transform .2s var(--ease)}

.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin:0}
.facts>div{padding:28px 28px 30px 0;display:flex;flex-direction:column;gap:6px}
.facts>div+div{padding-left:28px;border-left:1px solid var(--line)}
.facts dt{font-weight:600;font-size:17px;color:var(--title)}
.facts dd{margin:0;color:var(--mut);line-height:1.55}

.cta{border-radius:24px;background:var(--pri);padding:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 48px;align-items:center}
:root[data-modo="oscuro"] .cta{background:#12223D}
.cta h2{font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-.015em;color:#FFFFFF}
.cta p{margin-top:8px;color:#C9D6E8;font-size:17px;line-height:1.6;max-width:34em}
.cta .acts{display:flex;flex-direction:column;gap:10px;min-width:260px}
.cta .btn{background:#FFFFFF;color:#10264A}
.cta .btn2{background:transparent;border-color:rgba(255,255,255,.4);color:#FFFFFF}

/* Footer */
.foot{border-top:1px solid var(--line);margin-top:112px;background:var(--sf)}
.foot-top{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(130px,1fr));gap:36px;padding-block:56px 40px}
.foot-brand{display:flex;flex-direction:column;gap:14px;font-size:14px;color:var(--mut);line-height:1.6}
.foot-col h3{font:600 14px var(--f-body);color:var(--title);margin-bottom:12px}
.foot-col button{display:block;border:0;background:none;padding:5px 0;color:var(--mut);font-size:14px;text-align:left;transition:color .15s ease}
.foot-pay,.foot-bot{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding-block:18px;border-top:1px solid var(--line);font-size:13px;color:var(--mut)}
.foot-bot{padding-bottom:28px}

/* Catalog */
.crumb{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--mut);padding-top:28px}
.crumb button{border:0;background:none;padding:0;color:var(--mut);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}
.cat{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;padding-top:20px;align-items:start}
.filters{display:flex;flex-direction:column;gap:24px;position:sticky;top:96px}
.filters fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.filters legend{font-weight:600;color:var(--title);font-size:14px;margin-bottom:6px;padding:0}
.chk{display:flex;align-items:center;gap:10px;font-size:15px;min-height:32px;cursor:pointer}
.chk input{width:18px;height:18px;margin:0}
.chk .c{margin-left:auto;font-size:13px;color:var(--mut)}
.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:24px}
.toolbar .count{color:var(--mut);font-size:15px}
.sel{height:42px;border:1px solid var(--line2);border-radius:10px;background:var(--bg);padding:0 12px;font-size:14px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.fchip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 12px;border-radius:999px;border:1px solid var(--line2);background:var(--bg);font-size:13px;color:var(--ink)}
.empty{border:1px dashed var(--line2);border-radius:16px;padding:48px 24px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center;color:var(--mut)}
.fbtn{display:none}

/* Product page */
.pdp{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;padding-top:20px;align-items:start}
.gal{display:flex;flex-direction:column;gap:12px}
.gal .main{aspect-ratio:1/1;max-width:100%;border-radius:20px;background:var(--photo);border:1px solid var(--line);display:grid;place-items:center}
:root[data-modo="oscuro"] .gal .main,:root[data-modo="oscuro"] .thumbs button{border-color:transparent}
.gal .main svg{width:70%}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.thumbs button{aspect-ratio:1/1;border-radius:12px;background:var(--photo);border:1px solid var(--line);display:grid;place-items:center;padding:0}
.thumbs button[aria-pressed="true"]{outline:2px solid var(--pri);outline-offset:2px}
.thumbs svg{width:64%}
.buy{display:flex;flex-direction:column;gap:20px;position:sticky;top:100px}
.buy h1{font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-.015em}
.meta{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:14px;color:var(--mut);align-items:center}
.pbox{border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px}
.pbig{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pbig .p{font-family:var(--f-disp);font-size:34px;font-weight:600;color:var(--title);line-height:1.1}
.pbig .s{font-size:15px;color:var(--ok);font-weight:500}
.small{font-size:13px;color:var(--mut)}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:10px;height:48px}
.qty button{width:44px;height:46px;border:0;background:none;font-size:20px;color:var(--title)}
.qty button[disabled]{opacity:.35;cursor:not-allowed}
.qty output{min-width:36px;text-align:center;font-weight:600}
.perks{display:grid;gap:10px;font-size:14px;color:var(--mut);list-style:none;margin:0;padding:0}
.perks li{display:flex;gap:10px;align-items:flex-start}
.perks svg{flex:none;color:var(--acc);margin-top:2px}
.specs{width:100%;border-collapse:collapse;font-size:15px}
.specs th,.specs td{text-align:left;padding:12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.specs th{width:40%;color:var(--mut);font-weight:500;padding-right:16px}

/* Drawer */
.scrim{position:fixed;inset:0;background:var(--scrim);z-index:60;opacity:0;pointer-events:none;transition:opacity .25s ease}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--bg);z-index:61;box-shadow:var(--sh2);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .32s var(--ease-drawer);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);visibility:hidden}
.drawer.on{transform:none;visibility:visible}
.drawer:not(.on){transition:transform .22s ease-in,visibility 0s .22s}
.dh{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}
.dh h2{font-size:20px}
.db{flex:1;overflow:auto;padding:8px 20px}
.df{border-top:1px solid var(--line);padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px}
.line{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding-block:16px;border-bottom:1px solid var(--line)}
.line .th{width:64px;height:64px;border-radius:10px;background:var(--photo);border:1px solid var(--line);display:grid;place-items:center}
.line .th svg{width:70%}
.line .nm{font-weight:500;font-size:14px;line-height:1.4}
.line .ct{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.qty.sm{height:36px}.qty.sm button{width:34px;height:34px;font-size:17px}.qty.sm output{min-width:28px}
.rm{border:0;background:none;color:var(--mut);font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:4px 0}
.tot{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.tot.big{font-size:18px;font-weight:600;color:var(--title)}
.tot.sub{font-size:14px;color:var(--mut)}
.legal{margin:4px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:10px;line-height:1.5;color:var(--mut)}
.tot .v{font-variant-numeric:tabular-nums}

/* Checkout */
.co{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;padding-top:20px;align-items:start}
.co h1{font-size:30px;font-weight:600;letter-spacing:-.015em}
.step{border-top:1px solid var(--line);padding-block:28px;display:flex;flex-direction:column;gap:18px}
.step h2{font-size:20px;font-weight:600;display:flex;align-items:baseline;gap:10px}
.step h2 .n{font:500 14px var(--f-body);color:var(--mut)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;min-width:0}
.fld input,.fld select{height:48px;border:1px solid var(--line2);border-radius:10px;padding:0 12px;background:var(--bg);font-weight:400;font-size:16px;min-width:0;width:100%}
.fld input:focus,.fld select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(0,194,255,.18)}
.fld .hint{font-weight:400;color:var(--mut);font-size:13px}
.fld .err{font-weight:500;color:var(--bad);font-size:13px}
.fld.bad input,.fld.bad select{border-color:var(--bad)}
.opts{display:grid;gap:12px}
.opt{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid var(--line2);border-radius:12px;padding:16px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.opt input{margin:3px 0 0;width:18px;height:18px}
.opt:has(input:checked){border-color:var(--pri);background:color-mix(in srgb,var(--pri) 7%,var(--bg))}
.opt .t{font-weight:600;color:var(--title)}
.opt .d{font-size:14px;color:var(--mut);margin-top:2px}
.opt .r{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:600}
.tag.ok{background:var(--okbg);color:var(--ok)}.tag.warn{background:var(--warnbg);color:var(--warn)}.tag.info{background:var(--sf2);color:var(--title)}.tag.bad{background:var(--badbg);color:var(--bad)}
.sum{border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px;position:sticky;top:100px;background:var(--bg)}
.sum h2{font-size:18px}
.sumline{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;font-size:14px}
.sumline .th{width:48px;height:48px;border-radius:8px;background:var(--photo);border:1px solid var(--line);display:grid;place-items:center;position:relative}
.sumline .th svg{width:70%}
.sumline .q{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;border-radius:999px;background:var(--mut);color:var(--bg);font-size:11px;font-weight:600;display:grid;place-items:center;padding:0 4px}
.hr{height:1px;background:var(--line)}
.note{display:flex;gap:10px;align-items:flex-start;background:var(--sf);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--mut)}
.note svg{flex:none;color:var(--acc);margin-top:2px}

/* Confirmation */
.conf{max-width:760px;margin:0 auto;padding-top:40px;display:flex;flex-direction:column;gap:28px}
.conf h1{font-size:32px;font-weight:600;letter-spacing:-.02em}
.status{display:flex;gap:0;list-style:none;margin:0;padding:0}
.status li{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--mut);position:relative;padding-right:8px;overflow-wrap:anywhere}
.status li::before{content:"";height:4px;border-radius:2px;background:var(--line);margin-right:6px;transition:background-color .4s ease}
.status li.done::before{background:var(--ok)}
.status li.now{color:var(--title);font-weight:600}
.status li.now::before{background:var(--cy)}
.speibox{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.speibox .hd{background:var(--sf);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.speibox dl{margin:0;display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr)}
.speibox dt,.speibox dd{padding:14px 20px;border-top:1px solid var(--line);margin:0}
.speibox dt{color:var(--mut);font-size:14px}
.speibox .nota{margin:0;padding:12px 20px;border-top:1px solid var(--line);background:var(--sf);font-size:13px;color:var(--mut)}
.speibox dd{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:500;min-width:0;overflow-wrap:anywhere}
.copy{border:1px solid var(--line2);background:var(--bg);border-radius:8px;height:32px;padding:0 10px;font-size:13px;flex:none;transition:border-color .15s ease}
.amount{font-family:var(--f-disp);font-size:22px;font-weight:600;color:var(--title)}
.portal{max-width:460px;margin:48px auto 0;border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--sh)}

/* Account */
.acc{max-width:440px;margin:0 auto;padding-top:56px;display:flex;flex-direction:column;gap:20px}
.acc h1{font-size:30px;font-weight:600;letter-spacing:-.015em}
.code{display:flex;gap:8px}
.code input{width:100%;min-width:0;height:56px;text-align:center;font:600 22px var(--f-mono);border:1px solid var(--line2);border-radius:10px;background:var(--bg)}
.code input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(0,194,255,.18)}
.me{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;padding-top:32px;align-items:start}
.me nav{display:flex;flex-direction:column;gap:4px}
.me nav button{border:0;background:none;text-align:left;padding:10px 12px;border-radius:8px;color:var(--ink);font-weight:500}
.me nav button[aria-current="page"]{background:var(--sf);color:var(--title)}
.orders{width:100%;border-collapse:collapse;font-size:15px}
.orders th{font-size:13px;font-weight:500;color:var(--mut);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.orders td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.tablewrap{overflow-x:auto}

/* Toast */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:80;transform:translate(-50%,16px);opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);border-radius:12px;padding:12px 16px;display:flex;gap:14px;align-items:center;font-size:14px;box-shadow:var(--sh2);transition:opacity .2s ease,transform .3s var(--ease);max-width:calc(100% - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast button{border:0;background:none;color:var(--cy);font-weight:600;padding:4px 0;white-space:nowrap}

.view{animation:vin .28s var(--ease) both}
@keyframes vin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media (hover:hover) and (pointer:fine){
  .nav button:hover{color:var(--acc)}
  .hs:hover{border-color:var(--line2)}
  .ib:hover{background:var(--sf)}.ib.pri:hover{background:var(--pri-h)}
  .btn:not([disabled]):hover{background:var(--pri-h)}.btn2:hover{border-color:var(--acc)}
  .cta .btn:hover{background:#E8EEF6}.cta .btn2:hover{border-color:#FFFFFF}
  .pop button:hover{text-decoration-color:currentColor}
  .pricecard:hover{transform:translateY(-2px)}
  .prod:hover .ph{border-color:var(--line2)}.prod:hover .ph svg{transform:scale(1.04)}
  .prod:hover .nom{color:var(--acc)}
  .add:not([disabled]):hover{background:var(--pri);color:var(--pri-ink);border-color:var(--pri)}
  .idx button:hover{background:var(--sf)}.idx button:hover .go svg{transform:translateX(4px)}
  .foot-col button:hover{color:var(--title)}
  .opt:hover{border-color:var(--acc)}
  .copy:hover{border-color:var(--acc)}
  .marq li:hover .bl{background:var(--logo-h)}
  .me nav button:hover{background:var(--sf)}
}
@media (prefers-reduced-motion:reduce){
  .boot .led,.boot .float,.view,.bdg.bump{animation:none!important;opacity:1}
  .marq .track{animation:none}.marq .vp{overflow:visible;-webkit-mask-image:none;mask-image:none}
  .marq .track{width:auto}.marq ul{flex-wrap:wrap;gap:12px 40px;padding:0}.marq ul[aria-hidden]{display:none}
  *{transition-duration:0s!important}
  html{scroll-behavior:auto}
}
@media (max-width:1024px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-top{grid-template-columns:1fr 1fr;gap:28px}.foot-brand{grid-column:1 / -1}
  .co{grid-template-columns:minmax(0,1fr) 320px;gap:32px}
}
@media (max-width:860px){
  .wrap{padding-inline:16px}
  .hdr{gap:12px;height:68px}.logo img{height:40px}
  .nav,.hs,.hide-m{display:none!important}.burger{display:grid}
  .hero{grid-template-columns:1fr;gap:40px;padding-block:32px 40px}
  .stage{padding:56px 20px 84px;border-radius:20px}.pricecard{left:12px;bottom:16px;min-width:0}.tagcard{right:12px}
  .marq{flex-direction:column;align-items:flex-start;gap:10px}.marq .vp{width:100%}
  .sec{padding-top:64px}
  .grid,.grid.g3{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  .idx button{grid-template-columns:44px minmax(0,1fr) auto;gap:4px 16px;padding:18px 4px}.idx .d{grid-column:2 / 3;grid-row:2}.idx .go span{display:none}
  .facts{grid-template-columns:1fr}.facts>div,.facts>div+div{padding:20px 0;border-left:0}.facts>div+div{border-top:1px solid var(--line)}
  .cta{grid-template-columns:1fr;padding:32px 20px;border-radius:20px}.cta .acts{min-width:0}
  .cat{grid-template-columns:1fr;gap:0}
  .filters{position:static;display:none;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:20px}
  .filters.open{display:flex}
  .fbtn{display:inline-flex}
  .pdp{grid-template-columns:1fr;gap:28px}.buy{position:static}
  .co{grid-template-columns:1fr}.sum{position:static;order:-1}
  .row2{grid-template-columns:1fr}
  .speibox dl{grid-template-columns:1fr}.speibox dt{border-bottom:0;padding-bottom:2px}.speibox dd{border-top:0;padding-top:0}
  .me{grid-template-columns:1fr;gap:20px}.me nav{flex-direction:row;overflow-x:auto}
  .conf h1,.co h1,.acc h1{font-size:26px}
  .buy h1{font-size:24px}
}
/* Páginas de ayuda y legales */
.prose{max-width:760px;margin:0 auto;padding:40px 0 24px;display:flex;flex-direction:column;gap:14px;line-height:1.65}
.prose h1{margin-bottom:6px}.prose h2{font-size:18px;margin:14px 0 0;color:var(--title)}.prose p,.prose ul{margin:0}.prose ul{padding-left:20px;display:flex;flex-direction:column;gap:6px}
