/* ESEP · Formularios de Elementor
   1) Popup «Recibir información» (7495) con la estética de la ficha de curso.
   2) Campo de teléfono con banderas (intl-tel-input).
   Los textos y campos se siguen editando en Elementor. */

/* ---------- 1) Popup «Recibir información» ---------- */
#elementor-popup-modal-7495 { background-color: rgba(14, 35, 80, .55) !important; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
#elementor-popup-modal-7495 .dialog-widget-content { border-radius: 24px !important; overflow: hidden; box-shadow: 0 24px 60px rgba(14, 35, 80, .28) !important; }
@media (min-width: 769px) { #elementor-popup-modal-7495 .dialog-message { width: 540px !important; } }
#elementor-popup-modal-7495 .dialog-close-button { top: 14px; right: 14px; width: 36px; height: 36px; display: grid !important; place-items: center; padding: 0; border-radius: 50%; background: #F6F8FB; font-size: 16px !important; transition: background .15s; }
#elementor-popup-modal-7495 .dialog-close-button:hover { background: #E3E8EF; }
#elementor-popup-modal-7495 .dialog-close-button i { color: #55657A !important; }
#elementor-popup-modal-7495 .dialog-close-button svg { fill: #55657A !important; width: 16px; height: 16px; }

/* Título y bajada */
#elementor-popup-modal-7495 .elementor-widget-heading .elementor-heading-title { font-family: "Open Sans", system-ui, sans-serif; font-size: 26px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; color: #16233A; margin: 0; }
#elementor-popup-modal-7495 .elementor-widget-heading + .elementor-widget-heading .elementor-heading-title { margin-top: 6px; font-size: 17px; font-weight: 400; line-height: 1.45; letter-spacing: 0; color: #55657A; }
#elementor-popup-modal-7495 .elementor-widget-image img { border-radius: 4px; }

/* Campos */
#elementor-popup-modal-7495 .elementor-field-group .elementor-field:not(.elementor-select-wrapper) { min-height: 52px; padding: 12px 16px; border: 1.5px solid #D9E1EC; border-radius: 12px; background: #fff; font-family: "Open Sans", system-ui, sans-serif; font-size: 16px; color: #16233A; box-shadow: none; transition: border-color .15s, box-shadow .15s; }
#elementor-popup-modal-7495 .elementor-field-group .elementor-field::placeholder { color: #8A97A8; opacity: 1; }
#elementor-popup-modal-7495 .elementor-field-group .elementor-field:focus { outline: none; border-color: #2159D6; box-shadow: 0 0 0 4px rgba(33, 89, 214, .15); }
#elementor-popup-modal-7495 .elementor-field-group { margin-bottom: 12px; }

/* Botón */
#elementor-popup-modal-7495 .elementor-button[type="submit"] { min-height: 52px; border-radius: 12px; background-color: #2159D6; color: #fff; font-family: "Open Sans", system-ui, sans-serif; font-size: 16px; font-weight: 700; letter-spacing: 0; box-shadow: 0 8px 20px rgba(33, 89, 214, .28); transition: background-color .15s, transform .15s; }
#elementor-popup-modal-7495 .elementor-button[type="submit"]:hover, #elementor-popup-modal-7495 .elementor-button[type="submit"]:focus { background-color: #1A47AB; color: #fff; }
#elementor-popup-modal-7495 .elementor-button[type="submit"]:active { transform: translateY(1px); }
#elementor-popup-modal-7495 .elementor-message { margin-top: 12px; font-size: 15px; line-height: 1.45; }

/* ---------- 2) Teléfono con banderas (intl-tel-input) ---------- */
.iti { width: 100%; display: block; }
.iti--container, .iti__dropdown-content, .iti__country-list { z-index: 100001 !important; }
.iti .iti__selected-dial-code { font-family: "Open Sans", system-ui, sans-serif; }
/* El texto del buscador no pisa el ícono de la lupa */
.iti__search-input { padding-left: 35px !important; }
.iti__country-list { width: max-content !important; min-width: 100%; max-width: 350px; background: #fff; box-shadow: 0 8px 24px rgba(14, 35, 80, .14); border: 1px solid #E3E8EF; border-radius: 12px; }
/* El botón de la bandera no toma los colores de los botones del tema */
.iti__selected-country:focus, .iti__selected-country:hover { background-color: transparent !important; color: inherit !important; }
.iti__selected-country { border-radius: 12px 0 0 12px; }
/* Mientras se averigua el país: un recuadro gris que «late» en lugar de una bandera */
.iti__selected-country .iti__flag[class="iti__flag"] { background: #E3E8EF; border-radius: 3px; box-shadow: none; animation: esep-iti-espera .9s ease-in-out infinite alternate; }
@keyframes esep-iti-espera { from { opacity: .4; } to { opacity: 1; } }
