/* Navigation commune. Couleurs héritées du thème saisonnier. Bootstrap 5.3. */
.cv-site-disposition { display:grid; grid-template-columns:280px minmax(0,1fr); gap:.75rem; width:100%; padding:.75rem; box-sizing:border-box; align-items:start; }
.cv-site-colonne,.cv-site-contenu { min-width:0; }
.cv-site-colonne { position:sticky; top:100px; }
.cv-navigation-panneau { --bs-offcanvas-width:310px; color:var(--theme-texte,#24352b); }
.cv-navigation-panneau .offcanvas-body { display:block; padding:0; }
.cv-navigation { padding:.85rem; border:1px solid var(--theme-bordure,#dce5df); border-radius:16px; background:var(--theme-surface,#fff); color:var(--theme-texte,#24352b); font-size:var(--theme-texte-base,1rem); line-height:1.4; }
.cv-navigation__titre { margin:0 0 .65rem; padding:.25rem .65rem .7rem; border-bottom:1px solid var(--theme-bordure,#dce5df); font-weight:700; color:var(--theme-principale,#355c50); }
.cv-navigation .cv-navigation__lien,.cv-navigation summary { display:flex; align-items:center; gap:.6rem; min-height:44px; padding:.6rem; border-radius:9px; color:var(--theme-texte,#24352b); font:inherit; text-decoration:none; cursor:pointer; }
.cv-navigation i { flex:0 0 22px; text-align:center; color:var(--theme-principale,#355c50); }
.cv-navigation span { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cv-navigation summary { list-style:none; font-weight:600; }
.cv-navigation summary::-webkit-details-marker { display:none; }
.cv-navigation__fleche { margin-left:auto; font-size:.75rem; transition:transform .18s ease; }
.cv-navigation details[open]>summary .cv-navigation__fleche { transform:rotate(180deg); }
.cv-navigation__groupe { margin-top:.25rem; }
.cv-navigation ul { list-style:none; margin:.25rem 0 .5rem .7rem; padding:0 0 0 .35rem; border-left:2px solid var(--theme-bordure,#dce5df); }
.cv-navigation li { margin:0; padding:0; }
.cv-navigation .cv-navigation__lien:hover,.cv-navigation summary:hover { color:var(--theme-principale-survol,#234638); background:var(--theme-fond-clair,#f5f8f6); }
.cv-navigation .cv-navigation__lien[aria-current="page"],.cv-navigation summary.cv-navigation__groupe-actif { color:var(--theme-principale,#355c50); background:var(--theme-bandeau-debut,#edf6ef); }
.cv-navigation .cv-navigation__lien[aria-current="page"] { box-shadow:inset 3px 0 var(--theme-principale,#355c50); font-weight:700; }
.cv-navigation a:focus-visible,.cv-navigation summary:focus-visible,.cv-navigation-bouton:focus-visible { outline:3px solid var(--theme-accent,#68ad87); outline-offset:2px; }
.cv-navigation-bouton { display:inline-flex; align-items:center; gap:.6rem; border:1px solid var(--theme-bordure,#dce5df); background:var(--theme-surface,#fff); color:var(--theme-principale,#355c50); font-size:1rem; }
.cv-navigation-ephemeride.accueil-page { padding:0; margin:1rem 0 0; }
.cv-site-contenu>.accueil-page { padding:0; }
.cv-site-contenu .espace-layout--navigation-commune { grid-template-columns:minmax(0,1fr); }
@media(min-width:992px) {
 .cv-navigation-panneau { max-height:calc(100dvh - 115px); overflow-y:auto; scrollbar-width:thin; }
 .cv-navigation-panneau .offcanvas-body { overflow:visible; }
}
@media(max-width:991.98px) {
 .cv-site-disposition { grid-template-columns:minmax(0,1fr); gap:.75rem; }
 .cv-site-colonne { position:static; }
 .cv-navigation-panneau { background:var(--theme-surface,#fff); }
 .cv-navigation-panneau .offcanvas-body { padding:1rem; overflow-y:auto; }
 .cv-navigation-panneau .offcanvas-header { border-bottom:1px solid var(--theme-bordure,#dce5df); }
}
@media(prefers-reduced-motion:reduce) { .cv-navigation__fleche { transition:none; } }

/* Le conteneur commun porte les marges : pas de deuxième marge de page. */
.cv-site-contenu > .standard-conteneur,
.cv-site-contenu > .container,
.cv-site-contenu > .container-fluid,
.cv-site-contenu > .accueil-page {
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    min-width:0;
    box-sizing:border-box;
}
