/* ============================================================
   PAGE CONTACT — formulaire + flash + honeypot + reCAPTCHA notice
   ────────────────────────────────────────────────────────────
   Refonte 2026-05 : harmonise avec tokens AperoRoom (rose +
   bordeaux), supprime les references bleues residuelles.
   ============================================================ */

.jb-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}
@media (max-width: 640px) {
    .jb-contact-grid { grid-template-columns: 1fr; }
}

.jb-contact-field {
    margin-bottom: 16px;
}

.jb-contact-field .jb-label {
    display: block;
    font-family: var(--font-body, 'Inter', sans-serif);
    font-size: 13px;
    font-weight: 600;
    color: var(--pt-text-muted, rgba(255, 214, 220, 0.65));
    margin-bottom: 6px;
    letter-spacing: 0.02em;
}

.jb-contact-field textarea.jb-input,
.jb-contact-field input.jb-input,
.jb-contact-field select.jb-input {
    width: 100%;
    font-family: inherit;
}

/* === Honeypot : invisible pour les humains, visible pour les bots === */
.jb-honeypot {
    position: absolute;
    left: -9999px;
    top: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

/* === reCAPTCHA mentions Google === */
.jb-recaptcha-notice {
    margin-top: 14px;
    font-size: 11px;
    color: var(--pt-text-muted, rgba(255, 214, 220, 0.55));
    text-align: center;
    line-height: 1.5;
    font-family: var(--font-body, 'Inter', sans-serif);
}
.jb-recaptcha-notice a {
    color: var(--pt-text-muted, rgba(255, 214, 220, 0.65));
    text-decoration: underline;
    text-decoration-color: rgba(232, 62, 107, 0.40);
    text-underline-offset: 2px;
}
.jb-recaptcha-notice a:hover {
    color: var(--pt-primary-soft, #ff5a83);
    text-decoration-color: var(--pt-primary-soft, #ff5a83);
}

/* === Flash messages succes/erreur — palette AperoRoom === */
.jb-contact-flash {
    padding: 16px 22px;
    border-radius: var(--r-md, 14px);
    font-size: 14px;
    font-family: var(--font-body, 'Inter', sans-serif);
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    animation: jbFlashIn 0.4s ease-out;
}
@keyframes jbFlashIn {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}
.jb-contact-flash--success {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.16), rgba(34, 197, 94, 0.08));
    border: 1px solid rgba(34, 197, 94, 0.40);
    color: rgb(167, 243, 208);
}
.jb-contact-flash--error {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.16), rgba(239, 68, 68, 0.08));
    border: 1px solid rgba(239, 68, 68, 0.40);
    color: rgb(252, 165, 165);
}
/* "info" en palette rose AperoRoom (au lieu de bleu) */
.jb-contact-flash--info {
    background: linear-gradient(135deg, rgba(232, 62, 107, 0.14), rgba(232, 62, 107, 0.07));
    border: 1px solid rgba(232, 62, 107, 0.40);
    color: var(--pt-text, #FFD6DC);
}

/* === reCAPTCHA badge bottom-right ===
   On laisse le badge Google visible (information standard reCAPTCHA v3).
   La mention legale "Ce formulaire est protege par reCAPTCHA..." reste
   sous le bouton submit en complement (utile si un ad-blocker masque le
   badge cote user). */
