.elementor-900 .elementor-element.elementor-element-89c8a64{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-900 .elementor-element.elementor-element-5ab8c78{padding:3vw 012vw 2vw 12vw;}.elementor-900 .elementor-element.elementor-element-5ab8c78 .elementor-wrapper{--video-aspect-ratio:2.33333;}.elementor-900 .elementor-element.elementor-element-7f8e606{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--overlay-opacity:0.5;--overlay-mix-blend-mode:luminosity;}.elementor-900 .elementor-element.elementor-element-7f8e606:not(.elementor-motion-effects-element-type-background), .elementor-900 .elementor-element.elementor-element-7f8e606 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(135deg, #FFFFFF 0%, #D9AA224F 100%);}.elementor-900 .elementor-element.elementor-element-7f8e606::before, .elementor-900 .elementor-element.elementor-element-7f8e606 > .elementor-background-video-container::before, .elementor-900 .elementor-element.elementor-element-7f8e606 > .e-con-inner > .elementor-background-video-container::before, .elementor-900 .elementor-element.elementor-element-7f8e606 > .elementor-background-slideshow::before, .elementor-900 .elementor-element.elementor-element-7f8e606 > .e-con-inner > .elementor-background-slideshow::before, .elementor-900 .elementor-element.elementor-element-7f8e606 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-900 .elementor-element.elementor-element-7f8e606 > .elementor-shape-top svg, .elementor-900 .elementor-element.elementor-element-7f8e606 > .e-con-inner > .elementor-shape-top svg{height:30px;}.elementor-900 .elementor-element.elementor-element-7f8e606 > .elementor-shape-bottom svg, .elementor-900 .elementor-element.elementor-element-7f8e606 > .e-con-inner > .elementor-shape-bottom svg{height:30px;}.elementor-900 .elementor-element.elementor-element-7f8e606.e-con{--align-self:center;}.elementor-900 .elementor-element.elementor-element-174d196{width:var( --container-widget-width, 45.878% );max-width:45.878%;--container-widget-width:45.878%;--container-widget-flex-grow:0;grid-row:span 3;}.elementor-900 .elementor-element.elementor-element-174d196.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-900 .elementor-element.elementor-element-75767c0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-900 .elementor-element.elementor-element-dccf432{width:var( --container-widget-width, 97.577% );max-width:97.577%;padding:6vw 0vw 0vw 0vw;--container-widget-width:97.577%;--container-widget-flex-grow:0;text-align:start;font-family:"Helvetica", Sans-serif;font-size:17px;font-weight:400;color:#610202;}.elementor-900 .elementor-element.elementor-element-dccf432.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-900 .elementor-element.elementor-element-7437234{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-900 .elementor-element.elementor-element-af9e75e{text-align:center;}.elementor-900 .elementor-element.elementor-element-b04b193{padding:2vw 0vw 2vw 0vw;}@media(min-width:1025px){.elementor-900 .elementor-element.elementor-element-7f8e606::before, .elementor-900 .elementor-element.elementor-element-7f8e606 > .elementor-background-video-container::before, .elementor-900 .elementor-element.elementor-element-7f8e606 > .e-con-inner > .elementor-background-video-container::before, .elementor-900 .elementor-element.elementor-element-7f8e606 > .elementor-background-slideshow::before, .elementor-900 .elementor-element.elementor-element-7f8e606 > .e-con-inner > .elementor-background-slideshow::before, .elementor-900 .elementor-element.elementor-element-7f8e606 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-attachment:fixed;}}/* Start custom CSS for html, class: .elementor-element-174d196 */.elementor-900 .elementor-element.elementor-element-174d196
/* Pega este código en el CSS Personalizado de Elementor
  (Avanzado > CSS Personalizado)
*/

/* --- VARIABLES DE COLOR --- */
:root {
    --brand-red: #610202;
    --brand-yellow: #D9AA22;
    --brand-dark: #1a1a1a;
    --text-primary: #333;
    --text-secondary: #555;
    --border-color: #dcdcdc;
    --bg-light: #fafafa;
    --bg-white: #ffffff;
}

/* --- ESTILOS DEL POP-UP --- */

/* Nota: Elementor usualmente controla el fondo oscuro del overlay.
  Estos estilos se aplican al contenedor del formulario.
*/
.popup-card {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-white);
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    padding: 2.5rem; /* 40px */
    max-width: 672px; /* max-w-2xl */
    width: 100%;
    margin: 2rem auto; /* Centra el pop-up */
    box-sizing: border-box;
}

.popup-title {
    font-size: 1.875rem; /* 30px */
    font-weight: 700;
    text-align: center;
    color: var(--brand-red);
    margin-bottom: 0.5rem; /* 8px */
}

.popup-subtitle {
    color: var(--text-secondary);
    text-align: center;
    margin-bottom: 1.5rem; /* 24px */
    font-size: 1rem; /* 16px */
}

/* --- ESTILOS DEL FORMULARIO --- */
.form-grid {
    display: grid;
    grid-template-columns: 1fr; /* 1 columna por defecto (móvil) */
    gap: 1.5rem 1rem; /* 24px vertical, 16px horizontal */
}

/* En pantallas más grandes, pasa a 2 columnas */
@media (min-width: 768px) {
    .form-grid {
        grid-template-columns: 1fr 1fr; /* 2 columnas */
    }
}

.form-group {
    width: 100%;
}

/* Clase para elementos que ocupan todo el ancho en 2 columnas */
.form-group.full-width {
    grid-column: 1 / -1; /* Ocupa todo el ancho */
}

.form-group label {
    display: block;
    font-size: 0.875rem; /* 14px */
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: 0.25rem; /* 4px */
}

.form-group input[type="text"],
.form-group input[type="tel"],
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 0.75rem 1rem; /* 12px 16px */
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background-color: var(--bg-light);
    color: var(--text-primary);
    font-size: 1rem; /* 16px */
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box; /* Importante para Elementor */
}

/* Estilos de Focus (resaltado) */
.form-group input[type="text"]:focus,
.form-group input[type="tel"]:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--brand-yellow);
    box-shadow: 0 0 0 2px rgba(217, 170, 34, 0.3);
}

.form-group textarea {
    min-height: 100px;
}

/* Placeholder del select */
.form-group select:required:invalid {
    color: #9ca3af; /* gris-400 */
}

/* --- ESTILOS DEL BOTÓN --- */
.submit-button {
    width: 100%;
    background-color: var(--brand-yellow);
    color: var(--brand-dark);
    font-weight: 700;
    font-size: 1rem;
    padding: 0.875rem 1.5rem; /* 14px 24px */
    border: none;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition: background-color 0.2s, transform 0.1s;
}

.submit-button:hover {
    background-color: #c79f1e; /* Versión más oscura de amarillo */
}

.submit-button:active {
    transform: scale(0.98);
}/* End custom CSS */