/**
 * HalteAuxBots — styles front-end minimaux.
 * Le honeypot est sorti du flux et masqué aux humains et aux lecteurs d'écran.
 */

.halteauxbots-hp-wrap {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* Conteneur de statut du proof-of-work : discret et non bloquant. */
.halteauxbots-widget {
    margin: 8px 0;
    min-height: 1em;
}

.halteauxbots-status {
    display: inline-block;
    font-size: 0.85em;
    color: #646970;
    line-height: 1.4;
}

.halteauxbots-widget[data-state="idle"] .halteauxbots-status {
    visibility: hidden;
}

.halteauxbots-widget[data-state="verifying"] .halteauxbots-status::before {
    content: "";
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    margin-right: 0.4em;
    vertical-align: -0.1em;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: halteauxbots-spin 0.7s linear infinite;
}

.halteauxbots-widget[data-state="verified"] .halteauxbots-status {
    color: #008a20;
}

.halteauxbots-widget[data-state="verified"] .halteauxbots-status::before {
    content: "\2713\00a0"; /* ✓ */
}

.halteauxbots-widget[data-state="error"] .halteauxbots-status {
    color: #d63638;
}

@keyframes halteauxbots-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .halteauxbots-widget[data-state="verifying"] .halteauxbots-status::before {
        animation: none;
    }
}

/* Défi visible (case à confirmer), affiché uniquement aux requêtes suspectes. */
.halteauxbots-confirm {
    margin: 10px 0;
    padding: 10px 12px;
    border: 1px solid #d6d6d8;
    border-radius: 6px;
    background: #fafafa;
}

.halteauxbots-confirm label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.95em;
}

/* Message affiché aux visiteurs sans JavaScript. */
.halteauxbots-noscript {
    margin: 8px 0;
    padding: 8px 12px;
    border-left: 3px solid #d63638;
    background: #fcf0f1;
    color: #50575e;
    font-size: 0.9em;
}
