/* Página de cursos (/cursos): estilos de home-auge-final.html (líneas 197-254), sin cambios salvo donde se indica */
.cx-hero{position:relative;overflow:hidden;background:#1E1918}
.cx-hero-img{position:absolute;inset:0;border-radius:0;border-width:0;justify-content:flex-end;align-items:flex-end;padding:20px}
.cx-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,12,11,.92) 0%,rgba(20,12,11,.78) 45%,rgba(20,12,11,.15) 100%);pointer-events:none}
.cx-hero-in{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-top:96px;padding-bottom:88px;flex-wrap:wrap}
.cx-h1{margin:16px 0 18px;font-size:64px;line-height:1.04;font-weight:800;letter-spacing:-.02em;color:#ffffff}
.cx-float{width:320px;background:rgba(30,25,24,.72);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:22px 24px;backdrop-filter:blur(6px)}
.cx-trust{background:#ffffff;border-bottom:1px solid #F0E4E4}
.cx-trust-in{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 48px;padding-top:22px;padding-bottom:22px}
.cx-trust-i{display:flex;align-items:center;gap:10px;font-size:15px;color:#5E4B4A}
.cx-trust-i b{color:#2A0E0C}
.cx-tick{width:24px;height:24px;border-radius:999px;background:#FFE3E4;color:#D7141C;display:flex;align-items:center;justify-content:center;flex:none}
.cx-goals{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:36px}
/* 5 por fila; la última fila queda centrada (con 9 categorías: 5 arriba y 4 abajo) */
.cx-goals .cx-goal{flex:0 0 calc((100% - 56px) / 5);min-width:0}
.cx-goal{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#ffffff;border:1.5px solid #F0E4E4;border-radius:18px;padding:20px 16px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.cx-goal:hover{transform:translateY(-4px);border-color:#F2C9CB;box-shadow:0 14px 30px rgba(60,10,10,.08)}
.cx-goal b{font-size:16px;color:#2A0E0C;margin-top:10px}
.cx-goal span:last-child{font-size:13px;line-height:1.45;color:#5E4B4A}
.cx-goal-ic{width:46px;height:46px;border-radius:14px;background:#FFE3E4;color:#D7141C;display:flex;align-items:center;justify-content:center}
.cx-cat-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cx-total{font-size:14px;color:#6A5654}
.cx-total b{color:#D7141C}
.cx-bar{display:flex;gap:12px;align-items:center;margin-top:28px;background:#FFF4F4;border:1px solid #F2DADA;border-radius:18px;padding:12px;flex-wrap:wrap}
.cx-search{flex:1 1 320px;display:flex;align-items:center;gap:10px;height:50px;padding:0 16px;background:#ffffff;border:1.5px solid #F0E4E4;border-radius:12px;color:#6A5654}
.cx-search:focus-within{border-color:#D7141C}
.cx-search input{flex:1;border:0;outline:0;font-family:inherit;font-size:15px;background:transparent;color:#2A0E0C}
.cx-select{height:50px;padding:0 14px;border-radius:12px;border:1.5px solid #F0E4E4;background:#ffffff;font-family:inherit;font-size:14px;color:#2A0E0C;min-width:220px}
.cx-all{font-weight:700;font-size:14px;color:#D7141C;text-decoration:none;padding:0 10px}
.cx-note{margin-top:16px;background:#FFF8F8;border:1px solid #F2DADA;border-radius:14px;padding:14px 18px;font-size:14px;line-height:1.55;color:#5E4B4A}
.cx-note b{color:#2A0E0C}
.cx-row{margin-top:64px}
.cx-row-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.cx-row-t{margin:0;font-size:28px;font-weight:800;color:#2A0E0C}
.cx-row-s{margin:6px 0 0;font-size:15px;color:#5E4B4A}
.cx-ver{flex:none;display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border-radius:999px;border:1.5px solid #F2C9CB;color:#B30F16;font-weight:700;font-size:14px;text-decoration:none}
.cx-ver:hover{background:#D7141C;border-color:#D7141C;color:#ffffff}
.cx-scroll{display:flex;gap:22px;overflow-x:auto;padding:4px 4px 18px;margin:0 -4px;scroll-snap-type:x mandatory}
.cx-scroll::-webkit-scrollbar{height:8px}.cx-scroll::-webkit-scrollbar-thumb{background:#F2C9CB;border-radius:999px}.cx-scroll::-webkit-scrollbar-track{background:#FFF4F4;border-radius:999px}
.cx-card{flex:0 0 calc((100% - 44px) / 3);min-width:280px;scroll-snap-align:start;background:#ffffff;border:1px solid #F0E4E4;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.cx-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(60,10,10,.1)}
.cx-media{position:relative;height:200px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;overflow:hidden}
.cx-media-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,12,11,.85),rgba(20,12,11,0) 65%)}
.cx-badge{position:absolute;top:14px;left:14px;background:#ffffff;color:#2A0E0C;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:8px}
.cx-media-t{position:relative;font-size:24px;line-height:1.15;font-weight:800;color:#ffffff}
.cx-prop{justify-content:space-between;gap:12px}
.cx-prop-k{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.cx-body{padding:22px;display:flex;flex-direction:column;flex-grow:1}
.cx-t{margin:0;font-size:19px;line-height:1.3;color:#2A0E0C}
.cx-d{margin:12px 0 8px;font-size:14px;line-height:1.55;color:#5E4B4A;min-height:44px}
.cx-m{font-size:13px;color:#8A7775}
.cx-foot{margin-top:auto;padding-top:16px;margin-top:16px;border-top:1px solid #F0E4E4;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.cx-fl{display:block;font-size:12px;color:#8A7775;line-height:1.5}
.cx-v{display:block;font-size:26px;font-weight:800;color:#2A0E0C}
.cx-v2{display:block;font-size:13px;color:#5E4B4A;line-height:1.5}
.cx-btn{flex:none;display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:12px;background:#FFE3E4;color:#B30F16 !important;font-weight:700;font-size:14px;text-decoration:none}
.cx-btn:hover{background:#D7141C;color:#ffffff !important}
.cx-empty{margin-top:40px;text-align:center;padding:40px;border:1.5px dashed #F2C9CB;border-radius:18px;color:#5E4B4A}
@media (max-width:1100px){.cx-goals .cx-goal{flex-basis:calc((100% - 28px) / 3)}}
@media (max-width:1020px){.cx-card{flex-basis:calc((100% - 22px) / 2)}.cx-float{width:100%}}
@media (max-width:620px){.cx-h1{font-size:42px}.cx-goals .cx-goal{flex-basis:calc((100% - 14px) / 2)}.cx-card{flex-basis:86%}.cx-row-head{flex-direction:column;align-items:flex-start}.cx-select{min-width:0;flex:1}}

/* ── Ajustes para la versión real (imágenes en vez de los recuadros de la plantilla) ── */
.cx-hero-img{background:#1E1918}
.cx-hero-img picture,.cx-hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx-media-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx-media .cx-badge{z-index:1}
.cx-card[hidden],.cx-row[hidden],.cx-empty[hidden]{display:none !important}
/* "Ver todos": la fila abierta muestra todos sus cursos en cuadrícula (3 / 2 / 1 por fila) */
.cx-row{scroll-margin-top:96px}
.cx-row--todo .cx-scroll{flex-wrap:wrap;overflow:visible}
.cx-row--todo .cx-card{min-width:0}
@media (max-width:620px){.cx-row--todo .cx-card{flex-basis:100%}}
/* Celular: botones del hero a todo el ancho y franja de beneficios deslizable */
.cx-trust-copia{display:none}
@media (max-width:620px){
.cx-hero-btns{justify-content:center}
.cx-hero-btns .btn,.cx-hero-btns .btn-o{flex:1 1 100%;justify-content:center;text-align:center}
.cx-trust-in{flex-wrap:nowrap;justify-content:flex-start;gap:0 32px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-top:16px;padding-bottom:16px}
.cx-trust-in::-webkit-scrollbar{display:none}
.cx-trust-i{flex:0 0 auto;white-space:nowrap}
.cx-trust-copia{display:flex}
}
/* "¿Qué quieres lograr?": una sola fila con 7 visibles; el resto se ve deslizando */
.cx-goals{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:6px 2px 14px}
.cx-goals .cx-goal{flex:0 0 calc((100% - 84px) / 7);scroll-snap-align:start}
@media (max-width:1100px){.cx-goals .cx-goal{flex-basis:calc((100% - 28px) / 3)}}
@media (max-width:620px){.cx-goals .cx-goal{flex-basis:70%}}
/* Subcategorías dentro de una fila (ej.: Preparación > Ascenso / Nombramiento / Directivos) */
.cx-subs{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px}
.cx-sub{border:1.5px solid #F0E4E4;background:#ffffff;color:#5E4B4A;border-radius:999px;padding:8px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.cx-sub:hover{border-color:#F2C9CB;color:#D7141C}
.cx-sub.is-on{background:#D7141C;border-color:#D7141C;color:#ffffff}
@media (max-width:620px){.cx-subs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.cx-subs::-webkit-scrollbar{display:none}.cx-sub{flex:0 0 auto}}
/* Categoría habilitada que aún no tiene cursos */
.cx-pronto{border:1.5px dashed #F0E4E4;border-radius:18px;padding:28px 20px;text-align:center;color:#5E4B4A;font-size:15px;background:#ffffff}
/* Tarjetas de categoría: padding 8px, menos separación y el título nunca se sale del cuadro */
.cx-goals{gap:10px}
.cx-goal{padding:8px;min-width:0}
.cx-goal b{overflow-wrap:anywhere;hyphens:auto}
.cx-goals .cx-goal{flex-basis:calc((100% - 60px) / 7)}
@media (max-width:1100px){.cx-goals .cx-goal{flex-basis:calc((100% - 20px) / 3)}}
/* Celular: dos por fila, sin deslizar (como en home-auge-final.html) */
@media (max-width:620px){
.cx-goals{flex-wrap:wrap;overflow-x:visible;scroll-snap-type:none;padding:0}
.cx-goals .cx-goal{flex:0 0 calc((100% - 10px) / 2)}
.cx-goal b{font-size:15px}
}
/* Títulos de categoría: sin cortar palabras; letra un poco menor para que "Especializaciones" entre en una línea */
.cx-goal b{overflow-wrap:normal;hyphens:none;font-size:14.5px;letter-spacing:-.01em}
@media (max-width:620px){.cx-goal b{font-size:14px}}
/* Padding de las tarjetas de categoría: 8px solo a los lados; arriba y abajo como estaba (20px) */
.cx-goal{padding:20px 8px}
/* Curso gratis con video: el video de YouTube ocupa la cabecera de la tarjeta (16:9) */
.cx-media--video{height:auto;aspect-ratio:16/9;padding:0;background:#140c0b}
.cx-media--video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Toda la tarjeta es clicable (imagen, título, texto y botón): el enlace del botón se estira sobre la tarjeta */
.cx-card{position:relative}
.cx-card a.cx-btn::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit}
.cx-card:has(a.cx-btn){cursor:pointer}
.cx-card:has(a.cx-btn):hover .cx-btn{background:#D7141C;color:#ffffff !important}
/* Portada: texto a la izquierda (40%) y video a la derecha (60%), como /simulacros */
.cx-hero-lead{max-width:none}
.cx-hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.cx-hero-btns .btn,.cx-hero-btns .btn-o{min-height:50px;padding:0 24px;font-size:15px}
.cx-hero-video{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.2);background:#140c0b;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.cx-hero-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (min-width:961px){
.cx-hero-in{display:grid;grid-template-columns:40fr 60fr;gap:0 32px;align-items:center;width:min(1240px,100% - 40px);padding-top:72px;padding-bottom:72px}
.cx-hero-in:not(:has(.cx-hero-video)){grid-template-columns:1fr}
.cx-h1{font-size:clamp(2rem,3vw,2.6rem);line-height:1.08}
.cx-hero-lead{font-size:15px;line-height:1.6}
}
@media (min-width:1440px){.cx-hero-in{width:min(1520px,100% - 96px);gap:0 40px}.cx-h1{font-size:2.9rem}}
@media (min-width:1800px){.cx-hero-in{width:min(1720px,100% - 120px)}.cx-h1{font-size:3.2rem}}
@media (max-width:960px){.cx-hero-in{display:block;padding-top:64px;padding-bottom:56px}.cx-hero-video{margin-top:32px}}
/* Portada en zonas, igual que /simulacros: PC "texto video" / "botones video";
   celular texto, video y botones (centrado) */
.cx-hero-texto{grid-area:texto}
.cx-hero-btns{grid-area:botones}
.cx-hero-video{grid-area:video}
@media (min-width:961px){
.cx-hero-in{grid-template-areas:"texto video" "botones video"}
.cx-hero-in:not(:has(.cx-hero-video)){grid-template-areas:"texto" "botones"}
.cx-hero-texto{align-self:end}
.cx-hero-btns{align-self:start}
}
@media (max-width:960px){
.cx-hero-in{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"texto" "video" "botones";text-align:center}
.cx-hero-texto .eyebrow{justify-content:center}
.cx-hero-video{margin-top:8px}
.cx-hero-btns{justify-content:center;margin-top:24px}
}
/* Mismo ancho que la portada de /simulacros: .wrap traía max-width 1240px y 32px de relleno,
   que dejaban la portada más angosta y sin crecer en pantallas grandes */
@media (min-width:961px){.cx-hero-in{max-width:none;padding-left:0;padding-right:0}}
@media (max-width:960px){.cx-hero-in{width:min(1140px,100% - 40px);max-width:none;padding-left:0;padding-right:0}}
@media (max-width:640px){.cx-hero-in{width:calc(100% - 32px)}}
