/* =========================================
   1. CONFIGURACIÓN BASE (Nuevo Fondo Beige)
   ========================================= */
body, html {
    margin: 0; padding: 0;
    height: 100vh; width: 100vw;
    overflow: hidden;
    background-color: #F5E8DC; /* 🟤 NUEVO COLOR DE FONDO (Beige Arena Claro) */
    font-family: 'Poppins', sans-serif;
}

/* =========================================
   2. NAVBAR (Adaptada al Beige)
   ========================================= */
.navbar-full.nav-beige {
    position: fixed; top: 0; left: 0; width: 100%; height: 80px;
    display: flex; justify-content: space-between; align-items: center;
    padding: 0 5%; z-index: 1000;
    background: rgba(245, 232, 220, 0.95); /* 🟤 Navbar Beige Semi-transparente */
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.nav-left .nav-logo { height: 50px; border-radius: 50%; }
.nav-center .course-title { font-family: 'Playfair Display', serif; color: #333; font-size: 1.2rem; text-transform: uppercase; margin: 0;}
.nav-center .course-title span { color: #b0845a; } /* Dorado de Magia */
.nav-right .nav-links-white { display: flex; list-style: none; gap: 20px; margin: 0; padding: 0;}
.nav-right .nav-links-white a { color: #333; text-decoration: none; font-weight: 600; font-size: 0.9rem; transition: 0.3s; }

/* Botón Inscribirme (Oscuro para Quiro) */
.btn-dark-direct { 
    background: #333 !important; 
    padding: 8px 20px; 
    border-radius: 25px; 
    color: #fff !important; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.btn-dark-direct:hover { background: #b0845a !important; }

/* =========================================
   3. ESTRUCTURA DEL VISOR (Viewport)
   ========================================= */
.presentation-viewport {
    width: 100vw; height: 100vh;
    padding-top: 80px; box-sizing: border-box;
    position: relative;
}
.slider-track {
    display: flex; height: 100%; width: 100%;
    transition: transform 0.6s cubic-bezier(0.2, 1, 0.3, 1);
}
.slide {
    min-width: 100vw; height: 100%;
    display: flex; justify-content: center; align-items: center;
    padding: 40px; box-sizing: border-box;
}
.slide-content {
    display: flex; background: white;
    width: 90%; max-width: 1100px; height: 85%;
    border-radius: 30px; overflow: hidden;
}
.shadow-premium {
    box-shadow: 0 25px 60px rgba(50, 40, 30, 0.1); /* Sombra más terrosa */
}

/* =========================================
   4. DISEÑO DE LAS TARJETAS (Título con movimiento natural)
   ========================================= */
.text-side { 
    flex: 1; 
    padding: 40px 40px 50px 40px; /* 🔴 Devolvemos el aire natural arriba */
    display: flex; 
    flex-direction: column; 
    justify-content: flex-start !important; 
    position: relative;
    overflow-y: auto !important; 
}

/* Contenedor que permite scroll interno */
.scroll-container {
    overflow-y: auto !important; 
    max-height: 100%; 
    display: flex !important; 
    flex-direction: column;
}

/* 🟢 TÍTULOS Y CABECERAS CON MOVIMIENTO NATURAL */
.text-side > .slide-title, 
.temario-header, 
.kit-header {
    position: relative !important; /* 🔴 Quitamos el sticky para que desaparezca al bajar */
    background: transparent; 
    margin-top: 0 !important;
    padding-top: 0 !important; 
    padding-bottom: 20px; 
}

/* Estilos de Títulos */
.slide-title { 
    font-family: 'Playfair Display', serif; 
    font-size: 2.5rem !important; /* 🔴 Aseguramos 2.5rem en todo momento */
    color: #333; 
    line-height: 1.1; 
    margin-bottom: 0; 
}
.slide-title span { color: #d4a373; font-style: italic; }

/* Texto normal */
.text-side p { color: #555; line-height: 1.8; font-size: 1.15rem; margin-bottom: 20px; }

/* Lado de Imagen */
.image-side { flex: 1; background: #fafafa; }
.img-pc { width: 100%; height: 100%; object-fit: cover; }
.img-movil { display: none; }

/* Listas simples (Kit) */
.simple-list { list-style: none; padding: 0; margin-top: 20px; }
.simple-list li { 
    margin-bottom: 12px; 
    color: #444; 
    font-weight: 500; 
    font-size: 1.1rem; 
    display: flex; 
    align-items: center; 
    gap: 12px;
}

/* =========================================
   5. TARJETAS ESPECIALES (Grid Ancho)
   ========================================= */
.full-width-text {
    flex: 1 !important; width: 100% !important; max-width: 100% !important;
}

/* Encabezados Especiales con borde Beige */
.temario-header, .kit-header {
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center; 
    text-align: center; 
    width: 100%;
}
.header-beige-border {
    border-bottom: 2px solid #E8DCCA; /* 🟤 Borde Beige más oscuro */
}
.text-center { text-align: center !important; }

/* Ajuste de título centrado */
.full-width-text .slide-title, .kit-header.text-center .slide-title {
    font-size: 2.5rem !important; /* 🔴 Mantiene los 2.5rem */
    text-align: center !important; 
    width: 100% !important; 
    margin-bottom: 15px !important;
}

/* Badges del temario */
.temario-badges { display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap; }
.badge-dark { background: #333; color: #fff; padding: 6px 15px; border-radius: 20px; font-size: 0.85rem; font-weight: 600; text-transform: uppercase; }
.badge-gold { text-align: center; color: #b0845a; font-size: 0.9rem; font-weight: 700; }

/* Grid del Temario */
.full-grid { display: flex; gap: 50px; padding-bottom: 40px; padding-top: 30px; }
.full-grid ul { list-style: none; padding: 0; margin: 0; flex: 1; }
.full-grid li { 
    margin-bottom: 16px; 
    font-size: 1.1rem; 
    color: #444; 
    line-height: 1.6; 
    border-left: 3px solid #F5E8DC; /* Detalle quiro */
    padding-left: 10px;
}

/* Grid de Testimonios */
.testimonial-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; padding: 30px 0 50px 0; }
.testimonial-grid img { width: 100%; height: auto; border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.08); transition: 0.3s ease; border: 1px solid #E8DCCA; }
.testimonial-grid img:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(0,0,0,0.12); }

/* =========================================
   6. CONTROLES (Flechas y Puntos Oscuros)
   ========================================= */
/* Flechas oscuras para contraste */
.nav-arrow.nav-arrow-dark { 
    position: absolute; top: 50%; transform: translateY(-50%); 
    background: #333; /* 🟢 Flechas negras */
    color: #fff; /* Texto blanco */
    border: none; width: 55px; height: 55px; border-radius: 50%; 
    z-index: 100; cursor: pointer; 
    box-shadow: 0 5px 15px rgba(0,0,0,0.2); 
    transition: 0.3s; font-size: 1.2rem;
}
.nav-arrow.nav-arrow-dark:hover { background: #b0845a; color: #fff; }
.prev { left: 30px; } .next { right: 30px; }

/* Dots oscuros */
.dots-container.dots-dark { 
    position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); 
    display: flex; gap: 12px; z-index: 100; 
}
.dots-dark .dot { width: 11px; height: 11px; border: 2px solid #333; border-radius: 50%; cursor: pointer; transition: 0.3s;}
.dots-dark .dot.active { background: #333; width: 35px; border-radius: 10px; }

/* =========================================
   7. RESPONSIVE (Móviles) - Ajuste Estético del Menú
   ========================================= */
.menu-check, .hamburger { display: none; }

@media (max-width: 768px) {
    .slide-hero-img .image-side {
        height: 400px !important; /* Aquí le da la altura que quiera en el celular */
    }
    
    .slide-kit-img .image-side {
        height: 300px !important; /* Le puse un poquito más para que se vea bien la lista larga */
    }
    .navbar-full.nav-beige { height: 70px; padding: 0 20px; background: rgba(245, 232, 220, 0.98); }
    .nav-center .course-title { font-size: 0.8rem; max-width: 130px; }
    .nav-right, .nav-arrow { display: none; }
    
    .slide { padding: 15px; padding-top: 25px; }
    .slide-content { flex-direction: column; height: 96%; width: 100%; border-radius: 25px; }
    
    .text-side { 
        padding: 30px 25px 30px 25px; /* 🔴 Devolvemos aire natural porque ya no es sticky */
        flex: 1; 
        overflow-y: auto; 
    }
    
    /* Quitamos padding forzado porque ya se mueve natural */
    .text-side > .slide-title, 
    .temario-header, 
    .kit-header {
        padding-top: 0 !important; 
    }

    .slide-title { font-size: 2.5rem !important; margin-bottom: 12px !important; } /* 🔴 2.5rem en móvil */
    .text-side p { font-size: 1rem; line-height: 1.7; }

    /* Temario móvil */
    .full-grid { flex-direction: column; gap: 15px; padding-top: 15px; }
    .full-grid li { font-size: 1rem; margin-bottom: 10px; }
    .temario-header { flex-direction: column; gap: 12px; }
    .temario-badges { gap: 8px; }

    /* Kit móvil */
    .kit-header .slide-title { font-size: 2.5rem !important; } /* 🔴 2.5rem en móvil */
    .kit-header p { font-size: 0.95rem !important; }
    .simple-list li { font-size: 1rem; }

    /* Testimonios móvil */
    .testimonial-grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
    .testimonial-grid img { border-radius: 12px; }

    /* Imagen Móvil */
    .image-side { flex: none; height: 200px; width: 100%; }
    .img-pc { display: none !important; }
    .img-movil { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0 0 25px 25px; }

    /* Menú Hamburguesa Oscuro */
    .hamburger { display: flex; flex-direction: column; gap: 4px; z-index: 1100; cursor: pointer; }
    .hamburger span { width: 24px; height: 3px; background: #333; border-radius: 2px; transition: 0.3s; }
    
    /* 🔴🔴 MENÚ MÓVIL CENTRADO (Beige) 🔴🔴 */
    .nav-right {
        display: flex !important; 
        flex-direction: column;
        justify-content: center; 
        align-items: center; 
        position: fixed; top: 0; right: -100%; 
        width: 80%; height: 100vh; 
        /* Degradado Beige premium */
        background: linear-gradient(180deg, #F5E8DC 0%, #E8DCCA 100%); 
        transition: 0.4s ease-in-out; z-index: 1050; 
        box-shadow: -10px 0 40px rgba(0,0,0,0.1);
    }
    .menu-check:checked ~ .nav-right { right: 0; }
    
    /* Animación hamburguesa a X oscura */
    .menu-check:checked ~ .hamburger span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
    .menu-check:checked ~ .hamburger span:nth-child(2) { opacity: 0; }
    .menu-check:checked ~ .hamburger span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
    
    .nav-links-white { 
        flex-direction: column; 
        align-items: center !important; 
        gap: 35px !important; 
    }
    .nav-links-white a { 
        color: #333 !important; /* Texto oscuro */
        font-size: 1.4rem !important; 
        text-transform: uppercase;
        letter-spacing: 1px;
    }
    
    /* Botón directo en móvil */
    .nav-right .nav-links-white a.btn-direct {
        background-color: #333 !important; 
        color: #fff !important;
        padding: 15px 40px; 
        margin-top: 20px !important; 
        border-radius: 50px;
        font-size: 1.15rem !important;
    }
}

/* --- Estilos para la sección "¿A quién va dirigido?" --- */
.dirigido-section {
    margin-bottom: 25px;
}

.slide-subtitle {
    font-size: 1.3rem;
    color: #b0845a; /* El dorado/beige oscuro de la marca */
    font-family: 'Playfair Display', serif;
    margin-bottom: 10px;
    border-left: 3px solid #E8DCCA;
    padding-left: 15px;
}

/* La nota de abajo con un estilo diferente */
.highlight-note {
    font-weight: 600;
    color: #333;
    background: #F5E8DC; /* Fondo beige clarito */
    padding: 10px 15px;
    border-radius: 10px;
    display: inline-block;
    font-size: 1.1rem;
    margin-top: 10px;
}

/* Ajuste para que los iconos y la lista se vean bien */
.simple-list li {
    font-size: 1.1rem;
    margin-bottom: 8px;
    color: #555;
}

/* Ajuste móvil */
@media (max-width: 768px) {
    .slide-subtitle {
        font-size: 1.1rem;
    }
    .highlight-note {
        font-size: 0.95rem;
        display: block; /* Para que ocupe el ancho en celular */
        text-align: center;
    }
}

/* =========================================
   OCULTAR BARRA DE DESPLAZAMIENTO (Pero mantener el scroll)
   ========================================= */
.text-side::-webkit-scrollbar,
.scroll-container::-webkit-scrollbar,
.full-grid::-webkit-scrollbar {
    display: none;
}

/* Para Firefox y IE/Edge antiguo */
.text-side,
.scroll-container,
.full-grid {
    -ms-overflow-style: none;  /* IE y Edge */
    scrollbar-width: none;     /* Firefox */
}

/* =========================================
   DISEÑO DE ADVERTENCIA Y CASOS REALES (CENTRADOS)
   ========================================= */

/* 🔴 Centrado perfecto para la advertencia */
.text-center-warning {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important; 
    align-items: center !important;     
    height: 100% !important;            
    padding: 0 !important;              
}

.warning-container {
    width: 90%;
    max-width: 600px;
    padding: 50px 30px;
    border: 2px dashed #d4a373; 
    border-radius: 30px;
    background-color: #fffaf5;
    box-shadow: 0 15px 40px rgba(212, 163, 115, 0.1); 
}

.warning-emoji { 
    font-size: 4.5rem; 
    display: block; 
    margin-bottom: 15px; 
}

.warning-p { 
    font-size: 1.4rem !important; 
    color: #333; 
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 15px !important;
}

.warning-subp { 
    font-size: 1.1rem !important; 
    color: #888; 
    font-style: italic;
    margin: 0 !important;
}

/* Título centrado para estas tarjetas */
.text-center { text-align: center !important; width: 100%; margin-bottom: 25px !important; }

/* Rejilla de procedimientos */
.procedure-grid {
    display: grid;
    gap: 15px;
    padding: 10px 0;
}

/* Configuración para 3 imágenes */
.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

/* Configuración para 2 imágenes */
.grid-2 {
    grid-template-columns: repeat(2, 1fr);
    max-width: 800px; /* Para que no se vean gigantescas en PC */
    margin: 0 auto;
}

.procedure-grid img {
    width: 100%;
    height: 400px; /* Altura fija para que todas se vean niveladas */
    object-fit: cover;
    border-radius: 15px;
    border: 1px solid #E8DCCA;
}

/* Ajustes para Celular de Advertencia y Rejilla */
@media (max-width: 768px) {
    .warning-container {
        width: 95%;
        padding: 30px 20px;
    }
    .warning-emoji { font-size: 3.5rem; }
    .warning-p { font-size: 1.15rem !important; }

    .grid-3, .grid-2 {
        grid-template-columns: 1fr; /* Una debajo de la otra en móvil para que se vean bien */
    }
    
    .procedure-grid img {
        height: 350px;
    }
}
/* --- Ajustes para la comparativa en una sola tarjeta --- */

.procedure-section {
    padding: 2px 0;
}

/* Una línea sutil para separar las secciones */
.beige-separator {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, transparent, #E8DCCA, transparent);
    margin: 20px 0;
}

/* Aseguramos que los títulos tengan su tamaño de 2.5rem como pediste */
.procedure-section .slide-title {
    font-size: 2.5rem !important;
    margin-bottom: 20px !important;
}

/* Ajuste para que en móvil no quede todo muy amontonado */
@media (max-width: 768px) {
    .procedure-section {
        padding: 10px 0;
    }
}