.elementor-13172 .elementor-element.elementor-element-f0897d3{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-13172 .elementor-element.elementor-element-f0897d3:not(.elementor-motion-effects-element-type-background), .elementor-13172 .elementor-element.elementor-element-f0897d3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-13172 .elementor-element.elementor-element-40cc288{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:50px;}.elementor-13172 .elementor-element.elementor-element-2284340 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-13172 .elementor-element.elementor-element-2284340 .elementor-button-content-wrapper{flex-direction:row;}.elementor-13172 .elementor-element.elementor-element-2284340 .elementor-button{font-weight:500;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-style:none;padding:0px 0px 0px 0px;}.elementor-13172 .elementor-element.elementor-element-b164ce3{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:25px;--padding-left:100px;--padding-right:100px;}.elementor-13172 .elementor-element.elementor-element-5b540bc{text-align:center;}.elementor-13172 .elementor-element.elementor-element-5b540bc .elementor-heading-title{font-family:var( --e-global-typography-2936df9-font-family ), Sans-serif;font-size:var( --e-global-typography-2936df9-font-size );font-weight:var( --e-global-typography-2936df9-font-weight );line-height:var( --e-global-typography-2936df9-line-height );letter-spacing:var( --e-global-typography-2936df9-letter-spacing );}.elementor-13172 .elementor-element.elementor-element-3feb7bf{text-align:center;}.elementor-13172 .elementor-element.elementor-element-e496d34{--display:flex;}.elementor-13172 .elementor-element.elementor-element-27b523a{width:100%;max-width:100%;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-secondary );--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-field-group{padding-right:calc( 20px/2 );padding-left:calc( 20px/2 );margin-bottom:20px;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-form-fields-wrapper{margin-left:calc( -20px/2 );margin-right:calc( -20px/2 );margin-bottom:-20px;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-field-group.recaptcha_v3-bottomleft, .elementor-13172 .elementor-element.elementor-element-27b523a .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-field-type-html{padding-bottom:0px;color:var( --e-global-color-heading_color );font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:400;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-field-group .elementor-field, .elementor-13172 .elementor-element.elementor-element-27b523a .elementor-field-subgroup label{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:400;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-field-group .elementor-field:not(.elementor-select-wrapper){border-color:var( --e-global-color-heading_color );border-width:0px 0px 1px 0px;border-radius:0px 0px 0px 0px;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-field-group .elementor-select-wrapper select{border-color:var( --e-global-color-heading_color );border-width:0px 0px 1px 0px;border-radius:0px 0px 0px 0px;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-heading_color );}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-button{font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;border-radius:0px 0px 0px 0px;padding:10px 30px 10px 30px;}.elementor-13172 .elementor-element.elementor-element-27b523a .e-form__buttons__wrapper__button-next{background-color:#000000;color:#ffffff;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-button[type="submit"]{background-color:#000000;color:#ffffff;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-13172 .elementor-element.elementor-element-27b523a .e-form__buttons__wrapper__button-previous{background-color:#000000;color:#ffffff;}.elementor-13172 .elementor-element.elementor-element-27b523a .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-13172 .elementor-element.elementor-element-27b523a .e-form__buttons__wrapper__button-previous:hover{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-message{font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:400;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-message.elementor-message-success{color:#2E7D32;}.elementor-13172 .elementor-element.elementor-element-27b523a .elementor-message.elementor-message-danger{color:#C62828;}.elementor-13172 .elementor-element.elementor-element-27b523a .e-form__indicators__indicator, .elementor-13172 .elementor-element.elementor-element-27b523a .e-form__indicators__indicator__label{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:500;text-transform:uppercase;}#elementor-popup-modal-13172 .dialog-widget-content{animation-duration:1.5s;background-color:#FFFFFF;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);margin:0px 0px 0px 0px;}#elementor-popup-modal-13172{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-13172 .dialog-message{width:100vw;height:100vh;align-items:flex-start;padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-13172 .elementor-element.elementor-element-40cc288{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-13172 .elementor-element.elementor-element-b164ce3{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:100px;--padding-right:100px;}.elementor-13172 .elementor-element.elementor-element-5b540bc .elementor-heading-title{font-size:var( --e-global-typography-2936df9-font-size );line-height:var( --e-global-typography-2936df9-line-height );letter-spacing:var( --e-global-typography-2936df9-letter-spacing );}}@media(max-width:767px){.elementor-13172 .elementor-element.elementor-element-f0897d3{--padding-top:25px;--padding-bottom:100px;--padding-left:20px;--padding-right:20px;}.elementor-13172 .elementor-element.elementor-element-b164ce3{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:25px;--padding-left:20px;--padding-right:20px;}.elementor-13172 .elementor-element.elementor-element-5b540bc .elementor-heading-title{font-size:var( --e-global-typography-2936df9-font-size );line-height:var( --e-global-typography-2936df9-line-height );letter-spacing:var( --e-global-typography-2936df9-letter-spacing );}#elementor-popup-modal-13172{justify-content:flex-start;align-items:flex-start;}#elementor-popup-modal-13172 .dialog-widget-content{margin:0px 0px 0px 0px;}#elementor-popup-modal-13172 .dialog-message{padding:0px 0px 50px 0px;}}@media(min-width:768px){.elementor-13172 .elementor-element.elementor-element-b164ce3{--content-width:50%;}.elementor-13172 .elementor-element.elementor-element-e496d34{--width:60%;}}@media(max-width:1024px) and (min-width:768px){.elementor-13172 .elementor-element.elementor-element-b164ce3{--content-width:100%;}}/* Start custom CSS for button, class: .elementor-element-2284340 *//* 1. Desnudamos el botón de Elementor y aplicamos diseño de lujo */
.elementor-13172 .elementor-element.elementor-element-2284340 .elementor-button {
    background-color: transparent !important;
    color: #000; /* Color inicial del texto y la X */
    font-family: "Montserrat";;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 2px;
    padding: 10px 0; /* Sin fondo, no necesitamos padding lateral */
    border: none !important;
    box-shadow: none !important;
    transition: color 0.4s ease; /* Transición fluida de color */
}

/* 2. Controlamos la alineación de la X y el texto */
.elementor-13172 .elementor-element.elementor-element-2284340 .elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 8px; /* Espacio perfecto entre el icono y la palabra */
}

/* 3. Controlamos el tamaño de la X */
.elementor-13172 .elementor-element.elementor-element-2284340 .elementor-button-icon svg {
    width: 18px;
    height: 18px;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* 4. Efecto Hover: Cambio de color sincronizado */
.elementor-13172 .elementor-element.elementor-element-2284340 .elementor-button:hover {
    color: #DB5461 !important; /* INSERTA AQUÍ TU COLOR CORPORATIVO */
}

/* 5. Efecto Hover: Rotación elegante de la X */
.elementor-13172 .elementor-element.elementor-element-2284340 .elementor-button:hover .elementor-button-icon svg {
    transform: rotate(90deg);
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-27b523a *//* HORARIO SELECCIONADO: Fondo negro y borde negro absoluto */
.elementor-13172 .elementor-element.elementor-element-27b523a .pa-time-slot.active span { 
    border-color: #111 !important; 
    background-color: #111 !important; 
    color: #fff !important; 
    font-weight: 500; 
}

/* Mensaje de Éxito */
.elementor-message.elementor-message-success {
    background-color: #E8F5E9 !important;
    color: #2E7D32 !important;
    border: 1px solid #A5D6A7 !important;
    border-radius: 0px;
    padding: 12px 16px;
}

/* Mensaje de Error y Formulario Inválido */
.elementor-message.elementor-message-danger,
.elementor-message.elementor-message-invalid {
    background-color: #FFEBEE !important;
    color: #C62828 !important;
    border: 1px solid #EF9A9A !important;
    border-radius: 0px;
    padding: 12px 16px;
}

/* =========================================
   ALERTAS EN LÍNEA VIP (Basado en tu paleta)
   ========================================= */
.pa-error-inline {
    background-color: #FFEBEE;
    color: #C62828;
    border: 1px solid #EF9A9A;
    font-size: 10px;
    font-weight: 600;
    margin-top: 8px;
    padding: 8px 12px;
    display: none; /* Oculto por defecto, el JS lo mostrará */
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-align: left;
    animation: fadeInError 0.3s ease forwards;
}

/* Clase que nuestro JS añadirá para mostrar el error */
.pa-error-inline.is-visible {
    display: block !important;
}

@keyframes fadeInError {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Mantenemos tu código para la selección de hora */
.pa-time-slot.active span { 
    border-color: #111 !important; 
    background-color: #111 !important; 
    color: #fff !important; 
    font-weight: 500; 
}

/* Mensaje de Error de Servidor */
.elementor-message.elementor-message-warning {
    background-color: #FFF3E0 !important;
    color: #E65100 !important;
    border: 1px solid #FFCC80 !important;
    border-radius: 0px;
    padding: 12px 16px;
}

/* HORARIO SELECCIONADO: Fondo negro y borde negro absoluto */
.elementor-13172 .elementor-element.elementor-element-27b523a .pa-time-slot.active span { 
    border-color: #111 !important; 
    background-color: #111 !important; 
    color: #fff !important; 
    font-weight: 500; 
}

/* =========================================
   1. NEUTRALIZAR A ELEMENTOR
   ========================================= */
.elementor-message, .elementor-error { display: none !important; opacity: 0 !important; }
.pa-cita-wrapper { font-family: "Montserrat", sans-serif; width: 100%; }

/* =========================================
   2. ESTRUCTURA VIP
   ========================================= */
.pa-grid-3 { display: flex; gap: 15px; margin-bottom: 20px; }
.pa-row-50-50 { display: flex; gap: 20px; width: 100%; margin-bottom: 20px; }
.pa-col { flex: 1; width: 50%; }

@media (max-width: 768px) {
    .pa-grid-3, .pa-row-50-50 { flex-direction: column; gap: 15px; }
    .pa-col { width: 100%; }
}

/* =========================================
   3. INPUTS Y CAJAS VIP
   ========================================= */
.pa-input-box { width: 100%; border: 1px solid #E5E5E5 !important; background-color: #FFFFFF !important; padding: 14px 15px !important; font-size: 11px !important; font-family: "Montserrat", sans-serif !important; color: #333 !important; border-radius: 0 !important; text-transform: uppercase; letter-spacing: 1px; outline: none !important; box-shadow: none !important; transition: border-color 0.3s ease; }
.pa-input-box::placeholder { color: #A0A0A0; }
.pa-input-box:focus { border-color: #DB5461 !important; }
textarea.pa-input-box { min-height: 120px; resize: vertical; }

.pa-phone-group { display: flex; width: 100%; }
.pa-phone-group select { width: 35%; border-right: none !important; cursor: pointer; padding: 14px 5px !important; }
.pa-phone-group input { width: 65%; }

/* =========================================
   4. TARJETAS DE SELECCIÓN (RADIO & HORA)
   ========================================= */
.pa-box-radio { flex: 1; cursor: pointer; }
.pa-box-radio input { display: none; }
.pa-box-content { display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid #E5E5E5; padding: 25px 10px; text-align: center; transition: all 0.3s ease; background: #fff; height: 100%; }
.pa-box-content strong { font-size: 12px; font-weight: 600; letter-spacing: 1px; margin-bottom: 5px; color: #111; }
.pa-box-content span { font-size: 11px; color: #888; }
.pa-box-radio:hover .pa-box-content { border-color: #DB5461; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(219, 84, 97, 0.08); }
.pa-box-radio.active .pa-box-content { border-color: #DB5461; background-color: rgba(219,84,97,0.05); }
.pa-box-radio.active .pa-box-content strong { color: #DB5461; }

.pa-label-title { display: block; font-size: 11px; letter-spacing: 1.5px; color: #111; margin-bottom: 15px; font-weight: 600; }
.pa-time-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.pa-time-slot { cursor: pointer; }
.pa-time-slot input { display: none; }
.pa-time-slot span { display: block; border: 1px solid #E5E5E5; padding: 12px 5px; text-align: center; font-size: 11px; letter-spacing: 1px; transition: all 0.3s ease; background: #fff; }
.pa-time-slot:hover span { border-color: #DB5461; color: #DB5461; }
.pa-time-slot.active span { border-color: #111; background-color: #111; color: #fff; font-weight: 600; }

/* =========================================
   5. ALERTAS ELEGANTES Y ERRORES
   ========================================= */
.pa-error-field { border-color: #DB5461 !important; background-color: #FDF7F7 !important; }
.pa-nota-final { font-size: 11px; color: #999; margin-top: 15px; letter-spacing: 0.5px; }

/* =========================================
   ALERTAS EN LÍNEA VIP (Corregido)
   ========================================= */
.pa-error-inline {
    background-color: #FFEBEE;
    color: #C62828;
    border: 1px solid #EF9A9A;
    font-size: 10px;
    font-weight: 600;
    margin-top: 8px;
    padding: 8px 12px;
    display: none; 
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-align: left;
    font-family: 'Montserrat', sans-serif !important; /* Fuerza la fuente VIP */
    width: 100%; /* Obliga a ocupar todo el ancho */
    box-sizing: border-box;
    animation: fadeInError 0.3s ease forwards;
}

/* Fuerza al contenedor del Captcha a mandar el error a la línea de abajo */
.elementor-field-type-recaptcha {
    flex-wrap: wrap !important; 
}



/* =========================================
   PARCHE: CENTRADO ABSOLUTO DE RECAPTCHA CHALLENGE
   ========================================= */
body > div[style*="z-index: 2000000000"] {
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    position: fixed !important;
}/* End custom CSS */
/* Start custom CSS *//* 1. Ocultar la barra de scroll en navegadores Webkit (Chrome, Safari, Edge) */
.elementor-popup-modal::-webkit-scrollbar {
    display: none !important;
}

/* 2. Ocultar la barra en Firefox y evitar desbordamiento horizontal */
.elementor-popup-modal {
    -ms-overflow-style: none !important;  /* IE and Edge */
    scrollbar-width: none !important;  /* Firefox */
    overflow-x: hidden !important;
}/* End custom CSS */