/* ============================================================
   Tienly · Design V6 — Modern LIGHT "product" (aurora claro)
   Misma estructura/estética que V5 pero en claro: lienzo lavanda,
   texto tinta, tarjetas blancas con sombras suaves, acentos de aurora
   violeta/índigo de marca. Fuentes: Outfit + DM Sans.
   ============================================================ */
/* Fuentes auto-hospedadas (variables) — evita el salto/FOUT del CDN.
   Se precargan en el <head> para que estén listas antes del primer pintado. */
@font-face{font-family:'Outfit';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/outfit.woff2?h=fdf9c509) format("woff2")}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/dmsans.woff2?h=7c87a648) format("woff2")}
:root{
  --violet:#7C3AED; --indigo:#5B6CF5; --violet-lite:#6D28D9;
  --bg-deep:#F6F3FF; --bg:#FBF9FF; --bg-elev:#FFFFFF;
  --fg:#1A1730; --fg-muted:#57506e; --fg-dim:#8a83a0;
  --surface:#FFFFFF;
  --surface-2:#FBFAFF;
  --line:rgba(26,23,48,.09);
  --line-2:rgba(26,23,48,.16);
  --wa:#25D366;
  --grad:linear-gradient(120deg,#7C3AED,#5B6CF5);
  --glow:0 12px 34px rgba(124,58,237,.32);
  --ease:cubic-bezier(.16,1,.3,1);
  --shadow:0 10px 34px rgba(46,26,110,.09);
  --shadow-lg:0 30px 70px rgba(46,26,110,.14);
  --r:16px; --maxw:1200px;
}
*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth; overflow-x:hidden}
body{
  font-family:'DM Sans',system-ui,sans-serif; color:var(--fg); background:var(--bg-deep);
  line-height:1.62; -webkit-font-smoothing:antialiased; overflow-x:hidden; position:relative;
}
h1,h2,h3,h4{font-family:'Outfit',sans-serif; font-weight:600; line-height:1.05; letter-spacing:-.02em; color:var(--fg)}
a{color:inherit; text-decoration:none}
img,svg,video{display:block; max-width:100%}
.wrap{width:100%; max-width:var(--maxw); margin:0 auto; padding:0 28px}
/* Logo: versión con letras oscuras (claro) y letras blancas (oscuro) */
.logo-dark{display:none}
:root[data-theme="dark"] .logo-light{display:none}
:root[data-theme="dark"] .logo-dark{display:inline-block}
.center{text-align:center}
strong{color:var(--fg); font-weight:600}

/* Fondo: gradiente claro + blobs aurora + grid tenue + grano */
.bg{position:fixed; inset:0; z-index:-3; background:
  radial-gradient(55% 45% at 50% -6%, rgba(124,58,237,.16), transparent 60%),
  radial-gradient(40% 40% at 86% 18%, rgba(91,108,245,.13), transparent 60%),
  linear-gradient(180deg,#FAF7FF 0%,#F3F0FE 58%,#F7F4FF 100%);}
.bg-grid{position:fixed; inset:0; z-index:-2; opacity:.6; pointer-events:none;
  background-image:linear-gradient(rgba(26,23,48,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(26,23,48,.05) 1px,transparent 1px);
  background-size:64px 64px; mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000,transparent 75%)}
/* Glows del fondo con radial-gradient (sin filter:blur para no repintar cada frame) */
.blob{position:fixed; z-index:-2; border-radius:50%; opacity:.42; pointer-events:none; will-change:transform}
.blob--1{width:560px; height:560px; top:-180px; left:-140px; background:radial-gradient(circle at center, var(--violet) 0%, transparent 62%); animation:fl 22s var(--ease) infinite alternate}
.blob--2{width:600px; height:600px; top:28%; right:-200px; background:radial-gradient(circle at center, var(--indigo) 0%, transparent 62%); animation:fl 28s var(--ease) infinite alternate-reverse}
@keyframes fl{to{transform:translate(60px,60px)}}
/* Grano sutil, SIN mix-blend-mode (evita re-mezclar todo el viewport al hacer scroll) */
body::after{content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
@media(prefers-reduced-motion:reduce){.blob{animation:none}}

/* Chip */
.chip{display:inline-flex; align-items:center; gap:9px; font-size:.76rem; font-weight:500; letter-spacing:.02em;
  padding:7px 15px; border-radius:999px; background:#fff; border:1px solid var(--line); color:var(--violet-lite); box-shadow:var(--shadow)}
.chip i{font-size:.85rem}
.chip--dot::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--violet); box-shadow:0 0 8px rgba(124,58,237,.6)}
.hero .chip--dot{font-size:1.1rem; padding:13px 26px; gap:13px}
.hero .chip--dot::before{width:11px; height:11px}

/* Botones */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:'Outfit',sans-serif;
  font-weight:600; font-size:14.5px; padding:12px 22px; border-radius:12px; cursor:pointer; border:1px solid transparent;
  white-space:nowrap; transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), border-color .3s}
.btn--primary{background:var(--grad); color:#fff; box-shadow:var(--glow)}
.btn--primary:hover{transform:translateY(-2px); box-shadow:0 18px 44px rgba(124,58,237,.42)}
.btn--ghost{background:#fff; color:var(--fg); border-color:var(--line-2); box-shadow:var(--shadow)}
.btn--ghost:hover{background:#FAF8FF; border-color:var(--violet)}
.btn--wa{background:var(--wa); color:#04240f}
.btn--lg{padding:15px 28px; font-size:15.5px}
.btn--sm{padding:9px 16px; font-size:13.5px}
.btn--block{width:100%}
.gtext{background:linear-gradient(100deg,#7C3AED,#5B6CF5); -webkit-background-clip:text; background-clip:text; color:transparent}
.asterisk{color:var(--violet-lite); font-weight:600; font-size:.7em; vertical-align:super}

/* Superficie */
.card{position:relative; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow)}
.card::before{display:none}

/* ============ NAV ============ */
.nav{position:sticky; top:0; z-index:80; background:rgba(250,247,255,.78); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.nav__in{display:flex; align-items:center; justify-content:space-between; height:66px; gap:18px}
.nav__links{display:flex; gap:26px}
.nav__links a{font-size:14px; color:var(--fg-muted); font-weight:500; transition:color .2s}
.nav__links a:hover{color:var(--violet)}
.nav__cta{display:flex; align-items:center; gap:12px}
.burger{display:none; width:42px; height:42px; border-radius:10px; border:1px solid var(--line-2); background:#fff; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:5px}
.burger span{width:18px; height:2px; background:var(--fg); border-radius:2px}

/* ============ HERO ============ */
.hero{padding:70px 0 60px; text-align:center; position:relative}
.hero__glow{position:absolute; top:-40px; left:50%; transform:translateX(-50%); width:680px; height:340px; background:radial-gradient(50% 50% at 50% 50%,rgba(124,58,237,.22),transparent 70%); filter:blur(30px); z-index:-1}
.hero h1{font-size:clamp(2.7rem,6vw,4.6rem); font-weight:700; letter-spacing:-.03em; max-width:15ch; margin:22px auto 0}
.hero__lead{font-size:1.15rem; color:var(--fg-muted); margin:22px auto 0; max-width:44ch}
.hero__notes{display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:20px}
.hero__ai{display:inline-flex; gap:11px; align-items:center; padding:10px 18px; border-radius:999px; background:#fff; border:1px solid var(--line); font-size:.92rem; color:var(--fg); box-shadow:var(--shadow)}
.hero__ai i{color:var(--violet)}
.hero__note{display:inline-flex; gap:11px; align-items:flex-start; text-align:left; padding:12px 18px; border-radius:16px; background:#fff; border:1px solid var(--line); font-size:.9rem; line-height:1.5; color:var(--fg-muted); box-shadow:var(--shadow); max-width:46ch}
.hero__note i{color:var(--violet); margin-top:3px; flex-shrink:0}
.hero__note strong{color:var(--fg); font-weight:600}
.hero__actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:30px}
.hero__bullets{display:flex; gap:8px 26px; justify-content:center; flex-wrap:wrap; margin-top:26px; list-style:none}
.hero__bullets li{display:flex; gap:8px; align-items:center; font-size:.86rem; color:var(--fg-muted)}
.hero__bullets i{color:var(--violet)}
/* Mockup del hero */
.showcase{margin-top:56px; position:relative}
.showcase__frame{max-width:960px; margin:0 auto; border-radius:20px; overflow:hidden; border:1px solid var(--line-2); background:#fff; box-shadow:var(--shadow-lg), 0 0 80px rgba(124,58,237,.14)}
.showcase__bar{display:flex; align-items:center; gap:7px; padding:13px 16px; border-bottom:1px solid var(--line); background:#FAF8FF}
.showcase__bar .d{width:11px; height:11px; border-radius:50%; background:rgba(26,23,48,.14)}
.showcase__bar small{margin-left:10px; color:var(--fg-dim); font-size:12px; font-family:'DM Sans'}
.showcase__body{display:grid; grid-template-columns:1.1fr .9fr; gap:0}
.showcase__media{background:#ECEAF6}
.showcase__media video{width:100%; height:100%; object-fit:cover; display:block}
.showcase__side{padding:26px; display:flex; flex-direction:column; gap:14px; justify-content:center; border-left:1px solid var(--line)}
.mini{padding:16px; border-radius:14px; background:#F7F5FE; border:1px solid var(--line)}
.mini__t{display:flex; align-items:center; gap:10px; font-weight:600; font-family:'Outfit'; color:var(--fg); font-size:.95rem}
.mini__t .ic{width:32px; height:32px; border-radius:9px; display:grid; place-items:center; font-size:14px}
.mini--pay .ic{background:rgba(37,211,102,.16); color:#12A150}
.mini--wa .ic{background:rgba(37,211,102,.16); color:#12A150}
.mini--stat{background:var(--grad); border-color:transparent}
.mini--stat b{font-family:'Outfit'; font-size:1.9rem; color:#fff; display:block; line-height:1}
.mini--stat span{font-size:.8rem; color:rgba(255,255,255,.9)}
.mini p{font-size:.82rem; color:var(--fg-muted); margin-top:6px}
.float-tag{position:absolute; top:-14px; right:6%; z-index:2; background:var(--grad); color:#fff; font-family:'Outfit'; font-weight:600; font-size:12px; padding:7px 15px; border-radius:999px; box-shadow:var(--glow)}

/* ============ Marquee ============ */
.mq{margin-top:64px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; padding:16px 0}
.mq__row{display:flex; width:max-content; gap:14px; animation:mq 32s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}

/* ============ Secciones ============ */
.sec{padding:56px 0 88px; position:relative}
.sec__head{max-width:680px; margin:0 auto 52px; text-align:center}
.sec__head h2{font-size:clamp(2rem,4vw,3rem); font-weight:700; margin:16px 0 12px}
.sec__head p{color:var(--fg-muted); font-size:1.08rem}
.sec__head--left{margin:0 0 44px; text-align:left}

/* ============ FEATURES (bento claro) ============ */
.grp{margin-bottom:44px}
.grp__head{display:flex; align-items:center; gap:16px; margin-bottom:22px; padding-bottom:16px; border-bottom:1px solid var(--line)}
.grp__n{font-family:'Outfit'; font-weight:700; font-size:.9rem; color:var(--violet-lite); border:1px solid var(--line-2); border-radius:8px; padding:5px 10px; background:#fff}
.grp__head h3{font-size:1.4rem}
.grp__head .gi{margin-left:auto; width:40px; height:40px; border-radius:11px; background:var(--grad); display:grid; place-items:center; color:#fff; font-size:16px; box-shadow:var(--glow)}
.fgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.fcard{padding:24px; transition:transform .35s var(--ease), border-color .3s, box-shadow .3s}
.fcard:hover{transform:translateY(-5px); border-color:rgba(124,58,237,.3); box-shadow:0 20px 46px rgba(46,26,110,.14)}
.fcard__ic{width:46px; height:46px; border-radius:13px; background:rgba(124,58,237,.1); border:1px solid rgba(124,58,237,.2); color:var(--violet); display:grid; place-items:center; font-size:20px; margin-bottom:15px}
.fcard h4{font-size:1.08rem; margin-bottom:8px}
.fcard p{font-size:.92rem; color:var(--fg-muted)}
.fcard__more{display:inline-flex; align-items:center; gap:7px; margin-top:13px; font-size:.82rem; font-weight:600; color:var(--violet)}
.fcard__more i{transition:transform .3s var(--ease)}
.fcard:hover .fcard__more i{transform:translateX(4px)}
.card__opt{display:inline-block; font-family:'Outfit'; font-size:.58rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#fff; background:var(--violet); padding:2px 7px; border-radius:5px; margin-left:6px; vertical-align:middle}

/* ============ PAGOS ============ */
.pay2{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center}
.pay-list{display:grid; gap:14px; margin:26px 0}
.pay{display:flex; gap:15px; align-items:flex-start; padding:18px}
.pay__ic{width:48px; height:48px; flex-shrink:0; border-radius:13px; display:grid; place-items:center; font-size:20px; color:#fff}
.pay__ic--card{background:var(--grad)}
.pay__ic--wa{background:var(--wa)}
.pay h3{font-size:1.02rem; margin-bottom:5px}
.pay p{font-size:.9rem; color:var(--fg-muted)}
.pay-note{font-size:.82rem; color:var(--fg-dim); padding:14px 18px; border-radius:14px}
.checkout{padding:26px; position:relative; cursor:pointer; transition:transform .35s var(--ease), box-shadow .3s}
.checkout:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg),0 0 50px rgba(124,58,237,.16)}
.checkout__ex{position:absolute; top:-12px; right:20px; background:var(--grad); color:#fff; font-size:12px; font-weight:600; font-family:'Outfit'; padding:5px 12px; border-radius:999px}
.checkout h4{font-size:1.2rem; margin-bottom:16px}
.co-opt{display:flex; align-items:center; justify-content:space-between; padding:13px 15px; border-radius:12px; font-weight:600; font-size:.9rem; background:rgba(124,58,237,.08); border:1px solid rgba(124,58,237,.22)}
.co-opt .ck{width:24px; height:24px; border-radius:50%; background:var(--grad); color:#fff; display:grid; place-items:center; font-size:12px}
.co-field{padding:13px 15px; margin-top:11px; border-radius:12px; color:var(--fg-muted); font-size:.9rem; background:#F7F5FE; border:1px solid var(--line); font-variant-numeric:tabular-nums}
.co-row{display:grid; grid-template-columns:1fr 1fr; gap:11px}
.co-div{text-align:center; position:relative; margin:16px 0; color:var(--fg-dim); font-size:12px}
.co-div::before{content:""; position:absolute; top:50%; left:0; right:0; height:1px; background:var(--line)}
.co-div span{position:relative; background:#fff; padding:0 12px}
.co-wa{width:100%; border:0; border-radius:12px; background:var(--wa); color:#04240f; font-family:'Outfit'; font-weight:600; padding:13px; display:flex; align-items:center; justify-content:center; gap:8px; cursor:pointer}
.co-note{display:block; text-align:center; margin-top:12px; font-size:12px; color:var(--fg-dim)}

/* ============ STEPS ============ */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.step{padding:30px}
.step__n{font-family:'Outfit'; font-weight:700; font-size:2.4rem; line-height:1; margin-bottom:14px}
.step__n span{background:linear-gradient(120deg,#7C3AED,#5B6CF5); -webkit-background-clip:text; background-clip:text; color:transparent}
.step h3{font-size:1.22rem; margin-bottom:8px}
.step p{color:var(--fg-muted); font-size:.94rem}

/* ============ TABLAS ============ */
.tablewrap{overflow:hidden; padding:6px}
.tscroll{overflow-x:auto; border-radius:14px}
table.cmp{width:100%; border-collapse:collapse; min-width:620px}
table.cmp th, table.cmp td{padding:15px 14px; text-align:center; border-bottom:1px solid var(--line)}
table.cmp tbody tr:last-child td, table.cmp tbody tr:last-child th{border-bottom:0}
.cmp .rowh{text-align:left; font-weight:500; color:var(--fg-muted)}
.cmp thead .rowh{font-family:'Outfit'; font-weight:700; color:var(--fg); font-size:1.02rem}
.cmp__logo{height:34px; font-size:25px; display:flex; align-items:center; justify-content:center; color:var(--fg)}
.cmp__logo .fa-shopify{color:#95BF47}.cmp__logo .fa-wordpress{color:#21759B}
.cmp__nm{display:block; margin-top:5px; font-weight:600; font-size:.88rem; color:var(--fg-muted)}
.cmp .tienlycol,.cmp .tienlycell{background:rgba(124,58,237,.07)}
.cmp .tienlycol .cmp__nm{color:var(--violet)}
.mk{display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; font-size:11px}
.mk--y{background:rgba(124,58,237,.16); color:var(--violet)}
.mk--n{background:rgba(26,23,48,.05); color:var(--fg-dim)}
.cmp__val{font-family:'Outfit'; font-weight:600; font-size:.92rem; color:var(--fg)}
.cmp__plan{display:block; font-family:'Outfit'; font-weight:700; font-size:1.14rem; color:var(--fg)}
.cmp__price{display:block; font-weight:600; margin-top:2px; font-variant-numeric:tabular-nums; color:var(--fg)}
.cmp__price small{color:var(--fg-dim); font-weight:400; font-size:.72rem}
.cmp .grouprow th{background:#F4F1FE; text-align:left; text-transform:uppercase; letter-spacing:.08em; font-size:.7rem; color:var(--violet-lite); font-weight:700; font-family:'Outfit'}
.poptag{display:inline-block; background:var(--grad); color:#fff; border-radius:999px; font-size:.6rem; padding:2px 9px; margin-bottom:6px; text-transform:uppercase; font-weight:700; font-family:'Outfit'}

/* ============ PRECIOS ============ */
.promo{padding:30px; margin-bottom:32px; border-radius:var(--r); border:1px solid rgba(124,58,237,.24); background:linear-gradient(120deg, rgba(124,58,237,.1), rgba(91,108,245,.06)); position:relative; overflow:hidden; box-shadow:var(--shadow)}
.promo::after{content:""; position:absolute; top:-60px; right:-40px; width:260px; height:260px; background:radial-gradient(50% 50% at 50% 50%,rgba(124,58,237,.22),transparent 70%); filter:blur(20px)}
.promo__badge{display:inline-flex; gap:8px; align-items:center; font-family:'Outfit'; font-weight:600; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--violet-lite)}
.promo h3{font-size:1.6rem; margin:14px 0 6px}
.promo__sub{color:var(--fg-muted); margin-bottom:20px; max-width:40em}
.promo__grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; position:relative; z-index:1}
.offer{padding:18px; border-radius:14px; cursor:pointer; background:#fff; border:1px solid var(--line); transition:transform .3s var(--ease), border-color .3s; box-shadow:var(--shadow)}
.offer:hover{transform:translateY(-3px); border-color:var(--violet)}
.offer__top{display:flex; align-items:center; justify-content:space-between; margin-bottom:8px}
.offer__plan{font-family:'Outfit'; font-weight:600; color:var(--fg)}
.offer__deal{font-family:'Outfit'; font-weight:600; font-size:.72rem; background:rgba(124,58,237,.14); border:1px solid rgba(124,58,237,.3); border-radius:999px; padding:2px 9px; color:var(--violet-lite)}
.offer__deal--free{background:rgba(37,211,102,.14); border-color:rgba(37,211,102,.32); color:#12A150}
.offer p{color:var(--fg-muted); font-size:.9rem; margin-bottom:12px}
.ticket{display:flex; align-items:center; justify-content:space-between; gap:10px; border:2px dashed rgba(124,58,237,.55); border-radius:12px; padding:9px 9px 9px 14px; background:rgba(124,58,237,.06)}
.ticket code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-weight:700; font-size:15px; letter-spacing:.09em; color:var(--violet); overflow:hidden; text-overflow:ellipsis}
.ticket span{display:inline-flex; align-items:center; gap:6px; flex-shrink:0; font-family:'Outfit'; font-weight:700; font-size:12.5px; color:#fff; background:var(--violet); border-radius:8px; padding:8px 12px; transition:filter .15s, transform .1s}
.offer:hover .ticket span{transform:translateY(-1px); filter:brightness(1.08)}
.ticket--free{border-color:rgba(52,211,153,.6)}
.ticket--free code{color:#047857}
.ticket--free span{background:#059669}
.promo__note{margin-top:16px; font-size:.8rem; color:var(--fg-dim); position:relative; z-index:1}

.plans{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; align-items:start}
.plan{padding:32px; position:relative}
.plan--pro{border-color:rgba(124,58,237,.4); background:linear-gradient(180deg, rgba(124,58,237,.08), #fff); box-shadow:0 20px 60px rgba(124,58,237,.16)}
.plan__pop{position:absolute; top:-13px; right:24px; background:var(--grad); color:#fff; border-radius:999px; font-family:'Outfit'; font-weight:600; font-size:.7rem; text-transform:uppercase; padding:5px 13px; box-shadow:var(--glow)}
.plan__name{font-size:1.5rem}
.plan__price{font-family:'Outfit'; font-weight:700; font-size:2.2rem; margin:6px 0 2px; color:var(--fg); font-variant-numeric:tabular-nums}
.plan__price span{font-size:.9rem; color:var(--fg-dim); font-weight:400}
.plan__desc{color:var(--fg-muted); margin-bottom:14px}
.plan__ex{display:inline-block; margin:0 0 20px; font-size:.72rem; font-weight:600; line-height:1.45;
  color:#0E7490; background:#E0F7FA; border:1px solid #B6E6EC; padding:7px 10px; border-radius:9px}
.plan__ex i{margin-right:5px; color:#0891B2}
.plan__feat{list-style:none; display:grid; gap:12px; margin-bottom:24px}
.plan__feat li{display:flex; gap:11px; align-items:flex-start; font-size:.93rem; color:var(--fg)}
.plan__feat i{color:var(--violet); margin-top:4px}

/* ============ FAQ ============ */
.faq{max-width:820px; margin:0 auto; display:grid; gap:12px}
.acc{padding:2px 22px}
.acc summary{cursor:pointer; list-style:none; padding:18px 34px 18px 0; position:relative; font-family:'Outfit'; font-weight:600; font-size:1.04rem; color:var(--fg)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"\f107"; font-family:"Font Awesome 6 Free"; font-weight:900; color:var(--violet); position:absolute; right:0; top:50%; transform:translateY(-50%); transition:transform .3s var(--ease)}
.acc[open] summary::after{transform:translateY(-50%) rotate(180deg)}
.acc p{color:var(--fg-muted); padding:0 0 18px}

/* ============ CTA (banda violeta) ============ */
.cta{position:relative; padding:96px 0; text-align:center; overflow:hidden; background:linear-gradient(120deg,#7C3AED,#5B6CF5); color:#fff}
.cta__glow{position:absolute; inset:0; z-index:0; background:radial-gradient(60% 100% at 50% 120%,rgba(255,255,255,.18),transparent 70%)}
.cta .wrap{position:relative; z-index:1}
.cta h2{color:#fff; font-size:clamp(2.2rem,5vw,3.6rem); margin-bottom:16px}
.cta p{color:rgba(255,255,255,.9); max-width:34em; margin:0 auto 28px}
.cta .gtext{background:linear-gradient(100deg,#fff,#E7DBFF); -webkit-background-clip:text; background-clip:text; color:transparent}
.cta .chip{background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.32); color:#fff; box-shadow:none}
.cta .chip--dot::before{background:#fff; box-shadow:0 0 8px rgba(255,255,255,.7)}
.cta .btn--ghost{background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.42); color:#fff; box-shadow:none}
.cta .btn--ghost:hover{background:rgba(255,255,255,.24)}
.cta .btn--primary{background:#fff; color:var(--violet); box-shadow:0 12px 30px rgba(0,0,0,.18)}
.cta .btn--primary:hover{box-shadow:0 18px 40px rgba(0,0,0,.25)}
/* CTA embebido en el contenido de un artículo (viene como <aside class="cta"> en el HTML del post) */
.post-content .cta{padding:26px 28px; margin:34px 0; border-radius:18px; text-align:left; overflow:visible;
  background:linear-gradient(135deg, rgba(124,58,237,.09), rgba(91,108,245,.06));
  border:1px solid rgba(124,58,237,.22); box-shadow:none}
.post-content .cta h2{color:var(--fg); font-size:1.4rem; line-height:1.25; margin:0 0 10px}
.post-content .cta p{color:var(--fg-muted); max-width:none; margin:0 0 16px; font-size:.98rem}
.post-content .cta p:last-child{margin:0}
.post-content .cta .btn{display:inline-flex; background:var(--grad); color:#fff; padding:12px 22px; border-radius:12px;
  font-weight:600; box-shadow:var(--glow); text-decoration:none; transition:transform .2s var(--ease)}
.post-content .cta .btn:hover{transform:translateY(-2px)}
:root[data-theme="dark"] .post-content .cta{background:linear-gradient(135deg, rgba(124,58,237,.18), rgba(91,108,245,.1)); border-color:rgba(124,58,237,.4)}

/* ============ BLOG ============ */
.bloggrid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.bpost{padding:24px; display:block; overflow:hidden; transition:transform .35s var(--ease), border-color .3s, box-shadow .3s}
/* Miniatura de la tarjeta (imagen de portada o thumbnail generado) */
.bthumb{position:relative; margin:-24px -24px 18px; aspect-ratio:16/9; overflow:hidden; display:grid; place-items:center}
.bthumb--img img{width:100%; height:100%; object-fit:cover; display:block}
.bthumb__ic{position:relative; z-index:1; width:52px; height:52px; border-radius:14px; display:grid; place-items:center;
  color:#fff; font-size:20px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.28); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px)}
.bthumb__deco{position:absolute; right:-8px; bottom:-24px; font-size:118px; line-height:1; color:rgba(255,255,255,.16); transform:rotate(-10deg); pointer-events:none}
.bpost:hover{transform:translateY(-5px); border-color:rgba(124,58,237,.3); box-shadow:0 20px 46px rgba(46,26,110,.14)}
.bpost__meta{font-size:.72rem; color:var(--fg-dim); text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px}
.bpost h3{font-size:1.18rem; margin-bottom:8px}
.bpost p{font-size:.9rem; color:var(--fg-muted)}
.bpost__more{display:inline-block; margin-top:12px; font-weight:600; color:var(--violet); font-size:.85rem}

/* ============ FOOTER ============ */
.foot{border-top:1px solid var(--line); background:rgba(255,255,255,.5); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px)}
.foot__in{display:grid; grid-template-columns:1.4fr 2fr; gap:44px; padding:56px 0 32px}
.foot__brand p{color:var(--fg-muted); margin-top:14px; max-width:24em; font-size:.92rem}
.foot__cols{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
.foot__cols h3{font-family:'Outfit'; text-transform:uppercase; font-size:.72rem; letter-spacing:.1em; margin-bottom:14px; color:var(--violet-lite)}
.foot__cols a{display:block; color:var(--fg-muted); font-size:.9rem; padding:5px 0}
.foot__cols a:hover{color:var(--fg)}
.foot__note{border-top:1px solid var(--line); padding:22px 0}
.foot__note p{color:var(--fg-dim); font-size:.76rem; margin-bottom:8px; line-height:1.55}
.foot__bottom{border-top:1px solid var(--line); padding:18px 0; color:var(--fg-dim); font-size:.8rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px}

/* ============ MODALES ============ */
.ovl{position:fixed; inset:0; z-index:150; display:none; align-items:center; justify-content:center; padding:20px}
.ovl.open{display:flex}
.ovl__bg{position:absolute; inset:0; background:rgba(46,26,110,.28); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px)}
.ovl__box{position:relative; z-index:1; width:100%; max-width:470px; background:#fff; border:1px solid var(--line-2); border-radius:20px; padding:32px; max-height:90vh; overflow:auto; box-shadow:var(--shadow-lg)}
.ovl__box--sm{max-width:400px; text-align:center}
.ovl__close{position:absolute; top:14px; right:16px; width:36px; height:36px; border-radius:10px; border:1px solid var(--line-2); background:#fff; color:var(--fg); font-size:20px; cursor:pointer; line-height:1}
.ovl h2{font-size:1.5rem}
.ovl__sub{color:var(--fg-muted); margin:6px 0 22px}
.cf-row{margin-bottom:14px}
.cf-row label{display:block; font-weight:500; font-size:.86rem; margin-bottom:7px; color:var(--fg-muted)}
.cf-row input,.cf-row textarea{width:100%; border:1px solid var(--line-2); background:#FAF9FF; color:var(--fg); padding:12px 13px; font:inherit; border-radius:10px}
.cf-row input:focus,.cf-row textarea:focus{outline:2px solid var(--violet); border-color:transparent}
.cf-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.cf-hp{position:absolute; left:-9999px}
.cf-status{margin-top:12px; font-size:.9rem; font-weight:600}
.cmodal-ic{width:60px; height:60px; margin:0 auto 14px; border-radius:16px; background:var(--grad); color:#fff; display:grid; place-items:center; font-size:26px; box-shadow:var(--glow)}
.cmodal-code{border:1px dashed rgba(124,58,237,.5); background:rgba(124,58,237,.08); border-radius:12px; font-family:'Outfit'; font-weight:700; font-size:1.4rem; letter-spacing:1px; color:var(--violet); padding:14px; margin:16px 0}
.cmodal-actions{display:grid; gap:10px}

/* ============ WhatsApp ============ */
.wa{position:fixed; bottom:22px; right:22px; z-index:120; width:56px; height:56px; border-radius:50%; background:var(--wa); color:#fff; display:grid; place-items:center; font-size:25px; box-shadow:0 12px 30px rgba(37,211,102,.4); transition:transform .3s var(--ease)}
.wa:hover{transform:translateY(-3px) scale(1.05)}

/* ============ RESPONSIVE ============ */
@media(max-width:960px){
  .showcase__body{grid-template-columns:1fr}
  .showcase__side{border-left:0; border-top:1px solid var(--line); flex-direction:row; flex-wrap:wrap}
  .showcase__side .mini{flex:1; min-width:180px}
  .pay2{grid-template-columns:1fr; gap:30px}
  .fgrid{grid-template-columns:repeat(2,1fr)}
  .bloggrid{grid-template-columns:1fr}
  .foot__in{grid-template-columns:1fr; gap:28px}
}
@media(max-width:680px){
  .wrap{padding:0 20px}
  .nav__links{display:none}
  .nav__links.open{display:flex; position:absolute; top:66px; left:16px; right:16px; flex-direction:column; gap:14px; background:#fff; border:1px solid var(--line-2); border-radius:16px; padding:20px; box-shadow:var(--shadow-lg)}
  .burger{display:flex}
  .nav__cta .hide-sm{display:none}
  .steps{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
  .promo__grid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .foot__cols{grid-template-columns:1fr 1fr}
  .sec{padding:40px 0 60px}
  /* Tablas de comparación: caben completas en móvil, sin scroll horizontal */
  .tablewrap{padding:0}
  .tscroll{overflow-x:visible}
  table.cmp{min-width:0; table-layout:fixed}
  table.cmp th, table.cmp td{padding:9px 3px}
  .cmp .rowh{font-size:.76rem; line-height:1.25; word-break:break-word}
  .cmp thead .rowh{font-size:.8rem}
  .cmp__logo{height:22px; font-size:17px}
  .cmp__logo img{width:22px; height:22px}
  .cmp__nm{font-size:.6rem; margin-top:2px}
  .cmp__val{font-size:.72rem}
  .cmp__plan{font-size:.92rem}
  .cmp__price{font-size:.82rem}
  .cmp__price small{font-size:.6rem}
  .cmp .grouprow th{font-size:.6rem}
  .mk{width:21px; height:21px; font-size:9.5px}
  .poptag{font-size:.5rem; padding:2px 6px; margin-bottom:4px}
}

/* ============================================================
   TEMA OSCURO  (v5) — se activa con <html data-theme="dark">
   Claro (v6) es el predeterminado (:root de arriba).
   ============================================================ */
:root[data-theme="dark"]{
  --violet-lite:#A78BFA;
  --bg-deep:#060510; --bg:#0A0814; --bg-elev:#100C1E;
  --fg:#ECEAF4; --fg-muted:#9A93B0; --fg-dim:#8B84A0;
  --surface:rgba(255,255,255,.035); --surface-2:rgba(255,255,255,.06);
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.14);
  --glow:0 0 40px rgba(124,58,237,.45);
  --shadow:0 10px 30px rgba(0,0,0,.4); --shadow-lg:0 40px 100px rgba(0,0,0,.6);
}
:root[data-theme="dark"] h1,:root[data-theme="dark"] h2,:root[data-theme="dark"] h3,:root[data-theme="dark"] h4,:root[data-theme="dark"] strong{color:#fff}
:root[data-theme="dark"] .bg{background:
  radial-gradient(60% 50% at 50% -8%, rgba(124,58,237,.22), transparent 60%),
  linear-gradient(180deg,#0A0814 0%,#060510 55%,#070512 100%)}
:root[data-theme="dark"] .bg-grid{opacity:.5; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px)}
:root[data-theme="dark"] .blob{opacity:.5}
:root[data-theme="dark"] body::after{opacity:.08}
:root[data-theme="dark"] .chip{background:var(--surface); box-shadow:none}
:root[data-theme="dark"] .chip--dot::before{background:var(--violet-lite); box-shadow:0 0 8px var(--violet-lite)}
:root[data-theme="dark"] .btn--primary:hover{box-shadow:0 0 55px rgba(124,58,237,.62)}
:root[data-theme="dark"] .btn--ghost{background:var(--surface); border-color:var(--line-2); box-shadow:none}
:root[data-theme="dark"] .btn--ghost:hover{background:var(--surface-2)}
:root[data-theme="dark"] .gtext{background:linear-gradient(100deg,#C4B5FD,#8B5CF6 45%,#6D8BFF); -webkit-background-clip:text; background-clip:text; color:transparent}
:root[data-theme="dark"] .card{box-shadow:none}
:root[data-theme="dark"] .card::before{content:""; display:block; position:absolute; inset:0 0 auto 0; height:1px; border-radius:var(--r) var(--r) 0 0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent); opacity:.7}
:root[data-theme="dark"] .nav{background:rgba(6,5,16,.72)}
:root[data-theme="dark"] .nav__links a:hover{color:#fff}
:root[data-theme="dark"] .burger{background:var(--surface)} :root[data-theme="dark"] .burger span{background:#fff}
:root[data-theme="dark"] .nav__links.open{background:var(--bg-elev)}
:root[data-theme="dark"] .hero__glow{background:radial-gradient(50% 50% at 50% 50%,rgba(124,58,237,.35),transparent 70%)}
:root[data-theme="dark"] .hero__ai{background:var(--surface); box-shadow:none} :root[data-theme="dark"] .hero__ai i{color:var(--violet-lite)}
:root[data-theme="dark"] .hero__note{background:var(--surface); box-shadow:none} :root[data-theme="dark"] .hero__note i{color:var(--violet-lite)}
:root[data-theme="dark"] .hero__bullets i{color:var(--violet-lite)}
:root[data-theme="dark"] .showcase__frame{background:var(--bg-elev); box-shadow:0 40px 120px rgba(0,0,0,.6),0 0 80px rgba(124,58,237,.25)}
:root[data-theme="dark"] .showcase__bar{background:rgba(255,255,255,.02)} :root[data-theme="dark"] .showcase__bar .d{background:var(--line-2)}
:root[data-theme="dark"] .showcase__media{background:#0d0a16} :root[data-theme="dark"] .showcase__media video{opacity:.96}
:root[data-theme="dark"] .mini{background:var(--surface)} :root[data-theme="dark"] .mini__t{color:#fff}
:root[data-theme="dark"] .mini--pay .ic,:root[data-theme="dark"] .mini--wa .ic{color:#4ade80}
:root[data-theme="dark"] .mini--stat{background:var(--grad); border-color:transparent}
:root[data-theme="dark"] .grp__n{background:var(--surface)}
:root[data-theme="dark"] .fcard:hover{border-color:var(--line-2); background:var(--surface-2); box-shadow:none}
:root[data-theme="dark"] .fcard__ic{background:rgba(124,58,237,.16); border-color:rgba(124,58,237,.28); color:var(--violet-lite)}
:root[data-theme="dark"] .fcard__more{color:var(--violet-lite)}
:root[data-theme="dark"] .pay__ic--wa{background:rgba(37,211,102,.9)}
:root[data-theme="dark"] .checkout:hover{box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 50px rgba(124,58,237,.2)}
:root[data-theme="dark"] .co-opt{background:rgba(124,58,237,.14); border-color:rgba(124,58,237,.28)}
:root[data-theme="dark"] .co-field{background:var(--surface)}
:root[data-theme="dark"] .co-div span{background:var(--bg-elev)}
:root[data-theme="dark"] .step__n span{background:linear-gradient(120deg,#C4B5FD,#7C3AED); -webkit-background-clip:text; background-clip:text; color:transparent}
:root[data-theme="dark"] .cmp thead .rowh,:root[data-theme="dark"] .cmp__logo,:root[data-theme="dark"] .cmp__val,:root[data-theme="dark"] .cmp__plan{color:#fff}
:root[data-theme="dark"] .cmp__logo .fa-wordpress{color:#7aa7c7}
:root[data-theme="dark"] .cmp .tienlycol,:root[data-theme="dark"] .cmp .tienlycell{background:rgba(124,58,237,.12)}
:root[data-theme="dark"] .cmp .tienlycol .cmp__nm{color:var(--violet-lite)}
:root[data-theme="dark"] .mk--y{background:rgba(124,58,237,.25); color:var(--violet-lite)}
:root[data-theme="dark"] .mk--n{background:rgba(255,255,255,.06); color:var(--fg-dim)}
:root[data-theme="dark"] .cmp .grouprow th{background:rgba(255,255,255,.03)}
:root[data-theme="dark"] .plan__ex{background:rgba(6,182,212,.14); border-color:rgba(6,182,212,.35); color:#67E8F9}
:root[data-theme="dark"] .plan__ex i{color:#22D3EE}
:root[data-theme="dark"] .promo{border-color:rgba(124,58,237,.4); background:linear-gradient(120deg, rgba(124,58,237,.16), rgba(91,108,245,.1))}
:root[data-theme="dark"] .promo::after{background:radial-gradient(50% 50% at 50% 50%,rgba(124,58,237,.4),transparent 70%)}
:root[data-theme="dark"] .offer{background:var(--surface); box-shadow:none} :root[data-theme="dark"] .offer__plan{color:#fff}
:root[data-theme="dark"] .offer__deal{background:rgba(124,58,237,.25); border-color:rgba(124,58,237,.4)}
:root[data-theme="dark"] .offer__deal--free{background:rgba(37,211,102,.18); border-color:rgba(37,211,102,.35); color:#4ade80}
:root[data-theme="dark"] .ticket{background:rgba(124,58,237,.08)} :root[data-theme="dark"] .ticket code{color:#fff}
:root[data-theme="dark"] .plan--pro{border-color:rgba(124,58,237,.5); background:linear-gradient(180deg, rgba(124,58,237,.12), var(--surface)); box-shadow:0 0 60px rgba(124,58,237,.2)}
:root[data-theme="dark"] .plan__price{color:#fff} :root[data-theme="dark"] .plan__feat i{color:var(--violet-lite)}
:root[data-theme="dark"] .acc summary{color:#fff} :root[data-theme="dark"] .acc summary::after{color:var(--violet-lite)}
/* CTA: en oscuro es transparente con glow (en claro es banda violeta) */
:root[data-theme="dark"] .cta{background:transparent; color:var(--fg)}
:root[data-theme="dark"] .cta__glow{background:radial-gradient(60% 100% at 50% 120%,rgba(124,58,237,.4),transparent 70%)}
:root[data-theme="dark"] .cta h2{color:#fff} :root[data-theme="dark"] .cta p{color:var(--fg-muted)}
:root[data-theme="dark"] .cta .gtext{background:linear-gradient(100deg,#C4B5FD,#8B5CF6 45%,#6D8BFF); -webkit-background-clip:text; background-clip:text; color:transparent}
:root[data-theme="dark"] .cta .chip{background:var(--surface); border-color:var(--line); color:var(--violet-lite)}
:root[data-theme="dark"] .cta .chip--dot::before{background:var(--violet-lite)}
:root[data-theme="dark"] .cta .btn--ghost{background:var(--surface); border-color:var(--line-2); color:var(--fg)}
:root[data-theme="dark"] .cta .btn--ghost:hover{background:var(--surface-2)}
:root[data-theme="dark"] .cta .btn--primary{background:var(--grad); color:#fff; box-shadow:var(--glow)}
:root[data-theme="dark"] .bpost:hover{border-color:var(--line-2); background:var(--surface-2); box-shadow:none} :root[data-theme="dark"] .bpost__more{color:var(--violet-lite)}
:root[data-theme="dark"] .foot{background:rgba(255,255,255,.015)} :root[data-theme="dark"] .foot__cols a:hover{color:#fff}
:root[data-theme="dark"] .ovl__bg{background:rgba(3,2,10,.7)}
:root[data-theme="dark"] .ovl__box{background:var(--bg-elev); box-shadow:0 40px 100px rgba(0,0,0,.7),0 0 60px rgba(124,58,237,.18)}
:root[data-theme="dark"] .ovl__close{background:var(--surface); color:#fff}
:root[data-theme="dark"] .cf-row input,:root[data-theme="dark"] .cf-row textarea{background:var(--surface); color:#fff}
:root[data-theme="dark"] .cmodal-code{background:rgba(124,58,237,.1); color:#fff}
:root[data-theme="dark"] .wa{color:#04240f}

/* ============ Pestaña flotante de tema (derecha) ============ */
.themetab{position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:130;
  display:flex; align-items:center; justify-content:center;
  width:44px; height:56px; border:1px solid var(--line-2); border-right:0;
  border-radius:14px 0 0 14px; background:var(--bg-elev); color:var(--fg);
  cursor:pointer; box-shadow:var(--shadow-lg); transition:transform .3s var(--ease), background .3s, width .2s}
.themetab:hover{width:50px; color:var(--violet)}
:root[data-theme="dark"] .themetab{background:#14101f; color:#fff}
:root[data-theme="dark"] .themetab:hover{color:var(--violet-lite)}
.themetab__ic{font-size:18px; line-height:1}
.themetab__sun{display:none} .themetab__moon{display:inline-flex}
:root[data-theme="dark"] .themetab__sun{display:inline-flex; color:#FBBF24} :root[data-theme="dark"] .themetab__moon{display:none}
.themetab__moon{color:var(--indigo)}

/* ============ Botón colapsable (comparativas) ============ */
.collapse-toggle{display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%;
  padding:16px 22px; margin-top:6px; border-radius:14px; cursor:pointer; text-align:left;
  font-family:'Outfit',sans-serif; font-weight:600; font-size:1.02rem; color:var(--fg);
  background:var(--surface); border:1px solid var(--line-2)}
.collapse-toggle:hover{border-color:var(--violet)}
.collapse-toggle .lft{display:inline-flex; align-items:center; gap:11px}
.collapse-toggle .lft i{color:var(--violet)}
:root[data-theme="dark"] .collapse-toggle .lft i{color:var(--violet-lite)}
.collapse-toggle .chev{color:var(--violet); transition:transform .3s var(--ease)}
:root[data-theme="dark"] .collapse-toggle .chev{color:var(--violet-lite)}
.collapse-toggle[aria-expanded="true"] .chev{transform:rotate(180deg)}
.collapse-panel{display:none; margin-top:16px} .collapse-panel.open{display:block}

/* ============ MODAL DEMO (iframe + pestañas) ============ */
.demo-ovl{position:fixed; inset:0; z-index:160; display:none; align-items:center; justify-content:center}
.demo-ovl.open{display:flex}
.demo-ovl__bg{position:absolute; inset:0; background:rgba(10,8,20,.62); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px)}
.demo-box{position:relative; z-index:1; width:80vw; height:100vh; height:100dvh; display:flex; flex-direction:column;
  background:var(--bg-elev); border:1px solid var(--line-2); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-lg)}
.demo-bar{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--line); background:var(--surface)}
.demo-tabs{display:flex; gap:8px}
.demo-tab{display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border-radius:10px; cursor:pointer;
  font-family:'Outfit'; font-weight:600; font-size:.85rem; color:var(--fg-muted); background:transparent; border:1px solid transparent}
.demo-tab.is-active{color:#fff; background:var(--grad)}
.demo-close{width:38px; height:38px; border-radius:10px; border:1px solid var(--line-2); background:var(--surface); color:var(--fg); font-size:20px; cursor:pointer; line-height:1}
.demo-body{position:relative; flex:1; min-height:0; background:var(--bg)}
.demo-loader{position:absolute; inset:0; display:flex; flex-direction:column; gap:14px; align-items:center; justify-content:center; color:var(--fg-muted); z-index:2}
.demo-spin{width:38px; height:38px; border-radius:50%; border:3px solid var(--line-2); border-top-color:var(--violet); animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.demo-frame{width:100%; height:100%; border:0; display:block; background:#fff}
.demo-admin{width:100%; height:100%; overflow:auto; background:#0d0a16}
.demo-admin img{width:100%; height:auto; display:block}
/* El panel oculto debe desaparecer (display:block sobreescribía el atributo [hidden]) */
.demo-frame[hidden], .demo-admin[hidden]{display:none}
@media(max-width:768px){
  .demo-box{width:100vw; height:100vh; height:100dvh; border-radius:0}
  .demo-tab{font-size:13px; padding:8px 12px}
}

/* ============ PÁGINAS: legal / hub / blog / post ============ */
.subnav{position:sticky; top:0; z-index:80; background:rgba(250,247,255,.8); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
:root[data-theme="dark"] .subnav{background:rgba(6,5,16,.72)}
.subnav__in{display:flex; align-items:center; justify-content:space-between; height:64px}
.page{padding:56px 0 80px; position:relative}
.page__eyebrow{font-family:'Outfit'; text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; color:var(--violet-lite); font-weight:700}
.page h1{font-size:clamp(2rem,4.5vw,3rem); margin:14px 0 8px}
.page .updated{color:var(--fg-dim); font-size:.85rem; margin-bottom:8px}
/*.article{max-width:820px}*/
.article .lead{font-size:1.12rem; color:var(--fg-muted); margin-bottom:8px}
.article h2{font-size:1.5rem; margin:34px 0 12px}
.article h3{font-size:1.18rem; margin:24px 0 8px}
.article p{color:var(--fg-muted); margin-bottom:14px; line-height:1.75}
.article ul,.article ol{color:var(--fg-muted); margin:0 0 16px; padding-left:22px}
.article li{margin-bottom:8px}
.article a{color:var(--violet); text-decoration:underline} :root[data-theme="dark"] .article a{color:var(--violet-lite)}
.article strong{color:var(--fg)}
.article img{border-radius:14px; margin:14px 0}
.article blockquote{border-left:3px solid var(--violet); padding-left:16px; color:var(--fg-muted); font-style:italic; margin:16px 0}
.article table{border-collapse:collapse; width:100%; margin:16px 0}
.article th,.article td{border:1px solid var(--line-2); padding:10px 12px}
.backbar{margin-top:36px; display:flex; gap:12px; flex-wrap:wrap}
/* Hub de funcionalidades */
.hub__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.hub__card{padding:24px; display:block; transition:transform .35s var(--ease), border-color .3s, background .3s}
.hub__card:hover{transform:translateY(-5px); border-color:rgba(124,58,237,.3)}
:root[data-theme="dark"] .hub__card:hover{border-color:var(--line-2); background:var(--surface-2)}
.hub__ic{width:46px; height:46px; border-radius:13px; background:rgba(124,58,237,.1); border:1px solid rgba(124,58,237,.2); color:var(--violet); display:grid; place-items:center; font-size:20px; margin-bottom:14px}
:root[data-theme="dark"] .hub__ic{background:rgba(124,58,237,.16); border-color:rgba(124,58,237,.28); color:var(--violet-lite)}
.hub__card h3{font-size:1.08rem; margin-bottom:6px}
.hub__card p{color:var(--fg-muted); font-size:.92rem; margin-bottom:12px}
.hub__more{font-weight:600; color:var(--violet); font-size:.82rem} :root[data-theme="dark"] .hub__more{color:var(--violet-lite)}
/* Detalle de funcionalidad */
.fp-hero{text-align:center; padding:60px 0 10px}
.fp-tile{width:96px; height:96px; margin:0 auto 22px; border-radius:24px; background:var(--grad); display:grid; place-items:center; color:#fff; font-size:40px; box-shadow:var(--glow)}
.fbenefits,.fp-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.fbenefit,.fp-step{padding:24px}
.fbenefit__ic{width:44px; height:44px; border-radius:12px; background:rgba(124,58,237,.1); color:var(--violet); display:grid; place-items:center; font-size:18px; margin-bottom:12px}
:root[data-theme="dark"] .fbenefit__ic{background:rgba(124,58,237,.16); color:var(--violet-lite)}
.fbenefit h3,.fp-step h3{font-size:1.05rem; margin-bottom:7px}
.fbenefit p,.fp-step p{color:var(--fg-muted); font-size:.92rem}
.fp-step .n{font-family:'Outfit'; font-weight:800; font-size:1.8rem; background:linear-gradient(120deg,#7C3AED,#5B6CF5); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:8px}
.fp-related{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px}
.fp-rel{display:flex; align-items:center; gap:13px; padding:16px; color:inherit}
.fp-rel .ic{width:40px; height:40px; border-radius:11px; background:rgba(124,58,237,.1); color:var(--violet); display:grid; place-items:center; flex-shrink:0}
:root[data-theme="dark"] .fp-rel .ic{background:rgba(124,58,237,.16); color:var(--violet-lite)}
@media(max-width:860px){ .hub__grid{grid-template-columns:1fr} .fbenefits,.fp-steps{grid-template-columns:1fr} }

/* ============ Alias para contenido legal reutilizado del root ============ */
.container{width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px}
.legal{padding:44px 0 80px}
.legal__inner{max-width:840px; margin:0 auto}
.legal__eyebrow{font-family:'Outfit'; text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; color:var(--violet-lite); font-weight:700; margin-bottom:6px}
.legal__inner h1{font-size:clamp(2rem,4.5vw,3rem); margin:8px 0 12px}
.legal__intro{font-size:1.12rem; color:var(--fg-muted); margin-bottom:8px}
.legal__updated{color:var(--fg-dim); font-size:.85rem; margin-bottom:16px}
.legal__inner h2{font-size:1.5rem; margin:32px 0 12px}
.legal__inner h3{font-size:1.18rem; margin:22px 0 8px}
.legal__inner p{color:var(--fg-muted); margin-bottom:14px; line-height:1.75}
.legal__inner ul,.legal__inner ol{color:var(--fg-muted); margin:0 0 16px; padding-left:22px}
.legal__inner li{margin-bottom:8px}
.legal__inner a{color:var(--violet); text-decoration:underline}
:root[data-theme="dark"] .legal__inner a{color:var(--violet-lite)}
/* Los botones dentro del contenido legal no deben heredar el estilo de enlace */
.legal__inner a.btn{text-decoration:none}
.legal__inner a.btn--primary{color:#fff}
:root[data-theme="dark"] .legal__inner a.btn--primary{color:#fff}
.legal__inner a.btn--ghost{color:var(--fg)}
.legal__inner strong{color:var(--fg)}
.legal__inner table{border-collapse:collapse; width:100%; margin:16px 0}
.legal__inner th,.legal__inner td{border:1px solid var(--line-2); padding:10px 12px}
.legal__back{margin-top:34px; display:flex; gap:12px; flex-wrap:wrap}

/* ============ Tooltip (burbuja hover) ============ */
.has-tip{position:relative}
.has-tip::after{content:attr(data-tip); position:absolute; top:calc(100% + 10px); left:50%;
  transform:translateX(-50%) translateY(4px); background:#241d3d; color:#fff; font-family:'DM Sans';
  font-size:12px; font-weight:600; letter-spacing:.01em; padding:7px 11px; border-radius:9px; white-space:nowrap;
  border:1px solid rgba(255,255,255,.14); box-shadow:var(--shadow-lg);
  opacity:0; pointer-events:none; z-index:90; transition:opacity .16s var(--ease), transform .16s var(--ease)}
.has-tip::before{content:""; position:absolute; top:calc(100% + 4px); left:50%; transform:translateX(-50%);
  border:6px solid transparent; border-bottom-color:#241d3d; opacity:0; pointer-events:none; z-index:90; transition:opacity .16s}
.has-tip:hover::after,.has-tip:focus-visible::after{opacity:1; transform:translateX(-50%) translateY(0)}
.has-tip:hover::before,.has-tip:focus-visible::before{opacity:1}

/* ============ Botón de login (icono, desktop) ============ */
.nav__login{position:relative; width:40px; height:40px; flex-shrink:0; border-radius:11px;
  display:inline-grid; place-items:center; font-size:15px; color:var(--fg);
  background:var(--surface); border:1px solid var(--line-2);
  transition:transform .2s var(--ease), border-color .2s, color .2s, background .2s}
.nav__login:hover{border-color:var(--violet); color:var(--violet); transform:translateY(-1px); background:rgba(124,58,237,.08)}
:root[data-theme="dark"] .nav__login:hover{color:var(--violet-lite); background:rgba(124,58,237,.14)}
/* Link de login dentro del menú móvil (primer ítem) */
.nav__login-m{display:none; align-items:center; gap:10px; font-weight:600; color:var(--fg) !important}
.nav__login-m i{color:var(--violet)}
:root[data-theme="dark"] .nav__login-m i{color:var(--violet-lite)}
@media(max-width:680px){
  .nav__login-m{display:flex; padding-bottom:12px; margin-bottom:2px; border-bottom:1px solid var(--line)}
}

/* Tooltip del login: anclado a la derecha para no salirse del borde */
.nav__login.has-tip::after{left:auto; right:0; transform:translateX(0) translateY(4px)}
.nav__login.has-tip:hover::after,.nav__login.has-tip:focus-visible::after{transform:translateX(0) translateY(0)}
.nav__login.has-tip::before{left:auto; right:14px; transform:translateX(0)}

/* ============ WhatsApp flotante: glow + burbuja ============ */
.wa-float{position:fixed; bottom:22px; right:22px; z-index:120; display:flex; flex-direction:column; align-items:flex-end; gap:14px}
.wa-float__btn{position:relative; width:58px; height:58px; border-radius:50%; border:0; background:var(--wa); color:#fff;
  display:grid; place-items:center; font-size:27px; cursor:pointer; box-shadow:0 12px 30px rgba(37,211,102,.45); transition:transform .2s var(--ease)}
.wa-float__btn:hover{transform:scale(1.06)}
.wa-float__btn::after{content:""; position:absolute; inset:0; border-radius:50%; background:var(--wa); z-index:-1; animation:waGlow 2.2s ease-out infinite}
@keyframes waGlow{0%{transform:scale(1); opacity:.55} 70%{transform:scale(1.8); opacity:0} 100%{transform:scale(1.8); opacity:0}}
@media(prefers-reduced-motion:reduce){.wa-float__btn::after{animation:none}}
.wa-bubble{width:274px; background:var(--bg-elev); border:1px solid var(--line-2); border-radius:18px; box-shadow:var(--shadow-lg);
  padding:16px; position:relative; animation:waPop .24s var(--ease)}
:root[data-theme="dark"] .wa-bubble{box-shadow:0 30px 70px rgba(0,0,0,.6)}
@keyframes waPop{from{opacity:0; transform:translateY(10px) scale(.98)} to{opacity:1; transform:none}}
.wa-bubble[hidden]{display:none}
.wa-bubble__close{position:absolute; top:8px; right:11px; background:none; border:0; color:var(--fg-dim); font-size:18px; cursor:pointer; line-height:1}
.wa-bubble__close:hover{color:var(--fg)}
.wa-bubble__head{display:flex; align-items:center; gap:11px; margin-bottom:11px}
.wa-bubble__avatar{width:42px; height:42px; border-radius:50%; background:var(--wa); color:#fff; display:grid; place-items:center; font-size:21px; flex-shrink:0}
.wa-bubble__head strong{display:block; font-family:'Outfit'; font-size:.98rem; color:var(--fg)}
.wa-bubble__head small{color:var(--fg-dim); font-size:.76rem}
.wa-bubble__msg{background:rgba(124,58,237,.06); border:1px solid var(--line); border-radius:12px; padding:11px 13px; font-size:.9rem; color:var(--fg-muted); margin-bottom:12px}
:root[data-theme="dark"] .wa-bubble__msg{background:var(--surface)}
.wa-bubble__cta{display:block; text-align:center; background:var(--wa); color:#04240f; font-family:'Outfit'; font-weight:600; padding:11px; border-radius:12px; transition:filter .2s}
.wa-bubble__cta:hover{filter:brightness(1.05)}

/* ============ Login verde con ícono de persona (como el diseño original) ============ */
.nav__login{background:linear-gradient(135deg,#A7F3D0,#6EE7B7); color:#065F46; border-color:transparent}
.nav__login:hover{background:linear-gradient(135deg,#6EE7B7,#34D399); color:#064E3B; transform:translateY(-1px)}
.nav__login i{font-size:18px}
.nav__login-m i{color:#12A150}

/* ============ Nav móvil: logo más grande, botones más pequeños ============ */
.lbl-short{display:none}
@media(max-width:680px){
  .lbl-full{display:none} .lbl-short{display:inline}
  .nav__in > a img, .subnav__in > a img{height:38px}
  .nav__cta .btn--sm{padding:8px 12px; font-size:12.5px}
  .nav__cta{gap:8px}
  .burger{width:42px; height:42px}
}

/* ===== Utilidades de accesibilidad ===== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Etiqueta de moneda en precios */
.plan__cur{font-family:'Outfit';font-size:.62em;font-weight:600;color:var(--fg-dim);vertical-align:middle;letter-spacing:.02em}

/* ===== Captura de pantalla en páginas de funcionalidad ===== */
.fp-shot{max-width:920px;margin:0 auto;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:0 18px 50px -22px rgba(0,0,0,.55)}
.fp-shot img{display:block;width:100%;height:auto}

/* ===== Banner de consentimiento de cookies ===== */
.cookiebar{position:fixed; left:16px; right:auto; bottom:16px; z-index:140; max-width:460px;
  background:var(--bg-elev); border:1px solid var(--line); border-radius:16px;
  box-shadow:0 22px 60px -20px rgba(0,0,0,.45);
  opacity:0; transform:translateY(14px); transition:opacity .25s ease, transform .25s ease}
.cookiebar--in{opacity:1; transform:translateY(0)}
.cookiebar__in{padding:16px 18px}
.cookiebar__txt{margin:0 0 12px; font-size:.86rem; line-height:1.5; color:var(--fg-muted)}
.cookiebar__txt a{color:var(--violet-lite); text-decoration:underline; font-weight:600}
.cookiebar__btns{display:flex; gap:10px; justify-content:flex-end}
@media (max-width:560px){
  .cookiebar{left:12px; right:12px; bottom:12px; max-width:none}
  .cookiebar__btns .btn{flex:1}
}
