/* Socle d'accessibilité des pages publiques autonomes (connexion par profil,
   inscription, mot de passe, vérification de diplôme, portail citoyen, erreurs).
   Ces pages n'étendent pas base.html : elles reçoivent ici le même socle. */
.sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
:is(a,button,input,select,textarea,summary,[tabindex],[role=button],[role=tab]):focus-visible {
  outline:2px solid #14110A !important; outline-offset:0 !important; box-shadow:0 0 0 4px #F0C876 !important; }
small, sub, sup { font-size:max(12px, .85em); }
main.public-main { display:contents; }

:where(p, li, td, .hint, .foot, .footer, small, .note) a:not([class]) { text-decoration:underline; text-underline-offset:2px; }
input[type=checkbox], input[type=radio] { width:20px; height:20px; }
summary { min-height:28px; padding-block:4px; cursor:pointer; }

/* Champs date/heure : le focus passe sur les segments internes (jour, mois,
   année, calendrier) où :focus-visible ne s'applique pas toujours. */
input:is([type=date],[type=time],[type=datetime-local],[type=month],[type=week]):is(:focus, :focus-within) {
  outline:2px solid #14110A !important; outline-offset:0 !important; box-shadow:0 0 0 4px #F0C876 !important; }
