/* « Ma fiche d'ambassadeur » (ma-fiche-ambassadeur.php) : formulaire en quatre parties, sur la base de carte.css. */
.af-page { max-width: 860px; }
.af-intro { margin: 4px 0; color: #475569; line-height: 1.55; }
.af-bandeau { margin: 18px 0 0; padding: 12px 16px; border-radius: 10px; line-height: 1.5; font-size: .95em; }
.af-bandeau-ok { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }
.af-bandeau-info { background: #f0f9ff; border: 1px solid #bae6fd; color: #075985; }
.af-bandeau-erreur { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; font-weight: 600; }

.af-form .cf-carte-bloc h2 { color: #1e293b; }
.af-champ { display: flex; flex-direction: column; gap: 5px; margin: 0 0 16px; min-width: 0; border: 0; padding: 0; }
.af-champ label, .af-champ legend, .af-libelle { font-size: .92em; font-weight: 600; color: #334155; padding: 0; }
.af-champ legend { margin-bottom: 6px; }
.af-champ input[type="text"], .af-champ input[type="email"], .af-champ input[type="tel"], .af-champ input[type="date"],
.af-champ textarea, .af-autre {
    width: 100%; box-sizing: border-box; padding: 9px 11px; border: 1px solid #cbd5e1; border-radius: 8px;
    font: inherit; font-size: .95em; color: #1e293b; background: #fff; }
.af-champ textarea { resize: vertical; line-height: 1.45; }
.af-champ input:focus, .af-champ textarea:focus, .af-autre:focus { outline: 2px solid #4fa066; outline-offset: 0; border-color: #4fa066; }
.af-champ input[readonly], .af-champ input:disabled { background: #f1f5f9; color: #64748b; }
.af-champ-erreur input, .af-champ-erreur textarea { border-color: #dc2626; }
.af-requis { color: #dc2626; }
.af-aide { display: block; font-size: .82em; color: #64748b; line-height: 1.45; }
.af-erreur { margin: 2px 0 0; font-size: .85em; color: #b91c1c; font-weight: 600; }
.af-court { max-width: 180px; }
.af-moyen { max-width: 320px; }
.af-ligne { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.af-ligne-cp { grid-template-columns: 180px 1fr; }
.af-ligne .af-court { max-width: none; }
.af-valeur { margin: 0; padding: 9px 11px; background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 8px;
    font-size: .95em; color: #1e293b; font-weight: 600; }
.af-valeur-vide { color: #64748b; font-weight: 400; font-style: italic; }
.af-associations { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.af-associations li { padding: 9px 11px; background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 8px; }
.af-associations a { color: #1a7f43; font-weight: 600; }
.af-associations small { color: #64748b; margin-left: 6px; }
.af-fonction { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 999px; background: #ecfdf3;
    color: #166534; font-size: .8em; font-weight: 600; }
.af-champ select { width: 100%; box-sizing: border-box; padding: 9px 11px; border: 1px solid #cbd5e1; border-radius: 8px;
    font: inherit; font-size: .95em; color: #1e293b; background: #fff; }
.af-surtitre { margin: 0 0 2px; font-size: .85em; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: #4fa066; }
.af-associations .af-modifier { float: right; font-size: .85em; font-weight: 600; }
.af-texte-fort { font-weight: 600; color: #334155; margin: 6px 0 12px; line-height: 1.5; }

.af-radios { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.af-radios-colonne { flex-direction: column; gap: 8px; }
.af-radio { display: inline-flex; align-items: center; gap: 6px; font-weight: 400 !important; cursor: pointer; }
.af-radio input { margin: 0; }
.af-autre { max-width: 320px; margin-left: 22px; }

.af-encart { margin-top: 6px; padding: 14px 16px; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px; }
.af-encart h3 { margin: 0 0 6px; font-size: 1em; color: #166534; }
.af-encart p { margin: 6px 0 0; line-height: 1.5; color: #334155; font-size: .92em; }
.af-encart a { color: #166534; font-weight: 600; }

.af-portrait { display: flex; gap: 16px; align-items: flex-start; }
.af-portrait img, .af-portrait-vide { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.af-portrait-vide { font-size: 1.6em; }
.af-actions-photo { margin: 10px 0 0; }
.af-photo-message { margin: 6px 0 0; font-size: .85em; min-height: 1em; }
.af-photo-message.af-ok { color: #166534; }
.af-photo-message.af-ko { color: #b91c1c; font-weight: 600; }
.af-conditions-texte { margin: 0; padding: 10px 12px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px;
    font-size: .9em; line-height: 1.5; color: #475569; }
.af-conditions .cg-case { margin: 8px 0 0; }

/* Logo de l'association (modifier.php, #42273) : jamais recadré, sur fond blanc comme sur les pages qui l'affichent. */
.af-logo { display: flex; gap: 18px; align-items: flex-start; }
.af-logo-cadre { width: 140px; height: 140px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; overflow: hidden; }
.af-logo-cadre img { max-width: 124px; max-height: 124px; object-fit: contain; }
.af-logo-cadre img.af-logo-herite { opacity: .55; }
.af-logo-vide { font-size: 2.4em; font-weight: 700; color: #94a3b8; }
.af-logo-texte { min-width: 0; }
.af-logo-actions { margin: 10px 0 0; }
#afLogoMessage { margin: 6px 0 0; min-height: 1em; }

/* Ateliers de l'association (modifier.php, #42246) : un cadre par ligne du sous-formulaire. */
.af-atelier { margin: 0 0 16px; padding: 12px 14px 4px; border: 1px solid #e2e8f0; border-radius: 10px; background: #f8fafc; }
.af-atelier legend { padding: 0 6px; font-weight: 700; color: #1e293b; font-size: .95em; }
.af-atelier .cg-case { margin: 0 0 10px; }

.af-pied { margin: 20px 0 8px; }
.af-pied .cg-actions { margin-top: 8px; }

/* Fiche d'ambassadeur dans Mon compte > Informations (mon-compte/associations/infos-ambassadeur.php, #42246) : cette page
   ne charge pas carte.css, les quelques classes communes sont reprises ici, limitées au bloc. */
.compte-fiche-amb { margin-top: 6px; }
.compte-fiche-amb .af-bandeau { margin: 0 0 14px; }
.compte-fiche-amb .af-bloc { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid #e2e8f0; }
.compte-fiche-amb .af-bloc h3 { margin: 0 0 12px; font-size: 1em; color: #1e293b; }
.compte-fiche-amb .cg-case { display: flex; align-items: flex-start; gap: 8px; font-size: .88em; margin: 14px 0; cursor: pointer; }
.compte-fiche-amb .cg-case input { margin-top: 3px; flex-shrink: 0; }
.compte-fiche-amb .af-btn-sec { background: #fff; color: #334155; border: 1px solid #cbd5e1; margin-left: 6px; }
.compte-fiche-amb .af-btn-sec:hover { background: #f1f5f9; }
.compte-fiche-amb .af-portrait-vide { display: flex; align-items: center; justify-content: center; background: #e8f5ec; color: #1a7f43; font-weight: 700; }

@media (max-width: 600px) {
    .af-ligne, .af-ligne-cp { grid-template-columns: 1fr; }
    .af-portrait { flex-direction: column; }
    .af-logo { flex-direction: column; }
    .af-moyen, .af-autre { max-width: none; }
    .af-autre { margin-left: 0; }
}
