/* asso-identite1 (Bertrand 30/10/2026 10:18 et 10:19) - identité de l'association : en-tête du tableau de bord (nom + logo,
   « Géré par »), réglages « Identité de l'association », bloc de l'inscription (variante A).
   Logo : jamais dans un carré blanc (pas de fond, pas de cadre, pas d'ombre) ; image entière (contain), coins non arrondis. */
.fh-ai-brand { display: flex; align-items: center; gap: 12px; margin: 0; min-width: 0; }
.fh-ai-brand__name { min-width: 0; overflow-wrap: anywhere; }
.fh-ai-logo { display: block; flex: 0 0 auto; width: 56px; height: 56px; object-fit: contain; background: transparent; border: 0; box-shadow: none; border-radius: 0; }
.fh-ai-logo--big { width: 120px; height: 120px; }
.fh-ai-managed { margin: .15rem 0 .35rem; font-weight: 600; color: #4A5A3A; }
.fh-cpd-head h1.fh-ai-brand { font-size: 1.9rem; line-height: 1.15; }
.fh-ai-addlink { margin: .1rem 0 .4rem; font-size: .92rem; }
.fh-ai-addlink a { font-weight: 600; }
.fh-ai-addlink a::before { content: "+ "; }
/* asso-logo1 (Bertrand 30/10/2026 17:01) : logo à côté de « Bienvenue » sur le tableau de bord. La boîte épouse l'image
   (largeur et hauteur auto, bornées), donc les coins arrondis touchent le logo lui-même ; jamais de carré blanc : pas de fond,
   pas de cadre, pas d'ombre. Sans logo : lien discret « + Ajouter le logo » (titulaire seulement). */
.fh-ai-welcome { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; min-width: 0; }
.fh-ai-logo.fh-ai-logo--head { width: auto; height: auto; max-width: 112px; max-height: 56px; border-radius: 10px; background: transparent; border: 0; box-shadow: none; }
.fh-ai-logo-add { font-size: .88rem; font-weight: 600; white-space: nowrap; opacity: .85; }
.fh-ai-logo-add:hover, .fh-ai-logo-add:focus-visible { opacity: 1; }
.fh-ai-logo-add::before { content: "+ "; }
.fh-ai-incomplete { border-left: 3px solid #C9A227; }
/* Familles d'accueil (30/10 10:48) : petit logo de l'asso devant son nom, sans carré blanc */
.fh-ai-fa { display: inline-flex; align-items: center; gap: 6px; vertical-align: middle; max-width: 100%; }
.fh-ai-fa__logo { width: 20px; height: 20px; object-fit: contain; border-radius: 4px; flex: none; background: transparent; }
/* Pastille de l'asso dans l'en-tête des vues Association (registre, familles) */
.fh-ai-kicker { display: inline-flex; align-items: center; gap: 8px; }
.fh-ai-kicker .fh-ai-logo { width: 28px; height: 28px; }

/* Réglages */
.fh-ai-small-title { font-size: .95rem; margin: 0 0 8px; color: #5B6650; font-weight: 600; }
.fh-ai-preview .fh-ai-brand { font-family: Palatino, "Palatino Linotype", "Iowan Old Style", "Book Antiqua", Georgia, serif; font-size: 1.5rem; font-weight: 600; }
.fh-ai-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 12px 0; }
.fh-ai-dl > div { min-width: 0; }
.fh-ai-dl dt { font-size: .85rem; color: #5B6650; margin: 0 0 2px; }
.fh-ai-dl dd { margin: 0; }
.fh-ai-val { font-variant-numeric: tabular-nums; }
.fh-ai-opt { font-size: .8rem; }
.fh-ai-hint { margin: 4px 0 0; font-size: .8rem; color: #6B7360; }
.fh-ai-err { margin: 4px 0 0; font-size: .88rem; color: var(--cp-warn, #9A3412); font-weight: 600; }
.fh-ai-err[hidden] { display: none; }
input[aria-invalid="true"] { border-color: var(--cp-warn, #9A3412) !important; box-shadow: 0 0 0 2px rgba(154, 52, 18, .15); }
.fh-ai-private { margin: 8px 0 2px; font-size: .88rem; }
.fh-ai-source { margin: 2px 0 0; font-size: .8rem; }
.fh-ie-on .fh-ai-host--open[data-ie-host] { display: block; } /* erreur renvoyée par le serveur : formulaire ouvert avec la saisie */
.fh-ai-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; align-items: end; }
.fh-ai-form button { justify-self: start; }
.fh-ai-logo-row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px 24px; }
.fh-ai-logo-forms { display: flex; flex-direction: column; gap: 10px; min-width: 0; flex: 1 1 260px; }
.fh-ai-logo-form label { display: flex; flex-direction: column; gap: 4px; font-size: .92rem; }
.fh-ai-logo-form input[type=file] { font: inherit; max-width: 100%; }
.fh-ai-logo-form .fh-cp-btn { margin-top: 8px; }

/* Inscription (variante A) */
.fh-ai-signup { margin: 12px 0 0; padding: 12px 14px; border: 1px solid #D8D2BF; border-radius: 10px; }
.fh-ai-signup[hidden] { display: none; }
.fh-ai-signup legend { font-weight: 700; padding: 0 4px; }
.fh-ai-signup .fh-ai-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px 16px; }
.fh-ai-signup label { display: flex; flex-direction: column; gap: 4px; }
.fh-ai-signup input:not([type=file]) { width: 100%; box-sizing: border-box; }

@media (max-width: 640px) {
  .fh-ai-dl, .fh-ai-form, .fh-ai-signup .fh-ai-grid { grid-template-columns: minmax(0, 1fr); }
  .fh-cpd-head h1.fh-ai-brand { font-size: 1.5rem; }
  .fh-ai-logo { width: 44px; height: 44px; }
  .fh-ai-logo--big { width: 96px; height: 96px; }
  .fh-ai-logo.fh-ai-logo--head { max-width: 88px; max-height: 44px; border-radius: 8px; }
}
