/* ===== v34 · estética v32 (estilo panes) + estructura v33 ===== */
:root { --c0: #221a2e; --c1: #2c2339; --c2: #382d47; --c3: #463a57; }
body.v34 { background: var(--c0); }
body.v34::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(55% 35% at 0% 0%, rgba(183,255,74,.16), transparent 62%),
    radial-gradient(45% 30% at 100% 15%, rgba(255,63,120,.18), transparent 62%),
    radial-gradient(60% 40% at 20% 80%, rgba(111,60,195,.35), transparent 62%),
    radial-gradient(40% 30% at 95% 95%, rgba(63,216,194,.12), transparent 62%),
    var(--c0); }

/* cabecera con el logo grande sobre una pastilla clara */
.top33 { position: sticky; top: 0; z-index: 60; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem clamp(1rem, 4vw, 2.2rem); background: rgba(34,26,46,.82); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--l32); }
.marca33 { display: grid; text-decoration: none; line-height: 1; padding: .35rem .7rem .3rem; border-radius: 16px; background: var(--paper); }
.marca33 img { width: clamp(176px, 48vw, 240px); height: auto; }
.marca33 span { justify-self: end; margin-top: -.1rem; font: .85rem/1 "Caveat", cursive; font-weight: 700; color: var(--pink); }
.n33-alt { margin: .9rem 0 0; font-size: .92rem; color: #ddd3e2; }
.n33-alt a { color: var(--lime); font-weight: 800; text-underline-offset: 3px; }

/* story con la frase de cada nivel */
.v34 .h-nivel { bottom: 74px; font-size: 1.6rem; }
.h-frase { position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 2; margin: 0; padding: .7rem .9rem; border-radius: 16px; background: rgba(255,255,255,.94); color: var(--ink); font: 800 .98rem/1.25 "DM Sans", sans-serif; }
.v34 .h-coment { top: 20px; bottom: auto; right: 10px; }
.v34 .h-cabeza { right: 45%; }

/* puentes para hablar con el equipo */
.puente33 { max-width: 1120px; margin: 1.4rem clamp(1rem, 5vw, 2.2rem); padding: 1.3rem 1.2rem; border-radius: 24px; background: linear-gradient(140deg, var(--violet), #4d2585); color: #fff; box-shadow: 0 24px 50px -24px rgba(111,60,195,.8); }
@media (min-width: 1160px) { .puente33 { margin-left: auto; margin-right: auto; } }
.p33-tit { margin: 0 0 .3rem; font: 2rem/.95 "Bebas Neue", sans-serif; }
.p33-txt { margin: 0 0 1rem; color: #ece2ff; font-size: .98rem; line-height: 1.45; }
.p33-btns { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.p33-res, .p33-wa { display: flex; align-items: center; justify-content: center; gap: .45rem; min-height: 54px; padding: .6rem; border-radius: 16px; text-decoration: none; font: 1.25rem/1 "Bebas Neue", sans-serif; letter-spacing: .04em; text-align: center; }
.p33-res { background: #fff; color: var(--violet); }
.p33-wa { background: var(--wa); color: #06210f; }
.p33-wa svg { width: 20px; height: 20px; }
.guardar33 { display: grid; gap: .9rem; max-width: 1120px; margin: 1.2rem clamp(1rem, 5vw, 2.2rem); padding: 1.1rem 1.2rem; border-radius: 24px; background: var(--c1); border: 1px solid rgba(255,228,92,.45); }
@media (min-width: 1160px) { .guardar33 { margin-left: auto; margin-right: auto; } }
.g33-tit { margin: 0 0 .2rem; font: 1.7rem/1 "Bebas Neue", sans-serif; color: var(--yellow); }
.guardar33 p { margin: 0; font-size: .95rem; color: #ddd3e2; }
.g33-btn { justify-self: start; min-height: 50px; padding: .6rem 1.1rem; border-radius: 16px; border: 0; background: var(--yellow); color: var(--ink); font: 1.25rem/1 "Bebas Neue", sans-serif; letter-spacing: .05em; cursor: pointer; }

/* casos en carrusel */
.carrusel33 { display: grid; grid-auto-flow: column; grid-auto-columns: 92%; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .3rem 0 1rem; margin-top: 1.2rem; scrollbar-width: none; }
.carrusel33::-webkit-scrollbar { display: none; }
.carrusel33 .caso32 { scroll-snap-align: start; grid-template-columns: 128px 1fr; align-items: start; gap: .8rem; }
.carrusel33 .caso32 .ba { aspect-ratio: .55; max-height: none; }
.carrusel33 .c32-txt h3 { font-size: 1.6rem; }
.carrusel33 .c32-txt blockquote { font-size: 1.05rem; }
.carrusel33 .c32-txt li { font-size: .88rem; }
.carrusel33-nav { display: flex; align-items: center; justify-content: center; gap: .9rem; }
.carrusel33-nav button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--l32); background: var(--c1); color: var(--paper); font: 1.6rem/1 "DM Sans", sans-serif; cursor: pointer; }
.c33-puntos { display: flex; gap: 6px; }
.c33-puntos i { width: 8px; height: 8px; border-radius: 50%; background: var(--c3); transition: background .2s, transform .2s; }
.c33-puntos i.on { background: var(--lime); transform: scale(1.3); }

/* zona de entreno: mismo mundo, sin bloque crema */
.v34 .zona-entreno { background: transparent; color: var(--paper); box-shadow: none; border-radius: 0; }
.v34 .sesiones32-intro .eyebrow32 { color: var(--lime); }
.v34 .sesiones32-intro .h32 { color: var(--paper); }
.v34 .sesiones32-intro .h32 em { color: var(--lime); }
.v34 .sesiones32-intro p { color: #ddd3e2; }
.v34 .zona-entreno .hero, .v34 .workout-studio, .v34 .anti-save-strip, .v34 .remedir { background: transparent; color: var(--paper); }
.v34 .zona-entreno .hero::before { display: none; }
.v34 #hero-save-card { display: none; }
.v34 .live-console { border: 1px solid var(--l32); border-radius: 24px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.8); background: var(--c1); }
.v34 .live-console::before { display: none; }
.v34 .live-console .channel-card { border-radius: 14px; background: var(--c2); }
.v34 .studio-shell { border: 0; border-radius: 24px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.8); }
.v34 .workout-studio .section-intro h2 { color: var(--paper); }
.v34 .workout-studio .section-intro > p:last-child { color: #ddd3e2; }
.v34 .button, .v34 .icon-button, .v34 .step-controls button { border-radius: 14px; }
.v34 .video-stage, .v34 .workout-formula { border-radius: 16px; overflow: hidden; }
.v34 .coach-note { border-radius: 18px; transform: none; }
.v34 .anti-save-strip { border: 0; }
.v34 .remedir .nivel-h { color: var(--paper); }
.v34 .remedir .nivel-h span { color: var(--lime); }
.v34 .remedir .nivel-lede { color: #ddd3e2; }

/* barra inferior siempre visible, con guardar */
.v34 .dock { transform: none !important; grid-template-columns: auto auto 1fr auto; background: rgba(34,26,46,.9); }
.dock-guardar { width: 52px; height: 52px; border-radius: 14px; border: 0; background: var(--yellow); display: grid; place-items: center; cursor: pointer; }
.dock-guardar svg { width: 24px; height: 24px; fill: var(--ink); }
.v34 .site-footer { padding-bottom: calc(7rem + env(safe-area-inset-bottom)); }

@media (min-width: 860px) {
  .puente33 { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 2rem; }
  .p33-btns { grid-row: 1 / span 2; grid-column: 2; min-width: 420px; }
  .guardar33 { grid-template-columns: 1fr auto; align-items: center; }
  .carrusel33 { grid-auto-columns: 48%; }
  .carrusel33 .caso32 { grid-template-columns: 200px 1fr; }
  .v34 .dock { grid-template-columns: auto auto 260px auto; }
}
.v34 .zona-entreno .hero-copy { background: transparent; border: 0; box-shadow: none; padding: 0; }
.v34 .zona-entreno .hero-copy::before, .v34 .zona-entreno .hero-copy::after { display: none; }
.v34 .hero-mobile-start { border-radius: 16px; }
.v34 .live-console .channel-card[aria-pressed="true"] { background: var(--yellow); color: var(--ink); }
