/* =====================================================
   CSS DE ALTA PRIORIDAD - FUERZA LAYOUT 2 COLUMNAS
   Este archivo se carga al final para sobrescribir todo
   ===================================================== */

/* CONTENEDOR PRINCIPAL - CENTRADO */
.simulador-container {
    background: var(--color-bg, #EDE9FE) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: auto !important;
    padding: 24px 10% 24px 32px;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 1 !important;
    margin: 0 !important;
    float: none !important;
    text-align: left !important;
}

/* ── Fondos por defecto por simulador (sin config de Apariencia) ── */
.simulador-container.plazo {
    background: #EEE9FF !important;
}
/* El resto hereda #EDE9FE de .simulador-container */

/* WRAPPER - LAYOUT DE 2 COLUMNAS CON FLEXBOX */
.simulador-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 60px !important;
    max-width: 1200px !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    position: relative !important;
}

/* COLUMNAS - 50% CADA UNA */
.simulador-wrapper .simulador-info,
.simulador-wrapper .simulador-form {
    width: calc(50% - 30px) !important;
    min-width: calc(50% - 30px) !important;
    max-width: calc(50% - 30px) !important;
    flex: 0 0 calc(50% - 30px) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
    position: relative !important;
    align-self: center !important;
}

/* RESET DE ESTILOS DEL TEMA */
.simulador-wrapper * {
    box-sizing: border-box !important;
}

/* Deshabilitar grid */
.simul-wrapper[style*="grid"],
.simulador-wrapper[class*="grid"] {
    display: flex !important;
}

/* Para Elementor */
.elementor .simulador-wrapper,
.elementor-element .simulador-wrapper,
.elementor-section .simulador-wrapper,
.elementor-column .simulador-wrapper {
    display: flex !important;
    flex-direction: row !important;
}

.elementor .simulador-wrapper .simulador-info,
.elementor .simulador-wrapper .simulador-form {
    width: calc(50% - 30px) !important;
    flex: 0 0 calc(50% - 30px) !important;
}

/* Para WPBakery/Visual Composer */
.vc_row .simulador-wrapper,
.wpb_row .simulador-wrapper,
.wpb_column .simulador-wrapper {
    display: flex !important;
    flex-direction: row !important;
}

/* Para Divi */
.et_pb_section .simulador-wrapper,
.et_pb_row .simulador-wrapper,
.et_pb_column .simulador-wrapper {
    display: flex !important;
    flex-direction: row !important;
}

/* Para Beaver Builder */
.fl-builder-content .simulador-wrapper,
.fl-row .simulador-wrapper,
.fl-col .simulador-wrapper {
    display: flex !important;
    flex-direction: row !important;
}

/* Para Bloques de WordPress */
.wp-block-group .simulador-wrapper,
.wp-block-columns .simulador-wrapper,
.wp-block-column .simulador-wrapper {
    display: flex !important;
    flex-direction: row !important;
}

/* Contenido de posts/páginas */
.entry-content .simulador-wrapper,
.post-content .simulador-wrapper,
.page-content .simulador-wrapper,
article .simulador-wrapper,
.post .simulador-wrapper {
    display: flex !important;
    flex-direction: row !important;
}

/* Layouts específicos de themes */
.content-area .simulador-wrapper,
.site-content .simulador-wrapper,
#main .simulador-wrapper,
#content .simulador-wrapper,
.container .simulador-wrapper,
.row .simulador-wrapper,
.col-12 .simulador-wrapper,
[class*="col-"] .simulador-wrapper,
[class*="column"] .simulador-wrapper {
    display: flex !important;
    flex-direction: row !important;
}

/* RESPONSIVE - MÓVIL */
@media (max-width: 900px) {
    /* Contenedor - padding lateral en móvil (máxima especificidad) */
    .simulador-container[data-sim-type],
    div.simulador-container[data-sim-type],
    div.simulador-container.negocio[data-sim-type],
    div.simulador-container.futuro[data-sim-type],
    div.simulador-container.plazo[data-sim-type],
    div.simulador-container.consumo[data-sim-type],
    div.simulador-container.gastos[data-sim-type],
    div.simulador-container.vivienda[data-sim-type],
    div.simulador-container.microcredito[data-sim-type],
    .wp-block-column .simulador-container[data-sim-type],
    .wp-block-group .simulador-container[data-sim-type],
    body .simulador-container[data-sim-type],
    html body .simulador-container[data-sim-type] {
        padding: 20px 16px !important;
    }
    
    /* Modales - padding en móvil */
    .modal-content[data-modal],
    div.modal-content[data-modal],
    .modal-overlay .modal-content[data-modal],
    .simulador-container .modal-content[data-modal],
    body .modal-content[data-modal],
    html body .modal-content[data-modal] {
        padding: 24px 16px !important;
    }
    
    /* Modal tabla */
    .modal-tabla.modal-content,
    div.modal-tabla.modal-content,
    .simulador-container .modal-tabla.modal-content,
    body .modal-tabla.modal-content,
    html body .modal-tabla.modal-content {
        padding: 20px 16px !important;
    }
    
    /* Base */
    .simulador-wrapper,
    /* Elementor */
    .elementor .simulador-wrapper,
    .elementor-element .simulador-wrapper,
    .elementor-section .simulador-wrapper,
    .elementor-column .simulador-wrapper,
    /* WPBakery */
    .vc_row .simulador-wrapper,
    .wpb_row .simulador-wrapper,
    .wpb_column .simulador-wrapper,
    /* Divi */
    .et_pb_section .simulador-wrapper,
    .et_pb_row .simulador-wrapper,
    .et_pb_column .simulador-wrapper,
    /* Beaver Builder */
    .fl-builder-content .simulador-wrapper,
    .fl-row .simulador-wrapper,
    .fl-col .simulador-wrapper,
    /* WordPress Blocks */
    .wp-block-group .simulador-wrapper,
    .wp-block-columns .simulador-wrapper,
    .wp-block-column .simulador-wrapper,
    /* Contenido */
    .entry-content .simulador-wrapper,
    .post-content .simulador-wrapper,
    .page-content .simulador-wrapper,
    article .simulador-wrapper,
    .post .simulador-wrapper,
    /* Themes */
    .content-area .simulador-wrapper,
    .site-content .simulador-wrapper,
    #main .simulador-wrapper,
    #content .simulador-wrapper,
    .container .simulador-wrapper,
    .row .simulador-wrapper,
    .col-12 .simulador-wrapper,
    [class*="col-"] .simulador-wrapper,
    [class*="column"] .simulador-wrapper {
        flex-direction: column !important;
        gap: 40px !important;
    }
    
    /* Columnas - Base */
    .simulador-wrapper .simulador-info,
    .simulador-wrapper .simulador-form,
    /* Elementor */
    .elementor .simulador-wrapper .simulador-info,
    .elementor .simulador-wrapper .simulador-form,
    /* WordPress Blocks */
    .wp-block-column .simulador-wrapper .simulador-info,
    .wp-block-column .simulador-wrapper .simulador-form,
    .wp-block-columns .simulador-wrapper .simulador-info,
    .wp-block-columns .simulador-wrapper .simulador-form,
    .wp-block-group .simulador-wrapper .simulador-info,
    .wp-block-group .simulador-wrapper .simulador-form {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }
}


/* Forzar que los labels ocupen todo el ancho */
.form-label,
.simulador-container .form-label,
.simulador-wrapper .form-label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* El ícono siempre al final */
.form-label .info-icon,
.simulador-container .form-label .info-icon {
    margin-left: auto !important;
    flex-shrink: 0 !important;
}
