/* 
 * PROGRAMA PAGE CSS - Instituto Lao
 * Estilos para páginas de programas individuales
 * Versión: 2.1 - CORREGIDA - Hero Full Width + Tabs Sticky
 */

/* ===== TABLA DE CONTENIDOS =====
 * 1. Variables de Colores
 * 2. Hero Programa (FULL WIDTH)
 * 3. Tabs de Navegación (STICKY CORREGIDO)
 * 4. Layout 2 Columnas
 * 5. Formulario de Contacto (COMPACTO)
 * 6. Breadcrumbs
 * 7. Sección Descripción
 * 8. Sección Metodología
 * 9. Tabla de Niveles
 * 10. Sección Resultados
 * 11. Por Qué Elegirnos
 * 12. Beneficios (Cards)
 * 13. Sección Certificación
 * 14. Sección Inversión
 * 15. Métodos de Pago Footer
 * 16. Qué Incluye
 * 17. Horarios y Requisitos
 * 18. Calendario y Cupos
 * 19. FAQ
 * 20. Botones Compartir
 * 21. CTA Final
 * 22. Elementos Auxiliares
 * 23. Responsive
 * ================================= */

/* ===========================
   1. VARIABLES DE COLORES
   =========================== */
:root {
    --programa-color: var(--color-primary);
}


/* ===========================
   2. HERO MANDARINITAS
   =========================== */

.hero-mandarinitas {
    background: linear-gradient(120deg, #FF8C42 0%, #FFB347 40%, #FFD166 100%);
    margin-top: 145px;
    min-height: 420px;
    display: grid;
    grid-template-columns: 1fr 430px;
    overflow: hidden;
    position: relative;
    z-index: 10;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

/* Decoración */
.hero-mand-deco {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.hero-mand-deco-1 {
    width: 400px; height: 400px;
    top: -140px; left: -100px;
    background: rgba(255,255,255,0.07);
}
.hero-mand-deco-2 {
    width: 200px; height: 200px;
    bottom: -60px; left: 340px;
    background: rgba(255,255,255,0.06);
}
.hero-mand-deco-3 {
    width: 100px; height: 100px;
    top: 30px; left: 460px;
    background: rgba(255,255,255,0.09);
}
.hero-mand-chinese {
    position: absolute;
    right: 330px;
    bottom: 8px;
    font-size: 7rem;
    font-weight: var(--font-black);
    color: rgba(255,255,255,0.07);
    line-height: 1;
    font-family: var(--font-chinese);
    pointer-events: none;
    user-select: none;
}

/* ---- COLUMNA IZQUIERDA ---- */
.hero-mand-left {
    padding: 2.2rem 1.5rem 0 2.5rem;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
}

.hero-mand-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.22);
    border: 1.5px solid rgba(255,255,255,0.55);
    color: var(--color-white);
    padding: 5px 14px 5px 8px;
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 0.85rem;
    width: fit-content;
}
.hero-mand-badge-dot {
    width: 22px; height: 22px;
    border-radius: 50%;
    background: rgba(255,255,255,0.28);
    display: flex; align-items: center; justify-content: center;
}
.hero-mand-badge-dot-inner {
    width: 9px; height: 9px;
    border-radius: 50%;
    background: var(--color-white);
}

.hero-mand-title {
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    font-weight: var(--font-black);
    color: var(--color-white);
    line-height: 1.15;
    margin-bottom: 0.55rem;
    text-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.hero-mand-title em {
    font-style: normal;
    font-size: clamp(0.85rem, 1.2vw, 1rem);
    font-weight: var(--font-semibold);
    opacity: 0.88;
    display: block;
    margin-bottom: 5px;
}

.hero-mand-desc {
    font-size: var(--text-sm);
    color: rgba(255,255,255,0.92);
    line-height: 1.68;
    margin-bottom: 1rem;
    max-width: 540px;
}

.hero-mand-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 1.2rem;
}
.hero-mand-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(255,255,255,0.18);
    border: 1px solid rgba(255,255,255,0.4);
    color: var(--color-white);
    padding: 5px 13px;
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
}

.hero-mand-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: var(--color-white);
    color: var(--color-primary-dark);
    font-weight: var(--font-extrabold);
    font-size: var(--text-sm);
    padding: 11px 22px;
    border-radius: var(--radius-full);
    text-decoration: none;
    width: fit-content;
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
    transition: all var(--transition-base);
}
.hero-mand-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}
.hero-mand-btn-play {
    width: 26px; height: 26px;
    border-radius: 50%;
    background: var(--gradient-primary);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.hero-mand-tri {
    width: 0; height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 9px solid var(--color-white);
    margin-left: 2px;
}

.hero-mand-foto {
    margin-top: auto;
    display: flex;
    align-items: flex-end;
}
.hero-mand-foto img {
    max-height: 280px;
    width: auto;
    object-fit: contain;
    object-position: bottom;
    display: block;
}



.hero-mand-right {
    display: flex;
    align-items: start;
    justify-content: flex-start;
    padding: 1.0rem 3rem 2rem 0;
    position: relative;
    z-index: 2;
    margin-left: -1rem; /* <-- AGREGA ESTO para mover todo el bloque a la izquierda */
    margin-top: 1rem; /* <-- Juega con este número: 1.5rem, 2rem, 3rem, etc. */
    
}

.hero-mand-card {
    background: var(--color-white);
    border-radius: 20px;
    padding: 1.5rem 1.5rem; /* <-- Aumentado de 1rem a 1.5rem para dar más respiro */
    width: 100%;
    box-shadow: 0 24px 70px rgba(0,0,0,0.2);
    
}

.hero-mand-inicio {
    background: linear-gradient(135deg, #1a3a1a 0%, #2d5a2d 100%);
    border-radius: 10px;
    padding: 12px 16px; /* <-- Espaciado aumentado */
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.hero-mand-inicio-label {
    font-size: 10px; /* <-- Antes 8.5px */
    font-weight: var(--font-bold);
    color: rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 2px;
}
.hero-mand-inicio-date {
    font-size: 15px; /* <-- Antes 12.5px */
    font-weight: var(--font-extrabold);
    color: var(--color-white);
}
.hero-mand-inicio-badge {
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.25);
    color: var(--color-white);
    font-size: 10px; /* <-- Antes 8px */
    font-weight: var(--font-bold);
    padding: 2px 8px;
    border-radius: var(--radius-full);
    white-space: nowrap;
}

.hero-mand-horario {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--color-gray-50);
    border-radius: 9px;
    padding: 12px 14px; /* <-- Espaciado aumentado */
    margin-bottom: 0.75rem;
    border: 1px solid var(--color-gray-100);
}
.hero-mand-hor-tag {
    font-size: 10px; /* <-- Antes 8.5px */
    font-weight: var(--font-bold);
    color: var(--color-gray-400);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 2px;
}
.hero-mand-hor-dia {
    font-size: 14px; /* <-- Antes 12px */
    font-weight: var(--font-extrabold);
    color: var(--color-primary);
}
.hero-mand-hor-hora {
    background: var(--gradient-primary);
    color: var(--color-white);
    font-size: 13px; /* <-- Antes 11px */
    font-weight: var(--font-extrabold);
    padding: 4px 11px;
    border-radius: 7px;
}

.hero-mand-planes-label {
    font-size: 10px; /* <-- Antes 8.5px */
    font-weight: var(--font-bold);
    color: var(--color-gray-400);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
}
.hero-mand-planes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px; /* <-- Separación entre planes aumentada */
    margin-bottom: 0.75rem;
}
.hero-mand-plan {
    border: 1.5px solid var(--color-gray-200);
    border-radius: 12px;
    padding: 12px 10px 10px; /* <-- Espaciado aumentado */
    text-align: center;
    position: relative;
}
.hero-mand-plan.popular {
    border-color: var(--color-primary);
    background: linear-gradient(180deg, #FFF7ED 0%, var(--color-white) 100%);
}
.hero-mand-pop-tag {
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--gradient-primary);
    color: var(--color-white);
    font-size: 9px; /* <-- Antes 7.5px */
    font-weight: var(--font-extrabold);
    padding: 2px 8px;
    border-radius: var(--radius-full);
    white-space: nowrap;
}
.hero-mand-plan-tipo {
    font-size: 10px; /* <-- Antes 8.5px */
    font-weight: var(--font-bold);
    color: var(--color-gray-400);
    text-transform: uppercase;
    margin-bottom: 2px;
}
.hero-mand-plan-antes {
    font-size: 12px; /* <-- Antes 9.5px */
    color: var(--color-gray-300);
    text-decoration: line-through;
    height: 13px;
}
.hero-mand-plan-precio {
    font-size: 28px; /* <-- Antes 22px (Mucho más visible) */
    font-weight: var(--font-black);
    color: var(--color-dark);
    line-height: 1.1;
}
.hero-mand-plan-precio.naranja {
    color: var(--color-primary);
}
.hero-mand-plan-currency {
    font-size: 14px; /* <-- Antes 12px */
    font-weight: var(--font-bold);
    vertical-align: super;
}
.hero-mand-plan-per {
    font-size: 11px; /* <-- Antes 9px */
    font-weight: var(--font-semibold);
    color: var(--color-gray-400);
}
.hero-mand-plan-ahorro {
    font-size: 10px; /* <-- Antes 8.5px */
    font-weight: var(--font-bold);
    color: var(--color-success);
    margin-top: 3px;
    background: #D1FAE5;
    padding: 2px 6px;
    border-radius: var(--radius-full);
    display: inline-block;
}

.hero-mand-items {
    display: flex;
    flex-direction: column;
    gap: 8px; /* <-- Más espacio entre los items con check */
    margin-bottom: 0.75rem;
}
.hero-mand-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px; /* <-- Antes 10.5px (Mejora mucho la lectura) */
    font-weight: var(--font-semibold);
    color: var(--color-gray-700);
}
.hero-mand-item-icon {
    width: 20px; height: 20px; /* <-- Íconos más grandes (antes 16px) */
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.hero-mand-item-icon.verde { background: #D1FAE5; }
.hero-mand-item-icon.rojo  { background: #FEE2E2; }
.hero-mand-item-dot {
    width: 8px; height: 8px; /* <-- Puntos más grandes (antes 6px) */
    border-radius: 50%;
}
.hero-mand-item-dot.verde { background: var(--color-success); }
.hero-mand-item-dot.rojo  { background: var(--color-error); }

.hero-mand-cta {
    width: 100%;
    background: linear-gradient(135deg, #25D366, #1da851);
    color: var(--color-white);
    border: none;
    border-radius: 10px;
    padding: 14px; /* <-- Botón más alto (antes 10px) */
    font-size: 15px; /* <-- Letra del botón más grande (antes 12px) */
    font-weight: var(--font-extrabold);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    transition: all var(--transition-base);
    text-decoration: none;
}
.hero-mand-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(37,211,102,0.35);
}

.hero-mand-asesor {
    text-align: center;
    margin-top: 7px;
    font-size: 12px; /* <-- Antes 10px */
    color: var(--color-gray-400);
}
.hero-mand-asesor a {
    color: var(--color-primary);
    font-weight: var(--font-bold);
    text-decoration: none;
}

/* ---- RESPONSIVE ---- */

@media screen and (max-width: 1400px) {
    .hero-mandarinitas {
        margin-top: 145px;
        grid-template-columns: 2fr 370px;
        
    }

}


@media screen and (max-width: 1023px) {
    .hero-mandarinitas {
        grid-template-columns: 1fr 270px;
    }

    

    .hero-mand-title {
        font-size: 1.6rem;
    }
    .hero-mand-foto img {
        max-height: 220px;
    }
}

@media screen and (max-width: 767px) {
    .hero-mandarinitas {
        margin-top: 140px;
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .hero-mand-left {
        padding: 1.5rem 1.25rem 0;
    }
    .hero-mand-right {
        padding: 0 1.25rem 1.5rem;
    }
    .hero-mand-card {
        max-width: 100%;
    }
    .hero-mand-foto img {
        max-height: 200px;
    }
    .hero-mand-chinese {
        display: none;
    }
    .hero-mand-title {
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 480px) {
    .hero-mandarinitas {
        margin-top: 140px;
    }
    .hero-mand-title {
        font-size: 1.3rem;
    }
    .hero-mand-planes {
        grid-template-columns: 1fr 1fr;
    }
}




/* ===========================
   3. TABS DE NAVEGACIÓN (STICKY CORREGIDO)
   =========================== */
.programa-tabs {
  
    position: sticky !important;
    top: 145px !important; /* Debajo de navbar (100px) + topbar (45px) */
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important; /* CRITICAL: Full viewport width */
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    background: var(--color-white) !important;
    border-bottom: 2px solid var(--color-gray-200) !important;
    z-index: 99 !important;
    box-shadow: var(--shadow-md) !important;
    transition: all var(--transition-base) !important;
}

.programa-tabs.is-stuck {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
}

.programa-tabs .container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
}

.programa-tabs-container {
    display: flex;
    justify-content: center;
    gap: 0;
    background: var(--color-white);
}

.tab-link {
    padding: 1.25rem 2rem;
    text-decoration: none;
    color: var(--color-gray-700);
    font-weight: var(--font-semibold);
    font-size: var(--text-base);
    border-bottom: 3px solid transparent;
    transition: all var(--transition-base);
    position: relative;
    background: var(--color-white);
}

.tab-link:hover {
    color: var(--programa-color);
    background: var(--color-gray-50);
}

.tab-link.active {
    color: var(--programa-color);
    border-bottom-color: var(--programa-color);
    background: rgba(16, 185, 129, 0.05);
}

/* ===========================
   4. LAYOUT 2 COLUMNAS
   =========================== */
.programa-two-columns {
    padding: var(--section-padding) 0;
    background: var(--color-white);
    width: 100% !important;
    display: block !important;
    clear: both !important;
    overflow: visible !important;
}

.programa-two-columns .container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
}

.two-columns-grid {
    display: grid;
    grid-template-columns: 1fr 450px;
    gap: 4rem;
    align-items: start;
    width: 100%;
    margin: 0;
    padding: 0;
}

.column-content {
    min-width: 0;
}

.column-sidebar {
    position: sticky;
    top: 200px;
}

/* ===========================
   5. FORMULARIO DE CONTACTO (ULTRA COMPACTO)
   =========================== */

/* Card del formulario */
.contact-form-card {
    background: linear-gradient(135deg, #70be51 0%, #3a9b3f 100%);
    padding: 0.75rem;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    color: white;
    width: 100%;
    max-width: 850px;
    max-height: 711px;
    overflow: hidden;
}

/* Título del formulario */
.contact-form-title {
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.75rem;
    color: rgba(8, 6, 6, 0.836);
    line-height: 1.2;
}

/* Grupo de campos - espaciado reducido */
.form-group {
    margin-bottom: 0.2rem;
}

/* Inputs y selects - más compactos */
.form-input,
.form-select {
    width: 100%;
    padding: 0.45rem 0.75rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 10px;
    font-size: 0.9rem;
    background: rgba(255, 255, 255, 0.95);
    color: #333;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif;
    height: 46px;
}

.form-input:focus,
.form-select:focus {
    outline: none;
    border-color: white;
    background: white;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
}

.form-input::placeholder {
    color: #999;
}

/* Textarea - ULTRA COMPACTO */
.form-textarea {
    width: 100%;
    padding: 0.45rem 0.75rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 10px;
    font-size: 0.9rem;
    background: rgba(255, 255, 255, 0.95);
    color: #333;
    font-family: 'Inter', sans-serif;
    resize: vertical;
    transition: all 0.3s ease;
    height: 65px;
    line-height: 1.3;
}

.form-textarea:focus {
    outline: none;
    border-color: white;
    background: white;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
}

.form-textarea::placeholder {
    color: #999;
}

/* Texto de ayuda - más pequeño */
.form-help-text {
    display: block;
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.8);
    margin-top: 0.15rem;
    font-style: italic;
    line-height: 1.2;
}

/* Grupo de checkbox - más compacto */
.form-checkbox-group {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.5rem;
}

.form-checkbox {
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
}

.form-checkbox-label {
    font-size: 0.8rem;
    color: white;
    cursor: pointer;
    line-height: 1.2;
}

.form-checkbox-label a {
    color: white;
    text-decoration: underline;
    font-weight: 600;
}

.form-checkbox-label a:hover {
    text-decoration: none;
}

/* Botón submit - más compacto */
.form-submit {
    width: 100%;
    padding: 0.65rem;
    background: #DE2910;
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(222, 41, 16, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.form-submit:hover {
    background: #C42410;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(222, 41, 16, 0.4);
}

.form-submit:active {
    transform: translateY(0);
}

.compartir-section {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 2px solid rgba(255, 255, 255, 0.2);
}

.compartir-title {
    text-align: center;
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
    font-weight: 400;
    line-height: 1.2;
}

.compartir-buttons {
    display: flex;
    justify-content: center;
    gap: 0.6rem;
}

.compartir-button {
    width: 34px;
    height: 34px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    text-decoration: none;
}

.compartir-button:hover {
    background: rgba(255, 255, 255, 0.35);
    transform: translateY(-3px);
}

.compartir-button svg {
    width: 16px;
    height: 16px;
}

/* ===========================
   6. BREADCRUMBS
   =========================== */
.breadcrumbs {
    padding: 1.5rem 0;
    background: var(--color-gray-50);
}

.breadcrumbs-list {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: var(--text-sm);
}

.breadcrumbs-item a {
    color: var(--color-gray-600);
    text-decoration: none;
    transition: color var(--transition-base);
}

.breadcrumbs-item a:hover {
    color: var(--programa-color);
}

.breadcrumbs-item.active {
    color: var(--color-dark);
    font-weight: var(--font-semibold);
}

.breadcrumbs-separator {
    color: var(--color-gray-400);
}

/* ===========================
   7. SECCIÓN DESCRIPCIÓN
   =========================== */
.programa-descripcion {
    padding: var(--section-padding) 0;
    background: var(--color-white);
}

.programa-intro {
    max-width: 800px;
    margin: 0 auto 3rem;
    text-align: center;
}

.programa-intro-title {
    font-size: var(--text-4xl);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 1.5rem;
}

.programa-intro-text {
    font-size: var(--text-lg);
    color: var(--color-gray-700);
    line-height: var(--leading-relaxed);
}

.programa-highlight {
    background: linear-gradient(135deg, var(--color-gray-50) 0%, var(--color-white) 100%);
    border-left: 4px solid var(--programa-color);
    padding: 2rem;
    border-radius: var(--radius-xl);
    margin: 3rem 0;
}

.programa-highlight-title {
    font-size: var(--text-2xl);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 1rem;
}

.programa-highlight-text {
    font-size: var(--text-lg);
    color: var(--color-gray-700);
    line-height: var(--leading-relaxed);
}

/* ===========================
   8. SECCIÓN METODOLOGÍA
   =========================== */
.programa-metodologia {
    padding: var(--section-padding) 0;
    background: linear-gradient(180deg, var(--color-white) 0%, var(--color-gray-50) 100%);
}

.metodologia-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.metodologia-card {
    background: var(--color-white);
    border-radius: var(--radius-xl);
    padding: 2rem;
    box-shadow: var(--shadow-lg);
    transition: all var(--transition-base);
    border-top: 4px solid var(--programa-color);
}

.metodologia-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-2xl);
}

.metodologia-icon {
    width: 60px;
    height: 60px;
    background: var(--programa-color);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    color: var(--color-white);
    font-size: 2rem;
}

.metodologia-title {
    font-size: var(--text-xl);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 1rem;
}

.metodologia-text {
    font-size: var(--text-base);
    color: var(--color-gray-600);
    line-height: var(--leading-relaxed);
}

/* Sección con iconos (alternativa) */
.benefits-with-icons {
    margin-bottom: 3rem;
}

.benefit-item-icon {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    padding: 1.5rem;
    background: var(--color-gray-50);
    border-radius: var(--radius-xl);
    margin-bottom: 1.5rem;
    border-left: 4px solid var(--programa-color);
    transition: all var(--transition-base);
}

.benefit-item-icon:hover {
    box-shadow: var(--shadow-lg);
    transform: translateX(8px);
}

.benefit-icon-circle {
    width: 70px;
    height: 70px;
    min-width: 70px;
    background: var(--color-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    box-shadow: var(--shadow-md);
}

.benefit-text-content h3 {
    font-size: var(--text-lg);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 0.5rem;
}

.benefit-text-content p {
    font-size: var(--text-base);
    color: var(--color-gray-700);
    line-height: var(--leading-relaxed);
}



/* ===========================
   9. TABLA DE NIVELES
   =========================== */
.tabla-niveles-mandarinitas {
    margin: 3rem 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    border: 1px solid #E5E7EB;
}

.tabla-titulo-header {
    background: linear-gradient(135deg, #13578f 0%, #0066B3 100%);
    color: var(--color-white);
    padding: 1.25rem 2rem;
    font-size: var(--text-xl);
    font-weight: var(--font-bold);
    text-align: center;
    letter-spacing: 0.3px;
}

.tabla-cursos {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-white);
}

.tabla-cursos thead {
    background: linear-gradient(135deg, #0066B3 0%, #0080D6 100%);
}

.tabla-cursos thead tr {
    border-bottom: 3px solid #004C8C;
}

.tabla-cursos thead th {
    padding: 1rem 1.5rem;
    text-align: center;
    font-weight: var(--font-bold);
    font-size: var(--text-base);
    color: var(--color-white);
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tabla-cursos thead th:last-child {
    border-right: none;
}

.tabla-cursos tbody tr {
    border-bottom: 1px solid #E5E7EB;
    transition: background-color 0.2s ease;
}

.tabla-cursos tbody tr:hover {
    background: #F9FAFB;
}

.tabla-cursos tbody tr:last-child {
    border-bottom: none;
}

.tabla-cursos tbody td {
    padding: 1.25rem 1.5rem;
    font-size: var(--text-base);
    color: var(--color-gray-700);
    vertical-align: middle;
    border-right: 1px solid #E5E7EB;
}

.tabla-cursos tbody td:last-child {
    border-right: none;
}

/* Columna Niveles */
.tabla-cursos tbody td:first-child {
    width: 15%;
    text-align: center;
    font-weight: var(--font-bold);
    color: var(--color-dark);
    font-size: var(--text-lg);
}

/* Columna Descripción */
.tabla-cursos tbody td:nth-child(2) {
    width: 60%;
    line-height: var(--leading-relaxed);
    text-align: left;
}

/* Columna Número de ciclos */
.tabla-cursos tbody td:last-child {
    width: 25%;
    text-align: center;
    font-weight: var(--font-bold);
    color: var(--programa-color);
    font-size: var(--text-2xl);
}

/* ===========================
   10. SECCIÓN RESULTADOS
   =========================== */
.programa-resultados {
    padding: var(--section-padding) 0;
    background: linear-gradient(135deg, var(--programa-color) 0%, var(--color-primary) 100%);
    color: var(--color-white);
}

.programa-resultados .section-title {
    color: var(--color-white);
}

.programa-resultados .section-subtitle {
    color: rgba(255, 255, 255, 0.9);
}

.resultados-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.resultado-card {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-xl);
    padding: 2rem;
    text-align: center;
    transition: all var(--transition-base);
}

.resultado-card:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-8px);
}

.resultado-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.resultado-title {
    font-size: var(--text-xl);
    font-weight: var(--font-bold);
    margin-bottom: 0.75rem;
}

.resultado-text {
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    opacity: 0.95;
}

/* ===========================
   11. POR QUÉ ELEGIRNOS
   =========================== */
.programa-why {
    padding: var(--section-padding) 0;
    background: var(--color-white);
}

.why-grid-programa {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.why-card-programa {
    background: var(--color-gray-50);
    border-radius: var(--radius-xl);
    padding: 2rem;
    border: 2px solid transparent;
    transition: all var(--transition-base);
}

.why-card-programa:hover {
    border-color: var(--programa-color);
    box-shadow: var(--shadow-xl);
    transform: translateY(-4px);
}

.why-card-programa.featured {
    background: linear-gradient(135deg, var(--color-gray-50) 0%, var(--color-white) 100%);
    border-color: var(--programa-color);
    box-shadow: var(--shadow-lg);
}

.why-icon-programa {
    width: 70px;
    height: 70px;
    background: var(--programa-color);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    color: var(--color-white);
    font-size: 2rem;
}

.why-title-programa {
    font-size: var(--text-xl);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 1rem;
}

.why-text-programa {
    font-size: var(--text-base);
    color: var(--color-gray-700);
    line-height: var(--leading-relaxed);
}

/* ===========================
   12. BENEFICIOS (CARDS)
   =========================== */
.beneficios-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.beneficio-card {
    background: var(--color-white);
    border-radius: var(--radius-2xl);
    padding: 2.5rem 2rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all var(--transition-base);
    border: 2px solid transparent;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    overflow: hidden;
}

.beneficio-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--programa-color), #059669);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--transition-base);
}

.beneficio-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    border-color: var(--programa-color);
}

.beneficio-card:hover::before {
    transform: scaleX(1);
}

.beneficio-card.beneficio-destacado {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(5, 150, 105, 0.05) 100%);
    border-color: var(--programa-color);
}

.beneficio-card.beneficio-destacado::before {
    transform: scaleX(1);
    height: 5px;
}

.beneficio-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #FF9F5A 0%, #FF8C42 100%);
    border-radius: var(--radius-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    box-shadow: 0 8px 20px rgba(255, 159, 90, 0.3);
    transition: all var(--transition-base);
}

.beneficio-card:hover .beneficio-icon {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 12px 30px rgba(255, 159, 90, 0.4);
}

.beneficio-icon span {
    font-size: 2.5rem;
    line-height: 1;
}

.beneficio-titulo {
    font-size: var(--text-lg);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 1rem;
    line-height: var(--leading-tight);
}

.beneficio-descripcion {
    font-size: var(--text-base);
    color: var(--color-gray-600);
    line-height: var(--leading-relaxed);
    flex-grow: 1;
}

/* ===========================
   13. SECCIÓN CERTIFICACIÓN
   =========================== */
.programa-certificacion {
    padding: var(--section-padding) 0;
    background: linear-gradient(180deg, var(--color-white) 0%, var(--color-gray-50) 100%);
}

.certificacion-content {
    max-width: 100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

.certificacion-image {
    position: relative;
    border-radius: var(--radius-2xl);
    overflow: hidden;
    box-shadow: var(--shadow-2xl);
}

.certificacion-image img {
    width: 100%;
    height: auto;
    display: block;
}

.certificacion-text h3 {
    font-size: var(--text-3xl);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 1.5rem;
}

.certificacion-text p {
    font-size: var(--text-lg);
    color: var(--color-gray-700);
    line-height: var(--leading-relaxed);
    margin-bottom: 1rem;
}

.certificacion-benefits {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
}

.certificacion-benefits li {
    padding: 0.75rem 0;
    padding-left: 2rem;
    position: relative;
    font-size: var(--text-base);
    color: var(--color-gray-700);
}

.certificacion-benefits li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--programa-color);
    font-weight: var(--font-bold);
    font-size: var(--text-xl);
}

.certificacion-preview {
    margin-top: 3rem;
    text-align: center;
}

.certificacion-preview-title {
    font-size: var(--text-xl);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 1.5rem;
}

.certificacion-image-placeholder {
    background: var(--color-gray-100);
    border: 3px dashed var(--color-gray-300);
    border-radius: var(--radius-xl);
    padding: 0rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
}

.certificacion-image-placeholder img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
}

.certificacion-placeholder-text {
    color: var(--color-gray-500);
    font-size: var(--text-lg);
}

/* ===========================
   14. SECCIÓN INVERSIÓN
   =========================== */
.programa-inversion {
    padding: var(--section-padding) 0;
    background: var(--color-white);
}

.inversion-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.plan-card {
    background: var(--color-white);
    border: 3px solid var(--color-gray-200);
    border-radius: var(--radius-2xl);
    padding: 2.5rem;
    text-align: center;
    transition: all var(--transition-base);
    position: relative;
}

.plan-card:hover {
    border-color: var(--programa-color);
    box-shadow: var(--shadow-2xl);
    transform: translateY(-8px);
}

.plan-card.destacado {
    border-color: var(--programa-color);
    box-shadow: var(--shadow-xl);
}

.plan-badge {
    position: absolute;
    top: -27px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--programa-color);
    color: var(--color-white);
    padding: 0.25rem 1.5rem;
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    font-weight: var(--font-bold);
    text-transform: uppercase;
}

.plan-name {
    font-size: var(--text-2xl);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 1rem;
}

.plan-price {
    font-size: var(--text-5xl);
    font-weight: var(--font-black);
    color: var(--programa-color);
    margin-bottom: 0.5rem;
}

.plan-period {
    font-size: var(--text-base);
    color: var(--color-gray-600);
    margin-bottom: 2rem;
}

.plan-features {
    list-style: none;
    padding: 0;
    margin: 2rem 0;
    text-align: left;
}

.plan-features li {
    padding: 0.75rem 0;
    padding-left: 2rem;
    position: relative;
    font-size: var(--text-base);
    color: var(--color-gray-700);
    border-bottom: 1px solid var(--color-gray-100);
}

.plan-features li:last-child {
    border-bottom: none;
}

.plan-features li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--programa-color);
    font-weight: var(--font-bold);
}

.btn-plan {
    width: 100%;
    padding: 1rem 2rem;
    background: var(--programa-color);
    color: var(--color-white);
    text-decoration: none;
    border-radius: var(--radius-lg);
    font-weight: var(--font-bold);
    font-size: var(--text-lg);
    transition: all var(--transition-base);
    display: inline-block;
    margin-top: 1rem;
}

.btn-plan:hover {
    background: var(--color-dark);
    transform: translateY(-2px);
}

.metodos-pago {
    margin-top: 4rem;
    padding: 2rem;
    background: var(--color-gray-50);
    border-radius: var(--radius-xl);
    text-align: center;
}

.metodos-pago-title {
    font-size: var(--text-2xl);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 1.5rem;
}

.metodos-pago-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
}

.metodo-logo {
    padding: 1rem;
    background: var(--color-white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    transition: all var(--transition-base);
    font-weight: var(--font-bold);
    font-size: var(--text-lg);
    color: var(--color-gray-700);
}

.metodo-logo:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-4px);
}

/* ===========================
   15. MÉTODOS DE PAGO FOOTER
   =========================== */
.metodos-pago-footer {
    padding: 3rem 0;
    background: var(--color-gray-50);
    width: 100% !important;
    clear: both !important;
    display: block !important;
    position: relative !important;
    float: none !important;
    margin: 0 !important;
}

.metodos-pago-footer .container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
}

.metodos-pago-footer .metodos-pago-title {
    text-align: center;
    font-size: var(--text-2xl);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 2rem;
}

.metodos-pago-footer .metodos-pago-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.metodo-pago-item {
    background: var(--color-white);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    text-align: center;
    box-shadow: var(--shadow-md);
    transition: all var(--transition-base);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80px;
}

.metodo-pago-item:hover {
    box-shadow: var(--shadow-xl);
    transform: translateY(-4px);
}

.metodo-pago-item img {
    max-width: 100%;
    max-height: 50px;
    object-fit: contain;
}

.metodo-pago-placeholder {
    font-weight: var(--font-bold);
    color: var(--color-gray-700);
    font-size: var(--text-lg);
}

/* ===========================
   16. QUÉ INCLUYE
   =========================== */
.programa-incluye {
    padding: var(--section-padding) 0;
    background: linear-gradient(180deg, var(--color-gray-50) 0%, var(--color-white) 100%);
}

.incluye-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.incluye-card {
    background: var(--color-white);
    border-radius: var(--radius-xl);
    padding: 2rem;
    border-left: 4px solid var(--programa-color);
    box-shadow: var(--shadow-md);
    transition: all var(--transition-base);
}

.incluye-card:hover {
    box-shadow: var(--shadow-xl);
    transform: translateX(8px);
}

.incluye-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.incluye-title {
    font-size: var(--text-lg);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 0.5rem;
}

.incluye-text {
    font-size: var(--text-base);
    color: var(--color-gray-600);
    line-height: var(--leading-relaxed);
}

/* ===========================
   17. HORARIOS Y REQUISITOS
   =========================== */
.programa-info-dual {
    padding: var(--section-padding) 0;
    background: var(--color-white);
}

.info-dual-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-top: 3rem;
}

.info-card {
    background: var(--color-gray-50);
    border-radius: var(--radius-2xl);
    padding: 2.5rem;
}

.info-card-title {
    font-size: var(--text-3xl);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.info-card-icon {
    width: 50px;
    height: 50px;
    background: var(--programa-color);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white);
    font-size: 1.5rem;
}

.horarios-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.horario-item {
    padding: 1.25rem;
    background: var(--color-white);
    border-radius: var(--radius-lg);
    margin-bottom: 1rem;
    border-left: 4px solid var(--programa-color);
}

.horario-dia {
    font-weight: var(--font-bold);
    color: var(--color-dark);
    font-size: var(--text-lg);
    margin-bottom: 0.5rem;
}

.horario-hora {
    color: var(--color-gray-700);
    font-size: var(--text-base);
}

.requisitos-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.requisitos-list li {
    padding: 1rem 0;
    padding-left: 2.5rem;
    position: relative;
    font-size: var(--text-base);
    color: var(--color-gray-700);
    border-bottom: 1px solid var(--color-gray-200);
}

.requisitos-list li:last-child {
    border-bottom: none;
}

.requisitos-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--programa-color);
    font-weight: var(--font-bold);
    font-size: var(--text-xl);
}

/* ===========================
   18. CALENDARIO Y CUPOS
   =========================== */
.programa-calendario {
    padding: 3rem 0;
    background: linear-gradient(135deg, var(--programa-color) 0%, var(--color-primary) 100%);
    color: var(--color-white);
    text-align: center;
}

.calendario-content {
    max-width: 800px;
    margin: 0 auto;
}

.calendario-title {
    font-size: var(--text-3xl);
    font-weight: var(--font-bold);
    margin-bottom: 1rem;
}

.calendario-fecha {
    font-size: var(--text-5xl);
    font-weight: var(--font-black);
    margin-bottom: 1rem;
}

.calendario-info {
    font-size: var(--text-lg);
    margin-bottom: 2rem;
    opacity: 0.95;
}

.cupos-counter {
    display: inline-block;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    border: 2px solid var(--color-white);
    border-radius: var(--radius-xl);
    padding: 1.5rem 3rem;
    margin-top: 1rem;
}

.cupos-numero {
    font-size: var(--text-6xl);
    font-weight: var(--font-black);
    line-height: 1;
}

.cupos-texto {
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.calendario-tabla {
    width: 100%;
    margin-top: 2rem;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.calendario-tabla table {
    width: 100%;
    border-collapse: collapse;
}

.calendario-tabla thead {
    background: var(--programa-color);
    color: var(--color-white);
}

.calendario-tabla th {
    padding: 1.25rem 1rem;
    text-align: left;
    font-weight: var(--font-bold);
    font-size: var(--text-base);
}

.calendario-tabla tbody tr {
    border-bottom: 1px solid var(--color-gray-200);
    transition: all var(--transition-base);
}

.calendario-tabla tbody tr:hover {
    background: var(--color-gray-50);
}

.calendario-tabla tbody tr:last-child {
    border-bottom: none;
}

.calendario-tabla td {
    padding: 1.25rem 1rem;
    font-size: var(--text-base);
    color: var(--color-gray-700);
}

.cupos-badge {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: var(--programa-color);
    color: var(--color-white);
    border-radius: var(--radius-full);
    font-weight: var(--font-bold);
    font-size: var(--text-sm);
}

.cupos-badge.limitado {
    background: #F59E0B;
}

.cupos-badge.lleno {
    background: #DC2626;
}

.cupos-destacado {
    background: linear-gradient(135deg, var(--programa-color) 0%, #059669 100%);
    border-radius: var(--radius-2xl);
    padding: 2.5rem;
    text-align: center;
    color: var(--color-white);
    margin: 3rem 0;
    box-shadow: var(--shadow-2xl);
}

.cupos-destacado-numero {
    font-size: 4rem;
    font-weight: var(--font-black);
    line-height: 1;
    margin-bottom: 0.5rem;
}

.cupos-destacado-texto {
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cupos-destacado-info {
    margin-top: 1rem;
    font-size: var(--text-base);
    opacity: 0.95;
}

/* ===========================
   19. FAQ
   =========================== */
.programa-faq {
    padding: var(--section-padding) 0;
    background: var(--color-white);
}

.faq-list {
    max-width: 800px;
    margin: 3rem auto 0;
}

.faq-item {
    background: var(--color-gray-50);
    border-radius: var(--radius-xl);
    margin-bottom: 1rem;
    overflow: hidden;
    border: 2px solid transparent;
    transition: all var(--transition-base);
}

.faq-item.active {
    border-color: var(--programa-color);
}

.faq-question {
    width: 100%;
    padding: 1.5rem 2rem;
    background: none;
    border: none;
    text-align: left;
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--color-dark);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all var(--transition-base);
}

.faq-question:hover {
    color: var(--programa-color);
}

.faq-icon {
    font-size: 1.5rem;
    color: var(--programa-color);
    transition: transform var(--transition-base);
}

.faq-item.active .faq-icon {
    transform: rotate(180deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.faq-item.active .faq-answer {
    max-height: 500px;
}

.faq-answer-content {
    padding: 0 2rem 1.5rem 2rem;
    font-size: var(--text-base);
    color: var(--color-gray-700);
    line-height: var(--leading-relaxed);
}

/* ===========================
   20. BOTONES COMPARTIR
   =========================== */
.share-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    padding: 2rem 0;
}

.share-text {
    font-weight: var(--font-semibold);
    color: var(--color-gray-700);
}

.share-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all var(--transition-base);
    color: var(--color-white);
}

.share-btn.facebook {
    background: #1877F2;
}

.share-btn.twitter {
    background: #1DA1F2;
}

.share-btn.whatsapp {
    background: #25D366;
}

.share-btn.linkedin {
    background: #0A66C2;
}

.share-btn:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

/* ===========================
   21. CTA FINAL
   =========================== */
.programa-cta-final {
    padding: 4rem 0;
    background: linear-gradient(135deg, var(--color-dark) 0%, var(--color-gray-900) 100%);
    color: var(--color-white);
    text-align: center;
}

.cta-final-content {
    max-width: 700px;
    margin: 0 auto;
}

.cta-final-title {
    font-size: var(--text-4xl);
    font-weight: var(--font-black);
    margin-bottom: 1rem;
}

.cta-final-text {
    font-size: var(--text-xl);
    margin-bottom: 2rem;
    opacity: 0.9;
}

.cta-final-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* ===========================
   22. ELEMENTOS AUXILIARES
   =========================== */
.highlight-box {
    background: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 100%);
    border-left: 5px solid var(--programa-color);
    border-radius: var(--radius-xl);
    padding: 2rem;
    margin: 2rem 0;
}

.highlight-box p {
    font-size: var(--text-lg);
    color: var(--color-gray-800);
    line-height: var(--leading-relaxed);
    margin: 0;
}

.highlight-box strong {
    color: var(--programa-color);
}

/* Laptop (1024px - 1600px) */
@media screen and (max-width: 1600px) {
    
    /* 1. AJUSTES GENERALES DEL HERO */
    .hero-programa {
        margin-top: 120px !important;
        padding: 2rem 0;
        background-position: 80% center;
    }
    
    .hero-programa-container {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }
    
    .hero-programa-text {
        max-width: 100%;
        padding-right: 1rem;
    }
    
    /* 2. TABS Y GRID PRINCIPAL */
    .programa-tabs {
        top: 125px !important;
    }
    
    .two-columns-grid {
        grid-template-columns: 1fr 400px; /* Ajuste para dar espacio al form */
        gap: 3.7rem;
    }

    /* 3. FORMULARIO EN DOS COLUMNAS (GRID) */
    #formulario-contacto {
        display: grid;
        grid-template-columns: 1fr 1fr; /* Dos columnas iguales */
        column-gap: 0.4rem; /* Espacio horizontal */
        row-gap: 0rem;    /* Espacio vertical reducido */
        height: 314px;
    }


    .column-sidebar {
        /* Esto lo sube 3rem (aprox 50px) más arriba de su posición natural */
        margin-top: -3rem !important; 
        /* Esto controla dónde se queda pegado al bajar (justo bajo los tabs) */
        position: sticky !important;
        top: 145px !important; 
        z-index: 1 !important;
    }

    /* Elementos que ocupan TODO el ancho (las 2 columnas) */
  
    .form-group:nth-child(6), /* Textarea Mensaje */
    .form-group:nth-child(7), /* Textarea (AQUÍ ESTABA EL FALTANTE) */
    .form-checkbox-group,
    .form-submit {
        grid-column: span 2;
    }

    /* 4. ESTILOS COMPACTOS Y TAMAÑOS */
    .contact-form-card {
        padding: 1.00rem !important;
        width: 100%;
    }
    
    .contact-form-title {
        font-size: 1.rem !important;
        margin-bottom: 0.8rem !important;
        margin-top: 1.5rem !important;
    }
    
    .form-group {
        margin-bottom: 0 !important;
    }
    
    /* --- AQUÍ ESTÁ EL CONTROL DE INPUTS Y SELECTS --- */


        /* Agrega esto dentro del media query de laptop para quitar el espacio */
    .form-checkbox-group {
        margin-bottom: 0px !important; /* Antes era 0.5rem */
        min-height: 0px; /* Asegura que no se aplaste demasiado */
    }
    .form-input,
    .form-select {
        height: 45px !important;             /* <--- Altura del campo (Achicar/Agrandar) */
        margin-top: 0px;
        padding: 0rem 0rem !important;   /* <--- Relleno interno */
        font-size: 0.10rem !important;       /* <--- Tamaño de letra */
    }
    
    /* --- AQUÍ ESTÁ EL CONTROL DEL TEXTAREA --- */
    .form-textarea {
        height: 1px !important;             /* <--- Altura inicial */
        font-size: 0.50rem !important;
        resize: vertical !important;         /* <--- PERMITE AL USUARIO AGRANDARLO HACIA ABAJO */
    }
    
    .form-checkbox-label {
        font-size: 0.15rem !important;
    }

    .form-submit {
        padding: 0.6rem !important;
        font-size: 0.9rem !important;
        margin-top: 0.1rem;
        margin-bottom: 0 !important; /* <--- IMPORTANTE: Quita espacio inferior */
    }
    
    /* 5. AJUSTES BOTONES DEL HERO */
    .btn-programa-primary,
    .btn-programa-secondary {
        padding: 0.7rem 1.5rem;
        font-size: 0.9rem;
    }
    
    /* 6. SECCIÓN COMPARTIR (CORREGIDO Y COMPLETO) */
    .compartir-section {
    margin-top: 0 !important; 
    padding-top: 0 !important;
    border-top: none !important; /* Quitamos líneas que ensucien */
    }
  .compartir-title {
    margin-top: 1rem;
    font-size: 0.85rem !important;
    margin-bottom: 0.75rem !important;
}

    .compartir-buttons {
        margin-top: 13px;
        gap: 0.4rem !important;
        padding: 0 !important;
    }
    
    /* Tamaño de los botones de redes sociales */
    .compartir-button {
        width: 28px !important;
        height: 28px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* 7. FOOTER DE PAGOS */
    .metodos-pago-footer .metodos-pago-grid {
        grid-template-columns: repeat(8, 1fr);
        gap: 1rem;
        overflow-x: auto;

    }
}

    /* Ajuste Footer Pagos */
    .metodos-pago-footer .metodos-pago-grid {
        grid-template-columns: repeat(8, 1fr);
        gap: 1rem;
        overflow-x: auto;

    }

/* Tablet (768px - 1024px) */
@media screen and (max-width: 1024px) {
    
    /* ===== 1. RESET DE ESTRUCTURA GENERAL ===== */
    .hero-programa, 
    .programa-tabs {
        width: 100% !important; 
        max-width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
        left: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    .hero-programa-container {
        grid-template-columns: 1fr;
    }
    
    .hero-programa-text {
        max-width: 100%;
    }
    
    .hero-programa-title {
        font-size: var(--text-4xl);
    }
    
    .hero-programa-subtitle {
        font-size: var(--text-lg);
    }

    /* ===== 2. ELEMENTOS STICKY (BARRA SUPERIOR Y TABS) ===== */
    
    /* Topbar fija debajo del Navbar principal (asumiendo navbar ~70px-80px) */
    .top-bar {
        position: fixed !important;
        top: 100px !important; /* Ajusta este valor si tu navbar es más bajo/alto */
        z-index: 999 !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
        width: 100%;
    }

    /* Tabs fijos debajo de la Topbar */
    .programa-tabs {
        position: sticky!important; /* O fixed, dependiendo de tu estructura padre */
        top: 140px !important; /* 80px del navbar + 45px del topbar aprox */
        z-index: 998 !important;
        background: #fff; /* Asegura fondo para que no se vea el texto al pasar por debajo */
    }

    /* Estilos unificados para los enlaces de las pestañas */
    .tab-link {
        flex: 0 0 auto !important;          /* No aplastar */
        white-space: nowrap !important;     /* No romper palabras */
        padding: 1rem 1.25rem !important;   /* Padding equilibrado */
        font-size: 0.9rem !important;
        border-bottom: 3px solid transparent !important;
        min-width: auto !important;
    }

    /* ===== 3. GRID Y CONTENIDO ===== */
    .two-columns-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .column-sidebar {
        position: relative;
        top: 0;
        order: 2; /* Sidebar pasa abajo en tablet */
    }
    
    .column-content {
        order: 1; /* Contenido principal arriba */
    }
    
    .contact-form-card {
        max-width: 100%;
        width: 100%;
    }
    
    .certificacion-content,
    .info-dual-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    /* ===== 4. BENEFICIOS Y TARJETAS ===== */
    .beneficios-cards-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 1.5rem;
    }
    
    .beneficio-card {
        padding: 2rem 1.5rem;
    }
    
    .btn-programa-primary,
    .btn-programa-secondary {
        padding: 0.875rem 1.5rem;
        font-size: var(--text-base);
    }
    
    .hero-programa-ctas {
        gap: 0.875rem;
    }
    
    /* ===== 5. FOOTER Y MÉTODOS DE PAGO ===== */
    .metodos-pago-footer .metodos-pago-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
    }
    
    .metodo-pago-item {
        padding: 1.25rem;
        min-height: 70px;
    }
    
    .metodo-pago-item img {
        max-height: 45px;
    }
    
    .faq-question {
        padding: 1.25rem 1.5rem;
        font-size: var(--text-base);
    }
    
    .faq-answer-content {
        padding: 0 1.5rem 1.25rem 1.5rem;
    }
}

/* Móvil (480px - 767px) */
@media screen and (max-width: 767px) {
    .hero-programa {
        margin-top: 100px !important; /* CORREGIDO: Solo navbar */
        padding: 2rem 0 1.5rem;
        min-height: 340px;
        background-position: 60% center;
    }
    
    .hero-programa::before {
        background: linear-gradient(90deg, 
        );
    }
    
    .hero-programa .container {
        padding: 0 1.5rem;
    }
    
    .hero-programa-title {
        font-size: var(--text-3xl);
        line-height: 1.2;
    }
    
    .hero-programa-subtitle {
        font-size: var(--text-base);
    }
    
    .hero-programa-ctas {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .hero-programa-ctas a {
        width: 100%;
        justify-content: center;
    }
    
    /* CORREGIDO: Tabs sticky debajo navbar en móvil */
    .programa-tabs {
        
        top: 100px !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        
    }
    
    .programa-tabs .container {
        padding: 0;
    }
    
    .programa-tabs-container {
        justify-content: flex-start;
        min-width: max-content;
        padding: 0 1rem;
    }
    
    .tab-link {
        padding: 1rem 1.5rem;
        font-size: var(--text-sm);
        white-space: nowrap;
    }
    
    .two-columns-grid {
        grid-template-columns: 1fr;
    }
    
    .contact-form-card {
        padding: 1.25rem;
        max-width: 100%;
        width: 100%;
    }
    
    .contact-form-title {
        font-size: 1.3rem;
        margin-bottom: 0.75rem;
    }
    
    .form-group {
        margin-bottom: 0.5rem;
    }
    
    .form-input,
    .form-select,
    .form-textarea {
        padding: 0.6rem 0.85rem;
        font-size: 0.9rem;
    }
    
    .form-textarea {
        min-height: 60px;
    }
    
    .form-submit {
        padding: 0.7rem;
        font-size: 0.95rem;
    }
    
   .compartir-section {
    margin-top: 2rem;
    padding-top: 2rem;
}
    
    .compartir-title {
        font-size: 0.85rem;
        margin-bottom: 0.6rem;
    }
    
    .compartir-button {
        width: 35px;
        height: 35px;
    }
    
    .compartir-button svg {
        width: 16px;
        height: 16px;
    }
    
    .inversion-grid,
    .metodologia-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .calendario-tabla {
        overflow-x: auto;
    }
    
    .calendario-tabla table {
        min-width: 600px;
    }
    
    .cupos-destacado {
        padding: 2rem 1.5rem;
    }
    
    .cupos-destacado-numero {
        font-size: 3rem;
    }
    
    .beneficios-cards-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .beneficio-card {
        padding: 2rem 1.5rem;
    }
    
    .beneficio-icon {
        width: 70px;
        height: 70px;
    }
    
    .beneficio-icon span {
        font-size: 2rem;
    }
    
    .beneficio-titulo {
        font-size: var(--text-base);
    }
    
    .beneficio-descripcion {
        font-size: var(--text-sm);
    }
    
    /* Tabla responsive */
    .tabla-niveles-mandarinitas {
        border-radius: 8px;
        overflow: visible;
    }
    
    .tabla-titulo-header {
        padding: 1rem 1rem;
        font-size: var(--text-lg);
        border-radius: 8px 8px 0 0;
    }
    
    .tabla-cursos thead {
        display: none;
    }
    
    .tabla-cursos tbody tr {
        display: block;
        margin-bottom: 1.5rem;
        border: 1px solid #E5E7EB;
        border-radius: 8px;
        padding: 1rem;
        background: var(--color-white);
    }
    
    .tabla-cursos tbody tr:last-child {
        margin-bottom: 0;
    }
    
    .tabla-cursos tbody td {
        display: block;
        width: 100% !important;
        text-align: left !important;
        padding: 0.75rem 0;
        border: none;
    }
    
    .tabla-cursos tbody td::before {
        content: attr(data-label);
        display: block;
        font-weight: var(--font-bold);
        color: var(--color-dark);
        margin-bottom: 0.5rem;
        font-size: var(--text-sm);
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .tabla-cursos tbody td:first-child {
        font-size: var(--text-xl);
        color: var(--programa-color);
        padding-bottom: 0.5rem;
    }
    
    .tabla-cursos tbody td:last-child {
        font-size: var(--text-3xl);
        color: var(--programa-color);
        padding-top: 1rem;
        border-top: 1px solid #E5E7EB;
    }
    
    .btn-programa-primary,
    .btn-programa-secondary {
        padding: 0.875rem 1.5rem;
        font-size: var(--text-base);
        width: 100%;
        justify-content: center;
    }
    
    .btn-programa-primary svg,
    .btn-programa-secondary svg {
        width: 18px;
        height: 18px;
    }
    
    .metodos-pago-footer {
        padding: 2rem 0;
    }
    
    .metodos-pago-footer .metodos-pago-title {
        font-size: var(--text-xl);
        margin-bottom: 1.5rem;
    }
    
    .metodos-pago-footer .metodos-pago-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
    }
    
    .metodo-pago-item {
        padding: 1rem;
        min-height: 70px;
    }
    
    .metodo-pago-item img {
        max-height: 40px;
    }
    
    .metodo-pago-placeholder {
        font-size: var(--text-sm);
    }
    
    .faq-question {
        padding: 1rem 1.25rem;
        font-size: var(--text-base);
    }
    
    .faq-answer-content {
        padding: 0 1.25rem 1rem 1.25rem;
        font-size: var(--text-sm);
    }
    
    .share-buttons {
        flex-wrap: wrap;
        padding: 1.5rem 0;
    }
    
    .share-btn {
        width: 42px;
        height: 42px;
    }
    
    .plan-card {
        padding: 2rem 1.5rem;
    }
    
    .plan-price {
        font-size: var(--text-4xl);
    }
    
    .info-card {
        padding: 2rem 1.5rem;
    }
    
    .info-card-title {
        font-size: var(--text-2xl);
        flex-direction: column;
        align-items: flex-start;
    }
    
    .calendario-title {
        font-size: var(--text-2xl);
    }
    
    .calendario-fecha {
        font-size: var(--text-4xl);
    }
}

/* Móvil pequeño (< 480px) */
@media screen and (max-width: 480px) {
    .hero-programa {
        margin-top: 140px !important;
        min-height: 350px;
        background-position: 50% center;
        padding: 1.5rem 0;
    }
    
    .hero-programa .container {
        padding: 0 1rem;
    }
    
    .hero-programa-title {
        font-size: var(--text-2xl);
    }
    
    .hero-programa-subtitle {
        font-size: var(--text-sm);
    }
    
    .contact-form-card {
        padding: 1rem;
    }
    
    .contact-form-title {
        font-size: 1.2rem;
    }
    
    .form-input,
    .form-select {
        font-size: var(--text-sm);
        padding: 0.65rem 0.75rem;
        height: 42px;
    }
    
    .form-textarea {
        font-size: var(--text-sm);
        height: 55px;
    }
    
    .form-submit {
        padding: 0.65rem;
        font-size: var(--text-sm);
    }
    
    .programa-tabs {
        top: 133px !important;
    }
    
    .beneficio-card {
        padding: 1.5rem 1.25rem;
    }
    
    .beneficio-icon {
        width: 60px;
        height: 60px;
    }
    
    .beneficio-icon span {
        font-size: 1.75rem;
    }
    
    .tabla-titulo-header {
        font-size: var(--text-base);
        padding: 0.875rem 0.75rem;
    }
    
    .btn-programa-primary,
    .btn-programa-secondary {
        padding: 0.75rem 1.25rem;
        font-size: var(--text-sm);
        width: 100%;
        justify-content: center;
    }
    
    .btn-programa-primary svg,
    .btn-programa-secondary svg {
        width: 16px;
        height: 16px;
    }
    
    .hero-programa-badge {
        font-size: 0.7rem;
        padding: 0.35rem 1rem;
    }
    
    .metodos-pago-footer .metodos-pago-title {
        font-size: var(--text-lg);
    }
    
    .metodos-pago-footer .metodos-pago-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }
    
    .metodo-pago-item {
        padding: 0.875rem;
        min-height: 65px;
    }
    
    .metodo-pago-item img {
        max-height: 35px;
    }
    
    .metodo-pago-placeholder {
        font-size: 0.75rem;
    }
    
    .faq-question {
        padding: 0.875rem 1rem;
        font-size: var(--text-sm);
    }
    
    .faq-icon {
        font-size: 1.25rem;
    }
    
    .share-btn {
        width: 38px;
        height: 38px;
    }
    
    .share-text {
        font-size: var(--text-sm);
    }
    
    .plan-card {
        padding: 1.5rem 1.25rem;
    }
    
    .plan-name {
        font-size: var(--text-xl);
    }
    
    .plan-price {
        font-size: var(--text-3xl);
    }
    
    .calendario-title {
        font-size: var(--text-xl);
    }
    
    .calendario-fecha {
        font-size: var(--text-3xl);
    }
    
    .cupos-destacado-numero {
        font-size: 2.5rem;
    }
    
    .cupos-destacado-texto {
        font-size: var(--text-base);
    }
    
    .section-title {
        font-size: var(--text-2xl);
    }
    
    .section-subtitle {
        font-size: var(--text-sm);
    }
}


/* ===========================
   NUEVAS CLASES - REESTRUCTURA
   =========================== */

/* Pretitle de sección */
.section-pretitle {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
    display: block;
}

/* Resultados grid */
.mand-resultados-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin-top: 1.5rem;
}

.mand-resultado-card {
    background: var(--color-white);
    border-radius: var(--radius-xl);
    padding: 1.5rem 1.25rem;
    text-align: center;
    border: 1.5px solid var(--color-gray-100);
    transition: all var(--transition-base);
    box-shadow: var(--shadow-sm);
}

.mand-resultado-card:hover {
    transform: translateY(-4px);
    border-color: var(--color-primary);
    box-shadow: var(--shadow-primary);
}

.mand-resultado-emoji {
    font-size: 2.2rem;
    margin-bottom: 0.75rem;
}

.mand-resultado-card h3 {
    font-size: var(--text-base);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 0.5rem;
}

.mand-resultado-card p {
    font-size: var(--text-sm);
    color: var(--color-gray-500);
    line-height: 1.65;
    margin: 0;
}

/* Testimonio (comentado pero listo) */
.mand-testimonio-card {
    background: linear-gradient(135deg, #FFF7ED, #FFEDD5);
    border-radius: var(--radius-2xl);
    padding: 2.5rem;
    border-left: 5px solid var(--color-primary);
    position: relative;
}

.mand-testimonio-comillas {
    font-size: 5rem;
    color: var(--color-primary);
    opacity: 0.25;
    line-height: 1;
    font-family: Georgia, serif;
    position: absolute;
    top: 1rem;
    left: 2rem;
}

.mand-testimonio-texto {
    font-size: 1.1rem;
    color: var(--color-dark);
    line-height: 1.75;
    font-style: italic;
    margin-bottom: 1.5rem;
    padding-top: 1.5rem;
}

.mand-testimonio-autor {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.mand-testimonio-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--color-primary);
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--font-bold);
    flex-shrink: 0;
}

.mand-testimonio-nombre {
    font-weight: var(--font-bold);
    color: var(--color-dark);
}

.mand-testimonio-rol {
    font-size: var(--text-sm);
    color: var(--color-gray-500);
}

.mand-testimonio-estrellas {
    margin-left: auto;
    color: var(--color-secondary-dark);
    font-size: 1.2rem;
}

/* Nota niveles */
.mand-nota-box {
    margin-top: 1.5rem;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, #FFF7ED, #FFEDD5);
    border-radius: var(--radius-lg);
    border-left: 4px solid var(--color-primary);
    font-size: var(--text-base);
    color: var(--color-gray-800);
    line-height: 1.7;
}

/* Certificación grid */
.mand-cert-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: center;
    margin-top: 1.5rem;
}

.mand-cert-lista {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.mand-cert-lista li {
    font-size: var(--text-base);
    color: var(--color-gray-700);
    padding-left: 1.75rem;
    position: relative;
    line-height: 1.6;
}

.mand-cert-lista li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--color-primary);
    font-weight: var(--font-bold);
}

/* Urgencia */
.mand-urgencia {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, #1a3a1a, #2d5a2d);
    color: var(--color-white);
    border-radius: var(--radius-lg);
    padding: 1rem 1.5rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.mand-urgencia-left {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: var(--text-base);
}

.mand-urgencia-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #4ade80;
    flex-shrink: 0;
    animation: mand-pulse 1.5s infinite;
}

@keyframes mand-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.3); }
}

.mand-urgencia-right {
    font-size: var(--text-sm);
    opacity: 0.9;
}

/* Requisitos */
.mand-requisitos {
    background: var(--color-gray-50);
    border-radius: var(--radius-xl);
    padding: 2rem;
}

.mand-requisitos h3 {
    font-size: var(--text-xl);
    font-weight: var(--font-bold);
    color: var(--color-dark);
    margin-bottom: 1.25rem;
}

.mand-requisitos ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mand-requisitos li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--color-gray-200);
    font-size: var(--text-base);
    color: var(--color-gray-700);
}

.mand-requisitos li:last-child {
    border-bottom: none;
}

.mand-requisitos li span {
    color: var(--color-primary);
    font-weight: var(--font-bold);
    flex-shrink: 0;
}

/* CTA final */
.mand-cta-final {
    margin-top: 3rem;
    background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
    border-radius: var(--radius-2xl);
    padding: 3rem 2rem;
    text-align: center;
    color: var(--color-white);
}

.mand-cta-final h3 {
    font-size: clamp(1.3rem, 2vw, 1.8rem);
    font-weight: var(--font-black);
    color: var(--color-white);
    margin-bottom: 0.75rem;
}

.mand-cta-final p {
    font-size: var(--text-lg);
    color: rgba(255,255,255,0.9);
    margin-bottom: 2rem;
}

.mand-cta-final-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--color-white);
    color: var(--color-accent);
    font-weight: var(--font-extrabold);
    font-size: var(--text-lg);
    padding: 1rem 2.5rem;
    border-radius: var(--radius-full);
    text-decoration: none;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    transition: all var(--transition-base);
}

.mand-cta-final-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 35px rgba(0,0,0,0.2);
    color: var(--color-accent);
}

/* ===== RESPONSIVE NUEVAS CLASES ===== */

/* Desktop 1024px - 1600px */
@media screen and (max-width: 1600px) {
    .mand-resultados-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .mand-cert-grid {
        gap: 2rem;
    }
}

/* Tablet 768px - 1024px */
@media screen and (max-width: 1024px) {
    .mand-resultados-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .mand-cert-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .mand-urgencia {
        flex-direction: column;
        text-align: center;
    }
    .mand-cta-final {
        padding: 2rem 1.5rem;
    }
    .mand-cta-final-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Mobile 767px */
@media screen and (max-width: 767px) {
    .mand-resultados-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }
    .mand-resultado-card {
        padding: 1.25rem 1rem;
    }
    .mand-resultado-emoji {
        font-size: 1.8rem;
    }
    .mand-cert-grid {
        grid-template-columns: 1fr;
    }
    .mand-nota-box {
        font-size: var(--text-sm);
    }
    .mand-requisitos {
        padding: 1.5rem 1.25rem;
    }
    .mand-testimonio-card {
        padding: 2rem 1.5rem;
    }
    .mand-testimonio-estrellas {
        margin-left: 0;
    }
}

/* Mobile pequeño 480px */
@media screen and (max-width: 480px) {
    .mand-resultados-grid {
        grid-template-columns: 1fr;
    }
    .mand-cta-final h3 {
        font-size: 1.2rem;
    }
}


/* Regla exclusiva para Laptops y Computadoras */
@media screen and (min-width: 1024px) {
    .hero-mand-left {
        padding-left: 13rem; /* Aquí pones el 8rem o el número que más te haya gustado en la laptop */
    }
}

/* Reemplaza .hero-programa-foto por la clase real que encontraste */
.hero-mand-foto img {
    /* translateY mueve elementos verticalmente. 
       Un número positivo lo mueve HACIA ABAJO */
    transform: translateY(45px); 
}

/* =====================================================
   SEPARACIÓN PARA TABLETS (768px hasta 1024px)
   Evita que el CTA final choque con el formulario
   ===================================================== */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    
    /* 1. Separamos el bloque de "Listo para potenciar..." */
    .mand-cta-final {
        margin-bottom: 5rem !important; /* Espacio generoso para que no se peguen */
        border-radius: 0 0 30px 30px !important; /* Redondeamos la base para cerrar visualmente */
        position: relative;
        z-index: 1;
    }

    /* 2. Empujamos el formulario de contacto un poco más abajo */
    .contact-section, 
    #contacto {
        margin-top: 3rem !important;
        padding-top: 2rem !important;
    }
}


/* =====================================================
   HERO 50/50 (MITA Y MITA) FORZADO PARA TABLETS
   ===================================================== */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    /* Forzamos la cuadrícula a 2 partes iguales exactas */
    .hero-mand-container {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; /* Mita y Mita */
        gap: 2rem !important;
        align-items: center !important;
    }

    /* Le quitamos cualquier margen o ancho que lo esté deformando */
    .hero-mand-left, 
    .hero-mand-right, 
    .hero-mand-content, 
    .hero-mand-form-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 1 !important;
        padding-right: 0 !important;
        margin: 0 !important;
    }
}


/* ===== ESTADOS DE DISPONIBILIDAD ===== */
.estado-abierto {
    background: #059669 !important;
    color: white;
}

.estado-ultimos {
    background: #f08e1e !important;
    color: white;
}

.estado-completo {
    background: #DC2626 !important;
    color: white;
    text-decoration: line-through;
    opacity: 0.8;
}