/* ============================================================================
   "Estilo @soyastral_" (2026-10-03) — ver el encabezado de estiloSoyAstral.js (pedido de Nico, qué dibuja y cómo es
   exclusivo por datos).
   Todo scopeado a `.crsl-slide.soy` (la clase la pone el JS SOLO con el tema activo y la cuenta habilitada).
   REGLA DE ORO (igual que el resto de los temas): tiene que salir igual exportado con html2canvas 1.4.1 (respaldo de la
   descarga con Chrome real): cero box-shadow / filter / mask / clip-path / blend / gradientes repetidos; colores de cada
   SVG YA resueltos desde el JS; la burbuja de la palabra clave es un <span> INLINE por palabra con un SVG de fondo; y los
   bordes van en longhands (un shorthand con var() pisado por un longhand se serializa mal en el servidor).
   ============================================================================ */

/* ---------- lienzo a sangre ---------- */
.crsl-slide.soy{background:var(--soy-bg);}
.crsl-slide.soy .crsl-card{inset:0; border:0; border-radius:0; box-shadow:none; background:var(--soy-bg);}
.crsl-slide.soy.soy-noche .crsl-card{background:radial-gradient(900px 760px at 90% 6%, rgba(241,76,130,.34), rgba(0,0,0,0) 72%), radial-gradient(760px 640px at -8% 100%, rgba(181,101,216,.30), rgba(0,0,0,0) 70%), var(--soy-bg);}
.crsl-slide.soy.soy-rosa .crsl-card{background:radial-gradient(860px 700px at 92% 0%, rgba(255,255,255,.7), rgba(255,255,255,0) 70%), radial-gradient(700px 600px at -6% 100%, rgba(181,101,216,.14), rgba(181,101,216,0) 70%), var(--soy-bg);}
.crsl-slide.soy.soy-lila .crsl-card{background:radial-gradient(860px 700px at 8% 0%, rgba(255,255,255,.5), rgba(255,255,255,0) 70%), radial-gradient(700px 600px at 104% 100%, rgba(241,76,130,.14), rgba(241,76,130,0) 70%), var(--soy-bg);}
.crsl-slide.soy .crsl-card::before, .crsl-slide.soy .crsl-card::after{display:none;}
.crsl-card > .soy-fondo{position:absolute; left:0; top:0; right:0; bottom:0; z-index:0; pointer-events:none; overflow:hidden;}
.soy-fondo .soy-capa{position:absolute; left:0; top:0; right:0; bottom:0;}
.soy-fondo .soy-capa > svg{display:block; width:100%; height:100%;}
.crsl-card > .crslx-decor.soy-bajo{z-index:0;}
.crslx-decor.soy-p{line-height:1;}

/* lo de siempre que el estilo reemplaza (cabecera y pie propios) */
.crsl-slide.soy .crsl-progress-track, .crsl-slide.soy .crsl-counter, .crsl-slide.soy .crsl-handle, .crsl-slide.soy .crsl-meme-num{display:none !important;}
.crsl-slide.soy .crsl-underline, .crsl-slide.soy .crsl-step-underline{display:none;}
.crsl-slide.soy .crsl-footer-handle{display:none;} /* la firma "✦ @…" (pieza decor:0) ya lleva el usuario, también en el cierre */

/* ---------- cabecera: 01/08 + cristales ---------- */
.soy-cab{position:absolute; left:84px; right:84px; top:62px; height:60px; display:flex; align-items:center; justify-content:space-between; z-index:4; pointer-events:none;}
.soy-num{display:flex; align-items:baseline; gap:10px; line-height:1; white-space:nowrap;}
.soy-num b{font-family:'Fredoka',sans-serif; font-weight:700; font-size:50px; color:var(--soy-tinta);}
.soy-num span{font-family:'Poppins',sans-serif; font-weight:700; font-size:20px; letter-spacing:.1em; color:var(--soy-suave);}
.soy-prog{flex:none; margin-left:auto;}
.soy-prog svg, .soy-fases svg{display:block;}

/* ---------- piezas ---------- */
.soy-firma{display:flex; align-items:center; justify-content:center; gap:14px; height:100%; width:fit-content; padding:0 30px 0 24px; border-radius:999px; white-space:nowrap;}
.soy-firma.con-logo{padding:0 30px 0 6px;}
.soy-firma img{display:block; width:52px; height:52px; border-radius:50%; flex:none; background:#fff;}
.soy-logo-g{display:block; width:100%; height:100%; object-fit:contain; border-radius:50%;}
.soy-firma i{font-style:normal; font-size:26px; line-height:1;}
.soy-firma span{font-family:'Poppins',sans-serif; font-weight:700; font-size:28px; line-height:1; letter-spacing:.01em; margin-top:2px;}
.soy-desliza{display:flex; align-items:center; justify-content:flex-end; gap:16px; height:100%; white-space:nowrap; font-family:'Poppins',sans-serif; font-weight:700; font-size:20px; letter-spacing:.22em; text-transform:uppercase;}
.crslx-decor .soy-desliza svg, .crsl-slide.soy .crsl-cta-pill svg{width:54px; height:14px; flex:none; display:block;}
.soy-kicker{display:flex; align-items:center; height:100%; white-space:nowrap; overflow:hidden; font-family:'Poppins',sans-serif; font-weight:700; font-size:20px; letter-spacing:.24em; text-transform:uppercase;}
.soy-kit{position:relative;}
.soy-kit-img{display:block; width:100%; height:100%; object-fit:contain;}
/* el logo de la cuenta en lugar de «TU MARCA» (etiqueta del roll on y centro del sello) */
.soy-et-logo{display:block; border-radius:50%; object-fit:contain; background:#fff;}
.soy-sello-centro .soy-et-logo{margin:0 auto;}
/* flyers: el kitsune sentado abajo a la derecha */
.soy-flyer-kit{position:absolute; right:28px; bottom:22px; z-index:3; pointer-events:none;}
.soy-flyer-kit img{display:block; width:100%; height:100%; object-fit:contain;}
.crslx-decor .soy-kit > svg{display:block; width:100%; height:100%;}
.soy-rolon{position:relative;}
.crslx-decor .soy-rolon > svg{position:absolute; left:0; top:0; width:100%; height:100%;}
.soy-rolon-et{position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center;}
.soy-rolon-et b{display:block; font-family:'Fredoka',sans-serif; font-weight:700; line-height:1; letter-spacing:.04em;}
.soy-sello{position:relative; width:100%; height:100%;}
.crslx-decor .soy-sello > svg{position:absolute; left:0; top:0; width:100%; height:100%;}
.soy-sello-anillo{position:absolute; left:0; top:0; right:0; bottom:0;}
.soy-sello-anillo b{position:absolute; left:50%; top:50%; display:block; line-height:1; white-space:pre; font-family:'Poppins',sans-serif; font-weight:800; font-style:normal; letter-spacing:0;}
.soy-sello-centro{position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); text-align:center; line-height:1;}
.soy-sello-centro b{display:block; font-family:'Poppins',sans-serif; font-weight:700; line-height:1; margin-bottom:6px;}
.soy-sello-centro span{display:block; font-family:'Fredoka',sans-serif; font-weight:700; line-height:1; white-space:nowrap;}

/* ---------- tipografía ---------- */
.crsl-slide.soy .crsl-headline, .crsl-slide.soy .crsl-step-title, .crsl-slide.soy .crsl-quote, .crsl-slide.soy .crsl-ff-title, .crsl-slide.soy .crsl-photo-title, .crsl-slide.soy .crsl-meme-title, .crsl-slide.soy .crsl-feature-title{
  font-family:'Fredoka',sans-serif; font-weight:600; font-style:normal; letter-spacing:-.01em; text-transform:none; -webkit-text-stroke:0; paint-order:normal; text-shadow:none; color:var(--soy-tinta);}
.crsl-slide.soy .crsl-box, .crsl-slide.soy .crsl-check-list, .crsl-slide.soy .crsl-step-sub, .crsl-slide.soy .crsl-feature-desc, .crsl-slide.soy .crsl-body-txt, .crsl-slide.soy .crsl-ad-item, .crsl-slide.soy .crsl-meme-caption, .crsl-slide.soy .crsl-ff-sub, .crsl-slide.soy .crsl-photo-caption, .crsl-slide.soy .crsl-flow-label{font-family:'Poppins',sans-serif; font-style:normal;}

/* palabra clave: burbuja rosa con letra blanca (un span inline por palabra) */
.crsl-slide.soy .soy-hl{display:inline; font-style:normal; color:#fff; background:var(--soy-pill) 0 50%/100% 100% no-repeat; padding:.02em .2em .06em; border-radius:0;}
.crsl-slide.soy .crsl-box .soy-hl, .crsl-slide.soy .crsl-step-sub .soy-hl, .crsl-slide.soy .crsl-body-txt .soy-hl, .crsl-slide.soy .crsl-check-list .soy-hl, .crsl-slide.soy .crsl-ad-item .soy-hl{font-weight:700; padding:0 .3em .04em;}
.crsl-slide.soy .crsl-hlbox{background:var(--soy-acento); color:#fff; font-style:normal; padding:0 .2em; border-radius:.4em; box-shadow:none;}

/* ---------- portada ---------- */
.crsl-slide.soy .crsl-portada-body{align-items:flex-start; text-align:left; justify-content:flex-end; padding:0 0 190px;}
.crsl-slide.soy .crsl-headline{font-size:104px; line-height:1.08; padding:0 84px; max-width:1000px; box-sizing:border-box;}
.crsl-slide.soy .crsl-headline.soy-l2{font-size:88px;}
.crsl-slide.soy .crsl-headline.soy-l3{font-size:72px;}
.crsl-slide.soy .crsl-headline .o{color:inherit;}
.crsl-slide.soy .crsl-headline .y{display:inline; color:#fff; font-style:normal; background:var(--soy-pill) 0 50%/100% 100% no-repeat; padding:.02em .2em .06em;}
.crsl-slide.soy .crsl-headline .y::after{display:none;}
.crsl-slide.soy .crsl-headline .y:empty{display:none;}
.crsl-slide.soy .crsl-body-txt{font-weight:500; font-size:32px; line-height:1.45; color:var(--soy-suave); padding:34px 84px 0; max-width:880px; box-sizing:border-box;}
.crsl-slide.soy .crsl-cta-pill{right:84px; bottom:80px; background:none; border:0; border-radius:0; box-shadow:none; transform:none; padding:0; display:flex; align-items:center; gap:16px;
  font-family:'Poppins',sans-serif; font-weight:700; font-style:normal; font-size:20px; letter-spacing:.22em; text-transform:uppercase; color:var(--soy-suave);}

/* ---------- láminas del medio ---------- */
.crsl-slide.soy:not(.soy-t-portada) .crsl-card{justify-content:center; padding:186px 0 160px;}
.crsl-slide.soy .crsl-badge, .crsl-slide.soy .crsl-badge.o{background:var(--soy-acento); border:0; box-shadow:none; transform:none; padding:10px 26px 10px 18px; margin:0 0 28px 84px; border-radius:999px; gap:12px; width:fit-content;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:20px; letter-spacing:.14em; text-transform:uppercase; color:#fff;}
.crsl-slide.soy .crsl-badge svg{display:none;}
.crsl-slide.soy .crsl-badge::before{content:""; display:block; width:20px; height:20px; flex:none; background:var(--soy-sol) 0 0/100% 100% no-repeat;}
.crsl-slide.soy .crsl-center-wrap{flex:0 1 auto; align-items:flex-start; text-align:left; justify-content:flex-start; padding:0 84px !important;}
.crsl-slide.soy .crsl-step-title, .crsl-slide.soy .crsl-step-title.o{font-size:82px; line-height:1.08; margin-bottom:26px; color:var(--soy-tinta);}
.crsl-slide.soy .crsl-step-title.soy-l2{font-size:68px; line-height:1.1;}
.crsl-slide.soy .crsl-step-title.soy-l3{font-size:56px; line-height:1.12;}
.crsl-slide.soy .crsl-step-sub{font-weight:500; font-size:32px; line-height:1.45; color:var(--soy-suave); margin-bottom:34px;}
.crsl-slide.soy .crsl-step-icon-big, .crsl-slide.soy .crsl-step-icon-big.o{width:100px; height:100px; border-radius:50%; margin:0 0 30px; transform:none; background:var(--soy-acento); border:0; box-shadow:none;}
.crsl-slide.soy .crsl-step-icon-big svg{width:46px; height:46px;}
.crsl-slide.soy .crsl-step-icon-big svg *{stroke:#fff !important;}
.crsl-slide.soy .crsl-feature-icon svg *, .crsl-slide.soy .crsl-flow-icon svg *{stroke:var(--soy-acento) !important;}
.crsl-slide.soy .crsl-gif-frame, .crsl-slide.soy .crsl-chat, .crsl-slide.soy .crsl-flow-row, .crsl-slide.soy .crsl-quote-mark{align-self:flex-start;}
.crsl-slide.soy .crsl-captura-wrap, .crsl-slide.soy .crsl-dato-frame, .crsl-slide.soy .crsl-sticker-wrap, .crsl-slide.soy .crsl-ad, .crsl-slide.soy .crsl-box, .crsl-slide.soy .crsl-feature-list, .crsl-slide.soy .crsl-check-list{align-self:stretch;}

/* cajas: tarjeta "burbuja" con borde rosa (kawaii, sin sombra) */
.crsl-slide.soy .crsl-box, .crsl-slide.soy .crsl-box.o{width:100%; box-sizing:border-box; background:var(--soy-caja); color:var(--soy-tinta); border-style:solid; border-width:3px; border-top-color:var(--soy-acento); border-right-color:var(--soy-acento); border-bottom-color:var(--soy-acento); border-left-color:var(--soy-acento); border-radius:44px; box-shadow:none; padding:34px 44px; margin-top:4px;
  font-weight:600; font-size:31px; line-height:1.5; text-align:left;}
.crsl-slide.soy .crsl-feature-list{gap:18px;}
.crsl-slide.soy .crsl-feature-box, .crsl-slide.soy .crsl-feature-box.o{background:var(--soy-caja); border-style:solid; border-width:2.5px; border-top-color:var(--soy-acento); border-right-color:var(--soy-acento); border-bottom-color:var(--soy-acento); border-left-color:var(--soy-acento); border-radius:40px; box-shadow:none; padding:24px 30px; gap:26px;}
.crsl-slide.soy .crsl-feature-icon{width:76px; height:76px; border-radius:50%; background:transparent; border:2px solid var(--soy-acento); box-shadow:none;}
.crsl-slide.soy .crsl-feature-title{font-weight:600; font-size:38px; line-height:1.05; color:var(--soy-tinta); margin-bottom:6px;}
.crsl-slide.soy .crsl-feature-desc{font-size:24px; font-weight:500; line-height:1.4; color:var(--soy-suave);}
.crsl-slide.soy .crsl-check-list{font-weight:600; font-size:32px; line-height:1.35; color:var(--soy-tinta);}
.crsl-slide.soy .crsl-check-row{background:none; border-style:solid; border-width:0 0 2px 0; border-bottom-color:var(--soy-linea); border-radius:0; padding:22px 0; margin:0; gap:24px; align-items:center;}
.crsl-slide.soy .crsl-check-row:first-child{border-top-width:2px; border-top-color:var(--soy-linea);}
.crsl-slide.soy .crsl-check-icon{width:50px; height:50px; border-radius:0; background:var(--soy-check) center/100% 100% no-repeat; border:0; box-shadow:none; margin-top:0;}
.crsl-slide.soy .crsl-check-icon svg{display:none;}
.crsl-slide.soy .crsl-flow-icon{background:transparent; border:2px solid var(--soy-acento); box-shadow:none; border-radius:50%;}
.crsl-slide.soy .crsl-flow-icon.hi{background:var(--soy-caja); border-color:var(--soy-violeta);}
.crsl-slide.soy .crsl-flow-label{color:var(--soy-suave); font-weight:700;}
.crsl-slide.soy .crsl-save-hint{font-family:'Poppins',sans-serif; font-weight:700; font-size:20px; letter-spacing:.2em; text-transform:uppercase; color:var(--soy-violeta); text-align:left; margin-top:30px;}
.crsl-slide.soy .crsl-dato-frame, .crsl-slide.soy .crsl-sticker-wrap, .crsl-slide.soy .crsl-captura-wrap{background:var(--soy-caja); border:2px solid var(--soy-acento); border-radius:36px; box-shadow:none;}
.crsl-slide.soy .crsl-gif-frame, .crsl-slide.soy .crsl-meme-frame{border:3px solid var(--soy-acento); border-radius:34px; box-shadow:none;}
.crsl-slide.soy .crsl-meme-caption{color:var(--soy-suave);}

/* antes / después */
.crsl-slide.soy .crsl-ad{gap:22px;}
.crsl-slide.soy .crsl-ad-col{border-radius:38px; padding:32px 30px; box-shadow:none;}
.crsl-slide.soy .crsl-ad-col.antes{background:transparent; border:2.5px dashed var(--soy-linea); color:var(--soy-suave);}
.crsl-slide.soy .crsl-ad-col.despues{background:var(--soy-caja); border:3px solid var(--soy-acento); color:var(--soy-tinta);}
.crsl-slide.soy .crsl-ad-tit{font-family:'Fredoka',sans-serif; font-weight:700; font-size:42px; line-height:1.05; letter-spacing:0; text-transform:none; color:inherit; margin-bottom:12px;}
.crsl-slide.soy .crsl-ad-item{font-weight:600; font-size:27px; line-height:1.4;}
.crsl-slide.soy .crsl-ad-col.antes .crsl-ad-item span{color:var(--soy-suave); opacity:.8;}
.crsl-slide.soy .crsl-ad-col.despues .crsl-ad-item span{color:var(--soy-acento);}
.crsl-slide.soy.soy-t-antes_despues .crsl-step-title{font-size:74px !important;}
.crsl-slide.soy.soy-t-antes_despues .crsl-step-title.soy-l2{font-size:62px !important;}
.crsl-slide.soy.soy-t-antes_despues .crsl-step-title.soy-l3{font-size:52px !important;}
.crsl-slide.soy.soy-t-antes_despues .crsl-center-wrap{padding:0 84px !important;}

/* frase: brillitos arriba, cita grande */
.crsl-slide.soy .crsl-quote-mark{font-size:0; line-height:0; margin:0 0 44px; color:transparent;}
.crsl-slide.soy .crsl-quote{font-style:normal; font-weight:600; font-size:70px; line-height:1.15; letter-spacing:-.01em; text-transform:none; color:var(--soy-tinta);}
.crsl-slide.soy .crsl-quote.soy-l2{font-size:58px;}
.crsl-slide.soy .crsl-quote.soy-l3{font-size:48px;}
.crsl-slide.soy.soy-t-frase .crsl-step-sub{margin:34px 0 0; max-width:820px;}
.crsl-slide.soy .crsl-quote-firma{font-family:'Poppins',sans-serif; font-weight:700; font-size:20px; letter-spacing:.2em; text-transform:uppercase; color:var(--soy-violeta); margin-top:34px;}

/* cierre: el sello va arriba a la derecha y el título le deja lugar */
.crsl-slide.soy.soy-r-cierre .crsl-step-title{padding-right:210px; box-sizing:border-box;}
.crsl-slide.soy.soy-t-cta_final .crsl-step-title{font-size:80px !important; line-height:1.08 !important;}
.crsl-slide.soy.soy-t-cta_final .crsl-step-title.soy-l2{font-size:66px !important;}
.crsl-slide.soy.soy-t-cta_final .crsl-step-title.soy-l3{font-size:54px !important;}
.crsl-slide.soy.soy-t-cta_final .crsl-step-sub{font-family:'Poppins',sans-serif !important; font-weight:500 !important; font-size:31px !important; color:var(--soy-suave) !important;}
.crsl-slide.soy.soy-t-cta_final .crsl-center-wrap{padding-top:0 !important;}

/* fotos: el título va en Fredoka sobre el velo oscuro de siempre */
.crsl-slide.soy .crsl-ff-title, .crsl-slide.soy .crsl-photo-title{color:#FFF3F8; font-size:74px; line-height:1.08;}
.crsl-slide.soy .crsl-ff-title.soy-l2, .crsl-slide.soy .crsl-photo-title.soy-l2{font-size:62px;}
.crsl-slide.soy .crsl-ff-title.soy-l3, .crsl-slide.soy .crsl-photo-title.soy-l3{font-size:52px;}
.crsl-slide.soy .crsl-ff-txt, .crsl-slide.soy .crsl-photo-content{left:84px; right:84px; bottom:160px; padding:0; text-align:left;}
.crsl-slide.soy .crsl-ff-sub, .crsl-slide.soy .crsl-photo-caption{font-weight:500; font-size:30px; color:#F1E1EE; text-shadow:none;}

/* ---------- fila del panel de edición: fondo de la lámina ---------- */
.soy-fila{margin:2px 0 14px; padding:10px 12px; border:1px dashed var(--border); border-radius:10px;}
.soy-fila .soy-chips{display:flex; gap:6px; flex-wrap:wrap;}
.soy-fila .soy-chips button{padding:6px 10px; font-size:12px;}
.soy-fila .soy-chips button.on{border-color:var(--yellow); color:var(--yellow); font-weight:700;}
.soy-fila label.soy-chk{display:flex; align-items:center; gap:8px; margin-top:8px; font-size:12px; color:var(--muted); cursor:pointer;}
