/* Éditions : socle commun aux 20 sites. Tout passe par les jetons de site.css (couleurs, polices).
   Échelle de 8 tailles, espacements sur 4/8/12/16/24/32/48/64/96, deux arrondis (0 et 999px pour les pastilles). */
:root{
  --t1:13px;--t2:15px;--t3:17px;--t4:20px;--t5:26px;--t6:clamp(30px,4.2vw,44px);--t7:clamp(38px,5.8vw,68px);--t8:clamp(46px,8.6vw,116px);
  --gut:max(18px,env(safe-area-inset-left));--gut-r:max(18px,env(safe-area-inset-right));--max:1200px;--measure:68ch;
  --ease:cubic-bezier(.2,.7,.1,1);--radius:0px
}
@media(min-width:900px){:root{--gut:40px;--gut-r:40px}}
.ed{background:var(--paper);color:var(--ink);font:400 var(--t3)/1.6 var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ed h1,.ed h2,.ed h3{font-family:var(--display);color:inherit;text-wrap:balance;letter-spacing:-.01em}
.ed p,.ed li{text-wrap:pretty}
.ed > :is(header,footer) p,.ed nav p{max-width:none}
.ed a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
.ed a:hover{color:var(--accent)}
.ed-dark a:hover{color:var(--accent)}
/* Contour de focus à l'encre : l'accent (jaune de Dehors, or de Rouelle) peut tomber sous 3:1 sur le papier. */
.ed :focus-visible{outline:2px solid var(--ink);outline-offset:3px}
/* Lien texte : le contour prend sa couleur, qui contraste déjà avec le fond où il se trouve (sections sombres comprises). */
.ed a:not([class*="btn"]):not(.button):focus-visible{outline-color:currentColor}
/* En-tête et pied de page peuvent être foncés : le contour prend la couleur du lien, qui contraste déjà avec son fond. */
.ed :is(.ed-header,.ed-footer) :focus-visible{outline-color:currentColor}
.ed main{max-width:none;padding:0}
.ed main > *{box-sizing:border-box}
.ed img{max-width:100%;height:auto}
.ed .skip{left:var(--gut);background:var(--ink);color:var(--paper)}

/* ---------- En-tête ---------- */
.ed-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}
.ed-bar{max-width:calc(var(--max) + 80px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:8px var(--gut-r) 8px var(--gut)}
.ed-logo{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}
.ed .ed-logo-img{display:block;height:36px;width:auto;max-width:none}
.ed-logo-name{font:700 var(--t4)/1 var(--display);letter-spacing:-.01em}
.ed-nav{display:none;align-items:center;gap:28px;font:600 var(--t2)/1 var(--text)}
.ed-nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;border-bottom:2px solid transparent}
.ed-nav a[aria-current=page],.ed-nav a:hover{border-bottom-color:var(--accent);color:inherit}
.ed-search{color:var(--muted)}
.ed-menu{position:relative}
.ed-menu summary{list-style:none;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid currentColor;font:600 var(--t2)/1 var(--text);cursor:pointer}
.ed-menu summary::-webkit-details-marker{display:none}
.ed-menu[open] summary{background:var(--ink);color:var(--paper)}
.ed-menu nav{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 40px -24px rgba(0,0,0,.45);padding:8px 0;display:grid}
.ed-menu nav a{display:flex;align-items:center;min-height:48px;padding:0 20px;text-decoration:none;font:600 var(--t3)/1 var(--text);border-bottom:1px solid var(--line)}
.ed-menu nav a:last-child{border-bottom:0}
@media(min-width:960px){.ed-nav{display:flex}.ed-menu{display:none}}

/* ---------- Pied de page ---------- */
.ed-footer{background:var(--dark);color:var(--on-dark);margin-top:96px;padding:56px var(--gut-r) calc(28px + env(safe-area-inset-bottom)) var(--gut)}
.ed-footer a{color:inherit}
.ed-footer-in{max-width:var(--max);margin:0 auto;display:grid;gap:32px}
@media(min-width:900px){.ed-footer-in{grid-template-columns:2fr 1fr 1fr;gap:48px}}
.ed-footer-logo{display:inline-flex;min-height:44px}
.ed .ed-footer-logo img{display:block;height:48px;width:auto}
.ed-footer-brand p{margin:16px 0 0;max-width:46ch;font-size:var(--t2);opacity:.82}
.ed-footer-nav{display:grid;align-content:start}
.ed-footer-nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-size:var(--t2);border-bottom:1px solid color-mix(in srgb,var(--on-dark) 16%,transparent)}
.ed-colophon{max-width:var(--max);margin:40px auto 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:var(--t1);opacity:.7}

/* ---------- Actions ---------- */
.ed-more{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:700 var(--t2)/1.2 var(--text);text-decoration:none;color:var(--ink)}
.ed-more:hover{color:var(--accent)}
.ed-arrow{width:20px;height:12px;flex:none;transition:transform .3s var(--ease)}
.ed-more:hover .ed-arrow{transform:translateX(4px)}
.ed-kicker{display:inline-block;font:700 var(--t1)/1.4 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.ed .button{background:var(--ink);color:var(--paper);border-radius:var(--radius);min-height:44px;font:700 var(--t2)/1 var(--text)}
.ed .button:hover{background:var(--accent);color:var(--paper)}
.ed .text-link{color:var(--ink);font-weight:700;min-height:44px;display:inline-flex;align-items:center}

/* ---------- Photo avec crédit ---------- */
.ed .photo{margin:0}
.ed .photo img{display:block;width:100%;height:auto;object-fit:cover;border-radius:var(--radius)}
.ed .photo figcaption{font:400 var(--t1)/1.45 var(--text);color:var(--muted);margin-top:8px}
.ed .photo figcaption a{color:inherit}

/* ---------- Couvertures de marque (articles pratiques sans photo du sujet) ---------- */
.ed .ed-cover{margin:0}
.ed .ed-cover-art{position:relative;aspect-ratio:3/2;overflow:hidden;display:grid;place-items:center;border-radius:var(--radius)}
.ed .ed-cover-0 .ed-cover-art{background:var(--dark) url(/brand/logo-light.svg) center/min(56%,360px) auto no-repeat}
.ed .ed-cover-1 .ed-cover-art{background:var(--wash) url(/brand/favicon.svg) right 10% bottom 12%/34% auto no-repeat}
.ed .ed-cover-2 .ed-cover-art{background:var(--accent) url(/brand/favicon.svg) center/22% auto no-repeat}
.ed .ed-cover-word{display:none;position:absolute;left:8%;top:12%;max-width:60%;font:700 var(--t5)/1.05 var(--display);color:var(--ink);text-align:left}
.ed .ed-cover-1 .ed-cover-word{display:block}

/* ---------- Accueil générique (familles sans gabarit propre) ---------- */
.g-hero,.g-stories,.g-places,.ed main > .conditions-home{max-width:calc(var(--max) + var(--gut) + var(--gut-r));margin:0 auto;padding:48px var(--gut-r) 0 var(--gut)}
.g-hero{display:grid;gap:24px}
.g-hero h1{font-size:var(--t7);line-height:1.02;margin:0 0 16px}
.g-hero p{font-size:var(--t4);max-width:44ch;margin:0 0 16px}
@media(min-width:900px){.g-hero{grid-template-columns:1.2fr 1fr;align-items:end}}
.g-stories h2,.g-places h2{font-size:var(--t6);margin:0 0 24px}

/* ---------- Cartes d'articles (listes, liés) ---------- */
.ed .stories-grid{display:grid;gap:32px 24px;grid-template-columns:1fr}
@media(min-width:700px){.ed .stories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1040px){.ed .stories-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ed .story{display:grid;gap:12px;align-content:start;background:none;border:0;padding:0}
.ed .story .photo img{aspect-ratio:3/2}
.ed .story .photo figcaption{display:none}
.ed .story-body{padding:0;display:grid;gap:8px}
.ed .story :is(h2,h3){font-size:var(--t4);line-height:1.2;margin:0}
.ed .story :is(h2,h3) a{text-decoration:none}
.ed .story p{font-size:var(--t2);color:var(--muted);margin:0}
.ed .category{font:700 var(--t1)/1.4 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.ed .read-time{font-size:var(--t1);color:var(--muted)}

/* ---------- Pages de liste ---------- */
.ed .listing{max-width:calc(var(--max) + var(--gut) + var(--gut-r));margin:0 auto;padding:48px var(--gut-r) 0 var(--gut)}
.ed .listing-header h1{font-size:var(--t7);line-height:1.02;margin:0 0 12px}
.ed .listing-header p{font-size:var(--t4);color:var(--muted);max-width:52ch}
.ed .topic-nav{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 32px}
.ed .topic-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font:600 var(--t2)/1 var(--text)}
.ed .topic-nav a[aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ed .pagination{max-width:calc(var(--max) + var(--gut) + var(--gut-r));margin:32px auto 0;padding:0 var(--gut-r) 0 var(--gut);display:flex;gap:8px}
.ed .pagination a{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);text-decoration:none}
.ed .pagination a[aria-current=page]{background:var(--ink);color:var(--paper)}

/* ---------- Article (gabarit commun) ---------- */
.ed .article-wrap{max-width:calc(var(--max) + var(--gut) + var(--gut-r));margin:0 auto;padding:32px var(--gut-r) 0 var(--gut)}
.ed .breadcrumbs{font-size:var(--t1);color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.ed .breadcrumbs a{min-height:44px;display:inline-flex;align-items:center}
.ed .article-header{max-width:860px}
.ed .article-header h1{font-size:var(--t7);line-height:1.04;margin:12px 0 16px}
.ed .article-header .intro{font-size:var(--t4);line-height:1.5;color:var(--ink);max-width:56ch}
.ed .article-meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:16px;font-size:var(--t1);color:var(--muted)}
.ed .article-photo{margin:32px 0}
.ed .article-photo img{aspect-ratio:16/9}
.ed .reading-layout{display:grid;gap:32px}
@media(min-width:1040px){.ed .reading-layout{grid-template-columns:240px minmax(0,var(--measure));gap:64px}}
.ed .toc{font-size:var(--t2);align-self:start}
@media(min-width:1040px){.ed .toc{position:sticky;top:96px}}
.ed .toc h2{font:700 var(--t1)/1 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.ed .toc ol{margin:0;padding-left:20px;display:grid;gap:6px}
.ed .prose{font-size:var(--t3);line-height:1.7;max-width:var(--measure)}
.ed .prose h2{font-size:var(--t5);line-height:1.2;margin:40px 0 12px}
.ed .prose section:first-child h2{margin-top:0}
.ed .prose p{margin:0 0 16px}
.ed .prose ul{margin:0 0 16px;padding-left:20px;display:grid;gap:6px}
.ed .sources{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:var(--t2)}
.ed .sources h2{font-size:var(--t4)}
.ed .sources ul{padding-left:20px;display:grid;gap:8px}
.ed .sources small{display:block;color:var(--muted)}
.ed .editor-note{color:var(--muted)}
.ed .stories-section,.ed .article-addresses{max-width:calc(var(--max) + var(--gut) + var(--gut-r));margin:64px auto 0;padding:0 var(--gut-r) 0 var(--gut)}
.ed .section-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:24px}
.ed .section-heading h2,.ed .stories-section > h2,.ed .article-addresses > h2{font-size:var(--t6);line-height:1.1;margin:0}

/* ---------- Adresses, outils, pages simples ---------- */
.ed .directory-page,.ed .simple-page,.ed .conditions-page,.ed .access-page,.ed .about-page{max-width:calc(var(--max) + var(--gut) + var(--gut-r));margin:0 auto;padding:48px var(--gut-r) 0 var(--gut)}
.ed :is(.directory-page,.simple-page,.conditions-page,.access-page,.about-page) h1{font-size:var(--t7);line-height:1.04;margin:0 0 16px}
.ed .places-grid{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:760px){.ed .places-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.ed .places-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ed .place-card{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);box-shadow:none}
.ed .place-card h3{font-size:var(--t4);line-height:1.2}
.ed .place-card :is(button,.button){min-height:44px;border-radius:var(--radius)}
.ed .conditions-home{margin-top:64px}
.ed .conditions-home .section-heading h2{font-size:var(--t6)}
.ed .simple-page p{max-width:var(--measure)}
.ed .contact-email{font:700 var(--t4)/1.4 var(--display)}

@media (prefers-reduced-motion:reduce){.ed *{animation:none!important;transition:none!important}}
/* Widget météo aux couleurs de chaque édition ; « .ed a{color:inherit} » écrasait la couleur de ses boutons. */
.ed .conditions-slot .scw{--scw-bg:var(--wash);--scw-ink:var(--ink);--scw-muted:var(--muted);--scw-accent:var(--accent);--scw-soft:var(--paper);--scw-line:var(--line);--scw-head:var(--display);--scw-font:var(--text);--scw-radius:var(--radius)}
.ed .scw a.scw-btn{color:var(--scw-accent)}
.ed .scw a.scw-btn-primary{color:var(--scw-bg)}
/* Zones tactiles de 44 px pour les petits liens (rubrique, signature, crédit photo), sans décaler la mise en page. */
.ed .ed-kicker,.ed [class*="byline"] a,.ed figcaption a{display:inline-block;padding-block:12px;margin-block:-12px}
/* Onglet météo sélectionné : son texte prend la couleur du fond du widget, un contour « currentColor » y disparaît. */
.ed .conditions-slot .scw-tab[aria-pressed="true"]:focus-visible{outline-color:var(--scw-ink)}
/* Crédit posé sur une photo du widget : fond sombre plein, lisible même sur une photo claire (le dégradé du widget ne suffit pas). */
.ed .conditions-slot .scw-pc-credit{background:rgba(0,0,0,.72)}

/* Famille « organiser » : l'outil d'abord, statique et lisible. Quatre sites, quatre compositions :
   Douze (plans de chambres, bleu émaillé), La Grande Tablée (plan de table, rouge brique),
   Tous Comptes Faits (calcul puis registre, vert comptable), Une Semaine (sept cases, lac et soleil).
   Espacements sur 4/8/12/16/24/32/48/64/96. Deux arrondis par site au plus. Aucune animation hors survol. */
.ed-organiser{--measure:64ch;--pad:max(var(--gut),calc((100% - var(--max)) / 2));--pad-r:max(var(--gut-r),calc((100% - var(--max)) / 2));--r:4px}
.ed-organiser main{overflow-x:clip}
.ed-organiser .skip{left:var(--gut)}
/* .ed img (base.css) écrase la hauteur du logo : la taille du logo se redonne ici. */
.ed-organiser .ed-logo-img{height:40px;width:auto;max-width:calc(100vw - 160px);object-fit:contain;object-position:left center}
.o > *{padding-left:var(--pad);padding-right:var(--pad-r)}
.o h2,.o h3{margin:0}
.o-intro{padding-top:32px;padding-bottom:32px}
.o-intro h1{margin:0;font-size:var(--t7);line-height:1.02;letter-spacing:-.02em;max-width:20ch}
.ed .o-lead{margin:16px 0 0;font-size:var(--t4);line-height:1.45;max-width:52ch}
.ed .o-btn{display:inline-flex;align-items:center;gap:12px;min-height:48px;margin-top:24px;padding:0 24px;background:var(--accent);color:#fff;border-radius:var(--r);font:700 var(--t3)/1.2 var(--text);text-decoration:none}
.ed .o-btn:hover{background:var(--ink);color:#fff}
.ed .o-sub{display:inline-flex;align-items:center;min-height:44px;margin:24px 0 0 24px;font:700 var(--t2)/1.2 var(--text);color:var(--ink)}
.o-count{margin:16px 0 0;font-size:var(--t2);color:var(--muted)}
.o-count b{color:var(--ink);font-variant-numeric:tabular-nums}
@media(min-width:1024px){.o-intro{padding-top:64px;padding-bottom:48px}}

/* ============================== Douze ============================== */
.o-head.o-douze{border-bottom:2px solid var(--ink)}
.o-douze h1,.o-douze h2,.o-douze h3{font-stretch:112%}
.o-douze .o-intro h1{font-weight:900}
.o-douze .o-intro{display:grid;justify-items:start}
.o-douze .o-sub{margin-left:0}
/* Plan : un cadre par chambre, un point par place pour dormir */
.o-plan{display:flex;flex-wrap:wrap;gap:8px;max-width:328px}
.rm{display:grid;place-content:center;grid-template-columns:repeat(2,10px);gap:8px;width:48px;height:48px;border:2px solid var(--ink);border-radius:var(--r);background:#fff;box-sizing:border-box;flex:none}
.rm.rm-w2{width:104px;grid-template-columns:repeat(2,10px)}
.rm.rm-w3{width:104px;grid-template-columns:repeat(3,10px)}
.rm.rm-dorm{border-style:double;border-width:4px}
.rm i{width:10px;height:10px;border-radius:50%;background:var(--accent)}
.rm.rm-q{display:flex;align-items:center;justify-content:center;border-style:dashed;color:var(--muted);font:700 var(--t2)/1 var(--text)}
.rm.rm-mx{font-size:var(--t1);font-stretch:75%}
.rm.rm-nw{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--accent) 28%,#fff) 0 3px,#fff 3px 7px)}
.o-key{display:grid;gap:12px;margin-top:24px}
.o-key-t{margin:0;font:700 var(--t2)/1.3 var(--text)}
.o-key ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:var(--t2);color:var(--muted)}
@media(min-width:700px){.o-key ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}}
.o-key li{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:12px}
.o-key .rm{width:24px;height:24px}
.o-key .rm.rm-q{font-size:var(--t1)}
.o-dot{justify-self:center;width:10px;height:10px;border-radius:50%;background:var(--accent)}
.o-list{padding-bottom:64px}
.o-list h2,.o-check h2,.o-reads h2{font-weight:900;font-size:var(--t6);line-height:1.05;letter-spacing:-.01em}
.o-chalets{margin:32px 0 24px;padding:0;list-style:none;border-top:2px solid var(--ink)}
.o-ch{display:grid;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}
.o-ch h3{font-weight:800;font-size:var(--t5);line-height:1.1}
.o-cap{display:block;margin-top:4px;font:600 var(--t2)/1.3 var(--text);font-stretch:100%;color:var(--accent)}
.o-planfig{margin:0;display:grid;gap:8px;align-content:start}
.o-planfig figcaption{font-size:var(--t2);line-height:1.45;color:var(--muted);max-width:42ch}
.o-noplan{margin:0;display:flex;align-items:center;justify-content:center;max-width:328px;min-height:48px;border:2px dashed var(--line);font:700 var(--t2)/1.2 var(--text);color:var(--muted)}
.o-facts{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;border-top:1px solid var(--line)}
.o-facts dt,.o-facts dd{margin:0;padding:8px 0;border-bottom:1px solid var(--line);font-size:var(--t2);line-height:1.4}
.o-facts dt{color:var(--muted)}
.o-facts dd{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.o-facts dd.o-np{font-weight:400;color:var(--muted)}
.o-notice{margin:12px 0 0;padding:8px 12px;background:var(--wash);font-size:var(--t2);line-height:1.45}
.o-actions{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}
.o-ext{display:inline-flex;align-items:center;min-height:44px;font:700 var(--t2)/1.2 var(--text);color:var(--accent)}
.ed .o-actions .save-place{width:auto;margin:0;min-height:44px;padding:0 16px;border:2px solid var(--ink);border-radius:var(--r);background:#fff;color:var(--ink);font:700 var(--t2)/1 var(--text);cursor:pointer}
.ed .o-actions .save-place[aria-pressed=true]{background:var(--ink);color:#fff}
@media(min-width:1024px){
  .o-key ul{grid-template-columns:repeat(4,auto);justify-content:start;gap:8px 32px;white-space:nowrap}
  .o-ch{grid-template-columns:200px 328px 1fr;gap:48px;align-items:start}
  .o-facts{border-top:0}
}
/* Check-list : CSS seul, le compteur suit les cases cochées */
.o-check{counter-reset:done;padding-top:64px;padding-bottom:64px;background:var(--wash);display:grid;gap:32px}
.o-check-head p{margin:16px 0 0;color:var(--muted);max-width:40ch}
.o-items{margin:0;padding:0;list-style:none;border-top:3px solid var(--ink)}
.o-items li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;border-bottom:1px solid var(--line)}
.o-items label{position:relative;display:grid;grid-template-columns:24px 1fr;gap:16px;padding:16px 0;cursor:pointer}
.o-items input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.o-items input:checked{counter-increment:done}
.o-box{width:24px;height:24px;margin-top:2px;border:2px solid var(--ink);border-radius:var(--r);background:#fff;display:grid;place-items:center;box-sizing:border-box}
.o-items input:checked + .o-box{background:var(--accent);border-color:var(--accent)}
.o-items input:checked + .o-box::after{content:"";width:6px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:translateY(-1px) rotate(45deg)}
.o-items input:focus-visible + .o-box{outline:3px solid var(--accent);outline-offset:3px}
.o-itext b{display:block;font-size:var(--t3);line-height:1.35}
.o-itext small{display:block;margin-top:4px;color:var(--muted);font-size:var(--t2);line-height:1.45}
.o-read{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 4px;font:700 var(--t2)/1 var(--text);color:var(--accent)}
.o-meter{margin:0;display:flex;align-items:baseline;gap:12px;font-weight:600;color:var(--muted)}
.o-meter-n::before{content:counter(done);font:900 var(--t6)/1 var(--display);font-stretch:112%;color:var(--accent);font-variant-numeric:tabular-nums}
@media(min-width:1024px){.o-check{padding-top:96px;padding-bottom:96px;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:24px 48px;align-items:start}.o-check-head{grid-column:1}.o-items{grid-column:2;grid-row:1/3}.o-meter{grid-column:1;grid-row:2}}
.o-head.o-douze ~ .ed-footer{margin-top:0;border-top:1px solid rgba(255,255,255,.24)}
.o-reads{background:var(--ink);color:#fff;padding-top:64px;padding-bottom:64px}
.o-reads ol{list-style:none;margin:24px 0;padding:0;border-top:1px solid rgba(255,255,255,.24)}
.o-reads ol a{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;min-height:64px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.24);text-decoration:none;font:700 var(--t3)/1.3 var(--text)}
.o-reads em{font:600 var(--t1)/1 var(--text);font-style:normal;color:#c9d2f2;white-space:nowrap}
.ed .o-reads a:hover{color:#c9d2f2}
.ed .o-reads .ed-more{color:#fff}
@media(min-width:1024px){.o-reads{padding-top:96px;padding-bottom:96px}.o-reads ol a{font-size:var(--t4)}}

/* ======================== La Grande Tablée ======================== */
.o-head.o-tablee{border-bottom:2px solid var(--accent)}
.o-tablee .o-intro{padding-top:48px}
.o-tablee .o-intro h1{font-weight:800;font-size:var(--t7);line-height:1;max-width:18ch}
.o-tablee .o-lead{font-size:var(--t4);font-family:var(--text)}
.o-tablee .o-btn{border-radius:999px}
.t-table{padding-top:48px;padding-bottom:64px}
.t-head h2,.t-out h2,.t-plan h2{font-weight:800;font-size:var(--t6);line-height:1.05}
.t-head p{margin:12px 0 0;color:var(--muted);max-width:52ch}
/* La longue table vue d'en haut : un chemin de table rouge, les maisons assises de part et d'autre */
.t-cards{list-style:none;margin:32px 0 24px;padding:12px;display:grid;gap:12px;background:color-mix(in srgb,var(--accent) 14%,var(--paper));border:2px solid var(--accent)}
.t-card{border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.t-card{display:flex;flex-direction:column;gap:8px;padding:24px;background:#fff}
.t-n{margin:0;display:flex;align-items:baseline;gap:12px}
.t-n b{font:800 var(--t7)/.9 var(--display);color:var(--accent);font-variant-numeric:lining-nums}
.t-n span{font-size:var(--t2);color:var(--muted)}
.t-card h3{font-weight:800;font-size:var(--t5);line-height:1.15}
.t-card h3 a{text-decoration:none}
.t-where{margin:0;font:700 var(--t1)/1.4 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.t-facts{margin:0;font-size:var(--t2);font-weight:700}
.t-desc{margin:0;font-size:var(--t2);line-height:1.5}
.t-notice{margin:0 0 8px;font-size:var(--t2);line-height:1.45;color:var(--accent)}
.t-desc:last-of-type{margin-bottom:8px}
.ed .t-card .save-place{width:auto;align-self:flex-start;min-height:44px;margin-top:auto;padding:0 16px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:700 var(--t2)/1 var(--text);cursor:pointer}
.ed .t-card .save-place[aria-pressed=true]{background:var(--ink);color:#fff}
@media(min-width:900px){
  .t-cards{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px;gap:24px 48px}
}
.t-out{padding-top:64px;padding-bottom:64px;background:var(--wash)}
.t-outs{display:grid;gap:32px;margin-top:32px}
@media(min-width:760px){.t-outs{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}}
@media(min-width:1100px){.t-outs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.t-o{display:grid;gap:16px;align-content:start}
.t-o .photo img{aspect-ratio:3/2}
.t-o h3{margin:8px 0;font-weight:700;font-size:var(--t5);line-height:1.15}
.t-o h3 a{text-decoration:none}
.t-o p{margin:0;font-size:var(--t2);line-height:1.5;max-width:56ch}
.t-plan{padding-top:64px}
.t-plan ol{margin:32px 0 24px;padding:0;list-style:none;display:grid;gap:0;border-top:2px solid var(--ink)}
@media(min-width:900px){.t-plan ol{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}}
.t-plan li{padding:16px 0;border-bottom:1px solid var(--line)}
.t-plan li a{display:inline-flex;min-height:44px;align-items:center;font:700 var(--t4)/1.25 var(--display);text-decoration:none}
.t-plan li p{margin:4px 0 0;font-size:var(--t2);color:var(--muted);max-width:56ch}

/* ======================= Tous Comptes Faits ======================= */
.o-comptes .c-mono,.o-comptes .c-m{font-family:var(--mono);font-variant-numeric:tabular-nums}
.o-head.o-comptes{border-bottom:1px solid var(--ink)}
.o-comptes .o-intro h1{font-weight:700;font-size:var(--t7);line-height:1.04;letter-spacing:-.01em;max-width:24ch}
.o-comptes .o-sub{margin-left:0}
.c-top{display:grid;gap:24px;padding-top:32px;padding-bottom:48px}
.c-top .o-intro{padding:0}
@media(min-width:1024px){.c-top{grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding-top:64px}}
.ed .c-tool .budget-panel{grid-column:auto;grid-row:auto;width:auto;margin:0;padding:24px;background:var(--wash);border:1px solid var(--line);border-radius:0}
.ed .c-tool .budget-panel h2{font:700 var(--t5)/1.15 var(--display);margin:0}
.ed .c-tool .budget-panel > p{margin:8px 0 24px;font-size:var(--t2);line-height:1.5;color:var(--muted)}
.ed .c-tool .budget-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
.ed .c-tool .budget-panel label{display:grid;gap:8px;align-content:end;font:500 var(--t1)/1.3 var(--text);color:var(--ink)}
.ed .c-tool .budget-panel input{min-height:48px;padding:8px 12px;border:1px solid var(--muted);border-radius:0;background:#fff;font:500 var(--t3)/1 var(--mono);font-variant-numeric:tabular-nums}
.ed .c-tool .budget-panel input:focus-visible{outline:2px solid var(--accent);outline-offset:0}
.ed .c-tool .budget-panel .button{grid-column:1/-1;min-height:48px;border-radius:0;background:var(--accent);color:#fff;font:700 var(--t3)/1 var(--text)}
.ed .c-tool .budget-panel .button:hover{background:var(--ink)}
.ed .c-tool .budget-panel button[type=reset]{grid-column:1/-1;justify-self:start;min-height:44px;padding:0;border:0;background:none;color:var(--accent);font:700 var(--t2)/1 var(--text);text-decoration:underline;text-underline-offset:.2em}
@media(min-width:600px){.ed .c-tool .budget-panel form{grid-template-columns:repeat(3,minmax(0,1fr))}.ed .c-tool .budget-panel .button{grid-column:1/3}.ed .c-tool .budget-panel button[type=reset]{grid-column:3;justify-self:center;align-self:center}}
.ed .c-tool #budget-result:not(:empty){display:grid;grid-template-columns:1fr;gap:0;margin-top:24px;border-top:2px solid var(--ink)}
.ed .c-tool #budget-result div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.ed .c-tool #budget-result strong{order:2;font:500 var(--t4)/1 var(--mono);font-variant-numeric:tabular-nums}
.ed .c-tool #budget-result span{font-size:var(--t2);color:var(--muted)}
.ed .c-tool #budget-result p{margin:12px 0 0;font-size:var(--t1);color:var(--muted)}
.c-steps{padding-top:48px}
.c-steps > h2{font:700 var(--t6)/1.05 var(--display)}
.c-ledger{margin:32px 0 0;padding:0;list-style:none;border-top:3px double var(--ink)}
.c-step{display:grid;gap:8px;padding:24px 0;border-bottom:1px solid var(--ink)}
.c-stepno{margin:0;display:flex;align-items:baseline;gap:12px;font:700 var(--t4)/1.2 var(--display)}
.c-stepno .c-mono{font-size:var(--t2);font-weight:500;color:var(--accent)}
.c-step ul{margin:0;padding:0;list-style:none}
.c-step ul li + li{border-top:1px dotted var(--line)}
.c-step ul a{display:grid;grid-template-columns:1fr auto;gap:4px 24px;padding:12px 0;min-height:44px;text-decoration:none}
.c-t{font:700 var(--t3)/1.35 var(--text)}
.c-s{grid-column:1;font-size:var(--t2);line-height:1.45;color:var(--muted)}
.c-m{grid-column:2;grid-row:1;font-size:var(--t1);color:var(--muted);white-space:nowrap}
.ed .c-step a:hover .c-t{color:var(--accent)}
@media(min-width:900px){.c-step{grid-template-columns:240px 1fr;gap:48px}.c-stepno{flex-direction:column;gap:4px;padding-top:12px}}

/* =========================== Une Semaine =========================== */
.o-head.o-semaine{border-bottom:4px solid var(--accent2)}
.o-semaine .o-intro h1{font-weight:800;font-size:var(--t7);line-height:1;letter-spacing:-.025em;max-width:18ch}
.o-semaine{--r:12px}
.w-top{display:grid;gap:24px;padding-bottom:32px}
.w-top .o-intro{padding:32px 0 0}
.w-top .w-hero img{aspect-ratio:4/3;border-radius:var(--r)}
@media(min-width:1024px){.w-top{grid-template-columns:7fr 5fr;gap:48px;align-items:end;padding-top:32px}.w-top .o-intro{padding-top:32px}}
.w-strip{margin-top:24px}
.w-strip ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.w-strip a{position:relative;display:grid;justify-items:center;align-content:center;gap:4px;min-height:64px;border-radius:var(--r);text-decoration:none;border:2px solid var(--line);color:var(--muted)}
.w-strip a.w-on{background:var(--accent);border-color:var(--accent);color:#fff}
.ed .w-strip a.w-on:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.w-strip b{font:800 var(--t5)/1 var(--display)}
.w-full{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.w-n{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;font:700 var(--t1)/1 var(--text)}
.w-on .w-n{background:var(--accent2);color:var(--ink)}
@media(min-width:600px){.w-strip ol{gap:8px}.w-strip a{min-height:88px}.w-strip b{font-size:var(--t6)}}
.w-week{display:grid;gap:0;padding-top:16px;padding-bottom:64px}
.w-day{display:grid;gap:12px;padding:24px 0;border-top:1px solid var(--line);scroll-margin-top:96px}
.w-day h2{font:800 var(--t5)/1.1 var(--display)}
.w-day ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.w-day li a{display:grid;gap:4px;padding:16px;background:var(--wash);border-radius:var(--r);text-decoration:none;min-height:44px}
.w-day .w-market a{background:#fff;border:2px solid var(--accent2)}
.w-what{font:700 var(--t4)/1.25 var(--display)}
.w-from{font-size:var(--t2);color:var(--muted);line-height:1.45}
.w-empty h2{color:var(--muted)}
.w-empty p{margin:0;font-size:var(--t2);color:var(--muted)}
.w-empty p a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--accent)}
@media(min-width:900px){.w-day{grid-template-columns:200px 1fr;gap:48px;align-items:start}.w-day ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
.w-progs{padding-top:64px;padding-bottom:64px;background:var(--wash)}
.w-progs > h2,.w-more > h2{font:800 var(--t6)/1.05 var(--display);letter-spacing:-.015em}
.w-plist{display:grid;gap:32px;margin-top:32px}
.w-prog{display:grid;gap:16px;background:#fff;border-radius:var(--r);overflow:hidden}
.w-prog:not(:has(.photo)) .w-pbody{padding-top:24px}
.w-prog .photo img{aspect-ratio:16/9;border-radius:0}
.w-prog .photo figcaption{padding:0 16px}
.w-pbody{padding:0 16px 24px}
.w-prog h3{font:700 var(--t5)/1.15 var(--display)}
.w-prog h3 a{text-decoration:none}
.w-tiles{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.w-tiles a{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:baseline;min-height:44px;padding:12px 0;border-top:1px solid var(--line);text-decoration:none}
.w-tiles b{font:800 var(--t2)/1.3 var(--display);color:var(--accent)}
.w-tiles span{font-size:var(--t2);line-height:1.45}
@media(min-width:900px){.w-tiles{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px}.w-tiles a{grid-template-columns:1fr;align-content:start;gap:8px;height:100%;box-sizing:border-box;padding:16px 0 0;border-top:4px solid var(--accent2)}}
@media(min-width:900px){.w-prog:has(.photo){grid-template-columns:5fr 7fr;gap:32px;align-items:start}.w-prog:not(:has(.photo)) .w-pbody{padding:24px}.w-prog .photo figcaption{padding:0 0 16px 16px}.w-pbody{padding:24px 24px 24px 0}}
.w-more{padding-top:64px}
.w-more .ol-list{margin:32px 0 24px;border:0}
.w-more .ol-item{margin-bottom:8px}
.w-more .ol-link{padding:16px;background:var(--wash);border-radius:12px}
@media(min-width:900px){.w-more .ol-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.w-more .ol-item{margin:0}.w-more .ol-link{height:100%;box-sizing:border-box;padding:24px}}
.o-semaine .story .photo img{border-radius:var(--r)}

/* ============================ Article ============================ */
.oa{padding:24px var(--pad-r) 0 var(--pad)}
.ed-organiser main > :is(.article-addresses,.listing,.directory-page,.simple-page,.conditions-page,.access-page,.about-page,.stories-section),.ed-organiser .pagination{max-width:none;padding-left:var(--pad);padding-right:var(--pad-r)}
.oa-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--t1);color:var(--muted)}
.oa-crumbs a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.ed-organiser .ed-kicker{display:inline-flex;align-items:center;min-height:44px}
.oa-head{max-width:880px;padding:8px 0 24px}
.oa-head h1{margin:12px 0 16px;font-size:var(--t7);line-height:1.04;letter-spacing:-.02em;max-width:24ch}
.ed .oa-deck{margin:0;font-size:var(--t4);line-height:1.5;max-width:60ch}
.oa-byline{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;margin:24px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:var(--t2);color:var(--muted)}
.oa-byline span:first-child{font-weight:700;color:var(--ink)}
.oa-jump{flex-basis:100%;display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--accent)}
.oa-hero{margin:0 0 32px}
.oa-hero img{aspect-ratio:auto;max-height:min(70vh,640px);object-fit:cover}
.oa-body{display:grid;gap:32px}
@media(min-width:1040px){.oa-body{grid-template-columns:240px minmax(0,var(--measure));gap:64px}}
.oa-toc{align-self:start;font-size:var(--t2)}
@media(min-width:1040px){.oa-toc{position:sticky;top:96px}}
.oa-toc h2{margin:0 0 12px;font:700 var(--t1)/1.3 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.oa-toc ol{margin:0;padding:0;list-style:none;counter-reset:toc;border-top:1px solid var(--line)}
.oa-toc li{counter-increment:toc;border-bottom:1px solid var(--line)}
.oa-toc a{display:grid;grid-template-columns:24px 1fr;gap:8px;padding:8px 0;min-height:44px;align-items:baseline;text-decoration:none;line-height:1.35}
.oa-toc a::before{content:counter(toc);font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.oa-text{max-width:var(--measure);font-size:var(--t3);line-height:1.7}
.oa-text section{scroll-margin-top:96px}
.oa-sh{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:baseline;margin:48px 0 16px}
.oa-text section:first-child .oa-sh{margin-top:0}
.oa-text h2{margin:0;font-size:var(--t5);line-height:1.2}
.oa-no{display:inline-grid;place-items:center;align-self:start;min-width:32px;height:32px;padding:0 4px;box-sizing:border-box;border-radius:var(--r);background:var(--accent);color:#fff;font:700 var(--t2)/1 var(--text);font-variant-numeric:tabular-nums}
.o-semaine.oa .oa-no{background:var(--accent2);color:var(--ink);border-radius:999px}
.oa-text p{margin:0 0 16px}
.oa-points{margin:0 0 24px;padding:0;list-style:none;display:grid;gap:8px;font-size:var(--t2);line-height:1.55}
.oa-points li{position:relative}
.oa-points li::before{content:"";position:absolute;left:-16px;top:.55em;width:8px;height:8px;background:var(--accent)}
.o-semaine.oa .oa-points li::before{border-radius:50%;background:var(--accent2)}
.oa-sources{margin-top:48px;padding-top:24px;border-top:2px solid var(--ink);font-size:var(--t2);line-height:1.55}
.oa-sources h2{display:block;margin:0 0 12px;font-size:var(--t4)}
.oa-sources ol{margin:0;padding-left:24px;display:grid;gap:8px}
.oa-sources a{word-break:break-word}
.oa-sources small{display:block;color:var(--muted)}
.oa-note{color:var(--muted)}
.oa-also{margin:64px 0 0;padding:0 var(--pad-r) 0 var(--pad)}
.oa-also h2{margin:0 0 16px;font-size:var(--t5)}
.oa-also ul{margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
@media(min-width:900px){.oa-also ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}}
.oa-also a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;font:700 var(--t3)/1.35 var(--display)}
.oa-also a:hover .ed-arrow{transform:translateX(4px)}
.o-douze.oa .oa-head h1,.o-douze.oa .oa-text h2{font-stretch:112%}
.o-tablee.oa,.o-tablee.ol-listing,.o-semaine.oa,.o-semaine.ol-listing{--measure:56ch}
.o-douze.oa .oa-head h1{font-weight:900}
.o-tablee.oa .oa-head h1{font-weight:800}
.o-tablee.oa .oa-no{border-radius:999px}
.o-comptes.oa .oa-no{font-family:var(--mono);font-weight:500;border-radius:0}
.o-comptes.oa .oa-byline span:last-of-type{font-family:var(--mono)}

/* ===================== Pages communes (listes, adresses, outils, pages simples) ===================== */
.ed-organiser .listing-header h1,.ed-organiser :is(.directory-page,.simple-page,.about-page,.conditions-page,.access-page) h1{letter-spacing:-.02em;max-width:22ch}
.o-douze ~ main :is(.listing-header,.directory-heading,.simple-page,.about-page) h1{font-weight:900;font-stretch:112%}
.o-tablee ~ main :is(.listing-header,.directory-heading,.simple-page,.about-page) h1{font-weight:800}
.o-comptes ~ main :is(.listing-header,.directory-heading,.simple-page,.about-page) h1{font-weight:700}
.o-semaine ~ main :is(.listing-header,.directory-heading,.simple-page,.about-page) h1{font-weight:800}
.ed-organiser .listing-header{margin-bottom:24px}
.ed-organiser .topic-nav a{border-radius:var(--r)}
.o-tablee ~ main .topic-nav a,.o-semaine ~ main .topic-nav a{border-radius:999px}
.ed-organiser .topic-nav a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:#fff}
.ed-organiser .story .category{color:var(--accent)}
.o-semaine ~ main .story .photo img{border-radius:12px}
.ed-organiser .listing input[type=search]{width:100%;max-width:560px;min-height:48px;padding:0 16px;border:2px solid var(--ink);border-radius:var(--r);font:400 var(--t3)/1 var(--text);background:#fff;box-sizing:border-box}
.ed-organiser .search-label{display:block;margin:24px 0 8px;font:700 var(--t2)/1.3 var(--text)}
/* Annuaire et outils */
.ed-organiser .directory-heading{display:grid;gap:8px;margin-bottom:24px}
.ed-organiser .directory-heading .back-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--t2);color:var(--muted);justify-self:start}
.ed-organiser .directory-heading p{max-width:var(--measure);font-size:var(--t3);color:var(--muted);margin:0}
.ed-organiser .place-filters{display:grid;gap:16px;padding:24px;margin:0 0 32px;background:var(--wash);border:1px solid var(--line);border-radius:var(--r)}
@media(min-width:760px){.ed-organiser .place-filters{grid-template-columns:2fr 1fr 1fr}.ed-organiser .place-filters .filter-more,.ed-organiser .place-filters .filter-actions{grid-column:1/-1}}
.ed-organiser .place-filters label{display:grid;gap:8px;font:700 var(--t2)/1.3 var(--text)}
.ed-organiser .place-filters :is(input,select){min-height:48px;padding:0 12px;border:1px solid var(--muted);border-radius:var(--r);background:#fff;color:var(--ink);font:400 var(--t3)/1 var(--text);box-sizing:border-box;width:100%}
.ed-organiser .filter-more summary{display:inline-flex;align-items:center;min-height:44px;font:700 var(--t2)/1 var(--text);cursor:pointer}
.ed-organiser .filter-more-fields{display:grid;gap:16px;margin-top:8px}
@media(min-width:760px){.ed-organiser .filter-more-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ed-organiser .filter-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.ed-organiser .filter-actions button{min-height:44px;padding:0 16px;border:1px solid var(--ink);border-radius:var(--r);background:#fff;color:var(--ink);font:700 var(--t2)/1 var(--text);cursor:pointer}
.ed-organiser .filter-actions p{margin:0;font-size:var(--t2);color:var(--muted)}
.ed-organiser .directory-section-title{margin:48px 0 16px;font-size:var(--t5)}
.ed-organiser .directory-page > .budget-panel{grid-column:auto;grid-row:auto;margin:0 0 32px;padding:24px;background:var(--wash);border:1px solid var(--line);border-radius:var(--r)}
.ed-organiser .directory-page > .budget-panel h2{margin:0;font-size:var(--t5)}
.ed-organiser .directory-page > .budget-panel > p{font-size:var(--t2);color:var(--muted);margin:8px 0 24px}
.ed-organiser .directory-page > .budget-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
@media(min-width:760px){.ed-organiser .directory-page > .budget-panel form{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ed-organiser .directory-page > .budget-panel label{display:grid;gap:8px;align-content:end;font:700 var(--t1)/1.3 var(--text)}
.ed-organiser .directory-page > .budget-panel input{min-height:48px;padding:0 12px;border:1px solid var(--muted);border-radius:var(--r);font:400 var(--t3)/1 var(--mono);font-variant-numeric:tabular-nums}
.ed-organiser .directory-page > .budget-panel button{min-height:48px;border-radius:var(--r)}
.ed-organiser .directory-page > .budget-panel button[type=reset]{border:1px solid var(--ink);background:#fff;color:var(--ink);font:700 var(--t2)/1 var(--text)}
.ed-organiser .selection-panel{margin:0 0 32px;padding:24px;border:1px solid var(--ink);border-radius:var(--r);background:#fff}
.ed-organiser .selection-panel h2{margin:0;font-size:var(--t5)}
.ed-organiser .selection-actions button{min-height:44px;border-radius:var(--r)}
/* Fiches de lieux */
.ed-organiser .place-card{display:grid;align-content:start;gap:8px;padding:0 0 16px;border:0;border-top:2px solid var(--ink);border-radius:0;background:none}
.ed-organiser .place-card > :not(.place-gallery,.place-photo){margin-left:0;margin-right:0}
.ed-organiser .place-card h2,.ed-organiser .place-card h3{margin:4px 0 0;font-size:var(--t4);line-height:1.2}
.ed-organiser .place-card h2 a,.ed-organiser .place-card h3 a{text-decoration:none}
.ed-organiser .place-card p{margin:0;font-size:var(--t2);line-height:1.5}
.ed-organiser .place-top{display:flex;flex-wrap:wrap;gap:4px 12px;padding-top:12px;font:700 var(--t1)/1.4 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ed-organiser .place-kind{color:var(--accent);background:none;padding:0;border-radius:0}
.ed-organiser .place-card > .place-notice{padding:8px 12px;background:var(--wash);color:var(--ink);border:0;border-radius:0}
.ed-organiser .place-address{color:var(--muted)}
.ed-organiser .place-actions{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:4px}
.ed-organiser .place-actions a{display:inline-flex;align-items:center;min-height:44px;font:700 var(--t2)/1.2 var(--text);color:var(--accent)}
.ed-organiser .place-actions .save-place{width:auto;margin:0;min-height:44px;padding:0 16px;border:1px solid var(--ink);border-radius:var(--r);background:#fff;color:var(--ink);font:700 var(--t2)/1 var(--text)}
.ed-organiser .place-actions .save-place[aria-pressed=true]{background:var(--ink);color:#fff}
.ed-organiser .place-provenance summary{display:inline-flex;align-items:center;min-height:44px;font-size:var(--t1);color:var(--muted);cursor:pointer}
.ed-organiser .place-provenance{font-size:var(--t1)}
.ed-organiser .place-provenance a{display:inline-flex;align-items:center;min-height:44px}
/* Pages simples */
.ed-organiser .simple-page{font-size:var(--t3);line-height:1.65}
.ed-organiser .simple-page h2{margin:40px 0 12px;font-size:var(--t5);line-height:1.2}
.ed-organiser .simple-page :is(p,li){max-width:var(--measure)}

/* Liste d'articles : un registre, sans vignettes */
.ol-list{margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.ol-item:not([hidden]){display:block;border-bottom:1px solid var(--line)}
.ol-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:16px 0;text-decoration:none}
.ol-kick{grid-column:1/-1;font:700 var(--t1)/1.4 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.ol-t{grid-column:1;margin:0;font-size:var(--t4);line-height:1.25}
.ol-s{grid-column:1;margin:0;font-size:var(--t2);line-height:1.5;color:var(--muted);max-width:var(--measure)}
.ol-m{grid-column:2;grid-row:2;align-self:start;padding-top:4px;font-size:var(--t1);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.ed .ol-link:hover .ol-t{color:var(--accent)}
.o-douze.ol-listing .ol-t{font-stretch:110%;font-weight:800}
.o-tablee.ol-listing .ol-t{font-weight:700}
.o-comptes.ol-listing .ol-m{font-family:var(--mono)}
.o-semaine.ol-listing .ol-item:not([hidden]){border:0;margin-bottom:8px}
.o-semaine.ol-listing .ol-list{border:0}
.o-semaine.ol-listing .ol-link{padding:16px;background:var(--wash);border-radius:12px}
@media(min-width:900px){.ol-link{padding:24px 0}.o-semaine.ol-listing .ol-link{padding:24px}}

/* Fiches de lieux (composant partagé) : cibles tactiles, tailles sur l'échelle, repères en ligne */
.ed-organiser .place-card :is(h2,h3) a{display:inline;padding:10px 0;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ed-organiser .place-card :is(figcaption,figcaption a){font-size:var(--t1);line-height:1.45}
.ed-organiser .place-card figcaption a{display:inline-flex;align-items:center;min-height:24px}
.ed-organiser .place-card .place-facts{display:block;margin:4px 0 0;padding:0;list-style:none;font-size:var(--t2);font-weight:700;font-variant-numeric:tabular-nums}
.ed-organiser .place-card .place-facts li{display:contents}
.ed-organiser .place-card .place-facts li + li::before{content:" · ";font-weight:400;color:var(--muted)}
.ed-organiser .selection-panel :is(p,span),.ed-organiser .selection-jump{font-size:var(--t2)}
.ed-organiser .conditions-places > h2{font-size:var(--t5);line-height:1.2}
.ed-organiser .scw h3{font-size:var(--t4)}
.ed-organiser .scw h4{font-size:var(--t3)}
.ed-organiser .scw-foot{font-size:var(--t1)}
.ed .ed-organiser .scw .scw-btn-primary,.ed-organiser .scw .scw-btn-primary{background:var(--ink);color:var(--paper)}
.ed-organiser .ed-menu:not([open]) nav{display:none}
.ed-organiser .place-gallery figcaption a{display:inline-flex;align-items:center;min-height:44px}
.ed-organiser .photo figcaption a{display:inline-block;padding:12px 0;margin:-12px 0}
.ed-organiser .place-photo figcaption a{display:inline-block;padding:12px 0;margin:-12px 0}
.ed-organiser .place-gallery ul{gap:8px;padding:0 0 8px}
.oa-points{max-width:var(--measure)}
