/* ASE Events — moteur EMD v2 · noir chaud et or */
:root{--fond:#17120E;--fond-alt:#1D1712;--surface:#241C16;--or:#C8A266;--or-clair:#E6CC9A;--texte:#F4ECDD;--texte-2:#DDD2BF;--discret:#BCAF9A;--ligne:rgba(200,162,102,.24);--ligne-forte:rgba(200,162,102,.45);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Figtree',system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fond);color:var(--texte);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--or-clair);text-decoration:none}a:hover{color:var(--texte)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--or-clair);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0}
h1{font-size:clamp(40px,6vw,64px);letter-spacing:-.5px}
h1 em,h2 em{color:var(--or-clair)}
h2{font-size:clamp(32px,4.2vw,46px)}
h3{font-size:26px;font-weight:600}
p{margin:0}
.saut{position:absolute;left:-999px;top:8px;background:var(--or);color:var(--fond);padding:8px 14px;z-index:20}.saut:focus{left:8px}
.conteneur{max-width:1200px;margin:0 auto;padding-inline:32px}
.etroit{max-width:860px}
.pile{display:flex;flex-direction:column;gap:28px}
.sur-titre{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--or)}
.chapo{font-size:19px;color:var(--texte-2);max-width:600px}
.note{font-size:14px;color:var(--discret)}
.bouton{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid var(--or);color:var(--or-clair);font-weight:600;border-radius:2px;background:transparent;font:inherit;font-weight:600;cursor:pointer}
.bouton-plein{background:var(--or);color:var(--fond)}.bouton-plein:hover{background:var(--or-clair);color:var(--fond)}
.bouton-centre{align-self:center}
.etoiles{color:var(--or);letter-spacing:2px}
/* en-tête */
.entete{border-bottom:1px solid var(--ligne)}
.nav{padding-block:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.marque{display:flex;align-items:center;gap:14px}
.marque img{display:block;width:72px;height:72px;object-fit:contain}
.marque-zone{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--discret);line-height:1.5}
.nav-liens{display:flex;flex-wrap:wrap;align-items:center;gap:26px;font-size:15px}
.nav-liens a:not(.bouton){color:var(--texte)}.nav-liens a[aria-current]{color:var(--or-clair)}
.nav-liens .bouton{min-height:44px;padding:0 20px;background:var(--or);color:var(--fond)}
/* hero */
.hero{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding-block:80px 72px}
.hero-texte{flex:1 1 540px;min-width:0;display:flex;flex-direction:column;gap:26px}
.hero-fiche{flex:1 1 360px;min-width:0;padding:36px;border:1px solid var(--ligne-forte);background:var(--surface);display:flex;flex-direction:column;gap:22px;position:relative}
.hero-fiche::before{content:"";position:absolute;inset:10px;border:1px solid var(--ligne);pointer-events:none}
.hero-fiche dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.hero-fiche dt{font-family:var(--serif);font-size:44px;line-height:1;color:var(--or-clair)}
.hero-fiche dd{margin:6px 0 0;color:var(--texte-2);font-size:15px}
.hero-fiche .faits{grid-template-columns:1fr;gap:16px}
.hero-fiche .faits dt{font-family:var(--sans);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--or)}
.hero-fiche .faits dd{font-family:var(--serif);font-size:24px;line-height:1.25;color:var(--texte);margin-top:2px}
.hero-lieu{padding-top:32px}
.badge{align-self:flex-start;display:inline-block;padding:4px 10px;border:1px solid var(--ligne-forte);color:var(--discret);font-size:12px;letter-spacing:1.2px;text-transform:uppercase;font-weight:600}
.badge-plein{background:var(--or);border-color:var(--or);color:var(--fond)}
.badge-or{border-color:var(--or);color:var(--or-clair)}
.preuves{display:flex;flex-wrap:wrap;gap:24px;font-size:15px;color:var(--texte-2)}
/* formulaire date */
.form-date{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:22px;border:1px solid var(--ligne-forte);background:var(--surface);max-width:600px;margin-block:8px}
.champ{flex:1 1 200px;display:flex;flex-direction:column;gap:6px}
.champ label{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--discret)}
.champ input,.champ select{min-height:48px;padding:0 14px;background:var(--fond);color:var(--texte);border:1px solid var(--ligne-forte);border-radius:2px;font:inherit;color-scheme:dark}
.form-note{flex-basis:100%;font-size:14px;color:var(--discret)}
/* sections */
.bande{border-top:1px solid var(--ligne);padding-block:84px}
.bande-alt{background:var(--fond-alt)}
.titre-section{display:flex;flex-direction:column;gap:12px;max-width:700px}
.titre-section p:not(.sur-titre){color:var(--texte-2)}
.titre-ligne{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px}
.titre-ligne>p{color:var(--texte-2)}
.grille-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}
.pilier{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid var(--or)}
.pilier p{color:var(--texte-2);font-size:16px}
.rangee{display:flex;flex-wrap:wrap;gap:24px}
.avis{flex:1 1 300px;min-width:0;margin:0;padding:28px;border:1px solid var(--ligne);display:flex;flex-direction:column;gap:16px}
.avis blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:23px;line-height:1.35}
.avis figcaption{font-size:14px;color:var(--discret)}
details{border-bottom:1px solid var(--ligne);padding-bottom:16px}
summary{cursor:pointer;font-size:20px;font-weight:600;min-height:44px;display:flex;align-items:center;list-style-position:inside}
details p{margin-top:8px;color:var(--texte-2)}
.bande-cta{background:var(--surface)}
.cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.cta h2{flex:1 1 520px}
.cta-boutons{display:flex;flex-wrap:wrap;gap:12px}
.avis-mn{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.avis-mn p{color:var(--discret);font-size:15px}
.bouton-discret{border-color:var(--ligne-forte);color:var(--texte-2)}
/* cartes de lieux */
.grille-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.carte{display:flex;flex-direction:column;gap:8px;padding:24px;background:var(--surface);border:1px solid var(--ligne);color:var(--texte);transition:border-color .2s}
.carte:hover{border-color:var(--or);color:var(--texte)}
.carte-partenaire{border-color:var(--or)}
.carte-nom{font-family:var(--serif);font-size:27px;font-weight:600;line-height:1.15;margin-top:4px}
.carte-lieu{font-size:15px;color:var(--discret)}
.carte-infos{font-size:15px;color:var(--texte-2)}
.carte-lien{margin-top:auto;padding-top:6px;font-weight:600;color:var(--or-clair)}
.carte[hidden]{display:none}
.filtres{display:flex;flex-wrap:wrap;gap:8px}
.filtre{min-height:44px;padding:0 18px;background:transparent;color:var(--texte);border:1px solid var(--ligne-forte);border-radius:22px;font:inherit;font-size:15px;cursor:pointer}
.filtre.actif{background:var(--or);border-color:var(--or);color:var(--fond);font-weight:600}
/* page lieu */
.fil{padding-top:22px;font-size:14px;color:var(--discret)}
.entete-page{padding-block:40px 32px}
.bas{padding-bottom:48px}
.deux-colonnes{display:flex;flex-wrap:wrap;gap:56px}
.deux-colonnes>.pile{flex:1 1 440px;min-width:0;gap:18px}
.deux-colonnes p{color:var(--texte-2)}
.encadre{padding:26px;border:1px solid var(--ligne);display:flex;flex-direction:column;gap:12px}
.encadre ul{margin:0;padding-left:20px;color:var(--texte-2);display:flex;flex-direction:column;gap:8px}
.source{padding-block:28px}
/* pied */
.pied{border-top:1px solid var(--ligne);padding-block:40px 120px}
.pied-grille{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;font-size:14px;color:var(--discret)}
.pied-marque{display:flex;flex-direction:column;gap:14px}
.pied-marque img{width:200px;height:auto}
.pied-liens{display:flex;flex-wrap:wrap;gap:20px}
/* sites thématiques : articles */
.texte-long h2{font-size:clamp(28px,3.4vw,38px);margin-top:12px}
.texte-long p{color:var(--texte-2)}
.liste{margin:0;padding-left:22px;color:var(--texte-2);display:flex;flex-direction:column;gap:10px}
.liste li::marker{color:var(--or)}
.article{padding-block:32px 72px}
.article-tete{max-width:860px;gap:20px;padding-bottom:40px}
.reponse{max-width:780px;font-size:20px;color:var(--texte);border-left:2px solid var(--or);padding-left:20px}
.article-corps{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.article-texte{flex:1 1 560px;min-width:0;max-width:760px;gap:20px}
.article-cote{flex:1 1 320px;min-width:0}
.colle{position:sticky;top:24px}
.colle .form-date{padding:0;border:0;background:none}
.liste-depts{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-family:var(--serif);font-size:23px}
.liste-lieux{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:4px 32px}
.liste-lieux li{padding:10px 0;border-bottom:1px solid var(--ligne);display:flex;flex-direction:column;gap:2px}
.liste-lieux strong{font-weight:600;color:var(--texte)}
.liste-lieux span{font-size:15px;color:var(--discret)}
.villes{color:var(--texte-2);font-size:15px;line-height:1.9}
/* barre mobile */
.barre-mobile{display:none}
@media (max-width:760px){
  body{font-size:16px}
  .conteneur{padding-inline:18px}
  .nav-liens{display:none}
  .marque img{width:60px;height:60px}
  .hero{padding-block:44px 48px;gap:36px}
  .bande{padding-block:60px}
  .hero-fiche{padding:26px}
  .hero-fiche dt{font-size:36px}
  .barre-mobile{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(23,18,14,.96);border-top:1px solid var(--ligne-forte);z-index:10}
  .barre-mobile .bouton{flex:1}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.carte{transition:none}}
