/* Sólo contenido de formación: encabezado, pie, fuente y transiciones usan site-master. */
.training-page{--secondary:#97df40;background:var(--soft)}
.training-hero{background:linear-gradient(125deg,var(--deep),var(--blue));color:white;padding:44px 5vw 48px}
.training-hero h1{font-size:clamp(2rem,4.5vw,3.3rem);line-height:1.15;max-width:900px;margin:18px 0}
.training-hero p{max-width:800px;color:#e2eaf2;font-size:1.05rem}
.training-page .crumbs{display:flex;flex-wrap:wrap;gap:9px;font-size:.85rem}
.training-page .crumbs a{color:#e2eaf2;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.training-hero .tag{display:inline-block;border:1px solid var(--secondary);border-radius:25px;padding:4px 13px;font-size:.85rem;font-weight:800;margin-top:16px;color:white;letter-spacing:normal}
.training-content{padding:32px 5vw;max-width:1280px}
.training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.training-card{display:flex;flex-direction:column;text-decoration:none;background:white;color:var(--deep);padding:24px;border:1px solid var(--line);border-top:5px solid var(--secondary);border-radius:var(--radius);min-width:0}
.training-card small{font-weight:800;letter-spacing:.04em}
.training-card h2{font-size:1.18rem;line-height:1.4;margin:14px 0}
.training-card p{font-size:.94rem;color:var(--muted);margin:0 0 22px}
.training-card span{font-weight:800;margin-top:auto}
.training-card:hover{box-shadow:var(--shadow);border-color:#b9c9d8}
.training-card:focus-visible,.training-page .button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.training-detail{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px;align-items:start}
.training-page .panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-width:0}
.training-page .panel h2{font-size:1.35rem;line-height:1.4;margin-top:0}
.training-page .panel h3{font-size:1.05rem}
.training-page .topics{padding-left:22px}
.training-page .topics li{padding:7px 0}
.training-page .audience{border-left:3px solid var(--secondary);padding-left:16px}
.training-page .access{border-top:5px solid var(--secondary)}
.training-page .access p{color:var(--muted)}
.training-page .access .client-label{font-size:.8rem;font-weight:800;color:var(--deep);text-transform:uppercase;letter-spacing:.04em}
.training-page .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;border-radius:30px;background:var(--blue);color:white;text-decoration:none;font-weight:800;font-size:.92rem}
.training-page .practice{padding:16px;border-radius:12px;background:#f1f5f9;font-size:.9rem}
.training-access-banner{margin-top:28px;border-left:4px solid var(--blue)}
.training-access-banner h2{font-size:1.25rem}
.training-access-banner p{max-width:850px}
.training-page p{overflow-wrap:break-word}
.access-actions{display:flex;flex-wrap:wrap;gap:12px}
.training-page .button-outline{background:white;color:var(--blue);border:1px solid var(--blue)}
@media(max-width:850px){.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-detail{grid-template-columns:1fr}.training-hero{padding:30px 5vw}.training-page .access{max-width:none}}
@media(max-width:520px){.training-grid{grid-template-columns:1fr}.training-page .panel,.training-card{padding:22px}.training-hero h1{font-size:2rem}.training-page .button{width:100%}.access-actions{flex-direction:column}}
