/* ==========================================================
   Planes de entrenamiento · catálogo dinámico
   ========================================================== */
body.page:has(.fs-training-catalog){background:#050505!important}
.fs-training-catalog{--fs-training-card:#0a0a0a;--fs-training-soft:#101010}

.fs-training-hero{position:relative;min-height:650px;display:flex;flex-direction:column;justify-content:center;padding:92px 0 46px;background:radial-gradient(circle at 78% 38%,rgba(204,255,0,.075),transparent 27%),linear-gradient(180deg,#050505 0%,#070707 100%);border-bottom:1px solid var(--fs-sales-line)}
.fs-training-hero__inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.55fr);gap:80px;align-items:center}
.fs-training-title{max-width:940px;margin:0!important;color:var(--fs-sales-text)!important;font-size:clamp(66px,7.4vw,112px)!important;font-weight:760!important;line-height:.9!important;letter-spacing:-.065em!important}
.fs-training-title span{color:var(--fs-sales-accent)}
.fs-training-lead{max-width:670px;margin:34px 0 0!important;color:#aaa9a3!important;font-size:clamp(17px,1.65vw,22px)!important;line-height:1.58!important}
.fs-training-hero__aside{position:relative;min-height:360px;display:flex;align-items:flex-end;justify-content:flex-end;padding:0 22px 28px;border-left:1px solid var(--fs-sales-line);overflow:hidden}
.fs-training-hero__index{position:absolute;top:0;left:-2px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12);font-size:clamp(78px,8vw,138px);font-weight:850;line-height:.8;letter-spacing:-.08em;transform:rotate(90deg);transform-origin:left top;white-space:nowrap}
.fs-training-hero__count{display:flex;align-items:flex-end;gap:16px}
.fs-training-hero__count strong{color:var(--fs-sales-accent);font-size:clamp(98px,9vw,148px);font-weight:790;line-height:.72;letter-spacing:-.085em}
.fs-training-hero__count span{max-width:90px;padding-bottom:5px;color:#8c8c85;font-size:11px;font-weight:750;line-height:1.35;letter-spacing:.1em;text-transform:uppercase}
.fs-training-hero__bottom{display:flex;align-items:center;gap:10px;margin-top:52px;color:#686862;font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.fs-training-hero__bottom svg{transform:rotate(90deg)}

.fs-training-catalog__section{padding:128px 0 144px;background:#070707}
.fs-training-catalog__heading{display:grid;grid-template-columns:250px minmax(0,820px);gap:74px;align-items:start;margin-bottom:70px}
.fs-training-catalog__heading h2{margin:0!important;color:var(--fs-sales-text)!important;font-size:clamp(48px,5.5vw,80px)!important;font-weight:730!important;line-height:.98!important;letter-spacing:-.055em!important}
.fs-training-catalog__heading h2 span{color:#777771}
.fs-training-catalog__heading>div>p{max-width:600px;margin:24px 0 0!important;color:#91918b!important;font-size:16px!important;line-height:1.7!important}

.fs-training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fs-training-card{min-width:0;background:var(--fs-training-card);border:1px solid #202020;transition:transform .28s ease,border-color .28s ease,background .28s ease}
.fs-training-card:hover{transform:translateY(-5px);border-color:#3c4b00;background:#0c0c0c}
.fs-training-card__media{position:relative;display:block;aspect-ratio:1.18/1;overflow:hidden;background:#0d0d0d;border-bottom:1px solid #202020}
.fs-training-card__media img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.75) contrast(1.06);transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease}
.fs-training-card:hover .fs-training-card__media img{transform:scale(1.035);filter:saturate(.95) contrast(1.06)}
.fs-training-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.03) 38%,rgba(5,5,5,.72) 100%)}
.fs-training-card__fallback{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;padding:30px;background:radial-gradient(circle at 78% 22%,rgba(204,255,0,.1),transparent 29%),repeating-linear-gradient(135deg,transparent 0 42px,rgba(255,255,255,.018) 42px 43px)}
.fs-training-card__fallback span{position:absolute;left:-8px;top:24px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.1);font-size:74px;font-weight:850;line-height:.8;letter-spacing:-.08em;transform:rotate(90deg);transform-origin:left top}
.fs-training-card__fallback strong{color:rgba(204,255,0,.92);font-size:104px;font-weight:800;line-height:.75;letter-spacing:-.09em}
.fs-training-card__number{position:absolute;top:18px;left:18px;color:#d9d9d4;font-size:11px;font-weight:800;letter-spacing:.12em}
.fs-training-card__mode{position:absolute;right:16px;bottom:16px;padding:7px 9px;background:rgba(5,5,5,.78);border:1px solid rgba(255,255,255,.14);color:#c4c4be;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(6px)}
.fs-training-card__body{padding:28px 28px 26px}
.fs-training-card__topline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #222}
.fs-training-card__topline>span{color:#6f6f69;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.fs-training-card__topline>strong,.fs-training-card__topline .amount{color:var(--fs-sales-accent)!important;font-size:15px!important;font-weight:800!important;white-space:nowrap}
.fs-training-card__topline del{opacity:.42;font-size:.78em;margin-right:4px}.fs-training-card__topline ins{text-decoration:none;background:none}
.fs-training-card h3{margin:0!important;color:var(--fs-sales-text)!important;font-size:clamp(25px,2.05vw,33px)!important;font-weight:700!important;line-height:1.04!important;letter-spacing:-.04em!important}
.fs-training-card h3 a{color:inherit!important}
.fs-training-card__body>p{min-height:76px;margin:18px 0 27px!important;color:#8e8e88!important;font-size:14px!important;line-height:1.62!important}
.fs-training-card__cta{display:flex;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid #222;color:#eee!important;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.fs-training-card__cta svg{color:var(--fs-sales-accent);font-size:20px;transition:transform .2s ease}
.fs-training-card:hover .fs-training-card__cta svg{transform:translateX(5px)}

.fs-training-empty{display:grid;grid-template-columns:150px minmax(0,650px);gap:50px;align-items:center;padding:55px 0;border-top:1px solid var(--fs-sales-line);border-bottom:1px solid var(--fs-sales-line)}
.fs-training-empty__number{color:var(--fs-sales-accent);font-size:100px;font-weight:800;line-height:.8;letter-spacing:-.08em}
.fs-training-empty h3{margin:0 0 12px!important;color:var(--fs-sales-text)!important;font-size:34px!important;letter-spacing:-.035em!important}
.fs-training-empty p{margin:0!important;color:#8f8f89!important;font-size:15px!important;line-height:1.7!important}.fs-training-empty strong{color:#c8c8c2}

.fs-training-final{padding:110px 0 122px;background:#050505;border-top:1px solid var(--fs-sales-line)}
.fs-training-final__inner{display:grid;grid-template-columns:250px minmax(0,870px);gap:74px;align-items:start}
.fs-training-final h2{margin:0!important;color:var(--fs-sales-text)!important;font-size:clamp(52px,6vw,86px)!important;font-weight:730!important;line-height:.96!important;letter-spacing:-.06em!important}
.fs-training-final h2 span{color:var(--fs-sales-accent)}

@media (max-width:1050px){
    .fs-training-hero__inner{grid-template-columns:minmax(0,1fr) 250px;gap:40px}.fs-training-hero__aside{min-height:310px}
    .fs-training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fs-training-catalog__heading,.fs-training-final__inner{grid-template-columns:190px minmax(0,1fr);gap:40px}
}
@media (max-width:760px){
    .fs-training-hero{min-height:auto;padding:74px 0 38px}.fs-training-hero__inner{display:block}.fs-training-title{font-size:clamp(54px,15vw,78px)!important}.fs-training-lead{font-size:17px!important}
    .fs-training-hero__aside{min-height:180px;margin-top:58px;border-left:0;border-top:1px solid var(--fs-sales-line);padding:34px 0 0;justify-content:flex-start}.fs-training-hero__index{display:none}.fs-training-hero__count strong{font-size:86px}.fs-training-hero__bottom{margin-top:36px}
    .fs-training-catalog__section{padding:88px 0 98px}.fs-training-catalog__heading,.fs-training-final__inner{display:block}.fs-training-catalog__heading .fs-sales-section-label,.fs-training-final .fs-sales-section-label{margin-bottom:18px!important}.fs-training-catalog__heading{margin-bottom:50px}
    .fs-training-grid{grid-template-columns:1fr;gap:18px}.fs-training-card__media{aspect-ratio:1.35/1}.fs-training-card__body>p{min-height:0}
    .fs-training-empty{grid-template-columns:1fr;gap:20px}.fs-training-empty__number{font-size:72px}
    .fs-training-final{padding:82px 0 96px}
}
@media (max-width:480px){
    .fs-training-title{font-size:clamp(48px,14vw,66px)!important}.fs-training-card__body{padding:24px 22px}.fs-training-card h3{font-size:28px!important}.fs-training-card__topline{align-items:flex-start;flex-direction:column;gap:7px}.fs-training-catalog__heading h2{font-size:44px!important}.fs-training-final h2{font-size:48px!important}
}
@media (prefers-reduced-motion:reduce){.fs-training-card,.fs-training-card__media img,.fs-training-card__cta svg{transition:none!important}}


/* 0.8.4 · Keep long catalogue headings inside the copy column.
   Decorative TRAIN label keeps its original positioning. */
@media (min-width:761px){
    .fs-training-hero__inner{grid-template-columns:minmax(0,1.15fr) minmax(330px,.55fr)}
    .fs-training-hero__copy{min-width:0}
    .fs-training-title{
        max-width:100%;
        font-size:clamp(60px,6vw,92px)!important;
        line-height:.92!important;
    }
}
@media (min-width:761px) and (max-width:1050px){
    .fs-training-title{font-size:clamp(56px,7vw,78px)!important}
}

/* ==========================================================
   0.8.5 · Keep TRAIN fully inside the catalogue hero rail.
   ========================================================== */
@media (min-width:761px){
    .fs-training-hero__aside{overflow:visible}
    .fs-training-hero__index{
        top:18px;
        left:-2px;
        font-size:clamp(72px,6.4vw,104px);
    }
}

/* 0.8.6 · Remove vertical catalogue rail decoration. */
.fs-training-hero__index{display:none!important}
.fs-training-hero__aside{border-left:0!important}
