/* Habillage limité aux deux pages personnelles ; aucun effet sur le catalogue. */
html.espace-personnel { background: var(--fond) !important; }
body.espace-personnel { background: var(--fond) !important; min-height:100vh; }
body.espace-personnel::before,body.espace-personnel::after { content:none !important; display:none !important; animation:none !important; }
.espace-personnel main { max-width:1080px; padding:0 24px 64px; margin:auto; }
.espace-personnel .entete { background:var(--carte); border-bottom:1px solid var(--trait); }
.espace-personnel .bandeau { max-width:1200px; gap:16px; flex-wrap:wrap; }
.espace-personnel .intro-personnelle { padding:42px 0 26px; }
.espace-personnel .intro-personnelle h1 { margin:10px 0; font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.2; letter-spacing:-.04em; }
.espace-personnel .intro-personnelle p { margin:0; max-width:660px; color:var(--encre-2); }
.espace-personnel .repere { color:var(--encre-2); font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
.espace-personnel .bloc-personnel,.espace-personnel .carte {
 background:var(--carte) !important; border:1px solid var(--trait); border-radius:18px;
 padding:26px; margin:0 0 20px; box-shadow:0 4px 18px rgb(0 0 0 / .025);
}
.espace-personnel h2 { font-size:1.18rem; letter-spacing:-.02em; margin:0 0 8px; }
.espace-personnel h3 { font-size:1.03rem; margin:0 0 10px; }
.espace-personnel .bloc-personnel > p { color:var(--encre-2); margin:0 0 20px; font-size:.94rem; }
.espace-personnel .pilotage article { background:var(--fond); padding:20px; margin:0; border-radius:12px; }
.espace-personnel .pilotage .grille { margin-top:20px; }
.espace-personnel #projets { display:grid; gap:14px; margin-top:18px; }
.espace-personnel #message:empty,.espace-personnel #msg:empty,.espace-personnel #msg .msg:empty { display:none; }
.espace-personnel #message:not(:empty) { padding:16px 20px; border:1px solid var(--trait); background:var(--carte); border-radius:12px; }
.espace-personnel .consentement { display:flex; align-items:flex-start; gap:12px; font-size:.85rem; color:var(--encre-2); padding:18px; border:1px solid var(--trait); border-radius:12px; background:var(--carte); margin:0 0 24px; }
.espace-personnel .consentement input[type=checkbox] { width:20px; height:20px; flex:none; margin:3px 0 0; accent-color:var(--c1); }
.espace-personnel .carte .champ { max-width:620px; margin-top:16px; }
.espace-personnel .carte input { min-height:46px; background:var(--fond); }
.espace-personnel #identite { display:grid; grid-template-columns:160px minmax(0,1fr); gap:12px 24px; margin:20px 0 0; font-size:.94rem; }
.espace-personnel #identite dt { color:var(--encre-2); }
.espace-personnel #identite dd { margin:0; overflow-wrap:anywhere; }
.espace-personnel .bloc-danger { border-color:var(--alerte-trait); border-left:4px solid var(--alerte); }
.espace-personnel #acces { overflow-x:auto; }
.espace-personnel .bouton { min-height:44px; }
.espace-personnel .aide { line-height:1.65; }
.espace-personnel a:focus-visible,.espace-personnel button:focus-visible,.espace-personnel input:focus-visible,.espace-personnel select:focus-visible { outline:3px solid var(--c1); outline-offset:3px; }
@media(max-width:600px) {
 .espace-personnel main { padding:0 16px 40px; }
 .espace-personnel .bloc-personnel,.espace-personnel .carte { padding:20px 16px; border-radius:14px; }
 .espace-personnel .intro-personnelle { padding:28px 0 22px; }
 .espace-personnel #identite { grid-template-columns:1fr; gap:4px; }
 .espace-personnel #identite dd { margin-bottom:12px; }
 .espace-personnel #session { width:100%; overflow-wrap:anywhere; }
 .espace-personnel .bandeau { gap:8px; }
 .espace-personnel .marque { width:100%; }
}
