/* Cursos — listado de la oferta académica. */

/* Hero: stats sobre el page-hero generico */
.cursos-hero p { color: #fff; }
.cursos-hero-stats { display: flex; justify-content: center; gap: 3rem; margin-top: 2.5rem; flex-wrap: wrap; }
.cursos-hero-stat { text-align: center; }
.cursos-hero-stat-number { font-family: var(--font-subtitle); font-size: 2.2rem; font-weight: 700; color: #fff; }
.cursos-hero-stat-label { font-family: var(--font-subtitle); font-size: 0.68rem; color: rgba(255, 255, 255, 0.78); letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; }

/* Listado */
.cursos-page { background: var(--brand-lavender-soft); padding: 6rem 5%; }
.cursos-page .s-label { color: var(--brand-blue); margin-bottom: 0.5rem; }
.cursos-page .s-title { margin-bottom: 3rem; }

.courses-grid { display: grid; grid-template-columns: minmax(0, 520px); justify-content: center; gap: 1.5rem; }
.course-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(26, 16, 79, 0.07);
    transition: transform 0.3s, box-shadow 0.3s;
}
.course-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(26, 16, 79, 0.11); }
.course-card img { width: 100%; height: 300px; object-fit: cover; display: block; }
.course-body { padding: 1.6rem; }
.course-tag {
    font-family: var(--font-subtitle);
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--brand-pink);
    background: rgba(239, 174, 240, 0.15);
    padding: 0.28rem 0.8rem;
    border-radius: 100px;
    display: inline-block;
    margin-bottom: 0.8rem;
}
.course-body h3 { font-size: 1.05rem; font-weight: 700; color: var(--brand-dark); margin-bottom: 0.6rem; line-height: 1.35; }
.course-body p { font-size: 0.83rem; color: var(--brand-muted); line-height: 1.7; margin-bottom: 1.2rem; }
.course-link {
    display: inline-block;
    background: var(--brand-pink);
    color: var(--brand-dark);
    padding: 0.6rem 1.6rem;
    border-radius: 100px;
    font-family: var(--font-subtitle);
    font-size: 0.8rem;
    font-weight: 700;
    transition: opacity 0.2s;
}
.course-link:hover { opacity: 0.85; color: var(--brand-dark); }

/* CTA */
.cursos-cta { background: var(--brand-dark); padding: 5rem 5%; text-align: center; }
.cursos-cta h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 500; color: var(--brand-lavender-bg); margin-bottom: 0.8rem; }
.cursos-cta h2 span { color: var(--brand-pink); }
.cursos-cta p { color: rgba(238, 231, 253, 0.5); font-size: 0.95rem; margin-bottom: 2rem; }

@media (max-width: 600px) {
    .courses-grid { grid-template-columns: 1fr; }
}
