/*
 * NOTA IMPORTANTE: Este archivo asume que las variables CSS están definidas
 * globalmente en :root por una función en functions.php, de la siguiente manera:
 * --vp-morado-principal: #5B2C6F;
 * --vp-turquesa-secundario: #00A99D;
 * --vp-dorado-enfasis: #EAB839;
 * --vp-morado-suave: rgba(91, 44, 111, 0.2);
 * --vp-morado-hover: #7D3C98;
 */


/* --- ESTILOS DE NAVEGACIÓN --- */

/* 1. Color de los enlaces por defecto (Morado) y Hover Dorado */
.wp-block-navigation-item__content {
    color: var(--vp-morado-principal) !important; 
    text-decoration: none !important; 
    font-weight: 500 !important;
    transition: all 0.3s ease;
}
.wp-block-navigation-item__content:hover {
    color: var(--vp-dorado-enfasis) !important; 
}

/* 2. Enlace activo/página actual: Turquesa */
.wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
    color: var(--vp-turquesa-secundario) !important; 
    font-weight: 700 !important;
    border-bottom: 2px solid var(--vp-turquesa-secundario) !important; 
    padding-bottom: 3px !important;
}

/* --- ESTILOS DE ÉNFASIS Y TÍTULOS --- */

/* Títulos Generales (H1, H2, H3, etc.) - Morado Principal */
.entry-content h2, .entry-content h3, .wp-block-heading,
.wp-block-media-text__content h2, .entry-content h3, 
.wp-block-heading:not(.titulo-dorado-principal) {
    color: var(--vp-morado-principal) !important;
    font-weight: 700 !important;
}

/* Aseguramos que el Título Dorado se vea siempre Dorado */
.titulo-dorado-principal {
    color: var(--vp-dorado-enfasis) !important;
}

/* Texto de Énfasis (strong) - Turquesa */
.entry-content p strong {
    color: var(--vp-turquesa-secundario) !important; 
}

/* --- COMPONENTES GENÉRICOS DE BLOQUES (Tarifas, Sombra, etc.) --- */

/* Cajas de Tarifa (Tarjetas con sombra) */
.wp-block-group > .wp-block-group.is-layout-flex[style*="box-shadow"] {
    border-top: 5px solid var(--vp-turquesa-secundario) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(91, 44, 111, 0.2) !important; 
}

/* Valor en Tarifa */
.wp-block-group > .wp-block-group.is-layout-flex[style*="box-shadow"] h2.wp-block-heading:last-of-type {
    color: var(--vp-morado-principal) !important; 
    font-size: 1.5em !important;
    font-weight: 900 !important;
}

/* SECCIÓN DE RESERVAS (ANULAR FONDO AZUL) */
.wp-block-columns.has-background[style*="background-color:#006fed63"] {
    background-color: var(--vp-morado-suave) !important; 
    border-radius: 12px !important;
}
.wp-block-columns.has-background h2.wp-block-heading {
    color: var(--vp-morado-principal) !important;
}

/* --- BOTONES GLOBALES (Incluye Gutenberg, Reservar, etc.) --- */

/* Estilo Base del Botón (Morado Principal) */
.wp-block-buttons .wp-block-button__link,
.wc-interactive,
.rwz-actions button { 
    background-color: var(--vp-morado-principal) !important;
    color: #FFFFFF !important;
    border: 2px solid transparent !important;
    transition: all 0.3s ease;
}

/* Estado Hover de los botones (Morado más claro, Sombra y/o Borde Dorado) */
.wp-block-buttons .wp-block-button__link:hover,
.wc-interactive:hover,
.rwz-actions button:hover {
    background-color: var(--vp-morado-hover) !important; 
    border-color: var(--vp-dorado-enfasis) !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25) !important;
    opacity: 1;
}

/* Corrección para el Botón CTA Global Turquesa (Último botón en bloques) */
.wp-block-buttons .wp-block-button__link:last-child {
    background-color: var(--vp-turquesa-secundario) !important; 
    border-color: var(--vp-turquesa-secundario) !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    transition: all 0.3s ease; 
}
.wp-block-buttons .wp-block-button__link:last-child:hover {
    background-color: #007D75 !important; 
    border-color: var(--vp-dorado-enfasis) !important; 
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3) !important;
}

/* --- ESTILOS ESPECÍFICOS DE LANDING PAGE --- */

/* H2 de Testimonios - Turquesa */
.landing-section-testimonios h2.wp-block-heading {
    color: var(--vp-turquesa-secundario) !important;
}

/* Cover Hero - Texto en Blanco */
.wp-block-cover h1.wp-block-heading,
.wp-block-cover p {
    color: #FFFFFF !important;
}

/* Corrección LANDING SECCIÓN PROBLEMA/SOLUCIÓN (Fondo PÚRPURA) */
.landing-section-problema-solucion h3.wp-block-heading,
.landing-section-problema-solucion .wp-block-list,
.landing-section-problema-solucion .wp-block-list li {
    color: #FFFFFF !important; 
}
.landing-section-problema-solucion h2.wp-block-heading {
    color: var(--vp-dorado-enfasis) !important; 
}

/* Estilos de Flexbox para la Sección Problema/Solución */
.landing-section-problema-solucion .wp-block-columns {
    display: flex; 
    align-items: stretch; 
    min-height: 190px; 
}
.landing-section-problema-solucion .wp-block-column {
    display: flex; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: center;
}
.landing-section-problema-solucion .wp-block-columns .wp-block-column .wp-block-html {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Estilos de Alineación y Justificación */
.landing-section-beneficios p {
    text-align: justify;
}
.seccion-best-sellers .wp-block-post-title a {
    color: #000000 !important; /* Títulos de Libros en Negro */
} 

/* Estilos de Botones Individuales de Producto (Anula el Turquesa original) */
.seccion-best-sellers .wp-block-button__link {
    background-color: var(--vp-morado-principal) !important;
    border-color: var(--vp-morado-principal) !important;
}
.seccion-best-sellers .wp-block-button__link:hover {
    background-color: var(--vp-morado-hover) !important;
    border-color: var(--vp-morado-hover) !important;
}

/* --- FOOTER --- */
footer.wp-block-template-part {
    background-color: var(--vp-morado-principal) !important;
    border-top: 5px solid var(--vp-turquesa-secundario) !important;
    padding: 10px !important;
}
.wp-block-template-part .mi-footer-personalizado {
    background-color: var(--vp-morado-principal) !important; 
    color: var(--vp-dorado-enfasis) !important; 
}
.wp-block-template-part .mi-footer-personalizado a {
    color: var(--vp-dorado-enfasis) !important;
}

/* --- ESTILOS DEL PLUGIN: WIZARD DE PACIENTES (OPTIMIZADO) --- */

/* Variables y Estructura */
#wizard #step1, #wizard #step2, #wizard #step3, #wizard #step4, #wizard #step5 {
    box-shadow: 0 0.25rem 0.75rem rgba(91, 44, 111, 0.2) !important; 
}
#wizard h3, #wizard label:not(.form-group label):not(label:has(input[type="checkbox"])),
#wizard .consentimiento-wrap h2, #wizard .consentimiento-wrap h3, .form-group label:has(input[type="checkbox"]) {
    color: var(--vp-morado-principal) !important;
}

/* Inputs y Focus */
#wizard input, #wizard select, #wizard textarea {
    border-color: var(--vp-turquesa-secundario) !important; 
}
#wizard input:focus, #wizard select:focus, #wizard textarea:focus {
    border-color: #007D75 !important;
}
.form-group input:focus ~ label, .form-group input.filled ~ label,
.form-group input:not(:placeholder-shown) ~ label, .form-group select:focus ~ label,
.form-group select.filled ~ label, .form-group select:required:valid ~ label,
.form-group textarea:focus ~ label, .form-group textarea.filled ~ label,
.form-group textarea:not(:placeholder-shown) ~ label,
.form-group.date-field input:placeholder-shown ~ label {
    color: var(--vp-turquesa-secundario) !important; 
}
.calendar-icon svg, .progress-fill {
    fill: var(--vp-turquesa-secundario) !important;
    /* background-color: var(--vp-turquesa-secundario) !important; */
}

/* --- ESTILOS DEL PLUGIN: RWZ WIZARD DE RESERVAS (OPTIMIZADO) --- */

.rwz {
    --primary: var(--vp-morado-principal) !important;
    --accent: var(--vp-dorado-enfasis) !important;
}
/* Títulos, Estructura, Calendario, Slots, etc. */
.rwz h3, #rwz-calendar-grid td:nth-child(7) { 
    color: var(--primary) !important; 
}
.rwz-step {
    border-color: #e3e7ef !important; 
    box-shadow: 0 0.25rem 0.75rem rgba(91, 44, 111, 0.1) !important; 
}
#rwz-calendar-nav, #rwz-calendar-grid td.selected, .rwz-slot.selected, .btn-confirmar-cita {
    background-color: var(--vp-turquesa-secundario) !important; 
    color: #fff !important;
}
#rwz-calendar-grid td.rwz-enabled, .rwz-slot {
    background-color: #e6f4f3 !important;
}

/* --- ESTILOS DE LA SECCIÓN DE TESTIMONIOS (Landing Page) --- */

/* Estilos para las tarjetas */
.tarjeta-testimonio {
    background-color: #FFFFFF !important;
    padding: 40px 30px 30px 30px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(91, 44, 111, 0.2) !important; 
    transition: all 0.3s ease;
    display: flex; 
    flex-direction: column;
    height: 100% !important;
    min-height: 250px;
}
.tarjeta-testimonio:hover {
    box-shadow: 0 8px 20px rgba(91, 44, 111, 0.3) !important; 
    transform: translateY(-5px);
}

/* Comillas y Cliente */
.tarjeta-testimonio .comillas {
    font-size: 4em !important;
    color: var(--vp-turquesa-secundario) !important;
    line-height: 0.1 !important; 
    margin-bottom: 10px;
    display: block;
}
.tarjeta-testimonio .nombre-cliente {
    color: var(--vp-morado-principal) !important;
    font-weight: 700 !important;
    display: block;
    margin-top: 15px !important;
    margin-left: 5px !important;
}

/* Contenedor de Texto y Expansión */
.cita-texto-contenedor {
    min-height: 100px !important;
    max-height: 150px; 
    overflow: hidden; 
    transition: max-height 0.3s ease; 
}
.cita-texto-contenedor.expandido {
    max-height: none !important; 
    overflow: visible !important; 
    height: auto !important;
}
.cita-texto-contenedor.expandido p {
    max-height: none !important;
    overflow: visible !important;
}
.boton-leer-mas {
    background: none;
    border: none;
    color: var(--vp-turquesa-secundario) !important;
    font-weight: 700;
    cursor: pointer;
    text-align: left;
    padding: 0;
    margin-top: 10px;
    display: block;
}

/* Alineación de Columnas de Testimonios */
.landing-section-testimonios .wp-block-columns {
    align-items: stretch !important; 
}
.landing-section-testimonios .wp-block-column {
    height: 100% !important; 
}

/* --- SECCIÓN 8: CTA FINAL --- */

.seccion-cta-final {
    background-color: var(--vp-morado-principal) !important; 
    padding-top: 80px !important;
    padding-bottom: 80px !important;
    color: #FFFFFF !important;
}
.seccion-cta-final p {
    color: rgba(255, 255, 255, 0.8) !important; 
}
.seccion-cta-final h2.wp-block-heading,
.seccion-cta-final h3.wp-block-heading {
    color: #FFFFFF !important; 
}
.seccion-cta-final .wp-block-button__link {
    background-color: var(--vp-turquesa-secundario) !important; 
    border-color: var(--vp-turquesa-secundario) !important;
    color: #FFFFFF !important;
    font-size: 1.2em !important; 
    font-weight: 900 !important; 
    padding: 15px 35px !important; 
}
.seccion-cta-final .wp-block-button__link:hover {
    background-color: #007D75 !important;
    border-color: var(--vp-dorado-enfasis) !important; 
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4) !important;
}

/* --- AJUSTES DE MOVIL --- */
@media only screen and (max-width: 782px) {
    /* Ajustes generales de la sección Problema/Solución */
    .landing-section-problema-solucion h3.wp-block-heading { text-align: center !important; }
    .landing-section-problema-solucion .wp-block-columns { flex-wrap: wrap !important; }
    .landing-section-problema-solucion .wp-block-html { text-align: center !important; margin-bottom: 5px; }
    .landing-section-problema-solucion svg { width: 80px !important; height: 80px !important; }

    .landing-section-problema-solucion .wp-block-list,
    .landing-section-problema-solucion .wp-block-list li {
        text-align: left !important; 
        padding-left: 20px !important; 
        margin-left: auto;
        margin-right: auto;
        width: 100%; 
    }
    
    /* Columnas de Testimonios en Móvil */
    .landing-section-testimonios .wp-block-columns {
        flex-direction: column !important;
        display: flex !important;
        align-items: center !important;
    }
    .landing-section-testimonios .wp-block-column {
        width: 100% !important; 
        max-width: 100% !important;
        margin-bottom: 25px !important;
        text-align: left !important;
    }
    
    /* Botón CTA Final en Móvil */
    .seccion-cta-final .wp-block-button__link {
        font-size: 1.05em !important; 
        padding: 12px 25px !important; 
    }
}