/* ==========================================================================
   Centre d'aide public (#394) et passage avant le formulaire de contact.
   Complète public_site.css (chargée par layouts/public) avec ses seuls
   ajouts : la recherche pleine largeur, les questions dépliables, l'avis.
   ========================================================================== */


.help-hero { padding-block: 40px 56px; }
.help-search { max-width: none; }
.help-search .btn { display: inline-flex; align-items: center; gap: 8px; }
.help-search__all { background: var(--ground); }
.help-search__all b { color: var(--brand-ink); }

/* La réponse se lit sur place : le texte de l'article garde son rythme */
.help-faq .faq__a > :first-child { margin-top: 0; }
.help-faq .faq__a table { font-size: var(--t-sm); }

.help-cats .tile { height: 100%; }

.help-vote { margin-block: 48px 72px; padding: 22px 24px; border: 1px solid var(--rule); border-radius: var(--r-lg); display: grid; gap: 14px; }
.help-vote__thanks { display: none; }
.help-vote__thanks:target { display: block; color: var(--ok); outline: none; }

/* Le formulaire de contact */
.contact-form { display: grid; gap: 20px; max-width: 720px; }
.contact-form .row-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 640px) { .contact-form .row-2 { grid-template-columns: 1fr; } }
.contact-form .field--error .input, .contact-form .field--error .textarea, .contact-form .field--error .select { border-color: var(--danger); }
.contact-zone__chosen { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 10px 14px; border: 1px solid var(--rule-strong); border-radius: var(--r); background: var(--ground); }
.contact-zone__chosen[hidden] { display: none; }
