/* ---------- 1. reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden}
img,picture,video,svg{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,figure,blockquote{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}

/* ---------- 2. tokens ---------- */
:root{
  --fond:#EFEDE8;
  --panneau:#FFFFFF;
  --encre:#12130F;
  --encre-douce:#5A5C55;
  --encre-inv:#F4F3EF;
  --framboise:#C2185B;
  --vert:#0F9D58;
  --bleu:#1565C0;
  --orange:#F57C00;
  --trait:#12130F;
  --trait-fin:rgba(18,19,15,.18);
  --t-geant:clamp(2.4rem,6.2vw,5.4rem);
  --t-grand:clamp(1.7rem,3.1vw,2.75rem);
  --t-moyen:clamp(1.12rem,1.75vw,1.44rem);
  --t-chapeau:clamp(1.05rem,1.35vw,1.24rem);
  --t-texte:1.0625rem;
  --t-micro:.7rem;
  --espace:clamp(64px,7vw,112px);
  --marge:clamp(18px,4vw,52px);
  --large:1320px;
  --lecture:62ch;
  --courbe:cubic-bezier(.2,.7,.2,1);
}

/* ---------- 3. base ---------- */
body{
  background:var(--fond);
  color:var(--encre);
  font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:var(--t-texte);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:"Chivo","Helvetica Neue",Arial,sans-serif;font-weight:900;line-height:1.03}
h1{font-size:var(--t-geant);letter-spacing:-.03em;text-transform:uppercase}
h2{font-size:var(--t-grand);letter-spacing:-.02em}
h3{font-size:var(--t-moyen);letter-spacing:-.01em}
p{max-width:var(--lecture)}
p + p{margin-top:.9em}

/* ---------- 4. layout ---------- */
.ev-cadre{width:100%;max-width:var(--large);margin:0 auto;padding-left:var(--marge);padding-right:var(--marge)}
.ev-section{padding-top:var(--espace);padding-bottom:var(--espace)}
.ev-section-blanc{background:var(--panneau)}
.ev-section-noir{background:var(--encre);color:var(--encre-inv)}
.ev-colonnes{display:grid;gap:clamp(20px,2.4vw,36px);grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){
  .ev-colonnes-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ev-dossier{display:flex;align-items:flex-start;gap:clamp(24px,3vw,44px)}
  .ev-onglets{flex:0 0 280px;position:sticky;top:92px}
  .ev-panneaux{flex:1 1 auto;min-width:0}
}

/* ---------- 5. composants ---------- */
.ev-saut{position:absolute;left:-9999px}
.ev-saut:focus{left:var(--marge);top:12px;z-index:60;background:var(--panneau);padding:10px 14px}
.ev-entete{background:var(--fond);border-bottom:3px solid var(--trait)}
.ev-entete-in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-top:16px;padding-bottom:16px}
.ev-logo{font-family:"Chivo",Arial,sans-serif;font-weight:900;font-size:1.15rem;letter-spacing:-.03em;text-transform:uppercase;text-decoration:none;margin-right:auto}
.ev-entete a{text-decoration:none;font-size:.93rem;font-weight:500}
.ev-micro{font-size:var(--t-micro);letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--encre-douce)}
.ev-chapeau{font-size:var(--t-chapeau);color:var(--encre-douce);max-width:52ch}
.ev-cote{font-family:"Chivo",Arial,sans-serif;font-weight:900;font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:.95}
.ev-trait{height:3px;background:var(--trait);border:0;margin:0}
.ev-filet{height:1px;background:var(--trait-fin);border:0;margin:0}
.ev-onglet{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--trait-fin);padding:14px 12px;cursor:pointer;font-weight:600}
.ev-onglet-cote{display:block;font-size:var(--t-micro);letter-spacing:.16em;color:var(--encre-douce);margin-bottom:3px}
.ev-onglet[aria-selected="true"]{background:var(--encre);color:var(--encre-inv)}
.ev-onglet[aria-selected="true"] .ev-onglet-cote{color:var(--encre-inv)}
.ev-panneau{background:var(--panneau);border:3px solid var(--trait);padding:clamp(20px,2.6vw,36px)}
.ev-image{overflow:hidden;background:var(--fond);aspect-ratio:3/2}
.ev-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--courbe)}
.ev-image-haute{aspect-ratio:3/4}
.ev-image-panoramique{aspect-ratio:21/9}
.ev-legende{font-size:var(--t-micro);color:var(--encre-douce);margin-top:8px}
.ev-fiche{margin-top:18px}
.ev-ligne{display:flex;align-items:baseline;gap:8px;padding:7px 0;border-bottom:1px dotted var(--trait-fin)}
.ev-ligne dt{flex:0 0 auto;font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--encre-douce)}
.ev-ligne dd{flex:1 1 auto;margin:0;text-align:right;font-weight:600}
.ev-etiquette{display:inline-block;border:2px solid var(--trait);padding:4px 11px;font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.ev-lien{display:inline-block;text-decoration:none;font-weight:700;border-bottom:3px solid var(--trait);padding-bottom:1px}
.ev-bascule{display:inline-flex;border:2px solid var(--trait)}
.ev-bascule button{background:transparent;border:0;padding:8px 16px;cursor:pointer;font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.ev-bascule button[aria-pressed="true"]{background:var(--trait);color:var(--encre-inv)}
.ev-detail{border-top:1px solid var(--trait-fin);padding:12px 0}
.ev-detail summary{cursor:pointer;list-style:none;font-weight:700}
.ev-detail summary::-webkit-details-marker{display:none}
.ev-pied{background:var(--encre);color:var(--encre-inv)}
.ev-pied a{text-decoration:none}
.ev-pied a:hover{text-decoration:underline;text-underline-offset:4px}
.est-masque{display:none}
:focus-visible{outline:3px solid var(--trait);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- 6. couleur des chapitres ---------- */
.p-arch .ev-onglet[aria-selected="true"]{background:var(--framboise)}
.p-arch .ev-bandeau{background:var(--framboise)}
.p-arch .ev-etiquette{border-color:var(--framboise);color:var(--framboise)}
.p-cab .ev-onglet[aria-selected="true"]{background:var(--vert)}
.p-cab .ev-bandeau{background:var(--vert)}
.p-cab .ev-etiquette{border-color:var(--vert);color:var(--vert)}
.p-glace .ev-onglet[aria-selected="true"]{background:var(--bleu)}
.p-glace .ev-bandeau{background:var(--bleu)}
.p-glace .ev-etiquette{border-color:var(--bleu);color:var(--bleu)}
.p-scene .ev-onglet[aria-selected="true"]{background:var(--orange)}
.p-scene .ev-bandeau{background:var(--orange)}
.p-scene .ev-etiquette{border-color:var(--orange);color:var(--orange)}
.ev-bandeau{color:#fff;padding-top:clamp(26px,3.4vw,48px);padding-bottom:clamp(26px,3.4vw,48px)}

/* ---------- 7. contraste des couleurs claires ---------- */
:root{
  --vert-fonce:#0A6B3B;
  --orange-fonce:#8A4400;
}
.p-cab .ev-bandeau{color:var(--encre)}
.p-scene .ev-bandeau{color:var(--encre)}
.p-cab .ev-onglet[aria-selected="true"]{color:var(--encre)}
.p-scene .ev-onglet[aria-selected="true"]{color:var(--encre)}
.p-cab .ev-onglet[aria-selected="true"] .ev-onglet-cote{color:var(--encre)}
.p-scene .ev-onglet[aria-selected="true"] .ev-onglet-cote{color:var(--encre)}
.p-cab .ev-etiquette{border-color:var(--vert-fonce);color:var(--vert-fonce)}
.p-scene .ev-etiquette{border-color:var(--orange-fonce);color:var(--orange-fonce)}
.p-cab .ev-bandeau .ev-micro{color:var(--encre)}
.p-scene .ev-bandeau .ev-micro{color:var(--encre)}
.p-arch .ev-bandeau .ev-micro{color:#fff}
.p-glace .ev-bandeau .ev-micro{color:#fff}

/* ---------- 8. entête et navigation ---------- */
.ev-nav{display:none;flex-wrap:wrap;gap:10px 18px;width:100%}
.ev-nav-ouvert{display:flex}
.ev-nav a{padding:6px 0;display:inline-block}
.ev-nav a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:3px}
.ev-menu{background:transparent;border:2px solid var(--trait);padding:7px 13px;cursor:pointer;font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:700}
@media (min-width:900px){
  .ev-nav{display:flex;width:auto;justify-content:flex-end}
  .ev-menu{display:none}
}

/* ---------- 9. blocs de page ---------- */
.ev-espace-s{margin-top:clamp(12px,1.4vw,20px)}
.ev-espace-m{margin-top:clamp(20px,2.4vw,34px)}
.ev-espace-l{margin-top:clamp(34px,4vw,64px)}
.ev-large{max-width:none}
.ev-mesure{max-width:var(--lecture)}
.ev-titre-bandeau{color:inherit}
.ev-bandeau-cote{font-family:"Chivo",Arial,sans-serif;font-weight:900;font-size:clamp(2rem,5vw,3.6rem);line-height:.95;letter-spacing:-.03em}
.ev-compteur{font-family:"Chivo",Arial,sans-serif;font-weight:900;font-size:clamp(1.2rem,2vw,1.6rem)}
.ev-groupe{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.ev-liste-liens{display:flex;flex-wrap:wrap;gap:10px 14px}

/* ---------- 10. onglets et panneaux ---------- */
.ev-onglets{margin-bottom:clamp(22px,3vw,40px)}
.ev-onglets-titre{margin-bottom:10px}
.ev-tablist{border-top:3px solid var(--trait);border-bottom:3px solid var(--trait)}
.ev-onglet-nom{display:block;line-height:1.25}
.ev-panneau + .ev-panneau{margin-top:clamp(22px,3vw,40px)}
.ev-panneau-tete{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline}
.ev-panneau-cote{font-family:"Chivo",Arial,sans-serif;font-weight:900;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1;letter-spacing:-.03em}
.ev-panneau-lieu{color:var(--encre-douce);margin-top:6px}
.ev-niveau-titre{margin-bottom:8px}
.ev-detail-corps{margin-top:8px;color:var(--encre-douce)}
.ev-detail summary::after{content:" +";font-weight:900}
.ev-panneau-liens{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:22px}
@media (min-width:900px){
  .ev-onglets{margin-bottom:0}
  .ev-tablist{border-top:3px solid var(--trait);border-bottom:0}
}

/* ---------- 11. visuels de remplacement ---------- */
.ev-visuel{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(14px,2vw,26px);color:#fff}
.ev-visuel-cote{font-family:"Chivo",Arial,sans-serif;font-weight:900;font-size:clamp(2.2rem,6vw,4.4rem);line-height:.9;letter-spacing:-.04em}
.ev-visuel-txt{font-size:var(--t-micro);letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-top:10px;max-width:36ch}
.p-arch .ev-visuel{background:var(--framboise)}
.p-glace .ev-visuel{background:var(--bleu)}
.p-cab .ev-visuel{background:var(--vert);color:var(--encre)}
.p-scene .ev-visuel{background:var(--orange);color:var(--encre)}
.ev-visuel-arch{background:var(--framboise);color:#fff}
.ev-visuel-cab{background:var(--vert);color:var(--encre)}
.ev-visuel-glace{background:var(--bleu);color:#fff}
.ev-visuel-scene{background:var(--orange);color:var(--encre)}
.ev-visuel-encre{background:var(--encre);color:var(--encre-inv)}

/* ---------- 12. accueil ---------- */
.ev-une{display:grid;gap:clamp(22px,3vw,44px);grid-template-columns:minmax(0,1fr);align-items:end}
@media (min-width:900px){
  .ev-une{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
}
.ev-une-titre{max-width:16ch}
.ev-bande{display:block;text-decoration:none;padding:clamp(20px,2.6vw,34px) 0;border-top:3px solid var(--trait)}
.ev-bande:last-child{border-bottom:3px solid var(--trait)}
.ev-bande-in{display:grid;gap:6px 24px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){
  .ev-bande-in{grid-template-columns:minmax(0,140px) minmax(0,1fr) minmax(0,1fr)}
  .ev-bande-in{align-items:baseline}
}
.ev-bande-1{background:var(--framboise);color:#fff}
.ev-bande-2{background:var(--vert);color:var(--encre)}
.ev-bande-3{background:var(--bleu);color:#fff}
.ev-bande-4{background:var(--orange);color:var(--encre)}
.ev-bande-in{padding-left:var(--marge);padding-right:var(--marge);max-width:var(--large);margin:0 auto;width:100%}
.ev-bande-cote{font-family:"Chivo",Arial,sans-serif;font-weight:900;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1}
.ev-bande p{max-width:44ch}
.ev-phrase{font-family:"Chivo",Arial,sans-serif;font-weight:900;font-size:var(--t-grand);line-height:1.06;letter-spacing:-.02em;max-width:24ch}
.ev-notes{display:grid;gap:clamp(20px,2.6vw,36px);grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){
  .ev-notes-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
.ev-note{border-top:3px solid var(--trait);padding-top:14px}
.ev-note-titre{margin-top:6px}
.ev-note p{margin-top:8px}

/* ---------- 12b. lisibilité des bandes de chapitre ---------- */
.ev-bande-1 .ev-micro{color:#fff}
.ev-bande-3 .ev-micro{color:#fff}
.ev-bande-2 .ev-micro{color:var(--encre)}
.ev-bande-4 .ev-micro{color:var(--encre)}

/* ---------- 13. sommaire ---------- */
.ev-index{border-top:3px solid var(--trait)}
.ev-index-ligne{border-bottom:1px solid var(--trait-fin);padding:16px 0}
.ev-index-lien{display:grid;gap:4px 20px;grid-template-columns:minmax(0,1fr);text-decoration:none}
@media (min-width:900px){
  .ev-index-lien{grid-template-columns:minmax(0,90px) minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.4fr);align-items:baseline}
}
.ev-index-cote{font-family:"Chivo",Arial,sans-serif;font-weight:900;font-size:1.35rem;line-height:1}
.ev-index-nom{font-weight:600}
.ev-index-lieu{color:var(--encre-douce);font-size:.95rem}
.ev-index-note{color:var(--encre-douce);font-size:.95rem}
.ev-index-lien:hover .ev-index-nom{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:3px}
.ev-ancres{display:flex;flex-wrap:wrap;gap:10px}
.ev-ancre{display:inline-block;text-decoration:none;padding:8px 14px;font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:2px solid var(--trait)}
.ev-ancre-1{background:var(--framboise);color:#fff;border-color:var(--framboise)}
.ev-ancre-2{background:var(--vert);color:var(--encre);border-color:var(--vert)}
.ev-ancre-3{background:var(--bleu);color:#fff;border-color:var(--bleu)}
.ev-ancre-4{background:var(--orange);color:var(--encre);border-color:var(--orange)}

/* ---------- 14. formulaires ---------- */
.ev-form{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);max-width:640px}
@media (min-width:640px){
  .ev-form-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ev-form-plein{grid-column:1 / -1}
}
.ev-champ{display:grid;gap:6px}
.ev-champ label{font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--encre-douce)}
.ev-champ input,.ev-champ select,.ev-champ textarea{border:2px solid var(--trait);background:var(--panneau);padding:11px 13px;width:100%}
.ev-champ textarea{min-height:170px;resize:vertical}
.ev-case{display:flex;gap:10px;align-items:flex-start;max-width:var(--lecture)}
.ev-case input{margin-top:5px}
.ev-envoi{background:var(--trait);color:var(--encre-inv);border:2px solid var(--trait);padding:12px 22px;cursor:pointer;font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;font-weight:700}

/* ---------- 15. pied de page ---------- */
.ev-pied-haut{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(28px,3.4vw,44px)}
.ev-pied-phrase{font-family:"Chivo",Arial,sans-serif;font-weight:900;font-size:var(--t-grand);line-height:1.06;letter-spacing:-.02em;max-width:20ch}
.ev-pied-colonnes{display:grid;gap:clamp(24px,3vw,40px);grid-template-columns:minmax(0,1fr);padding-bottom:clamp(34px,4vw,56px)}
@media (min-width:640px){
  .ev-pied-colonnes{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (min-width:900px){
  .ev-pied-colonnes{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
}
.ev-pied-titre{margin-bottom:12px}
.ev-pied-liste li{padding:4px 0}
.ev-pied-bas{border-top:1px solid rgba(244,243,239,.24);padding-top:20px;padding-bottom:34px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.ev-pied .ev-micro{color:rgba(244,243,239,.72)}
.ev-pied .ev-chapeau{color:rgba(244,243,239,.78)}

/* ---------- 16. divers ---------- */
.ev-avis{border-top:3px solid var(--trait);padding-top:16px;color:var(--encre-douce);font-size:.95rem}
.ev-avis p{max-width:78ch}
.ev-encadre{border:3px solid var(--trait);padding:clamp(18px,2.4vw,32px);background:var(--panneau)}
.ev-encadre p{max-width:78ch}
.ev-liste-puces li{padding:10px 0;border-bottom:1px solid var(--trait-fin);max-width:var(--lecture)}
.ev-liste-num{counter-reset:regle}
.ev-liste-num li{padding:12px 0;border-bottom:1px solid var(--trait-fin);max-width:var(--lecture);font-weight:600}
.ev-legal h2{margin-top:clamp(30px,3.4vw,50px)}
.ev-legal h3{margin-top:22px}
.ev-legal p{margin-top:10px}
.ev-legal ul li{padding:6px 0;max-width:var(--lecture)}
