/* Certificación ECLCsi — detalle del programa. */

/* Hero */
.cert-hero { background: var(--brand-dark); padding: 7rem 5% 5rem; position: relative; overflow: hidden; }
.cert-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background: radial-gradient(ellipse at 75% 45%, rgba(92, 153, 224, 0.18) 0%, transparent 55%),
                radial-gradient(ellipse at 20% 55%, rgba(239, 174, 240, 0.16) 0%, transparent 55%);
}
.cert-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 0.9fr; gap: 4rem; align-items: center; max-width: 1180px; margin: 0 auto; }
.cert-hero h1 { font-size: clamp(2.4rem, 5vw, 4.4rem); color: var(--brand-lavender-bg); line-height: 1.06; margin-bottom: 1rem; }
.cert-hero h1 span { color: var(--brand-pink); }
.cert-hero p { color: #fff; line-height: 1.85; max-width: 620px; }
.cert-cover { width: 100%; border-radius: 22px; display: block; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25); }

/* Secciones */
.cert-section { padding: 5rem 5%; background: #fff; }
.cert-section.alt { background: var(--brand-lavender-soft); }
.cert-wrap { max-width: 1120px; margin: 0 auto; }
.cert-kicker { display: block; color: var(--brand-blue); font-family: var(--font-subtitle); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 0.7rem; }
.cert-title { font-family: var(--font-subtitle); font-size: clamp(1.8rem, 3.4vw, 2.7rem); color: var(--brand-dark); font-weight: 700; margin-bottom: 1.5rem; }

.info-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.info-card, .module-card, .price-card { background: #fff; border: 1px solid rgba(26, 16, 79, 0.08); border-radius: 18px; padding: 1.35rem; }
.alt .info-card, .alt .module-card, .alt .price-card { background: rgba(255, 255, 255, 0.78); }
.info-card h3, .module-card h3, .price-card h3 { color: var(--brand-dark); font-size: 1rem; font-weight: 700; margin-bottom: 0.5rem; }
.info-card p, .module-card p, .price-card p, .cert-copy { color: var(--brand-muted); font-size: 0.9rem; line-height: 1.75; }

.competencias { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.8rem; counter-reset: item; }
.competencias li { list-style: none; background: var(--brand-lavender-soft); border: 1px solid rgba(26, 16, 79, 0.06); border-radius: 14px; padding: 0.9rem 1rem; color: #4e437c; font-size: 0.88rem; line-height: 1.55; }
.competencias li::before {
    counter-increment: item;
    content: counter(item);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--brand-pink);
    color: var(--brand-dark);
    font-weight: 700;
    font-size: 0.72rem;
    margin-right: 0.6rem;
}

.modules-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.module-card ul { margin: 0; padding-left: 1.1rem; color: var(--brand-muted); font-size: 0.88rem; line-height: 1.75; }

.price-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.price-card.featured { border-color: rgba(239, 174, 240, 0.7); box-shadow: 0 16px 36px rgba(26, 16, 79, 0.08); }
.price { font-family: var(--font-subtitle); font-size: 2rem; font-weight: 700; color: var(--brand-dark); margin: 0.2rem 0; }
.small-note { font-size: 0.78rem; color: #8b7bb5; line-height: 1.6; }

.cert-actions { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; margin-top: 2rem; }
.cert-back { font-family: var(--font-subtitle); font-size: 0.85rem; font-weight: 700; color: var(--brand-blue); border-bottom: 1.5px solid var(--brand-blue); padding-bottom: 2px; }
.cert-back:hover { color: var(--brand-dark); border-color: var(--brand-dark); }

@media (max-width: 900px) {
    .cert-hero-grid, .modules-grid { grid-template-columns: 1fr; }
    .info-grid, .price-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .info-grid, .price-grid, .competencias { grid-template-columns: 1fr; }
}
