.fb-contact-form { width: 100%; max-width: 820px; margin: 0 auto; }
.fb-contact-form .fb-consent,
.fb-contact-form .fb-submit,
.fb-contact-form .fb-contact-message { width: 100%; }

/* Titre orange centré (« France Boissons répond à vos questions ») */
.fb-contact-title {
    text-align: center;
    color: var(--orange-primary, #f39423);
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 0 32px;
    letter-spacing: .5px;
}

/* Grille 2 colonnes (responsive) : chaque .fb-field occupe une colonne ;
   .fb-field--full s'étend sur toute la largeur. */
.fb-contact-form .fb-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 40px;
}
.fb-contact-form .fb-field {
    margin: 0;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.fb-contact-form .fb-field--full,
.fb-contact-form .fb-bu-info {
    grid-column: 1 / -1;
}

.fb-contact-form label {
    font-size: 15px;
    margin-bottom: 4px;
    color: var(--text-color, #333);
}
.fb-req { color: #d8000c; }

/* Champs « underline » : pas de boîte, un simple trait sous le champ */
.fb-contact-form input,
.fb-contact-form select,
.fb-contact-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 2px;
    border: 0;
    border-bottom: 1px solid #b9bcc0;
    border-radius: 0;
    background: transparent;
    font: inherit;
    color: var(--text-color, #333);
    transition: border-color .15s ease;
}
.fb-contact-form textarea {
    border: 1px solid #b9bcc0;
    border-radius: 4px;
    padding: 12px 14px;
    resize: vertical;
}
.fb-contact-form input::placeholder,
.fb-contact-form textarea::placeholder { color: #9aa0a6; }

.fb-contact-form input:focus,
.fb-contact-form select:focus,
.fb-contact-form textarea:focus {
    outline: 2px solid var(--orange-primary, #f39423);
    outline-offset: 2px;
    border-color: var(--orange-primary, #f39423);
    border-bottom-width: 2px;
}

/* Encart de rattachement BU (résultat de la détection par code postal) */
.fb-bu-info { margin: 0; }
.fb-bu-info:not(:empty) {
    padding: 12px 16px;
    background: #edeeef;
    border-left: 4px solid var(--orange-primary, #f39423);
    border-radius: 4px;
    font-weight: 600;
}

/* Consentement RGPD : case à gauche, texte à droite */
.fb-consent { font-size: 14px; line-height: 1.5; margin: 28px 0 24px; width: 100%; }
.fb-consent label { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; }
.fb-consent input[type="checkbox"] { margin-top: 3px; flex: 0 0 auto; width: auto; }
.fb-consent > label > span { flex: 1 1 auto; min-width: 0; }
.fb-consent a { color: var(--orange-primary, #f39423); }

/* Bouton « Envoyer » orange, aligné à gauche */
.fb-submit { margin: 0; }
.fb-contact-form button {
    background: var(--orange-primary, #f39423);
    color: #fff;
    border: 0;
    border-radius: 4px;
    padding: 13px 38px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: filter .15s ease;
}
.fb-contact-form button:hover { filter: brightness(0.93); }
.fb-contact-form button:disabled { opacity: .6; cursor: default; }

/* Bloc message principal : focus RGAA (role="alert" + tabindex="-1") */
.fb-contact-message:focus { outline: none; }
.fb-contact-message:not(:empty) {
    margin-bottom: 20px;
}

.fb-contact-ok {
    color: #1a5c26;
    background: #d4edda;
    border-left: 4px solid #1a7f37;
    border-radius: 4px;
    padding: 12px 16px;
    font-weight: 600;
    margin: 0;
}
.fb-contact-err {
    color: #7a1e1e;
    background: #fde8e8;
    border-left: 4px solid #b32d2e;
    border-radius: 4px;
    padding: 12px 16px;
    font-weight: 600;
    margin: 0;
}

/* Une seule colonne sous 600px */
@media (max-width: 600px) {
    .fb-contact-form .fb-grid { grid-template-columns: 1fr; gap: 22px; }
}

/* Honeypot : retiré du flux et de l'accessibilité, sans display:none (certains bots l'ignorent) */
.fb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
