/* Polices hébergées localement (ABeeZee, PT Sans - licence SIL OFL) */
@font-face{font-family:'ABeeZee';font-style:normal;font-weight:400;font-display:swap;src:url('/media/foad-fonts/ABeeZee-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'ABeeZee';font-style:normal;font-weight:400;font-display:swap;src:url('/media/foad-fonts/ABeeZee-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/media/foad-fonts/PTSans-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/media/foad-fonts/PTSans-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/media/foad-fonts/PTSans-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/media/foad-fonts/PTSans-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* Charte FOAD UADB - 03/11/2026 - voir design/GUIDE_STYLE.md */
:root{--foad-uadb:#4D7DB7;--foad-action:#3E65A0;--foad-dark:#2B4E84;--foad-bronze:#77472A;--foad-text:#303030;--foad-soft:#F3F6FA;}
html{font-size:16px}
body{font-family:'PT Sans',Arial,Helvetica,sans-serif;font-size:1rem;font-style:normal;line-height:1.5;color:var(--foad-text)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:'ABeeZee','PT Sans',Arial,sans-serif;font-weight:400;color:var(--foad-dark);line-height:1.25}
h1,.h1{font-size:2.25rem}h2,.h2{font-size:1.75rem}h3,.h3{font-size:1.375rem}h4,.h4{font-size:1.125rem}
a{color:var(--foad-action)}a:hover,a:focus{color:var(--foad-dark)}
.btn{border-radius:4px}
.btn-primary,.sppb-btn-primary,.sppb-btn-default{background-color:var(--foad-action);border-color:var(--foad-action);color:#fff}
.btn-primary:hover,.btn-primary:focus,.sppb-btn-primary:hover,.sppb-btn-default:hover{background-color:var(--foad-dark);border-color:var(--foad-dark);color:#fff}
.card,.sppb-addon-content .card{border-radius:8px}
:focus-visible{outline:3px solid var(--foad-bronze);outline-offset:2px}
#sp-footer,#sp-footer1,#sp-footer2,footer{font-size:.9375rem}
#sp-footer{border-top:4px solid var(--foad-uadb)}
.foad-footer-logo{max-width:260px;height:auto;margin-bottom:.75rem}
.foad-footer-links{list-style:none;padding:0;margin:0}
.foad-footer-links li{margin:.25rem 0}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Composants du portail (pages P0) */
.foad-section{margin-bottom:2.5rem}
.foad-hero{background:var(--foad-soft);border-left:6px solid var(--foad-uadb);border-radius:8px;padding:2rem;margin-bottom:2.5rem}
.foad-hero .lead{max-width:48rem}
.foad-cards .card{height:100%;border:1px solid #d9e2ee;border-radius:8px}
.foad-cards .card-title{font-family:'ABeeZee','PT Sans',Arial,sans-serif;color:var(--foad-dark)}
.foad-stat{margin:0;font-size:1rem}
.foad-stat strong{display:block;font-family:'ABeeZee','PT Sans',Arial,sans-serif;font-size:2.25rem;font-weight:400;color:var(--foad-action)}
.foad-steps{counter-reset:etape;list-style:none;padding:0}
.foad-steps li{counter-increment:etape;position:relative;padding-left:3rem;margin-bottom:1rem}
.foad-steps li::before{content:counter(etape);position:absolute;left:0;top:0;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--foad-action);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.btn-outline-primary{color:var(--foad-action);border-color:var(--foad-action)}
.btn-outline-primary:hover,.btn-outline-primary:focus{background:var(--foad-action);border-color:var(--foad-action);color:#fff}

/* Barre supérieure : accès rapides */
#sp-top-bar,#sp-top-bar a{color:#fff}
#sp-top-bar a{text-decoration:underline;text-underline-offset:2px}
#sp-top-bar a:hover,#sp-top-bar a:focus{color:#E8D8C8}
.foad-quicklinks ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;font-size:.875rem}
.foad-quicklinks a{display:inline-block;padding:.25rem 0}

/* Cartes de cours (guide de style v3, § 8). Image de remplacement en CSS pur. */
.foad-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}
.foad-course-card{background:#fff;border:1px solid #E2E8F0;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;height:100%;transition:box-shadow .15s ease}
.foad-course-card:hover,.foad-course-card:focus-within{box-shadow:0 4px 14px rgba(43,78,132,.14)}
.foad-course-thumb{position:relative;height:140px;background:linear-gradient(135deg,var(--foad-dark,#2B4E84) 0%,var(--foad-action,#3E65A0) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-family:'ABeeZee',Arial,sans-serif;font-size:1.5rem;letter-spacing:.05em;text-transform:uppercase}
.foad-course-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.foad-badge-ufr,.foad-badge-guest{position:absolute;z-index:2;font-size:.75rem;font-weight:700;line-height:1.2;padding:4px 8px;border-radius:4px}
.foad-badge-ufr{top:10px;left:10px;background:#77472A;color:#fff}
.foad-badge-guest{bottom:10px;right:10px;background:#fff;color:#2B4E84}
.foad-course-body{padding:1rem;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:.75rem}
.foad-course-title{font-family:'ABeeZee',Arial,sans-serif;font-size:1.125rem;line-height:1.35;color:#2B4E84;margin:0}
.foad-course-meta{font-size:.875rem;color:#484848;margin:0}
.foad-btn-primary{display:inline-block;text-align:center;background:#3E65A0;color:#fff!important;border:0;border-radius:4px;padding:.5rem 1rem;font-weight:700;text-decoration:none}
.foad-btn-primary:hover,.foad-btn-primary:focus{background:#2B4E84;color:#fff!important}
@media (prefers-reduced-motion:reduce){.foad-course-card{transition:none}}


/* Accueil v3 — portail FOAD UADB. Tout est sous .foad-home pour ne pas toucher le reste du site.
   Aucune donnée chiffrée inventée, aucune image (dégradés et icônes SVG intégrées). */
.foad-home{--c-uadb:#4D7DB7;--c-action:#3E65A0;--c-dark:#2B4E84;--c-bronze:#77472A;--c-soft:#F3F6FA;--c-line:#E2E8F0;--c-text:#1E293B;--c-muted:#475569;color:var(--c-text);font-size:1rem;line-height:1.6}
.foad-home h1,.foad-home h2,.foad-home h3{font-family:'ABeeZee',Arial,sans-serif;font-weight:400;color:var(--c-dark);line-height:1.2}
.foad-home a{color:var(--c-action)}
.foad-home a:hover{color:var(--c-dark)}

/* Bandes pleine largeur */
.foad-band{padding:3.5rem 0;position:relative}
.foad-band--soft{background:var(--c-soft);box-shadow:0 0 0 100vmax var(--c-soft);clip-path:inset(0 -100vmax)}
.foad-band--dark{background:var(--c-dark);color:#fff;box-shadow:0 0 0 100vmax var(--c-dark);clip-path:inset(0 -100vmax)}
.foad-band--dark h2,.foad-band--dark h3{color:#fff}

/* Titres de section */
.foad-kicker{display:block;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-bronze);margin-bottom:.5rem}
.foad-band--dark .foad-kicker{color:#E8D2C2}
.foad-home h2.foad-h2{font-size:1.875rem;margin:0 0 .75rem}
.foad-home h2.foad-h2::after{content:"";display:block;width:56px;height:3px;background:var(--c-bronze);margin-top:.75rem;border-radius:2px}
.foad-band--dark h2.foad-h2::after{background:#E8D2C2}
.foad-intro{max-width:44rem;color:var(--c-muted);margin:0 0 2rem}
.foad-band--dark .foad-intro{color:#DCE6F3}

/* Hero */
.foad-hero2{color:#fff;padding:4rem 0 6rem;position:relative;isolation:isolate;clip-path:inset(0 -100vmax)}
.foad-hero2::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.10) 0,rgba(255,255,255,0) 40%),linear-gradient(135deg,#243F6B 0%,#2B4E84 45%,#3E65A0 100%)}
.foad-hero2-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:3rem;align-items:center}
.foad-eyebrow{display:inline-block;font-size:.8125rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border:1px solid rgba(255,255,255,.65);border-radius:4px;padding:.3rem .7rem;margin-bottom:1.25rem}
.foad-hero2 h1{color:#fff;font-size:2.75rem;margin:0 0 1rem}
.foad-hero2 .foad-lead{font-size:1.1875rem;color:#E8EEF6;max-width:36rem;margin:0 0 1.75rem}
.foad-btns{display:flex;flex-wrap:wrap;gap:.75rem}
.foad-btn{display:inline-block;font-weight:700;text-decoration:none;border-radius:4px;padding:.75rem 1.5rem;border:2px solid transparent;line-height:1.2}
.foad-home a.foad-btn--light{background:#fff;color:var(--c-dark)}
.foad-home a.foad-btn--light:hover{background:#E8EEF6;color:var(--c-dark)}
.foad-home a.foad-btn--ghost{border-color:#fff;color:#fff}
.foad-home a.foad-btn--ghost:hover{background:#fff;color:var(--c-dark)}
.foad-home a.foad-btn--primary{background:var(--c-action);color:#fff}
.foad-home a.foad-btn--primary:hover{background:var(--c-dark);color:#fff}
.foad-home a.foad-btn--outline{border-color:var(--c-action);color:var(--c-action)}
.foad-home a.foad-btn--outline:hover{background:var(--c-action);color:#fff}

/* Panneau d'accès rapide du hero */
.foad-quick{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:1.5rem}
.foad-quick h2{font-family:'PT Sans',Arial,sans-serif;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#E8D2C2;margin:0 0 .75rem}
.foad-quick ul{list-style:none;margin:0;padding:0}
.foad-quick li+li{border-top:1px solid rgba(255,255,255,.18)}
.foad-home .foad-quick a{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#fff;text-decoration:none;padding:.75rem .25rem;font-weight:700}
.foad-home .foad-quick a span{font-weight:400;color:#DCE6F3;font-size:.9375rem}
.foad-home .foad-quick a:hover{background:rgba(255,255,255,.08)}
.foad-quick a::after{content:"→";flex:none}

/* Bandeau de repères */
.foad-strip{position:relative;z-index:3;margin:-3rem 0 0;background:#fff;border:1px solid var(--c-line);border-top:4px solid var(--c-bronze);border-radius:8px;box-shadow:0 12px 32px rgba(15,23,42,.10);display:grid;grid-template-columns:repeat(4,1fr)}
.foad-strip-item{display:flex;gap:.875rem;align-items:flex-start;padding:1.25rem 1.5rem;border-right:1px solid var(--c-line)}
.foad-strip-item:last-child{border-right:0}
.foad-ico{flex:none;width:44px;height:44px;border-radius:8px;background:var(--c-soft);color:var(--c-action);display:flex;align-items:center;justify-content:center}
.foad-ico svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.foad-strip-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--c-muted);margin:0}
.foad-strip-value{font-family:'ABeeZee',Arial,sans-serif;font-size:1rem;line-height:1.35;color:var(--c-dark);margin:.125rem 0 0}

/* Cartes de profil */
.foad-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.foad-profile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-line);border-radius:8px;padding:1.75rem;transition:box-shadow .15s ease,border-color .15s ease}
.foad-profile:hover{box-shadow:0 10px 24px rgba(15,23,42,.08);border-color:#C5D3E6}
.foad-profile .foad-ico{margin-bottom:1rem;background:var(--c-dark);color:#fff}
.foad-profile h3{font-size:1.25rem;margin:0 0 .5rem}
.foad-profile p{color:var(--c-muted);margin:0 0 1.25rem}
.foad-profile-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center}

/* Recherche */
.foad-search{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:end;max-width:46rem}
.foad-search label{display:block;font-weight:700;margin-bottom:.375rem;color:var(--c-dark)}
.foad-search input{width:100%;border:1px solid #94A3B8;border-radius:4px;padding:.75rem 1rem;font-size:1rem;background:#fff}
.foad-search input:focus{outline:3px solid var(--c-bronze);outline-offset:1px}
.foad-search button{border:0;cursor:pointer;background:var(--c-action);color:#fff;font-weight:700;border-radius:4px;padding:.8125rem 1.75rem;font-size:1rem}
.foad-search button:hover,.foad-search button:focus-visible{background:var(--c-dark)}

/* Composantes */
.foad-ufr{display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-line);border-top:4px solid var(--c-action);border-radius:8px;padding:1.5rem}
.foad-ufr-head{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}
.foad-mono{flex:none;min-width:56px;height:56px;border-radius:8px;background:var(--c-dark);color:#fff;font-family:'ABeeZee',Arial,sans-serif;font-size:.875rem;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;padding:0 .5rem}
.foad-ufr h3{font-size:1.25rem;margin:0}
.foad-ufr p{color:var(--c-muted);margin:0 0 1rem;font-size:.9375rem}
.foad-ufr .foad-more{margin-top:auto;font-weight:700}
.foad-ufr--ext{border-top-color:var(--c-bronze)}
.foad-ufr--ext .foad-mono{background:var(--c-bronze)}
.foad-pill-group{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none}
.foad-pill{display:inline-block;font-size:.875rem;font-weight:700;padding:.25rem .75rem;border-radius:4px;background:var(--c-soft);color:var(--c-dark);border:1px solid #CBD5E1;text-decoration:none}
.foad-home a.foad-pill:hover,.foad-home a.foad-pill:focus-visible{background:var(--c-action);border-color:var(--c-action);color:#fff}

/* Cours à la une */
.foad-courses{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1.5rem}
.foad-courses li{background:#fff;border:1px solid var(--c-line);border-left:4px solid var(--c-action);border-radius:4px}
.foad-courses a{display:block;padding:.875rem 1rem;text-decoration:none;font-weight:700}
.foad-courses a:hover{background:var(--c-soft)}

/* Étapes */
.foad-steps2{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;counter-reset:s}
.foad-steps2 li{counter-increment:s;position:relative;padding:1.5rem 1.5rem 1.5rem 4.25rem;background:#fff;border:1px solid var(--c-line);border-radius:8px}
.foad-steps2 li::before{content:counter(s);position:absolute;left:1.25rem;top:1.25rem;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--c-dark);color:#fff;font-family:'ABeeZee',Arial,sans-serif;display:flex;align-items:center;justify-content:center}

/* Chiffres UADB (sourcés) */
.foad-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:center;margin:0 0 1rem}
.foad-stat-n{display:block;font-family:'ABeeZee',Arial,sans-serif;font-size:2.75rem;line-height:1.1;color:#fff}
.foad-stat-l{display:block;color:#DCE6F3}
.foad-source{font-size:.875rem;color:#DCE6F3;text-align:center;margin:0}
.foad-home .foad-band--dark a{color:#fff}

/* Aide */
.foad-help{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;background:var(--c-soft);border:1px solid var(--c-line);border-left:4px solid var(--c-bronze);border-radius:8px;padding:1.75rem 2rem}
.foad-help h2{font-size:1.5rem;margin:0 0 .375rem}
.foad-help p{margin:0;color:var(--c-muted)}

/* Focus clavier */
.foad-home a:focus-visible,.foad-home button:focus-visible{outline:3px solid var(--c-bronze);outline-offset:2px}
.foad-hero2 a:focus-visible,.foad-band--dark a:focus-visible{outline-color:#fff}

@media (prefers-reduced-motion:reduce){.foad-profile{transition:none}}
@media (max-width:991px){
  .foad-hero2-grid{grid-template-columns:1fr;gap:2rem}
  .foad-hero2 h1{font-size:2.25rem}
  .foad-strip{grid-template-columns:repeat(2,1fr)}
  .foad-strip-item:nth-child(2){border-right:0}
  .foad-strip-item:nth-child(-n+2){border-bottom:1px solid var(--c-line)}
  .foad-grid3,.foad-steps2{grid-template-columns:1fr}
  .foad-courses{grid-template-columns:1fr}
  .foad-help{grid-template-columns:1fr}
}
@media (max-width:575px){
  .foad-band{padding:2.5rem 0}
  .foad-hero2{padding:2.5rem 0 5rem}
  .foad-hero2 h1{font-size:1.875rem}
  .foad-strip{grid-template-columns:1fr;margin-top:-2.5rem}
  .foad-strip-item{border-right:0;border-bottom:1px solid var(--c-line)}
  .foad-strip-item:last-child{border-bottom:0}
  .foad-stats{grid-template-columns:1fr}
  .foad-search{grid-template-columns:1fr}
  .foad-btn{width:100%;text-align:center}
}

/* Page Formations — complète composants_accueil.css (mêmes variables --c-*, même préfixe foad-). */
.foad-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.foad-pagehead{padding:0 0 1rem}
.foad-pagehead h1{font-size:2.5rem;margin:0 0 .75rem}
.foad-pagehead .foad-intro{margin-bottom:0}

.foad-subnav{position:sticky;top:64px;z-index:20;background:rgba(255,255,255,.97);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);margin:0 0 .5rem;box-shadow:0 0 0 100vmax rgba(255,255,255,.97);clip-path:inset(0 -100vmax)}
.foad-subnav ul{display:flex;gap:.5rem;list-style:none;margin:0;padding:.625rem 0;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.foad-home .foad-subnav a{display:inline-block;padding:.375rem .875rem;border:1px solid var(--c-line);border-radius:4px;background:#F8FAFC;color:var(--c-dark);font-weight:700;text-decoration:none}
.foad-home .foad-subnav a:hover,.foad-home .foad-subnav a:focus-visible{background:var(--c-action);border-color:var(--c-action);color:#fff}
.foad-formations section[id]{scroll-margin-top:7.5rem}

/* Cartes de cours en accès libre (image de remplacement en CSS pur) */
.foad-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.foad-ccard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-line);border-radius:8px;overflow:hidden;transition:box-shadow .15s ease}
.foad-ccard:hover,.foad-ccard:focus-within{box-shadow:0 10px 24px rgba(15,23,42,.10)}
.foad-cthumb{position:relative;height:120px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.12) 0,rgba(255,255,255,0) 50%),linear-gradient(135deg,#2B4E84 0%,#3E65A0 100%);border-bottom:3px solid var(--c-bronze)}
.foad-cmono{font-family:'ABeeZee',Arial,sans-serif;font-size:1.75rem;letter-spacing:.06em;color:#fff}
.foad-cbadge{position:absolute;font-size:.75rem;font-weight:700;line-height:1.2;padding:.25rem .5rem;border-radius:4px}
.foad-cbadge--guest{right:.75rem;bottom:.75rem;background:#fff;color:#166534}
.foad-cbody{display:flex;flex-direction:column;gap:.5rem;padding:1.125rem 1.25rem 1.25rem;flex:1}
.foad-clabel{font-size:.8125rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--c-bronze);margin:0}
.foad-ctitle{font-size:1.0625rem;line-height:1.35;margin:0 0 .5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.foad-ccard .foad-btn{margin-top:auto;align-self:flex-start;padding:.5rem 1rem}

/* Accordéons par niveau (sans JavaScript) */
.foad-acc{background:#fff;border:1px solid var(--c-line);border-radius:8px;margin:0 0 .75rem}
.foad-acc summary{cursor:pointer;list-style:none;padding:1rem 1.25rem;font-family:'ABeeZee',Arial,sans-serif;font-size:1.125rem;color:var(--c-dark);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.foad-acc summary::-webkit-details-marker{display:none}
.foad-acc summary::after{content:"+";flex:none;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--c-soft);color:var(--c-action);font-weight:700;display:flex;align-items:center;justify-content:center}
.foad-acc[open] summary::after{content:"−"}
.foad-acc[open] summary{border-bottom:1px solid var(--c-line)}
.foad-acc summary:focus-visible{outline:3px solid var(--c-bronze);outline-offset:2px;border-radius:8px}
.foad-acc-body{padding:1rem 1.25rem 1.25rem}
.foad-subh{font-family:'PT Sans',Arial,sans-serif;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);margin:1.25rem 0 .5rem}
.foad-subh:first-child{margin-top:0}
.foad-clist{list-style:none;margin:0;padding:0}
.foad-clist--cols{columns:2;column-gap:2rem}
.foad-clist li{break-inside:avoid;padding:.375rem 0;border-bottom:1px solid #EEF2F7}
.foad-tag{display:inline-block;margin-left:.5rem;font-size:.75rem;font-weight:700;color:#166534;border:1px solid #166534;border-radius:4px;padding:0 .375rem;white-space:nowrap}

@media (prefers-reduced-motion:reduce){.foad-ccard{transition:none}}
@media (max-width:991px){.foad-cards3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.foad-cards3{grid-template-columns:1fr}.foad-clist--cols{columns:1}.foad-pagehead h1{font-size:2rem}.foad-subnav{top:56px}}

/* En-tete du portail (04/11/2026, maquette Claude) : A barre superieure sur une ligne, B en-tete sur une ligne + bouton Connexion, C panneau Acces rapide.
   A et B seulement au-dessus de 1200 px ; en dessous, comportement d'origine de Helix. */
@media (min-width:1200px){
#sp-top-bar .row{flex-wrap:nowrap;align-items:center}
#sp-top-bar #sp-top1,#sp-top-bar #sp-top2{width:auto;max-width:none}
#sp-top-bar #sp-top1{flex:1 1 auto;min-width:0}
#sp-top-bar #sp-top2{flex:0 0 auto}
#sp-top-bar #sp-top1 .sp-column{display:flex;flex-wrap:nowrap;align-items:center;gap:20px}
#sp-top-bar #sp-top1 .sp-module,#sp-top-bar #sp-top1 .sp-module-content{margin:0}
#sp-top-bar .social-icons{margin:0;padding:0;display:flex;gap:12px;flex:none}
#sp-top-bar nav ul{display:flex;flex-wrap:nowrap;gap:0 20px;margin:0;padding:0;list-style:none;font-size:14px;white-space:nowrap}
#sp-top-bar .sp-contact-info{display:flex;flex-wrap:nowrap;gap:0 20px;margin:0;padding:0;list-style:none;font-size:14px;white-space:nowrap}
#sp-top-bar .sp-contact-info li{margin:0}
#sp-header .row{flex-wrap:nowrap}
#sp-header #sp-logo{flex:none}
#sp-header #sp-menu{flex:1 1 auto;min-width:0}
#offcanvas-toggler{display:none !important}
#sp-header .sp-megamenu-parent>li>a,#sp-header .sp-megamenu-parent>li>span{padding:0 11px;white-space:nowrap}
#sp-header .sp-megamenu-parent{white-space:nowrap}
#sp-header .header-modules{gap:12px;flex:none}
#sp-header .header-modules input[type=search],#sp-header .header-modules input[type=text]{max-width:130px}
#sp-header .header-modules .sp-sign-in{background:#3E65A0;color:#fff !important;border-radius:4px;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
#sp-header .header-modules .sp-sign-in:hover,#sp-header .header-modules .sp-sign-in:focus{background:#2B4E84}
}
#sp-main-body{padding-top:48px}
#sp-main-body:has(.foad-home){padding-top:0}
.foad-hero2 a:has(>span){display:grid !important;grid-template-columns:130px 1fr auto;align-items:center;column-gap:12px;text-align:left}
.foad-hero2 a:has(>span)>span{text-align:left}

/* Mobile du portail (04/11/2026) : bouton Connexion a cote du hamburger (la recherche reste reservee aux grands ecrans), barre superieure compacte. */
@media (max-width:991.98px){
#sp-header .header-modules{display:flex !important;gap:0;margin:0 12px 0 0;flex:none}
#sp-header .header-modules>*:not(:has(.sp-sign-in)){display:none !important}
#sp-header .header-modules .sp-sign-in{background:#3E65A0;color:#fff !important;border-radius:4px;padding:11px 14px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:15px}
#sp-header .header-modules .sp-sign-in .signin-text{display:inline-block !important}
#sp-header .header-modules .sp-sign-in:hover,#sp-header .header-modules .sp-sign-in:focus{background:#2B4E84}
#sp-top-bar #sp-top2,#sp-top-bar .social-icons{display:none !important}
#sp-top-bar #sp-top1 .sp-column{justify-content:center}
#sp-top-bar nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 16px;margin:0;padding:6px 0;list-style:none;font-size:13px}
#sp-top-bar .sp-module,#sp-top-bar .sp-module-content{margin:0}
}

/* ===== Page de connexion (com_users, vue login) ===== */
body.com-users.view-login #sp-main-body{background:linear-gradient(160deg,#EAF0F8 0%,#F7F4EF 100%);padding:48px 0 72px}
body.com-users.view-login .com-users-login .col-lg-4{max-width:460px;flex:0 0 100%;width:100%}
body.com-users.view-login .com-users-login__form{background:#fff;border:0;border-top:5px solid #77472A;border-radius:12px;box-shadow:0 10px 35px rgba(43,78,132,.15);padding:34px 34px 14px;margin:0;display:flex;flex-direction:column}
body.com-users.view-login .com-users-login__form::before{content:"Connexion à votre espace FOAD";display:block;order:-2;font-family:"ABeeZee",sans-serif;font-size:1.65rem;line-height:1.25;color:#2B4E84;margin-bottom:6px}
body.com-users.view-login .com-users-login__form::after{content:"Un seul compte pour le portail et la plateforme de cours Moodle.";display:block;order:-1;font-size:.95rem;color:#555;margin:0 0 22px}
body.com-users.view-login .com-users-login__form fieldset{border:0;padding:0;margin:0}
body.com-users.view-login .com-users-login__form label{font-weight:600;color:#2B2B2B;margin-bottom:6px}
body.com-users.view-login .com-users-login__form .star{color:#B3261E}
body.com-users.view-login .com-users-login__form .form-control{min-height:48px;border:1.5px solid #B8C4D6;border-radius:8px;font-size:1rem;padding:10px 14px;box-shadow:none}
body.com-users.view-login .com-users-login__form .form-control:focus{border-color:#3E65A0;box-shadow:0 0 0 3px rgba(62,101,160,.25)}
body.com-users.view-login .com-users-login__form .input-group .form-control{border-radius:8px 0 0 8px}
body.com-users.view-login .com-users-login__form .input-password-toggle{background:#EAF0F8;border:1.5px solid #B8C4D6;border-left:0;border-radius:0 8px 8px 0;color:#2B4E84;min-width:48px}
body.com-users.view-login .com-users-login__form .input-password-toggle:hover{background:#DCE6F3}
body.com-users.view-login .com-users-login__form .form-check-input:checked{background-color:#3E65A0;border-color:#3E65A0}
body.com-users.view-login .com-users-login__form .btn-primary{background:#3E65A0;border-color:#3E65A0;border-radius:8px;min-height:50px;font-size:1.05rem;font-weight:600;color:#fff}
body.com-users.view-login .com-users-login__form .btn-primary:hover,body.com-users.view-login .com-users-login__form .btn-primary:focus{background:#2B4E84;border-color:#2B4E84}
body.com-users.view-login .com-users-login__form .btn-secondary{background:#fff;border:1.5px solid #3E65A0;color:#3E65A0;border-radius:8px;min-height:46px;font-weight:600}
body.com-users.view-login .com-users-login__form .btn-secondary:hover{background:#EAF0F8}
body.com-users.view-login .plg_system_webauthn_login_button svg{width:20px;height:20px;fill:currentColor;margin-right:6px;vertical-align:-4px}
body.com-users.view-login .com-users-login__options{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin-top:18px;border:0}
body.com-users.view-login .com-users-login__options .list-group-item{background:transparent;border:0;padding:4px 0;color:#3E65A0;text-decoration:underline;text-underline-offset:3px}
body.com-users.view-login .com-users-login__options .list-group-item:hover{color:#2B4E84}
@media (max-width:575px){body.com-users.view-login #sp-main-body{padding:24px 0 40px}body.com-users.view-login .com-users-login__form{padding:24px 18px 8px}body.com-users.view-login .com-users-login__form::before{font-size:1.4rem}}
body.com-users.view-login .com-users-login__options{flex-direction:row!important;align-items:center;width:100%}
body.com-users.view-login .com-users-login__options .list-group-item{width:auto;flex:0 0 auto}
