:root{
  --ink:#1b1818;
  --ink-soft:#6b6560;
  --lime:#ceea01;
  --lime-deep:#a8c000;
  --violet:#8c52ff;
  --violet-deep:#6f34e0;
  --white:#ffffff;
  --surface:#f7f6f2;
  --line:#e7e4dc;
  --radius:18px;
  --shadow: 0 20px 40px -24px rgba(27,24,24,0.25);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'DM Sans',sans-serif;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Poppins',sans-serif;
  margin:0;
  letter-spacing:-0.01em;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Poppins',sans-serif;
  font-size:12.5px;font-weight:600;
  letter-spacing:0.08em;text-transform:uppercase;
  color:var(--violet-deep);
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lime);border:2px solid var(--violet);}

/* ---------- BREADCRUMB (sobre fondo violeta, letras blancas) ---------- */
.cea-crumbs{
  background:var(--violet);
  margin:0; padding:14px 24px;
  font-size:13px; color:rgba(255,255,255,.7);
}
.cea-crumbs a{text-decoration:none;color:rgba(255,255,255,.7);}
.cea-crumbs a:hover{color:var(--lime);}
.cea-crumbs .cea-crumbs-current{color:#fff;font-weight:600;}

/* ---------- HERO ---------- */
.hero{padding:28px 0 56px;}
.hero-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
}
.hero-media{position:relative;}
.hero-media .frame{
  border-radius:24px;overflow:hidden;background:var(--surface);
  aspect-ratio:4/3.1; position:relative; box-shadow:var(--shadow);
}
.hero-media .frame img{width:100%;height:100%;object-fit:cover;}
.seal{
  position:absolute; top:-18px; right:-18px;
  width:118px;height:118px;border-radius:50%;
  background:var(--lime);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 24px -8px rgba(206,234,1,0.55);
  animation:spin 22s linear infinite;
}
.seal-inner{
  width:96px;height:96px;border-radius:50%;
  border:2px dashed rgba(27,24,24,0.35);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center; animation:spin-rev 22s linear infinite;
}
.seal-inner .pts{font-family:'Poppins',sans-serif;font-weight:800;font-size:22px;line-height:1;color:var(--ink);}
.seal-inner .pts-label{font-size:8.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);margin-top:2px;}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes spin-rev{from{transform:rotate(0)}to{transform:rotate(-360deg)}}

.badge-offer{
  position:absolute; bottom:16px; left:16px;
  background:var(--ink); color:var(--lime);
  font-family:'Poppins',sans-serif; font-weight:700; font-size:12px;
  padding:7px 14px; border-radius:100px; letter-spacing:0.02em;
}

.hero-info h1{font-size:40px;font-weight:700;line-height:1.08;margin:14px 0 12px;}
.hero-sub{font-size:16px;color:var(--ink-soft);line-height:1.55;margin-bottom:22px;max-width:46ch;}

.price-box{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:20px 22px; margin-bottom:20px;
}
.price-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.price-old{font-size:15px;color:var(--ink-soft);text-decoration:line-through;}
.price-new{font-family:'Poppins',sans-serif;font-weight:800;font-size:32px;color:var(--ink);}
.price-save{
  background:var(--lime); color:var(--ink); font-size:11.5px; font-weight:700;
  padding:3px 9px;border-radius:100px;
}
.price-installments{
  display:flex;align-items:center;gap:8px;margin-top:10px;
  font-size:13.5px;color:var(--violet-deep);font-weight:600;
}
.price-installments svg{flex-shrink:0;}

.cta-row{display:flex;gap:12px;flex-wrap:wrap;}
.btn{
  font-family:'DM Sans',sans-serif; font-weight:700; font-size:15px;
  border-radius:100px; padding:15px 26px; border:none; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px; transition:transform .15s, box-shadow .15s;
  text-decoration:none;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--violet); color:#fff; box-shadow:0 14px 24px -12px rgba(140,82,255,0.55);}
.btn-primary:hover{background:var(--violet-deep);}
.btn-secondary{background:var(--lime);color:var(--ink);border:1.5px solid var(--lime);}
.btn-secondary:hover{background:var(--lime-deep);border-color:var(--lime-deep);color:var(--ink);}

.trust-line{
  display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;
  font-size:12.5px;color:var(--ink-soft);font-weight:500;
}
.trust-line span{display:flex;align-items:center;gap:6px;}
.trust-line svg{flex-shrink:0;}

/* ---------- TRUST BAR ---------- */
.trustbar{background:var(--violet);padding:18px 0;}
.trustbar-inner{
  display:flex;flex-direction:column;gap:10px;
  color:#fff; max-width:1120px; margin:0 auto; padding:0 24px;
}
.trustbar-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#fff;}
.trustbar-item b{font-family:'Poppins',sans-serif;color:var(--lime);font-weight:700;min-width:104px;display:inline-block;}

/* ---------- SECTIONS ---------- */
section{padding:72px 0;}
.section-head{max-width:600px;margin-bottom:40px;}
.section-head h2{font-size:28px;font-weight:700;margin-top:10px;}
.section-head p{color:var(--ink-soft);font-size:15px;margin-top:10px;line-height:1.6;}

/* logros cards */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.card{
  background:var(--surface);border-radius:var(--radius);padding:26px;
  border:1px solid var(--line);
}
.card .ic{
  width:46px;height:46px;border-radius:12px;background:var(--white);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
  border:1px solid var(--line);
}
.card h3{font-size:16.5px;font-weight:600;margin-bottom:8px;}
.card p{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin:0;}

/* temario accordion */
.accordion{border-top:1px solid var(--line);}
.acc-item{border-bottom:1px solid var(--line);}
.acc-head{
  width:100%;background:none;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 4px;font-family:'Poppins',sans-serif;font-size:15.5px;font-weight:600;
  text-align:left;color:var(--ink);
}
.acc-head .num{color:var(--violet);margin-right:12px;font-weight:700;}
.acc-icon{
  width:26px;height:26px;border-radius:50%;border:1.5px solid var(--ink);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:transform .25s ease, background .2s;
}
.acc-item.open .acc-icon{background:var(--lime);border-color:var(--lime);transform:rotate(45deg);}
.acc-body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-item.open .acc-body{max-height:240px;}
.acc-body-inner{padding:0 4px 22px 42px;font-size:13.5px;color:var(--ink-soft);line-height:1.6;}

/* testimonios */
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.test-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px; position:relative;
}
.test-quote{font-size:14px;line-height:1.65;color:var(--ink);margin-bottom:18px;}
.test-person{display:flex;align-items:center;gap:10px;}
.test-avatar{
  width:38px;height:38px;border-radius:50%;background:var(--violet);
  display:flex;align-items:center;justify-content:center;color:#fff;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:13px;
  object-fit:cover;flex-shrink:0;
}
.test-name{font-size:13px;font-weight:700;}
.test-role{font-size:11.5px;color:var(--ink-soft);}
.test-stars{color:var(--lime-deep);font-size:12px;letter-spacing:2px;
  position:static; margin-bottom:12px;}

/* puntaje strip */
.puntaje-strip{
  background:linear-gradient(120deg, var(--violet) 0%, var(--violet-deep) 100%);
  border-radius:24px; padding:36px 40px; color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.puntaje-strip .pt-num{font-family:'Poppins',sans-serif;font-weight:800;font-size:44px;line-height:1;}
.puntaje-strip .pt-label{font-size:12.5px;text-transform:uppercase;letter-spacing:0.06em;opacity:1;margin-top:4px;color:#fff;}
.puntaje-strip .pt-text{max-width:520px;font-size:14px;line-height:1.6;opacity:1;color:#fff;}
.puntaje-strip .pt-warn{
  font-size:12px;background:rgba(255,255,255,0.14);padding:8px 14px;border-radius:10px;margin-top:10px;display:inline-block;
}

/* FAQ */
.faq-wrap{max-width:760px;}

footer{
  background:var(--ink); color:#fff; padding:44px 0 100px; margin-top:20px;
}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
footer .brand-name, footer .brand-sub{color:#fff;}
footer .brand-sub{opacity:.6;}
.footer-copy{font-size:12px;opacity:.55;margin-top:6px;}

/* sticky mobile CTA */
.sticky-cta{
  position:fixed; bottom:0; left:0; right:0;
  background:#fff; border-top:1px solid var(--line);
  padding:12px 18px; display:none;
  align-items:center; justify-content:space-between; gap:14px;
  box-shadow:0 -12px 24px -14px rgba(0,0,0,0.15); z-index:60;
}
.sticky-cta .p{font-family:'Poppins',sans-serif;font-weight:800;font-size:17px;}
.sticky-cta .p span{display:block;font-family:'DM Sans',sans-serif;font-weight:500;font-size:10.5px;color:var(--ink-soft);}
.sticky-cta .btn{padding:12px 22px;font-size:14px;}

@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:32px;}
  .cards3{grid-template-columns:1fr;}
  .test-grid{grid-template-columns:1fr;}
  .trustbar-inner{justify-content:flex-start;}
  .hero-info h1{font-size:32px;}
  .puntaje-strip{flex-direction:column;align-items:flex-start;}
  .sticky-cta{display:flex;}
  body{padding-bottom:72px;}
}

/* ---------- AISLAMIENTO (evita efecto "tubo" de Astra) ---------- */
html.cea-product-active, html.cea-product-active body { max-width:none !important; }
body.cea-product-active { overflow-x:hidden; background:var(--white) !important; }
/* Ocultar el header original de Astra en la página de producto CEA
   (el nav real con logo CEA se inyecta vía wp_body_open) */
body.cea-product-active .ast-header,
body.cea-product-active #masthead,
body.cea-product-active header.site-header,
body.cea-product-active .site-header,
body.cea-product-active .ast-above-header,
body.cea-product-active .ast-primary-header-bar { display:none !important; }

/* ---------- CARRUSEL DE VIDEO-RESEÑAS ---------- */
.video-testis{ background:var(--surface); }
.video-testis .section-head{ margin-bottom:28px; }
.cea-video-carousel{
  position:relative; width:100vw; margin-left:calc(50% - 50vw);
  overflow-x:auto; scroll-snap-type:x mandatory;
  -ms-overflow-style:none; scrollbar-width:none;
}
.cea-video-carousel::-webkit-scrollbar{ display:none; }
.cea-video-track{ display:flex; width:max-content; gap:14px; padding:0 calc(50vw - 160px); animation:cea-scroll-infinite 40s linear infinite; animation-play-state:running; }
@keyframes cea-scroll-infinite{ 0%{ transform:translateX(0); } 100%{ transform:translateX(-50%); } }
.cea-video-item{
  position:relative; flex:0 0 300px; scroll-snap-align:center;
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  background:#000;
}
.cea-video-item video{
  display:block; width:300px; height:420px; object-fit:cover; background:#000; cursor:pointer;
}
.cea-video-item .play-button{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  z-index:2; width:56px; height:56px; pointer-events:none;
  background:url('data:image/svg+xml;utf8,<svg fill="%23fff" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><path d="M16 12 L52 32 L16 52 Z"/></svg>') no-repeat center center;
  background-size:contain; opacity:.85;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.4));
}
@media (max-width:900px){
  .cea-video-track{ padding:0 calc(50vw - 130px); }
  .cea-video-item, .cea-video-item video{ flex-basis:260px; width:260px; height:365px; }
}
