/* ════════════════════════════════════
   THEME TOKENS
════════════════════════════════════ */
:root {
  --trans: .22s ease;
  --radius: 18px;
  --burn:     #ff4757; --burn-l:   #fff0f1; --burn-d:   #c9001a;
  --muscle:   #2ed573; --muscle-l: #f0fff5; --muscle-d: #00a846;
  --glutes:   #a55eea; --glutes-l: #f8f0ff; --glutes-d: #7d2fc7;
  --tono:     #ff6b35; --tono-l:   #fff4f0; --tono-d:   #c93d00;
  --yoga:     #ffd235; --yoga-l:   #fffcf0; --yoga-d:   #c9bd00;
  --cta:      #ffcc00; --cta-ink:  #111;
}
[data-theme="light"] {
  --bg:#f7f5f0;--bg2:#ffffff;--bg3:#eeebe4;--bg4:#e5e1d8;
  --hero:#ffffff;--hero-card:rgba(255,255,255,.09);
  --ink:#1a1412;--ink2:#4a4540;--muted:#9a9590;
  --border:rgba(26,20,18,.09);--border2:rgba(26,20,18,.18);
  --nav-bg:rgba(247,245,240,.95);--card-bg:#ffffff;--shadow:rgba(26,20,18,.08);
  --fg:#111;--fg2:#555;
}
[data-theme="light"] .logo .dark{display:none}
[data-theme="dark"] {
  --bg:#2b2424;--bg2:#111111;--bg3:#1a1a1a;--bg4:#242424;
  --hero:#ffffff;--hero-card:rgba(0,0,0,.5);
  --ink:#f2efe9;--ink2:#b8b4ad;--muted:#5a5652;
  --border:rgba(255,255,255,.07);--border2:rgba(255,255,255,.14);
  --nav-bg:rgba(10,10,10,.6);--card-bg:#141414;--shadow:rgba(0,0,0,.4);
  --burn-l:rgba(255,71,87,.12);--muscle-l:rgba(46,213,115,.1);
  --glutes-l:rgba(165,94,234,.1);--tono-l:rgba(255,107,53,.1);--yoga-l:rgba(255,107,53,.1);
  --fg:#f2efe9;--fg2:#b8b4ad;
}
[data-theme="dark"] .logo .light{display:none}

/* ════ RESET & BASE ════ */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--bg);color:var(--ink);font-family:'Nunito',sans-serif;overflow-x:hidden;transition:background .35s ease,color .35s ease}
.hero h1{color:var(--hero)}
button{cursor:pointer;font-family:inherit}
a{text-decoration:none;color:inherit}

/* ════ NAV ════ */
nav.main-nav{position:fixed;top:0;left:0;right:0;z-index:200;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,5vw,2.5rem);background:var(--nav-bg);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:background .35s ease,border-color .35s ease}
.nav-links{display:flex;align-items:center;gap:clamp(.6rem,2vw,1.8rem)}
.nav-links a{font-family:'Nunito',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);transition:color var(--trans)}
.nav-links a:hover{color:var(--ink)}
.nav-cta{background:var(--cta)!important;color:var(--cta-ink)!important;padding:.6rem 1.4rem!important;border-radius:30px;font-weight:800!important;border:none;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:transform var(--trans),box-shadow var(--trans)}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px 18px rgba(255,204,0,.4)}
.theme-toggle{width:38px;height:38px;border-radius:50%;background:var(--bg3);border:1.5px solid var(--border2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--trans),transform var(--trans);flex-shrink:0;color:var(--ink2);padding:0}
.theme-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
[data-theme="light"] .icon-sun{display:none}[data-theme="light"] .icon-moon{display:block}
[data-theme="dark"] .icon-moon{display:none}[data-theme="dark"] .icon-sun{display:block}
.theme-toggle:hover{transform:rotate(20deg) scale(1.08);background:var(--bg4)}
.nav-right{display:flex;align-items:center;gap:.75rem}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px}
.hamburger span{display:block;width:22px;height:2.5px;background:var(--ink);border-radius:2px;transition:background .35s ease}
@media(max-width:700px){
  .hamburger{ display:flex }
  .nav-links{
    display:flex !important;
    flex-direction:column;align-items:flex-start;
    position:fixed;top:60px;left:0;right:0;z-index:199;
    background:var(--bg2);
    border-bottom:1px solid transparent;
    padding:0 clamp(1rem,5vw,2.5rem);
    gap:.2rem;
    overflow:hidden;max-height:0;pointer-events:none;
    transition:max-height .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),border-color .25s ease;
  }
  .nav-links.open{
    max-height:420px;pointer-events:auto;
    padding:1rem clamp(1rem,5vw,2.5rem) 1.5rem;
    border-bottom-color:var(--border);
  }
  .nav-links a{ font-size:.9rem;padding:.65rem 0;width:100%;border-bottom:1px solid var(--border);color:var(--ink); }
  .nav-links a:last-child{ border-bottom:none }
  .nav-links .nav-cta{ margin-top:.5rem;padding:.6rem 1.4rem!important;align-self:flex-start;border-bottom:none!important; }
}
@media(min-width:701px){
  .nav-links{ display:flex !important;flex-direction:row;position:static;max-height:none;overflow:visible;pointer-events:auto;padding:0;border-bottom:none;background:transparent;transition:none;gap:clamp(.6rem,2vw,1.8rem); }
  .nav-links a{ font-size:.75rem;padding:0;width:auto;border-bottom:none !important; }
}

/* ════ SECTION WRAPPER ════ */
.sec-wrap{padding:clamp(2.5rem,7vw,2rem) clamp(1rem,5vw,2rem)}
.sec-head{text-align:center;margin-bottom:clamp(1.8rem,4vw,3rem)}
.sec-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-family:'Nunito',sans-serif;font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#ff8000;margin-bottom:.7rem}
.sec-eyebrow::before,.sec-eyebrow::after{content:'';display:inline-block;width:14px;height:2.5px;background:currentColor;border-radius:2px}
.sec-title{font-family:'Bebas Neue';font-size:clamp(2.4rem,5.5vw,4rem);line-height:1;margin-bottom:.7rem;letter-spacing:.02em;transition:color .35s ease}
.sec-sub{font-family:'Nunito',sans-serif;font-size:.9rem;font-weight:600;color:var(--ink2);line-height:1.65;max-width:600px;margin:0 auto}

/* ════ HERO — DESKTOP ════ */
.hero{
  min-height:100vh;
  padding:clamp(5.5rem,12vw,9rem) clamp(1rem,5vw,2.5rem) 3rem;
  position:relative;overflow:hidden;
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;
  gap:3rem;
}
.blob{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;transition:opacity .5s ease}
.blob1{width:500px;height:500px;background:rgba(255,71,87,.18);top:-100px;right:-100px;animation:blobFloat 10s ease-in-out infinite alternate}
.blob2{width:380px;height:380px;background:rgba(255,107,5,.14);bottom:-80px;left:-80px;animation:blobFloat 13s ease-in-out infinite alternate-reverse}
.blob3{width:300px;height:300px;background:rgba(165,94,234,.12);top:40%;left:40%;animation:blobFloat 11s ease-in-out infinite alternate}
[data-theme="dark"] .blob1{background:rgba(255,71,87,.22)}
[data-theme="dark"] .blob2{background:rgba(255,107,5,.18)}
[data-theme="dark"] .blob3{background:rgba(165,94,234,.16)}
@keyframes blobFloat{from{transform:translate(0,0) scale(1)}to{transform:translate(30px,20px) scale(1.08)}}
.hero-content{position:relative;z-index:1;max-width:620px;flex-shrink:0}

/* Video derecha — desktop */
.hero-video-desktop{
  display:block;
  position:relative;z-index:1;
  flex:1 1 0;
  min-width:0;
  max-width:52%;
  height:clamp(320px,55vh,640px);
  object-fit:cover;
  border-radius:24px 0 0 24px;
  align-self:center;
  object-position:center center;
  margin-right:calc(-1 * clamp(1rem,5vw,2.5rem));
}
.hero-video-mobile{display:none}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:'Nunito',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#fff;border:1.5px solid var(--hero-card);padding:.35rem .9rem;border-radius:30px;margin-bottom:1.6rem;background:var(--hero-card);backdrop-filter:blur(8px)}
.hero h1{font-family:'Bebas Neue';font-size:clamp(3.2rem,6vw,5.5rem);line-height:.95;letter-spacing:.01em;margin-bottom:0.5rem}
.w-burn{color:var(--burn)}.w-muscle{color:var(--muscle)}.w-glutes{color:var(--glutes)}.w-tono{color:var(--tono)}
.hero-sub{font-family:'Nunito',sans-serif;font-size:clamp(.92rem,1.8vw,1.4rem);font-weight:600;color:var(--hero);line-height:1.7;max-width:720px;margin-bottom:1.2rem}
.hero-btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}
.video-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-video-mobile{display:none} /* oculto en desktop */
section.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(44,122,123,.85) 0%,rgba(56,178,172,.6) 100%)}
.hero .accent{color:var(--cta)}
.btn-cta{background:var(--cta);color:var(--cta-ink);padding:.9rem 2.4rem;font-family:'Nunito',sans-serif;font-size:.85rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:40px;transition:transform var(--trans),box-shadow var(--trans)}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(255,204,0,.45)}
.btn-cta:active{transform:translateY(0)}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem;max-width:500px}
.hstat{background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.22);border-radius:var(--radius);padding:1.2rem 1rem;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.18);transition:background .35s ease,border-color .35s ease}
.hstat-num{font-family:'Bebas Neue';font-size:2.4rem;line-height:1;color:#fff}
.hstat-lbl{font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:700;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.1em;margin-top:.2rem}

/* ════ HERO — MOBILE ════ */
@media(max-width:700px){
  .hero{
    min-height:auto;
    padding:0 0 2rem;
    background:linear-gradient(160deg,rgba(30,110,108,.97) 0%,rgba(40,160,140,.9) 100%);
    flex-direction:column;
    justify-content:flex-start;
    gap:0;
  }
  section.hero::after{ display:none }
  .video-bg{ display:none }
  .hero-video-desktop{ display:none }
  .hero-video-mobile{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    border-radius:0 0 24px 24px;
    margin-bottom:1.8rem;
    flex-shrink:0;
  }
  .hero-content{ padding:0 1.2rem; max-width:100%; }
  .hero-eyebrow{ color:#fff; background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.3); }
  .hero h1{ color:#fff }
  .hero-sub{ color:rgba(255,255,255,.88) }
  .hstat-num{ -webkit-text-fill-color:unset; color:#fff }
  .hstat-lbl{ color:rgba(255,255,255,.72) }
  .hstat{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.22) }
  .hero-stats{ margin-top:1.5rem }
}

/* ════ PROGRAMS SLIDER ════ */
#desafios{ position:relative; }
.programs-slider-wrap{
  margin-left:calc(-1 * clamp(1rem,5vw,2.5rem));
  margin-right:calc(-1 * clamp(1rem,5vw,2.5rem));
}
/* clip base — padding only; overflow set per breakpoint */
.programs-slider-clip{ padding:8px 0 24px; }
.programs-slider-outer{
  padding:0 clamp(1rem,5vw,2.5rem);
}
.programs-grid{
  display:flex;
  gap:1.2rem;
  transition:transform .45s cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
.programs-grid::after{
  content:''; display:block; flex:0 0 clamp(1rem,5vw,2.5rem); min-width:clamp(1rem,5vw,2.5rem);
}
.programs-grid .prog-card{ flex:0 0 300px; width:300px }
@media(max-width:900px){ .programs-grid .prog-card{ flex:0 0 260px; width:260px } }

@media(max-width:700px){
  .programs-slider-wrap{ width:100vw; margin-left:-19px; margin-right:0; }
  .programs-slider-clip{
    overflow-x:auto; overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:1rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:8px 0 16px;
    width:100vw;
  }
  .programs-slider-clip::-webkit-scrollbar{ display:none }
  .programs-slider-outer{ padding:0; width:max-content; }
  .programs-grid{
    transform:none !important; transition:none;
    padding-left:1rem; padding-right:0; gap:.6rem;
  }
  .programs-grid .prog-card{
    flex:0 0 calc(100vw - 1rem - 2.5rem);
    width:calc(100vw - 1rem - 2.5rem);
    scroll-snap-align:start;
  }
  .programs-grid::after{
    content:''; display:block; flex:0 0 1rem; min-width:1rem;
  }
}

/* Slider structure */
#desafios::before,#desafios::after,#notas::before,#notas::after{ display:none }
#desafios{ position:static }
#notas{ position:static }

.programs-slider-wrap{ position:relative; }

/* Desktop clip: relative + overflow:clip (clips grid but NOT absolute arrows) */
@media(min-width:701px){
  .programs-slider-clip{ position:relative; overflow:clip; }
}

/* clip: position:relative anchors arrows; overflow:clip hides grid but NOT absolute arrows */


.programs-slider-outer{ padding:0 clamp(1rem,5vw,2.5rem); }

/* Arrows: top:0/bottom:0 aligns exactly with card area (= clip height minus its padding) */
.slider-arrow{
  position:absolute;
  top:0; bottom:0;
  width:100px;
  display:flex;align-items:center;
  border:none;background:transparent;
  cursor:pointer;z-index:20;padding:0;
  transition:opacity var(--trans);
}
.slider-arrow .arr-circle{
  width:44px;height:44px;border-radius:50%;
  background:var(--card-bg);border:1.5px solid var(--border2);
  display:flex;align-items:center;justify-content:center;
  color:var(--ink);flex-shrink:0;
  box-shadow:0 2px 12px var(--shadow);
  transition:background var(--trans),color var(--trans),border-color var(--trans),box-shadow var(--trans),transform var(--trans);
  margin:5px
}
.slider-arrow:hover .arr-circle{ background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 4px 20px var(--shadow);transform:scale(1.06); }
.slider-arrow:active .arr-circle{ transform:scale(.93) }

.slider-arrow-left{ left:0;justify-content:flex-start;padding-left:8px;background:linear-gradient(to right,var(--bg) 40%,transparent 100%);opacity:0;pointer-events:none; }
.slider-arrow-left.visible{ opacity:1;pointer-events:auto }
.slider-arrow-right{ right:0;justify-content:flex-end;padding-right:8px;background:linear-gradient(to left,var(--bg) 40%,transparent 100%); }
.slider-arrow-right.hidden{ opacity:0;pointer-events:none }

@media(max-width:700px){ .slider-arrow{ display:none } }

/* dots programs */
.slider-dots{display:none;justify-content:center;align-items:center;gap:5px;margin-top:1rem}
@media(max-width:700px){.slider-dots{display:flex}}
.slider-dot{height:4px;border-radius:2px;background:var(--border2);transition:background .3s ease,width .3s ease,opacity .3s ease;cursor:pointer;opacity:.5;width:18px}
.slider-dot.active{width:30px;background:var(--ink);opacity:1}

.ver-todos{display:flex;justify-content:center;margin-top:2rem}
.btn-ver-todos{display:inline-flex;align-items:center;gap:.5rem;font-family:'Nunito',sans-serif;font-size:.8rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:.75rem 2rem;border-radius:40px;background:transparent;border:2px solid var(--border2);color:var(--ink);transition:all var(--trans)}
.btn-ver-todos:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow)}

/* ════ PROG CARDS ════ */
.prog-card{border-radius:22px;padding:2rem;cursor:pointer;position:relative;overflow:hidden;border:2px solid transparent;transition:transform var(--trans),box-shadow var(--trans),border-color var(--trans);display:flex;flex-direction:column;gap:1rem;min-height:340px}
.prog-card:hover{transform:translateY(-5px)}.prog-card:active{transform:translateY(-2px)}
.card-blob{position:absolute;width:220px;height:220px;border-radius:50%;filter:blur(70px);top:-50px;right:-50px;opacity:.35;pointer-events:none;transition:transform .5s ease}
.prog-card:hover .card-blob{transform:scale(1.2)}
.c-burn{background:var(--burn-l);border-color:rgba(255,71,87,.2)}.c-muscle{background:var(--muscle-l);border-color:rgba(46,213,115,.2)}.c-glutes{background:var(--glutes-l);border-color:rgba(165,94,234,.2)}.c-tono{background:var(--tono-l);border-color:rgba(255,107,53,.2)}.c-yoga{background:var(--yoga-l);border-color:rgba(255,204,0,.2)}
.c-burn:hover{box-shadow:0 8px 24px rgba(255,71,87,.15);border-color:rgba(255,71,87,.42)}.c-muscle:hover{box-shadow:0 8px 24px rgba(46,213,115,.15);border-color:rgba(46,213,115,.42)}.c-glutes:hover{box-shadow:0 8px 24px rgba(165,94,234,.15);border-color:rgba(165,94,234,.42)}.c-tono:hover{box-shadow:0 8px 24px rgba(255,107,53,.15);border-color:rgba(255,107,53,.42)}.c-yoga:hover{box-shadow:0 8px 24px rgba(255,204,0,.15);border-color:rgba(255,204,0,.42)}
.c-burn .card-blob{background:var(--burn)}.c-muscle .card-blob{background:var(--muscle)}.c-glutes .card-blob{background:var(--glutes)}.c-tono .card-blob{background:var(--tono)}.c-yoga .card-blob{background:var(--yoga)}
.prog-icon-wrap{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.9rem;transition:transform var(--trans);box-shadow:0 4px 16px rgba(0,0,0,.08)}
.prog-card:hover .prog-icon-wrap{transform:scale(1.1) rotate(-5deg)}
.c-burn .prog-icon-wrap{background:rgba(255,71,87,.15)}.c-muscle .prog-icon-wrap{background:rgba(46,213,115,.15)}.c-glutes .prog-icon-wrap{background:rgba(165,94,234,.15)}.c-tono .prog-icon-wrap{background:rgba(255,107,53,.15)}.c-yoga .prog-icon-wrap{background:rgba(255,205,53,.15)}
.prog-name{font-family:'Bebas Neue';font-size:1.85rem;letter-spacing:.02em;line-height:1}
.c-burn .prog-name{color:var(--burn-d)}.c-muscle .prog-name{color:var(--muscle-d)}.c-glutes .prog-name{color:var(--glutes-d)}.c-tono .prog-name{color:var(--tono-d)}.c-yoga .prog-name{color:var(--yoga-d)}
.prog-desc{font-family:'Nunito',sans-serif;font-size:.82rem;font-weight:600;color:var(--ink2);line-height:1.6}
.prog-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}
.prog-tag{font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:.26rem .62rem;border-radius:20px;background:rgba(255,255,255,.65);border:1px solid var(--border2);transition:background .35s ease}
[data-theme="dark"] .prog-tag{background:rgba(255,255,255,.08)}
.prog-int{margin-top:.2rem}
.pi-lbl{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.32rem}
.pi-track{height:5px;background:rgba(26,20,18,.1);border-radius:3px;overflow:hidden}
[data-theme="dark"] .pi-track{background:rgba(255,255,255,.1)}
.pi-fill{height:100%;border-radius:3px;transition:width 1.1s cubic-bezier(.16,1,.3,1)}
.c-burn .pi-fill{background:linear-gradient(90deg,var(--burn-d),var(--burn))}.c-muscle .pi-fill{background:linear-gradient(90deg,var(--muscle-d),var(--muscle))}.c-glutes .pi-fill{background:linear-gradient(90deg,var(--glutes-d),var(--glutes))}.c-tono .pi-fill{background:linear-gradient(90deg,var(--tono-d),var(--tono))}.c-yoga .pi-fill{background:linear-gradient(90deg,var(--yoga-d),var(--yoga))}
.prog-cta-row{display:flex;align-items:center;margin-top:.4rem}
.prog-cta-btn{display:flex;align-items:center;gap:.4rem;font-family:'Nunito',sans-serif;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:.55rem 1.2rem;border-radius:30px;border:none;color:#fff;transition:transform var(--trans),box-shadow var(--trans)}
.prog-cta-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.c-burn .prog-cta-btn{background:var(--burn)}.c-muscle .prog-cta-btn{background:var(--muscle-d)}.c-glutes .prog-cta-btn{background:var(--glutes-d)}.c-tono .prog-cta-btn{background:var(--tono-d)}.c-yoga .prog-cta-btn{background:var(--yoga-d)}

/* ════ VIDEOS SECTION ════ */
.videos-section{background:var(--bg2);padding:clamp(3rem,6vw,5rem) clamp(1rem,5vw,2.5rem);border-top:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .35s ease,border-color .35s ease;position:relative;overflow:hidden}
.vtabs-wrap{border-bottom:1.5px solid var(--border);margin:1.8rem 0 2rem;overflow-x:auto;scrollbar-width:none}
.vtabs-wrap::-webkit-scrollbar{display:none}
.vtabs-row{display:flex;gap:0;width:max-content;min-width:100%}
.vtab{padding:.7rem 1.3rem;font-family:'Nunito',sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:none;border:none;border-bottom:2.5px solid transparent;white-space:nowrap;cursor:pointer;transition:color var(--trans),border-color var(--trans)}
.vtab:hover{color:var(--ink2)}.vtab.on{color:var(--tono);border-bottom-color:var(--tono)}
.vpanel{display:none}.vpanel.on{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1rem}
.vcard{background:var(--bg);border:1.5px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:transform var(--trans),box-shadow var(--trans),border-color var(--trans)}
.vcard:hover{transform:translateY(-5px);box-shadow:0 12px 36px var(--shadow)}.vcard:active{transform:translateY(-2px)}
.vthumb{aspect-ratio:16/9;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg4)}
.vthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.vcard:hover .vthumb img{transform:scale(1.06)}
.vthumb::before{content:'';position:absolute;inset:0;opacity:1;transition:opacity .3s ease;z-index:0}
.vcard:hover .vthumb::before{opacity:.4}
.gt-burn .vthumb::before{background:linear-gradient(135deg,#ff4757,#ff8a94)}.gt-muscle .vthumb::before{background:linear-gradient(135deg,#2ed573,#7bed9f)}.gt-glutes .vthumb::before{background:linear-gradient(135deg,#a55eea,#cc9fff)}.gt-tono .vthumb::before{background:linear-gradient(135deg,#ff6b35,#ffab8c)}.gt-nutr .vthumb::before{background:linear-gradient(135deg,#f9ca24,#f0932b)}
.vplay-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.28);opacity:0;transition:opacity var(--trans)}
.vcard:hover .vplay-overlay{opacity:1}
.vplay-circle{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.25);transform:scale(.9);transition:transform var(--trans)}
.vcard:hover .vplay-circle{transform:scale(1)}.vplay-circle svg{margin-left:3px}
.vdur{position:absolute;bottom:8px;right:9px;z-index:3;font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:800;background:rgba(0,0,0,.72);color:#fff;padding:2px 7px;border-radius:10px}
.vcat-badge{position:absolute;top:8px;left:8px;z-index:3;font-family:'Nunito',sans-serif;font-size:.56rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:10px;color:#fff}
.b-burn{background:var(--burn)}
.b-muscle{background:var(--muscle-d)}
.b-glutes{background:var(--glutes-d)}
.b-tono{background:var(--tono-d)}
.b-nutr{background:#999}
.vinfo{padding:.85rem 1rem}
.vtitle{font-family:'Nunito',sans-serif;font-size:.88rem;font-weight:800;line-height:1.35;margin-bottom:.3rem}
.vmeta{font-family:'Nunito',sans-serif;font-size:.85rem;font-weight:600;color:var(--muted)}

/* ════ NOTES SECTION (home) — carrusel igual a desafíos ════ */
.notes-section{
  padding:clamp(3rem,6vw,5rem) 0;
  background:var(--bg);
  transition:background .35s ease;
}
.notes-section .sec-head{
  padding:0 clamp(1rem,5vw,2.5rem);
  margin-bottom:clamp(1.8rem,4vw,3rem);
}

#notes-body .notes-section{
  padding:clamp(1rem,2vw,1rem) 0;
  background:var(--bg);
  transition:background .35s ease;
}
#notes-body .note-cat{display:none}

#notesGrid{
  display:flex;
  gap:1.2rem;
  transition:transform .45s cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
#notesGrid::after{
  content:''; display:block; flex:0 0 clamp(1rem,5vw,2.5rem); min-width:clamp(1rem,5vw,2.5rem);
}
/* cards de notas: mismo ancho que prog-card */
#notesGrid .note-card{
  flex:0 0 300px;width:300px;border-radius:18px;
}
@media(max-width:900px){ #notesGrid .note-card{ flex:0 0 260px;width:260px } }
@media(max-width:700px){
  #notesClip{
    overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:1rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:8px 0 16px;
    width:100vw;
  }
  #notesClip::-webkit-scrollbar{display:none}
  #notesSliderOuter{padding:0;width:max-content}
  #notesGrid{
    transform:none !important;transition:none;
    padding-left:1rem;padding-right:0;gap:.6rem;
  }
  #notesGrid .note-card{
    flex:0 0 calc(100vw - 1rem - 2.5rem);
    width:calc(100vw - 1rem - 2.5rem);
    scroll-snap-align:start;
  }
  #notesGrid::after{
    content:''; display:block; flex:0 0 1rem; min-width:1rem;
  }
}
.note-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:18px;overflow:hidden;cursor:pointer;transition:transform var(--trans),box-shadow var(--trans),border-color var(--trans);display:flex;flex-direction:column}
.note-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px var(--shadow)}.note-card:active{transform:translateY(-1px)}
.note-img{aspect-ratio:16/9;overflow:hidden;position:relative;background:var(--bg3)}
.note-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.note-card:hover .note-img img{transform:scale(1.05)}
.note-body{padding:1.2rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.note-cat{display:inline-flex;align-items:center;gap:.35rem;font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;padding:.22rem .6rem;border-radius:20px;color:#fff;width:fit-content}
.nc-burn{background:var(--burn)}.nc-muscle{background:var(--muscle-d)}.nc-glutes{background:var(--glutes-d)}.nc-tono{background:var(--tono-d)}.nc-nutr{background:#888}
.note-title{font-family:'Bebas Neue';font-size:1.35rem;letter-spacing:.03em;line-height:1.1}
.note-excerpt{font-family:'Nunito',sans-serif;font-size:.8rem;font-weight:600;color:var(--ink2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.note-meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.7rem;border-top:1px solid var(--border)}
.note-author{font-family:'Nunito',sans-serif;font-size:.65rem;font-weight:700;color:var(--muted)}
.note-readmore{font-family:'Nunito',sans-serif;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:none;border:none;display:flex;align-items:center;gap:.25rem;transition:gap var(--trans)}
.note-readmore:hover{gap:.5rem}

/* ════ TESTIMONIALS ════ */
.testi-section{padding:clamp(3rem,6vw,5rem) clamp(1rem,5vw,2.5rem);background:var(--bg2);border-top:1px solid var(--border);transition:background .35s ease}

/* Desktop: grid normal */
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;margin-top:2.5rem}

/* Mobile: carrusel con scroll snap */
@media(max-width:700px){
  .testi-section{ padding:clamp(2rem,5vw,3rem) 0 clamp(2rem,5vw,3rem); }
  .testi-section .sec-head{ padding:0 1.2rem; }

  .tgrid{
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:1.2rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:.8rem;
    padding:0 1.2rem 1rem;
    margin-top:1.5rem;
  }
  .tgrid::-webkit-scrollbar{ display:none }
  .tgrid::after{ content:''; display:block; flex:0 0 .4rem; min-width:.4rem; }

  .tcard{
    flex:0 0 calc(100vw - 3.2rem);
    scroll-snap-align:start;
    min-width:0;
  }
}

.tcard{border-radius:var(--radius);padding:1.5rem;border:1.5px solid var(--border);background:var(--card-bg);transition:transform var(--trans),box-shadow var(--trans),background .35s ease}
.tcard:hover{transform:translateY(-3px);box-shadow:0 8px 28px var(--shadow)}
.tstars{font-size:.9rem;letter-spacing:2px;margin-bottom:.8rem}
.ttext{font-family:'Nunito',sans-serif;font-size:.84rem;font-weight:600;line-height:1.7;color:var(--ink2);font-style:italic;margin-bottom:1.2rem}
.tauth{display:flex;align-items:center;gap:.75rem}
.tav{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Nunito',sans-serif;font-weight:900;font-size:.72rem;color:#fff}
.tav-burn{background:linear-gradient(135deg,var(--burn-d),var(--burn))}.tav-muscle{background:linear-gradient(135deg,var(--muscle-d),var(--muscle))}.tav-glutes{background:linear-gradient(135deg,var(--glutes-d),var(--glutes))}
.tnm{font-family:'Nunito',sans-serif;font-size:.82rem;font-weight:800}
.tprog{font-family:'Nunito',sans-serif;font-size:.64rem;font-weight:600;color:var(--muted)}

/* dots testimonials — solo mobile */
.testi-dots{
  display:none;
  justify-content:center;align-items:center;
  gap:5px;margin-top:.75rem;
}
@media(max-width:700px){ .testi-dots{ display:flex } }
.testi-dot{
  height:4px;border-radius:2px;
  background:var(--border2);
  transition:background .3s ease,width .3s ease,opacity .3s ease;
  cursor:pointer;opacity:.5;width:18px;
}
.testi-dot.active{ width:30px;background:var(--ink);opacity:1 }

/* ════ CTA BANNER ════ */
.cta-banner{margin:clamp(1rem,5vw,2.5rem) clamp(3rem,6vw,5rem);background:#000;color:#fff;border-radius:24px;padding:clamp(2.5rem,5vw,3.5rem) clamp(2rem,5vw,4rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;position:relative;overflow:hidden;transition:background .35s ease}
.cta-banner::before{content:'';position:absolute;width:320px;height:320px;border-radius:50%;filter:blur(80px);background:rgba(255,71,87,.25);top:-90px;right:120px;pointer-events:none}
.cta-banner::after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;filter:blur(70px);background:rgba(165,94,234,.2);bottom:-60px;right:-40px;pointer-events:none}
.cta-text{position:relative;z-index:1}
.cta-title{font-family:'Bebas Neue';font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin-bottom:.5rem;letter-spacing:.02em}
.cta-sub{font-family:'Nunito',sans-serif;font-size:.9rem;font-weight:600;color:rgba(255,255,255,.65)}
.cta-btn{position:relative;z-index:1;flex-shrink:0;background:var(--cta);color:var(--cta-ink);padding:1rem 2.6rem;font-family:'Nunito',sans-serif;font-size:.85rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;border:none;border-radius:40px;transition:transform var(--trans),box-shadow var(--trans)}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(255,204,0,.4)}
@media(max-width:700px){
  .cta-banner{margin:1rem 1rem;flex-direction:column;align-items:flex-start}
  .cta-btn{width:100%;justify-content:center;text-align:center}
}

/* ════ FOOTER ════ */
footer{border-top:1px solid var(--border);padding:2rem clamp(1rem,5vw,2.5rem);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;transition:border-color .35s ease}
.footer-copy{font-family:'Nunito',sans-serif;font-size:.7rem;font-weight:600;color:var(--muted)}

/* ════ PROGRAM PAGE ════ */
.prog-page{padding-top:60px}
.back-bar{display:flex;align-items:center;gap:.75rem;padding:.8rem clamp(1rem,5vw,2.5rem);background:var(--bg2);border-bottom:1px solid var(--border);transition:background .35s ease}
.back-btn{display:flex;align-items:center;gap:.4rem;font-family:'Nunito',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);background:none;border:1.5px solid var(--border2);padding:.38rem .9rem;border-radius:20px;transition:all var(--trans)}
.back-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.back-sep{color:var(--muted);font-size:.7rem}
.back-prog-nm{font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:800}
.prog-layout{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 100px)}
@media(max-width:900px){.prog-layout{grid-template-columns:1fr}}
.prog-sb{background:var(--bg2);border-right:1px solid var(--border);position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--border2) transparent;transition:background .35s ease,border-color .35s ease}
@media(max-width:900px){.prog-sb{position:relative;top:0;height:auto;border-right:none;border-bottom:1px solid var(--border)}}
.prog-sb::-webkit-scrollbar{width:4px}.prog-sb::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}
.sb-head{padding:1.3rem 1.2rem;border-bottom:1px solid var(--border);flex-shrink:0}
.sb-badge{display:inline-flex;align-items:center;gap:.35rem;font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;padding:.25rem .7rem;border-radius:20px;margin-bottom:.8rem;color:#fff}
.sb-plan{font-family:'Bebas Neue';font-size:1.4rem;letter-spacing:.02em;line-height:1.1;margin-bottom:.9rem;transition:color .35s ease}
.sb-ring-row{display:flex;align-items:center;gap:.8rem}
.ring-svg-w{position:relative;width:52px;height:52px;flex-shrink:0}.ring-svg-w svg{transform:rotate(-90deg)}
.rc{fill:none;stroke:var(--bg3);stroke-width:5;transition:stroke .35s ease}
.rf{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:125.66;stroke-dashoffset:125.66;transition:stroke-dashoffset 1.3s cubic-bezier(.16,1,.3,1)}
.ring-mid{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue';font-size:.95rem}
.ri-num{font-family:'Bebas Neue';font-size:1.5rem;line-height:1}
.ri-lbl{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.wg{border-bottom:1px solid var(--border)}
.wg-h{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1.2rem;cursor:pointer;user-select:none;transition:background var(--trans)}.wg-h:hover{background:var(--bg3)}
.wg-left{flex:1;min-width:0}
.wg-num{font-family:'Nunito',sans-serif;font-size:.56rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.wg-name{font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:800;margin-bottom:.3rem;transition:color .35s ease}
.wg-bar{height:3px;background:var(--bg3);border-radius:2px;overflow:hidden}.wg-fill{height:100%;border-radius:2px}
.wg-toggle{font-size:.6rem;color:var(--muted);transition:transform var(--trans);flex-shrink:0}.wg.open .wg-toggle{transform:rotate(180deg)}
.day-list{display:none}.wg.open .day-list{display:flex;flex-direction:column}
.day-item{display:flex;align-items:center;gap:.6rem;padding:.55rem 1.2rem .55rem 1.5rem;cursor:pointer;transition:background var(--trans);position:relative}
.day-item:hover{background:var(--bg3)}.day-item.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:0 2px 2px 0}
.ds{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Nunito',sans-serif;font-size:.6rem;border:1.5px solid var(--border2);background:var(--bg);transition:background .2s,border-color .2s}
.ds.done,.ds.curr{color:#fff}.ds.lock{opacity:.38}
.di-info{flex:1;min-width:0}
.di-nm{font-family:'Nunito',sans-serif;font-size:.74rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .35s ease}
.di-meta{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:600;color:var(--muted)}
.di-dur{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:700;color:var(--muted);flex-shrink:0}
.prog-main{display:flex;flex-direction:column;min-width:0}
.video-area{position:relative;background:var(--bg);aspect-ratio:16/9;overflow:hidden;cursor:pointer;transition:background .35s ease;max-height:70vh}
.vid-gradient{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
.vorb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:vd 9s ease-in-out infinite alternate;pointer-events:none}
.vo1{width:280px;height:280px;top:-80px;left:-60px}.vo2{width:220px;height:220px;bottom:-40px;right:60px;animation-delay:-5s}
@keyframes vd{from{transform:translate(0,0) scale(1)}to{transform:translate(25px,15px) scale(1.12)}}
.vid-center{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding:1rem}
.big-play{width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(10px);border:2.5px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;transition:transform var(--trans),background var(--trans);box-shadow:0 0 40px rgba(0,0,0,.3)}
.video-area:hover .big-play{transform:scale(1.08);filter:brightness(1.15)}
.vt-title{font-family:'Bebas Neue';font-size:clamp(1.2rem,3vw,1.9rem);color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.6);letter-spacing:.04em}
.vt-sub{font-family:'Nunito',sans-serif;font-size:.7rem;font-weight:700;color:rgba(255,255,255,.65);letter-spacing:.08em}
.player-bar{background:var(--bg2);border-bottom:1px solid var(--border);padding:.7rem clamp(.8rem,3vw,1.5rem) .55rem;transition:background .35s ease}
.p-track{height:5px;background:var(--bg3);border-radius:3px;margin-bottom:.6rem;cursor:pointer;position:relative;overflow:visible}
.p-fill{height:100%;border-radius:3px;width:35%;position:relative;background:var(--prog-color,var(--burn));color:var(--prog-color,var(--burn))}
.p-fill::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--bg2);box-shadow:0 0 0 2.5px var(--prog-color,var(--burn));transition:background .35s ease}
.p-controls{display:flex;align-items:center;gap:.6rem}
.pc-btn{background:none;border:none;color:var(--ink2);display:flex;align-items:center;opacity:.7;transition:opacity var(--trans),transform var(--trans);padding:.2rem}.pc-btn:hover{opacity:1;transform:scale(1.1)}
.pc-play{width:32px;height:32px;border-radius:50%;opacity:1!important;justify-content:center;flex-shrink:0;border:none;color:#fff;transition:transform var(--trans)}.pc-play:hover{transform:scale(1.08)}
.p-time{font-family:'Nunito',sans-serif;font-size:.62rem;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.p-right{margin-left:auto;display:flex;align-items:center;gap:.4rem;}
.p-hd{font-family:'Nunito',sans-serif;font-size:.55rem;font-weight:800;color:var(--muted);border:1.5px solid var(--border2);padding:.15rem .45rem;border-radius:8px;display:none}
.vid-pills{display:flex;gap:.5rem;padding:.75rem clamp(.8rem,3vw,1.5rem);overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border)}
.vid-pills::-webkit-scrollbar{display:none}
.vpill{display:flex;align-items:center;gap:.3rem;flex-shrink:0;background:var(--bg3);border:1.5px solid var(--border);padding:.28rem .7rem;border-radius:20px;font-family:'Nunito',sans-serif;font-size:.62rem;font-weight:700;color:var(--ink2);white-space:nowrap;transition:background .35s ease,border-color .35s ease}
.vpill-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.ctabs-wrap{border-bottom:1.5px solid var(--border);padding:0 clamp(.8rem,3vw,1.5rem);overflow-x:auto;scrollbar-width:none}
.ctabs-wrap::-webkit-scrollbar{display:none}
.ctabs{display:flex;gap:0;width:max-content;min-width:100%}
.ctab{padding:.8rem 1.1rem;font-family:'Nunito',sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:none;border:none;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;white-space:nowrap;cursor:pointer;transition:color var(--trans),border-color var(--trans)}
.ctab:hover{color:var(--ink2)}.ctab.on{color:var(--ink);border-bottom-color:var(--ink)}
.tpanels{padding:clamp(.8rem,3vw,1.5rem)}.tpanel{display:none}.tpanel.on{display:block}
.tdesc-p{font-family:'Nunito',sans-serif;font-size:.85rem;font-weight:600;line-height:1.75;color:var(--ink2);margin-bottom:1.2rem}
.coach-row{display:none;align-items:center;gap:.8rem;background:var(--bg3);border:1.5px solid var(--border);border-radius:14px;padding:.9rem;transition:background .35s ease}
.coach-av{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Nunito',sans-serif;font-weight:900;font-size:.9rem;color:#fff}
.coach-nm{font-family:'Nunito',sans-serif;font-size:.85rem;font-weight:800;margin-bottom:.15rem}
.coach-role{font-family:'Nunito',sans-serif;font-size:.62rem;font-weight:600;color:var(--muted)}
.ex-list{display:flex;flex-direction:column;gap:.45rem}
.ex-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:.75rem;background:var(--bg3);border:1.5px solid var(--border);border-radius:12px;padding:.75rem;transition:border-color var(--trans),background var(--trans)}
.ex-row:hover{background:var(--bg);border-color:var(--border2)}.ex-row.hl{border-left-width:3px}
.ex-num-c{width:34px;height:34px;border-radius:50%;background:var(--bg);border:1.5px solid var(--border2);display:flex;align-items:center;justify-content:center;font-family:'Nunito',sans-serif;font-size:.62rem;font-weight:700;color:var(--muted);transition:background .35s ease}
.ex-nm{font-family:'Nunito',sans-serif;font-size:.8rem;font-weight:800;margin-bottom:.1rem}
.ex-mu{font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.ex-r{text-align:right}
.ex-sets{font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:800;color:var(--ink2)}
.ex-rpe{font-family:'Nunito',sans-serif;font-size:.55rem;font-weight:800;padding:.15rem .4rem;border-radius:8px;text-transform:uppercase;letter-spacing:.07em;margin-top:.2rem;display:inline-block}
.rh{background:rgba(255,71,87,.12);color:var(--burn)}.rm{background:rgba(255,107,53,.12);color:var(--tono-d)}.rl{background:rgba(46,213,115,.12);color:var(--muscle-d)}
.rel-section{border-top:1px solid var(--border);padding:clamp(.8rem,3vw,1.5rem)}
.rel-list{display:flex;flex-direction:column;gap:.55rem}
.rel-item{display:flex;gap:.75rem;align-items:flex-start;padding:.45rem;border-radius:12px;border:1.5px solid transparent;cursor:pointer;transition:background var(--trans),border-color var(--trans)}
.rel-item:hover{background:var(--bg3);border-color:var(--border)}.rel-item.playing{background:var(--bg3);border-color:var(--border2)}
.rel-thumb{width:88px;aspect-ratio:16/9;border-radius:10px;overflow:hidden;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg4)}
.rel-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rel-play-ic{position:relative;z-index:1;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.rel-play-ic svg{margin-left:2px}
.rel-dur{position:absolute;bottom:4px;right:4px;z-index:2;font-family:'Nunito',sans-serif;font-size:.55rem;font-weight:800;background:rgba(0,0,0,.65);color:#fff;padding:1px 5px;border-radius:8px}
.rel-bar{display:none;position:absolute;bottom:0;left:0;right:0;height:3px}.rel-item.playing .rel-bar{display:block}
.rel-badge-sm{font-family:'Nunito',sans-serif;font-size:.55rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .4rem;border-radius:8px;display:inline-block;margin-bottom:.2rem;color:#fff}
.rel-nm{font-family:'Nunito',sans-serif;font-size:.76rem;font-weight:800;line-height:1.35;margin-bottom:.2rem}
.rel-meta{font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:600;color:var(--muted)}
.next-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem clamp(.8rem,3vw,1.5rem);background:var(--bg2);border-top:1px solid var(--border);position:sticky;bottom:0;z-index:5;transition:background .35s ease}
.next-info .next-lbl{font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}
.next-info .next-nm{font-family:'Nunito',sans-serif;font-size:.88rem;font-weight:800;transition:color .35s ease}
.next-btns{display:flex;gap:.6rem;flex-shrink:0}
.btn-done{display:flex;align-items:center;gap:.4rem;padding:.72rem 1.1rem;background:var(--bg3);border:1.5px solid var(--border2);border-radius:30px;color:var(--ink2);font-family:'Nunito',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;transition:all var(--trans)}
.btn-done:hover{background:rgba(46,213,115,.15);border-color:var(--muscle-d);color:var(--muscle-d)}.btn-done.marked{background:rgba(46,213,115,.12);border-color:var(--muscle-d);color:var(--muscle-d)}
.btn-next-v{display:flex;align-items:center;gap:.4rem;padding:.72rem 1.4rem;border:none;border-radius:30px;color:#fff;font-family:'Nunito',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;transition:transform var(--trans),box-shadow var(--trans)}
.btn-next-v:hover{transform:translateY(-2px)}

/* ════ NOTE DETAIL PAGE ════ */
.note-page{padding-top:60px}
.breadcrumb{display:flex;align-items:center;gap:8px;font-family:'Nunito',sans-serif;font-size:13px;font-weight:700;color:var(--muted);max-width:860px;margin-bottom: 2rem;}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color .15s;white-space:nowrap}
.breadcrumb a:hover{color:var(--burn)}
.breadcrumb-sep{opacity:.4;font-size:15px;line-height:1;flex-shrink:0}
.breadcrumb-current{color:var(--ink);font-family:'Nunito',sans-serif;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.note-detail-wrap{max-width:860px;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,5vw,2.5rem)}
.note-detail-cat{display:inline-flex;align-items:center;gap:.35rem;font-family:'Nunito',sans-serif;font-size:.62rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;padding:.25rem .7rem;border-radius:20px;color:#fff;margin-bottom:1rem}
.note-detail-title{font-family:'Bebas Neue';font-size:clamp(2.2rem,5vw,4rem);line-height:1;letter-spacing:.02em;margin-bottom:1rem;margin-top:2rem;}
.note-detail-img{width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;margin-bottom:1.5rem;background:var(--bg3)}
.note-detail-img img{width:100%;height:100%;object-fit:cover}
.note-detail-meta{display:flex;align-items:center;gap:1.2rem;font-family:'Nunito',sans-serif;font-size:.72rem;font-weight:700;color:var(--muted);margin-bottom:1.8rem;flex-wrap:wrap}
.note-detail-body{font-family:'Nunito',sans-serif;font-size:.95rem;font-weight:600;color:var(--ink2);line-height:1.85}
.note-detail-body p{margin-bottom:1.2rem}
.note-detail-body h3{font-family:'Bebas Neue';font-size:1.6rem;letter-spacing:.03em;color:var(--ink);margin:1.8rem 0 .7rem}
.related-notes-section{padding:2.5rem clamp(1rem,5vw,2.5rem);border-top:1px solid var(--border);background:var(--bg2);transition:background .35s ease}
.related-notes-title{font-family:'Nunito',sans-serif;font-size:.65rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem; text-align:center}
.related-notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;max-width: 1260px;
    margin: 0 auto;}

/* ════ NOTAS PAGE ════ */
.notes-page{padding-top:60px}

/* Hero */
.notes-hero{
  position:relative;
  padding:clamp(5.5rem,12vw,9rem) clamp(1rem,5vw,2.5rem) clamp(3rem,6vw,5rem);
  overflow:hidden;
  background:var(--bg2);
  display:flex;
  align-items:center;
}
[data-theme="dark"] .notes-hero{background:#111}
.notes-hero .blob{pointer-events:none;position:absolute;border-radius:50%;filter:blur(80px);opacity:.35}
.notes-hero .blob1{width:500px;height:500px;top:-180px;left:-120px;background:radial-gradient(circle,#ff6b2b,transparent)}
.notes-hero .blob2{width:400px;height:400px;bottom:-100px;right:-80px;background:radial-gradient(circle,#7c3aed,transparent)}
.notes-hero-bg-img{
  position:absolute;top:0;right:0;bottom:0;width:50%;
  background:url('assets/images/hero-desafios.jpg') center/cover no-repeat;
  -webkit-mask:linear-gradient(to right, transparent 0%, black 35%);
  mask:linear-gradient(to right, transparent 0%, black 35%);
  opacity:.45;
}
.bienestar .notes-hero-bg-img{
  position:absolute;top:0;right:0;bottom:0;width:50%;
  background:url('assets/images/hero-bienestar.jpg') center/cover no-repeat;
  -webkit-mask:linear-gradient(to right, transparent 0%, black 35%);
  mask:linear-gradient(to right, transparent 0%, black 35%);
  opacity:.45;
}
.entrenamiento .notes-hero-bg-img{
  position:absolute;top:0;right:0;bottom:0;width:50%;
  background:url('assets/images/hero-entrenamiento.jpg') center/cover no-repeat;
  -webkit-mask:linear-gradient(to right, transparent 0%, black 35%);
  mask:linear-gradient(to right, transparent 0%, black 35%);
  opacity:.45;
}
.nutricion .notes-hero-bg-img{
  position:absolute;top:0;right:0;bottom:0;width:50%;
  background:url('assets/images/hero-nutricion.jpg') center/cover no-repeat;
  -webkit-mask:linear-gradient(to right, transparent 0%, black 35%);
  mask:linear-gradient(to right, transparent 0%, black 35%);
  opacity:.45;
}
.mentalidad .notes-hero-bg-img{
  position:absolute;top:0;right:0;bottom:0;width:50%;
  background:url('assets/images/hero-mentalidad.jpg') center/cover no-repeat;
  -webkit-mask:linear-gradient(to right, transparent 0%, black 35%);
  mask:linear-gradient(to right, transparent 0%, black 35%);
  opacity:.45;
}

.video-hero-bg-img{
  position:absolute;top:0;right:0;bottom:0;width:50%;
  background:url('assets/images/hero-video.jpg') center/cover no-repeat;
  -webkit-mask:linear-gradient(to right, transparent 0%, black 35%);
  mask:linear-gradient(to right, transparent 0%, black 35%);
  opacity:.45;
}

[data-theme="dark"] .notes-hero-bg-img{opacity:.3}
.notes-hero-inner{position:relative;z-index:1;max-width:700px}
.notes-eyebrow{font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--burn);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.notes-hero h1{font-family:'Bebas Neue';font-size:clamp(52px,10vw,96px);line-height:.95;color:var(--ink);margin:0 0 24px}
.notes-hero h1 .accent{color:var(--burn)}
.notes-hero-sub{font-family:'Nunito',sans-serif;font-size:17px;font-weight:600;color:var(--ink2);max-width:560px;line-height:1.3;margin:0}

/* Nav active link */
.nav-links a.active{color:var(--ink);font-weight:800;position:relative}
.nav-links a.active::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:2px;background:var(--cta);border-radius:2px}

/* Controls */
.notes-controls{background:var(--bg2);border-bottom:1.5px solid var(--border);position:sticky;top:60px;z-index:80;padding:clamp(1rem,3vw,1.2rem) clamp(1rem,5vw,2.5rem);display:flex;flex-wrap:wrap;gap:10px;align-items:center;transition:background .35s ease,border-color .35s ease}
.nsearch-wrap{position:relative;flex:1;min-width:180px;max-width:340px}
.nsearch{width:100%;padding:10px 14px 10px 38px;border-radius:40px;border:1.5px solid var(--border);font-family:'Nunito',sans-serif;font-size:14px;font-weight:600;background:var(--bg3);color:var(--ink);outline:none;transition:border .2s;box-sizing:border-box}
.nsearch:focus{border-color:var(--burn)}
.nsearch-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);opacity:.45;font-size:15px}
.nfilter-row{display:flex;gap:8px;flex-wrap:wrap}
.nchip{font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;padding:8px 16px;border-radius:40px;border:1.5px solid var(--border);background:transparent;color:var(--ink2);cursor:pointer;transition:all .18s;white-space:nowrap}
.nchip:hover,.nchip.on{border-color:var(--chip-clr,#ff6b2b);color:var(--chip-clr,#ff6b2b)}
.nchip.on{background:var(--chip-clr,#ff6b2b);color:#fff}
.nchip[data-cat="all"]{--chip-clr:#111}
[data-theme="dark"] .nchip[data-cat="all"].on{background:#fff;color:#111;border-color:#fff}
.nchip[data-cat="entrenamiento"]{--chip-clr:#ff6b2b}
.nchip[data-cat="nutricion"]{--chip-clr:#10b981}
.nchip[data-cat="mentalidad"]{--chip-clr:#7c3aed}
/*.nchip[data-cat="recuperacion"]{--chip-clr:#0ea5e9}*/
.nchip[data-cat="bienestar"]{--chip-clr:#f59e0b}

/* Notes body — padding vertical only; carousels go full-width */
.notes-body{padding:clamp(2rem,5vw,3rem) 0;background:var(--bg);transition:background .35s ease}
.notes-cat-block{margin-bottom:clamp(2.5rem,5vw,4rem)}

/* Category header — inset padding matches the page gutter */
.notes-cat-header{display:flex;align-items:center;gap:1rem;padding:0 clamp(1rem,5vw,2.5rem);margin-bottom:1.2rem}
.notes-cat-label{font-family:'Bebas Neue';font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:.04em;color:var(--ink);flex-shrink:0;transition:color .35s ease}
.cat-line{flex:1;justify-content:end; align-items:center; display:flex;}

/* Slider wrap: negative margins push it to viewport edges */
.notes-slider-wrap{
  margin-left:calc(-1 * clamp(1rem,5vw,2.5rem));
  margin-right:calc(-1 * clamp(1rem,5vw,2.5rem));
  position:relative;
}

/* Clip — arrows are now siblings outside the clip so they won't be cut */
.notes-slider-clip{padding:8px 0 24px}
@media(min-width:701px){.notes-slider-clip{position:relative;overflow:clip}}
@media(max-width:700px){
  .notes-slider-clip{
    overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:1rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:8px 0 16px;
    width:100vw;
  }
  .notes-slider-clip::-webkit-scrollbar{display:none}
}

/* Outer: re-applies the gutter so first card aligns with text */
.notes-slider-outer{padding:0 clamp(1rem,5vw,2.5rem)}
@media(max-width:700px){.notes-slider-outer{padding:0;width:max-content}}

/* Grid */
.ngrid{display:flex;gap:1.2rem;transition:transform .45s cubic-bezier(.16,1,.3,1);will-change:transform}
.ngrid::after{content:'';display:block;flex:0 0 clamp(1rem,5vw,2.5rem);min-width:clamp(1rem,5vw,2.5rem)}
/* Note cards inside ngrid */
.ngrid .note-card{
  flex:0 0 300px;width:300px;
  background:var(--card-bg);border:1.5px solid var(--border);border-radius:18px;
  overflow:hidden;cursor:pointer;
  transition:transform var(--trans),box-shadow var(--trans),border-color var(--trans);
  display:flex;flex-direction:column;
}
.ngrid .note-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--shadow)}
.ngrid .note-card:active{transform:translateY(-1px)}
.ngrid .note-img{aspect-ratio:16/9;overflow:hidden;position:relative;background:var(--bg3)}
.ngrid .note-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.ngrid .note-card:hover .note-img img{transform:scale(1.05)}
.ngrid .note-body{padding:1.2rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.ngrid .note-title{font-family:'Bebas Neue';font-size:1.35rem;letter-spacing:.03em;line-height:1.1}
.ngrid .note-excerpt{font-family:'Nunito',sans-serif;font-size:.8rem;font-weight:600;color:var(--ink2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ngrid .note-meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.7rem;border-top:1px solid var(--border)}
.ngrid .note-author{font-family:'Nunito',sans-serif;font-size:.65rem;font-weight:700;color:var(--muted)}
.ngrid .note-readmore{font-family:'Nunito',sans-serif;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:none;border:none;display:flex;align-items:center;gap:.25rem;transition:gap var(--trans)}
.ngrid .note-readmore:hover{gap:.5rem}

@media(max-width:900px){.ngrid .note-card{flex:0 0 260px;width:260px}}
@media(max-width:700px){
  .ngrid{transform:none !important;transition:none;padding-left:1rem;padding-right:0;gap:.6rem}
  .ngrid::after{content:'';display:block;flex:0 0 1rem;min-width:1rem}
  .ngrid .note-card{flex:0 0 calc(100vw - 1rem - 2.5rem);width:calc(100vw - 1rem - 2.5rem);scroll-snap-align:start}
}

/* Empty state */
.notes-empty{text-align:center;padding:80px 20px;font-family:'Nunito',sans-serif}
.notes-empty-icon{font-size:56px;margin-bottom:16px}
.notes-empty h3{font-family:'Nunito',sans-serif;font-size:20px;font-weight:900;color:var(--ink);margin:0 0 8px}
.notes-empty p{font-family:'Nunito',sans-serif;font-size:15px;color:var(--ink2);margin:0}

@media(max-width:700px){
  .notes-controls{top:60px;flex-direction:column;align-items:flex-start}
  .nsearch-wrap{max-width:100%}
}

/* ════ RESPONSIVE GLOBAL ════ */
@media(max-width:640px){
  .hero-stats{max-width:100%}
  .next-bar{flex-direction:column;align-items:stretch}.next-btns{justify-content:stretch}
  .btn-done,.btn-next-v{flex:1;justify-content:center}
}

/* ya está en styles.css */
.notes-section .programs-slider-wrap { margin-left: 0; margin-right: 0; }
#notesSliderOuter { padding: 0 clamp(1rem,5vw,2.5rem); }
/* notes-home-grid: static HTML carousel class */
.notes-home-grid{display:flex;gap:1.2rem;transition:transform .45s cubic-bezier(.16,1,.3,1);will-change:transform;}
.notes-home-grid::after{content:'';display:block;flex:0 0 clamp(1rem,5vw,2.5rem);min-width:clamp(1rem,5vw,2.5rem);}
.notes-home-grid .note-card,.notes-home-grid .vcard-p{flex:0 0 300px;width:300px;border-radius:18px;}
@media(max-width:900px){.notes-home-grid .note-card,.notes-home-grid .vcard-p{flex:0 0 260px;width:260px}}
@media(max-width:700px){
  .notes-home-grid{transform:none !important;transition:none;padding-left:1rem;padding-right:0;gap:.6rem;}
  .notes-home-grid::after{content:'';display:block;flex:0 0 1rem;min-width:1rem;}
  .notes-home-grid .note-card,.notes-home-grid .vcard-p{flex:0 0 calc(100vw - 1rem - 2.5rem);width:calc(100vw - 1rem - 2.5rem);scroll-snap-align:start;}
  
  
  .notes-hero-bg-img{
  opacity:.15;
}
  
}
.grid-layout{
display: grid;
    /* Define el número de columnas. 
       'repeat(auto-fit, minmax(250px, 1fr))' hace que sea responsivo automáticamente */
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    
    /* El gap funciona igual en grid que en flex */
    gap: 1.2rem;
    
    /* Mantenemos tus animaciones */
    transition: transform .45s cubic-bezier(.16, 1, .3, 1);
    will-change: transform;
}
/* ════ VIDEOS PAGE ════ */
.videos-hero{position:relative;overflow:hidden;padding:clamp(3.5rem,8vw,6rem) clamp(1rem,5vw,2.5rem);background:var(--bg2);border-bottom:1px solid var(--border)}
.videos-hero-inner{position:relative;z-index:2;max-width:600px}
.videos-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:'Nunito',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--tono);margin-bottom:1rem}
.videos-hero h1{font-family:'Bebas Neue';font-size:clamp(3rem,8vw,5.5rem);line-height:.95;color:var(--ink);margin-bottom:1rem;letter-spacing:.02em}
.videos-hero h1 .accent{color:var(--tono)}
.videos-hero-sub{font-family:'Nunito',sans-serif;font-size:clamp(.9rem,2vw,1.05rem);font-weight:600;color:var(--muted);line-height:1.65;max-width:480px}
.videos-hero .blob1{width:420px;height:420px;background:var(--tono);top:-120px;right:-80px}
.videos-hero .blob2{width:280px;height:280px;background:var(--burn);bottom:-60px;left:30%}

.videos-page{padding:0 0 4rem}
.videos-controls{padding:1.8rem clamp(1rem,5vw,2.5rem) 0;display:flex;flex-direction:column;gap:1rem}
.vsearch-wrap{position:relative;max-width:380px}
.vsearch-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1rem;pointer-events:none}
.vsearch{width:100%;padding:.65rem 1rem .65rem 2.6rem;font-family:'Nunito',sans-serif;font-size:.85rem;font-weight:600;border:1.5px solid var(--border);border-radius:30px;background:var(--bg);color:var(--ink);outline:none;transition:border-color var(--trans)}
.vsearch:focus{border-color:var(--tono)}
.vfilter-row{display:flex;gap:.4rem;flex-wrap:wrap}
.vchip{font-family:'Nunito',sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:.4rem 1rem;border-radius:30px;border:1.5px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer;transition:all var(--trans);white-space:nowrap}
.vchip:hover{border-color:var(--ink2);color:var(--ink2)}
.vchip.on{background:var(--ink2);border-color:var(--ink2);color:#fff}

.videos-body{display:flex;flex-direction:column;gap:0;padding-top:2rem}
.videos-body .videos-section{padding:2rem clamp(1rem,5vw,2.5rem);background:var(--bg);transition:background .35s ease}
.videos-body .videos-section:nth-child(even){background:var(--bg2)}
.videos-cat-header{display:flex;align-items:center;gap:1rem;padding:0;margin-bottom:1.2rem}
.videos-cat-label{font-family:'Bebas Neue';font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:.04em;color:var(--ink);flex-shrink:0;transition:color .35s ease}

.vcard-p{background:var(--bg);border:1.5px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:transform var(--trans),box-shadow var(--trans);display:flex;flex-direction:column}
.vcard-p:hover{transform:translateY(-5px);box-shadow:0 12px 36px var(--shadow)}
.vcard-p:active{transform:translateY(-2px)}
.vcard-p .vthumb{aspect-ratio:16/9;position:relative;overflow:hidden;background:var(--bg4)}
.vcard-p .vthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.vcard-p:hover .vthumb img{transform:scale(1.06)}
.vcard-p .vthumb::before{content:'';position:absolute;inset:0;opacity:1;transition:opacity .3s;z-index:0}
.vcard-p:hover .vthumb::before{opacity:.35}
.vcard-p.gt-burn .vthumb::before{background:linear-gradient(135deg,#ff4757,#ff8a94)}
.vcard-p.gt-muscle .vthumb::before{background:linear-gradient(135deg,#2ed573,#7bed9f)}
.vcard-p.gt-glutes .vthumb::before{background:linear-gradient(135deg,#a55eea,#cc9fff)}
.vcard-p.gt-tono .vthumb::before{background:linear-gradient(135deg,#ff6b35,#ffab8c)}
.vcard-p.gt-nutr .vthumb::before{background:linear-gradient(135deg,#f9ca24,#f0932b)}
.vcard-p.gt-yoga .vthumb::before{background:linear-gradient(135deg,#00b4d8,#90e0ef)}
.vcard-p .vplay-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.28);opacity:0;transition:opacity var(--trans)}
.vcard-p:hover .vplay-overlay{opacity:1}
.vcard-p .vplay-circle{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.25);transform:scale(.9);transition:transform var(--trans)}
.vcard-p:hover .vplay-circle{transform:scale(1)}
.vcard-p .vplay-circle svg{margin-left:3px}
.vcard-p .vdur{position:absolute;bottom:8px;right:9px;z-index:3;font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:800;background:rgba(0,0,0,.72);color:#fff;padding:2px 7px;border-radius:10px}
.vcard-p .vprog-badge{position:absolute;top:8px;left:8px;z-index:3;font-family:'Nunito',sans-serif;font-size:.56rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:10px;color:#fff}
.vcard-p .vinfo{padding:.85rem 1rem;flex:1;display:flex;flex-direction:column;gap:.25rem}
.vcard-p .vtitle{font-family:'Nunito',sans-serif;font-size:.88rem;font-weight:800;line-height:1.35;color:var(--ink)}
.vcard-p .vmeta{font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:600;color:var(--muted)}
.vcard-p .vmusc-tag{display:inline-flex;font-family:'Nunito',sans-serif;font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:2px 7px;margin-top:.2rem;width:fit-content}

.videos-empty{text-align:center;padding:4rem 2rem;color:var(--muted)}
.videos-empty-icon{font-size:3rem;margin-bottom:1rem}
.videos-empty h3{font-family:'Bebas Neue';font-size:1.8rem;color:var(--ink);margin-bottom:.5rem}
.videos-empty p{font-family:'Nunito',sans-serif;font-size:.9rem;font-weight:600}

/* videos.html mobile: reducir padding horizontal para que el slider use width:100vw correctamente */
@media(max-width:700px){
  .videos-body .videos-section{ padding-left:1em; padding-right:0; }
}
 /* ── Player page layout ── */
    .player-page {
      min-height: 100vh;
      background: var(--bg);
      transition: background .35s ease;
    }

    /* ── Back bar ── */
    .player-back-bar {
      display: flex;
      align-items: center;
      gap: .75rem;
      padding: .75rem clamp(1rem,5vw,2.5rem);
      background: var(--bg2);
      border-bottom: 1px solid var(--border);
      transition: background .35s ease, border-color .35s ease;
    }
    .player-back-btn {
      display: flex;
      align-items: center;
      gap: .35rem;
      font-family: 'Nunito', sans-serif;
      font-size: .7rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--ink2);
      background: none;
      border: 1.5px solid var(--border2);
      padding: .35rem .9rem;
      border-radius: 20px;
      transition: all var(--trans);
      cursor: pointer;
    }
    .player-back-btn:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
    .player-breadcrumb {
      font-family: 'Nunito', sans-serif;
      font-size: .72rem;
      font-weight: 600;
      color: var(--muted);
      display: flex;
      align-items: center;
      gap: .4rem;
    }
    .player-breadcrumb a { color: var(--muted); transition: color var(--trans); }
    .player-breadcrumb a:hover { color: var(--ink); }
    .player-breadcrumb-sep { opacity: .4; }

    /* ── Main layout ── */
    .player-layout {
      display: grid;
      grid-template-columns: 1fr 360px;
      gap: 0;
      max-width: 1400px;
      margin: 0 auto;
      padding: 2rem clamp(1rem,5vw,2.5rem);
      align-items: start;
    }
    @media(max-width: 1050px) {
      .player-layout { grid-template-columns: 1fr; }
    }

    /* ── Left: player + info ── */
    .player-main { min-width: 0; padding-right: 2rem; }
    @media(max-width: 1050px) { .player-main { padding-right: 0; } }

    /* ── Video frame ── */
    .player-frame-wrap {
      position: relative;
      width: 100%;
      aspect-ratio: 16/9;
      background: #000;
      border-radius: 18px;
      overflow: hidden;
      box-shadow: 0 24px 60px rgba(0,0,0,.22);
    }
    .player-frame-wrap iframe,
    .player-frame-wrap video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: none;
    }

    /* ── Custom placeholder player (when no real video) ── */
    .player-placeholder {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background: #111;
      cursor: pointer;
      gap: 1.2rem;
    }
    .player-placeholder img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: .45;
      transition: opacity .3s;
    }
    .player-placeholder:hover img { opacity: .55; }
    .player-placeholder-inner {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1rem;
    }
    .player-play-btn {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      background: rgba(255,255,255,.95);
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 32px rgba(0,0,0,.4);
      transition: transform .22s ease, box-shadow .22s ease;
    }
    .player-placeholder:hover .player-play-btn {
      transform: scale(1.1);
      box-shadow: 0 12px 40px rgba(0,0,0,.5);
    }
    .player-play-btn svg { margin-left: 5px; }
    .player-placeholder-label {
      font-family: 'Nunito', sans-serif;
      font-size: .8rem;
      font-weight: 700;
      color: rgba(255,255,255,.7);
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    /* real iframe hidden until play */
    .player-iframe { display: none; }
    .player-iframe.active { display: block; }
    .player-placeholder.hidden { display: none; }

    /* ── Video info below player ── */
    .player-info { margin-top: 1.4rem; }
    .player-cat-badge {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      font-family: 'Nunito', sans-serif;
      font-size: .62rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: .28rem .8rem;
      border-radius: 20px;
      color: #fff;
      margin-bottom: .85rem;
    }
    .player-title {
      font-family: 'Bebas Neue';
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      line-height: 1.05;
      letter-spacing: .02em;
      color: var(--ink);
      margin-bottom: .6rem;
      transition: color .35s ease;
    }
    .player-meta-row {
      display: flex;
      align-items: center;
      gap: 1.2rem;
      flex-wrap: wrap;
      margin-bottom: 1.2rem;
    }
    .player-meta-item {
      display: flex;
      align-items: center;
      gap: .35rem;
      font-family: 'Nunito', sans-serif;
      font-size: .78rem;
      font-weight: 600;
      color: var(--muted);
    }
    .player-meta-item svg { flex-shrink: 0; }
    .player-divider { height: 1px; background: var(--border); margin: 1.2rem 0; transition: background .35s ease; }
    .player-desc {
      font-family: 'Nunito', sans-serif;
      font-size: .92rem;
      font-weight: 600;
      color: var(--ink2);
      line-height: 1.65;
      transition: color .35s ease;
    }

    /* ── Tags row ── */
    .player-tags {
      display: flex;
      gap: .5rem;
      flex-wrap: wrap;
      margin-top: 1rem;
    }
    .player-tag {
      font-family: 'Nunito', sans-serif;
      font-size: .62rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      padding: .28rem .8rem;
      border-radius: 20px;
      border: 1.5px solid var(--border2);
      color: var(--ink2);
      background: var(--bg2);
      transition: all var(--trans);
    }

    /* ── Sidebar ── */
    .player-sidebar {
      position: sticky;
      top: 80px;
      padding-left: .5rem;
    }
    .player-sidebar::-webkit-scrollbar { width: 3px; }
    .player-sidebar::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 2px; }
    @media(max-width: 1050px) {
      .player-sidebar {
        position: static;
        max-height: none;
        overflow-y: visible;
        padding-left: 0;
        margin-top: 2rem;
      }
    }
    .sidebar-title {
      font-family: 'Bebas Neue';
      font-size: 1.3rem;
      letter-spacing: .06em;
      color: var(--ink);
      margin-bottom: 1rem;
      padding-bottom: .6rem;
      border-bottom: 2px solid var(--border);
      transition: color .35s ease, border-color .35s ease;
    }
    .sidebar-list { display: flex; flex-direction: column; gap: .6rem; }

    /* ── Sidebar video card ── */
    .scard {
      display: flex;
      gap: .75rem;
      padding: .6rem;
      border-radius: 12px;
      cursor: pointer;
      transition: background var(--trans), transform var(--trans);
      border: 1.5px solid transparent;
      text-decoration: none;
      color: inherit;
    }
    .scard:hover { background: var(--bg2); border-color: var(--border); transform: translateX(2px); }
    .scard.active { background: var(--bg2); border-color: var(--border2); }
    .scard-thumb {
      flex-shrink: 0;
      width: 110px;
      aspect-ratio: 16/9;
      border-radius: 8px;
      overflow: hidden;
      position: relative;
      background: var(--bg4);
    }
    .scard-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .3s ease;
    }
    .scard:hover .scard-thumb img { transform: scale(1.05); }
    .scard-thumb-overlay {
      position: absolute;
      inset: 0;
      background: rgba(0,0,0,.25);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transition: opacity var(--trans);
    }
    .scard:hover .scard-thumb-overlay { opacity: 1; }
    .scard-play {
      width: 28px; height: 28px;
      border-radius: 50%;
      background: rgba(255,255,255,.9);
      display: flex; align-items: center; justify-content: center;
    }
    .scard-play svg { margin-left: 2px; }
    .scard-dur {
      position: absolute;
      bottom: 4px; right: 5px;
      font-family: 'Nunito', sans-serif;
      font-size: .52rem;
      font-weight: 800;
      background: rgba(0,0,0,.72);
      color: #fff;
      padding: 1px 5px;
      border-radius: 6px;
    }
    .scard-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .2rem; justify-content: center; }
    .scard-badge {
      font-family: 'Nunito', sans-serif;
      font-size: .52rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: #fff;
      padding: 1px 6px;
      border-radius: 8px;
      display: inline-block;
      width: fit-content;
      margin-bottom: .15rem;
    }
    .scard-title {
      font-family: 'Nunito', sans-serif;
      font-size: .78rem;
      font-weight: 800;
      line-height: 1.3;
      color: var(--ink);
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      transition: color .35s ease;
    }
    .scard-meta {
      font-family: 'Nunito', sans-serif;
      font-size: .68rem;
      font-weight: 600;
      color: var(--muted);
    }

    /* ── Progress bar (decorative) ── */
    .player-progress-wrap {
      margin-top: 1.4rem;
      background: var(--bg3);
      border-radius: 12px;
      padding: 1rem 1.2rem;
      border: 1.5px solid var(--border);
      transition: background .35s ease, border-color .35s ease;
    }
    .player-progress-label {
      display: flex;
      justify-content: space-between;
      font-family: 'Nunito', sans-serif;
      font-size: .7rem;
      font-weight: 800;
      color: var(--muted);
      letter-spacing: .06em;
      text-transform: uppercase;
      margin-bottom: .6rem;
    }
    .player-progress-track {
      height: 6px;
      background: var(--border);
      border-radius: 3px;
      overflow: hidden;
    }
    .player-progress-fill {
      height: 100%;
      border-radius: 3px;
      background: var(--burn);
      width: 0%;
      transition: width 1.2s cubic-bezier(.16,1,.3,1);
    }