/* Réseau Mycélium — feuille de style du site et de l'espace membres
   Mise en page : bandes pleine largeur aux couleurs des univers (logos), contenu centré à 1120 px,
   losange et filaments repris des logos comme seul motif décoratif. */
:root{
  --paper:#f5f7f0; --paper-2:#eaf0e0; --ink:#1d2b21; --ink-2:#4d5c50; --line:#d5dec9;
  --foret:#243728; --lichen:#e3ffb8; --jardins:#00a07d; --facil:#ff8f00; --wiki:#161632; --nuage:#004e63; --membres:#3b004c;
  --ok:#1f7a4a; --warn:#a85b00; --bad:#b3261e;
  --uni:var(--jardins); --uni-ink:#fff;
  --f-ui:"Raleway",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --w:1120px; --r:14px; --r-s:9px;
  --gut-l:max(16px,env(safe-area-inset-left,0px)); --gut-r:max(16px,env(safe-area-inset-right,0px));
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font:500 17px/1.6 var(--f-ui);font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--hb,var(--foret))}
body{overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3{line-height:1.15;text-wrap:balance;margin:0;font-weight:700;letter-spacing:-.01em}
p{margin:0}
:focus-visible{outline:3px solid var(--facil);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:99}.skip:focus{left:12px}
.gut{padding-left:var(--gut-l);padding-right:var(--gut-r)}
.in{max-width:var(--w);margin:0 auto}
.i{flex:none;vertical-align:-3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- Teintes de bloc ---------- */
.tone{background:var(--b);color:var(--f)}
.tone h1,.tone h2,.tone h3{color:var(--h)}
.tone .mute{color:var(--m)}

/* ---------- Barre principale ---------- */
#top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--hb,var(--foret));color:var(--hf,#eef5e4);transition:background .3s,color .3s}

body.bo-mode .nav a[aria-current="page"]{background:#f0c0f0;color:var(--membres)}
body.bo-mode .nav a:hover{background:rgba(240,192,240,.14)}
.bar{display:flex;align-items:center;gap:12px;min-height:64px}
#top .in{max-width:1320px}
.nav{margin-left:8px!important}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand img{width:40px;height:40px;border-radius:50%}
.brand b{display:block;font-size:13px;font-weight:300;letter-spacing:.02em;line-height:1.1}
.brand b span{display:block;font-weight:800;font-size:15px;letter-spacing:.12em}
.nav{display:flex;gap:2px;margin:0 auto 0 12px;flex-wrap:nowrap;overflow:hidden;min-width:0}
.nav a{padding:7px 10px;border-radius:999px;text-decoration:none;font-size:14.5px;font-weight:600;white-space:nowrap;color:#dfe9d6}
.nav a:hover{background:rgba(227,255,184,.12)}
.nav a[aria-current="page"]{background:var(--lichen);color:var(--foret)}
.nav a.priv::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#f0c0f0;margin-left:6px;vertical-align:2px}
.nav a.ghost{opacity:.55;font-style:italic}
.bar-r{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}
.edsw{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,currentColor 10%,transparent);border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:999px;padding:5px 12px 5px 6px;font-size:14px;font-weight:700;color:inherit}
.edsw .knob{width:38px;height:22px;border-radius:999px;background:color-mix(in srgb,currentColor 25%,transparent);position:relative;transition:background .2s}
.edsw .knob::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.edsw[aria-pressed="true"]{background:var(--lichen);color:var(--foret);border-color:var(--lichen)}
.edsw[aria-pressed="true"] .knob{background:var(--foret)}
.edsw[aria-pressed="true"] .knob::after{transform:translateX(16px);background:var(--lichen)}
.tbtn{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:inherit;padding:8px 10px;border-radius:999px;font-weight:700;font-size:15px}
.tbtn:hover{background:color-mix(in srgb,currentColor 12%,transparent)}
.av{width:32px;height:32px;border-radius:50%;display:inline-grid;place-items:center;font-size:13px;font-weight:800;background:#f0c0f0;color:var(--membres);flex:none}
.burger{display:none}
#top.tight .nav{display:none}#top.tight .burger{display:inline-flex}
@media (max-width:1060px){.nav{display:none}.burger{display:inline-flex}.edsw .lbl{display:none}.edsw{padding:5px 6px}}
@media (max-width:420px){.brand b{display:none}}
#drawer{position:fixed;inset:0;z-index:70;background:rgba(10,20,12,.5);display:flex;justify-content:flex-end}
#drawer .dr{width:min(340px,88vw);background:var(--foret);color:#eef5e4;height:100%;overflow:auto;padding:calc(16px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) 30px 18px;display:flex;flex-direction:column;gap:4px}
#drawer a{display:block;padding:12px 14px;border-radius:12px;text-decoration:none;font-weight:700;font-size:18px}
#drawer a[aria-current="page"]{background:var(--lichen);color:var(--foret)}
#drawer .x{align-self:flex-end}

/* ---------- Menu unique, sur le côté ---------- */
:root{--sw:268px}
#side{position:fixed;top:0;bottom:0;left:0;width:var(--sw);z-index:66;background:var(--foret);color:#e7efdd;overflow-y:auto;display:flex;flex-direction:column;gap:18px;
  padding:calc(18px + env(safe-area-inset-top,0px)) 14px calc(18px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));transition:background .3s,transform .25s ease;scrollbar-width:thin}
body.bo-mode #side{background:var(--membres);color:#f1e3f5}
.sd-top{display:flex;align-items:center;gap:8px;padding:0 4px}
.sd-top .brand img{width:46px;height:46px}
.sd-top .brand{min-height:46px}
#side .sd-x{display:none;margin-left:auto;background:rgba(255,255,255,.12);color:inherit}
.sd-me .av{box-shadow:0 0 0 2px rgba(255,255,255,.55)}
.sd-sec{display:flex;flex-direction:column;gap:2px}
.sd-h{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;opacity:.7;padding:0 12px 6px}
.sd-mem .sd-h{opacity:1;color:#f0c0f0;font-size:12px;letter-spacing:.12em}
.sd-mem .sd-h img{width:30px;height:30px;border-radius:50%;box-shadow:0 0 0 2px rgba(240,192,240,.5)}
body:not(.bo-mode) .sd-mem{background:rgba(59,0,76,.55);border-radius:16px;padding:10px 6px 6px}
.sd-a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:11px;text-decoration:none;font-weight:600;font-size:15px;color:inherit;line-height:1.25}
.sd-a:hover{background:rgba(255,255,255,.09)}
.sd-a[aria-current="page"]{background:var(--lichen);color:var(--foret)}
body.bo-mode .sd-a[aria-current="page"],.sd-mem .sd-a[aria-current="page"]{background:#f0c0f0;color:var(--membres)}
.sd-a.ghost{opacity:.5;font-style:italic}
.sd-a .dia{width:10px;height:10px;border-radius:2px;transform:rotate(45deg);background:var(--dc);flex:none;margin:0 3px;box-shadow:0 0 0 1.5px rgba(255,255,255,.3)}
.sd-a .tag,.sd-a .cnt{margin-left:auto}
.sd-a .cnt{min-width:22px;height:22px;border-radius:999px;background:var(--facil);color:#2b1700;font-size:12px;font-weight:800;display:grid;place-items:center;padding:0 6px}
.sd-a .tag{opacity:.7}
.sd-foot{margin-top:auto;display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(255,255,255,.14);padding-top:14px}
.sd-me{display:flex;gap:10px;align-items:center;padding:4px 10px 8px}
.sd-me b{display:block;font-size:14.5px;line-height:1.2}.sd-me small{display:block;font-size:12.5px;opacity:.75}
.sd-login{display:flex;gap:12px;align-items:center;text-align:left;border:0;border-radius:14px;padding:10px 12px;background:rgba(59,0,76,.75);color:#f4e8f7;margin-bottom:4px}
.sd-login:hover{background:var(--membres)}
.sd-login img{width:40px;height:40px;border-radius:50%}
.sd-login b{display:block;font-size:15px}.sd-login small{display:block;font-size:12.5px;opacity:.8}
#top .bar{min-height:56px}
.tb-title{font-weight:700;font-size:15px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mob{display:none}
@media (min-width:1000px){#top,#main,#foot{margin-left:var(--sw)}.burger{display:none!important}}
@media (max-width:999px){
  #side{transform:translateX(-105%);width:min(300px,86vw);box-shadow:12px 0 40px rgba(0,0,0,.3)}
  #side.open{transform:none}
  #side .sd-x{display:grid}
  #scrim{position:fixed;inset:0;z-index:65;background:rgba(10,20,12,.45)}
  .burger{display:inline-flex!important}
  .mob{display:inline-flex}
  #top .brand.mob img{width:34px;height:34px}
}
.bo-hero{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.bo-hero img{width:64px;height:64px;border-radius:50%;box-shadow:0 6px 18px rgba(59,0,76,.25)}
.bo-hero .eyebrow{color:var(--membres)}
.bo{grid-template-columns:minmax(0,1fr)!important}
.steps.guide{counter-reset:s;list-style:none;padding:0;gap:10px}
.steps.guide li{counter-increment:s;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;background:var(--paper);border-radius:12px;padding:10px 12px}
.steps.guide li::before{content:counter(s);width:28px;height:28px;border-radius:50%;background:var(--jardins);color:#fff;font-weight:800;display:grid;place-items:center}
.steps.guide li>span{min-width:0;padding-top:3px}
.steps.guide code{word-break:break-all;background:#fff;border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:14px}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;border:2px solid transparent;background:var(--btn,var(--uni));color:var(--bi,var(--uni-ink));font-weight:700;font-size:16px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.14)}
.btn.out{background:transparent;color:var(--btn,var(--uni));border-color:currentColor}
.btn.sm{min-height:36px;padding:0 14px;font-size:14px}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.lnk{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}

/* ---------- Sections ---------- */
.sec{position:relative;padding-block:clamp(48px,7vw,88px)}
.sec.tight{padding-block:clamp(36px,5vw,56px)}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--h);opacity:.85}
.sec-h{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;max-width:720px}
.sec-h h2{font-size:clamp(28px,3.6vw,40px)}
.prose{max-width:68ch;display:flex;flex-direction:column;gap:14px}
.prose.wide{max-width:none;columns:2 340px;column-gap:48px;display:block}
.prose.wide>*{break-inside:avoid;margin-bottom:14px}
.prose ul,.prose ol{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px}
.prose h3{font-size:21px;margin-top:6px}
.prose.wide h3{break-after:avoid;break-inside:avoid}
.prose a{font-weight:700;text-underline-offset:3px}
.cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px clamp(28px,5vw,64px);align-items:start}
@media (max-width:760px){.cols2{grid-template-columns:minmax(0,1fr)}}
.txt-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.txt-grid.img-r{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.txt-grid.img-l{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.txt-grid.img-l .fig{order:-1}
.fig img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
@media (max-width:760px){.txt-grid.img-r,.txt-grid.img-l{grid-template-columns:minmax(0,1fr)}.txt-grid.img-l .fig{order:0}}

/* En-tête : le losange du logo, le titre en lockup comme sur les écussons */
.hero{overflow:hidden;padding-block:clamp(48px,8vw,104px)}
.hero.compact{padding-block:clamp(36px,5vw,60px)}
.hero .roots{position:absolute;inset:0;background-size:900px auto;background-repeat:repeat-x;background-position:center bottom;opacity:.55;pointer-events:none}
.hero .in{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(24px,5vw,64px);align-items:center}
.hero.nologo .in{grid-template-columns:minmax(0,1fr)}
.lockup{display:inline-flex;flex-direction:column;gap:10px}
.lockup .t1{font-weight:300;font-size:clamp(40px,6.4vw,76px);letter-spacing:-.02em;line-height:1}
.lockup .rule{height:3px;width:min(100%,5.5em);background:currentColor;opacity:.9;border-radius:2px}
.lockup .t2{font-weight:800;font-size:clamp(17px,2.2vw,26px);letter-spacing:.32em;text-transform:uppercase}
.hero .lead{margin-top:22px;max-width:56ch;font-size:clamp(17px,1.6vw,20px);color:var(--f)}
.hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero .seal{justify-self:end;width:min(100%,300px);aspect-ratio:1;border-radius:50%;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.hero .seal img{width:100%;height:100%;border-radius:50%}
@media (max-width:760px){.hero .in{grid-template-columns:minmax(0,1fr)}.hero .seal{justify-self:start;width:132px;order:-1}}

/* Bulles de mission */
.bubbles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px}
.bub{position:relative;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14%;background:var(--bb);color:var(--bf);gap:6px}
.bub::before{content:"";position:absolute;inset:15.5%;border:1.5px solid currentColor;opacity:.35;transform:rotate(45deg);border-radius:6px}
.bub b{font-size:clamp(17px,1.6vw,20px);line-height:1.2;position:relative}
.bub span{font-size:14.5px;line-height:1.4;position:relative;opacity:.9}
@media (max-width:520px){.bubbles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bub{padding:12%}.bub span{display:none}}

/* Cartes */
.card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;padding:clamp(22px,3vw,34px);border-radius:22px;background:var(--cb);color:var(--cf);text-decoration:none;position:relative;overflow:hidden}
.card .ic{width:84px;height:84px;border-radius:50%;flex:none}
.card .ic.dia{border-radius:10px;transform:rotate(45deg) scale(.78);background:var(--cf);opacity:.18}
.card h3{font-size:clamp(21px,2.2vw,26px);color:var(--cf)}
.card p{margin-top:6px;opacity:.88;max-width:60ch}
.card .go{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--cf);color:var(--cb);transition:transform .2s}
a.card:hover .go{transform:translateX(4px) rotate(-8deg)}
@media (max-width:620px){.card{grid-template-columns:minmax(0,1fr);gap:14px}.card .ic{width:64px;height:64px}.card .go{display:none}}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.c3{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:18px;background:var(--cb);color:var(--cf);text-decoration:none;min-height:100%;border:1.5px solid color-mix(in srgb,var(--cf) 14%,transparent)}
.c3 .k{font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.c3 h3{font-size:21px;color:var(--cf)}
.c3 p{opacity:.88;font-size:16px}
.c3 .more{margin-top:auto;padding-top:8px;font-weight:700;display:inline-flex;gap:6px;align-items:center}
@media (max-width:860px){.cards3{grid-template-columns:minmax(0,1fr)}}

/* Portails (logos des univers) */
.portals{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px}
.portal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;text-decoration:none;padding:10px}
.portal img{width:min(190px,60vw);aspect-ratio:1;border-radius:50%;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.portal:hover img{transform:rotate(-6deg) scale(1.04);box-shadow:0 18px 40px rgba(0,0,0,.2)}
.portal b{font-size:21px}
.portal span{max-width:32ch;opacity:.85;font-size:16px}

/* Appel à l'action */
.cta .in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta h2{font-size:clamp(26px,3.4vw,40px);max-width:24ch}
.cta p{margin-top:10px;max-width:56ch}

/* Événements */
.evs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.ev{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;padding:18px;border-radius:18px;background:var(--evb,#fff);color:var(--ink);text-align:left;border:1px solid var(--line);width:100%}
.ev:hover{border-color:var(--ink-2)}
.ev .dt{width:72px;height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:14px;background:var(--ec);color:var(--eci);line-height:1}
.ev .dt b{font-size:28px;font-weight:800}
.ev .dt span{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}
.ev h3{font-size:18px}
.ev .meta{font-size:14.5px;color:var(--ink-2);margin-top:6px;display:flex;flex-direction:column;gap:2px}
.ev .seats{margin-top:8px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--paper-2);width:max-content}
.ev .seats.full{background:#fde3df;color:var(--bad)}
.empty{padding:26px;border:1.5px dashed currentColor;border-radius:18px;opacity:.75}

/* Articles */
.arts{display:flex;flex-direction:column;border-top:1.5px solid color-mix(in srgb,var(--f) 22%,transparent)}
.art{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:18px;align-items:baseline;padding:18px 4px;border-bottom:1.5px solid color-mix(in srgb,var(--f) 22%,transparent);text-decoration:none}
.art .src{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.art b{font-size:18px}
.art time{font-size:14px;opacity:.75;white-space:nowrap}
.art:hover b{text-decoration:underline;text-underline-offset:4px}
@media (max-width:620px){.art{grid-template-columns:minmax(0,1fr)}.art time{order:-1}}

/* Instagram */
.ig{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ig a{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;display:block}
.ig img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ig a:hover img{transform:scale(1.05)}
.ig .cap{position:absolute;inset:auto 0 0;padding:28px 10px 8px;font-size:13px;line-height:1.3;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6));opacity:0;transition:opacity .2s}
.ig a:hover .cap,.ig a:focus .cap{opacity:1}
.ig-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px;margin-bottom:22px}
@media (max-width:700px){.ig{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Formulaires publics */
.form{display:grid;gap:14px;max-width:640px}
.form .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
@media (max-width:560px){.form .two{grid-template-columns:minmax(0,1fr)}}
.fld{display:flex;flex-direction:column;gap:6px;font-size:14.5px;font-weight:700}
.fld input,.fld textarea,.fld select{border:1.5px solid color-mix(in srgb,currentColor 25%,transparent);background:color-mix(in srgb,var(--b,#fff) 70%,#fff);color:var(--ink);border-radius:12px;padding:12px 14px;font-weight:500;font-size:16px;width:100%}
.fld textarea{min-height:130px;resize:vertical}
.fld small{font-weight:500;opacity:.75}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:600;font-size:15px}
.chk input{width:20px;height:20px;margin-top:2px;accent-color:var(--uni);flex:none}
.done{display:flex;gap:12px;align-items:center;padding:16px 18px;border-radius:14px;background:color-mix(in srgb,var(--f) 10%,transparent);font-weight:700}
.nl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;padding:clamp(24px,4vw,44px);border-radius:26px;background:var(--cb);color:var(--cf);position:relative;overflow:hidden}
.nl h2{color:var(--cf);font-size:clamp(26px,3vw,36px)}
.nl .row{display:flex;gap:10px;flex-wrap:wrap}
.nl .row input{flex:1 1 220px;min-width:0;border:0;border-radius:999px;padding:0 18px;min-height:48px;font-size:16px;color:var(--ink);background:#fff}
@media (max-width:760px){.nl{grid-template-columns:minmax(0,1fr)}}
.bank{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.bank div{padding:18px 20px;border-radius:16px;background:color-mix(in srgb,var(--f) 7%,transparent)}
.bank dt{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.bank dd{margin:4px 0 0;font-size:18px;font-weight:700;word-break:break-word;font-variant-numeric:tabular-nums}
.copy{border:0;background:transparent;padding:2px 6px;margin-left:4px;border-radius:6px;font-size:13px;font-weight:700;color:inherit;opacity:.7}
.copy:hover{opacity:1;background:color-mix(in srgb,var(--f) 12%,transparent)}
.socials{display:flex;flex-wrap:wrap;gap:12px}
.soc{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:700;background:color-mix(in srgb,var(--f) 10%,transparent)}
.soc:hover{background:color-mix(in srgb,var(--f) 18%,transparent)}
.perm{display:flex;flex-direction:column;gap:6px}
.perm div{display:flex;gap:10px;align-items:baseline}
.perm b{min-width:5.5em;text-transform:capitalize}

/* ---------- Pied de page ---------- */
#foot{background:var(--hb,var(--foret));color:var(--hf,#dfe9d6);position:relative;overflow:hidden;transition:background .3s,color .3s}
#foot .roots{position:absolute;inset:0;background-size:900px auto;background-repeat:repeat-x;background-position:center top;opacity:.35;transform:scaleY(-1);pointer-events:none}
#foot .in{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:32px;padding-block:56px 28px}
#foot h4{margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hl,var(--lichen))}
#foot a{text-decoration:none}#foot a:hover{text-decoration:underline}
#foot .col{display:flex;flex-direction:column;gap:6px;font-size:15.5px;min-width:0}
#foot .legal{grid-column:1/-1;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent);padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:14px;opacity:.75}
@media (max-width:860px){#foot .in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:520px){#foot .in{grid-template-columns:minmax(0,1fr)}}

/* ---------- Mode édition ---------- */
body.editing .blk{outline:2px dashed transparent;outline-offset:-6px;transition:outline-color .15s}
body.editing .blk:hover{outline-color:color-mix(in srgb,var(--facil) 70%,transparent)}
body.editing .blk.off{opacity:.5}
body.editing .blk.off::after{content:"Masqué : visible seulement en mode modification";position:absolute;top:12px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:13px;font-weight:700;padding:5px 12px;border-radius:999px;white-space:nowrap}
.tb{position:absolute;top:10px;right:max(10px,env(safe-area-inset-right,0px));z-index:5;display:flex;gap:4px;align-items:center;background:#fff;color:var(--ink);border-radius:999px;padding:4px;box-shadow:0 6px 20px rgba(0,0,0,.18);font-size:13px}
.tb .lbl{font-weight:800;padding:0 8px 0 10px;white-space:nowrap}
.tb button{width:34px;height:34px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;color:var(--ink)}
.tb button:hover{background:var(--paper-2)}
.tb button[disabled]{opacity:.3;cursor:default}
@media (max-width:560px){.tb .lbl{display:none}}
[data-e],[data-rich]{border-radius:6px;transition:box-shadow .15s}
body.editing [data-e],body.editing [data-rich]{cursor:text;box-shadow:0 0 0 1.5px color-mix(in srgb,currentColor 30%,transparent)}
body.editing [data-e]:focus,body.editing [data-rich]:focus{outline:none;box-shadow:0 0 0 2.5px var(--facil)}
body.editing [data-e]:empty::before{content:attr(data-ph);opacity:.45}
.addb{display:flex;justify-content:center;position:relative;height:0;z-index:6}
.addb button{position:absolute;top:-19px;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px 0 12px;border-radius:999px;border:2px solid #fff;background:var(--facil);color:#2b1700;font-weight:800;font-size:14px;box-shadow:0 6px 16px rgba(0,0,0,.2);opacity:.0;transition:opacity .15s}
body.editing .addb:hover button,body.editing .addb button:focus,.addb.last button{opacity:1}
body.editing .addb::before{content:"";position:absolute;left:0;right:0;top:-24px;height:48px}
.addb.last{height:auto;padding:34px 0}.addb.last button{position:static}
.pagebar{background:#fff7e8;border-bottom:1px solid #f2d9b0;color:#4a2a00}
.pagebar .in{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding-block:10px;font-size:14.5px}
.pagebar b{font-weight:800}
.pagebar label{display:inline-flex;gap:6px;align-items:center;font-weight:700}
.pagebar select{border:1.5px solid #e5c38f;background:#fff;border-radius:8px;padding:4px 8px}
#rtb{position:absolute;z-index:80;display:flex;gap:2px;background:var(--ink);color:#fff;border-radius:10px;padding:4px;box-shadow:0 8px 22px rgba(0,0,0,.25)}
#rtb button{border:0;background:transparent;color:#fff;min-width:34px;height:32px;border-radius:7px;font-weight:800;font-size:14px;display:grid;place-items:center;padding:0 6px}
#rtb button:hover,#rtb button[aria-pressed="true"]{background:rgba(255,255,255,.16)}
#savebar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:55;display:flex;align-items:center;gap:8px;background:var(--ink);color:#fff;padding:7px 8px 7px 16px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.3);font-size:14px;font-weight:700;max-width:calc(100vw - 32px)}
#savebar .st{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
#savebar .st::before{content:"";width:8px;height:8px;border-radius:50%;background:#7bd88f}
#savebar.busy .st::before{background:#ffc251}
#savebar button{border:0;border-radius:999px;padding:8px 14px;font-weight:800;background:rgba(255,255,255,.12);color:#fff;white-space:nowrap}
#savebar button.pri{background:var(--lichen);color:var(--foret)}

/* ---------- Panneau de réglages et fenêtres ---------- */
#panel{position:fixed;top:0;right:0;bottom:0;z-index:75;width:min(400px,100vw);background:#fff;color:var(--ink);box-shadow:-12px 0 40px rgba(0,0,0,.2);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}
.p-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.p-head h2{font-size:19px;flex:1}
.p-body{flex:1;overflow:auto;padding:18px max(18px,env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) 18px;display:flex;flex-direction:column;gap:18px}
.pf{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:700}
.pf>span{font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.pi,.pf input:not([type=checkbox]):not([type=radio]):not([type=color]),.pf select,.pf textarea{border:1.5px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;font-weight:500;width:100%;font-size:15px}
.pf textarea{min-height:90px;resize:vertical}
.ph-note{font-size:13.5px;font-weight:500;color:var(--ink-2);line-height:1.45}
.sw-row{display:flex;flex-wrap:wrap;gap:8px}
.sw{width:44px;height:44px;border-radius:12px;border:3px solid #fff;box-shadow:0 0 0 1.5px var(--line);background:var(--s);position:relative}
.sw[aria-pressed="true"]{box-shadow:0 0 0 3px var(--ink)}
.sw[aria-pressed="true"]::after{content:"";position:absolute;inset:0;margin:auto;width:10px;height:10px;border-radius:50%;background:var(--si)}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:7px 13px;font-weight:700;font-size:14px}
.seg button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.tgl{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:700;font-size:15px}
.tgl input{appearance:none;width:44px;height:26px;border-radius:999px;background:var(--line);position:relative;flex:none;transition:background .2s;cursor:pointer}
.tgl input::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.tgl input:checked{background:var(--jardins)}.tgl input:checked::after{transform:translateX(18px)}
.tgl input:disabled{opacity:.45;cursor:not-allowed}
.list-ed{display:flex;flex-direction:column;gap:10px}
.li-ed{border:1.5px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--paper)}
.li-ed .row{display:flex;gap:6px;justify-content:flex-end}
.ub{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--ink)}
.ub:hover{background:var(--paper-2)}
.ub.bad{color:var(--bad)}
.pbtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px;font-weight:700;font-size:14.5px;color:var(--ink)}
.pbtn:hover{background:var(--paper-2)}
.pbtn.pri{background:var(--foret);color:#fff;border-color:var(--foret)}
.pbtn.bad{color:var(--bad);border-color:#efc4be}
.pbtn.bad.sure{background:var(--bad);color:#fff;border-color:var(--bad)}
.pbtn[disabled]{opacity:.45;cursor:not-allowed}
.modal{position:fixed;inset:0;z-index:90;background:rgba(14,22,16,.55);display:grid;place-items:center;padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.mbox{width:min(560px,100%);max-height:100%;overflow:auto;background:#fff;color:var(--ink);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.mbox.wide{width:min(860px,100%)}
.m-head{position:sticky;top:0;background:#fff;display:flex;align-items:center;gap:12px;padding:18px 20px 12px;z-index:1}
.m-head h2{flex:1;font-size:22px}
.m-body{padding:4px 22px 24px;display:flex;flex-direction:column;gap:16px}
.x{width:40px;height:40px;border-radius:50%;border:0;background:var(--paper-2);display:grid;place-items:center;color:var(--ink);flex:none}
.tabs{display:flex;gap:4px;background:var(--paper-2);padding:4px;border-radius:999px;flex-wrap:wrap}
.tabs button{flex:1;border:0;background:transparent;padding:9px 12px;border-radius:999px;font-weight:700;font-size:14.5px;white-space:nowrap}
.tabs button[aria-selected="true"]{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.picker h3{grid-column:1/-1;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:8px}
.pick{display:flex;gap:12px;align-items:flex-start;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:12px;color:var(--ink)}
.pick:hover{border-color:var(--ink);background:var(--paper)}
.pick .pk-i{width:38px;height:38px;border-radius:10px;background:var(--paper-2);display:grid;place-items:center;flex:none}
.pick b{display:block;font-size:15px}
.pick small{display:block;font-size:13px;color:var(--ink-2);line-height:1.35;margin-top:2px}
.m-form .fld input,.m-form .fld textarea,.m-form .fld select{background:#fff}
.roles-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.rp{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;font-weight:600;font-size:14.5px;cursor:pointer;background:#fff}
.rp:has(input:checked){border-color:var(--rc,var(--ink));background:color-mix(in srgb,var(--rc,var(--ink)) 8%,#fff)}
.rp:has(input:disabled){opacity:.55;cursor:not-allowed}
.rp input{width:19px;height:19px;margin-top:2px;accent-color:var(--rc,var(--ink));flex:none}
.rp small{display:block;font-weight:500;color:var(--ink-2);font-size:13px;line-height:1.35}
.err{background:#fde3df;color:#8a1c12;padding:10px 12px;border-radius:10px;font-weight:600;font-size:14.5px}
.info{background:#eef6e3;color:#24452d;padding:10px 12px;border-radius:10px;font-weight:600;font-size:14.5px}
#toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);z-index:95;background:var(--ink);color:#fff;padding:11px 18px;border-radius:999px;font-weight:700;font-size:14.5px;opacity:0;pointer-events:none;transition:all .25s;max-width:calc(100vw - 32px);text-align:center}
#toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- Espace membres (back-office) ---------- */
.bo{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 64px);background:#f6f3f7}
.bo-nav{background:var(--membres);color:#f4e8f7;padding:22px 12px;display:flex;flex-direction:column;gap:3px;position:sticky;top:calc(64px + env(safe-area-inset-top,0px));align-self:start;height:calc(100vh - 64px - env(safe-area-inset-top,0px));overflow:auto}
.bo-nav .who{display:flex;gap:10px;align-items:center;padding:4px 10px 16px;margin-bottom:8px;border-bottom:1px solid rgba(240,192,240,.2)}
.bo-nav .who img{width:44px;height:44px;border-radius:50%}
.bo-nav .who b{display:block;font-size:15px;line-height:1.2}
.bo-nav .who small{display:block;font-size:12.5px;opacity:.75}
.bo-nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;text-decoration:none;font-weight:700;font-size:15px;color:#ecdcf1}
.bo-nav a:hover{background:rgba(240,192,240,.12)}
.bo-nav a[aria-current="page"]{background:#f0c0f0;color:var(--membres)}
.bo-nav a .tag{margin-left:auto;font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;background:rgba(240,192,240,.22)}
.bo-nav a .cnt{margin-left:auto;min-width:22px;height:22px;border-radius:999px;background:var(--facil);color:#2b1700;font-size:12px;font-weight:800;display:grid;place-items:center;padding:0 6px}
.bo-main{padding:32px clamp(16px,3.4vw,44px) 90px;min-width:0;padding-left:max(clamp(16px,3.4vw,44px),env(safe-area-inset-left,0px));padding-right:max(clamp(16px,3.4vw,44px),env(safe-area-inset-right,0px))}
.g-head{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}
.g-head h1{font-size:clamp(26px,3vw,34px)}
.g-head p{color:var(--ink-2);margin-top:6px;max-width:64ch}
.g-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;align-items:start}
.w{background:#fff;border-radius:18px;padding:20px;border:1px solid #e6dcea;display:flex;flex-direction:column;gap:12px;min-width:0}
.w.span2{grid-column:span 2}
@media (max-width:700px){.w.span2{grid-column:auto}}
.w-h{display:flex;align-items:center;gap:10px}
.w-h .wi{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--wc,var(--paper-2));color:var(--wci,var(--ink));flex:none}
.w-h h2{font-size:17px;flex:1}
.w .big{font-size:34px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.w .sub{color:var(--ink-2);font-size:14.5px}
.w ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.w li{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #f0e9f2;font-size:15px;min-width:0}
.w li:first-child{border-top:0}
.w li .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w li small{color:var(--ink-2);font-size:13px;white-space:nowrap}
.dot{width:9px;height:9px;border-radius:50%;background:var(--facil);flex:none}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--rc,var(--paper-2));color:var(--rci,var(--ink));white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:5px}
.ok-b{color:var(--ok);font-weight:800;font-size:12.5px;display:inline-flex;align-items:center;gap:3px}
.no-b{color:var(--warn);font-weight:800;font-size:12.5px;display:inline-flex;align-items:center;gap:3px}
.soon{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;background:#fff;border:1.5px dashed #d9c6df;border-radius:22px;padding:28px}
.soon img{width:110px;height:110px;border-radius:50%}
.soon h2{font-size:22px}
.soon ul{margin:12px 0 0;padding-left:1.2em;display:flex;flex-direction:column;gap:4px;color:var(--ink-2)}
@media (max-width:600px){.soon{grid-template-columns:minmax(0,1fr)}.soon img{width:72px;height:72px}}
.utable{display:flex;flex-direction:column;background:#fff;border-radius:18px;border:1px solid #e6dcea;overflow:hidden}
.urow{display:grid;grid-template-columns:auto minmax(0,1.3fr) minmax(0,1.4fr) auto;gap:14px;align-items:center;padding:12px 16px;border-top:1px solid #f0e9f2;text-align:left;background:#fff;border-left:0;border-right:0;border-bottom:0;width:100%;color:var(--ink)}
.urow:first-child{border-top:0}
.urow:hover{background:#fbf8fc}
.urow .nm b{display:block}.urow .nm small{color:var(--ink-2);font-size:13.5px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.urow.off{opacity:.55}
@media (max-width:760px){.urow{grid-template-columns:auto minmax(0,1fr)}.urow .chips{grid-column:2}.urow .seen{display:none}}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.filters input{flex:1 1 220px;min-width:0;border:1.5px solid #e2d6e6;border-radius:999px;padding:10px 16px;background:#fff}
.req{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px;border-radius:16px;background:#fff8ec;border:1.5px solid #f6d9a8}
.req .acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:620px){.req{grid-template-columns:minmax(0,1fr)}.req .acts{justify-content:flex-start}}
.pg-list{display:flex;flex-direction:column;gap:8px}
.pg-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid #e6dcea;border-radius:14px;padding:10px 14px}
.pg-row .sq{width:14px;height:14px;transform:rotate(45deg);border-radius:3px;background:var(--pc)}
.pg-row .acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.pg-row small{color:var(--ink-2)}
.set-sec{background:#fff;border:1px solid #e6dcea;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px;margin-bottom:16px}
.set-sec h2{font-size:18px}
.set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.pal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.pal label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px;font-weight:700;font-size:14px}
.pal input[type=color]{width:40px;height:40px;border:0;border-radius:8px;padding:0;background:none;flex:none}
.log{font:13px/1.5 ui-monospace,Menlo,Consolas,monospace;background:#1b1626;color:#e9def0;border-radius:12px;padding:12px 14px;overflow-x:auto;white-space:pre}
.perm-ed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px;align-items:center;padding-bottom:10px;border-bottom:1px solid #f0e9f2}
.perm-ed select{grid-column:1/-1}
.perm-ed .pf{grid-column:span 1}
.perm-ed select,.perm-ed input{border:1.5px solid var(--line);border-radius:9px;padding:7px 8px;background:#fff;font-size:14.5px;width:100%;min-width:0}
.bo-mbtn,.bo-x,.bo-scrim{display:none}
@media (max-width:860px){
  .bo{grid-template-columns:minmax(0,1fr)}
  .bo-nav{position:fixed;top:0;left:0;bottom:0;z-index:72;width:min(300px,86vw);height:100vh;height:100dvh;padding:calc(18px + env(safe-area-inset-top,0px)) 12px calc(18px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));transform:translateX(-105%);transition:transform .25s ease;box-shadow:12px 0 40px rgba(0,0,0,.3)}
  .bo-nav.open{transform:none}
  .bo-x{display:grid;margin-left:auto;background:rgba(240,192,240,.15);color:#f4e8f7}
  .bo-scrim{display:block;position:fixed;inset:0;z-index:71;background:rgba(20,8,24,.45)}
  .bo-mbtn{display:flex;align-items:center;gap:10px;width:100%;margin:-8px 0 22px;padding:12px 16px;border:0;border-radius:14px;background:var(--membres);color:#f4e8f7;font-weight:700;font-size:15px;text-align:left}
  .bo-mbtn b{margin-left:auto;background:#f0c0f0;color:var(--membres);padding:3px 10px;border-radius:999px;font-size:13.5px}
  .bo-main{padding-top:22px}
}
.lvn{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--rc);color:#fff;font-style:normal;font-size:11.5px;font-weight:800;margin-right:7px;vertical-align:1px}
.live{display:inline;padding:2px 10px 2px 8px;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:999px;background:color-mix(in srgb,var(--btn,var(--uni)) 16%,transparent);color:inherit;font-weight:700;text-decoration:none;white-space:normal;line-height:1.5}
.live:hover{background:color-mix(in srgb,var(--btn,var(--uni)) 28%,transparent)}
.live.off{opacity:.7;font-weight:600}
.live s{opacity:.7}
body.editing [data-live]{outline:1.5px dashed var(--facil);outline-offset:2px;border-radius:999px;cursor:default}
#foot .tb{top:14px}
body.editing #foot.blk{outline:2px dashed color-mix(in srgb,var(--facil) 70%,transparent);outline-offset:-6px}
/* ---------- Étape 2 : événements, infolettre, Telegram ---------- */
.ev-row{grid-template-columns:56px minmax(0,1.4fr) minmax(0,1.2fr) auto}
.ev-row .dt{width:56px;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;background:var(--ec);color:var(--eci);line-height:1}
.ev-row .dt b{font-size:22px;font-weight:800}.ev-row .dt span{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-top:3px}
@media (max-width:900px){.ev-row{grid-template-columns:56px minmax(0,1fr)}.ev-row .chips,.ev-row .acts{grid-column:2}.ev-row .acts{justify-content:flex-start!important}}
.tg{display:flex;flex-direction:column;gap:4px;max-width:380px;background:#d9e7f2;border-radius:14px;padding:10px}
.tg-b{background:#fff;border-radius:12px 12px 12px 4px;padding:9px 12px;font-size:14.5px;line-height:1.45;box-shadow:0 1px 1px rgba(0,0,0,.08);word-break:break-word}
.tg small{font-size:12px;color:#4d6a80;padding-left:4px}
.nl-ed{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}
.nl-side{position:sticky;top:calc(84px + env(safe-area-inset-top,0px))}
@media (max-width:1100px){.nl-ed{grid-template-columns:minmax(0,1fr)}.nl-side{position:static}}
.nl-add{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:14px}
.mail{background:#e9ede4;border-radius:18px;padding:clamp(10px,3vw,28px)}
.mail-in{max-width:600px;margin:0 auto;background:#fff;border-radius:6px;overflow:hidden;color:#1d2b21;font-size:16px;line-height:1.55}
.mail-h{display:flex;gap:14px;align-items:center;background:var(--nlh,var(--foret));color:var(--nlhi,#eef5e4);padding:16px 22px}
.mail-h img{border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.5)}.mail-h b{display:block;letter-spacing:.06em;font-size:17px}.mail-h small{font-weight:700;font-size:13px;opacity:.85}
.mail-c{padding:8px 26px 18px}
.mail-c h1{font-size:26px;margin:18px 0 6px;color:var(--foret)}.mail-c h2{font-size:18px;margin:18px 0 8px;color:var(--nlc,var(--jardins));text-transform:uppercase;letter-spacing:.08em}
.mail-c img{width:100%;border-radius:6px;margin-top:12px}.mail-c .cap{font-size:13.5px;color:#4d5c50;margin-top:4px}
.nl-txt{display:flex;flex-direction:column;gap:10px;margin-top:8px;min-height:1.6em}
[data-nlrich]:empty::before{content:'Écris ici…';opacity:.45}.nl-txt ul,.nl-txt ol{margin:0;padding-left:1.3em}
.nl-ev{display:flex;flex-direction:column;padding:10px 12px;border-left:4px solid var(--nlc,var(--jardins));background:#f3f6ec;border-radius:0 8px 8px 0;margin-bottom:8px}
.nl-ev small{color:#4d5c50}
.nl-btn{display:inline-block;background:var(--nlh,var(--jardins));color:var(--nlhi,#fff);padding:12px 24px;border-radius:999px;font-weight:700;text-decoration:none}
.nl-btn [data-nle]{color:inherit}
.mail-f{background:#f3f6ec;color:#4d5c50;font-size:12.5px;padding:14px 26px;text-align:center}
.nl-b{position:relative;border-radius:8px}
.nl-ed .nl-b{padding:4px 6px;margin:6px -6px;outline:1.5px dashed transparent}
.nl-ed .nl-b:hover{outline-color:color-mix(in srgb,var(--facil) 70%,transparent)}
.nl-tb{position:absolute;top:-14px;right:4px;display:none;gap:2px;align-items:center;background:var(--ink);color:#fff;border-radius:999px;padding:2px 4px 2px 10px;font-size:12px;font-weight:700;z-index:2}
.nl-b:hover .nl-tb,.nl-b:focus-within .nl-tb{display:flex}
.nl-tb button{border:0;background:transparent;color:#fff;width:26px;height:26px;border-radius:50%;display:grid;place-items:center}
.nl-tb button[disabled]{opacity:.35}
[data-nle],[data-nlrich]{outline:none;border-radius:4px;cursor:text}
[data-nle]:focus,[data-nlrich]:focus{box-shadow:0 0 0 2px var(--facil)}
[data-nle]:empty::before{content:attr(data-ph);opacity:.45}
.nl-drop{display:flex;align-items:center;justify-content:center;gap:8px;height:140px;border:2px dashed #c9d3bf;border-radius:8px;color:#4d5c50;font-weight:700;cursor:pointer;margin-top:10px}

.nl-lists{display:flex;flex-direction:column;gap:6px}
.nl-li{display:flex;gap:10px;align-items:center;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px;color:var(--ink)}
.nl-li img{width:40px;height:40px;border-radius:50%;flex:none}
.nl-li b{display:block;font-size:14.5px}.nl-li small{color:var(--ink-2);font-size:12.5px}
.nl-li[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset;background:var(--paper)}
/* ---------- Étape 3 : Wikicélium et PV ---------- */
.w-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
.w-tools input[type=search]{flex:1 1 260px;min-width:0;border:1.5px solid var(--line);border-radius:999px;padding:12px 18px;font-size:16px;background:#fff}
.w-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px}
.w-filters .eyebrow{margin-right:6px;color:var(--ink-2)}
.wchip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-weight:700;font-size:14px;color:var(--ink)}
.wchip[aria-pressed="true"]{background:var(--wiki);border-color:var(--wiki);color:#fff}
.w-count{margin:16px 0 8px;font-size:14px;font-weight:700;color:var(--ink-2)}
.w-list{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.w-row{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.w-row:first-child{border-top:0}.w-row:hover{background:var(--paper)}
.w-row b{font-size:18px;color:var(--wiki)}
.w-row>span{color:var(--ink-2);font-size:15px}
.w-row small{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--ink-2);font-size:13px}
.w-grp{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);padding:14px 18px 6px;background:var(--paper);border-top:1px solid var(--line);margin:0}
.w-grp:first-child{border-top:0}
.pv-row{flex-direction:row;align-items:center;gap:14px}
.pv-d{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;min-width:58px;height:58px;border-radius:12px;background:#f0c0f0;color:var(--membres);font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;line-height:1.1;text-align:center}
.pv-d b{font-size:22px;color:var(--membres)}
.pv-row small{display:flex;gap:8px;align-items:center;margin-top:4px}
.doc-wrap{background:#eef1ea;padding-block:28px 80px}
.crumb{font-size:14px;font-weight:700;color:var(--ink-2);margin-bottom:16px}
.crumb a{color:var(--wiki);text-decoration:none}.crumb a:hover{text-decoration:underline}
.doc-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}
.toc{position:sticky;top:calc(80px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 100px);overflow:auto}
.toc-box{background:#fff;border-radius:16px;padding:16px;border:1px solid var(--line);display:flex;flex-direction:column;gap:6px;font-size:14.5px}
.toc-box>b{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.toc-box>a{color:var(--wiki);font-weight:600}
.toc-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.toc-l a{display:flex;gap:8px;padding:5px 8px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600;line-height:1.35}
.toc-l a:hover{background:var(--paper)}
.toc-l a span{color:var(--ink-2);font-variant-numeric:tabular-nums;min-width:1.6em}
.toc-l .lv3 a{padding-left:22px;font-weight:500;font-size:14px}
.doc-main{background:#fff;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 10px 30px rgba(36,55,40,.08);padding:clamp(22px,5vw,64px);min-width:0;max-width:860px}
.doc-title{font-size:clamp(30px,4vw,44px);color:var(--wiki);letter-spacing:-.015em}
.pv .doc-title{color:var(--membres)}
.doc-by{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0 26px;font-size:14px;color:var(--ink-2)}
.doc{font-size:17.5px;line-height:1.7;max-width:68ch;outline:none}
.doc::after{content:"";display:table;clear:both}
.doc>*+*{margin-top:.8em}
.doc h2{font-size:26px;margin-top:1.4em;padding-bottom:6px;border-bottom:2px solid #e3e8dc;color:var(--ink)}
.doc h3{font-size:20px;margin-top:1.2em}
.doc ul,.doc ol{padding-left:1.4em}.doc li+li{margin-top:.25em}
.doc blockquote{margin-left:0;padding:10px 18px;border-left:4px solid var(--jardins);background:var(--paper);border-radius:0 10px 10px 0}
.doc hr{border:0;border-top:2px dashed var(--line);margin:1.6em 0}
.doc a{color:#3a3ab0;font-weight:600}
.doc a.ext::after{content:" ↗";font-size:.8em}
.doc a.broken{color:var(--bad);text-decoration:line-through dotted}
.doc figure{margin:.4em 0 1em;display:block;max-width:100%}
.doc figure img{width:100%;border-radius:8px}
.doc figure figcaption{font-size:14px;color:var(--ink-2);margin-top:6px;text-align:center}
.doc figure.al-l{float:left;margin-right:24px}.doc figure.al-r{float:right;margin-left:24px}.doc figure.al-c{margin-left:auto;margin-right:auto}
.doc figure.sz-s{width:32%}.doc figure.sz-m{width:50%}.doc figure.sz-l{width:100%;float:none;margin-left:0;margin-right:0}
.doc figure.al-c.sz-s,.doc figure.al-c.sz-m{float:none}
@media (max-width:620px){.doc figure.sz-s,.doc figure.sz-m{width:100%;float:none;margin-left:0;margin-right:0}}
body.wediting .doc[contenteditable]{box-shadow:0 0 0 2px #e6ddf0;border-radius:6px;padding:8px 10px;margin:-8px -10px;min-height:240px}
body.wediting .doc[contenteditable]:focus{box-shadow:0 0 0 2.5px var(--facil)}
body.wediting .doc figure{cursor:grab;outline:2px dashed transparent;outline-offset:3px;border-radius:8px}
body.wediting .doc figure:hover,body.wediting .doc figure.sel{outline-color:var(--facil)}
body.wediting [data-wt],body.wediting [data-pvt]{border-radius:6px;box-shadow:0 0 0 1.5px #e6ddf0;outline:none}
body.wediting [data-wt]:focus,body.wediting [data-pvt]:focus{box-shadow:0 0 0 2.5px var(--facil)}
.doc-tb{position:sticky;top:calc(64px + env(safe-area-inset-top,0px));z-index:20;display:flex;flex-wrap:wrap;gap:2px;align-items:center;background:var(--wiki);color:#fff;border-radius:12px;padding:5px;margin:0 0 22px;box-shadow:0 8px 20px rgba(22,22,50,.25)}
.pv .doc-tb{background:var(--membres)}
.doc-tb button,.doc-tb .dt-img{border:0;background:transparent;color:#fff;min-width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;font-weight:800;font-size:14.5px;cursor:pointer}
.doc-tb button:hover,.doc-tb .dt-img:hover{background:rgba(255,255,255,.16)}
.doc-tb small{font-size:12.5px;font-weight:700}
.doc-tb .sep{width:1px;height:22px;background:rgba(255,255,255,.25);margin:0 4px}
.doc-meta-ed{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:14px}
.doc-meta-ed .pf{min-width:200px}
.doc-st{margin-left:auto;font-size:13px;font-weight:800;color:var(--ok);display:inline-flex;gap:6px;align-items:center}
.doc-st::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.doc-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:18px;border-top:1px solid var(--line)}
#ftb{position:absolute;z-index:80;display:flex;flex-wrap:wrap;max-width:calc(100vw - 16px);align-items:center;gap:2px;background:var(--ink);color:#fff;border-radius:10px;padding:4px;box-shadow:0 8px 22px rgba(0,0,0,.25)}
#ftb button{border:0;background:transparent;color:#fff;height:30px;padding:0 9px;border-radius:7px;font-weight:700;font-size:13px}
#ftb button[aria-pressed="true"]{background:rgba(255,255,255,.22)}#ftb button:hover{background:rgba(255,255,255,.14)}
#ftb .sep{width:1px;height:18px;background:rgba(255,255,255,.25);margin:0 3px}
.wl-list{display:flex;flex-direction:column;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:12px}
.wl-it{display:flex;justify-content:space-between;gap:12px;align-items:baseline;text-align:left;border:0;border-top:1px solid var(--line);background:#fff;padding:10px 14px;color:var(--ink)}
.wl-it:first-child{border-top:0}.wl-it:hover{background:var(--paper)}
.wl-it b{color:var(--wiki)}.wl-it small{color:var(--ink-2);font-size:13px;text-align:right}
.hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.hist li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.hist li:first-child{border-top:0}.hist small{display:block;color:var(--ink-2);font-size:13px}.hist .grow{flex:1;min-width:0}
.pv-head{display:flex;gap:18px;align-items:flex-start;padding-bottom:22px;margin-bottom:22px;border-bottom:3px solid #f0c0f0}
.pv-head img{width:64px;height:64px;border-radius:50%;flex:none}
.pv-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 20px;margin:14px 0 0}
.pv-dl dt{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.pv-dl dd{margin:2px 0 0;font-weight:600}
@media (max-width:900px){.doc-grid{grid-template-columns:minmax(0,1fr)}.toc{position:static;max-height:none}.doc-main{padding:22px 18px}.pv-head img{display:none}}

.live-perm{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--btn,var(--uni)) 13%,transparent);border-left:4px solid var(--btn,var(--uni))}
.live-perm .lp-date{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.05em;text-decoration:none;color:inherit}
.live-perm .lp-txt{font-size:.92em;opacity:.85;line-height:1.5}
.live-perm.off{opacity:.75}
body.editing .live-perm{outline:1.5px dashed var(--facil);outline-offset:2px}
.nc-steps{counter-reset:s;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.nc-steps li{counter-increment:s;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--paper)}
.nc-steps li::before{content:counter(s);width:26px;height:26px;border-radius:50%;background:var(--nuage);color:#fff;font-weight:800;display:grid;place-items:center;font-size:13px}
.nc-steps li.ok::before{content:"✓";background:var(--ok)}
.nc-steps small{display:block;color:var(--ink-2);font-size:13px}
/* ---------- Étape 4 : Nuage, Courriel, appli ---------- */
.cl-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
@media (max-width:1100px){.cl-grid{grid-template-columns:minmax(0,1fr)}}
.cl-crumb{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:12px;font-weight:700}
.cl-crumb button{border:0;background:none;color:var(--nuage);font-weight:800;padding:6px 8px;border-radius:8px;display:inline-flex;gap:6px;align-items:center}
.cl-crumb button:hover{background:#e3eef1}.cl-crumb span{color:var(--ink-2)}
.cl-trash-b{margin-left:auto}
.cl-drop{background:#fff;border:1px solid #e6dcea;border-radius:18px;overflow:hidden;position:relative;transition:box-shadow .15s}
.cl-drop.over{box-shadow:0 0 0 3px var(--nuage) inset;background:#eef7f9}
.cl-head,.cl-row{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,.7fr) minmax(0,.8fr) minmax(0,.85fr) auto;gap:12px;align-items:center;padding:8px 14px}
.cl-head{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid #f0e9f2}
.cl-row{border-top:1px solid #f0e9f2;font-size:14.5px}.cl-row:first-of-type{border-top:0}
.cl-row:hover{background:#f7fafb}
.cl-name{display:flex;gap:10px;align-items:center;border:0;background:none;text-align:left;padding:4px 0;color:var(--ink);font-weight:700;min-width:0;font-size:15px}
.cl-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-row.dir .cl-name{color:var(--nuage)}
.cl-by,.cl-ts,.cl-sz{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-acts{display:flex;gap:4px;justify-content:flex-end;opacity:.35;transition:opacity .15s}
.cl-row:hover .cl-acts,.cl-row:focus-within .cl-acts{opacity:1}
@media (hover:none){.cl-acts{opacity:1}}
@media (max-width:760px){.cl-head{display:none}.cl-row{grid-template-columns:minmax(0,1fr) auto}.cl-by,.cl-ts,.cl-sz{display:none}}
.cl-empty{padding:40px 20px;text-align:center;color:var(--ink-2);font-weight:700;display:flex;flex-direction:column;align-items:center;gap:8px}
.cl-up{padding:12px 14px;background:#eef7f9;display:flex;flex-direction:column;gap:6px;font-size:14px}
.cl-up div{display:grid;grid-template-columns:minmax(0,1fr) 140px 60px;gap:10px;align-items:center}
.cl-up span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-up .bar{height:6px;border-radius:999px;background:#cfe3e8;overflow:hidden}.cl-up .bar i{display:block;height:100%;background:var(--nuage);transition:width .1s}
.cl-act ul li{font-size:14px}
.cl-file{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px;background:var(--paper);border-radius:14px;color:var(--nuage)}
.steps{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:8px}
.mx{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);grid-template-rows:auto auto 1fr;background:#fff;border:1px solid #e6dcea;border-radius:18px;overflow:hidden;min-height:560px}
.mx-f,.mx-b{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:8px 10px;background:#f6f3f7;border-bottom:1px solid #f0e9f2}
.mx-b{background:#fbf9fc;padding-top:6px}
.mx-f button,.mx-b button{display:inline-flex;gap:8px;align-items:center;border:0;background:none;padding:7px 11px;border-radius:999px;font-weight:700;font-size:14px;color:var(--ink);white-space:nowrap}
.mx-f button[aria-pressed="true"],.mx-b button[aria-pressed="true"]{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);color:var(--jardins)}
.host-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.3fr) auto auto;gap:8px;align-items:center}
.host-row span{color:var(--ink-2);font-weight:600;font-size:14px}
@media (max-width:700px){.host-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.host-row span{display:none}}
.pl-pick{display:flex;flex-direction:column;gap:6px}
.pl-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1.5px solid var(--line);border-left:5px solid var(--pc);border-radius:12px;padding:8px 10px 8px 12px;background:#fff;font-weight:600}
.pl-row b{display:block;font-size:15px}.pl-row small{display:block;font-weight:500;color:var(--ink-2);font-size:12.5px}
.pl-row select{border:1.5px solid var(--line);border-radius:9px;padding:7px 9px;background:#fff;font-weight:600;max-width:55%}
.pl-row:has(select:disabled){opacity:.6}
.mx-boxes{max-width:420px;margin-bottom:12px}.mx-boxes .cnt{min-width:20px;height:20px;border-radius:999px;background:var(--facil);color:#2b1700;font-size:11.5px;font-weight:800;display:inline-grid;place-items:center;padding:0 5px}
.mx-sep{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);padding:0 8px 0 4px}
.mx-dot{width:11px;height:11px;border-radius:3px;transform:rotate(45deg);background:var(--bc);flex:none;margin:0 3px}
.mx-add{color:var(--ink-2)!important;font-weight:600!important;font-size:14px!important}
.mx-f button.over,.mx-b button.over{background:#e3f3ea;box-shadow:0 0 0 2px var(--jardins) inset}
.mx-bh{display:flex;align-items:center;gap:6px;padding:12px 12px 0}.mx-bh b{flex:1;font-size:16px}
.mx-move{width:auto!important;padding:7px 10px!important;font-size:14px!important}
.mx-it[draggable="true"]{cursor:grab}
.mx-b .cnt,.mx-f .cnt{margin-left:auto;min-width:22px;height:22px;border-radius:999px;background:var(--facil);color:#2b1700;font-size:12px;font-weight:800;display:grid;place-items:center}
.mx-l{border-right:1px solid #f0e9f2;min-width:0;overflow:auto;max-height:720px;display:flex;flex-direction:column}
.mx-l input{margin:10px;border:1.5px solid var(--line);border-radius:999px;padding:9px 14px}
.mx-it{display:flex;flex-direction:column;gap:2px;text-align:left;border:0;border-top:1px solid #f0e9f2;background:#fff;padding:11px 14px;color:var(--ink);align-items:flex-start}
.mx-it:hover{background:#fbf8fc}.mx-it.on{background:#eef7f3;box-shadow:inset 3px 0 0 var(--jardins)}
.mx-it.new .mx-top b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--facil);margin-right:7px;vertical-align:1px}
.mx-top{display:flex;justify-content:space-between;gap:8px;width:100%}.mx-top b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px}.mx-top small{color:var(--ink-2);white-space:nowrap;font-size:12.5px}
.mx-s{font-weight:700;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.mx-it:not(.new) .mx-s{font-weight:500}
.mx-p{color:var(--ink-2);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.mx-r{padding:22px 26px;min-width:0;overflow:auto;max-height:720px}
.mx-r h2{font-size:22px}.mx-meta{color:var(--ink-2);font-size:14px;margin:8px 0 14px}
.mx-acts{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:14px;border-bottom:1px solid #f0e9f2;margin-bottom:16px}
.mx-body{display:flex;flex-direction:column;gap:10px;line-height:1.6}
.mx-att{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px;padding-top:14px;border-top:1px solid #f0e9f2}
.mx-empty{height:100%;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink-2)}
.mx-back{display:none;margin-bottom:12px}

@media (max-width:760px){.mx{grid-template-columns:minmax(0,1fr)}.mx-l{max-height:none;border-right:0}.mx.reading .mx-l{display:none}.mx:not(.reading) .mx-r{display:none}.mx-back{display:inline-flex}.mx-r{padding:18px}}
.sig-prev{border:1.5px dashed var(--line);border-radius:12px;padding:12px 14px;font-weight:500;font-size:14.5px;line-height:1.5;background:var(--paper)}
.app-card{display:flex;gap:14px;align-items:center;padding:14px;border-radius:16px;background:var(--paper)}
.app-card img{width:56px;height:56px;border-radius:14px}
.app-card b{display:block}.app-card small{display:block;color:var(--ink-2);font-size:13.5px}
.app-card .pbtn{margin-left:auto}
#notifs{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));z-index:99;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 24px))}
.notif{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.97);color:var(--ink);border-radius:16px;padding:12px 14px;box-shadow:0 12px 34px rgba(0,0,0,.25);animation:nin .3s ease;transition:opacity .4s,transform .4s}
.notif.out{opacity:0;transform:translateX(30px)}
.notif img{width:38px;height:38px;border-radius:10px;flex:none}
.notif b{display:block;font-size:14.5px}.notif span{display:block;font-size:14px}.notif small{display:block;font-size:12px;color:var(--ink-2);margin-top:2px}
@keyframes nin{from{opacity:0;transform:translateY(-12px)}}

/* ---------- Barre de démonstration ---------- */
#demo{position:fixed;right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:58;display:flex;align-items:center;gap:8px;background:#fff;color:var(--ink);border-radius:999px;padding:5px 6px 5px 14px;box-shadow:0 8px 26px rgba(0,0,0,.22);font-size:13.5px;font-weight:700;border:2px solid var(--facil);max-width:calc(100vw - 24px)}
#demo select{border:1.5px solid var(--line);border-radius:999px;padding:6px 10px;background:var(--paper);font-weight:700;font-size:13.5px;min-width:0}
#demo button{border:0;background:var(--paper-2);border-radius:999px;padding:7px 11px;font-weight:700;font-size:13px;white-space:nowrap}
body.editing #demo{display:none}
@media (max-width:520px){#demo .dl{display:none}}
#foot .foot-brand{color:inherit}
#foot .foot-brand img{width:54px;height:54px;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 55%,transparent)}
#foot .foot-brand b{display:block}
/* Registre de l'association (liste des Jardins) */
.uwrap{display:flex;align-items:stretch;border-top:1px solid #f0e9f2;background:#fff}
.uwrap:first-child,.uhead+.uwrap{border-top:0}
.uwrap .urow{border-top:0;flex:1;min-width:0}
.uhead{display:flex;justify-content:space-between;padding:10px 16px;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid #f0e9f2}
.asso-ck{display:flex;align-items:center;gap:8px;padding:0 18px;min-width:118px;border-left:1px solid #f4eef5;cursor:pointer;font-size:14px;color:var(--ink-2)}
.asso-ck input{width:22px;height:22px;accent-color:var(--jardins);cursor:pointer}
.asso-ck input:checked+span{color:var(--jardins);font-weight:700}
.asso-ck input:disabled{cursor:not-allowed}
.urow.nc .nm b{font-weight:600}
@media (max-width:760px){.asso-ck{min-width:0;padding:0 12px}.asso-ck span{display:none}}
.uh-r{display:flex;gap:0}.uh-r span{min-width:118px;padding-left:18px}.uh-r span+span{min-width:136px}
.asso-ck.cot{min-width:136px}
.asso-ck.cot input{accent-color:#c26a00}.asso-ck.cot input:checked+span{color:#c26a00}
.urow .nm small+small{font-size:12.5px}
.addr-f{border-top:1px solid var(--line);padding-top:14px}
@media (max-width:760px){.uh-r span,.uh-r span+span,.asso-ck.cot{min-width:0;padding-left:8px}.uh-r{gap:14px}}
@media (max-width:760px){.uh-r .lg{display:none}.uh-r{gap:22px}}

/* Discussion complète dans le courriel */
.mx-thread{display:flex;flex-direction:column;gap:10px}
.mx-msg{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff}
.mx-msg.out{background:#f1f8f3;border-color:#cfe7d8;margin-left:28px}
.mx-msg.on{box-shadow:0 0 0 2px var(--jardins)}
.mx-msg header{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.mx-msg header small{color:var(--ink-2)}
.mx-msg .mx-body{font-size:15px}
@media (max-width:760px){.mx-msg.out{margin-left:12px}}
