/* Commercial polish layer for the public landing only. */

body.landing-page {
    --center-accent: var(--dorado);
    --center-accent-soft: rgba(212, 175, 55, 0.16);
    --center-accent-strong: rgba(212, 175, 55, 0.42);
}

body.center-acr {
    --center-accent: #facc15;
    --center-accent-soft: rgba(250, 204, 21, 0.16);
    --center-accent-strong: rgba(250, 204, 21, 0.46);
}

body.center-conalep {
    --azul-institucional: #004b3c;
    --azul-tecnico: #00856f;
    --dorado: #facc15;
    --center-accent: #00a887;
    --center-accent-soft: rgba(0, 168, 135, 0.18);
    --center-accent-strong: rgba(0, 168, 135, 0.48);
    --gradient-primary: linear-gradient(135deg, #003f35, #00856f);
}

body.center-aguilas {
    --azul-institucional: #172033;
    --azul-tecnico: #b91c1c;
    --dorado: #f59e0b;
    --center-accent: #ef4444;
    --center-accent-soft: rgba(239, 68, 68, 0.16);
    --center-accent-strong: rgba(245, 158, 11, 0.46);
    --gradient-primary: linear-gradient(135deg, #111827, #7f1d1d);
}

.center-pill,
.hero-center-badge {
    display: inline-flex;
    align-items: center;
    width: max-content;
    border: 1px solid var(--center-accent-strong);
    background: var(--center-accent-soft);
    color: var(--center-accent);
    font-family: 'Montserrat', system-ui, sans-serif;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.center-pill {
    margin-top: 0.22rem;
    padding: 0.14rem 0.42rem;
    border-radius: 999px;
    font-size: 0.58rem;
    line-height: 1;
}

.hero-center-badge {
    margin-bottom: 1rem;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    font-size: clamp(0.68rem, 1.5vw, 0.78rem);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.18);
}

.hero .hero-center-badge {
    display: none;
}

.hero-content.fade-up,
.hero-badge-card.fade-up {
    opacity: 1;
    transform: none;
}

.hero h1,
.hero-highlight,
.hero-content > p:not(.hero-center-badge),
.hero-feature span {
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.36);
}

.hero-highlight,
.hero-content > p:not(.hero-center-badge) {
    color: rgba(248, 250, 252, 0.88);
}

.hero-break {
    display: block;
    color: var(--text-primary);
}

body.center-conalep .header.scrolled,
body.center-aguilas .header.scrolled {
    border-bottom-color: var(--center-accent-strong);
}

body.center-conalep .hero-overlay {
    background:
        radial-gradient(circle at 78% 20%, rgba(0, 168, 135, 0.20), transparent 32%),
        linear-gradient(135deg, rgba(0, 44, 36, 0.84) 0%, rgba(0, 75, 60, 0.70) 48%, rgba(4, 120, 87, 0.24) 100%);
}

body.center-aguilas .hero-overlay {
    background:
        radial-gradient(circle at 80% 18%, rgba(239, 68, 68, 0.20), transparent 34%),
        linear-gradient(135deg, rgba(11, 18, 32, 0.86) 0%, rgba(23, 32, 51, 0.74) 50%, rgba(127, 29, 29, 0.26) 100%);
}

body.center-conalep .logo-icon,
body.center-aguilas .logo-icon {
    box-shadow: 0 0 0 2px var(--center-accent), 0 0 28px var(--center-accent-soft);
}

.section-title h2,
.course-content h3,
.org-info h4,
.certified-student-body h3 {
    text-wrap: balance;
}

.course-card {
    border-radius: 22px;
    min-height: 0;
}

.course-image {
    height: clamp(190px, 20vw, 250px);
}

.course-content {
    padding: clamp(1.15rem, 2.5vw, 1.6rem);
}

.course-content p {
    overflow-wrap: anywhere;
}

.course-meta {
    gap: 0.55rem;
}

.course-meta span {
    min-width: 0;
}

.stat-card {
    border-radius: 18px;
    border-color: var(--center-accent-strong);
}

.stat-icon {
    color: var(--center-accent);
}

.btn-gold,
.hero-badge-card .badge-icon,
.certified-student-badge {
    background: linear-gradient(135deg, var(--dorado), #fde68a);
}

.btn-login {
    border-color: var(--center-accent-strong);
    background: rgba(255, 255, 255, 0.08);
    color: var(--text-primary);
    box-shadow: none;
}

.header-actions .btn-login {
    white-space: nowrap;
}

.header-actions .btn-login,
.header-actions .desktop-cta {
    height: 48px;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.header-actions .desktop-cta .btn-icon {
    width: 20px;
    height: 20px;
    max-width: 20px;
    max-height: 20px;
    flex: 0 0 20px;
}

.landing-language-switcher .language-select-form {
    margin: 0;
}

.landing-language-switcher .language-select {
    height: 48px;
    min-height: 48px;
    padding: 0 38px 0 16px;
    border: 1px solid var(--center-accent-strong);
    border-radius: 999px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04));
    color: var(--text-primary);
    font-family: 'Montserrat', system-ui, sans-serif;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    outline: none;
}

.landing-language-switcher .language-select:focus-visible {
    border-color: var(--center-accent);
    box-shadow: 0 0 0 4px var(--center-accent-soft);
}

.mobile-language {
    display: none;
}

.btn-login:hover,
.btn-login:focus-visible {
    background: var(--center-accent-soft);
    color: var(--center-accent);
    border-color: var(--center-accent);
    box-shadow: 0 12px 28px rgba(15, 76, 129, 0.18);
}

.mobile-login {
    display: flex;
    width: min(100%, 260px);
    height: 48px;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    margin: 1rem auto 0.35rem;
}

.mobile-cta {
    height: 48px;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    width: min(100%, 260px);
}

.mobile-cta .btn-icon {
    width: 20px;
    height: 20px;
    max-width: 20px;
    max-height: 20px;
    flex: 0 0 20px;
}

@media (max-width: 992px) {
    .header-actions .desktop-language {
        display: none;
    }

    .header-actions .desktop-login {
        display: none;
    }

    .mobile-language {
        display: flex;
        justify-content: center;
        margin: 0.75rem auto 0;
    }
}

@media (prefers-color-scheme: light) {
    .btn-login {
        background: rgba(255, 255, 255, 0.72);
        color: var(--azul-institucional);
    }

    .landing-language-switcher .language-select {
        background: rgba(255, 255, 255, 0.82);
        color: var(--azul-institucional);
    }

    body.center-conalep .hero-overlay,
    body.center-aguilas .hero-overlay {
        background:
            linear-gradient(90deg, rgba(248, 250, 252, 0.95) 0%, rgba(248, 250, 252, 0.72) 45%, rgba(248, 250, 252, 0.28) 100%),
            radial-gradient(circle at 78% 22%, var(--center-accent-soft), transparent 35%);
    }

    .hero-center-badge {
        background: rgba(255, 255, 255, 0.82);
        box-shadow: 0 16px 42px rgba(15, 70, 114, 0.12);
    }

    .hero .hero-center-badge {
        color: var(--azul-institucional);
    }
}

@media (max-width: 768px) {
    .logo-text {
        min-width: 0;
    }

    .center-pill {
        display: none;
    }

    .hero-center-badge {
        max-width: 100%;
        white-space: normal;
        line-height: 1.35;
    }

    .course-card {
        border-radius: 20px;
    }
}
