/* ============================================
   Forminator — Override al design system dark
   ============================================
   Cargado vía dependencia en functions.php para que WP imprima
   esta hoja DESPUÉS de las CSS de Forminator.

   IMPORTANTE: Forminator NO usa la estructura DOM estándar de
   Select2. Envuelve el widget en .forminator-select (no en
   .select2-container--default). Los selectores aquí siguen el
   patrón real de Forminator:
     select.forminator-select2 + .forminator-select .selection
       span[role=combobox].select2-selection--multiple
   ============================================ */

/* ── Wrapper del form ── */
.forminator-ui.forminator-custom-form,
.forminator-ui.forminator-custom-form * {
    font-family: 'Inter', sans-serif;
    box-sizing: border-box;
}

.forminator-ui.forminator-custom-form {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

.forminator-ui.forminator-custom-form .forminator-row {
    margin-bottom: 1.5rem !important;
}
.forminator-ui.forminator-custom-form .forminator-row:last-of-type {
    margin-bottom: 0 !important;
}

/* ── Labels ── */
.forminator-ui.forminator-custom-form .forminator-label,
.forminator-ui.forminator-custom-form label,
.forminator-ui.forminator-custom-form[data-design=default] .forminator-label {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #c3c6d0 !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.4 !important;
}

.forminator-ui.forminator-custom-form .forminator-required {
    color: #f96800 !important;
}

/* ── Inputs nativos / textareas / select nativo ── */
.forminator-ui.forminator-custom-form input[type="text"],
.forminator-ui.forminator-custom-form input[type="email"],
.forminator-ui.forminator-custom-form input[type="tel"],
.forminator-ui.forminator-custom-form input[type="url"],
.forminator-ui.forminator-custom-form input[type="number"],
.forminator-ui.forminator-custom-form input[type="password"],
.forminator-ui.forminator-custom-form input[type="search"],
.forminator-ui.forminator-custom-form input[type="date"],
.forminator-ui.forminator-custom-form textarea,
.forminator-ui.forminator-custom-form select,
.forminator-ui.forminator-custom-form .forminator-input,
.forminator-ui.forminator-custom-form .forminator-textarea,
.forminator-ui.forminator-custom-form[data-design=default] .forminator-input,
.forminator-ui.forminator-custom-form[data-design=default] .forminator-textarea {
    width: 100% !important;
    background-color: #1d2a41 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 0.5rem !important;
    padding: 0.875rem 1.125rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.9375rem !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-appearance: none;
    appearance: none;
}

.forminator-ui.forminator-custom-form textarea,
.forminator-ui.forminator-custom-form .forminator-textarea {
    resize: vertical !important;
    min-height: 8rem !important;
}

.forminator-ui.forminator-custom-form input::placeholder,
.forminator-ui.forminator-custom-form textarea::placeholder {
    color: rgba(195, 198, 208, 0.4) !important;
    opacity: 1 !important;
}

.forminator-ui.forminator-custom-form input:focus,
.forminator-ui.forminator-custom-form textarea:focus,
.forminator-ui.forminator-custom-form select:focus,
.forminator-ui.forminator-custom-form .forminator-input:focus,
.forminator-ui.forminator-custom-form .forminator-textarea:focus {
    outline: none !important;
    background-color: #1d2a41 !important;
    border-color: rgba(249, 104, 0, 0.6) !important;
    box-shadow: 0 0 0 3px rgba(249, 104, 0, 0.15) !important;
}

/* Autofill — Chrome inyecta fondo blanco */
.forminator-ui.forminator-custom-form input:-webkit-autofill,
.forminator-ui.forminator-custom-form input:-webkit-autofill:hover,
.forminator-ui.forminator-custom-form input:-webkit-autofill:focus,
.forminator-ui.forminator-custom-form textarea:-webkit-autofill {
    -webkit-text-fill-color: #ffffff !important;
    -webkit-box-shadow: 0 0 0 1000px #1d2a41 inset !important;
    box-shadow: 0 0 0 1000px #1d2a41 inset !important;
    caret-color: #ffffff !important;
}

/* ============================================
   SELECT2 / Forminator-select — DOM real
   ============================================
   Estructura real:
     <select.forminator-select2 ...> (oculto)
     <div.forminator-select>
       <div.selection>
         <span role="combobox" class="select2-selection select2-selection--multiple">
           <ul.select2-selection__rendered.forminator-select2-selections>
             <li.select2-selection__choice>
               <button.select2-selection__choice__remove>
               (texto de la opción)
             </li>
             <li.select2-search.select2-search--inline>
               <textarea.select2-search__field />
             </li>
           </ul>
           <span.select2-selection__arrow>
         </span>
       </div>
     </div>
   ============================================ */

/* ── Container del widget (single + multi) ── */
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple,
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--single {
    background-color: #1d2a41 !important;
    background-image: none !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-radius: 0.5rem !important;
    min-height: 3.25rem !important;
    padding: 0.5rem 0.75rem !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Wrapper externo .forminator-select también recibe focus styles */
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select {
    background-color: transparent !important;
}

/* Focus / open — borde naranja con glow */
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select.forminator-select-dropdown-container--open .selection span[role=combobox].select2-selection--multiple,
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select.forminator-select-dropdown-container--open .selection span[role=combobox].select2-selection--single,
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple:focus,
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--single:focus {
    border-color: rgba(249, 104, 0, 0.6) !important;
    box-shadow: 0 0 0 3px rgba(249, 104, 0, 0.15) !important;
}

/* ── Texto del valor seleccionado (single) ── */
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--single .select2-selection__rendered,
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--single .select2-selection__rendered * {
    color: #ffffff !important;
    background: transparent !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox] .select2-selection__placeholder {
    color: rgba(195, 198, 208, 0.55) !important;
}

/* ── Lista interna del multi-select ── */
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple ul.select2-selection__rendered,
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple ul.select2-selection__rendered.forminator-select2-selections {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.4rem !important;
    background: transparent !important;
}

/* ── Chip seleccionado (multi) ── */
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple .select2-selection__choice {
    background: rgba(249, 104, 0, 0.18) !important;
    background-color: rgba(249, 104, 0, 0.18) !important;
    border: 1px solid rgba(249, 104, 0, 0.4) !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    padding: 0.3rem 0.75rem !important;
    margin: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    display: inline-flex !important;
    align-items: center !important;
    flex-direction: row-reverse !important;
    gap: 0.5rem !important;
    white-space: normal !important;
    box-shadow: none !important;
}

.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple .select2-selection__choice .select2-selection__choice__display {
    color: #ffffff !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── Botón "x" del chip — círculo naranja ── */
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {
    color: #ffffff !important;
    background: rgba(249, 104, 0, 0.6) !important;
    background-color: rgba(249, 104, 0, 0.6) !important;
    border: none !important;
    border-radius: 999px !important;
    width: 1.1rem !important;
    height: 1.1rem !important;
    min-width: 1.1rem !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.15s ease, transform 0.15s ease !important;
}

.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove span {
    color: #ffffff !important;
    line-height: 1 !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
}

.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:hover {
    background: #f96800 !important;
    background-color: #f96800 !important;
    color: #ffffff !important;
    transform: scale(1.1) !important;
}

/* ── Search inline (oculto cuando data-search=false) ── */
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple .select2-search--inline {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple .select2-search--inline .select2-search__field {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    border: none !important;
    outline: none !important;
    margin: 0 !important;
    padding: 0 0.25rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
    height: auto !important;
    min-height: 0 !important;
    width: 0.5rem !important;
    box-shadow: none !important;
}

.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox].select2-selection--multiple .select2-search--inline .select2-search__field::placeholder {
    color: rgba(195, 198, 208, 0.45) !important;
    opacity: 1 !important;
}

/* ── Flecha del select ── */
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox] .select2-selection__arrow [class*=forminator-icon-],
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select .selection span[role=combobox] .select2-selection__arrow [class*=forminator-icon-]:before {
    color: #c3c6d0 !important;
}

.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select.forminator-select-dropdown-container--open .selection span[role=combobox] .select2-selection__arrow [class*=forminator-icon-],
.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2 + .forminator-select.forminator-select-dropdown-container--open .selection span[role=combobox] .select2-selection__arrow [class*=forminator-icon-]:before {
    color: #f96800 !important;
}

/* ============================================
   DROPDOWN abierto — Forminator usa .forminator-select-dropdown
   (NO el .select2-dropdown estándar)
   ============================================ */
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown,
body .forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown {
    background-color: #1d2a41 !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 0.5rem !important;
    overflow: hidden !important;
    margin-top: 0.25rem !important;
    box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.5) !important;
    color: #ffffff !important;
}

.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results,
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results__options {
    background-color: #1d2a41 !important;
    background-image: none !important;
}

.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results .select2-results__options .select2-results__option {
    background-color: #1d2a41 !important;
    background-image: none !important;
    color: #ffffff !important;
    padding: 0.625rem 1rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.9375rem !important;
    line-height: 1.5 !important;
    border: 0 !important;
    transition: background-color 0.15s ease !important;
}

.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results .select2-results__options .select2-results__option--highlighted,
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results .select2-results__options .select2-results__option[data-selected=true]:not(.select2-results__option--selected),
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results .select2-results__options .select2-results__option[aria-selected=true]:hover {
    background-color: #253759 !important;
    color: #ffffff !important;
}

.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results .select2-results__options .select2-results__option--selected,
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results .select2-results__options .select2-results__option[aria-selected=true] {
    background-color: #1d2a41 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: inset 3px 0 0 #f96800 !important;
}

/* Search input dentro del dropdown */
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-search input {
    background-color: #28354c !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 0.375rem !important;
    padding: 0.5rem 0.75rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.875rem !important;
}

/* ============================================
   Checkboxes / radios
   ============================================ */
.forminator-ui.forminator-custom-form input[type="checkbox"],
.forminator-ui.forminator-custom-form input[type="radio"] {
    width: 1.125rem !important;
    height: 1.125rem !important;
    accent-color: #f96800 !important;
    margin-right: 0.5rem !important;
    background-color: #1d2a41 !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.forminator-ui.forminator-custom-form .forminator-checkbox label,
.forminator-ui.forminator-custom-form .forminator-radio label {
    color: #c3c6d0 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* ============================================
   Descripciones, errores, mensajes
   ============================================ */
.forminator-ui.forminator-custom-form .forminator-description {
    color: rgba(195, 198, 208, 0.6) !important;
    font-size: 0.75rem !important;
    margin-top: 0.5rem !important;
    line-height: 1.5 !important;
}

.forminator-ui.forminator-custom-form .forminator-error-message,
.forminator-ui.forminator-custom-form span.forminator-error-message {
    color: #ff8a80 !important;
    font-size: 0.75rem !important;
    margin-top: 0.5rem !important;
    display: block !important;
    background: transparent !important;
    padding: 0 !important;
}

.forminator-ui.forminator-custom-form .forminator-has_error input,
.forminator-ui.forminator-custom-form .forminator-has_error textarea,
.forminator-ui.forminator-custom-form .forminator-has_error select,
.forminator-ui.forminator-custom-form[data-design=default] .forminator-has_error select.forminator-select2 + .forminator-select .selection span[role=combobox] {
    border-color: rgba(255, 138, 128, 0.5) !important;
}

.forminator-ui.forminator-custom-form .forminator-response-message {
    border-radius: 0.5rem !important;
    padding: 1rem 1.25rem !important;
    margin-bottom: 1.5rem !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    border: 1px solid transparent !important;
}

.forminator-ui.forminator-custom-form .forminator-response-message.forminator-success {
    background-color: rgba(34, 197, 94, 0.1) !important;
    border-color: rgba(34, 197, 94, 0.25) !important;
    color: #86efac !important;
}

.forminator-ui.forminator-custom-form .forminator-response-message.forminator-error {
    background-color: rgba(255, 138, 128, 0.1) !important;
    border-color: rgba(255, 138, 128, 0.25) !important;
    color: #ff8a80 !important;
}

/* ============================================
   BOTÓN SUBMIT
   ============================================ */
.forminator-ui.forminator-custom-form[data-design=default] .forminator-button,
.forminator-ui.forminator-custom-form[data-design=default] .forminator-button-submit,
.forminator-ui.forminator-custom-form[data-design=default] button.forminator-button-submit {
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    background: linear-gradient(135deg, #F96800 0%, #FF8533 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0.625rem !important;
    padding: 1.25rem 2rem !important;
    font-family: 'Epilogue', sans-serif !important;
    font-weight: 800 !important;
    font-size: 1.0625rem !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    cursor: pointer !important;
    box-shadow:
        0 10px 30px -10px rgba(249, 104, 0, 0.6),
        0 0 60px -20px rgba(249, 104, 0, 0.4) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, background 0.2s ease !important;
    margin-top: 0.5rem !important;
}

.forminator-ui.forminator-custom-form[data-design=default] .forminator-button:hover,
.forminator-ui.forminator-custom-form[data-design=default] .forminator-button-submit:hover,
.forminator-ui.forminator-custom-form[data-design=default] button.forminator-button-submit:hover,
.forminator-ui.forminator-custom-form[data-design=default] .forminator-button:focus,
.forminator-ui.forminator-custom-form[data-design=default] .forminator-button-submit:focus,
.forminator-ui.forminator-custom-form[data-design=default] button.forminator-button-submit:focus {
    background: linear-gradient(135deg, #FF8533 0%, #FFB693 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow:
        0 15px 40px -10px rgba(249, 104, 0, 0.85),
        0 0 80px -20px rgba(249, 104, 0, 0.55) !important;
    filter: brightness(1.05) !important;
    outline: none !important;
}

.forminator-ui.forminator-custom-form[data-design=default] .forminator-button-submit:active,
.forminator-ui.forminator-custom-form[data-design=default] button.forminator-button-submit:active {
    transform: translateY(0) scale(0.99) !important;
}

.forminator-ui.forminator-custom-form[data-design=default] .forminator-button-submit:disabled,
.forminator-ui.forminator-custom-form[data-design=default] button.forminator-button-submit:disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

.forminator-ui.forminator-custom-form .forminator-loading::before {
    border-color: #ffffff !important;
    border-top-color: transparent !important;
}
