/* Krouge360 V2.19 — habillage du site public */
:root{
  --ground:#fff;--paper:#faf6f2;--ink:#1b1b1d;--muted:#66666b;--line:#ebe7e3;
  --burg:#d7263d;--burg-d:#b11d31;--moss:#1b1b1d;--forest:#161618;--hay:#ffc93c;--tint:#fdecee;--wrap:100vw;--wrap-pad:clamp(20px,4vw,64px);--r:24px;--r-s:14px;--r-btn:999px;
  --red:var(--burg);--red-d:var(--burg-d);--cream:var(--ground);--green:var(--moss);
  --disp:"Outfit","Trebuchet MS",system-ui,sans-serif;--body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ok:#1b5e20;--warn:#8a5a00}
*{box-sizing:border-box}
html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--ground);color:var(--ink);font:400 17px/1.62 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--burg);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--hay);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--disp);color:var(--ink);margin:0 0 .5em;letter-spacing:-.025em;line-height:1.08}
h1{font-weight:700;font-size:clamp(2.5rem,6.2vw,4.8rem);line-height:1.02;letter-spacing:-.035em}
h2{font-weight:700;font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-weight:650;font-size:1.22rem;letter-spacing:-.015em}
p{margin:0 0 1em}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.wrap{max-width:var(--wrap,1140px);margin:0 auto;padding:0 var(--wrap-pad,20px)}
.center{text-align:center}.muted{color:var(--muted);font-size:.93rem}.small{font-size:.85rem;color:var(--muted)}
.loading{padding:70px 18px;text-align:center;color:var(--muted)}

/* en-tête */
.top{position:sticky;top:0;z-index:30;background:#fffffff0;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:8px max(var(--wrap-pad,20px),calc((100vw - var(--wrap,1140px))/2 + var(--wrap-pad,20px)))}
.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--burg);font:800 1.5rem var(--disp);letter-spacing:.08em;line-height:1}
.brand small{font:600 .62rem var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.brand img{height:52px;width:auto}
nav{display:flex;gap:2px;align-items:center}
nav>a,.dd-t{color:var(--ink);text-decoration:none;padding:9px 14px;border-radius:8px;font-weight:600;font-size:.97rem}
nav>a:hover,nav>a.on,.dd-t:hover,.dd-t.on{background:var(--ground);color:var(--burg)}
nav .cta{background:var(--burg);color:#fff;margin-left:8px}nav .cta:hover,nav .cta.on{background:var(--burg-d);color:#fff}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;font-size:1.4rem;padding:4px 12px;cursor:pointer;color:var(--ink)}
.dd{position:relative}
.dd-m{display:none;position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:var(--r-s);box-shadow:0 18px 40px #18241b26;padding:14px;min-width:260px;z-index:40}
.dd:hover .dd-m,.dd:focus-within .dd-m{display:block}
.dd-g+.dd-g{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.dd-g b{display:block;font:700 .95rem var(--disp);color:var(--moss);padding:2px 12px 4px}
.dd-m a{display:block;padding:7px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.95rem}.dd-m a:hover{background:var(--ground);color:var(--burg)}
@media(max-width:900px){.burger{display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:8px 16px 16px;border-bottom:1px solid var(--line);max-height:80vh;overflow:auto}nav.open{display:flex}nav .cta{margin:8px 0 0;text-align:center}.dd-m{display:block;position:static;border:0;box-shadow:none;padding:0 0 0 12px}.dd-t{display:none!important}}

/* boutons */
.btn{display:inline-block;background:var(--burg);color:#fff;border:0;border-radius:var(--r-btn);padding:13px 24px;font:700 .97rem var(--body);text-decoration:none;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--burg-d)}.btn.ghost{background:transparent;color:var(--burg);box-shadow:inset 0 0 0 1.5px var(--burg)}.btn.ghost:hover{background:var(--burg);color:#fff}
.btn.sm{padding:9px 16px;font-size:.9rem}.btn:disabled{opacity:.5;cursor:not-allowed}

/* sections */
main{min-height:60vh}
section.s{padding:72px 0}section.s.alt{background:var(--paper)}
.ph{padding:54px 0 34px}.ph h1{font-size:clamp(2.1rem,4.6vw,3.5rem);margin:0}.ph p{color:var(--muted);max-width:620px;margin:12px 0 0}
.page-h{display:none}

/* accueil : hero */
.hero{background:#fff;padding:56px 0 24px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center}
.hero h1{max-width:560px;margin-bottom:.35em}.hero p{max-width:480px;font-size:1.18rem;color:var(--muted);margin-bottom:28px}
.hero .btns{display:flex;gap:12px;flex-wrap:wrap}
.hero .btn{padding:15px 30px;font-size:1rem}
.hero .ph-img{height:480px;border-radius:var(--r);overflow:hidden;background:var(--tint)}
.hero .ph-img img{width:100%;height:100%;object-fit:cover}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:28px}.hero .ph-img{height:300px;order:-1}}
.hero:before,.hero img.bg{display:none}
.next{max-width:none;margin:0}
.next-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}.next-h h2{margin:0}
.next-h a{font-weight:700;text-decoration:none}
/* blocs photo */
.arches{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.arch img,.arch .ph-i{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);background:var(--tint)}
.arch h3{margin:16px 0 6px;font-size:1.35rem}.arch p{color:var(--muted);margin:0}
/* tuiles offres */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px}
.cards.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.tile{position:relative;display:block;border-radius:var(--r);overflow:hidden;min-height:340px;color:#fff;text-decoration:none;background:var(--moss)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.tile:hover img{transform:scale(1.03)}
.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000000b0,#0000 62%)}
.tile .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px}.tile h3{color:#fff;font-size:1.7rem;margin:0 0 6px}.tile p{margin:0;font-size:.97rem;color:#e6ece3;max-width:460px}
/* cartes */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;height:190px;object-fit:cover}
.card .in{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .in .btn{margin-top:auto;align-self:flex-start}
.tag{display:inline-block;font:700 .78rem var(--body);background:var(--tint);border-radius:99px;padding:3px 11px;color:var(--burg-d)}
.tag.warn{background:#fff0d3;color:var(--warn)}.tag.ok{background:#dff3e3;color:var(--ok)}
.prose p{max-width:70ch}.prose.cols{columns:2 340px;column-gap:48px}.prose.cols p{break-inside:avoid-column}
.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}@media(max-width:820px){.split{grid-template-columns:1fr;gap:10px}}
.labels{display:flex;flex-wrap:wrap;gap:30px;align-items:center;margin-top:40px}.labels img{height:78px;width:auto}
.labels.sm{gap:12px;margin-top:14px}.labels.sm img{height:46px;background:#fff;border-radius:6px;padding:3px}
/* séances */
.cat{margin:40px 0 16px;display:flex;align-items:center;gap:14px}.cat h2{margin:0;font-size:1.6rem}.cat:after{content:"";flex:1;height:1px;background:var(--line)}
.sess{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:14px 18px;margin-bottom:10px}
.sess.full{opacity:.6}.sess b{display:block;font-weight:650}
.day-h{font:700 1.05rem var(--disp);color:var(--moss);margin:22px 0 10px}
.notice{background:#fff0d3;color:#6e4700;border-radius:10px;padding:13px 17px;margin:14px 0}.notice.ok{background:#dff3e3;color:#1b3d1f}.notice.err{background:#f9dede;color:#7a1818}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.gallery img{width:100%;height:230px;object-fit:cover;border-radius:var(--r-s)}
.tbl-wrap{overflow-x:auto}
table.t{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}
table.t td{padding:14px 18px;border-bottom:1px solid var(--line)}table.t tr:last-child td{border-bottom:0}
table.t td.price{text-align:right;white-space:nowrap;font:800 1.25rem var(--disp);color:var(--burg)}
/* fiche activité / événement */
.detail{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start}@media(max-width:800px){.detail{grid-template-columns:1fr}}
.odetail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:start}@media(max-width:860px){.odetail{grid-template-columns:1fr;gap:26px}}
.cal-t{font:700 1rem var(--body);color:var(--moss);margin:14px 0 10px}
.oside img{width:100%;border-radius:var(--r-s);margin:10px 0}
.oi{display:flex;gap:12px;align-items:flex-start;margin:12px 0}.oi .ic{width:30px;height:30px;border-radius:8px;background:var(--burg);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex:none}
.oside hr,.evd-side hr{border:0;border-top:1px solid var(--line);margin:20px 0 6px}
/* calendrier */
.plan-tabs{display:flex;gap:8px;margin:0 0 22px}
.plan-tabs button{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:9px 18px;font:650 .92rem var(--body);cursor:pointer;color:var(--ink)}.plan-tabs button.on{background:var(--burg);border-color:var(--burg);color:#fff}
.plan-f{display:block;font-weight:600;font-size:.95rem;margin-bottom:16px}.plan-f select{margin-left:8px;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
.cal{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:16px;max-width:560px}
.cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font:700 1.15rem var(--disp)}
.cal-n{border:1px solid var(--line);background:#fff;border-radius:10px;width:40px;height:40px;cursor:pointer;color:var(--burg)}.cal-n:disabled{opacity:.3;cursor:default}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-w{text-align:center;font-size:.8rem;color:var(--muted);padding:4px 0}
.cal-d{position:relative;aspect-ratio:1;border:1.5px solid transparent;background:transparent;border-radius:10px;font:600 .97rem var(--body);color:#9aa396;cursor:default;padding:0}
.cal-d.out{visibility:hidden}.cal-d.has{background:#fff;border-color:var(--burg);color:var(--ink);cursor:pointer}.cal-d.has:hover{background:var(--ground)}
.cal-d.full{border-color:var(--line);color:#8a9186;background:var(--ground)}.cal-d.today span{text-decoration:underline;text-decoration-color:var(--hay);text-decoration-thickness:3px}
.cal-d.sel{background:var(--burg);border-color:var(--burg);color:#fff}
.cal-d i{position:absolute;right:5px;bottom:3px;font:700 .62rem var(--body);font-style:normal;opacity:.75}
.cal-list{margin-top:24px;max-width:760px}.plan-cal{max-width:1140px}
@media(max-width:560px){.cal{padding:10px}}
/* planning semaine */
.plan{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;align-items:start}
.plan-day{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-align:center}
.plan-banner{height:104px;background:var(--burg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.plan-banner img{height:38px;width:auto;background:#fff;border-radius:6px;padding:4px}.plan-banner b{font:800 1.35rem var(--disp);color:#fff;letter-spacing:.02em}
.plan-items{display:flex;flex-direction:column;padding:6px 14px 14px}.plan-it{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.95rem;line-height:1.4;padding:14px 0;border-top:1px solid var(--line)}.plan-it:first-child{border-top:0}
@media(min-width:1500px){.plan{grid-template-columns:repeat(7,minmax(0,1fr))}}
/* événements */
.ev-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:22px}
.ev-f{display:flex;flex-wrap:wrap;gap:8px}.ev-f button{border:1.5px solid var(--burg);background:#fff;color:var(--burg);border-radius:99px;padding:8px 18px;font:650 .92rem var(--body);cursor:pointer}.ev-f button.on{background:var(--burg);color:#fff}
.ev-bar input{flex:1;min-width:200px;max-width:380px;padding:11px 16px;border:1px solid var(--line);border-radius:99px;font:inherit;background:#fff}
.ev-card{display:flex;align-items:center;gap:22px;background:#fff;border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden;margin-bottom:14px}.ev-card[hidden]{display:none}
.ev-img{position:relative;flex:none;width:250px;height:136px;background:linear-gradient(120deg,var(--moss),#a9b896);display:flex;align-items:center;justify-content:center}
.ev-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ev-ph{font-size:50px;position:relative}
.ev-date{position:absolute;left:12px;top:12px;min-width:58px;padding:7px 8px;border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:center;line-height:1}
.ev-date small{font-size:.68rem;font-weight:700;color:var(--burg)}.ev-date b{font:800 1.5rem var(--disp);margin-top:3px}
.ev-in{flex:1;min-width:0;padding:10px 0}.ev-t{font:700 1.15rem var(--disp);color:var(--ink);text-decoration:none}.ev-t:hover{color:var(--burg)}
.ev-m{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px;color:var(--muted);font-size:.93rem}
.ev-tag{border-radius:99px;padding:2px 12px;font-size:.78rem;font-weight:700;background:#e7ecf8;color:#2c4a9a}.ev-tag.t-ran{background:#dff3e3;color:#1b5e20}.ev-tag.t-évé,.ev-tag.t-eve{background:#f6dde0;color:var(--burg)}
.ev-btn{margin-right:22px;white-space:nowrap}
@media(max-width:700px){.ev-card{flex-direction:column;align-items:stretch;gap:0}.ev-img{width:100%;height:170px}.ev-in{padding:14px}.ev-btn{margin:0 14px 14px;text-align:center}}
.evd{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:44px;align-items:start}@media(max-width:860px){.evd{grid-template-columns:1fr;gap:24px}.evd-side{order:-1}}
.crumb{font-size:.88rem;color:var(--muted)}
.evd-ban{position:relative;border-radius:var(--r-s);overflow:hidden;min-height:250px;display:flex;align-items:flex-end;background:linear-gradient(120deg,var(--moss),#a9b896);margin:8px 0 24px}
.evd-ban img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.evd-ban:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#18241bcc,#0000 65%)}
.evd-ban h1{position:relative;z-index:2;color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);margin:0;padding:24px}
.ev-reg{display:block;text-align:center;width:100%;margin-bottom:18px;padding:15px}
.eb-l{font:600 .9rem var(--body);color:var(--muted);margin:16px 0 6px}
.eb{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:12px 16px}.eb b{font:800 2.3rem var(--disp);line-height:1}.eb div{font-size:.93rem;line-height:1.4}
.ecal{display:flex;gap:8px;flex-wrap:wrap}
/* fenêtre de réservation */
.modal{position:fixed;inset:0;background:#18241bb3;z-index:100;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:18px 12px}.modal[hidden]{display:none}
.box{background:#fff;border-radius:var(--r-s);padding:28px;width:100%;max-width:520px;margin:auto}
.box label{display:block;font-weight:600;font-size:.93rem;margin:14px 0}
.box input,.box select,.box textarea{width:100%;padding:12px;border:1px solid #c9cfc2;border-radius:10px;font:inherit;margin-top:5px;background:#fff}
.box .hp{position:absolute;left:-5000px;opacity:0;height:0;overflow:hidden}.box .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
/* pied de page */
footer{background:var(--forest);color:#d3dccf;margin-top:0;padding:56px 0 28px}
footer a{color:#fff}footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:30px}
footer h4{margin:0 0 10px;font:700 1.05rem var(--disp);color:#fff}footer p{margin:5px 0;font-size:.95rem}
.copy{margin-top:34px;padding-top:18px;border-top:1px solid #ffffff22;font-size:.85rem;color:#98a595}
@media print{.top,footer,.btn{display:none}}

/* variantes d'accueil */
.hero.full{background:var(--forest);padding:0}
.hero.full .wrap{display:block;position:relative;padding-top:120px;padding-bottom:120px}
.hero.full .ph-img{position:absolute;inset:0;height:auto;border-radius:0;z-index:0}
.hero.full .ph-img:after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,#000000c0 20%,#00000040)}
.hero.full .wrap>div:first-child{position:relative;z-index:2}.hero.full h1,.hero.full p{color:#fff}
.hero.full .btn.ghost{color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.hero.center .wrap{display:block;text-align:center}.hero.center h1,.hero.center p{margin-left:auto;margin-right:auto}
.hero.center .btns{justify-content:center}.hero.center .ph-img{height:360px;margin-top:40px}
.s.alt .arch img,.s.alt .arch .ph-i{background:#fff}

.albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.album{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;color:#fff;text-decoration:none;background:var(--forest)}
.album img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.album:hover img{transform:scale(1.04)}
.album:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000000b0,#0000 60%)}
.album .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px 20px;display:flex;flex-direction:column}.album .cap b{font:700 1.25rem var(--disp)}.album .cap span{font-size:.9rem;opacity:.85}
.gallery a{display:block}.gallery img{border-radius:var(--r-s);transition:opacity .2s}.gallery a:hover img{opacity:.88}
.lb{position:fixed;inset:0;z-index:200;background:#000000ee;display:flex;align-items:center;justify-content:center}.lb[hidden]{display:none}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:6px}
.lb button{position:absolute;background:#ffffff1f;color:#fff;border:0;border-radius:50%;width:48px;height:48px;font-size:1.8rem;line-height:1;cursor:pointer}.lb button:hover{background:#ffffff40}
.lb-x{top:16px;right:16px}.lb-p{left:14px;top:50%;margin-top:-24px}.lb-n{right:14px;top:50%;margin-top:-24px}
.lb-c{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#ddd;font-size:.9rem}
@media(max-width:600px){.lb-p,.lb-n{display:none}}

.box fieldset.qf{border:0;padding:0;margin:14px 0}.box fieldset.qf legend{font-weight:600;font-size:.93rem;padding:0;margin-bottom:6px}
.qf-o{display:flex;flex-wrap:wrap;gap:8px}.box .qf-o label{margin:0;display:flex;align-items:center;gap:7px;border:1px solid #d6d2cc;border-radius:var(--r-s);padding:9px 14px;font-weight:500;cursor:pointer}
.box .qf-o input{width:auto;margin:0;accent-color:var(--burg)}.box .qf-o label:has(input:checked){border-color:var(--burg);background:var(--tint)}

/* bandeau d'annonce */
.ann{background:var(--burg);color:#fff;font-size:.95rem}.ann.info{background:var(--forest)}.ann[hidden]{display:none}
.ann .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:9px;padding-bottom:9px}.ann a{color:#fff;font-weight:700}
.ann button{background:transparent;border:0;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;padding:4px 8px}
/* FAQ et pages de texte */
.faq{max-width:780px}.faq details{border-bottom:1px solid var(--line);padding:4px 0}.faq summary{cursor:pointer;font:600 1.08rem var(--disp);padding:14px 0;list-style-position:outside}
.faq details p{margin:0 0 16px;color:var(--muted)}.legal{max-width:780px}.legal h2{font-size:1.3rem;margin:28px 0 8px}
/* formulaire de contact */
.cform{margin-top:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:20px}
.cform label{display:block;font-weight:600;font-size:.93rem;margin:12px 0}.cform input,.cform textarea{width:100%;padding:12px;border:1px solid #d6d2cc;border-radius:10px;font:inherit;margin-top:5px;background:#fff}
.cform .hp{position:absolute;left:-5000px;opacity:0;height:0;overflow:hidden}.copy a{color:inherit}

/* Mon espace */
.mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;align-items:start}.mform{margin-top:0;max-width:560px}.mform h3{margin-top:0}
.mhead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.mcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:28px}.mcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:16px;display:grid;gap:4px}
.mforf{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:18px;margin-bottom:14px}.mforf-h{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.mbal{text-align:right}.mbal b{display:block;font:800 2rem var(--disp);color:var(--ok)}.mbal span{font-size:.85rem;color:var(--muted)}.mbal.low b{color:var(--warn)}.mbal.neg b{color:#b3261e}
.mdue{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff0d3;color:#6e4700}.mforf details,.s details{margin-top:12px}.mforf summary,.s details>summary{cursor:pointer;font-weight:650}.t.mt{margin-top:8px}
.s h2{margin-top:34px}nav .mnav{font-weight:700}

.ev-dates{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ev-chip{font-size:.82rem;padding:3px 10px;border-radius:99px;background:var(--tint);color:var(--burg-d);font-weight:600}
.ev-chip.full{background:#eee;color:#888;text-decoration:line-through}.ev-chip.more{background:transparent;border:1px dashed var(--line);color:var(--muted)}
.ev-date i{font-style:normal;font-size:.66rem;font-weight:800;color:var(--burg);margin-top:2px}

.ev-per{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-top:6px}.ev-per b{font:700 1.02rem var(--body);color:var(--ink)}.ev-per span{color:var(--burg-d);font-weight:600}

.mmsg{border-left:0;background:#fff3cd;color:#5c4400}.mrow-b{display:flex;gap:6px;flex-wrap:wrap}
.mattest{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.mattest select{padding:8px;border:1px solid var(--line);border-radius:8px;font:inherit;margin-left:6px}
.mdocs{display:flex;flex-wrap:wrap;gap:10px}.mchk{display:flex!important;gap:8px;align-items:center;font-weight:500!important}.mchk input{width:auto!important;margin:0!important}
/* V2.36 — un bloc par participant (prénom + questions par cavalier) ; liste d'attente */
.box fieldset.qf.pblock{border:1px solid #e3ded7;border-radius:var(--r-s);padding:12px 14px;margin:12px 0;background:#fcfbf9}
.box fieldset.qf.pblock legend{padding:0 6px;color:var(--burg)}
.sess .btn.ghost[data-wait]{white-space:nowrap}

/* V2.37 — Mon espace : l’essentiel d’abord (prochaine séance, à faire, forfait, à régler) */
.mx{padding:30px 0 60px}.mx>.wrap{max-width:1280px}
.mx .ic{flex:none;display:block}
.mx-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.mx-top h1{font-size:clamp(2.1rem,5vw,3.2rem);margin:0}.mx-top p{margin:8px 0 0;color:var(--muted)}
.mx-btns{display:flex;gap:10px;flex-wrap:wrap}.mx-top .mx-btns{display:none}
.mx-btns .btn,.mx-cta .btn,.mx-empty .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.mx .mx-h{font:600 1.3rem/1.2 var(--disp);margin:0;letter-spacing:-.01em}
.mx-sub{display:block;font-size:.88rem;color:var(--muted);line-height:1.45}
.mx-rt{flex:1;min-width:0}.mx-rt>b{display:block;line-height:1.35}
.mx-msg{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:16px;background:var(--tint);line-height:1.45}
.mx-msg .ic{color:var(--burg-d);margin-top:2px}.mx-msg b{display:block;color:var(--burg-d);font-size:.88rem}
.mx-grid{display:flex;flex-direction:column;gap:30px;margin-top:24px}
.mx-main,.mx-side{display:contents}
.mx-o1{order:1}.mx-o2{order:2}.mx-o3{order:3}.mx-o4{order:4}.mx-o5{order:5}.mx-o6{order:6}.mx-o7{order:7}.mx-o8{order:8}
.mx-card{border:1px solid var(--line);border-radius:20px;padding:18px}.mx-card.paper{background:var(--paper);border-color:transparent}
.mx-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 10px 2px 7px;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.5}
.mx-pill.ok{background:#e6f1e7;color:#1b5e20}.mx-pill.warn{background:#fff0c7;color:#7a4f00}.mx-pill.miss{background:#fdecee;color:#b11d31}
.mx-rt .mx-pill{margin-top:6px}
/* à faire */
.mx-tl{display:flex;gap:12px;align-items:center;padding:12px 0}.mx-tl+.mx-tl{border-top:1px solid var(--line)}.mx-todo .mx-h+.mx-tl{padding-top:14px}
.mx-ico{flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.mx-ico.warn{background:#fff0c7;color:#7a4f00}.mx-ico.miss{background:#fdecee;color:#b11d31}
/* prochaine séance */
.mx-ticket{margin-top:12px;background:var(--ink);color:#fff;border-radius:22px;padding:20px;display:grid;gap:18px}
.mx-tk-top{display:flex;gap:16px;align-items:center}
.mx-date{flex:none;width:52px;text-align:center;line-height:1.1}.mx-date span{display:block;font-size:.8rem;color:var(--muted)}.mx-date b{display:block;font:700 1.5rem/1.1 var(--disp);color:var(--ink)}
.mx-date.big{width:72px;height:82px;border-radius:16px;background:var(--burg);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.mx-date.big span{color:#fff;font-size:.82rem}.mx-date.big b{color:#fff;font-size:2rem;margin:4px 0 3px}
.mx-tk-t{font:600 1.45rem/1.15 var(--disp);color:#fff}
.mx-tk-s{display:flex;align-items:center;gap:6px;color:#d6d6da;font-size:.93rem;margin-top:3px}
.mx-tk-mid{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.mx-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:999px;background:#ffffff1f;font-size:.88rem;font-weight:600}.mx-chip-n{padding:6px 12px}
.mx-chip .mx-av{width:26px;height:26px;font-size:.72rem}
.mx-tk-st{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:.88rem;font-weight:600}
.mx-tk-st.ok{color:#a6e3ad}.mx-tk-st.warn{color:#ffd77a}.mx-tk-st.miss{color:#ffb3bc}
.mx-tk-act{display:flex;gap:10px;flex-wrap:wrap}
.mx-b{flex:1;min-width:140px;min-height:46px;border-radius:999px;font:700 .95rem var(--body);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;padding:0 16px}
.mx-b{white-space:nowrap}.mx-b.light{background:#fff;color:var(--ink);border:0;flex:0 0 auto;padding:0 22px}.mx-b.line{background:transparent;color:#fff;border:1px solid #ffffff66}.mx-b.line[aria-expanded=true]{background:#ffffff1f}
.mx-panel{display:flex;gap:8px;flex-wrap:wrap}.mx-panel[hidden]{display:none}
.mx-panel .btn.ghost{color:#fff;box-shadow:inset 0 0 0 1.5px #ffffff8c}.mx-panel .btn.ghost:hover{background:#fff;color:var(--ink)}
.mx-ticket .mx-sub{color:#d6d6da}
.mx-empty{margin-top:12px;padding:22px;border-radius:20px;background:var(--paper)}.mx-empty p{margin:0}
/* listes de séances */
.mx-list{margin-top:6px}.mx-bk+.mx-bk{border-top:1px solid var(--line)}
.mx summary{list-style:none;cursor:pointer}.mx summary::-webkit-details-marker{display:none}
.mx-bk>summary,.mx-sum{display:flex;gap:14px;align-items:center;padding:14px 0}
.mx-chev{flex:none;color:#9a9aa0;transition:transform .15s}.mx details[open]>summary .mx-chev{transform:rotate(90deg)}
.mx-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:0 0 16px 66px}.mx-acts .mx-sub{flex-basis:100%}
.mx-more{border-top:1px solid var(--line);margin-top:10px}.mx-card.paper .mx-more{border-top-color:#e6ddd3}
.mx-more>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 4px;font-weight:600}
.mx-more[open]>summary{padding-bottom:8px}.mx-past .mx-list{margin-top:0}
.mx-cta{display:flex;flex-direction:column;gap:10px}
/* forfait : carte à trous */
.mx-fh{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mx-bal{text-align:right;flex:none}.mx-bal b{display:block;font:700 2rem/1 var(--disp);color:var(--burg)}.mx-bal span{display:block;font-size:.8rem;color:var(--muted);margin-top:4px}.mx-bal.neg b{color:#b3261e}
.mx-pips{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-top:18px;max-width:360px}
.mx-pips i{aspect-ratio:1/1;border-radius:50%;border:2px solid #d9d3cc;background:#fff;box-sizing:border-box}
.mx-pips i.on{background:var(--burg);border-color:var(--burg)}.mx-pips i.half{border-color:var(--burg);background:linear-gradient(90deg,var(--burg) 50%,#fff 50%)}
.mx-pips-l{display:flex;justify-content:space-between;gap:4px 12px;flex-wrap:wrap;margin-top:12px;font-size:.88rem;color:var(--muted)}
/* à régler */
.mx-total{font:700 2.2rem/1.1 var(--disp);letter-spacing:-.02em;margin-top:6px}.mx-total small{font:500 .9rem var(--body);letter-spacing:0;color:var(--muted)}
.mx-lines{margin-top:10px}.mx-lines div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.mx-lines b{white-space:nowrap}
.mx-note{margin:8px 0 0;font-size:.88rem;color:var(--muted)}
/* cavaliers */
.mx-riders{margin-top:6px}.mx-rider{padding:14px 0}.mx-rider+.mx-rider{border-top:1px solid var(--line)}
.mx-rh{display:flex;gap:14px;align-items:center}
.mx-av{flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--ink);color:#fff}
.mx-av.a1{background:var(--burg)}.mx-av.a2{background:var(--hay);color:var(--ink)}
.mx-pills{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0 58px}.mx-hz{margin:6px 0 0 58px}
/* actualités */
.mx-news{display:grid;gap:14px;margin-top:12px}.mx-news article{display:flex;gap:14px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:18px}
.mx-news img{width:84px;height:84px;object-fit:cover;border-radius:12px;flex:none}.mx-news p{margin:6px 0 0;font-size:.95rem}
/* documents et compte */
.mx-bottom{display:flex;flex-direction:column;gap:30px;margin-top:30px}
.mx-docs{margin-top:6px}
.mx-doc{display:flex;gap:12px;align-items:center;width:100%;padding:13px 0;border:0;border-top:1px solid var(--line);background:none;font:inherit;color:inherit;text-align:left;text-decoration:none;cursor:pointer}
.mx-docs>.mx-doc:first-child{border-top:0}.mx-doc>.ic{color:var(--muted)}.mx-doc .mx-rt>b{font-weight:600}.mx-doc:disabled{opacity:.6}
.mx-att{display:flex;gap:8px;align-items:center;flex:none}.mx-doc.att{flex-wrap:wrap}.mx-doc.att .mx-rt{flex-basis:200px}.mx-doc.att .mx-att{margin-left:auto}.mx-att select{padding:8px;border:1px solid #d6d2cc;border-radius:10px;font:inherit;background:#fff}
.mx-line2{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.mx-acc details,.mx-acc .mx-out{border-top:1px solid #e6ddd3}.mx-acc details.mx-first{border-top:0}
.mx-acc summary{display:flex;gap:12px;align-items:center;padding:13px 0}.mx-acc .mx-h{margin-bottom:4px}
.mx-in{padding:0 0 16px}.mx-in label{display:block;font-weight:600;font-size:.92rem;margin:10px 0}
.mx-in input:not([type=checkbox]),.mx-in textarea{width:100%;padding:11px 12px;border:1px solid #d6d2cc;border-radius:10px;font:inherit;margin-top:5px;background:#fff;box-sizing:border-box}
.mx-in .btn{margin-top:4px}.mx-acc .notice{margin:4px 0 8px}
.mx-out{display:flex;gap:10px;align-items:center;width:100%;padding:13px 0;border-left:0;border-right:0;border-bottom:0;background:none;color:var(--burg-d);font:600 .95rem var(--body);cursor:pointer;text-align:left;white-space:nowrap}
.mx-out .mx-sub{margin-left:auto;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mx-call{margin:34px 0 0;text-align:center;color:var(--muted);font-size:.95rem}.mx-call a{font-weight:600;white-space:nowrap}
@media(min-width:960px){
  .mx{padding-top:44px}.mx-top .mx-btns{display:flex}.mx-cta{display:none}
  .mx-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start;margin-top:30px}
  .mx-main,.mx-side{display:flex;flex-direction:column;gap:34px;min-width:0}.mx-side{gap:16px}
  .mx-ticket{padding:26px;grid-template-columns:auto minmax(0,1fr) 200px;grid-template-areas:"top top act" "mid mid act" "pan pan pan";align-items:center;column-gap:24px}
  .mx-tk-top{grid-area:top}.mx-tk-mid{grid-area:mid}.mx-tk-act{grid-area:act;flex-direction:column}.mx-panel{grid-area:pan}.mx-ticket>.mx-sub{grid-column:1/-1}
  .mx-date.big{width:88px;height:98px}.mx-date.big b{font-size:2.5rem}.mx-tk-t{font-size:1.7rem}
  .mx-riders{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:14px}
  .mx-rider,.mx-rider+.mx-rider{border:1px solid var(--line);border-radius:18px;padding:18px}
  .mx-pills{flex-direction:column;align-items:flex-start;margin:14px 0 0}.mx-hz{margin:10px 0 0}
  .mx-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:start;margin-top:48px}
}

/* V2.38 — Mon espace : vérification des coordonnées (première connexion, « Mes coordonnées ») */
.mx-pf>.wrap{max-width:780px}
.mx-pform{display:grid;gap:16px;margin-top:22px}
.mx-pform .mx-in{padding:4px 0 0}
.mx-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
@media(max-width:560px){.mx-2{grid-template-columns:1fr}}
.mx-guard{margin-top:8px;padding:14px 16px;border-radius:16px;background:var(--tint)}.mx-guard[hidden],.mx-opt[hidden]{display:none}
.mx-guard h3{font:600 1.05rem var(--disp);margin:0 0 2px}.mx-guard input{background:#fff}
.mx-opt{font-weight:400;color:var(--muted)}
.mx-pf-act{display:flex;gap:10px;flex-wrap:wrap}.mx-pf-act .btn{flex:1 1 220px}
.mx-msg.ok{background:#e6f1e7}.mx-msg.ok .ic{color:#1b5e20}
.mx-prow{display:flex;gap:12px;align-items:center;width:100%;padding:13px 0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.mx-tl .btn.sm{flex:none}
