/* =====================================================================
   Mindset GYM · vitrina pública (home, rutinas, ficha de rutina, Club VIP, el método)
   Se apoya en app.css (tokens, .card, .btn, .chip, .rcard…). Todo lo propio va con prefijo pub-.
   ===================================================================== */

/* ---------- utilidades ---------- */
.pub-lime{color:var(--lime)}
.pub-gold-txt{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.pub-gold-soft{color:var(--gold2)}
.pub-kicker-gold{color:var(--gold1)}
.pub-kicker-gold::before{background:var(--grad-gold)}
.pub-off{display:none!important}
.pub-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--light);transition:color .2s}
.pub-link:hover{color:#fff}
.pub-head{text-align:center;max-width:800px;margin:0 auto 44px}
.pub-head h2{margin-top:12px}
.pub-head .lead{margin-top:14px}
.pub-head-row{align-items:flex-end}
.pub-narrow{max-width:680px;margin-left:auto;margin-right:auto}

/* La barra superior compartida (nav.php) no cabe a 375 px sin sesión: en la vitrina el CTA
   "Empieza a entrenar" ya está en cada página, así que en pantallas chicas se deja solo "Entrar". */
@media(max-width:520px){body.pub .nav-right .btn-primary{display:none}}

/* ---------- HERO (home) ---------- */
.pub-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;
  min-height:calc(100svh - var(--nav-h) - 30px);padding:72px 0 104px;background:#0C0023}
.pub-hero-video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:60% 40%;z-index:-3}
.pub-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  linear-gradient(90deg,rgba(7,5,14,.94) 0%,rgba(7,5,14,.72) 42%,rgba(7,5,14,.28) 100%),
  linear-gradient(180deg,rgba(7,5,14,.25) 0%,rgba(7,5,14,0) 45%,var(--bg) 100%)}
.pub-hero-glow{position:absolute;z-index:-1;left:-20%;right:-20%;bottom:-25%;height:75%;pointer-events:none;
  background:radial-gradient(45% 55% at 28% 72%,rgba(173,0,255,.5),transparent 70%),radial-gradient(35% 45% at 78% 82%,rgba(255,0,199,.28),transparent 70%)}
.pub-hero-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.pub-hero-copy{max-width:860px}
.pub-hero h1.pub-hero-t{font-size:clamp(3.4rem,13.4vw,7.6rem);line-height:1.07;margin-top:18px;filter:drop-shadow(0 10px 40px rgba(0,0,0,.45))}
.pub-hero-lead{margin-top:22px;max-width:560px;font-size:clamp(1.12rem,1.8vw,1.4rem);color:#F4E6FF}
.pub-hero-cta{margin-top:30px;--gap:12px}

.pub-stats{list-style:none;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.pub-stat{display:flex;align-items:center;gap:12px;padding:12px 20px 12px 12px;border-radius:18px;
  background:rgba(19,14,39,.58);border:1px solid var(--line2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 22px 50px -26px rgba(0,0,0,.9);animation:pubfloat 6s ease-in-out infinite}
.pub-stat-2{margin-left:30px;animation-delay:-1.5s}
.pub-stat-3{animation-delay:-3s}
.pub-stat-4{margin-left:30px;animation-delay:-4.5s}
.pub-stat-ic{width:40px;height:40px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.07);font-size:1.15rem}
.pub-stat b{font-family:var(--f-disp);font-weight:400;font-size:2.1rem;line-height:1;color:var(--lime)}
.pub-stat span:last-child{font-size:.86rem;font-weight:600;color:var(--txt2);line-height:1.2;max-width:118px}
@keyframes pubfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

.pub-scroll{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:26px;height:42px;border:2px solid rgba(255,255,255,.35);border-radius:14px}
.pub-scroll span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:pubscroll 1.8s ease-in-out infinite}
@keyframes pubscroll{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

@media(max-width:860px){
  .pub-hero{padding:44px 0 56px;align-items:flex-start}
  .pub-hero::before{background:linear-gradient(180deg,rgba(7,5,14,.6) 0%,rgba(7,5,14,.72) 55%,var(--bg) 100%)}
  .pub-hero-in{grid-template-columns:1fr;gap:30px}
  .pub-hero-cta .btn{flex:1 1 220px}
  .pub-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .pub-stat{animation:none;margin:0;padding:10px 12px 10px 10px;gap:10px;border-radius:16px}
  .pub-stat b{font-size:1.7rem}
  .pub-stat-ic{width:34px;height:34px;font-size:1rem}
  .pub-stat span:last-child{font-size:.78rem}
  .pub-scroll{display:none}
}

/* ---------- 1. pasos ---------- */
.pub-steps{list-style:none}
.pub-step{display:flex;flex-direction:column;gap:8px;padding-top:26px;overflow:hidden}
.pub-step::before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;border-radius:0 0 4px 4px;background:var(--grad)}
.pub-step-n{font-family:var(--f-disp);font-size:2.6rem;line-height:1;color:var(--lime)}
.pub-step-lot{width:112px;height:112px;margin:2px 0 4px}
@media(max-width:640px){
  .pub-step{display:grid;grid-template-columns:84px minmax(0,1fr);column-gap:14px;row-gap:4px;align-items:start}
  .pub-step-n{grid-column:1;grid-row:1;font-size:2rem}
  .pub-step-lot{grid-column:1;grid-row:2 / span 2;width:84px;height:84px;margin:0}
  .pub-step h3,.pub-step p{grid-column:2}
  .pub-step h3{grid-row:1 / span 2;align-self:end}
}

/* ---------- 2. músculos ---------- */
.pub-mus{display:flex;flex-direction:column;gap:6px;overflow:hidden}
.pub-mus::after{content:"";position:absolute;right:-50px;top:-50px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,var(--mc) 0%,transparent 70%);opacity:.16;pointer-events:none}
.pub-mus:hover{border-color:color-mix(in srgb,var(--mc) 60%,transparent);box-shadow:0 30px 70px -36px color-mix(in srgb,var(--mc) 70%,transparent)}
.pub-mus-top{margin-bottom:6px}
.pub-mus-emoji{font-size:1.9rem;width:56px;height:56px;flex:0 0 auto;border-radius:16px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--mc) 16%,transparent);border:1px solid color-mix(in srgb,var(--mc) 42%,transparent)}
.pub-mus>p{margin-bottom:12px}
.pub-mus .bar{margin-top:auto}
.pub-mus .bar>i{width:var(--pw,0%);background:var(--mc);transition:width 1.3s cubic-bezier(.2,.8,.2,1) .25s}
.js .pub-mus.reveal:not(.in) .bar>i{width:0}
.pub-mus-go{color:var(--mc);font-weight:700;margin-top:8px}
.pub-mus-sm .pub-mus-emoji{width:48px;height:48px;font-size:1.6rem;border-radius:14px}
@media(max-width:640px){
  .pub-mus-grid{grid-template-columns:repeat(2,minmax(0,1fr));--gap:10px}
  .pub-mus{padding:14px;gap:4px}
  .pub-mus .h3{font-size:1rem}
  .pub-mus p{font-size:.8rem;line-height:1.4}
  .pub-mus-emoji{width:42px;height:42px;font-size:1.35rem;border-radius:12px}
  .pub-mus-top .chip{font-size:.68rem;padding:3px 8px}
  .pub-mus-go{font-size:.8rem}
  .pub-mus-sm .row{flex-direction:column;align-items:flex-start;--gap:8px}
  .pub-mono{width:min(260px,72vw)}
}

/* ---------- 3. escuela vs gimnasio ---------- */
.pub-vs{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:rgba(255,255,255,.02)}
.pub-vs-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.pub-vs-row+.pub-vs-row{border-top:1px solid var(--line)}
.pub-vs-cell{padding:18px 22px;display:flex;gap:12px;align-items:flex-start;font-weight:600;line-height:1.35}
.pub-vs-old{color:var(--mut)}
.pub-vs-new{color:#fff;background:linear-gradient(90deg,rgba(173,0,255,.13),rgba(255,0,199,.07));border-left:1px solid rgba(214,0,230,.3)}
.pub-vs-headrow .pub-vs-cell{font-family:var(--f-disp);font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:1.45rem;align-items:center}
.pub-vs-headrow .pub-vs-old{background:rgba(255,255,255,.03)}
.pub-vs-headrow .pub-vs-new{background:var(--grad);border-left:0}
.pub-x,.pub-ok{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:900;margin-top:1px}
.pub-x{background:rgba(255,255,255,.07);color:var(--mut2)}
.pub-ok{background:var(--lime);color:#141600}
@media(max-width:640px){
  .pub-vs-cell{padding:14px 12px;gap:8px;font-size:.88rem}
  .pub-vs-headrow .pub-vs-cell{font-size:1.1rem}
  .pub-x,.pub-ok{flex-basis:18px;height:18px;font-size:.62rem}
}

/* ---------- tarjeta de rutina (extras sobre .rcard de app.css) ---------- */
.pub-rcard{position:relative}
.pub-rcard .rcard-media{background:radial-gradient(70% 80% at 50% 40%,color-mix(in srgb,var(--mc) 32%,transparent),transparent 72%),var(--grad-deep)}
.pub-rcard .rcard-media::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--mc);z-index:2}
.pub-rcard .rcard-tags{pointer-events:none}
.pub-rcard .rcard-title a::after{content:"";position:absolute;inset:0;z-index:1}
.pub-rcard .rcard-title a:hover{color:#fff}
.pub-rcard .rcard-foot .btn{position:relative;z-index:2}
.pub-rcard .bar{margin-top:2px}

/* ---------- 5. Tribu + IA + WhatsApp ---------- */
.pub-feat{display:flex;flex-direction:column}
.pub-feat .pub-link{margin-top:auto;padding-top:14px}
.pub-mock{border-radius:18px;background:#0B0719;border:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:10px;min-height:262px;overflow:hidden}
.pub-mock-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.85rem;padding-bottom:10px;border-bottom:1px solid var(--line)}
.pub-mock-bar .chip{font-size:.68rem;padding:3px 8px}
.pub-bub-row{display:flex;gap:8px;align-items:flex-end}
.pub-bub{background:#1B1236;border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:9px 12px;font-size:.84rem;line-height:1.4;color:var(--txt2);max-width:88%}
.pub-bub-coach .pub-bub{background:linear-gradient(135deg,rgba(255,0,199,.24),rgba(173,0,255,.24));border-color:rgba(214,0,230,.45);color:#fff}
.pub-react{font-size:.82rem;margin:-4px 0 0 36px;letter-spacing:4px}
.pub-bub-me{align-self:flex-end;border-radius:14px 14px 4px 14px;background:var(--grad);border:0;color:#fff}
.pub-typing{display:flex;gap:4px;padding:11px 13px;background:#1B1236;border:1px solid var(--line);border-radius:14px 14px 14px 4px;width:max-content}
.pub-typing i{width:6px;height:6px;border-radius:50%;background:var(--mut);animation:pubdot 1.2s infinite}
.pub-typing i:nth-child(2){animation-delay:.2s}
.pub-typing i:nth-child(3){animation-delay:.4s}
@keyframes pubdot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.pub-mock-wa{background-color:#0b141a;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:14px 14px}
.pub-wa-bar{border-color:rgba(255,255,255,.08)}
.pub-wa-bar b{color:#e9edef}
.pub-wa-bub{position:relative;background:#202c33;color:#e9edef;border-radius:10px 10px 10px 2px;padding:9px 11px 19px;font-size:.84rem;line-height:1.4;max-width:94%}
.pub-wa-time{position:absolute;right:9px;bottom:4px;font-size:.66rem;color:#8696a0}
.pub-wa-btns{display:flex;gap:6px;margin-top:-5px;max-width:94%}
.pub-wa-btns span{flex:1;text-align:center;background:#202c33;color:#53bdeb;border-radius:8px;padding:7px 4px;font-size:.76rem;font-weight:600;white-space:nowrap}

/* ---------- Club VIP (banda dorada) ---------- */
.pub-vipband{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:44px;border-radius:var(--r-lg);
  background:radial-gradient(80% 120% at 100% 0%,rgba(242,225,174,.17),transparent 60%),linear-gradient(135deg,#1e1608 0%,#130E27 62%);
  border:1px solid rgba(220,184,118,.45);box-shadow:0 30px 80px -40px rgba(220,184,118,.45)}
.pub-vipband::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(242,225,174,.035) 0 2px,transparent 2px 26px);pointer-events:none}
.pub-vipband>*{position:relative}
.pub-vipband-copy{max-width:660px}
.pub-vipband-lot{width:230px;height:230px;flex:0 0 auto}
.pub-vipband-sm{padding:28px 30px}
.pub-vipband-sm .btn{flex:0 0 auto}
@media(max-width:760px){
  .pub-vipband{flex-direction:column;align-items:stretch;padding:28px 20px;gap:18px}
  .pub-vipband-lot{width:150px;height:150px;align-self:center;order:-1}
  .pub-vipband .row .btn,.pub-vipband>.btn{width:100%}
}

/* ---------- 7. coach ---------- */
.pub-coach{align-items:center;--gap:56px}
.pub-coach-media{display:flex;flex-direction:column;align-items:center;gap:18px}
.pub-mono{position:relative;width:min(340px,78vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 30% 25%,rgba(255,0,199,.28),transparent 60%),radial-gradient(circle at 75% 80%,rgba(173,0,255,.3),transparent 60%),var(--card);
  box-shadow:0 0 0 1px rgba(214,0,230,.4),0 0 0 14px rgba(214,0,230,.06),0 40px 100px -40px rgba(214,0,230,.75)}
.pub-mono-lot{position:absolute;inset:10%}
.pub-mono-badge{position:absolute;right:4%;bottom:6%;width:31%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  background:var(--grad);font-family:var(--f-disp);font-size:clamp(1.6rem,5vw,2.4rem);letter-spacing:.02em;border:4px solid var(--bg);box-shadow:var(--glow)}
.pub-photo-slot{border:1.5px dashed var(--line2);border-radius:14px;padding:9px 16px;font-size:.8rem;color:var(--mut2)}
.pub-coach-role{font-family:var(--f-head);font-weight:700;font-size:1.05rem;color:var(--light)}
.pub-facts{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pub-facts li{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-weight:600;font-size:.92rem}
.pub-facts b{font-size:1.1rem}
@media(max-width:480px){.pub-facts{grid-template-columns:1fr}}
@media(max-width:640px){.pub-coach{--gap:28px}}

/* ---------- FAQ ---------- */
.pub-faq{display:flex;flex-direction:column;gap:10px}
.pub-faq details{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.03);transition:border-color .2s,background .2s}
.pub-faq details[open]{border-color:rgba(214,0,230,.4);background:rgba(214,0,230,.05)}
.pub-faq summary{list-style:none;cursor:pointer;padding:18px 56px 18px 20px;font-weight:700;position:relative;line-height:1.35}
.pub-faq summary::-webkit-details-marker{display:none}
.pub-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);font-weight:800;transition:background .2s}
.pub-faq details[open] summary::after{content:"–";background:var(--grad)}
.pub-faq details p{padding:0 20px 18px;color:var(--txt2)}
.pub-faq a{color:var(--light);font-weight:700}

/* ---------- CTA final ---------- */
.pub-final{padding:56px 40px;text-align:center;display:flex;flex-direction:column;align-items:center}
.pub-final-lot{width:120px;height:120px;margin-bottom:8px}
.pub-final .lead{max-width:640px;color:#F4E6FF}
.pub-final-cta{justify-content:center}
@media(max-width:640px){.pub-final{padding:40px 20px}.pub-final-cta .btn{flex:1 1 220px}}

/* ---------- encabezado de página (catálogo, método) ---------- */
.pub-pagehead{padding:56px 0 20px}
.pub-pagehead h1.disp{font-size:clamp(2.9rem,9vw,5.6rem);line-height:.95}
.pub-pagehead .lead{max-width:720px}
.pub-coupon{max-width:720px}

/* ---------- filtros del catálogo ---------- */
.pub-filters{display:flex;flex-direction:column;gap:12px}
.pub-fgroup{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pub-fchip{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.04);
  color:var(--txt2);font-weight:700;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.pub-fchip:hover{border-color:rgba(255,255,255,.32);color:#fff}
.pub-fchip[aria-pressed=true]{background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--glow)}
.pub-fchip[data-fm][style][aria-pressed=true]{background:color-mix(in srgb,var(--mc) 24%,#130E27);border-color:var(--mc);box-shadow:none}
.pub-fchip-sm{height:34px;padding:0 13px;font-size:.82rem}
.pub-flabel{font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-right:4px}
@media(max-width:640px){
  .pub-fgroup{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:2px 20px}
  .pub-fgroup::-webkit-scrollbar{display:none}
}

/* ---------- ficha de rutina ---------- */
.pub-rhero{position:relative;isolation:isolate;padding:24px 0 20px}
.pub-rhero::before{content:"";position:absolute;inset:0 0 auto 0;height:460px;z-index:-1;pointer-events:none;
  background:radial-gradient(55% 80% at 82% 0%,color-mix(in srgb,var(--mc) 22%,transparent),transparent 72%)}
.pub-back{display:inline-flex}
.pub-back:hover{color:#fff}
.pub-rhero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center}
.pub-rhero-copy{order:-1}
.pub-rhero-media{position:relative;aspect-ratio:16/10;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);
  background:radial-gradient(70% 80% at 50% 40%,color-mix(in srgb,var(--mc) 34%,transparent),transparent 72%),var(--grad-deep)}
.pub-rhero-media video,.pub-rhero-media img{width:100%;height:100%;object-fit:cover}
.pub-rhero-media .lot{position:absolute;inset:8% 18%;width:64%;height:84%}
.pub-rhero h1.pub-rhero-t{font-size:clamp(2.5rem,6vw,4.6rem);line-height:.95}
.pub-mchip{background:color-mix(in srgb,var(--mc) 16%,transparent);border-color:color-mix(in srgb,var(--mc) 46%,transparent);color:#fff}
.pub-rmeta{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.pub-rmeta li{flex:1 1 92px;padding:12px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);text-align:center}
.pub-rmeta b{display:block;font-family:var(--f-head);font-weight:800;font-size:1.2rem;line-height:1.2;color:#fff;white-space:nowrap}
.pub-rmeta span{font-size:.72rem;color:var(--mut);text-transform:uppercase;letter-spacing:.08em}
@media(max-width:520px){.pub-rmeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
  .pub-rhero-grid{grid-template-columns:1fr;gap:22px}
  .pub-rhero-copy{order:0}
}

.pub-rbody{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:start}
.pub-raside{position:sticky;top:calc(var(--nav-h) + 20px)}
.pub-rmain>*+*{margin-top:44px}
.pub-checks,.pub-forwho,.pub-mini{list-style:none}
.pub-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pub-checks li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line);color:var(--txt2)}
.pub-ck{flex:0 0 24px;height:24px;border-radius:50%;background:var(--lime);color:#141600;display:grid;place-items:center;font-weight:900;font-size:.8rem}
.pub-forwho li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--txt2)}
.pub-forwho li:last-child{border-bottom:0}
@media(max-width:640px){.pub-checks{grid-template-columns:1fr}}

.pub-weeks{display:flex;flex-direction:column;gap:16px}
.pub-week{border:1px solid var(--line);border-radius:var(--r);background:rgba(255,255,255,.02);overflow:hidden}
.pub-week-head{display:flex;gap:14px;align-items:center;padding:16px 18px;background:rgba(255,255,255,.035);border-bottom:1px solid var(--line)}
.pub-week-n{flex:0 0 40px;height:40px;border-radius:12px;background:var(--grad);display:grid;place-items:center;font-family:var(--f-disp);font-size:1.3rem}
.pub-week-tt{flex:1;min-width:0}
.pub-week-meta{white-space:nowrap}
.pub-lessons{list-style:none}
.pub-lessons li+li{border-top:1px solid var(--line)}
.pub-ls{display:flex;gap:14px;align-items:center;padding:14px 18px;transition:background .15s}
a.pub-ls:hover{background:rgba(214,0,230,.07)}
.pub-ls-ic{flex:0 0 36px;height:36px;border-radius:10px;background:rgba(255,255,255,.05);display:grid;place-items:center;font-size:1.05rem}
.pub-ls-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pub-ls-t{font-weight:700;font-size:.97rem;line-height:1.3}
.pub-ls-sub{font-size:.78rem;color:var(--mut);display:flex;flex-wrap:wrap;align-items:center;row-gap:2px}
.pub-ls-sub .sep-dot::before{margin:0 5px}
.pub-ls-tool{color:var(--lime2)}
.pub-ls-lock .pub-ls-t{color:var(--txt2)}
.pub-ls-lock .pub-ls-ic{opacity:.7}
.pub-ls-done .pub-ls-t{color:var(--mut)}
.pub-ls-act{flex:0 0 auto;color:var(--mut);font-size:1.25rem}
@media(max-width:640px){
  .pub-week-meta{display:none}
  .pub-week-head{padding:14px}
  .pub-ls{padding:12px 14px;gap:10px}
  .pub-ls-ic{flex-basis:32px;height:32px;font-size:.95rem}
}

.pub-incl-ic{font-size:1.45rem;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(214,0,230,.12);border:1px solid rgba(214,0,230,.28);margin-bottom:10px}
.pub-incl .card-title{margin-bottom:4px}

.pub-pricecard{padding:24px}
.pub-pricecard-vip{border-color:rgba(220,184,118,.5);box-shadow:0 30px 80px -40px rgba(220,184,118,.5)}
.pub-bigprice{font-family:var(--f-disp);font-size:3.4rem;line-height:1;margin-top:4px;letter-spacing:.01em}
.pub-bigprice small{font-family:var(--f-body);font-size:1rem;color:var(--mut);letter-spacing:0}
.pub-mini{display:flex;flex-direction:column;gap:9px;font-size:.9rem;color:var(--txt2)}

.pub-buybar{display:none}
@media(max-width:979px){
  .pub-rbody{grid-template-columns:1fr}
  .pub-raside{display:none}
  .pub-buybar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:55;padding:10px 16px calc(10px + env(safe-area-inset-bottom));
    background:rgba(10,7,22,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line2);box-shadow:0 -20px 40px -20px rgba(0,0,0,.8)}
  .pub-buybar-in{display:flex;align-items:center;gap:12px;max-width:var(--maxw);margin:0 auto}
  .pub-buybar-l{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
  .pub-buybar-l>b{font-size:.92rem}
  .pub-buybar .btn{flex:0 0 auto}
  body.pub-rut{padding-bottom:80px}
}
@media(max-width:900px){
  body.has-tabbar .pub-buybar{bottom:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:10px}
  body.has-tabbar.pub-rut{padding-bottom:calc(var(--tab-h) + 80px + env(safe-area-inset-bottom))}
}

/* ---------- Club VIP ---------- */
.pub-viphero{position:relative;isolation:isolate;padding:60px 0 44px}
.pub-viphero::before{content:"";position:absolute;inset:-10% 0 0 0;z-index:-1;pointer-events:none;
  background:radial-gradient(45% 55% at 78% 30%,rgba(242,225,174,.17),transparent 70%),radial-gradient(40% 50% at 8% 8%,rgba(173,0,255,.22),transparent 70%)}
.pub-viphero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:center}
.pub-viphero h1.pub-viphero-t{font-size:clamp(4rem,13vw,8.4rem);line-height:.9}
.pub-viphero-cta{--gap:10px}
.pub-vipcard{padding:28px;border-radius:var(--r-lg);background:linear-gradient(180deg,#1e1608,#130E27 70%);border:1px solid rgba(220,184,118,.5);box-shadow:0 40px 100px -40px rgba(220,184,118,.55)}
.pub-vipcard-lot{width:150px;height:150px;margin:-8px auto 6px}
.pub-vipcard .pub-bigprice{font-size:3.8rem}
.pub-vipgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),370px));justify-content:center}
.pub-vipben-card{border-color:rgba(220,184,118,.22);transition:border-color .2s,transform .2s}
.pub-vipben-card:hover{border-color:rgba(220,184,118,.55);transform:translateY(-3px)}
.pub-vipben-ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:1.55rem;
  background:linear-gradient(135deg,rgba(220,184,118,.26),rgba(242,225,174,.07));border:1px solid rgba(220,184,118,.42)}
.pub-squad{list-style:none;display:flex;flex-direction:column;gap:12px}
.pub-squad li{display:flex;gap:18px;align-items:flex-start;padding:18px 20px;border-radius:var(--r);border:1px solid rgba(220,184,118,.25);background:rgba(220,184,118,.04)}
.pub-squad li p{margin-top:4px}
.pub-squad-n{flex:0 0 170px;font-family:var(--f-disp);text-transform:uppercase;font-size:1.3rem;line-height:1.1;color:var(--gold2)}
.pub-lives{list-style:none;display:flex;flex-direction:column;gap:12px}
.pub-lives li{display:flex;gap:12px;align-items:center}
.pub-lives li>span:last-child{display:flex;flex-direction:column;min-width:0}
.pub-live-date{flex:0 0 58px;height:58px;border-radius:14px;display:grid;place-items:center;text-align:center;font-weight:800;font-size:.85rem;line-height:1.1;padding:4px;background:var(--grad-gold);color:#2a1d05}
@media(max-width:860px){.pub-viphero-grid{grid-template-columns:1fr;gap:28px}.pub-viphero{padding-top:40px}}
@media(max-width:640px){.pub-squad li{flex-direction:column;gap:6px}.pub-squad-n{flex:none}.pub-viphero-cta .btn{flex:1 1 220px}}

/* ---------- el método ---------- */
.pub-methead-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:30px;align-items:center}
.pub-methead-lot{width:100%;max-width:340px;aspect-ratio:1;margin-left:auto}
@media(max-width:760px){.pub-methead-grid{grid-template-columns:1fr}.pub-methead-lot{max-width:200px;margin:0 auto;order:-1}}
.pub-rule-ic,.pub-evid-ic{font-size:1.55rem;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(214,0,230,.12);border:1px solid rgba(214,0,230,.3)}
.pub-racha{align-items:center;--gap:44px}
.pub-week7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.pub-day{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.pub-day span{font-size:1.15rem;line-height:1;color:var(--mut2)}
.pub-day small{font-size:.7rem;color:var(--mut);font-weight:700}
.pub-day.on{background:rgba(211,244,18,.1);border-color:rgba(211,244,18,.38)}
.pub-day.today{border-style:dashed;border-color:var(--lime)}
.pub-niveles{row-gap:8px}
.pub-levels{margin-top:30px;row-gap:40px}
.pub-level{padding-top:34px}
.pub-level-n{position:absolute;top:-18px;left:22px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-family:var(--f-disp);font-size:1.4rem;background:#1B1236;border:1px solid var(--line2)}
.pub-level-n3{background:var(--lime);color:#141600;border:0}
.pub-level-tag{color:var(--light);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;margin-top:2px}
.pub-evid .card{display:flex;flex-direction:column}
.pub-evid-so{padding:10px 12px;border-radius:12px;background:rgba(211,244,18,.07);border:1px solid rgba(211,244,18,.25);color:var(--txt2)}
.pub-evid-so b{color:var(--lime)}
.pub-cite{margin-top:auto;padding-top:14px;color:var(--mut2);border-top:1px solid var(--line);line-height:1.45}
.pub-evid .pub-evid-so{margin-bottom:16px}

/* ---------- movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce){
  .pub-stat,.pub-typing i,.pub-scroll span{animation:none}
  .pub-hero-video{display:none}
  .pub-mus .bar>i{transition:none}
}
