/* ===================================================================
   Forminator × ASCA — Inputs y botones con el formato de marca ASCA.
   -------------------------------------------------------------------
   Vive en el TEMA (assets/css/forminator-asca.css) y se encola solo si
   Forminator está activo, para que las actualizaciones del plugin NO
   borren estos estilos.

   Es AUTOCONTENIDO (valores literales, no variables) para que también
   funcione si se PEGA en Forminator → Apariencia → CSS personalizado,
   aunque el CSS del tema no cargue.

   Tokens ASCA usados:
     navy   #0D3178   ·  navy hover  #102E6C
     red    #CC1111   ·  red hover   #b00e0e
     texto  #333333   ·  muted #888  ·  borde #DDDDDD
     headings 'Montserrat'  ·  cuerpo 'Open Sans'
     radios: 6px (inputs) · 14px (botón) · transición .25s
   =================================================================== */

/* ── Etiquetas ─────────────────────────────────────────────────── */
.forminator-custom-form .forminator-label {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    color: #0D3178 !important;
    font-size: 14px !important;
    margin-bottom: 6px !important;
}
.forminator-custom-form .forminator-label .forminator-required,
.forminator-custom-form .forminator-required {
    color: #CC1111 !important;
}

/* ── Inputs / textarea / select ────────────────────────────────── */
.forminator-custom-form .forminator-input,
.forminator-custom-form input[type="text"],
.forminator-custom-form input[type="email"],
.forminator-custom-form input[type="tel"],
.forminator-custom-form input[type="url"],
.forminator-custom-form input[type="number"],
.forminator-custom-form input[type="password"],
.forminator-custom-form input[type="date"],
.forminator-custom-form .forminator-textarea,
.forminator-custom-form textarea,
.forminator-custom-form select.forminator-select,
.forminator-custom-form .forminator-select2 .select2-selection {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: #333333 !important;
    background-color: #ffffff !important;
    border: 1px solid #DDDDDD !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    transition: border-color .25s ease, box-shadow .25s ease !important;
}
.forminator-custom-form .forminator-textarea,
.forminator-custom-form textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

/* Alto del select2 alineado con los inputs */
.forminator-custom-form .forminator-select2 .select2-selection {
    height: auto !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
}

/* ── Foco ──────────────────────────────────────────────────────── */
.forminator-custom-form .forminator-input:focus,
.forminator-custom-form input:focus,
.forminator-custom-form .forminator-textarea:focus,
.forminator-custom-form textarea:focus,
.forminator-custom-form select.forminator-select:focus,
.forminator-custom-form .forminator-select2.select2-container--focus .select2-selection {
    border-color: #0D3178 !important;
    box-shadow: 0 0 0 3px rgba(13, 49, 120, 0.12) !important;
    outline: none !important;
}

/* ── Placeholder ───────────────────────────────────────────────── */
.forminator-custom-form .forminator-input::placeholder,
.forminator-custom-form .forminator-textarea::placeholder,
.forminator-custom-form input::placeholder,
.forminator-custom-form textarea::placeholder {
    color: #888888 !important;
    opacity: 1 !important;
}

/* ── Botón de envío ────────────────────────────────────────────── */
.forminator-custom-form .forminator-button-submit,
.forminator-custom-form button.forminator-button-submit,
.forminator-custom-form .forminator-button.forminator-button-submit {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.3px !important;
    color: #ffffff !important;
    background: #CC1111 !important;
    border: 0 !important;
    border-radius: 14px !important;
    padding: 13px 30px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(204, 17, 17, 0.30) !important;
    transition: background .25s ease, transform .2s ease, box-shadow .25s ease !important;
}
.forminator-custom-form .forminator-button-submit:hover,
.forminator-custom-form button.forminator-button-submit:hover {
    background: #b00e0e !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(204, 17, 17, 0.40) !important;
    color: #ffffff !important;
}

/* Botón secundario (atrás / pasos) en navy outline */
.forminator-custom-form .forminator-button-back {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    color: #0D3178 !important;
    background: transparent !important;
    border: 1px solid #0D3178 !important;
    border-radius: 14px !important;
    padding: 13px 26px !important;
}
.forminator-custom-form .forminator-button-back:hover {
    background: #0D3178 !important;
    color: #ffffff !important;
}

/* ── Títulos / secciones internas del formulario ───────────────── */
.forminator-custom-form .forminator-label--section,
.forminator-custom-form .forminator-section-title,
.forminator-custom-form h1,
.forminator-custom-form h2,
.forminator-custom-form h3,
.forminator-custom-form h4 {
    font-family: 'Montserrat', sans-serif !important;
    color: #0D3178 !important;
}
