/* HechaParaTi · sala oscura: las webs de los clientes son la luz de la página.
   Radios: tarjetas e imágenes 14px, campos 10px, botones y chips en píldora. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;
  src:url(fonts/archivo-latin.woff2) format("woff2")}

:root{
  --bg:#0b0b0c;--bg2:#131315;--bg3:#1b1b1e;--line:#2a2a2e;--line2:#3a3a40;
  --tx:#f3f2ef;--tx2:#b4b3b0;--tx3:#8f8e8b;
  --ac:#ff5c35;--ac2:#ff7a58;--ac-ink:#160a06;
  --ok:#5ad19a;--err:#ff8a7a;
  --r:14px;--r-in:10px;
  --w:1240px;--gut:clamp(16px,4vw,40px);
  --f-d:"Archivo","Arial Narrow",system-ui,sans-serif;
  --f-b:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--tx);font:400 17px/1.6 var(--f-b);overflow-x:hidden;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--ac);color:var(--ac-ink)}
:focus-visible{outline:2px solid var(--ac);outline-offset:3px;border-radius:6px}
html{scrollbar-color:var(--line2) var(--bg)}
::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--line2);border-radius:10px;border:3px solid var(--bg)}
h1,h2,h3,h4{font-family:var(--f-d);font-stretch:112%;font-weight:800;letter-spacing:-.03em;line-height:1.02;margin:0;text-wrap:balance}
p{margin:0}
.w{max-width:var(--w);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--ac);color:var(--ac-ink);padding:10px 16px;border-radius:999px;z-index:200;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.num{font-variant-numeric:tabular-nums}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;white-space:nowrap;border-radius:999px;
  padding:.82em 1.35em;font-weight:700;font-size:16px;line-height:1;text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .2s var(--ease)}
.btn:active{transform:scale(.97)}
.btn-ac{background:var(--ac);color:var(--ac-ink)}
.btn-ac:hover{background:var(--ac2)}
.btn-ln{border-color:var(--line2);color:var(--tx);background:rgba(11,11,12,.35)}
.btn-ln:hover{border-color:var(--tx);background:rgba(243,242,239,.06)}
.btn-tx{background:var(--tx);color:var(--bg)}
.btn-tx:hover{background:#fff}
.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}
.btn svg{width:18px;height:18px;flex:none}
.ic{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Header */
.hd{position:sticky;top:0;z-index:50;background:rgba(11,11,12,.72);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .3s}
.hd.sc{border-bottom-color:var(--line)}
.hd .w{display:flex;align-items:center;gap:20px;height:68px}
.logo{font-family:var(--f-d);font-stretch:118%;font-weight:850;font-size:22px;letter-spacing:-.04em;text-decoration:none;white-space:nowrap}
.logo span{color:var(--ac)}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--tx2);font-weight:600;font-size:15px;transition:color .2s,background .2s}
.nav a:hover,.nav a[aria-current=page]{color:var(--tx);background:rgba(243,242,239,.06)}
.hd-acc{display:flex;align-items:center;gap:10px}
.cart-l{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;color:var(--tx);border:1px solid var(--line)}
.cart-l:hover{border-color:var(--line2)}
.cart-l b{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--ac);color:var(--ac-ink);
  font-size:12px;line-height:20px;text-align:center;font-weight:800}
.cart-l b:empty{display:none}
.hd .btn{padding:.7em 1.15em;font-size:15px}
.burger{display:none;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:none;cursor:pointer;align-items:center;justify-content:center}
@media(max-width:960px){
  .nav{position:fixed;inset:68px 0 auto 0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);
    padding:8px var(--gut) 20px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
  .nav.open{opacity:1;transform:none;visibility:visible}
  .nav a{padding:14px 4px;font-size:18px;border-radius:0;border-bottom:1px solid var(--line)}
  .burger{display:inline-flex;margin-left:auto}
  .hd-acc{margin-left:0}
}
@media(max-width:480px){.hd .btn-ac{display:none}.logo{font-size:20px}}

/* Hero */
.hero{position:relative;min-height:min(92vh,880px);display:flex;align-items:center;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.reel{position:absolute;inset:-10% -6% -10% 42%;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;transform:rotate(-8deg);z-index:-2}
.reel-col{display:flex;flex-direction:column;gap:16px;animation:sube 70s linear infinite}
.reel-col:nth-child(even){animation-name:baja;animation-duration:84s}
.reel-col img{border-radius:12px;width:100%;aspect-ratio:9/16;object-fit:cover;object-position:top;background:var(--bg3)}
@keyframes sube{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes baja{from{transform:translateY(-50%)}to{transform:translateY(0)}}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 30%,rgba(11,11,12,.86) 48%,rgba(11,11,12,.25) 75%,rgba(11,11,12,.45) 100%),
             linear-gradient(0deg,var(--bg) 0%,rgba(11,11,12,0) 22%)}
.hero .w{width:100%;padding-top:72px;padding-bottom:88px}
.hero h1{font-size:clamp(44px,6.3vw,90px);max-width:10.5ch;font-stretch:108%;letter-spacing:-.045em;line-height:.94}
.hero h1 em{font-style:normal;color:var(--ac)}
.hero p{margin-top:26px;font-size:clamp(18px,1.6vw,21px);color:var(--tx2);max-width:34ch}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero .ctas .btn{font-size:17px;padding:.95em 1.5em}
@media(max-width:820px){
  .reel{inset:-4% -30% -4% -10%;opacity:.55}
  .hero::before{background:linear-gradient(0deg,var(--bg) 4%,rgba(11,11,12,.78) 45%,rgba(11,11,12,.62) 100%)}
  .hero{min-height:auto}
  .hero .w{padding-top:96px;padding-bottom:72px}
}
@media(prefers-reduced-motion:reduce){.reel-col{animation:none}html{scroll-behavior:auto}}

/* Secciones */
.sec{padding:clamp(72px,10vw,136px) 0}
.sec-h{font-size:clamp(34px,5vw,64px);max-width:16ch}
.sec-p{color:var(--tx2);font-size:clamp(17px,1.4vw,19px);max-width:58ch;margin-top:18px}

/* Cómo funciona */
.pasos{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:1.1fr 1fr 1fr;border-top:1px solid var(--line)}
.paso{padding:32px 28px 8px 0;position:relative}
.paso+.paso{padding-left:28px;border-left:1px solid var(--line)}
.paso .n{font-family:var(--f-d);font-stretch:120%;font-weight:800;font-size:clamp(64px,8vw,120px);line-height:.85;color:transparent;-webkit-text-stroke:1.5px var(--line2);display:block;margin-bottom:22px}
.paso:first-child .n{-webkit-text-stroke-color:var(--ac)}
.paso h3{font-size:clamp(22px,2.2vw,28px);font-stretch:105%}
.paso p{color:var(--tx2);margin-top:10px;max-width:36ch}
.paso code{font-family:var(--f-b);color:var(--tx);background:var(--bg3);padding:.1em .45em;border-radius:6px;font-size:.92em;white-space:nowrap}
@media(max-width:820px){.pasos{grid-template-columns:1fr}.paso,.paso+.paso{padding:28px 0;border-left:0;border-bottom:1px solid var(--line)}.paso .n{font-size:64px;margin-bottom:14px}}

/* Vitrina */
.vit-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.chips{display:flex;gap:8px;margin:36px 0 30px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;-webkit-mask:linear-gradient(90deg,#000 92%,transparent)}
.chip{flex:none;border:1px solid var(--line);background:none;border-radius:999px;padding:9px 16px;cursor:pointer;color:var(--tx2);font-weight:600;font-size:15px;transition:all .2s var(--ease)}
.chip:hover{border-color:var(--line2);color:var(--tx)}
.chip[aria-pressed=true]{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.chip small{opacity:.6;margin-left:4px;font-weight:500}
.rej{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
@media(max-width:1000px){.rej{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.rej{grid-template-columns:1fr}}
.dis{display:flex;flex-direction:column;min-width:0}
.dis[hidden]{display:none}
.dis-img{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;background:var(--bg3);border:1px solid var(--line)}
.dis-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.1s var(--ease),filter .6s}
.dis-img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,12,.75),rgba(11,11,12,0) 45%);opacity:0;transition:opacity .4s}
.dis-img .ver{position:absolute;left:14px;bottom:14px;z-index:1;display:inline-flex;align-items:center;gap:6px;background:var(--tx);color:var(--bg);font-weight:700;font-size:14px;
  padding:8px 14px;border-radius:999px;opacity:0;transform:translateY(8px);transition:all .4s var(--ease)}
@media(hover:hover){
  .dis-img:hover img{transform:scale(1.07)}
  .dis-img:hover::after{opacity:1}
  .dis-img:hover .ver{opacity:1;transform:none}
}
.dis-tx{display:flex;flex-direction:column;gap:14px;padding:16px 2px 0;flex:1}
.dis-tx h3{font-size:19px;font-stretch:104%;letter-spacing:-.02em;line-height:1.15}
.dis-tx p{color:var(--tx3);font-size:14.5px;margin-top:4px}
.dis-bt{display:flex;gap:8px;margin-top:auto}
.dis-bt .btn{padding:.66em 1.1em;font-size:14.5px}
@media(max-width:620px){.dis-bt .btn{flex:1}}

/* Precios */
.nivs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.niv{padding:30px 26px 28px;display:flex;flex-direction:column;background:var(--bg)}
.niv+.niv{border-left:1px solid var(--line)}
.niv.dest{background:var(--bg2);box-shadow:inset 0 0 0 1px var(--ac)}
.niv .t{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.niv h3{font-size:26px;font-stretch:108%}
.niv .tag{font-size:12.5px;font-weight:700;color:var(--ac);white-space:nowrap}
.niv .p{font-family:var(--f-d);font-stretch:100%;font-weight:800;font-size:clamp(36px,3.4vw,46px);letter-spacing:-.04em;margin-top:18px;line-height:1}
.niv .p small{display:block;font-family:var(--f-b);font-size:14px;font-weight:500;color:var(--tx3);letter-spacing:0;margin-top:8px}
.niv ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px;flex:1}
.niv li{display:flex;gap:10px;font-size:15.5px;color:var(--tx2);line-height:1.45}
.niv li svg{width:18px;height:18px;margin-top:2px;stroke:var(--ac)}
.niv .acc{display:grid;gap:8px;margin-top:26px}
.niv .acc .btn{width:100%}
.niv .ej{font-size:14.5px;color:var(--tx2);text-align:center;padding:6px}
.niv .ej:hover{color:var(--tx)}
@media(max-width:1060px){.nivs{grid-template-columns:repeat(2,1fr)}.niv:nth-child(3){border-left:0}.niv:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:620px){.nivs{grid-template-columns:1fr}.niv+.niv{border-left:0;border-top:1px solid var(--line)}}
.mensual{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;margin-top:20px;padding:22px 26px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2)}
.mensual p{color:var(--tx2);max-width:70ch}
.mensual b{color:var(--tx)}
details.cmp-d{margin-top:20px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
details.cmp-d summary{cursor:pointer;padding:18px 26px;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center}
details.cmp-d summary::-webkit-details-marker{display:none}
details.cmp-d summary svg{transition:transform .3s var(--ease)}
details.cmp-d[open] summary svg{transform:rotate(45deg)}
.tw{overflow-x:auto}
table.cmp{width:100%;border-collapse:collapse;font-size:15px;min-width:620px}
.cmp th,.cmp td{padding:13px 14px;border-top:1px solid var(--line);text-align:center}
.cmp th{font-family:var(--f-d);font-stretch:105%;font-weight:800;font-size:15.5px;background:var(--bg2)}
.cmp th small{display:block;font-family:var(--f-b);font-weight:600;color:var(--ac);font-size:13px;margin-top:2px}
.cmp td:first-child,.cmp th:first-child{text-align:left;color:var(--tx2);font-weight:500}
.cmp td.si svg{stroke:var(--ac);margin:0 auto}
.cmp td.no{color:var(--line2)}
@media(max-width:620px){table.cmp{min-width:0;font-size:13px}.cmp th,.cmp td{padding:10px 6px}.cmp th{font-size:13px}.cmp th small{font-size:11px}.cmp td:first-child{width:38%}}

/* Extras */
.ext-wrap{margin-top:clamp(72px,9vw,120px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(28px,5vw,80px);align-items:start}
.ext-wrap .sec-h{font-size:clamp(30px,4vw,48px);position:sticky;top:100px}
.ext-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ext{display:grid;grid-template-columns:1fr auto auto;gap:6px 22px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.ext h3{font-family:var(--f-b);font-stretch:100%;font-size:17px;font-weight:700;letter-spacing:0}
.ext p{grid-column:1;color:var(--tx3);font-size:15px;line-height:1.5}
.ext .pz{grid-row:1/3;grid-column:2;text-align:right;font-weight:700;white-space:nowrap}
.ext .pz small{display:block;color:var(--tx3);font-weight:500;font-size:13px}
.ext .add{grid-row:1/3;grid-column:3;width:44px;height:44px;border-radius:999px;border:1px solid var(--line2);background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}
.ext .add:hover{background:var(--ac);border-color:var(--ac);color:var(--ac-ink)}
.ext .add.ok{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.ext.star h3::after{content:"Recomendado";margin-left:10px;font-size:12px;font-weight:700;color:var(--ac);vertical-align:2px}
@media(max-width:860px){.ext-wrap{grid-template-columns:1fr}.ext-wrap .sec-h{position:static}}
@media(max-width:480px){.ext{grid-template-columns:1fr auto}.ext .pz{grid-row:auto;grid-column:1;text-align:left}.ext .pz small{display:inline;margin-left:6px}.ext .add{grid-row:1/4;grid-column:2}}

/* Por qué */
.porque{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pq-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(32px,6vw,96px);align-items:start}
.pq-dif{list-style:none;padding:0;margin:40px 0 0;display:grid;gap:26px}
.pq-dif li{display:grid;grid-template-columns:28px 1fr;gap:14px}
.pq-dif svg{stroke:var(--ac);width:24px;height:24px;margin-top:3px}
.pq-dif b{display:block;font-size:18px}
.pq-dif span{color:var(--tx2);font-size:15.5px}
table.vs{width:100%;border-collapse:collapse;font-size:15px}
.vs caption{text-align:left;color:var(--tx3);font-size:13.5px;padding-bottom:14px;caption-side:bottom;padding-top:14px}
.vs th,.vs td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.4}
.vs thead th{font-family:var(--f-d);font-stretch:105%;font-size:15px;color:var(--tx2);font-weight:700}
.vs thead th.yo{color:var(--ac)}
.vs td.yo{color:var(--tx);font-weight:600;background:rgba(255,92,53,.06)}
.vs td{color:var(--tx3)}
.vs th[scope=row]{color:var(--tx);font-weight:600;font-family:var(--f-b)}
@media(max-width:900px){.pq-grid{grid-template-columns:1fr}}
@media(max-width:620px){
  .vs,.vs tbody,.vs tr,.vs th,.vs td,.vs caption{display:block;width:100%}
  .vs thead{display:none}
  .vs tr{padding:16px 0;border-bottom:1px solid var(--line)}
  .vs th[scope=row]{padding:0 0 8px;border:0;font-size:16px}
  .vs td{display:grid;grid-template-columns:118px 1fr;gap:10px;padding:6px 0;border:0;font-size:14.5px}
  .vs td::before{content:attr(data-l);color:var(--tx3);font-weight:600;font-size:13px}
  .vs td.yo{background:none;padding:8px 10px;margin:0 -10px;width:calc(100% + 20px);border-radius:10px;background:rgba(255,92,53,.07)}
  .vs td.yo::before{color:var(--ac)}
}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(28px,5vw,80px)}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;font-weight:700;font-size:18px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;margin-top:-7px;
  background:linear-gradient(var(--tx2),var(--tx2)) center/14px 2px no-repeat,linear-gradient(var(--tx2),var(--tx2)) center/2px 14px no-repeat;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--tx2);padding:0 0 22px;max-width:62ch}
@media(max-width:860px){.faq-grid{grid-template-columns:1fr}}

/* CTA final */
.fin{position:relative;overflow:hidden;isolation:isolate;border-top:1px solid var(--line)}
.fin-bg{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;z-index:-2;opacity:.42}
.fin-bg img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.fin::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(11,11,12,.6) 0%,var(--bg) 75%)}
.fin .w{padding-top:clamp(96px,14vw,180px);padding-bottom:clamp(96px,14vw,180px);text-align:center}
.fin h2{font-size:clamp(40px,7vw,96px);letter-spacing:-.045em;max-width:12ch;margin:0 auto}
.fin p{color:var(--tx2);margin:22px auto 0;max-width:44ch;font-size:19px}
.fin .btn{margin-top:34px;font-size:17px;padding:1em 1.6em}
@media(max-width:620px){.fin-bg{grid-template-columns:repeat(3,1fr)}}

/* Footer */
.ft{border-top:1px solid var(--line);padding:64px 0 32px;color:var(--tx2);font-size:15px}
.ft-g{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px}
.ft h2{font-family:var(--f-b);font-stretch:100%;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);font-weight:700;margin-bottom:14px}
.ft ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.ft a{text-decoration:none}
.ft a:hover{color:var(--tx);text-decoration:underline}
.ft .logo{font-size:26px;color:var(--tx)}
.ft-desc{margin-top:14px;max-width:34ch}
.ft-b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);color:var(--tx3);font-size:14px}
@media(max-width:860px){.ft-g{grid-template-columns:1fr 1fr}.ft-g>div:first-child{grid-column:1/-1}}

/* Diálogo "La quiero" */
dialog.pick{border:1px solid var(--line2);border-radius:18px;background:var(--bg2);color:var(--tx);padding:0;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
dialog.pick::backdrop{background:rgba(5,5,6,.72);backdrop-filter:blur(4px)}
dialog.pick[open]{animation:sheet .45s var(--ease)}
@keyframes sheet{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.pick-h{display:flex;gap:16px;padding:18px;border-bottom:1px solid var(--line);align-items:center}
.pick-h img{width:120px;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:10px;flex:none}
.pick-h h2{font-size:21px;font-stretch:104%}
.pick-h p{color:var(--tx3);font-size:14px;margin-top:4px}
.pick-x{margin-left:auto;align-self:flex-start;width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none}
.pick-b{padding:18px}
.pick-b legend{font-weight:700;margin-bottom:10px;padding:0}
.pick fieldset{border:0;margin:0;padding:0}
.opt{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:12px;cursor:pointer;margin-bottom:8px;transition:border-color .2s,background .2s}
.opt:hover{border-color:var(--line2)}
.opt:has(input:checked){border-color:var(--ac);background:rgba(255,92,53,.07)}
.opt input{accent-color:var(--ac);width:18px;height:18px;margin:0}
.opt b{display:block}.opt small{color:var(--tx3);font-size:13.5px}
.opt .pz{font-weight:800;font-family:var(--f-d);font-size:19px}
.pick-f{display:flex;gap:10px;padding:0 18px 18px;flex-wrap:wrap}
.pick-f .btn{flex:1}
.pick-n{font-size:13.5px;color:var(--tx3);padding:0 18px 18px}
@media(max-width:480px){.pick-h img{width:84px}}

/* Toast */
.toast{position:fixed;left:50%;bottom:24px;z-index:120;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--tx);color:var(--bg);
  padding:12px 18px;border-radius:999px;font-weight:700;font-size:15px;transition:all .35s var(--ease);display:flex;gap:12px;align-items:center;max-width:calc(100vw - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast a{color:var(--bg);white-space:nowrap}

/* Páginas internas */
.pg-h{padding:clamp(56px,8vw,104px) 0 clamp(32px,5vw,56px);border-bottom:1px solid var(--line)}
.pg-h h1{font-size:clamp(40px,6vw,80px);letter-spacing:-.045em;max-width:14ch}
.pg-h p{color:var(--tx2);margin-top:18px;font-size:19px;max-width:56ch}
.migas{font-size:14px;color:var(--tx3);margin-bottom:18px}
.migas a{color:var(--tx2)}

/* Noticias */
.notas{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(20px,3vw,36px);padding:56px 0 clamp(72px,9vw,120px)}
.nota-c{grid-column:span 6;text-decoration:none;display:flex;flex-direction:column}
.nota-c:first-child{grid-column:span 12;display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(20px,3vw,44px);align-items:center}
.nota-c .im{border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;background:var(--bg3);border:1px solid var(--line)}
.nota-c .im img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.nota-c:hover .im img{transform:scale(1.05)}
.nota-c time{display:block;color:var(--tx3);font-size:14px;margin-top:16px}
.nota-c h2{font-size:clamp(22px,2.2vw,28px);font-stretch:104%;margin-top:8px;line-height:1.1}
.nota-c:first-child h2{font-size:clamp(28px,3.6vw,46px)}
.nota-c p{color:var(--tx2);margin-top:12px;font-size:16px}
.nota-c:hover h2{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}
@media(max-width:900px){.nota-c,.nota-c:first-child{grid-column:span 12;display:flex}}


.art{padding:clamp(48px,7vw,88px) 0 clamp(72px,9vw,120px)}
.art-hero{border-radius:var(--r);overflow:hidden;aspect-ratio:21/9;border:1px solid var(--line);margin-bottom:clamp(36px,5vw,64px)}
.art-hero img{width:100%;height:100%;object-fit:cover}
.prosa{max-width:68ch;margin:0 auto;font-size:18.5px;line-height:1.7}
.prosa h2{font-size:clamp(26px,3vw,36px);margin:2em 0 .6em;font-stretch:106%}
.prosa h3{font-size:22px;margin:1.6em 0 .5em;font-stretch:104%}
.prosa p{margin:0 0 1.1em;color:#dad9d5}
.prosa ul,.prosa ol{margin:0 0 1.2em;padding-left:1.2em;color:#dad9d5}
.prosa li{margin-bottom:.45em}
.prosa li::marker{color:var(--ac)}
.prosa strong{color:var(--tx)}
.prosa a{color:var(--tx);text-decoration-color:var(--ac);text-decoration-thickness:2px}
.prosa a.btn{color:var(--ac-ink);text-decoration:none}
.prosa .meta{color:var(--tx3);font-size:15px;margin-bottom:2em}
.prosa .cta-in{margin:2.4em 0 0;padding:26px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2)}
.prosa .cta-in p{margin-bottom:16px}
.mas-notas{font-size:18.5px;max-width:68ch;margin:56px auto 0;padding-top:28px;border-top:1px solid var(--line)}
.mas-notas h2{font-size:20px;margin-bottom:14px}
.mas-notas ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}

/* Formularios */
.form{display:grid;gap:18px}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:620px){.fila{grid-template-columns:1fr}}
.campo{display:grid;gap:7px;align-content:start}
.campo label{font-weight:600;font-size:15px}
.campo .ayuda{color:var(--tx3);font-size:13.5px}
.campo input,.campo select,.campo textarea{width:100%;background:var(--bg);border:1px solid var(--line2);border-radius:var(--r-in);padding:13px 14px;font-size:16px;color:var(--tx);transition:border-color .2s,box-shadow .2s}
.campo textarea{min-height:130px;resize:vertical}
.campo input::placeholder,.campo textarea::placeholder{color:#85847f}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px rgba(255,92,53,.22)}
.campo.mal input,.campo.mal select,.campo.mal textarea{border-color:var(--err)}
.campo .err{color:var(--err);font-size:13.5px;display:none}
.campo.mal .err{display:block}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--tx2)}
.check input{width:20px;height:20px;accent-color:var(--ac);margin-top:2px;flex:none}
.check.mal{color:var(--err)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aviso{padding:16px 18px;border-radius:12px;font-size:15.5px;display:none}
.aviso.on{display:block}
.aviso.ok{background:rgba(90,209,154,.1);border:1px solid rgba(90,209,154,.4);color:#c9f2de}
.aviso.mal{background:rgba(255,138,122,.1);border:1px solid rgba(255,138,122,.4);color:#ffd2cb}
.btn.cargando{pointer-events:none;opacity:.7}
.btn.cargando::after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:gira .7s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

.contacto-g{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:clamp(32px,6vw,88px);padding:56px 0 clamp(72px,9vw,120px)}
.contacto-g aside h2{font-size:24px;margin-bottom:12px}
.contacto-g aside p{color:var(--tx2);margin-bottom:16px}
@media(max-width:860px){.contacto-g{grid-template-columns:1fr}}

/* Carrito */
.cart-g{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding:48px 0 clamp(72px,9vw,120px);align-items:start}
@media(max-width:960px){.cart-g{grid-template-columns:minmax(0,1fr)}}
.cart-h2{font-size:24px;margin:0 0 16px;font-stretch:104%}
.c-items{list-style:none;margin:0 0 40px;padding:0;border-top:1px solid var(--line)}
.c-item{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.c-item img{border-radius:10px;aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;border:1px solid var(--line)}
.c-item h3{font-size:18px;font-stretch:104%;letter-spacing:-.02em}
.c-item .sub{color:var(--tx3);font-size:14px;margin-top:3px}
.c-ctl{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:14px}
.c-ctl select{background:var(--bg);border:1px solid var(--line2);border-radius:999px;padding:9px 14px;font-size:15px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:999px}
.qty button{width:38px;height:38px;border:0;background:none;cursor:pointer;border-radius:999px;font-size:18px;line-height:1}
.qty button:hover{background:var(--bg3)}
.qty output{min-width:28px;text-align:center;font-weight:700}
.quitar{background:none;border:0;color:var(--tx3);cursor:pointer;text-decoration:underline;text-underline-offset:.2em;font-size:14.5px;padding:6px 0}
.quitar:hover{color:var(--err)}
.c-pz{margin-left:auto;font-weight:800;font-size:18px;white-space:nowrap}
.c-x-row{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}
.c-x-row h3{font-family:var(--f-b);font-stretch:100%;font-size:16px;font-weight:700;letter-spacing:0}
.c-x-row p{color:var(--tx3);font-size:14px}
.c-x-row .r{display:flex;align-items:center;gap:12px;justify-content:flex-end}
.c-x-row .inc{font-size:13px;color:var(--ok)}
.c-vacio{padding:40px 28px;border:1px dashed var(--line2);border-radius:var(--r);text-align:center}
.c-vacio h2{font-size:28px}
.c-vacio p{color:var(--tx2);margin:12px auto 22px;max-width:44ch}
.resumen{position:sticky;top:92px;border:1px solid var(--line);border-radius:18px;background:var(--bg2);padding:24px}
.resumen dl{margin:0;display:grid;gap:10px}
.resumen .rl{display:flex;justify-content:space-between;gap:12px;color:var(--tx2);font-size:15.5px}
.resumen .rl dd{margin:0;color:var(--tx);font-weight:600;white-space:nowrap}
.resumen .tot{border-top:1px solid var(--line);padding-top:14px;margin-top:6px;font-size:18px;color:var(--tx)}
.resumen .tot dd{font-family:var(--f-d);font-size:30px;font-weight:800;letter-spacing:-.03em}
.resumen .rec{border-top:1px solid var(--line);padding-top:14px;margin-top:4px}
.plan{display:grid;gap:8px;margin:24px 0 10px}
.plan legend{font-weight:700;font-size:15px;margin-bottom:8px;padding:0}
.resumen fieldset{border:0;margin:0;padding:0}
.nota-p{color:var(--tx3);font-size:13.5px;margin-top:12px}
.datos{margin-top:8px}
.datos .cart-h2{margin-top:8px}
@media(max-width:480px){.c-item{grid-template-columns:72px minmax(0,1fr);gap:12px}.c-ctl select{max-width:100%}.c-pz{margin-left:0;width:100%}}

/* Agente */
.ag-fab{position:fixed;right:20px;bottom:20px;z-index:90;height:58px;padding:0 20px 0 16px;border-radius:999px;border:0;cursor:pointer;
  background:var(--tx);color:var(--bg);display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15.5px;
  box-shadow:0 10px 30px -8px rgba(0,0,0,.65),0 2px 6px rgba(0,0,0,.4);transition:transform .25s var(--ease)}
.ag-fab:hover{transform:translateY(-2px)}
.ag-fab .ic{width:24px;height:24px}
.ag-fab .pt{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--ac);border:2px solid var(--tx)}
.ag-fab[aria-expanded=true] .pt{display:none}
@media(max-width:620px){.ag-fab{width:58px;padding:0;justify-content:center;right:16px;bottom:16px}.ag-fab .lbl{display:none}}
.ag{position:fixed;right:20px;bottom:90px;z-index:91;width:380px;max-width:calc(100vw - 32px);height:min(600px,calc(100dvh - 120px));
  background:var(--bg2);border:1px solid var(--line2);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.8);opacity:0;visibility:hidden;transform:translateY(16px) scale(.98);transform-origin:bottom right;
  transition:opacity .3s var(--ease),transform .35s var(--ease),visibility .3s}
.ag.open{opacity:1;visibility:visible;transform:none}
@media(max-width:620px){.ag{right:16px;bottom:84px;height:calc(100dvh - 110px)}}
.ag-h{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;border-bottom:1px solid var(--line)}
.ag-av{width:40px;height:40px;border-radius:50%;background:var(--ac);color:var(--ac-ink);display:flex;align-items:center;justify-content:center;font-family:var(--f-d);font-weight:850;font-stretch:118%;font-size:15px;flex:none}
.ag-h b{display:block;font-size:15.5px}
.ag-h span{display:block;font-size:13px;color:var(--tx3)}
.ag-h .x{margin-left:auto;width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.ag-b{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth}
.ag-m{max-width:86%;padding:10px 13px;border-radius:16px;font-size:15px;line-height:1.45;animation:entra .35s var(--ease)}
.ag-m.bot{background:var(--bg3);align-self:flex-start;border-bottom-left-radius:5px}
.ag-m.yo{background:var(--tx);color:var(--bg);align-self:flex-end;border-bottom-right-radius:5px}
.ag-m b{color:var(--tx)}.ag-m.yo b{color:var(--bg)}
.ag-m a{color:var(--ac2);font-weight:700}
@keyframes entra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ag-typ{align-self:flex-start;background:var(--bg3);border-radius:16px;border-bottom-left-radius:5px;padding:13px 14px;display:flex;gap:4px}
.ag-typ i{width:7px;height:7px;border-radius:50%;background:var(--tx3);animation:bote 1.1s infinite}
.ag-typ i:nth-child(2){animation-delay:.15s}.ag-typ i:nth-child(3){animation-delay:.3s}
@keyframes bote{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.ag-q{display:flex;flex-wrap:wrap;gap:7px;padding:12px 14px;border-top:1px solid var(--line)}
.ag-q:empty{display:none}
.ag-q button{border:1px solid var(--line2);background:none;border-radius:999px;padding:8px 13px;font-size:14.5px;font-weight:600;cursor:pointer;transition:all .2s}
.ag-q button:hover{background:var(--ac);border-color:var(--ac);color:var(--ac-ink)}
.ag-in{display:none;gap:8px;padding:12px 14px;border-top:1px solid var(--line)}
.ag-in.on{display:flex}
.ag-in input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line2);border-radius:999px;padding:11px 15px;font-size:16px}
.ag-in input:focus{outline:none;border-color:var(--ac)}
.ag-in button{width:44px;height:44px;border-radius:999px;border:0;background:var(--ac);color:var(--ac-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none}
.ag-err{color:var(--err);font-size:13.5px;padding:0 16px 8px;display:none}
.ag-err.on{display:block}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* 404 */
.e404{min-height:70vh;display:flex;align-items:center}
.e404 h1{font-size:clamp(48px,9vw,120px);letter-spacing:-.05em}
.e404 p{color:var(--tx2);font-size:19px;margin:18px 0 28px;max-width:44ch}

/* Subir de nivel en el carrito */
.up{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.up-r{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;padding:12px 14px}
.up-r+.up-r{border-top:1px solid var(--line)}
.up-r b{font-size:15px}
.up-r b span{color:var(--ac)}
.up-r p{color:var(--tx3);font-size:13.5px;line-height:1.45;grid-column:1}
.up-r .btn{grid-row:1/3;grid-column:2;padding:.6em 1em;font-size:14px}
.c-mes{color:var(--tx3);font-size:13.5px;margin-top:8px}
@media(max-width:480px){.up-r{grid-template-columns:1fr}.up-r .btn{grid-row:auto;grid-column:1;justify-self:start;margin-top:6px}}
.c-x-row{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:560px){.c-x-row{grid-template-columns:minmax(0,1fr)}.c-x-row .r{justify-content:space-between}}

/* 30-sep: en el carrito, la burbuja del agente tapaba el resumen fijo de la derecha: se va a la izquierda */
body:has(.resumen) .ag-fab{right:auto;left:20px}
body:has(.resumen) .ag-panel{right:auto;left:20px}
body:has(.resumen) .ag-fab{width:58px;padding:0;justify-content:center;left:16px;bottom:16px}
body:has(.resumen) .ag-fab .lbl{display:none}
