/* style.clean.index.css — auto-built for homepage from audits (KEEP + safelist) */
html, html * { padding:0; box-sizing:border-box; }
:root { --dark-blue:#0070BD; --light-blue:#29A7D9; --white:#F2F2F2; --black:#0D0D0D; --mid-grey:#585858; }
body { margin:0 auto; font-size:1rem; font-family:"Brandon Grotesque", Arial, Helvetica, sans-serif; color:rgba(13,13,13,.8); max-width:1200px; }
img { max-width:100%; height:auto; }
a:link, a:visited { color:#551b8c; text-decoration:underline; }
a:hover { color:#0d6efd; }
#mainHeader { text-align:center; padding:0 20px; }
#mainHeader h1 { font-size:30px; color:black; }
#mainHeader p { font-size:.8em; color:darkblue; margin:1px auto; padding:.4em 1em; border-radius:20px; }
.flex-col-texte-recherche { display:flex; flex-flow:row nowrap; justify-content:center; align-items:center; }
.grid-container-barre-laterale { display:grid; grid-template-columns:1fr; }
.toc .liste-importante { display:flex; flex-direction:column; justify-content:center; align-items:center; padding-top: 50px }
details  ol{margin-left: 75px;list-style-type: none;}
details  ol li {padding : 10px;line-height: 1.4em}
.liste-importante ol { list-style-type:none; margin-left:75px; }
.liste-importante ol li { padding:10px; line-height:1.4em; }
.sustainable { margin:10px 20px; display:flex; flex-direction:column; justify-content:flex-start; align-items:center; }
.sustainable h2 { font-size:2em; color:var(--dark-blue); }
.sustainable p { color:grey; font-size:17px; }
.sustainable li a{text-decoration:none; line-height: 25px; font-size:20px;}
.sustainable li {list-style-type: none}
.sustainable-auteur { margin:0 20px; display:flex; flex-direction:column; justify-content:center; align-items:center; }
.alert-1 { background-color:#fff; color:#483D8B; font-size:17px; padding:5px 10px; text-align:center; border:1px solid #00f; border-radius:24px; margin:10px 10px; }
.consultations-sup-768 { display:flex; justify-content:center; background-color:#fff; }
.accreditation { padding:10px 20px; border:medium double #3F5C6E; margin:20px; }
.footer-bottom { display:flex; flex-flow:row wrap; align-items:center; justify-content:space-around; gap:20px; }
.text-align { text-align:center; }
.overlay { text-align:center; }
#scroll_to_top { position:fixed; bottom:10px; right:20px; }
.none-si-inf-768{ display:none; }
.none-si-sup-768{ display:block; }
@media screen and (min-width:768px){
  .none-si-inf-768{ display:block; }
  .none-si-sup-768{ display:none; }
  .grid-container-barre-laterale{ grid-template-columns:300px 1fr; }
	  .toc {
    position: sticky;
    top:72px;                    /* 1rem ajustez si vous avez un header fixe */
    max-height: calc(100dvh - 2rem);
    overflow: auto;               /* scroll interne si sommaire long */

  }
  /* Sur desktop, on affiche le sommaire ouvert par défaut */
  .toc-panel[hidden] { display: grid; grid-template-rows: 1fr; opacity: 1; }
}


/* --- Navigation (kept from navbar-index-09-07-23.css) --- */

/*Navigation de base page index */
#navWrapper { background-color:#3F5C6E; padding:0px; border-bottom:1px solid var(--white); box-shadow:0px 1px 5px var(--black); max-width:1200px; margin:0 auto; }
#nav { width:100%; }
#nav #logo{ max-width:20px; }
#nav #navToggle { display:none; }
#nav #navToggle ~ label { color:var(--white); font-size:35px; }
#nav #mainNav { background-color:#3F5C6E; }
#nav #mainNav ul{ list-style:none; padding:0; margin:0; }
#nav #mainNav ul li a{ text-decoration:none; font-size:1.3em; color:var(--white); border-bottom:1px solid var(--dark-blue); transition:background-color .5s; }
#nav #mainNav ul li a:hover{ background-color:#fff; color:#3F5C6E; }
.rdv{ width:320px; background-color:var(--light-blue); margin:0 auto; }
#navWrapper{ position:sticky; top:0; }
#nav{ display:flex; align-items:center; justify-content:space-between; }
#nav p{ color:white; padding-left:10px; float:left; font-size:13px }
#mainNav{ position:absolute; width:100%; height:60vh; top:80px; left:-110%; }
#mainNav a{ display:inline-block; padding:.75em 1em; width:100%; }
#navToggle:checked~#mainNav{ left:0; transition:left .25s; }
#nav #mainNav ul li{ position:relative; }
.subMenu{ display:flex; flex-flow:column nowrap; background-color:#3F5C6E; position:absolute; top:50px; left:150px; z-index:90; transform:scale(0); transform-origin:top center; transition:all 500ms ease-in-out; }
.subMenu li{ font-size:13px; background-color:#3F5C6E; padding:0px 5px; margin:0px 0px; transform:scale(0); transform-origin:top center; transition:all .5s ease-in-out; border-bottom:1px solid white; }
.subMenu li a{ color:white; }
.mainNavUl > li:hover .subMenu li{ transform:scale(1); }
.mainNavUl > li:hover .subMenu{ transform:scale(1); }
@media screen and (min-width: 768px){
  #nav #navToggle ~ label { display:none; }
  #nav #mainNav{ background-color:transparent; }
  #nav #mainNav ul li a{ font-size:1em; border-bottom:none; }
  #mainNav{ position:static; height:auto; }
  #mainNav ul{ display:flex; justify-content:flex-end; align-items:center; }
  #nav #mainNav ul li:nth-child(6){ display:none; }
  .subMenu{ top:50px; left:50px; z-index:90; transform:scale(0); transform-origin:top center; transition:all 500ms ease-in-out; }
  .subMenu li{ font-size:16px; background-color:#3F5C6E; padding:0px 5px; margin:0px 0px; transform:scale(0); transform-origin:top center; transition:all .5s ease-in-out; border-bottom:1px solid white; }
  .subMenu li a{ color:white; }
  .mainNavUl > li:hover .subMenu li{ transform:scale(1); }
  .mainNavUl > li:hover .subMenu{ transform:scale(1); }
}
@media screen and (min-width: 1200px){
  #nav #mainNav ul li a { font-size:1.3em; }
}