/* 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}}

/* Jamais de défilement de côté sur téléphone : les longs liens et mots se coupent, tableaux et images restent dans l'écran */
html, body { max-width: 100%; overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
/* Seulement dans le texte des documents (PV, wiki, courriels, blocs de texte) : ailleurs, ça écrasait les mises en page */
.doc, .doc-main, .mx-body, .blk p, .blk li { overflow-wrap: break-word; }
.doc a, .doc-main a, .mx-body a, .blk a { overflow-wrap: anywhere; }
#main img, #main video, #main iframe { max-width: 100%; height: auto; }
#main table { display: block; max-width: 100%; overflow-x: auto; }
#main pre { max-width: 100%; overflow-x: auto; white-space: pre-wrap; }

/* iPhone : pas de zoom automatique en touchant un champ (police de 16 px au moins), donc pas d'écran qui se décale ensuite */
@media (max-width: 760px) { input, select, textarea, .pi { font-size: 16px !important; } }
/* Le doigt ne fait glisser la page que de haut en bas (le zoom à deux doigts reste possible) */
html, body { overscroll-behavior-x: none; }
body { touch-action: pan-y pinch-zoom; }
/* Les zones qui défilent de côté exprès (tableaux, barres de boutons) le gardent */
#main table, #main pre, [style*="overflow-x"], .mx-folders, .tabs, .chips { touch-action: pan-x pan-y pinch-zoom; }
/* Messages flottants jamais plus larges que l'écran */
#toast, #savebar { max-width: calc(100vw - 24px); white-space: normal; text-align: center; }

/* Courriel : boîtes et rangement en panneau à gauche sur téléphone */
.mx-tog, .mx-shade, .mx-navh { display: none; }
.mx-nav { display: contents; }
@media (max-width: 760px) {
  .mx-tog { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; width: 100%; border: 0; border-bottom: 1px solid #f0e9f2; background: #f6f3f7; padding: 12px 14px; font-weight: 800; font-size: 16px; color: var(--ink); text-align: left; }
  .mx-tog small { margin-left: auto; font-weight: 600; font-size: 13px; color: var(--ink-2); }
  .mx-tog .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; }
  .mx.reading .mx-tog { display: none; }
  .mx-nav { display: block; position: fixed; top: 0; left: 0; bottom: 0; width: min(300px, 84vw); z-index: 90; background: #fff; box-shadow: 8px 0 30px rgba(0,0,0,.18);
    transform: translateX(calc(-100% - 48px)); visibility: hidden; transition: transform .22s ease, visibility 0s .22s; overflow-y: auto; padding: env(safe-area-inset-top, 0px) 0 env(safe-area-inset-bottom, 0px); }
  .mx.nav-open .mx-nav { transform: none; visibility: visible; transition: transform .22s ease; }
  .mx.nav-open .mx-shade { display: block; position: fixed; inset: 0; z-index: 89; background: rgba(20, 10, 25, .35); }
  .mx-navh { display: flex; align-items: center; justify-content: space-between; padding: 14px 14px 6px; font-size: 17px; }
  .mx-nav .mx-f, .mx-nav .mx-b { flex-direction: column; align-items: stretch; flex-wrap: nowrap; border: 0; background: none; padding: 4px 10px 10px; }
  .mx-nav .mx-b { border-top: 1px solid #f0e9f2; padding-top: 10px; }
  .mx-nav .mx-f button, .mx-nav .mx-b button { width: 100%; justify-content: flex-start; padding: 11px 12px; border-radius: 12px; font-size: 15px; }
  .mx-nav .mx-sep { padding: 4px 12px; }
}
/* Menu principal fermé : son ombre ne dépasse plus sur le bord de l'écran */
#side:not(.open) { box-shadow: none; }

/* ===== Courriel en pleine page, façon logiciel de courriel ===== */
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.mail-full .bo-main { padding: 0 !important; }
.mxo { display: flex; flex-direction: column; height: calc(100dvh - var(--toph, 56px)); min-height: 480px; background: #fff; }
.mx-bar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 14px; border-bottom: 1px solid #ebe3ee; background: #fff; }
.mx-bar .tabs { margin: 0; }
.mx-bar .tabs button { padding: 6px 12px; font-size: 14px; }
.mx-sp { flex: 1; }
.mx-addr { font-size: 13px; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }
.mxo > .info { margin: 8px 14px; }
.mxo .mx { flex: 1; min-height: 0; border: 0; border-radius: 0; }
.mxo .mx-l, .mxo .mx-r { max-height: none; overflow: auto; }
.mxo .mx-l { border-right: 1px solid #ebe3ee; }
.mxo .mx-it { border-top: 0; border-bottom: 1px solid #f1ecf3; border-left: 3px solid transparent; padding: 10px 14px 10px 12px; }
.mxo .mx-it.new { border-left-color: var(--jardins); }
.mxo .mx-it.new b { font-weight: 800; }
.mxo .mx-it.on { background: #e8f4ee; border-left-color: var(--jardins); }
.mxo .mx-it:hover:not(.on) { background: #faf8fb; }
.mxo .mx-r { padding: 22px 28px; }
.mxo .mx-r h2 { margin-top: 0; }

/* Grand écran : trois colonnes, dossiers à gauche comme dans Outlook */
@media (min-width: 1001px) {
  .mxo .mx { grid-template-columns: 220px minmax(280px, 380px) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .mxo .mx-nav { display: block; grid-row: 1; grid-column: 1; overflow: auto; background: #f7f4f8; border-right: 1px solid #ebe3ee; }
  .mxo .mx-nav .mx-f, .mxo .mx-nav .mx-b { flex-direction: column; align-items: stretch; flex-wrap: nowrap; border: 0; background: none; padding: 10px 8px 4px; }
  .mxo .mx-nav .mx-b { border-top: 1px solid #ebe3ee; margin-top: 4px; padding-top: 10px; }
  .mxo .mx-nav .mx-f button, .mxo .mx-nav .mx-b button { width: 100%; justify-content: flex-start; border-radius: 8px; padding: 8px 10px; }
  .mxo .mx-nav .mx-f button[aria-pressed="true"], .mxo .mx-nav .mx-b button[aria-pressed="true"] { background: #e3f1e9; box-shadow: none; color: var(--ink); }
  .mxo .mx-nav .mx-sep { padding: 2px 10px 4px; }
  .mxo .mx-l { grid-row: 1; grid-column: 2; }
  .mxo .mx-r { grid-row: 1; grid-column: 3; }
}
/* Écran moyen : dossiers dans le panneau qu'on ouvre, messages | lecture */
@media (min-width: 761px) and (max-width: 1000px) {
  .mxo .mx { grid-template-rows: auto minmax(0, 1fr); }
  .mx-tog { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; width: 100%; border: 0; border-bottom: 1px solid #f0e9f2; background: #f6f3f7; padding: 10px 14px; font-weight: 800; font-size: 15px; color: var(--ink); text-align: left; }
  .mx-tog small { margin-left: auto; font-weight: 600; font-size: 13px; color: var(--ink-2); }
  .mx-tog .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; }
  .mx-nav { display: block; position: fixed; top: 0; left: 0; bottom: 0; width: 300px; z-index: 90; background: #fff; box-shadow: 8px 0 30px rgba(0,0,0,.18); transform: translateX(calc(-100% - 48px)); visibility: hidden; transition: transform .22s ease, visibility 0s .22s; overflow-y: auto; }
  .mx.nav-open .mx-nav { transform: none; visibility: visible; transition: transform .22s ease; }
  .mx.nav-open .mx-shade { display: block; position: fixed; inset: 0; z-index: 89; background: rgba(20, 10, 25, .35); }
  .mx-navh { display: flex; align-items: center; justify-content: space-between; padding: 14px 14px 6px; font-size: 17px; }
  .mx-nav .mx-f, .mx-nav .mx-b { flex-direction: column; align-items: stretch; flex-wrap: nowrap; border: 0; background: none; padding: 4px 10px 10px; }
  .mx-nav .mx-f button, .mx-nav .mx-b button { width: 100%; justify-content: flex-start; padding: 10px 12px; border-radius: 10px; }
}
/* Téléphone : tout l'écran, la liste puis le message */
@media (max-width: 760px) {
  .mxo { height: calc(100dvh - var(--toph, 56px)); }
  .mx-bar { padding: 8px 10px; gap: 6px; }
  .mx-addr, .mx-lbl { display: none; }
  .mx-bar .tabs { order: 5; width: 100%; }
  .mxo .mx { grid-template-rows: auto minmax(0, 1fr); }
  .mxo .mx-r { padding: 16px; }
}
@media (max-width: 1100px) { .mx-lbl, .mx-addr { display: none; } }
/* Liste des pages sur téléphone : le nom en haut, les réglages en dessous */
@media (max-width: 760px) {
  .pg-row { grid-template-columns: auto minmax(0, 1fr); row-gap: 10px; }
  .pg-row .acts { grid-column: 1 / -1; justify-content: flex-start; }
}

/* Réglages en onglets */
.set-tabs { margin: 0 0 18px; flex-wrap: wrap; }
@media (max-width: 760px) { .set-tabs { flex-wrap: nowrap; overflow-x: auto; touch-action: pan-x pan-y; } .set-tabs button { flex: none; } }
/* Aide : visite guidée (surlignage) */
#tour{position:fixed;inset:0;z-index:120}
#tour .tr-spot{position:fixed;border-radius:12px;box-shadow:0 0 0 3px var(--lichen),0 0 0 9999px rgba(20,8,26,.62);transition:left .25s,top .25s,width .25s,height .25s;pointer-events:none;animation:trpulse 1.6s ease-in-out infinite}
@keyframes trpulse{50%{box-shadow:0 0 0 6px var(--lichen),0 0 0 9999px rgba(20,8,26,.62)}}
@media (prefers-reduced-motion:reduce){#tour .tr-spot{animation:none;transition:none}}
#tour .tr-bub{position:fixed;background:#fff;color:var(--ink);border-radius:var(--r);padding:16px 18px 14px;box-shadow:0 18px 50px rgba(0,0,0,.35);border-top:5px solid var(--membres);transition:left .25s,top .25s}
#tour .tr-bub small{font-weight:700;color:var(--ink-2);font-size:12.5px;letter-spacing:.04em}
#tour .tr-bub h3{margin:4px 30px 6px 0;font-size:18px;color:var(--membres)}
#tour .tr-bub p{margin:0 0 14px;line-height:1.5;font-size:15px}
#tour .tr-x{position:absolute;top:8px;right:8px}
#tour .tr-nav{display:flex;justify-content:space-between;gap:8px}
.tb-help{color:var(--hf,#fff)}
.help-m{display:flex;flex-direction:column;gap:10px}
.help-c{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.help-c:hover,.help-c:focus-visible{border-color:var(--membres);box-shadow:0 0 0 2px var(--membres)}
.help-c b{display:flex;align-items:center;gap:8px;color:var(--membres)}.help-c small{color:var(--ink-2);font-size:14px}
#tour-ask{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:94;background:#fff;border-radius:var(--r);box-shadow:0 12px 40px rgba(0,0,0,.25);border-left:5px solid var(--membres);padding:14px 16px;display:flex;flex-direction:column;gap:6px;width:min(320px,calc(100vw - 32px))}
#tour-ask b{color:var(--membres);font-size:16px}#tour-ask span{font-size:14.5px;color:var(--ink-2)}#tour-ask div{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}
/* Comptes de l'ancien site : noms à vérifier avant import */
.iu-list{display:flex;flex-direction:column;max-height:min(56vh,560px);overflow-y:auto;border:1px solid var(--line);border-radius:var(--r-s)}
.iu-row{display:grid;grid-template-columns:28px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line)}
.iu-row:last-child{border-bottom:0}.iu-row.here{opacity:.6;grid-template-columns:28px minmax(0,1fr)}
.iu-k{display:grid;place-items:center}.iu-k input{width:18px;height:18px}
.iu-id{min-width:0}.iu-id b{display:block;overflow-wrap:anywhere;font-size:14.5px}.iu-id small{color:var(--ink-2);font-size:13px}
.iu-row .pi{min-width:0;width:100%}
@media (max-width:760px){.iu-row{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr)}.iu-id{grid-column:2/-1}.iu-row .pi:first-of-type{grid-column:2}}
/* Fiche des niveaux */
.lv-wrap{border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}
.lv-t{width:100%;border-collapse:collapse;font-size:14.5px}
.lv-t th,.lv-t td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.lv-t tr:last-child th,.lv-t tr:last-child td{border-bottom:0}
.lv-t thead th,.lv-t tr:first-child th{background:var(--paper);font-size:13px;line-height:1.25}
.lv-t th[scope=row]{text-align:left;font-weight:600;padding-left:12px}.lv-t th[scope=row] small{display:block;font-weight:500;color:var(--ink-2);font-size:12.5px}
.lv-n{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--membres);color:#fff;font-size:12px;font-weight:800;margin:0 auto 3px;display:grid}
.lv-y{color:var(--ok);display:inline-grid}.lv-no{color:#b9c2b3;font-weight:800}
.lv-cards{display:none;flex-direction:column;gap:10px}
.lv-card{border:1px solid var(--line);border-left:5px solid var(--rc);border-radius:var(--r-s);padding:10px 12px}
.lv-card h3{margin:0 0 4px;font-size:16px;display:flex;gap:8px;align-items:center}.lv-card h3 .lv-n{margin:0;background:var(--rc)}
.lv-card ul{margin:6px 0 0;padding-left:18px;font-size:14.5px}.lv-card small{color:var(--ink-2)}.lv-plus{margin:6px 0 0;font-size:13.5px;font-weight:700;color:var(--ink-2)}
@media (max-width:760px){.lv-wrap{display:none}.lv-cards{display:flex}}
/* Suggestions */
.idea-list{display:flex;flex-direction:column;gap:10px}
.idea{border:1px solid var(--line);border-radius:var(--r-s);padding:12px 14px}.idea.st-new{border-left:5px solid #ff8f00}
.idea-h{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.idea-h small{color:var(--ink-2);flex:1}
.idea-t{margin:6px 0;white-space:normal;overflow-wrap:break-word}
.idea details summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--membres)}
.idea-f{display:flex;flex-direction:column;gap:8px;margin-top:8px}
/* ---------- Nuage : explorateur pleine page (comme le courriel) ---------- */
body.cloud-full .bo-main { padding: 0 !important; }
.cxo { display: flex; flex-direction: column; height: calc(100dvh - var(--toph, 56px)); min-height: 480px; background: #fff; }
.cx-bar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 14px; border-bottom: 1px solid #e1ebee; background: #fff; }
.cx-q { flex: 1 1 260px; display: flex; align-items: center; gap: 8px; border: 1.5px solid var(--line); border-radius: 999px; padding: 0 14px; background: #f7fafb; color: var(--ink-2); min-width: 0; }
.cx-q:focus-within { border-color: var(--nuage); background: #fff; box-shadow: 0 0 0 3px #d5e8ed; }
.cx-q input { border: 0; background: none; padding: 9px 0; flex: 1; min-width: 0; font: inherit; color: var(--ink); outline: none; }
.cx-view { margin: 0; }.cx-view button { padding: 7px 10px; }
.cxo > .info { margin: 8px 14px; }
.cx { flex: 1; min-height: 0; display: grid; grid-template-columns: 250px minmax(0, 1fr) 300px; }
.cx-tog, .cx-shade, .cx-navh { display: none; }
.cx-nav { overflow: auto; background: #f3f8f9; border-right: 1px solid #e1ebee; padding: 10px 8px; display: flex; flex-direction: column; gap: 2px; }
.cx-nb, .cx-tn { display: flex; align-items: center; gap: 9px; width: 100%; border: 0; background: none; text-align: left; padding: 8px 10px; border-radius: 8px; font-weight: 700; font-size: 14.5px; color: var(--ink); min-width: 0; }
.cx-nb:hover, .cx-tn:hover { background: #e4eff2; }
.cx-nb.on { background: #d8eaee; color: var(--nuage); }
.cx-treew { border-top: 1px solid #e1ebee; border-bottom: 1px solid #e1ebee; margin: 6px 0; padding: 6px 0; }
.cx-tree { list-style: none; margin: 0; padding: 0; }
.cx-ti { display: flex; align-items: center; padding-left: calc(var(--d) * 14px); border-radius: 8px; }
.cx-ti.on { background: #d8eaee; }.cx-ti.on .cx-tn { color: var(--nuage); }
.cx-tw { flex: none; width: 22px; height: 26px; display: grid; place-items: center; border: 0; background: none; color: var(--ink-2); border-radius: 6px; padding: 0; }
button.cx-tw:hover { background: #e4eff2; }
.cx-tn { padding: 6px 6px; font-weight: 600; font-size: 14px; }
.cx-tn span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cx-tn .i:first-child { color: var(--nuage); flex: none; }
[data-cfold].over { background: #cfe8d9 !important; box-shadow: 0 0 0 2px var(--jardins) inset; }
.cx-quota { margin-top: auto; padding: 12px 10px 4px; display: flex; flex-direction: column; gap: 6px; }
.cx-quota .bar { height: 6px; border-radius: 999px; background: #d4e4e8; overflow: hidden; }.cx-quota .bar i { display: block; height: 100%; background: var(--nuage); }
.cx-quota small { color: var(--ink-2); font-size: 12.5px; }
.cx-main { min-width: 0; overflow: auto; border: 0 !important; border-radius: 0 !important; display: flex; flex-direction: column; }
.cx-crumb { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 14px; border-bottom: 1px solid #edf2f3; min-height: 50px; position: sticky; top: 0; background: #fff; z-index: 2; }
.cx-crumb .cl-crumb { margin: 0; }
.cx-crumb > b { display: flex; align-items: center; gap: 8px; color: var(--nuage); }
.cx-note { margin: 8px 14px 0 !important; }
.cx-n { margin: 8px 14px 0; font-size: 13px; font-weight: 700; color: var(--ink-2); }
.cx-list { flex: 1; }
.cx-head, .cx-row { display: grid; grid-template-columns: minmax(0, 2.4fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .7fr) auto; gap: 12px; align-items: center; padding: 6px 14px; }
.cx-head { position: sticky; top: 50px; background: #fff; z-index: 1; border-bottom: 1px solid #edf2f3; }
.cx-head button { border: 0; background: none; padding: 4px 0; text-align: left; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); display: inline-flex; align-items: center; gap: 4px; }
.cx-head button[aria-pressed="true"] { color: var(--nuage); }
.cx-row { border-bottom: 1px solid #f1f5f6; font-size: 14.5px; }
.cx-row:hover { background: #f5fafb; }.cx-row.on { background: #e3f0f3; box-shadow: inset 3px 0 0 var(--nuage); }
.cx-row[draggable="true"] { cursor: grab; }
.cx-row.dir .cl-name { color: var(--nuage); }
.cx-row .cl-acts { opacity: .3; }.cx-row:hover .cl-acts, .cx-row:focus-within .cl-acts, .cx-row.on .cl-acts { opacity: 1; }
.cx-nm { display: flex; flex-direction: column; min-width: 0; }.cx-nm > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cx-path { color: var(--ink-2); font-weight: 500; font-size: 12.5px; display: flex; align-items: center; gap: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cx-mini { width: 28px; height: 28px; object-fit: cover; border-radius: 6px; flex: none; }
.cx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; padding: 14px; }
.cx-tile { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 8px 12px; border: 1px solid #e6eef0; border-radius: 14px; background: #fff; text-align: center; min-width: 0; color: var(--ink); }
.cx-tile:hover { border-color: #b9d4db; background: #f7fbfc; }.cx-tile.on { border-color: var(--nuage); box-shadow: 0 0 0 2px var(--nuage); }
.cx-th { width: 100%; aspect-ratio: 4 / 3; display: grid; place-items: center; background: #f1f6f7; border-radius: 10px; overflow: hidden; color: var(--nuage); }
.cx-th img { width: 100%; height: 100%; object-fit: cover; }
.cx-tile b { font-size: 14px; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cx-tile small { color: var(--ink-2); font-size: 12.5px; }.cx-tile .cx-path { justify-content: center; max-width: 100%; }
.cx-tile.dir .cx-th { background: #e6f1f4; }
.cx-det { border-left: 1px solid #e1ebee; overflow: auto; padding: 16px; background: #fbfdfd; display: flex; flex-direction: column; gap: 10px; }
.cx-dh { display: flex; align-items: center; gap: 8px; color: var(--nuage); }.cx-dh b { flex: 1; color: var(--ink); overflow-wrap: anywhere; }
.cx-prev { width: 100%; border-radius: 12px; background: #eef4f5; max-height: 320px; object-fit: contain; }
.cx-dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; margin: 0; font-size: 14px; }.cx-dl dt { color: var(--ink-2); }.cx-dl dd { margin: 0; overflow-wrap: anywhere; }
.lnk-b { border: 0; background: none; padding: 0; color: var(--nuage); font-weight: 700; text-align: left; text-decoration: underline; font: inherit; }
.cx-dacts { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cx-sec { margin: 8px 0 0; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.cx-act { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; }
.cx-act li { display: flex; flex-direction: column; gap: 1px; }.cx-act small { color: var(--ink-2); }
/* Écran moyen : sans aperçu (le fichier s'ouvre dans une fenêtre) */
@media (max-width: 1199px) { .cx { grid-template-columns: 230px minmax(0, 1fr); } .cx-det { display: none; } }
@media (max-width: 1100px) { .cx-lbl { display: none; } }
/* Tablette et téléphone : dossiers dans un panneau qu'on ouvre */
@media (max-width: 900px) {
  .cx { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  .cx-tog { display: flex; align-items: center; gap: 10px; width: 100%; border: 0; border-bottom: 1px solid #e1ebee; background: #f3f8f9; padding: 11px 14px; font-weight: 800; font-size: 15px; color: var(--ink); text-align: left; }
  .cx-tog small { margin-left: auto; font-weight: 600; font-size: 13px; color: var(--ink-2); }
  .cx-nav { position: fixed; top: 0; left: 0; bottom: 0; width: min(300px, 86vw); z-index: 90; box-shadow: 8px 0 30px rgba(0,0,0,.18); transform: translateX(calc(-100% - 48px)); visibility: hidden; transition: transform .22s ease, visibility 0s .22s; padding-top: calc(10px + env(safe-area-inset-top, 0px)); }
  .cx.nav-open .cx-nav { transform: none; visibility: visible; transition: transform .22s ease; }
  .cx.nav-open .cx-shade { display: block; position: fixed; inset: 0; z-index: 89; background: rgba(10, 25, 30, .35); }
  .cx-navh { display: flex; align-items: center; justify-content: space-between; padding: 4px 6px 8px 10px; font-size: 17px; }
  .cx-nb, .cx-tn { padding-top: 10px; padding-bottom: 10px; }
}
@media (max-width: 760px) {
  .cx-bar { padding: 8px 10px; gap: 6px; }
  .cx-q { order: 9; flex-basis: 100%; }
  .cx-head { display: none; }
  .cx-row { grid-template-columns: minmax(0, 1fr) auto; }
  .cx-row .cl-by, .cx-row .cl-ts, .cx-row .cl-sz { display: none; }
  .cx-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; padding: 10px; }
  .cx-crumb { top: 0; }
}
.cx-qbar { display: block; height: 6px; border-radius: 999px; background: #d4e4e8; overflow: hidden; }.cx-qbar i { display: block; height: 100%; background: var(--nuage); }
/* Liste : colonnes fixes, les boutons apparaissent au survol (au bout de la ligne) */
@media (min-width: 761px) {
  .cx-head, .cx-row { grid-template-columns: minmax(0, 1fr) 120px 110px 90px; }
  .cx-head > span:last-child { display: none; }
  .cx-row { position: relative; min-height: 46px; }
  .cx-row .cl-acts { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: inherit; padding-left: 10px; opacity: 0; pointer-events: none; }
  .cx-row:hover .cl-acts, .cx-row:focus-within .cl-acts, .cx-row.on .cl-acts { opacity: 1; pointer-events: auto; }
  .cx-row:hover, .cx-row:focus-within { background: #f5fafb; }
  .cx-row.on { background: #e3f0f3; }
}
@media (hover: none) and (min-width: 761px) { .cx-row .cl-acts { position: static; transform: none; opacity: 1; pointer-events: auto; padding: 0; } .cx-head, .cx-row { grid-template-columns: minmax(0, 1fr) 100px 90px auto; } .cx-row .cl-by, .cx-head button[data-v="by"] { display: none; } }
/* Galerie photos (bloc) et visionneuse */
.gal { display: grid; gap: 10px; }
.gal figure { margin: 0; min-width: 0; }
.gal figcaption { font-size: 13.5px; color: var(--ink-2); margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gal-it { display: block; width: 100%; padding: 0; border: 0; background: #e6ece3; border-radius: 12px; overflow: hidden; cursor: zoom-in; }
.gal-it img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.gal-it:hover img, .gal-it:focus-visible img { transform: scale(1.04); }
.gal-grid { grid-template-columns: repeat(auto-fill, minmax(min(220px, 45%), 1fr)); }
.gal-grid .gal-it { aspect-ratio: 1; }
.gal-sk { aspect-ratio: 1; border-radius: 12px; background: linear-gradient(90deg, #e9eee6, #f4f7f1, #e9eee6); background-size: 200% 100%; animation: galsk 1.4s linear infinite; }
@keyframes galsk { to { background-position: -200% 0; } }
.gal-mosaic { display: block; columns: 3 240px; column-gap: 10px; }
.gal-mosaic figure { break-inside: avoid; margin-bottom: 10px; }
.gal-mosaic .gal-it img { height: auto; }
.gal-strip { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; padding-bottom: 8px; touch-action: pan-x pan-y pinch-zoom; }
.gal-strip figure { flex: 0 0 min(340px, 78%); scroll-snap-align: start; }
.gal-strip .gal-it { aspect-ratio: 4 / 3; }
#lb { position: fixed; inset: 0; z-index: 130; background: rgba(8, 12, 9, .94); display: grid; place-items: center; padding: 50px 64px; }
#lb figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 100%; max-height: 100%; }
#lb img { max-width: 100%; max-height: calc(100dvh - 130px); object-fit: contain; border-radius: 6px; box-shadow: 0 10px 50px rgba(0,0,0,.5); }
#lb figcaption { color: #e9efe4; font-weight: 600; text-align: center; }#lb figcaption small { opacity: .7; margin-left: 8px; }
#lb button { position: absolute; border: 0; background: rgba(255,255,255,.12); color: #fff; border-radius: 50%; width: 48px; height: 48px; display: grid; place-items: center; }
#lb button:hover { background: rgba(255,255,255,.24); }
.lb-x { top: calc(12px + env(safe-area-inset-top, 0px)); right: 12px; }
.lb-n { top: 50%; transform: translateY(-50%); }.lb-p { left: 10px; }.lb-nx { right: 10px; }
@media (max-width: 760px) { #lb { padding: 56px 8px 24px; } .lb-n { top: auto; bottom: 14px; transform: none; } .lb-p { left: calc(50% - 60px); } .lb-nx { right: calc(50% - 60px); } #lb img { max-height: calc(100dvh - 170px); } }
.gal-grid .gal-it img { aspect-ratio: 1; }
.gal-strip .gal-it img { aspect-ratio: 4 / 3; }
.mx-grp { margin: 0; padding: 8px 14px 6px; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); background: #faf8fb; border-bottom: 1px solid #f1ecf3; position: sticky; top: 0; z-index: 1; }
/* Choix des photos d'une galerie */
.gp-f { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }.gp-f .cx-q { flex: 1 1 220px; }.gp-f select { flex: 0 1 260px; }
.gp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; max-height: min(55vh, 520px); overflow: auto; padding: 2px; }
.gp-it { position: relative; display: flex; flex-direction: column; gap: 3px; padding: 4px; border: 2px solid transparent; border-radius: 12px; background: #f3f6f1; text-align: left; min-width: 0; }
.gp-it img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; background: #e3e9df; }
.gp-it small { font-size: 12px; color: var(--ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gp-it.on { border-color: var(--jardins); background: #e3f3ea; }
.gp-it b { position: absolute; top: 8px; right: 8px; min-width: 26px; height: 26px; border-radius: 999px; background: var(--jardins); color: #fff; display: grid; place-items: center; font-size: 13px; box-shadow: 0 2px 6px rgba(0,0,0,.25); }
.gp-sel { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 6px; margin: 6px 0 8px; }
.gp-s { display: flex; flex-direction: column; gap: 2px; }.gp-s img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; background: #e3e9df; }
.gp-s span { display: flex; justify-content: space-between; }.gp-s button { border: 0; background: #eef2ea; border-radius: 6px; padding: 3px 5px; display: grid; place-items: center; }.gp-s button:disabled { opacity: .35; }
/* Instagram : publications collées (lecteur officiel) */
.ig-emb { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 16px; align-items: start; }
.ig-emb .instagram-media, .ig-emb iframe { min-width: 0 !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.ig-emb blockquote.instagram-media { background: #fff; border-radius: 12px; padding: 20px; border: 1px solid var(--line); }
/* Le pied de page reste en bas, même sur une page courte */
body { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
#main { flex: 1 0 auto; }
#top, #foot { flex: none; }
/* Carnet d'adresses */
.ab-f { flex-wrap: wrap; margin: 10px 0; }
.ab-list { display: flex; flex-direction: column; max-height: min(58vh, 560px); overflow: auto; border: 1px solid var(--line); border-radius: var(--r-s); }
.ab-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 9px 12px; border-bottom: 1px solid #f1ecf3; }
.ab-row:last-child { border-bottom: 0; }.ab-row:hover { background: #faf8fb; }
.ab-id { min-width: 0; display: flex; flex-direction: column; }.ab-id b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ab-id small { color: var(--ink-2); overflow-wrap: anywhere; }.ab-id a { color: inherit; }
.ab-acts { display: flex; gap: 6px; align-items: center; }
.ab-b { margin-left: 6px; vertical-align: 1px; --rc: #efe6f2; --rci: var(--membres); }
.ab-fld { position: relative; }
.ab-sug { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 12px 30px rgba(0,0,0,.15); overflow: hidden; margin-top: 4px; }
.ab-sug button { display: flex; flex-direction: column; width: 100%; text-align: left; border: 0; background: none; padding: 8px 12px; font-weight: 400; }
.ab-sug button.on, .ab-sug button:hover { background: #eef7f3; }.ab-sug small { color: var(--ink-2); }
@media (max-width: 760px) { .ab-row { grid-template-columns: auto minmax(0, 1fr) auto; } .ab-row .chips { grid-column: 2 / -1; grid-row: 2; } }
.m-body > .cx-q { flex: none !important; order: 0 !important; }
/* Import d'une liste dans le registre */
.ri-sum { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 4px; }
.ri-sum span { background: var(--paper); border: 1px solid var(--line); border-radius: 999px; padding: 4px 12px; font-size: 14px; }
.ri-h { font-size: 16px; margin: 16px 0 6px; }
.ri-list { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--r-s); max-height: 42vh; overflow: auto; }
.ri-row { display: flex; gap: 10px; align-items: flex-start; padding: 8px 12px; border-bottom: 1px solid #f1ecf3; cursor: pointer; font-weight: 400; }
.ri-row:last-child { border-bottom: 0; }.ri-row input { margin-top: 4px; width: 18px; height: 18px; flex: none; }
.ri-row > span { display: flex; flex-direction: column; min-width: 0; }.ri-row small { color: var(--ink-2); overflow-wrap: anywhere; }
.ri-n { color: #9a4b00 !important; }
.ri-d { margin-top: 12px; }.ri-d summary { cursor: pointer; font-weight: 700; }
.ri-row .chip { align-self: flex-start; margin: 2px 0; }
.ab-add { border: 1px dashed var(--line); background: #fff; cursor: pointer; margin-left: 6px; font-weight: 700; }
.ab-add:hover { border-color: var(--jardins); color: var(--jardins); }
.ab-note { font-style: italic; }
/* Registre : sélection et cotisations en lot */
.uwrap.rs { display: flex; align-items: stretch; }
.uwrap.rs .urow { flex: 1; min-width: 0; }
.rsel { display: grid; place-items: center; padding: 0 4px 0 10px; cursor: pointer; }
.rsel input { width: 20px; height: 20px; }
.rbulk { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.rbulk.on { position: sticky; top: calc(var(--toph, 56px) + 8px); z-index: 5; border-color: var(--jardins); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.rb-y { display: flex; align-items: center; gap: 6px; font-weight: 600; font-size: 14px; }.rb-y select { width: auto; padding: 6px 10px; }
