/* Sauna Ébène : thème sombre, échelle de couleurs "chaleur" (ambre, corail, rose, violet). */
:root{
  --bg:#0c0a0d;--surface:#151218;--surface-2:#1d1922;--line:#2c2631;
  --fg:#f3ece7;--muted:#a1959c;
  --amber:#ffb547;--coral:#ff6a4d;--rose:#ff4f8b;--violet:#b48cff;--green:#6fdcaa;--blue:#6fb7ff;
  --mixte:var(--amber);--masc:var(--violet);
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:14px;--pill:999px;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1;text-wrap:balance;margin:0;text-transform:uppercase}
h2{font-size:clamp(2.2rem,4.6vw,3.4rem)}
p{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:6px}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.sec{padding-block:clamp(56px,8vw,96px)}
.lead{color:var(--muted);max-width:60ch;margin-top:14px;font-size:1.05rem}
.c-amber{color:var(--amber)}.c-coral{color:var(--coral)}.c-rose{color:var(--rose)}.c-violet{color:var(--violet)}
.bg-mixte{background:var(--mixte)}.bg-masc{background:var(--masc)}.bg-rose{background:var(--rose)}
.skip{position:absolute;left:-9999px;top:8px;z-index:60;background:var(--fg);color:var(--bg);padding:8px 14px;border-radius:8px}
.skip:focus{left:16px}

/* NAV */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.admin-bar .nav{top:32px}
@media (max-width:782px){.admin-bar .nav{top:0}}
.nav .wrap{display:flex;align-items:center;gap:18px;height:68px;position:relative}
.brand{font-family:var(--display);font-weight:900;font-size:1.6rem;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.brand span{color:var(--coral)}
.menu{display:flex;gap:2px;margin-left:auto}
.menu a{text-decoration:none;font-weight:600;font-size:.92rem;padding:8px 12px;border-radius:var(--pill);white-space:nowrap;transition:background .25s}
.menu a:nth-child(4n+1){color:var(--amber)}
.menu a:nth-child(4n+2){color:var(--coral)}
.menu a:nth-child(4n+3){color:var(--violet)}
.menu a:nth-child(4n+4){color:var(--rose)}
.menu a:hover,.menu a.on{background:var(--surface-2)}
.langs{display:inline-flex;border:1px solid var(--line);border-radius:var(--pill);padding:3px;gap:2px}
.langs a{text-decoration:none;color:var(--muted);font:600 .78rem var(--mono);padding:5px 9px;border-radius:var(--pill)}
.langs a[aria-current="true"]{background:var(--fg);color:var(--bg)}
.burger{display:none;border:1px solid var(--line);background:transparent;color:var(--fg);border-radius:var(--pill);padding:8px 14px;font:600 .9rem var(--body);cursor:pointer}
@media (max-width:1080px){
  .burger{display:inline-block;margin-left:auto}
  .menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--bg);border-bottom:1px solid var(--line);padding:8px clamp(16px,4vw,40px) 16px}
  .menu.open{display:flex}
  .menu a{font-size:1.1rem;padding:12px}
}
@media (max-width:420px){.brand{font-size:1.3rem}.nav .wrap{gap:10px}}

/* ÉCRAN 18+ */
.gate{position:fixed;inset:0;z-index:100000;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:grid;place-items:center;padding:16px}
.gate-box{max-width:460px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:32px;display:grid;gap:18px}
.gate-box .langs{justify-self:start}
.gate-box .big{font-family:var(--display);font-weight:900;font-size:5rem;line-height:.85;color:var(--coral)}
.gate-box h2{font-size:2rem}
.gate-box p{color:var(--muted)}
.gate-box .row{display:flex;flex-wrap:wrap;gap:10px}

/* BOUTONS / PASTILLES */
.btn,.wp-block-button__link{display:inline-flex;align-items:center;text-decoration:none;font-weight:700;padding:13px 22px;border-radius:var(--pill);border:1px solid transparent;transition:transform .2s,background .2s,border-color .2s,color .2s;white-space:nowrap;cursor:pointer;font-family:var(--body);font-size:1rem;line-height:1.2}
.btn:active,.wp-block-button__link:active{transform:translateY(1px) scale(.98)}
.btn-hot,.wp-block-button__link{background:var(--coral);color:#1a0c08}
.btn-hot:hover,.wp-block-button__link:hover{background:var(--amber);color:#1a0c08}
.btn-ghost,.is-style-outline .wp-block-button__link{border-color:var(--line);color:var(--fg);background:transparent}
.btn-ghost:hover,.is-style-outline .wp-block-button__link:hover{border-color:var(--violet);color:var(--violet);background:transparent}
.chip{font-family:var(--body);display:inline-flex;align-items:center;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:var(--pill);vertical-align:middle}
.chip{--c:var(--amber);background:color-mix(in srgb,var(--c) 19%,transparent);color:var(--c)}

/* EN-TÊTE DE PAGE */
.ph{padding-block:clamp(44px,6vw,72px) 0}
.ph h1{font-size:clamp(3rem,7vw,5.4rem)}
.page-body{padding-block:clamp(32px,5vw,48px) 0}

/* CONTENU DE L'ÉDITEUR */
.entry>*+*{margin-top:1.2em}
.entry p{max-width:65ch}
.entry h2{font-size:clamp(1.7rem,3.2vw,2.2rem);margin-top:1.6em}
.entry h2:first-child,.entry .wp-block-column>h2:first-child{margin-top:0}
.entry h3{font-size:1.4rem;margin-top:1.4em}
.entry .wp-block-column>h3{font-family:var(--body);text-transform:none;font-size:1rem;font-weight:700;color:var(--violet)}
.entry a:not(.btn):not(.wp-block-button__link){color:var(--amber)}
.entry ul:not(.rules),.entry ol:not(.rules){padding-left:1.2em}
.entry .wp-block-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,64px);align-items:start;margin-bottom:0}
.entry .wp-block-column{min-width:0}
.entry .wp-block-column>*+*{margin-top:1em}
@media (max-width:860px){.entry .wp-block-columns{grid-template-columns:1fr}}
.entry-after{margin-top:40px}
.entry-after:empty{display:none}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}

/* Questions fréquentes (bloc Détails) */
.entry details{border-top:1px solid var(--line);padding:16px 0;margin:0}
.entry details+details{margin-top:0}
.entry details:last-of-type{border-bottom:1px solid var(--line)}
.entry summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.entry summary::-webkit-details-marker{display:none}
.entry summary::after{content:"+";font-family:var(--mono);color:var(--amber);font-size:1.2rem;line-height:1}
.entry details[open] summary::after{content:"-"}
.entry details p{color:var(--muted);margin-top:10px}

/* Règlement (liste numérotée avec la classe "rules") */
.rules{list-style:none;margin:0;padding:24px;display:grid;gap:16px;background:var(--surface);border-radius:var(--r);border:1px solid var(--line);counter-reset:r}
.rules li{position:relative;padding-left:44px;counter-increment:r;color:var(--muted);font-size:.95rem;margin:0}
.rules li::before{content:counter(r);position:absolute;left:0;top:0;font-family:var(--display);font-weight:900;font-size:1.8rem;line-height:1;color:var(--amber)}
.rules strong{display:block;color:var(--fg);font-size:1rem;margin-bottom:2px}

/* Galerie */
.entry .wp-block-gallery{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:190px;gap:12px!important}
.entry .wp-block-gallery .wp-block-image{width:auto!important;margin:0!important;border-radius:var(--r);overflow:hidden;position:relative}
.entry .wp-block-gallery .wp-block-image img{width:100%!important;height:100%!important;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.entry .wp-block-gallery .wp-block-image:hover img{transform:scale(1.03)}
.entry .wp-block-gallery .wp-block-image:nth-child(6n+1){grid-column:span 2;grid-row:span 2}
.entry .wp-block-gallery .wp-block-image:nth-child(6n+2),.entry .wp-block-gallery .wp-block-image:nth-child(6n+6){grid-column:span 2}
.entry .wp-block-gallery .wp-block-image:nth-child(6n+4){grid-row:span 2}
.entry .wp-block-gallery figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:24px 14px 10px;font-size:.85rem;color:var(--fg);background:linear-gradient(transparent,rgba(12,10,13,.85));text-align:left}
@media (max-width:760px){
  .entry .wp-block-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}
  .entry .wp-block-gallery .wp-block-image:nth-child(6n+4){grid-row:span 1}
}

/* HERO */
.hero{padding-block:clamp(36px,6vw,80px) clamp(48px,7vw,88px)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero-copy h1{font-size:clamp(3.2rem,7.6vw,6.4rem);line-height:.92}
.hero-copy h1 mark,.hot{background-color:transparent!important;background-image:linear-gradient(90deg,var(--amber),var(--coral) 45%,var(--rose))!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent;color:transparent!important;padding:0}
.hero-copy p{font-size:1.15rem;color:var(--muted);max-width:42ch}
.hero-copy .wp-block-buttons{margin-top:30px}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}}

/* CARTE "AUJOURD'HUI" */
.todaycard{--tc:var(--amber);position:relative;border-radius:28px;overflow:hidden;background:radial-gradient(120% 70% at 20% 110%,color-mix(in srgb,var(--tc) 30%,transparent) 0%,transparent 60%),var(--surface);border:1px solid var(--line);padding:28px;display:grid;gap:20px;min-width:0;min-height:320px;align-content:start}
.todaycard canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.todaycard>*{position:relative}
.tc-date{font-family:var(--mono);font-size:.85rem;color:var(--muted);display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.tc-today{font-family:var(--body);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bg);background:var(--tc);padding:4px 11px;border-radius:var(--pill)}
.tc-type{margin-top:10px;font-family:var(--display);font-weight:900;font-size:clamp(2.8rem,6vw,4.2rem);line-height:.9;text-transform:uppercase;color:var(--tc)}
.tc-hours{font-weight:600;margin-top:8px}
.tc-block{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:8px}
.tc-label{font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.tc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline}
.tc-row .v{font-family:var(--display);font-weight:900;font-size:1.9rem;line-height:1;color:var(--tc)}
.tc-row small{display:block;color:var(--muted);font-size:.8rem}
.tc-ev h4{margin:0;font-size:1.15rem;color:var(--rose)}
.tc-ev p{color:var(--muted);font-size:.92rem}
.tc-ev b{color:var(--rose)}
.tc-ev a{font-weight:700;font-size:.9rem;color:var(--fg)}

/* JOURS */
.days{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.day-card{border-radius:var(--r);padding:28px;display:grid;gap:10px;min-width:0}
.day-card{--c:var(--amber);background:linear-gradient(135deg,color-mix(in srgb,var(--c) 17%,var(--surface)),var(--surface) 70%)}
.day-card h3{font-size:2rem}
.day-card h3{color:var(--c)}
.day-card .when{font-family:var(--mono);font-size:.9rem}
.day-card p{color:var(--muted)}
@media (max-width:700px){.days{grid-template-columns:1fr}}

/* PROCHAINES SOIRÉES */
.rowhead{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.upcoming{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:28px;padding-bottom:6px}
.up{scroll-snap-align:start;border-radius:var(--r);padding:22px;display:grid;gap:10px;align-content:start;background:var(--surface);border:1px solid var(--line);text-decoration:none;transition:border-color .2s}
.up:hover{border-color:var(--rose)}
.up .d{font-family:var(--display);font-weight:900;font-size:3.4rem;line-height:.85;color:var(--rose)}
.up .d small{font-family:var(--mono);font-weight:400;font-size:.8rem;color:var(--muted);margin-left:6px;text-transform:uppercase}
.up h3{font-family:var(--body);text-transform:none;font-size:1.1rem;font-weight:700;line-height:1.3}
.up p{color:var(--muted);font-size:.92rem}

/* AVIS */
.reviews{margin-top:28px;min-width:0}
.reviews-slot{border:1px dashed color-mix(in srgb,var(--amber) 45%,var(--line));border-radius:var(--r);padding:24px}
.rv-note{color:var(--muted);font-size:.92rem}

/* BANDEAU ACCÈS */
.band{border-radius:24px;padding:clamp(28px,5vw,56px);background:radial-gradient(90% 140% at 100% 0%,color-mix(in srgb,var(--violet) 30%,transparent),transparent 60%),var(--surface);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.band h2{color:var(--violet)}
@media (max-width:700px){.band{grid-template-columns:1fr}.band .btn{justify-self:start}}

/* AGENDA */
.cal-shell{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}
.cal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;min-width:0}
.cal-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.cal-head h3{font-size:1.8rem;margin-right:auto}
.icon-btn{width:40px;height:40px;border-radius:var(--pill);border:1px solid var(--line);background:transparent;color:var(--fg);font-size:1.2rem;cursor:pointer}
.icon-btn:hover:not(:disabled){border-color:var(--amber);color:var(--amber)}
.icon-btn:disabled{opacity:.35;cursor:default}
.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.filter{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:var(--pill);padding:6px 14px;font:600 .85rem var(--body);cursor:pointer}
.filter[aria-pressed="true"]{color:var(--bg);background:var(--fg);border-color:var(--fg)}
.filter[style][aria-pressed="true"]{background:var(--c);border-color:var(--c)}
.grid7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
#se-grid{margin-top:6px}
.dow{font-family:var(--mono);font-size:.72rem;color:var(--muted);text-align:center;padding-bottom:4px;text-transform:uppercase}
.dcell{min-height:78px;border-radius:10px;background:var(--surface-2);padding:7px;display:flex;flex-direction:column;gap:4px;position:relative;min-width:0;border:1px solid transparent}
.dcell.pad{background:transparent}
.dcell .n{font-family:var(--mono);font-size:.82rem}
.dcell::after{content:"";position:absolute;left:7px;right:7px;bottom:6px;height:3px;border-radius:3px;background:var(--c,transparent)}
.dcell.closed{opacity:.5}
.dcell.is-today{border-color:var(--coral)}
.dcell.is-today .n{color:var(--coral)}
.dcell .ev{font:700 .7rem/1.2 var(--body);color:var(--rose);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;background:none;border:0;padding:0;text-align:left;cursor:pointer}
.dcell .ev:hover{text-decoration:underline}
.dcell.has-ev{cursor:pointer}
.dcell.dim{opacity:.25}
.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:.82rem;color:var(--muted)}
.legend i{display:inline-block;width:14px;height:3px;border-radius:3px;margin-right:6px;vertical-align:middle}
@media (max-width:560px){
  .cal{padding:12px}.grid7{gap:3px}.dcell{min-height:52px;padding:5px}.dcell .ev{display:none}
  .dcell.has-ev .n::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--rose);margin-left:4px;vertical-align:middle}
}
.events{display:grid;gap:12px;min-width:0}
.events h3{font-size:1.5rem;color:var(--rose)}
.event{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.event .date{font-family:var(--display);font-weight:900;font-size:2.4rem;line-height:.9;text-align:center}
.event .date small{display:block;font-family:var(--mono);font-weight:400;font-size:.72rem;color:var(--muted);text-transform:uppercase;margin-top:4px}
.event h4{margin:0 0 4px;font-size:1.05rem}
.event p{color:var(--muted);font-size:.92rem}
.meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px;font-family:var(--mono);font-size:.8rem;color:var(--muted)}
.empty{color:var(--muted);padding:18px 0;border-top:1px solid var(--line)}
@media (max-width:900px){.cal-shell{grid-template-columns:1fr}}

/* HORAIRES ET TARIFS */
.hours{display:grid}
.hrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0}
.hrow+.hrow{border-top:1px solid var(--line)}
.hrow .d{font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hrow .h{font-family:var(--mono);font-size:1.05rem;color:var(--amber);white-space:nowrap}
.hrow.late .h{color:var(--rose)}
.prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.price{border-radius:var(--r);padding:22px;background:var(--surface);border:1px solid var(--line);display:grid;gap:6px;align-content:start}
.price .p{font-family:var(--display);font-weight:900;font-size:3.2rem;line-height:1;display:flex;gap:14px;flex-wrap:wrap;align-items:baseline}
.price .p small{font-size:.45em;margin-left:2px}
.price .p{color:var(--pc,var(--amber))}
.price .when{color:var(--fg);font-size:.85rem;font-weight:600}
.price h3{font-family:var(--body);text-transform:none;font-size:1.05rem;font-weight:700;line-height:1.3;margin:0}
.price p{color:var(--muted);font-size:.9rem}
.price.feature{grid-column:span 2;background:linear-gradient(120deg,color-mix(in srgb,var(--violet) 22%,var(--surface)),var(--surface) 65%);border-color:color-mix(in srgb,var(--violet) 40%,var(--line));grid-template-columns:auto minmax(0,1fr);column-gap:24px;align-items:center}
.price.feature .p{color:var(--violet)}
.note{font-size:.85rem;color:var(--muted)}
@media (max-width:480px){.prices{grid-template-columns:1fr}.price.feature{grid-column:auto;grid-template-columns:1fr}}

/* PLAN DES ESPACES */
.floor{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
.fp-scroll{overflow-x:auto;border-radius:var(--r)}
.fp{display:grid;grid-template-columns:repeat(6,minmax(70px,1fr));grid-template-rows:repeat(4,92px);gap:6px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:520px}
.room{--hue:var(--amber);border-radius:10px;padding:10px;display:flex;flex-direction:column;justify-content:space-between;font-weight:700;font-size:.85rem;line-height:1.2;cursor:pointer;border:1px solid transparent;background:var(--surface-2);color:var(--fg);text-align:left;font-family:var(--body);transition:border-color .2s,background .2s}
.room .t{font-family:var(--mono);font-weight:500;font-size:.76rem;color:var(--muted)}
.room:hover,.room.on{border-color:var(--hue)}
.room.on{background:color-mix(in srgb,var(--hue) 18%,var(--surface-2))}
.room.on .t{color:var(--hue)}
.room[data-hue="coral"]{--hue:var(--coral)}.room[data-hue="rose"]{--hue:var(--rose)}.room[data-hue="violet"]{--hue:var(--violet)}
.r-acc{grid-column:1/3;grid-row:4/5}
.r-ves{grid-column:1/2;grid-row:1/4}
.r-dou{grid-column:2/3;grid-row:1/3}
.r-sau{grid-column:3/5;grid-row:1/3}
.r-ham{grid-column:5/7;grid-row:1/3}
.r-jac{grid-column:3/5;grid-row:3/5}
.r-bar{grid-column:2/3;grid-row:3/4}
.r-rep{grid-column:5/7;grid-row:3/5}
.room-info{display:grid;gap:10px}
.room-info h3{font-size:2.2rem}
.room-info p{color:var(--muted)}
@media (max-width:860px){.floor{grid-template-columns:1fr}}
@media (max-width:600px){
  .fp{min-width:0;grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:minmax(72px,auto)}
  .fp .room{grid-column:auto;grid-row:auto}
}

/* ACCÈS */
.se-contact{margin:0;display:grid;gap:18px}
.se-contact dt{font-family:var(--mono);font-size:.8rem;color:var(--violet);text-transform:uppercase;letter-spacing:.08em}
.se-contact dd{margin:4px 0 0;font-size:1.05rem}
.mapcard{border-radius:var(--r);min-height:300px;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/40px 40px,var(--surface);border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden;padding:24px;text-align:center}
.mapcard::before{content:"";position:absolute;height:26px;background:var(--surface-2);transform:rotate(-18deg);top:42%;left:-20%;width:140%}
.pin{position:relative;display:grid;gap:14px;justify-items:center}
.pin .dot{width:22px;height:22px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 8px color-mix(in srgb,var(--coral) 25%,transparent)}

/* PIED DE PAGE */
.foot{border-top:1px solid var(--line);padding-block:48px 56px;margin-top:clamp(56px,8vw,96px)}
.foot .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.foot h3{font-family:var(--body);text-transform:none;font-size:.85rem;font-weight:700;color:var(--muted);margin-bottom:10px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.95rem}
.foot ul a{text-decoration:none}
.foot ul a:hover{color:var(--amber)}
.frules{color:var(--muted);font-size:.85rem;max-width:40ch;margin-top:12px}
@media (max-width:860px){.foot .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot .wrap{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* TITRES DE SOIRÉE CLIQUABLES */
.ev-title{font:inherit;color:var(--fg);background:none;border:0;padding:0;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--rose) 55%,transparent);text-underline-offset:4px;text-decoration-thickness:2px}
.ev-title:hover{color:var(--rose)}
.fl-link{font:600 .8rem var(--body);color:var(--rose);background:none;border:0;padding:0;cursor:pointer}
.fl-link:hover{text-decoration:underline}

/* FENÊTRE FLYER */
html.fl-lock{overflow:hidden}
.flyer-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(12px,3vw,40px);opacity:0;transition:opacity .32s ease}
.flyer-modal.is-open{opacity:1}
.fl-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.fl-box{position:relative;width:min(980px,100%);max-height:calc(100dvh - 2*clamp(12px,3vw,40px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55);transform:translateY(14px) scale(.98);transition:transform .32s cubic-bezier(.16,1,.3,1)}
.flyer-modal.is-open .fl-box{transform:none}
.flyer-modal.no-img .fl-box{grid-template-columns:1fr;width:min(520px,100%)}
.fl-img{background:#000;display:flex;align-items:center;justify-content:center;min-height:0;position:relative;overflow:hidden}
.fl-img::before{content:"";position:absolute;inset:-40px;background:var(--fl,none) center/cover no-repeat;filter:blur(32px) brightness(.45);transform:scale(1.1)}
.fl-img img{position:relative;width:100%;height:100%;max-height:calc(100dvh - 2*clamp(12px,3vw,40px));object-fit:contain;display:block}
.fl-info{--tc:var(--amber);overflow-y:auto;padding:clamp(24px,3.5vw,40px);display:grid;align-content:start}
.fl-body{display:grid;gap:14px}
.fl-body .chip{justify-self:start}
.fl-body h3{font-size:clamp(2.2rem,4vw,3.2rem);line-height:.95;color:var(--rose)}
.fl-date{font-family:var(--mono);font-size:.9rem;color:var(--fg)}
.fl-desc{color:var(--muted)}
.fl-body .tc-row .v{color:var(--tc)}
.fl-time{font-size:.95rem;color:var(--rose)}
.fl-close{position:absolute;top:12px;right:12px;z-index:2;width:42px;height:42px;border-radius:var(--pill);border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 80%,transparent);color:var(--fg);font-size:1.6rem;line-height:1;cursor:pointer}
.fl-close:hover{border-color:var(--rose);color:var(--rose)}
@media (max-width:760px){
  .flyer-modal{padding:0;place-items:end center}
  .fl-box{grid-template-columns:1fr;max-height:94dvh;border-radius:22px 22px 0 0;overflow-y:auto;width:100%}
  .fl-img img{max-height:66dvh}
  .fl-info{overflow:visible}
}
@media (prefers-reduced-motion:reduce){.flyer-modal,.fl-box{transition:none}}

/* SOIRÉES RÉPÉTÉES */
.rec{font:600 .82rem var(--body);color:var(--violet);display:flex;align-items:center;gap:6px;margin:2px 0 0}
.rec::before{content:"";width:14px;height:14px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 2l4 4-4 4'/%3E%3Cpath d='M3 11v-1a4 4 0 0 1 4-4h14'/%3E%3Cpath d='M7 22l-4-4 4-4'/%3E%3Cpath d='M21 13v1a4 4 0 0 1-4 4H3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 2l4 4-4 4'/%3E%3Cpath d='M3 11v-1a4 4 0 0 1 4-4h14'/%3E%3Cpath d='M7 22l-4-4 4-4'/%3E%3Cpath d='M21 13v1a4 4 0 0 1-4 4H3'/%3E%3C/svg%3E") center/contain no-repeat}
.fl-body .rec{font-size:.9rem}

/* TARIF EN COURS */
.tc-row.is-now span:first-child{color:var(--fg);font-weight:700}
.tc-now{font:700 .68rem var(--body);font-style:normal;text-transform:uppercase;letter-spacing:.08em;color:var(--bg);background:var(--tc);padding:2px 7px;border-radius:var(--pill);margin-left:6px;vertical-align:2px}
