/**
 * Habillage du widget captcha.
 *
 * CSS simple, autonome : le plugin ne dépend d'aucune chaîne de build ni
 * d'aucun token du thème. Le thème Spirica n'expose pas de custom properties
 * globales : toutes les valeurs ont donc un repli neutre.
 *
 * Pour adapter le widget à la charte, surcharger les variables
 * `--spirica-altcha-*` (sur `:root` ou sur `.spirica-altcha`) depuis la
 * feuille de style du thème — rien à modifier ici.
 *
 * Le widget est un web component à shadow DOM : on ne le style pas de
 * l'extérieur, on pilote les custom properties qu'il expose (--altcha-*).
 */

.spirica-altcha {
    /* Points de réglage exposés au thème (valeurs de repli neutres) */
    --spirica-altcha-base: #ffffff;
    --spirica-altcha-content: #1a1a1a;
    --spirica-altcha-primary: #1f4e79;
    --spirica-altcha-primary-content: #ffffff;
    --spirica-altcha-neutral: #f2f2f2;
    --spirica-altcha-border: #4a4a4a;
    --spirica-altcha-focus: #1f4e79;
    --spirica-altcha-error: #b3261e;
    --spirica-altcha-radius: 4px;
    --spirica-altcha-gap: 1rem;
    --spirica-altcha-font-size: 0.9375rem;

    margin-block: var(--spirica-altcha-gap);

    /* Palette du widget */
    --altcha-color-base: var(--spirica-altcha-base);
    --altcha-color-base-content: var(--spirica-altcha-content);
    --altcha-color-primary: var(--spirica-altcha-primary);
    --altcha-color-primary-content: var(--spirica-altcha-primary-content);
    --altcha-color-neutral: var(--spirica-altcha-neutral);
    --altcha-color-neutral-content: var(--spirica-altcha-content);
    --altcha-color-success: var(--spirica-altcha-primary);
    --altcha-color-error: var(--spirica-altcha-error);

    /* Formes */
    --altcha-border-radius: var(--spirica-altcha-radius);
    --altcha-border-color: var(--spirica-altcha-border);
    --altcha-border-width: 1px;
    --altcha-checkbox-border-radius: var(--spirica-altcha-radius);
    --altcha-checkbox-border-color: var(--spirica-altcha-border);

    /* Focus clavier visible (RGAA) */
    --altcha-checkbox-outline: 2px solid var(--spirica-altcha-focus);
    --altcha-checkbox-outline-offset: 2px;

    --altcha-spinner-color: var(--spirica-altcha-primary);
    --altcha-padding: 0.5rem 0.75rem;
    --altcha-max-width: 230px;
    --altcha-shadow: none;
}

.spirica-altcha altcha-widget {
    display: block;
    font-family: inherit;
    font-size: var(--spirica-altcha-font-size);
}

/* Message affiché quand JavaScript est indisponible. */
.spirica-altcha-noscript {
    margin: 0;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--spirica-altcha-border);
    font-size: var(--spirica-altcha-font-size);
}

/**
 * Honeypot — masqué à l'écran sans utiliser `display: none`, que certains
 * bots détectent et contournent. Le conteneur porte aria-hidden="true" et
 * l'input tabindex="-1" : ni les lecteurs d'écran ni le parcours clavier
 * ne l'atteignent.
 */
.spirica-altcha-hp {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
