/* Mise à jour d'une fiche par la personne concernée (#268). Largeur contenue, aucun débordement à 320 px. */
.maj-lien { margin: 24px 0 0; padding: 0 16px; font-size: 14px; line-height: 20px; text-align: center; }
.maj-lien a { color: var(--c-text-2, #475569); text-decoration: underline; text-underline-offset: 3px; display: inline-block; padding: 12px 4px; }
.maj-lien a:hover, .maj-lien a:focus-visible { color: var(--c-action-hover, #0052A3); }
.maj-valide { margin: 24px auto 0; max-width: 960px; padding: 16px; border: 1px solid var(--c-border, #e2e8f0); border-radius: 12px; background: var(--c-surface, #fff); overflow-wrap: anywhere; }
.maj-valide__note { margin: 0 0 12px; font-size: 13px; line-height: 18px; color: var(--c-text-2, #475569); }
.maj-valide__photo { margin: 0 0 12px; }
.maj-valide__photo img { display: block; max-width: 100%; height: auto; max-height: 280px; border-radius: 8px; }
.maj-valide__liste { margin: 0; display: grid; gap: 12px; }
.maj-valide__liste dt { font-size: 13px; line-height: 18px; font-weight: 600; color: var(--c-text-2, #475569); }
.maj-valide__liste dd { margin: 2px 0 0; }
.maj-page { max-width: 760px; margin: 0 auto; padding-top: 24px; padding-bottom: 48px; overflow-wrap: anywhere; }
.maj-fiche-visee { margin: 0 0 16px; }
.maj-form { display: grid; gap: 24px; }
.maj-bloc { margin: 0; padding: 16px; min-width: 0; border: 1px solid var(--c-border, #e2e8f0); border-radius: 12px; display: grid; gap: 16px; }
.maj-bloc > legend { padding: 0 8px; }
.maj-champ { min-width: 0; }
.maj-champ .ui-input, .maj-champ textarea, .maj-champ input[type=file], .maj-captcha input[type=text] { width: 100%; max-width: 100%; box-sizing: border-box; min-height: 44px; }
.maj-champ textarea { min-height: 96px; }
.maj-case-ligne { display: flex; gap: 12px; align-items: flex-start; min-width: 0; }
.maj-case { flex: none; width: 24px; height: 24px; margin: 2px 0 0; }
.maj-case-label { font-size: 15px; line-height: 22px; }
.maj-err { margin: 4px 0 0; font-size: 14px; line-height: 20px; color: #991B1B; }
.maj-resume { padding: 16px; border: 2px solid #991B1B; border-radius: 12px; background: #fef2f2; color: #7f1d1d; }
.maj-resume p { margin: 0 0 8px; }
.maj-resume ul { margin: 0; padding-left: 20px; }
.maj-resume a { color: #7f1d1d; text-decoration: underline; }
.maj-rgpd { padding: 12px 16px; border-radius: 8px; background: var(--c-bg-2, #E9EDF1); font-size: 14px; line-height: 20px; }
.maj-rgpd h3 { margin: 0 0 8px; font-size: 15px; }
.maj-rgpd p { margin: 0 0 8px; }
.maj-captcha { min-width: 0; }
.maj-captcha img { max-width: 100%; height: auto; }
.maj-envoi { width: 100%; max-width: 100%; white-space: normal; height: auto; min-height: 48px; }
@media (min-width: 640px) { .maj-envoi { width: auto; } .maj-bloc { padding: 24px; } }
.maj-merci { padding: 24px; }
@media print { .maj-lien { display: none; } }
