/* ==========================================================================
 * BK Altcha Captcha — Estilos front
 * ========================================================================== */

.bkaltcha-wrapper {
    margin: 18px 0;
    display: flex;
    justify-content: flex-start;
    width: 100%;
    clear: both;
    flex-basis: 100%;
}

/* Asegura que el widget no rompe el layout del formulario padre */
.bkaltcha-wrapper altcha-widget {
    --altcha-border-width: 1px;
    --altcha-border-radius: 3px;
    --altcha-color-border: #d8d8d8;
    --altcha-max-width: 304px;
    display: block;
    width: 304px;
    max-width: 100%;
    min-height: 78px;
    margin: 0;
    box-sizing: border-box;
}

/* El widget se pinta en light DOM, así que los estilos de `label` e `input` del
 * tema alcanzan sus elementos internos. Estas reglas mantienen la tipografía y
 * el centrado propios del widget: la fila del checkbox debe quedar centrada
 * verticalmente y la etiqueta sin transformaciones del tema. */
.bkaltcha-wrapper .altcha-label {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: none;
    cursor: pointer;
}

.bkaltcha-wrapper .altcha-checkbox input[type="checkbox"] {
    margin: 0;
    vertical-align: middle;
}

/* Modo flotante: el widget se posiciona fijo junto al botón de envío mientras
 * resuelve el PoW, así que dentro del formulario no debe ocupar sitio. */
.bkaltcha-wrapper--floating {
    margin: 0;
}

.bkaltcha-wrapper--floating altcha-widget {
    min-height: 0;
}

/* Modo invisible: sin UI. El input oculto con el payload sigue enviándose con
 * el formulario aunque el wrapper no se pinte. */
.bkaltcha-wrapper--invisible {
    display: none;
}

/* Contexto: registro de cuenta (centrar y separar del bloque GDPR) */
.bkaltcha-wrapper[data-bkaltcha-context="registration"] {
    margin: 18px 0 16px;
    clear: both;
    justify-content: center;
}

/* Contexto: recuperar contraseña — alineado a la izquierda */
.bkaltcha-wrapper[data-bkaltcha-context="password"] {
    margin: 16px 0 20px;
}

/* Contexto: newsletter — más compacto */
.bkaltcha-wrapper[data-bkaltcha-context="newsletter"] altcha-widget {
    width: 280px;
    max-width: 100%;
    margin: 8px 0;
}

/* Contexto: formulario CMS de ets_cfultimate */
.bkaltcha-wrapper[data-bkaltcha-context="cms_contactform"] {
    margin: 16px 0 18px;
    justify-content: flex-start;
}

/* Contexto: formulario de contacto nativo de PrestaShop */
.bkaltcha-wrapper[data-bkaltcha-context="contact"] {
    margin: 16px 0 18px;
    justify-content: flex-start;
}

.ets-cfu-form .bkaltcha-wrapper[data-bkaltcha-context="cms_contactform"] {
    margin-top: 14px;
}

@media (max-width: 380px) {
    .bkaltcha-wrapper altcha-widget {
        width: 100%;
    }
}

/* Estado verificado: pequeña confirmación visual */
.bkaltcha-wrapper altcha-widget [data-state="verified"] .altcha-label {
    color: #5cb85c;
    font-weight: 600;
}
