/**
 * GSS ActiveCampaign Forms — Estilos reutilizables
 * ─────────────────────────────────────────────────────────────
 * Aplicación:
 *   1. En WPBakery, edita el row/column que contiene el shortcode
 *      [activecampaign form=ID css=0] y añade en "Extra class":
 *
 *        gss-acform
 *
 *   2. El shortcode debe llevar `css=0` para que AC no inyecte
 *      su CSS visual (el del editor). El bloque base de AC sí se
 *      inyecta vía el script /f/embed.php — este CSS lo sobrescribe.
 *
 *   3. Si en alguna landing se olvida la clase, gss-acform.js
 *      la añade automáticamente al detectar el wrapper `._form_NN`.
 *      Así nunca quedará un formulario sin estilar.
 *
 * Estructura HTML que inyecta ActiveCampaign (clases reales):
 *
 *   .gss-acform                            ← wrapper aplicado por WPBakery o por JS
 *     ._form_NN                            ← div externo del shortcode (NN = form id)
 *       form._form._form_NN._inline-form   ← form real
 *         ._form-content
 *           ._form_element                 ← cada campo
 *             ._form-label
 *             ._field-wrapper
 *               input | select | textarea
 *           ._button-wrapper
 *             ._submit                     ← botón submit
 *         ._form-thank-you                 ← mensaje de éxito
 *         ._error / ._error-inner          ← errores
 *
 * Nota importante sobre !important:
 *   AC inyecta su propio CSS base inline (el del bloque que viene
 *   en el embed.php) con !important en muchas reglas críticas
 *   (button background, input border, font-family). Para ganarle
 *   la batalla de specificity, este CSS también usa !important
 *   en los puntos clave. Es un caso justificado.
 */


/* ═════════════════════════════════════════════════════════════
   CARD CONTENEDORA
   El wrapper `.gss-acform` se convierte en la card blanca con
   sombra que aloja todo el formulario. Si el usuario lo prefiere
   sin card (form transparente), puede añadir la modifier class
   `gss-acform--bare` en el row de WPBakery.
═════════════════════════════════════════════════════════════ */

.gss-acform {
    background: var(--gss-white, #FFFFFF);
    border-radius: var(--gss-radius-lg, 20px);
    box-shadow: var(--gss-shadow-lg, 0 8px 32px rgba(4, 20, 56, 0.12));
    padding: 36px 32px;
    box-sizing: border-box;
    /* Contención para performance: aísla el layout y el paint del form
       del resto de la página. */
    contain: layout paint;
}

.gss-acform--bare {
    background: transparent;
    box-shadow: none;
    padding: 0;
}

@media (max-width: 600px) {
    .gss-acform {
        padding: 24px 20px;
        border-radius: var(--gss-radius-md, 12px);
    }
}


/* ═════════════════════════════════════════════════════════════
   RESET DEL FORM EXTERIOR
   AC fuerza max-width 600px, margin auto, padding 20px y border
   en el `#_form_HASH_`. Lo neutralizamos para que herede el ancho
   del wrapper y respete nuestra card.
═════════════════════════════════════════════════════════════ */

.gss-acform ._form,
.gss-acform [class*="_form_"] > form._form {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: var(--gss-font, 'Poppins', sans-serif) !important;
    color: var(--gss-dark-blue, #041438) !important;
    line-height: 1.55 !important;
}


/* ═════════════════════════════════════════════════════════════
   TÍTULO ("Consigue ya la guía práctica" y similares)
═════════════════════════════════════════════════════════════ */

.gss-acform ._form-title,
.gss-acform ._html-code h1,
.gss-acform ._html-code h2,
.gss-acform ._html-code h3 {
    font-family: var(--gss-font, 'Poppins', sans-serif) !important;
    font-weight: 600 !important;
    font-size: 1.375rem !important;     /* 22px */
    line-height: 1.3 !important;
    color: var(--gss-dark-blue, #041438) !important;
    margin: 0 0 24px !important;
    text-align: center;
}


/* ═════════════════════════════════════════════════════════════
   ESPACIADO ENTRE CAMPOS
═════════════════════════════════════════════════════════════ */

.gss-acform ._form-content {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.gss-acform ._form_element {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
}

.gss-acform ._field-wrapper {
    position: relative;
}


/* ═════════════════════════════════════════════════════════════
   LABELS
═════════════════════════════════════════════════════════════ */

.gss-acform ._form-label,
.gss-acform ._form_element ._form-label {
    display: block !important;
    font-family: var(--gss-font, 'Poppins', sans-serif) !important;
    font-weight: 500 !important;
    font-size: 0.875rem !important;     /* 14px */
    line-height: 1.4 !important;
    color: var(--gss-dark-blue, #041438) !important;
    margin: 0 0 8px !important;
}

.gss-acform .field-required {
    color: #E54848 !important;
    font-weight: 500;
    margin-left: 2px;
}


/* ═════════════════════════════════════════════════════════════
   INPUTS DE TEXTO, EMAIL, TEL, NUMBER, DATE, TEXTAREA
═════════════════════════════════════════════════════════════ */

.gss-acform input[type="text"],
.gss-acform input[type="email"],
.gss-acform input[type="tel"],
.gss-acform input[type="number"],
.gss-acform input[type="date"],
.gss-acform input[type="time"],
.gss-acform input[type="password"],
.gss-acform textarea {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: auto !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    font-family: var(--gss-font, 'Poppins', sans-serif) !important;
    font-size: 0.9375rem !important;     /* 15px */
    line-height: 1.5 !important;
    font-weight: 400 !important;
    color: var(--gss-dark-blue, #041438) !important;
    background: var(--gss-white, #FFFFFF) !important;
    border: 1px solid var(--gss-silver, #D2DCDC) !important;
    border-radius: 10px !important;
    outline: none !important;
    appearance: none;
    -webkit-appearance: none;
    /* Sólo transition de border-color y box-shadow — GPU-friendly */
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.gss-acform textarea {
    min-height: 120px;
    resize: vertical !important;
}

.gss-acform input::placeholder,
.gss-acform textarea::placeholder {
    color: var(--gss-gray, #787882) !important;
    opacity: 1;
}


/* ── Hover ─────────────────────────────────────────────────── */

.gss-acform input[type="text"]:hover:not(:disabled):not(._has_error),
.gss-acform input[type="email"]:hover:not(:disabled):not(._has_error),
.gss-acform input[type="tel"]:hover:not(:disabled):not(._has_error),
.gss-acform input[type="number"]:hover:not(:disabled):not(._has_error),
.gss-acform input[type="date"]:hover:not(:disabled):not(._has_error),
.gss-acform textarea:hover:not(:disabled):not(._has_error) {
    border-color: #B0BEC5 !important;
}


/* ── Focus ─────────────────────────────────────────────────── */

.gss-acform input[type="text"]:focus,
.gss-acform input[type="email"]:focus,
.gss-acform input[type="tel"]:focus,
.gss-acform input[type="number"]:focus,
.gss-acform input[type="date"]:focus,
.gss-acform textarea:focus {
    border-color: var(--gss-neon-blue, #5078FF) !important;
    box-shadow: 0 0 0 4px rgba(80, 120, 255, 0.12) !important;
}


/* ── Estado de error (._has_error lo añade AC en validación) ─ */

.gss-acform input._has_error,
.gss-acform textarea._has_error,
.gss-acform select._has_error {
    border-color: #E54848 !important;
    background-color: #FFF8F8 !important;
}

.gss-acform input._has_error:focus,
.gss-acform textarea._has_error:focus,
.gss-acform select._has_error:focus {
    box-shadow: 0 0 0 4px rgba(229, 72, 72, 0.12) !important;
}


/* ── Disabled ──────────────────────────────────────────────── */

.gss-acform input:disabled,
.gss-acform textarea:disabled,
.gss-acform select:disabled {
    background: #F4F6F8 !important;
    color: var(--gss-gray, #787882) !important;
    cursor: not-allowed !important;
}


/* ═════════════════════════════════════════════════════════════
   SELECTS NATIVOS
   Mantienen el mismo aspecto que los inputs. El JS los reemplaza
   con un combo box custom (GssAcSelect) en navegadores modernos.
   Si el JS falla por algún motivo, el nativo sigue siendo usable
   y consistente visualmente — degradación elegante.
═════════════════════════════════════════════════════════════ */

.gss-acform select {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: auto !important;
    padding: 12px 44px 12px 14px !important;
    margin: 0 !important;
    font-family: var(--gss-font, 'Poppins', sans-serif) !important;
    font-size: 0.9375rem !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    color: var(--gss-dark-blue, #041438) !important;
    background-color: var(--gss-white, #FFFFFF) !important;
    /* Chevron Neon Blue como background-image (SVG inline) */
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%235078FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    border: 1px solid var(--gss-silver, #D2DCDC) !important;
    border-radius: 10px !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    cursor: pointer;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.gss-acform select:hover:not(:disabled):not(._has_error) {
    border-color: #B0BEC5 !important;
}

.gss-acform select:focus {
    border-color: var(--gss-neon-blue, #5078FF) !important;
    box-shadow: 0 0 0 4px rgba(80, 120, 255, 0.12) !important;
}


/* ═════════════════════════════════════════════════════════════
   COMBO BOX CUSTOM (lo monta gss-acform.js)
   Cuando el JS está disponible, oculta visualmente el <select>
   nativo y dibuja un combo accesible con teclado completo encima.
═════════════════════════════════════════════════════════════ */

.gss-acform ._field-wrapper.gss-acsel-host {
    position: relative;
}

/* Oculta el <select> nativo pero lo mantiene en el DOM y enfocable
   por el formulario al hacer submit (AC necesita el value real). */
.gss-acform .gss-acsel-host > select {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

.gss-acform .gss-acsel {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 48px;   /* iguala con los inputs (padding 12+12 + line-height ~24px) */
    box-sizing: border-box;
    padding: 12px 44px 12px 14px;
    font-family: var(--gss-font, 'Poppins', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--gss-dark-blue, #041438);
    background: var(--gss-white, #FFFFFF);
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%235078FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    border: 1px solid var(--gss-silver, #D2DCDC);
    border-radius: 10px;
    cursor: pointer;
    user-select: none;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.gss-acform .gss-acsel:hover {
    border-color: #B0BEC5;
}

.gss-acform .gss-acsel.is-open,
.gss-acform .gss-acsel:focus-visible {
    border-color: var(--gss-neon-blue, #5078FF);
    box-shadow: 0 0 0 4px rgba(80, 120, 255, 0.12);
    outline: none;
}

.gss-acform .gss-acsel[data-placeholder="true"] {
    color: var(--gss-gray, #787882);
}

.gss-acform .gss-acsel-panel {
    position: absolute;
    z-index: 1000;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: 280px;
    overflow-y: auto;
    background: var(--gss-white, #FFFFFF);
    border: 1px solid var(--gss-silver, #D2DCDC);
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(4, 20, 56, 0.18);
    padding: 6px;
    /* Animación: aparece desde abajo. transform/opacity son GPU-friendly. */
    opacity: 0;
    transform: translateY(-4px);
    visibility: hidden;
    transition: opacity 160ms ease, transform 160ms ease, visibility 0ms 160ms;
}

.gss-acform .gss-acsel.is-open + .gss-acsel-panel {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    transition: opacity 160ms ease, transform 160ms ease, visibility 0ms;
}

.gss-acform .gss-acsel-opt {
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 0.9375rem;
    color: var(--gss-dark-blue, #041438);
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease;
}

.gss-acform .gss-acsel-opt:hover,
.gss-acform .gss-acsel-opt.is-active {
    background: rgba(80, 120, 255, 0.08);
    color: var(--gss-neon-blue, #5078FF);
}

.gss-acform .gss-acsel-opt.is-selected {
    font-weight: 500;
    color: var(--gss-neon-blue, #5078FF);
}


/* ═════════════════════════════════════════════════════════════
   CHECKBOXES Y RADIOS (consentimiento RGPD, intereses)
   Replicamos el patrón usado en gss-gform: hidden input + pseudo
   visual con check SVG cuando :checked.
═════════════════════════════════════════════════════════════ */

.gss-acform ._row._checkbox-radio {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 !important;
    line-height: 1.5;
}

.gss-acform ._row._checkbox-radio label {
    display: inline !important;
    font-family: var(--gss-font, 'Poppins', sans-serif) !important;
    font-size: 0.875rem !important;
    color: var(--gss-dark-blue, #041438) !important;
    font-weight: 400 !important;
    cursor: pointer;
    margin: 0 !important;
}

/* Layout defensivo: cubrimos el caso en que AC NO envuelve el checkbox
   con `._row._checkbox-radio`. Aplicamos display:flex al _form_element
   que contenga directamente un input[type="checkbox"], usando :has(),
   y como fallback para navegadores sin :has(), un selector amplio sobre
   labels adyacentes y spans de opción. */
.gss-acform ._form_element:has(> input[type="checkbox"]),
.gss-acform ._form_element:has(> ._field-wrapper > input[type="checkbox"]),
.gss-acform ._form_element ._field-wrapper:has(> input[type="checkbox"]) {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
}

/* Labels y spans pegados a un checkbox: tono cuerpo, no negrita. */
.gss-acform input[type="checkbox"] + label,
.gss-acform input[type="checkbox"] + span,
.gss-acform input[type="checkbox"] ~ ._form-checkbox-option-label,
.gss-acform input[type="checkbox"] ~ ._form-label {
    display: inline-block !important;
    flex: 1 1 0 !important;
    min-width: 0;
    margin: 0 !important;
    font-family: var(--gss-font, 'Poppins', sans-serif) !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: var(--gss-dark-blue, #041438) !important;
    cursor: pointer;
}

/* Texto explicativo bajo el checkbox ("Puedes encontrar más información…") */
.gss-acform ._form_element p,
.gss-acform ._html-code p {
    width: 100%;
    margin: 8px 0 0 !important;
    font-size: 0.8125rem !important;
    line-height: 1.5 !important;
    color: var(--gss-gray, #787882) !important;
}

.gss-acform input[type="checkbox"],
.gss-acform input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: relative;
    /* Tamaño bloqueado por todas las vías para ganar a las reglas mobile
       de AC (#_form_HASH_ input[type="checkbox"] { width: 1.3em }), que
       por specificity de ID podrían escalar el checkbox si el font-size
       heredado fuera mayor. min/max + flex shorthand bloquean cualquier
       crecimiento. El inline style aplicado por gss-acform.js es la red
       de seguridad final. */
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    background: var(--gss-white, #FFFFFF) !important;
    border: 1.5px solid var(--gss-silver, #D2DCDC) !important;
    cursor: pointer;
    vertical-align: middle !important;
    transition: border-color 150ms ease, background-color 150ms ease;
}

.gss-acform input[type="checkbox"] {
    border-radius: 5px !important;
}

.gss-acform input[type="radio"] {
    border-radius: 50% !important;
}

.gss-acform input[type="checkbox"]:hover,
.gss-acform input[type="radio"]:hover {
    border-color: var(--gss-neon-blue, #5078FF) !important;
}

.gss-acform input[type="checkbox"]:focus-visible,
.gss-acform input[type="radio"]:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(80, 120, 255, 0.18) !important;
}

.gss-acform input[type="checkbox"]:checked {
    background-color: var(--gss-neon-blue, #5078FF) !important;
    border-color: var(--gss-neon-blue, #5078FF) !important;
    /* Check SVG blanco */
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 7L6 10L11 4' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

.gss-acform input[type="radio"]:checked {
    border-color: var(--gss-neon-blue, #5078FF) !important;
    /* Punto interior */
    background-image: radial-gradient(
        circle,
        var(--gss-neon-blue, #5078FF) 38%,
        var(--gss-white, #FFFFFF) 42%
    ) !important;
}

.gss-acform input[type="checkbox"]._has_error,
.gss-acform input[type="radio"]._has_error {
    border-color: #E54848 !important;
    outline: 2px solid rgba(229, 72, 72, 0.18) !important;
}


/* ═════════════════════════════════════════════════════════════
   ENLACES DENTRO DEL FORM (política de privacidad, etc.)
═════════════════════════════════════════════════════════════ */

.gss-acform a {
    color: var(--gss-neon-blue, #5078FF);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 150ms ease;
}

.gss-acform a:hover {
    border-bottom-color: var(--gss-neon-blue, #5078FF);
}


/* ═════════════════════════════════════════════════════════════
   BOTÓN SUBMIT — Pill Neon Blue como el form demo
═════════════════════════════════════════════════════════════ */

.gss-acform ._button-wrapper {
    width: 100%;
    margin-top: 12px;
    /* Reset del !important que AC mete en mobile */
    position: static !important;
    background-color: transparent !important;
}

.gss-acform ._submit,
.gss-acform button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px;
    width: 100% !important;
    min-height: 52px;
    padding: 14px 32px !important;
    margin: 0 !important;
    font-family: var(--gss-font, 'Poppins', sans-serif) !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.01em;
    color: var(--gss-white, #FFFFFF) !important;
    background: var(--gss-neon-blue, #5078FF) !important;
    border: 0 !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: 0 4px 14px rgba(80, 120, 255, 0.28);
    /* Sólo transform y propiedades GPU-friendly en la transition */
    transition: background-color 200ms ease, box-shadow 200ms ease, transform 150ms ease;
}

.gss-acform ._submit:hover:not(:disabled),
.gss-acform button[type="submit"]:hover:not(:disabled) {
    background: var(--gss-dark-blue, #041438) !important;
    /* Reafirmamos color y eliminamos cualquier text-shadow heredado.
       Sin este !important, AC podría estar aplicando un color distinto
       en :hover desde una specificity con ID (#_form_HASH_ ._submit:hover)
       que ganaría a la herencia del estado base. */
    color: var(--gss-white, #FFFFFF) !important;
    text-shadow: none !important;
    box-shadow: 0 6px 20px rgba(4, 20, 56, 0.25);
    transform: translateY(-1px);
}

.gss-acform ._submit:active:not(:disabled),
.gss-acform button[type="submit"]:active:not(:disabled) {
    transform: translateY(0);
}

.gss-acform ._submit:focus-visible {
    box-shadow: 0 0 0 4px rgba(80, 120, 255, 0.25), 0 4px 14px rgba(80, 120, 255, 0.28);
}

.gss-acform ._submit:disabled,
.gss-acform ._submit.processing {
    /* Opacidad un poco más alta que el default 0.4 de AC para que el texto
       siga siendo legible cuando el guard de email corporativo deshabilita
       el botón. 0.7 mantiene un contraste 4.5:1 sobre el azul. */
    opacity: 0.7 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Spinner del estado processing — AC añade ::before y ::after.
   Los hacemos visibles en blanco sobre el azul. */
.gss-acform ._submit.processing::before {
    border-color: var(--gss-white, #FFFFFF) transparent transparent transparent !important;
    background: none !important;
    background-image: none !important;
}


/* ═════════════════════════════════════════════════════════════
   MENSAJE DE ÉXITO ("thank you")
═════════════════════════════════════════════════════════════ */

.gss-acform ._form-thank-you {
    padding: 24px 20px !important;
    text-align: center !important;
    font-family: var(--gss-font, 'Poppins', sans-serif) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: var(--gss-dark-blue, #041438) !important;
    background: rgba(0, 255, 215, 0.10) !important;
    border: 1px solid rgba(0, 255, 215, 0.35) !important;
    border-radius: 12px !important;
    position: static !important;
}


/* ═════════════════════════════════════════════════════════════
   ERRORES DE VALIDACIÓN
   AC genera _error-inner con un icono SVG embebido y fondo rojo
   pastel. Lo ajustamos al tono GSS sin perder funcionalidad.
═════════════════════════════════════════════════════════════ */

.gss-acform ._error-inner {
    padding: 10px 14px 10px 38px !important;
    background-color: #FFEDED !important;
    color: #A02020 !important;
    font-family: var(--gss-font, 'Poppins', sans-serif) !important;
    font-size: 0.8125rem !important;     /* 13px */
    font-weight: 500 !important;
    line-height: 1.4 !important;
    border: 1px solid rgba(229, 72, 72, 0.25) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.gss-acform ._error._below ._error-arrow {
    border-bottom-color: #FFEDED !important;
}

.gss-acform ._error._above ._error-arrow {
    border-top-color: #FFEDED !important;
}

.gss-acform ._error-inner._no_arrow {
    margin-bottom: 8px !important;
}


/* ═════════════════════════════════════════════════════════════
   "POWERED BY ACTIVECAMPAIGN" — ocultar
   AC inyecta un branding al pie. Lo ocultamos por imagen limpia.
   Si por TOS de AC necesitan mostrarlo, comentar este bloque.
═════════════════════════════════════════════════════════════ */

.gss-acform ._form-branding {
    display: none !important;
}


/* ═════════════════════════════════════════════════════════════
   RESPETO A prefers-reduced-motion
═════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
    .gss-acform input,
    .gss-acform select,
    .gss-acform textarea,
    .gss-acform ._submit,
    .gss-acform .gss-acsel,
    .gss-acform .gss-acsel-panel,
    .gss-acform a {
        transition: none !important;
    }

    .gss-acform ._submit:hover {
        transform: none !important;
    }
}


/* ═════════════════════════════════════════════════════════════
   MOBILE
   AC inyecta varias reglas mobile con !important que rompen el
   diseño (button padding 20px, font-size 1.5em…). Las anulamos.
═════════════════════════════════════════════════════════════ */

@media (min-width: 320px) and (max-width: 667px) {

    .gss-acform input[type="text"],
    .gss-acform input[type="email"],
    .gss-acform input[type="tel"],
    .gss-acform input[type="number"],
    .gss-acform textarea,
    .gss-acform select {
        font-size: 1rem !important;       /* 16px para evitar zoom iOS */
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .gss-acform select {
        padding-right: 44px !important;
    }

    .gss-acform ._submit,
    .gss-acform button[type="submit"] {
        padding: 14px 24px !important;
        font-size: 0.9375rem !important;
    }

    .gss-acform ._row,
    .gss-acform p,
    .gss-acform label {
        margin-bottom: 0 !important;
    }

    /* AC fuerza un margin/background rojo en algunos botones mobile.
       Lo neutralizamos. */
    .gss-acform ._button-wrapper {
        margin: 0 !important;
        background-color: transparent !important;
    }
}
