
    :root{
      --brique:#9a3a2c; --brique-fonce:#7b2d22; --encre:#2a2622; --texte:#4a443e;
      --creme:#f7f3ec; --creme-2:#efe8dc; --sauge:#5f6f52; --ligne:#ddd3c4; --blanc:#fff;
      --rayon:10px; --ombre:0 10px 30px rgba(42,38,34,.08);
      --serif:"Cormorant Garamond",Georgia,serif; --sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:72px}
    body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.65;color:var(--texte);background:var(--creme)}
    img{max-width:100%;display:block}
    a{color:var(--brique)}
    h1,h2,h3{font-family:var(--serif);color:var(--encre);font-weight:600;line-height:1.15;margin:0 0 .5em}
    h1{font-size:clamp(2.2rem,5vw,3.6rem)} h2{font-size:clamp(1.8rem,3.6vw,2.6rem)} h3{font-size:1.5rem}
    .conteneur{width:min(1140px,100% - 32px);margin-inline:auto}
    .surtitre{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brique);font-weight:600;margin:0 0 .6em}
    section{padding:clamp(56px,8vw,96px) 0}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.85em 1.5em;border-radius:999px;font:600 .95rem var(--sans);text-decoration:none;border:1.5px solid var(--brique);background:var(--brique);color:#fff;cursor:pointer;transition:background .2s,color .2s}
    .btn:hover{background:var(--brique-fonce);border-color:var(--brique-fonce)}
    .btn.secondaire{background:transparent;color:var(--brique)}
    .btn.secondaire:hover{background:var(--brique);color:#fff}
    .btn.clair{background:#fff;color:var(--encre);border-color:#fff}
    .btn.clair.secondaire{background:transparent;color:#fff}
    .btn:disabled{opacity:.55;cursor:wait}

    /* En-tête */
    .entete{position:sticky;top:0;z-index:50;background:rgba(247,243,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--ligne)}
    .entete .conteneur{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:16px}
    .marque{text-decoration:none;color:var(--encre);line-height:1.1}
    .marque strong{font-family:var(--serif);font-size:1.45rem;display:block}
    .marque span{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--texte)}
    .nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0}
    .nav a{text-decoration:none;color:var(--encre);font-size:.92rem;font-weight:500}
    .nav a:hover{color:var(--brique)}
    .nav .btn{color:#fff;padding:.6em 1.1em}
    .burger{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--encre)}
    @media (max-width:880px){
      .burger{display:block}
      .nav{position:absolute;inset:64px 0 auto 0;background:var(--creme);border-bottom:1px solid var(--ligne);display:none}
      .nav.ouvert{display:block}
      .nav ul{flex-direction:column;gap:0;padding:8px 16px 16px}
      .nav li a{display:block;padding:12px 0}
    }

    /* Hero */
    .hero{position:relative;min-height:min(86vh,760px);display:grid;align-items:end;color:#fff;padding:0;
      background:linear-gradient(180deg,rgba(20,16,12,.15) 0%,rgba(20,16,12,.65) 100%),url("/images/hero-centre.webp") center 35%/cover no-repeat,#4b5a42}
    .hero .conteneur{padding:clamp(48px,8vw,96px) 0}
    .hero h1{color:#fff;max-width:16ch}
    .hero p{max-width:58ch;font-size:1.08rem;color:rgba(255,255,255,.92)}
    .hero .surtitre{color:#f3d9c9}
    .hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
    .hero-preuves{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.92rem;color:rgba(255,255,255,.9)}
    .hero-preuves strong{color:#fff}
    .hero-preuves{align-items:center}
    .hero-preuves .badge-avis{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--encre);border-radius:999px;padding:6px 14px 6px 12px;font-size:.88rem;box-shadow:0 4px 14px rgba(0,0,0,.18)}
    .hero-preuves .badge-avis strong{color:var(--encre)}
    .hero-preuves .badge-avis img{height:20px;width:auto;display:block}
    .hero-preuves .badge-avis img[alt="Gens de Confiance"]{height:24px}
    .tarifs .barre{text-decoration:line-through;color:var(--texte);font-weight:400;margin-left:6px;font-size:.85em;opacity:.75}
    .domaine .tarifs .barre{color:#8a8178}
    .avantage-direct{background:#f2f5ee;border-left:3px solid var(--sauge);padding:10px 14px;border-radius:6px;font-size:.92rem;margin:14px 0}

    /* Maisons */
    .maison{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:1.05fr .95fr;align-items:start}
    .maison.inverse .maison-texte{order:2}
    @media (max-width:900px){.maison{grid-template-columns:1fr}.maison.inverse .maison-texte{order:0}}
    .maison+.maison{margin-top:clamp(64px,8vw,104px)}
    .caracs{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 24px;margin:24px 0;padding:0;list-style:none}
    @media (max-width:520px){.caracs{grid-template-columns:1fr}}
    .caracs dt{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sauge);font-weight:600}
    .caracs dd{margin:2px 0 0;color:var(--encre)}
    .tarifs{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:22px 24px;box-shadow:var(--ombre);margin-bottom:20px}
    .tarifs h3{font-size:1.3rem}
    .tarifs table{width:100%;border-collapse:collapse;font-size:.95rem}
    .tarifs td{padding:8px 0;border-bottom:1px solid var(--creme-2)}
    .tarifs tr:last-child td{border-bottom:0}
    .tarifs td:last-child{text-align:right;font-weight:600;color:var(--encre);white-space:nowrap;padding-left:12px}

    /* Galerie */
    .galerie{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:120px;gap:8px}
    .galerie button{all:unset;cursor:zoom-in;position:relative;overflow:hidden;border-radius:6px;background:var(--creme-2)}
    .galerie button:focus-visible{outline:3px solid var(--brique);outline-offset:2px}
    .galerie img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
    .galerie button:hover img{transform:scale(1.04)}
    .galerie button:first-child{grid-column:span 4;grid-row:span 3}
    .galerie .plus{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,16,12,.55);color:#fff;font-weight:600;font-size:.95rem}
    @media (max-width:520px){.galerie{grid-template-columns:repeat(3,1fr);grid-auto-rows:90px}.galerie button:first-child{grid-column:span 3;grid-row:span 2}.galerie button:nth-child(n+5){display:none}}
    .galerie-vide{aspect-ratio:4/3;border:1.5px dashed var(--ligne);border-radius:var(--rayon);display:grid;place-items:center;text-align:center;color:var(--texte);background:var(--creme-2);padding:24px;font-size:.92rem}

    /* Lightbox (élément natif <dialog>, sans dépendance) */
    .lightbox{border:0;padding:0;max-width:100vw;max-height:100vh;width:100vw;height:100vh;background:rgba(14,12,10,.96);color:#fff}
    .lightbox::backdrop{background:rgba(14,12,10,.96)}
    .lightbox figure{margin:0;height:100%;display:grid;grid-template-rows:1fr auto;place-items:center;padding:56px 64px 24px}
    .lightbox img{max-width:100%;max-height:calc(100vh - 130px);object-fit:contain;user-select:none}
    .lightbox figcaption{font-size:.9rem;opacity:.85;padding-top:12px;text-align:center}
    .lb-btn{position:absolute;background:rgba(255,255,255,.1);border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:grid;place-items:center}
    .lb-btn:hover{background:rgba(255,255,255,.22)}
    .lb-fermer{top:14px;right:14px}
    .lb-prec{left:14px;top:50%;transform:translateY(-50%)}
    .lb-suiv{right:14px;top:50%;transform:translateY(-50%)}
    .lb-compteur{position:absolute;top:24px;left:24px;font-size:.85rem;opacity:.8}
    @media (max-width:600px){.lightbox figure{padding:56px 8px 16px}.lb-prec,.lb-suiv{top:auto;bottom:14px;transform:none}}

    /* Domaine entier */
    .domaine{background:var(--encre);color:#e9e3d8}
    .domaine h2,.domaine h3{color:#fff}
    .domaine .surtitre{color:#e7b9a6}
    .domaine-grille{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
    @media (max-width:900px){.domaine-grille{grid-template-columns:1fr}}
    .domaine .tarifs{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
    .domaine .tarifs td{border-color:rgba(255,255,255,.12)}
    .domaine .tarifs td:last-child{color:#fff}
    .atouts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
    @media (max-width:700px){.atouts{grid-template-columns:1fr}}
    .atout{border-top:2px solid var(--brique);padding-top:16px}
    .atout h3{font-size:1.25rem;margin-bottom:.3em}

    /* Réservation */
    .resa-grille{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,56px);align-items:start}
    @media (max-width:960px){.resa-grille{grid-template-columns:1fr}}
    .carte-blanche{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:clamp(20px,3vw,32px);box-shadow:var(--ombre)}
    .estimation{position:sticky;top:88px}
    .estimation .montant{font-family:var(--serif);font-size:2.8rem;color:var(--brique);line-height:1;margin:.2em 0}
    .estimation .detail{font-size:.9rem;margin:0 0 16px}
    .estimation .detail table{width:100%;border-collapse:collapse}
    .estimation .detail td{padding:4px 0}
    .estimation .detail td:last-child{text-align:right}
    .conditions{font-size:.9rem;border-top:1px solid var(--ligne);padding-top:16px;margin-top:16px}
    .conditions ul{padding-left:1.1em;margin:.4em 0 0}

    /* Calendrier de disponibilités */
    .cal-entete{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
    .cal-entete button{background:none;border:1px solid var(--ligne);border-radius:50%;width:36px;height:36px;cursor:pointer;font-size:1.1rem;color:var(--encre)}
    .cal-entete button:disabled{opacity:.35;cursor:default}
    .cal-mois-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px}
    @media (max-width:640px){.cal-mois-wrap{grid-template-columns:1fr}.cal-mois-wrap .cal-mois:nth-child(2){display:none}}
    .cal-mois h4{font:600 .95rem var(--sans);text-align:center;margin:0 0 8px;color:var(--encre);text-transform:capitalize}
    .cal-jours{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:.85rem}
    .cal-jours .js{font-size:.7rem;text-transform:uppercase;color:var(--sauge);padding:4px 0;font-weight:600}
    .cal-jours button{all:unset;aspect-ratio:1;display:grid;place-items:center;border-radius:6px;cursor:pointer;color:var(--encre)}
    .cal-jours button:hover{background:var(--creme-2)}
    .cal-jours button:focus-visible{outline:2px solid var(--brique)}
    .cal-jours button.passe{color:#bdb4a8;cursor:default;background:none}
    .cal-jours button.occupe{color:#a99f93;text-decoration:line-through;background:repeating-linear-gradient(135deg,#f1ece4 0 4px,#e8e0d4 4px 8px);cursor:not-allowed}
    .cal-jours button.depart-possible{cursor:pointer}
    .cal-jours button.dans-sejour{background:#f3dcd5;border-radius:0}
    .cal-jours button.debut,.cal-jours button.fin{background:var(--brique);color:#fff;text-decoration:none}
    .cal-legende{display:flex;flex-wrap:wrap;gap:16px;font-size:.8rem;margin-top:12px}
    .cal-legende span::before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
    .lg-libre::before{border:1px solid var(--ligne)}
    .lg-occupe::before{background:repeating-linear-gradient(135deg,#f1ece4 0 3px,#d9cfc1 3px 6px)}
    .lg-sel::before{background:var(--brique)}
    .cal-statut{font-size:.82rem;color:var(--sauge);margin-top:8px;min-height:1.3em}

    /* Formulaire */
    form .ligne{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    @media (max-width:560px){form .ligne{grid-template-columns:1fr}}
    .champ{margin-bottom:16px}
    .champ label,.champ legend{display:block;font-size:.85rem;font-weight:600;color:var(--encre);margin-bottom:6px}
    .champ input,.champ select,.champ textarea{width:100%;font:inherit;padding:.7em .85em;border:1px solid var(--ligne);border-radius:8px;background:#fff;color:var(--encre)}
    .champ input:focus,.champ select:focus,.champ textarea:focus{outline:2px solid rgba(154,58,44,.35);border-color:var(--brique)}
    fieldset.champ{border:0;padding:0;margin:0 0 16px}
    .radio{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;margin-bottom:6px;font-weight:400}
    .radio input{width:auto;margin-top:.35em}
    form .linge-detail{display:none;margin-top:10px}
    form .linge-detail.visible{display:grid}
    .rgpd{display:flex;gap:10px;align-items:flex-start;font-size:.85rem}
    .champ.rgpd input{width:auto;flex:none;margin-top:.3em}
    .hp{position:absolute;left:-9999px}
    .req{color:#c0392b;margin-left:3px}
    .note-obligatoire{font-size:.8rem;margin:-4px 0 16px}
    .capacite-info{font-size:.85rem;color:var(--sauge);margin:30px 0 0;font-weight:500}
    .capacite-info.plein{color:var(--brique)}
    form.essaye input:invalid,form.essaye select:invalid{border-color:#c0392b;background:#fdf5f3}
    form.essaye .rgpd input:invalid+span{color:#c0392b}
    #f-envoyer:disabled{cursor:not-allowed}
    .alerte{border-radius:8px;padding:12px 14px;font-size:.92rem;margin:12px 0 0;display:none}
    .alerte.visible{display:block}
    .alerte.erreur{background:#fbeae6;color:#7b2d22}
    .alerte.succes{background:#e8efe3;color:#3e5232}

    /* Accès */
    .acces-grille{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}
    @media (max-width:900px){.acces-grille{grid-template-columns:1fr}}
    #carte{height:420px;border-radius:var(--rayon);border:1px solid var(--ligne);z-index:0}

    /* Pied de page */
    footer{background:var(--encre);color:#cfc6b8;padding:40px 0;font-size:.9rem}
    footer .conteneur{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
    footer a{color:#fff}
    footer strong{font-family:var(--serif);font-size:1.3rem;color:#fff}
  
    /* ===== Ajouts site multipage ===== */
    .nav a[aria-current="page"]{color:var(--brique)}
    .page-hero{position:relative;min-height:min(62vh,560px);display:grid;align-items:end;color:#fff;padding:0;
      background:linear-gradient(180deg,rgba(20,16,12,.1) 0%,rgba(20,16,12,.68) 100%),var(--fond) center/cover no-repeat,#4b5a42}
    .page-hero .conteneur{padding:clamp(40px,7vw,80px) 0}
    .page-hero h1{color:#fff;max-width:20ch}
    .page-hero p{max-width:60ch;color:rgba(255,255,255,.92);font-size:1.05rem}
    .page-hero .surtitre{color:#f3d9c9}
    .page-hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
    .page-hero .hero-preuves{margin-top:18px}
    .ariane{font-size:.8rem;margin:0 0 14px;color:rgba(255,255,255,.85)}
    .ariane a{color:#fff;text-decoration:none}
    .ariane a:hover{text-decoration:underline}
    .ariane.sombre,.ariane.sombre a{color:var(--texte)}
    .ariane-bande{background:var(--creme);border-bottom:1px solid var(--ligne)}
    .ariane-bande .ariane{margin:0;padding:12px 0}
    .ariane-bande+section{padding-top:clamp(36px,5vw,64px)}
    .domaine a{color:#e7b9a6}
    .intro{max-width:72ch;font-size:1.06rem}
    .section-creme{background:var(--creme-2)}
    .cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
    @media (max-width:900px){.cartes{grid-template-columns:1fr}}
    .cartes.deux{grid-template-columns:repeat(2,1fr)}
    @media (max-width:700px){.cartes.deux{grid-template-columns:1fr}}
    .carte{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s}
    .carte:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(42,38,34,.12)}
    .carte img{aspect-ratio:16/10;width:100%;object-fit:cover}
    .carte .corps{padding:20px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
    .carte h3{margin:0;font-size:1.55rem}
    .carte .meta{font-size:.85rem;color:var(--sauge);font-weight:500;margin:0}
    .carte p{margin:0}
    .carte .prix{margin-top:auto;padding-top:12px;font-weight:600;color:var(--encre)}
    .carte .lien{color:var(--brique);font-weight:600;font-size:.92rem}
    .atouts.quatre{grid-template-columns:repeat(4,1fr)}
    @media (max-width:900px){.atouts.quatre{grid-template-columns:1fr 1fr}}
    @media (max-width:560px){.atouts.quatre{grid-template-columns:1fr}}
    .bandeau-cta{background:var(--blanc);border:1px solid var(--ligne);border-left:4px solid var(--brique);border-radius:var(--rayon);padding:22px 24px;margin:32px 0;box-shadow:var(--ombre)}
    .bandeau-cta h3{margin:0 0 .3em;font-size:1.4rem}
    .bandeau-cta p{margin:0 0 14px}
    .bandeau-cta .actions{display:flex;flex-wrap:wrap;gap:10px}
    .liste-check{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}
    .liste-check li{padding-left:26px;position:relative}
    .liste-check li::before{content:"✓";position:absolute;left:0;color:var(--sauge);font-weight:700}
    .galeries-duo{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:32px}
    @media (max-width:900px){.galeries-duo{grid-template-columns:1fr}}
    .galeries-duo h3{font-size:1.3rem}
    /* Guide / articles */
    .article{max-width:760px;margin-inline:auto}
    .article .chapo{font-size:1.15rem;color:var(--encre)}
    .article h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-top:1.6em}
    .article h3{font-size:1.3rem;margin-top:1.3em}
    .article ul{padding-left:1.2em}
    .article li{margin-bottom:.35em}
    .article .maj{font-size:.85rem;color:var(--sauge)}
    .article .encadre{background:var(--creme-2);border-radius:var(--rayon);padding:16px 20px;font-size:.95rem}

    /* Mentions légales */
    .legal{max-width:820px;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(48px,8vw,96px)}
    .legal h1{font-size:clamp(2rem,4vw,2.8rem)}
    .legal h2{margin-top:2em;padding-top:.4em;border-top:1px solid var(--ligne);scroll-margin-top:84px}
    .legal h3{font-size:1.2rem;margin-top:1.4em}
    .legal .maj{font-size:.85rem;color:var(--sauge)}
    .legal .sommaire{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 8px;font-size:.92rem}

    /* Couchages */
    .couchages-bloc+.couchages-bloc{margin-top:40px}
    .couchages-bloc>h2{margin-bottom:.4em}
    .etages{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:20px}
    .etage{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:18px 20px;box-shadow:var(--ombre)}
    .etage h3{font-size:1.25rem;margin-bottom:.5em;color:var(--brique)}
    .etage ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
    .etage li{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--creme-2);font-size:.93rem}
    .etage li:last-child{border-bottom:0;padding-bottom:0}
    .etage li strong{color:var(--encre)}
    .etage li em{font-style:normal;color:var(--sauge)}
    .etage .piece-eau strong{font-weight:500;color:var(--texte)}
    /* Avis */
    .avis-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:24px}
    .avis{margin:0;background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:22px;box-shadow:var(--ombre);display:flex;flex-direction:column;gap:10px}
    .avis-etoiles{color:#c4952d;letter-spacing:2px}
    .avis blockquote{margin:0;color:var(--encre);font-size:.98rem;flex:1}
    .avis figcaption{font-size:.85rem;color:var(--sauge)}
    /* FAQ */
    .faq{max-width:820px}
    .faq-item{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);margin-top:10px}
    .faq-item summary{cursor:pointer;padding:16px 20px;font-weight:600;color:var(--encre);list-style:none;position:relative;padding-right:48px}
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--brique)}
    .faq-item[open] summary::after{content:"–"}
    .faq-item p{margin:0;padding:0 20px 18px}

    /* Sommaire de page (barre sous le bandeau ; colonne fixe à gauche sur grand écran) */
    .sommaire-lateral{background:var(--creme);border-bottom:1px solid var(--ligne);padding:10px 16px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
    .sommaire-lateral::-webkit-scrollbar{display:none}
    .sommaire-lateral .sommaire-titre{display:none}
    .sommaire-lateral ol{list-style:none;margin:0 auto;padding:0;display:flex;gap:8px;width:min(1140px,100%)}
    .sommaire-lateral a{display:inline-block;padding:6px 12px;border:1px solid var(--ligne);border-radius:999px;font-size:.82rem;text-decoration:none;color:var(--encre);background:#fff}
    .sommaire-lateral a:hover{border-color:var(--brique);color:var(--brique)}
    .sommaire-lateral a.actif{background:var(--brique);border-color:var(--brique);color:#fff}
    @media (min-width:1024px){
      body.avec-sommaire main .conteneur{width:min(1140px,100% - 192px);margin-left:max(168px,(100% - 1140px)/2);margin-right:auto}
      .sommaire-lateral{position:absolute;left:16px;top:var(--sommaire-top,120px);z-index:40;width:126px;white-space:normal;overflow:visible;background:rgba(247,243,236,.96);border:1px solid var(--ligne);border-radius:10px;padding:14px 10px;box-shadow:var(--ombre)}
      .sommaire-lateral .sommaire-titre{display:block;margin:0 0 8px 8px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sauge);font-weight:600}
      .sommaire-lateral ol{flex-direction:column;gap:2px;width:auto}
      .sommaire-lateral a{display:block;border:0;background:none;padding:6px 8px;border-radius:6px;line-height:1.3}
      .sommaire-lateral a:hover{background:var(--creme-2);color:var(--brique)}
      .sommaire-lateral a.actif{background:var(--brique);color:#fff}
      .sommaire-lateral.fixe{position:fixed;top:88px}
    }

    /* Articles : bandeau horizontal de rubriques (sans colonne à gauche) */
    .sommaire-bandeau{background:var(--creme);border-bottom:1px solid var(--ligne);padding:10px 16px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
    .sommaire-bandeau::-webkit-scrollbar{display:none}
    .sommaire-bandeau .sommaire-titre{display:none}
    .sommaire-bandeau ol{list-style:none;margin:0 auto;padding:0;display:flex;gap:8px;width:min(1140px,100%)}
    .sommaire-bandeau a{display:inline-block;padding:6px 12px;border:1px solid var(--ligne);border-radius:999px;font-size:.82rem;text-decoration:none;color:var(--encre);background:#fff}
    .sommaire-bandeau a:hover{border-color:var(--brique);color:var(--brique)}
    .sommaire-bandeau a.actif{background:var(--brique);border-color:var(--brique);color:#fff}
