/* Site de club Plugin.ch (app/Metier/Site/SiteRendu.php). Polices : polices.css.
   Base commune. Les gabarits changent la typographie, les fonds et la composition, pas seulement la couleur. */
:root{--c1:#0b5563;--c2:#ffe100;--on-c1:#fff;--on-c2:#111;--bg:#fff;--bg2:#f3f6f4;--ink:#121a1c;--mut:#566467;--line:#dde4e2;--card:#fff;--r:18px;--disp:"Bricolage Grotesque",system-ui,sans-serif;--txt:"Instrument Sans",system-ui,sans-serif;--ls:-.025em;--tt:none;--dw:800}
[data-style=nocturne]{--bg:#0e0e10;--bg2:#17171a;--ink:#f4f1ec;--mut:#a7a39c;--line:#2d2c30;--card:#17171a;--r:2px;--disp:"Anton",Impact,sans-serif;--txt:"Archivo",system-ui,sans-serif;--ls:.01em;--tt:uppercase;--dw:400}
[data-style=terroir]{--bg:#faf6ef;--bg2:#f1e9dc;--ink:#2a211a;--mut:#6f6256;--line:#e2d7c6;--card:#fffdf9;--r:6px;--disp:"Fraunces",Georgia,serif;--txt:"DM Sans",system-ui,sans-serif;--ls:-.02em;--dw:600}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 clamp(1rem,.96rem + .2vw,1.13rem)/1.6 var(--txt);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit}ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3{font-family:var(--disp);font-weight:var(--dw);letter-spacing:var(--ls);text-transform:var(--tt);line-height:1.02;margin:0;text-wrap:balance}
h2{font-size:clamp(2.1rem,1.5rem + 2.8vw,4rem);margin-bottom:.55em}h3{font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem);line-height:1.12}
p{margin:0 0 1em}.prose{max-width:62ch}.prose p:last-child{margin-bottom:0}
.wrap{width:min(1240px,100% - 2*clamp(16px,4vw,48px));margin-inline:auto}.wrap-txt{max-width:820px}.wrap-mid{max-width:920px}
.sur{font-size:.84rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:1em;color:var(--mut)}
.btn{display:inline-flex;align-items:center;gap:.5em;background:var(--c1);color:var(--on-c1);padding:.85em 1.45em;border:0;border-radius:calc(var(--r) + 40px);font:700 1rem var(--txt);text-decoration:none;cursor:pointer;transition:transform .16s,filter .16s;margin-top:.6em}
.btn:hover{transform:translateY(-2px);filter:brightness(1.09)}.btn-l{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
[data-style=nocturne] .btn{border-radius:0;background:var(--c1);text-transform:uppercase;letter-spacing:.05em;font-size:.92rem}
.fl{width:1.2em;height:1.2em;flex:none;transition:transform .18s}a:hover>.fl{transform:translate(3px,-3px)}
:focus-visible{outline:3px solid var(--c2);outline-offset:3px;border-radius:4px}

/* En-tête */
.top{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px) saturate(1.5);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:20px;width:min(1400px,100% - 2*clamp(16px,3vw,36px));margin-inline:auto;min-height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:var(--dw) 1.28rem/1 var(--disp);letter-spacing:var(--ls);text-transform:var(--tt);white-space:nowrap}.logo img{height:48px;width:auto}
.top nav{margin-left:auto}.top nav ul{display:flex;gap:2px}
.top nav a{display:block;padding:.5em .85em;text-decoration:none;font-weight:600;font-size:.97rem;border-radius:99px;white-space:nowrap;transition:background .15s}
.top nav a:hover{background:color-mix(in srgb,var(--c1) 12%,transparent)}.top nav a[aria-current]{background:var(--c1);color:var(--on-c1)}
[data-style=nocturne] .top nav a{border-radius:0;text-transform:uppercase;font-size:.84rem;letter-spacing:.06em}[data-style=nocturne] .top nav a[aria-current]{background:transparent;color:var(--c1);box-shadow:inset 0 -2px 0 var(--c1)}
.cta{display:inline-flex;gap:.4em;align-items:center;background:var(--c2);color:var(--on-c2);padding:.6em 1.05em;border-radius:99px;font-weight:700;text-decoration:none;white-space:nowrap}
[data-style=nocturne] .cta{background:var(--c1);color:var(--on-c1);border-radius:0;text-transform:uppercase;font-size:.88rem;letter-spacing:.05em}
.burger{display:none;margin-left:auto;width:46px;height:46px;background:none;border:1px solid var(--line);border-radius:12px;color:inherit;cursor:pointer;position:relative}.burger i{position:absolute;left:12px;right:12px;height:2px;background:currentColor;transition:transform .2s,top .2s}.burger i:first-child{top:18px}.burger i:last-child{top:26px}
.ouvert .burger i{top:22px}.ouvert .burger i:first-child{transform:rotate(45deg)}.ouvert .burger i:last-child{transform:rotate(-45deg)}

/* Blocs : espacement, fonds et contours prédéfinis */
.bloc{--pad:clamp(56px,7vw,112px);padding-block:var(--pad);position:relative}.esp-compact{--pad:clamp(28px,3.5vw,52px)}.esp-large{--pad:clamp(84px,10vw,160px)}
.fond-doux{background:var(--bg2)}.fond-club{background:var(--c1);color:var(--on-c1)}.fond-accent{background:var(--c2);color:var(--on-c2)}.fond-sombre{background:#101416;color:#f5f5f3}
.fond-photo{color:#fff;background:linear-gradient(rgba(0,0,0,.56),rgba(0,0,0,.62)),var(--fp) center/cover}
.fond-club .sur,.fond-accent .sur,.fond-sombre .sur,.fond-photo .sur{color:inherit;opacity:.8}
.fond-club .btn,.fond-sombre .btn,.fond-photo .btn{background:var(--c2);color:var(--on-c2)}.fond-accent .btn{background:#111;color:#fff}
.contour-carte>.wrap{background:var(--card);color:var(--ink);padding:clamp(24px,4vw,56px);border-radius:calc(var(--r) + 8px)}.contour-trait>.wrap{border:2px solid currentColor;padding:clamp(24px,4vw,56px);border-radius:calc(var(--r) + 8px)}.contour-ombre>.wrap{background:var(--card);color:var(--ink);padding:clamp(24px,4vw,56px);border-radius:calc(var(--r) + 8px);box-shadow:0 26px 70px -22px rgba(0,0,0,.34)}

/* Grand visuel */
.b-hero{padding:0;display:grid;min-height:min(86svh,860px);overflow:clip;background:#0d1417;color:#fff}
.b-hero>*{grid-area:1/1}.hero-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;animation:zoom 1.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes zoom{from{transform:scale(1.07)}}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,20,24,.22),rgba(7,20,24,.46) 45%,rgba(7,20,24,.84)),linear-gradient(90deg,rgba(7,20,24,.38),transparent 70%)}
.hero-txt{position:relative;align-self:end;padding-block:clamp(48px,6vw,88px)}.hero-txt .sur{color:var(--c2)}
.b-hero h1{font-size:clamp(3.2rem,min(9.6vw,21svh),10.5rem);line-height:.92;max-width:11ch}.hero-sous{font-size:clamp(1.12rem,1rem + .7vw,1.55rem);max-width:34ch;margin:.8em 0 0;line-height:1.35}
[data-style=nocturne] .b-hero h1{font-size:clamp(3.8rem,min(12vw,24svh),14rem);max-width:none;line-height:.94}[data-style=nocturne] .hero-img::after{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.08) 75%),linear-gradient(0deg,#0e0e10,transparent 30%)}
[data-style=terroir] .b-hero{min-height:0;grid-template-columns:1fr 1fr;background:var(--bg2);color:var(--ink)}[data-style=terroir] .hero-img{grid-area:1/2;position:relative;min-height:620px}[data-style=terroir] .hero-img::after{display:none}[data-style=terroir] .hero-txt{grid-area:1/1;align-self:center}[data-style=terroir] .hero-txt .sur{color:var(--c1)}[data-style=terroir] .hero-txt .wrap{width:auto;margin:0;padding-inline:clamp(16px,5vw,72px)}[data-style=terroir] .b-hero h1{font-size:clamp(3rem,1.5rem + 5vw,6.2rem)}

/* En-tête de page */
.b-entete{padding:0;background:var(--c1);color:var(--on-c1);display:grid;overflow:clip}.b-entete>*{grid-area:1/1}.ent-img{position:relative}.ent-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.42;mix-blend-mode:luminosity}
.ent-txt{position:relative;padding-block:clamp(64px,9vw,136px) clamp(36px,4.5vw,64px)}.ent-txt h1{font-size:clamp(3rem,1.6rem + 7.2vw,8rem);line-height:.95}.ent-txt p{font-size:clamp(1.08rem,1rem + .5vw,1.4rem);max-width:44ch;margin:.7em 0 0}
[data-style=nocturne] .b-entete{background:#0e0e10;color:var(--ink);border-bottom:4px solid var(--c1)}[data-style=nocturne] .ent-img img{opacity:.35;mix-blend-mode:normal}
[data-style=terroir] .b-entete{background:var(--bg2);color:var(--ink)}[data-style=terroir] .ent-img{display:none}

/* Grandes actions vers Plugin */
.b-actions{padding-block:0}.act-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px;position:relative;z-index:2}
.act{position:relative;display:grid;gap:.25em;padding:clamp(22px,2.5vw,34px);padding-right:3.6em;background:var(--card);color:var(--ink);border-radius:var(--r);text-decoration:none;box-shadow:0 22px 55px -24px rgba(5,30,35,.42),0 0 0 1px var(--line);transition:transform .2s,background .2s,color .2s}
.act:hover{transform:translateY(-5px);background:var(--c2);color:var(--on-c2)}.act-t{font:var(--dw) clamp(1.35rem,1.15rem + .8vw,1.9rem)/1.08 var(--disp);letter-spacing:var(--ls);text-transform:var(--tt)}.act-x{color:var(--mut);font-size:.95rem}.act:hover .act-x{color:inherit}.act .fl{position:absolute;right:22px;top:24px;width:1.6em;height:1.6em}
[data-style=alpin] .b-hero+.b-actions{margin-top:-46px}
[data-style=nocturne] .b-actions{padding-block:0}[data-style=nocturne] .act-grid{gap:0;grid-template-columns:1fr;border-top:1px solid var(--line)}[data-style=nocturne] .act{background:transparent;box-shadow:none;border-bottom:1px solid var(--line);border-radius:0;grid-template-columns:1fr auto;align-items:center;padding:clamp(20px,2.6vw,36px) 3.6em clamp(20px,2.6vw,36px) 0}[data-style=nocturne] .act .fl{top:50%;right:6px;translate:0 -50%}[data-style=nocturne] .act-t{font-size:clamp(2rem,1.2rem + 3.4vw,4.4rem)}[data-style=nocturne] .act:hover{background:var(--c1);color:var(--on-c1);transform:none;padding-left:18px}

/* Texte + photo */
.tp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,96px);align-items:center}.tp-g .tp-p{order:-1}.tp-p img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--r)}
[data-style=nocturne] .tp-p img{aspect-ratio:4/3}

/* Chiffres */
.chf{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:clamp(18px,3vw,44px)}.chf b{display:block;font:var(--dw) clamp(3.2rem,2rem + 5vw,6.6rem)/1 var(--disp);letter-spacing:var(--ls)}.chf span{font-weight:600;opacity:.82}

/* Tarifs */
.prix li{display:flex;align-items:baseline;gap:12px;padding:1.05em 0;border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent)}.prix small{display:block;color:var(--mut);font-size:.9rem;margin-top:.12em}.prix .pts{flex:1}.prix b{font:var(--dw) clamp(1.6rem,1.3rem + 1.1vw,2.4rem)/1 var(--disp);white-space:nowrap;letter-spacing:var(--ls)}

/* Terrains */
.ter{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px;margin-bottom:1.5em}.ter-c{background:var(--bg2);padding:26px;border-radius:var(--r)}.fond-doux .ter-c{background:var(--card)}.ter-c .num{display:block;font:var(--dw) 3.2rem/1 var(--disp);color:var(--c1);margin-bottom:.5em}.ter-c p{margin:.3em 0 0;color:var(--mut)}

/* Comité */
.com{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:clamp(20px,2.5vw,34px) 18px}.ava{width:92px;height:92px;border-radius:50%;background:var(--c1);color:var(--on-c1);display:grid;place-items:center;overflow:hidden;font:var(--dw) 1.7rem var(--disp);margin-bottom:14px}.ava img{width:100%;height:100%;object-fit:cover}
[data-style=nocturne] .ava{border-radius:0}.com-c h3{font-size:1.2rem}.com-c p{color:var(--mut);margin:.2em 0 .6em;font-size:.95rem}.fond-club .com-c p,.fond-sombre .com-c p{color:inherit;opacity:.76}
.com-a{display:inline-block;font:600 .92rem var(--txt);background:none;border:0;color:inherit;padding:.25em 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* Agenda, frise, documents */
.ag li{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:20px;padding:1.05em 0;border-bottom:1px solid var(--line)}.ag time{font-weight:700;color:var(--c1)}[data-style=nocturne] .ag time{color:var(--c2)}.fond-club .ag time{color:inherit}.ag p{margin:.15em 0 0;color:var(--mut)}.ag .passe{opacity:.62}
.ag-pa{margin-top:1.8em}.ag-pa summary{cursor:pointer;font-weight:700}.vide{color:var(--mut)}
.frise li{display:grid;grid-template-columns:clamp(90px,16vw,190px) 1fr;gap:20px;align-items:baseline;padding:.8em 0;border-bottom:1px solid var(--line)}.frise b{font:var(--dw) clamp(1.9rem,1.5rem + 1.8vw,3.2rem)/1 var(--disp);color:var(--c1)}[data-style=nocturne] .frise b{color:var(--c2)}
.docs a{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:1em 0;border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent);text-decoration:none;font-weight:600}

/* Cartes, galerie, sponsors */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.card{background:var(--card);color:var(--ink);border-radius:var(--r);overflow:hidden;box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column}.card-p img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s}.card:hover .card-p img{transform:scale(1.04)}.card-p{overflow:hidden}.card-t{padding:22px}.card time{font-size:.86rem;font-weight:700;color:var(--mut)}.card h3{margin:.25em 0 .4em}.card p{margin:0;color:var(--mut)}
.gal{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}.gal a{display:block;grid-column:span 4;aspect-ratio:4/3;overflow:hidden;border-radius:calc(var(--r)*.6);cursor:zoom-in}.gal a img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gal a:hover img{transform:scale(1.04)}.gal a:nth-child(5n+1){grid-column:span 8;grid-row:span 2;aspect-ratio:auto}
.spo{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px}.spo-c{display:grid;place-items:center;text-align:center;min-height:118px;padding:16px;background:var(--card);box-shadow:0 0 0 1px var(--line);border-radius:var(--r);font-weight:700;color:var(--ink)}

/* Bandeau et contact */
.ban{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}.ban h2{margin-bottom:.2em}.ban p{margin:0;font-size:1.13rem;max-width:58ch}
.ctc{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,96px)}address{font-style:normal;font-size:1.13rem;margin-bottom:1em}.ctc .prose{margin-top:1.5em}
.form{display:grid;gap:14px}.form label{display:grid;gap:5px;font-weight:600;font-size:.95rem}.form input,.form textarea{width:100%;padding:.8em .9em;border:1px solid var(--line);border-radius:calc(var(--r)*.6);background:var(--card);color:var(--ink);font:inherit}.form .btn{justify-self:start}.form-ok{font-weight:700;margin:0}.dest{margin:0}
.dlg{border:0;border-radius:var(--r);padding:32px;width:min(520px,calc(100vw - 32px));background:var(--bg);color:var(--ink)}.dlg::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(3px)}.dlg-x{position:absolute;top:10px;right:12px;background:none;border:0;color:inherit;font-size:1.8rem;line-height:1;cursor:pointer}

/* Pied */
.pied{background:#0c1113;color:#d7dcdb;padding:clamp(44px,5vw,72px) 0 26px}.pied a{text-decoration:none}.pied a:hover{text-decoration:underline}.pied-g{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}.pied-n{font:var(--dw) 1.5rem var(--disp);text-transform:var(--tt);color:#fff;display:block;margin-bottom:.4em}.pied li{margin:.28em 0}.pied-f{border-top:1px solid #2a3234;margin-top:34px;padding-top:18px;font-size:.87rem;color:#98a3a2}

/* Apparition douce au défilement, seulement si le navigateur le permet */
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.bloc:not(.b-hero):not(.b-entete):not(.b-actions)>.wrap{animation:monte linear both;animation-timeline:view();animation-range:entry 0% entry 26%}}}
@keyframes monte{from{opacity:.25;transform:translateY(26px)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}

/* Mobile et tablette */
@media(max-width:1020px){.burger{display:block}.top nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:10px 16px 18px;margin:0}.ouvert nav{display:block}.top nav ul{display:grid;gap:2px}.top nav a{padding:.8em .9em;font-size:1.06rem}.cta{margin-left:0;order:1;padding:.55em .85em;font-size:.92rem}.burger{order:2;margin-left:0}.logo{margin-right:auto}.top-in{gap:10px;position:relative}.tp,.ctc,.pied-g{grid-template-columns:1fr}.tp-g .tp-p{order:0}[data-style=terroir] .b-hero{grid-template-columns:1fr}[data-style=terroir] .hero-img{grid-area:1/1;min-height:300px}[data-style=terroir] .hero-txt{grid-area:2/1;padding-block:36px}}
@media(max-width:620px){[data-style=nocturne] .act-x{display:none}.logo span{display:none}.logo img{height:42px}.top-in{min-height:62px}.b-hero{min-height:calc(88svh - 62px)}[data-style=alpin] .b-hero+.b-actions{margin-top:-20px}.act-grid{gap:10px}.ag li{grid-template-columns:1fr;gap:2px}.gal a,.gal a:nth-child(5n+1){grid-column:span 6;grid-row:auto;aspect-ratio:1}.gal a:nth-child(3n+1){grid-column:span 12;aspect-ratio:3/2}.ban .btn{width:100%;justify-content:center}}

/* Mode modification */
[data-edition] .bloc{cursor:pointer;outline:2px solid transparent;outline-offset:-2px;transition:outline-color .12s}[data-edition] .bloc:hover{outline-color:#3b82f6}[data-edition] .bloc.sel{outline:3px solid #2563eb}[data-edition] [data-f]:hover{background:rgba(59,130,246,.1);border-radius:4px}[data-edition] [data-f]:focus{outline:2px solid #2563eb;outline-offset:2px;background:rgba(59,130,246,.08);cursor:text}
[data-edition] a,[data-edition] .com-a{pointer-events:none}.outils{position:absolute;top:10px;right:10px;z-index:30;display:flex;gap:3px;background:#172033;color:#fff;border-radius:9px;padding:4px;box-shadow:0 10px 26px rgba(0,0,0,.34);font:600 13px system-ui}.outils button{background:none;border:0;color:#fff;width:32px;height:30px;border-radius:6px;cursor:pointer;font-size:15px}.outils button:hover{background:#334155}.outils button:disabled{opacity:.3;cursor:default}.outils .nomb{padding:0 8px;display:flex;align-items:center;white-space:nowrap;color:#cbd5e1}
.ajout{position:relative;height:0;z-index:25;display:flex;justify-content:center;align-items:center}.ajout button{flex:none;white-space:nowrap;background:#2563eb;color:#fff;border:3px solid #fff;border-radius:99px;padding:.34em .95em;font:700 13px system-ui;cursor:pointer;box-shadow:0 8px 22px rgba(37,99,235,.42);opacity:0;transition:opacity .12s}.ajout:hover button,.bloc:hover+.ajout button,.ajout:has(+.bloc:hover) button,.ajout.fin button{opacity:1}.ajout.fin{height:80px}
[data-edition] .pied{pointer-events:none}.b-hero .outils,.b-entete .outils{top:14px}

/* ------------------------------------------------------------------ compléments du site en production */
.evite{position:absolute;left:-9999px;top:0;z-index:99;background:#111;color:#fff;padding:.7em 1em}.evite:focus{left:8px;top:8px}
.apercu-bandeau{background:#172033;color:#fff;font:600 .86rem/1.3 system-ui,sans-serif;text-align:center;padding:.55em 1em}
.leurre{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.tp-seul{grid-template-columns:1fr}.tp-seul .tp-t{max-width:820px}
.card .prose{max-width:none;color:var(--mut);font-size:.98rem}.card .prose p{margin:0 0 .6em}
.spo-c{text-decoration:none;transition:transform .16s,box-shadow .16s}a.spo-c:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--line),0 14px 30px -16px rgba(0,0,0,.35)}.spo-c img{max-height:84px;width:auto;max-width:100%;object-fit:contain}
.fond-sombre .spo-c,.fond-club .spo-c{background:#fff}
.form-ok.erreur{color:#b91c1c}.fond-club .form-ok.erreur,.fond-sombre .form-ok.erreur{color:#fecaca}.form button[disabled]{opacity:.6;cursor:progress}
.b-agenda .btn{margin-top:1.6em}.pied-f a{text-decoration:underline;text-underline-offset:2px}
.dlg.dlg-photo{padding:0;background:#000;width:auto;max-width:min(1400px,calc(100vw - 24px));overflow:hidden}.dlg-photo img{max-height:calc(100svh - 24px);width:auto;max-width:100%}.dlg-photo .dlg-x{color:#fff;text-shadow:0 1px 6px #000;z-index:2}
.logo img{max-width:140px;object-fit:contain}

/* Thème « rivage » : aéré, bandeau de couleur, formes douces */
[data-style=rivage]{--bg:#fbfcfd;--bg2:#eef3f6;--ink:#101820;--mut:#5a6672;--line:#dfe6ec;--card:#fff;--r:28px;--disp:"Plus Jakarta Sans",system-ui,sans-serif;--txt:"Plus Jakarta Sans",system-ui,sans-serif;--ls:-.035em;--dw:800}
[data-style=rivage] .top{background:var(--c1);color:var(--on-c1);border-bottom:0;backdrop-filter:none}[data-style=rivage] .top nav a:hover{background:color-mix(in srgb,var(--on-c1) 14%,transparent)}[data-style=rivage] .top nav a[aria-current]{background:var(--on-c1);color:var(--c1)}[data-style=rivage] .burger{border-color:color-mix(in srgb,var(--on-c1) 35%,transparent)}
[data-style=rivage] .b-hero{min-height:0;grid-template-columns:1.05fr .95fr;background:var(--c1);color:var(--on-c1);padding:clamp(18px,3vw,44px);gap:clamp(18px,3vw,44px)}[data-style=rivage] .hero-img{grid-area:1/2;position:relative;min-height:min(70svh,640px);border-radius:var(--r) var(--r) var(--r) 120px;overflow:hidden}[data-style=rivage] .hero-img::after{display:none}[data-style=rivage] .hero-txt{grid-area:1/1;align-self:center;padding-block:clamp(28px,4vw,64px)}[data-style=rivage] .hero-txt .wrap{width:auto;margin:0;padding-inline:clamp(4px,3vw,56px)}[data-style=rivage] .hero-txt .sur{color:inherit;opacity:.75}[data-style=rivage] .b-hero h1{font-size:clamp(2.8rem,1.4rem + 5.4vw,6.4rem);line-height:.98}
[data-style=rivage] .b-hero+.b-actions{background:linear-gradient(var(--c1) 50%,transparent 50%)}[data-style=rivage] .act{border-radius:var(--r);box-shadow:0 18px 44px -22px rgba(0,0,0,.4)}
[data-style=rivage] .b-entete{background:var(--c1);color:var(--on-c1);border-radius:0 0 0 clamp(48px,9vw,140px)}[data-style=rivage] .ent-txt h1{font-size:clamp(2.6rem,1.6rem + 5vw,6rem)}
[data-style=rivage] h2{font-size:clamp(1.9rem,1.4rem + 2.2vw,3.3rem)}[data-style=rivage] .tp-p img{border-radius:var(--r) 120px var(--r) var(--r)}[data-style=rivage] .tp-g .tp-p img{border-radius:120px var(--r) var(--r) var(--r)}
[data-style=rivage] .ter-c,[data-style=rivage] .card,[data-style=rivage] .spo-c{border-radius:22px}[data-style=rivage] .ava{border-radius:34% 66% 62% 38%/42% 40% 60% 58%}[data-style=rivage] .pied{background:var(--c1);color:var(--on-c1)}[data-style=rivage] .pied-n{color:inherit}[data-style=rivage] .pied-f{border-color:color-mix(in srgb,var(--on-c1) 22%,transparent);color:inherit;opacity:.8}

/* Thème « classique » : sobre, titres à empattements, filets fins */
[data-style=classique]{--bg:#fff;--bg2:#f5f4f0;--ink:#1b1b19;--mut:#63615a;--line:#d9d6cc;--card:#fff;--r:0px;--disp:"Playfair Display",Georgia,serif;--txt:"Source Sans 3",system-ui,sans-serif;--ls:-.01em;--dw:600}
[data-style=classique] .top{background:var(--bg);backdrop-filter:none;border-bottom:1px solid var(--ink)}[data-style=classique] .top-in{min-height:84px}[data-style=classique] .logo img{height:58px}
[data-style=classique] .top nav a{border-radius:0;font-weight:600;text-transform:uppercase;font-size:.8rem;letter-spacing:.11em;padding:.7em .9em}[data-style=classique] .top nav a:hover{background:transparent;box-shadow:inset 0 -2px 0 var(--line)}[data-style=classique] .top nav a[aria-current]{background:transparent;color:var(--ink);box-shadow:inset 0 -2px 0 var(--c1)}
[data-style=classique] .cta,[data-style=classique] .btn{border-radius:0;text-transform:uppercase;letter-spacing:.09em;font-size:.82rem;font-weight:700}[data-style=classique] .cta{background:var(--c1);color:var(--on-c1);padding:.8em 1.2em}
[data-style=classique] .b-hero{min-height:min(78svh,760px)}[data-style=classique] .hero-txt{align-self:center;text-align:center}[data-style=classique] .b-hero h1{font-size:clamp(2.8rem,1.4rem + 5.6vw,6.6rem);max-width:none;line-height:1.02}[data-style=classique] .hero-sous{margin-inline:auto;max-width:44ch}[data-style=classique] .hero-img::after{background:rgba(12,18,14,.5)}[data-style=classique] .hero-txt .sur{color:#fff;letter-spacing:.24em}
[data-style=classique] .hero-txt .wrap::after{content:"";display:block;width:64px;height:3px;background:var(--c2);margin:1.6em auto 0}
[data-style=classique] .b-entete{background:var(--bg2);color:var(--ink);border-bottom:1px solid var(--line);text-align:center}[data-style=classique] .ent-img{display:none}[data-style=classique] .ent-txt h1{font-size:clamp(2.4rem,1.5rem + 4vw,4.8rem)}[data-style=classique] .ent-txt p{margin-inline:auto;color:var(--mut)}
[data-style=classique] h2{font-size:clamp(1.8rem,1.4rem + 1.9vw,3rem)}[data-style=classique] h2::after{content:"";display:block;width:48px;height:3px;background:var(--c1);margin-top:.45em}[data-style=classique] .fond-club h2::after,[data-style=classique] .fond-sombre h2::after,[data-style=classique] .fond-photo h2::after{background:var(--c2)}
[data-style=classique] .b-hero+.b-actions{margin-top:-40px}[data-style=classique] .act{border-radius:0;box-shadow:0 0 0 1px var(--ink)}[data-style=classique] .act:hover{background:var(--c1);color:var(--on-c1)}
[data-style=classique] .card,[data-style=classique] .spo-c,[data-style=classique] .ter-c{box-shadow:0 0 0 1px var(--line)}[data-style=classique] .ter-c{background:var(--card)}[data-style=classique] .ter-c .num{font-style:italic}
[data-style=classique] .sur{letter-spacing:.2em;font-size:.76rem}[data-style=classique] .pied{background:#161614}

@media(max-width:1020px){[data-style=rivage] .b-hero{grid-template-columns:1fr}[data-style=rivage] .hero-img{grid-area:2/1;min-height:300px;border-radius:var(--r)}[data-style=rivage] .top nav,[data-style=classique] .top nav{background:var(--bg);color:var(--ink)}[data-style=rivage] .top nav a[aria-current]{background:var(--c1);color:var(--on-c1)}}
[data-edition] .top a{pointer-events:auto}[data-edition] .form button{pointer-events:none}

/* Grande image d'accueil sans photo : lignes d'un court de tennis aux couleurs du club */
.hero-sans{position:absolute;inset:0;background:var(--c1);overflow:hidden}
.hero-sans::before{content:"";position:absolute;right:-6%;top:50%;width:min(62vw,860px);aspect-ratio:78/36;translate:0 -50%;rotate:-14deg;border:5px solid color-mix(in srgb,var(--on-c1) 26%,transparent);
  background:linear-gradient(90deg,transparent calc(50% - 3px),color-mix(in srgb,var(--on-c1) 40%,transparent) calc(50% - 3px) calc(50% + 3px),transparent calc(50% + 3px)),
  linear-gradient(0deg,transparent 12%,color-mix(in srgb,var(--on-c1) 26%,transparent) 12% calc(12% + 4px),transparent calc(12% + 4px) calc(88% - 4px),color-mix(in srgb,var(--on-c1) 26%,transparent) calc(88% - 4px) 88%,transparent 88%),
  linear-gradient(90deg,transparent 23%,color-mix(in srgb,var(--on-c1) 26%,transparent) 23% calc(23% + 4px),transparent calc(23% + 4px) calc(77% - 4px),color-mix(in srgb,var(--on-c1) 26%,transparent) calc(77% - 4px) 77%,transparent 77%) center/100% 76% no-repeat,
  linear-gradient(0deg,transparent calc(50% - 2px),color-mix(in srgb,var(--on-c1) 26%,transparent) calc(50% - 2px) calc(50% + 2px),transparent calc(50% + 2px)) center/54% 100% no-repeat}
.hero-sans::after{content:"";position:absolute;right:11%;top:16%;width:clamp(56px,8vw,120px);aspect-ratio:1;border-radius:50%;background:var(--c2);box-shadow:inset -10px -12px 0 rgba(0,0,0,.12);display:block!important;inset:auto 11% auto auto;top:16%}
.b-hero:has(.hero-sans){color:var(--on-c1);background:var(--c1)}.b-hero:has(.hero-sans) .hero-txt .sur{color:inherit;opacity:.78}
[data-style=rivage] .b-hero:has(.hero-sans){grid-template-columns:1fr}[data-style=rivage] .hero-img.hero-sans{grid-area:1/1;position:absolute;min-height:0;border-radius:0}[data-style=rivage] .b-hero:has(.hero-sans) .hero-txt{min-height:min(58svh,520px);display:grid;align-content:center}
[data-style=terroir] .hero-img.hero-sans{position:relative}[data-style=nocturne] .hero-sans{background:#0e0e10}[data-style=nocturne] .b-hero:has(.hero-sans){color:#f4f1ec;background:#0e0e10}
[data-style=classique] .b-hero:has(.hero-sans) .hero-txt .sur{color:inherit}
@media(max-width:1020px){.hero-sans::before{width:120vw;right:-40%;opacity:.7}}
[data-style=nocturne] .spo-c{background:#fff;color:#111}

/* Liens Plugin : de l'air autour, sauf juste sous la grande image d'accueil où les cartes la chevauchent */
.b-actions{padding-block:clamp(28px,3.5vw,52px)}.b-hero+.b-actions{padding-top:0}.b-actions.esp-normal:not(.b-hero+.b-actions){padding-block:clamp(40px,5vw,72px)}
main>.b-actions:last-child{padding-bottom:clamp(64px,8vw,112px)}
[data-style=nocturne] .b-actions{padding-block:clamp(28px,3.5vw,52px)}[data-style=nocturne] .b-hero+.b-actions{padding-top:0}[data-style=nocturne] main>.b-actions:last-child{padding-bottom:clamp(64px,8vw,112px)}
/* Événements de Plugin, itinéraire */
.evt .card-t{display:flex;flex-direction:column;gap:.35em;flex:1}.evt time{color:var(--c1);font-size:.9rem}[data-style=nocturne] .evt time{color:var(--c2)}.evt-i{font-weight:600;color:var(--ink)!important;font-size:.95rem}.evt .btn{margin-top:auto;align-self:flex-start;padding:.6em 1.1em;font-size:.92rem}.evt p{margin:0 0 .5em}
.ctc-b{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 1em}.ctc-b .btn{margin-top:0}
.pied-iti{display:inline-flex;align-items:center;gap:.4em;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px}[data-style=rivage] .pied-iti{color:inherit}

/* Comité : cartes et boutons de contact (Écrire, téléphone) */
.com{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:16px}
.com-c{display:flex;flex-direction:column;align-items:flex-start;background:var(--card);color:var(--ink);padding:22px;border-radius:var(--r);box-shadow:0 0 0 1px var(--line);transition:transform .18s,box-shadow .18s}
.com-c:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--line),0 18px 36px -20px rgba(0,0,0,.35)}
.com-c .ava{width:84px;height:84px;margin-bottom:14px;box-shadow:0 0 0 4px var(--bg),0 0 0 6px var(--c2)}.com-c h3{font-size:1.18rem}.com-c p{color:var(--mut)!important;opacity:1!important;margin:.25em 0 0;font-size:.94rem;flex:1}
.com-b{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;width:100%}
.com-a{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.6em 1em;border-radius:99px;font:700 .9rem/1 var(--txt);text-decoration:none;cursor:pointer;border:0;white-space:nowrap;transition:transform .15s,filter .15s,background .15s,color .15s}
.com-a svg{width:1.15em;height:1.15em;flex:none}.com-a:hover{transform:translateY(-1px)}
.com-ecrire{background:var(--c1);color:var(--on-c1)}.com-ecrire:hover{filter:brightness(1.1)}
.com-tel{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.com-tel:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
[data-style=nocturne] .com-a,[data-style=classique] .com-a{border-radius:0;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}[data-style=nocturne] .com-c .ava{box-shadow:0 0 0 2px var(--c1)}
[data-style=classique] .com-c{box-shadow:0 0 0 1px var(--line)}[data-style=rivage] .com-c{border-radius:22px}[data-style=rivage] .com-c .ava{box-shadow:none}
@media(max-width:620px){.com-a{flex:1 1 auto}}

/* Sous-menus (un niveau) : au survol et au clavier sur ordinateur, dépliés dans le menu mobile */
.top nav li{position:relative}.top nav li.sous{display:flex;align-items:center}
.sm-b{display:grid;place-items:center;width:22px;height:28px;margin-left:-10px;margin-right:2px;padding:0;background:none;border:0;color:inherit;cursor:pointer;opacity:.7}.sm-b svg{width:14px;height:14px;transition:transform .18s}
.top nav li.sous:hover .sm-b svg,.top nav li.sous.ouvert .sm-b svg{transform:rotate(180deg)}
.top nav ul.sm{display:none;position:absolute;top:100%;left:0;z-index:50;min-width:230px;flex-direction:column;gap:1px;padding:8px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:calc(var(--r)*.7 + 4px);box-shadow:0 22px 50px -18px rgba(0,0,0,.4)}
.top nav ul.sm::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.top nav li.sous:hover>.sm,.top nav li.sous:focus-within>.sm,.top nav li.sous.ouvert>.sm{display:flex}
.top nav ul.sm a{border-radius:calc(var(--r)*.5);padding:.6em .8em;white-space:nowrap}.top nav ul.sm a:hover{background:color-mix(in srgb,var(--c1) 14%,transparent)}.top nav ul.sm a[aria-current]{background:color-mix(in srgb,var(--c1) 14%,transparent);color:var(--ink);box-shadow:inset 3px 0 0 var(--c1)}
.top nav li.sous.dedans>a:not([aria-current]){background:color-mix(in srgb,var(--c1) 12%,transparent)}[data-style=rivage] .top nav li.sous.dedans>a:not([aria-current]){background:color-mix(in srgb,var(--on-c1) 16%,transparent)}[data-style=nocturne] .top nav li.sous.dedans>a:not([aria-current]),[data-style=classique] .top nav li.sous.dedans>a:not([aria-current]){background:transparent;box-shadow:inset 0 -2px 0 var(--c1)}
[data-style=nocturne] .top nav ul.sm,[data-style=classique] .top nav ul.sm{border-radius:0}[data-style=nocturne] .top nav ul.sm a[aria-current]{background:var(--bg2);color:var(--c1);box-shadow:none}
[data-style=rivage] .top nav ul.sm a:hover{background:color-mix(in srgb,var(--c1) 14%,transparent)}[data-style=rivage] .top nav ul.sm a[aria-current]{background:var(--bg2);color:var(--ink)}
@media(max-width:1020px){.top nav li.sous{display:block}.sm-b{display:none}.top nav ul.sm,.top nav li.sous:hover>.sm{display:grid;position:static;min-width:0;border:0;box-shadow:none;background:transparent;color:inherit;padding:0 0 4px 16px;margin-left:10px;border-left:2px solid var(--line);border-radius:0}.top nav ul.sm::before{display:none}.top nav ul.sm a{font-size:.98rem;padding:.6em .8em}.top nav li.sous.dedans>a:not([aria-current]){box-shadow:none;background:transparent}}
[data-edition] .sm-b{pointer-events:auto}

/* Menu replié sur grand écran quand il ne tient pas sur une ligne (classe posée par site.js) */
.top.etroit .burger{display:block;order:2;margin-left:0}.top.etroit .logo{margin-right:auto}.top.etroit .cta{order:1}.top.etroit .top-in{position:relative;gap:10px}
.top.etroit nav{display:none;position:absolute;right:0;top:100%;width:min(360px,100%);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-top:0;padding:10px 16px 18px;margin:0;box-shadow:0 22px 50px -18px rgba(0,0,0,.4);max-height:calc(100svh - 90px);overflow:auto}
.top.etroit.ouvert nav{display:block}.top.etroit nav>ul{display:grid;gap:2px}.top.etroit nav a{padding:.75em .9em}
.top.etroit nav li.sous{display:block}.top.etroit .sm-b{display:none}
.top.etroit nav ul.sm,.top.etroit nav li.sous:hover>.sm{display:grid;position:static;min-width:0;border:0;box-shadow:none;background:transparent;color:inherit;padding:0 0 4px 16px;margin-left:10px;border-left:2px solid var(--line);border-radius:0}
.top.etroit nav ul.sm::before{display:none}.top.etroit nav li.sous.dedans>a:not([aria-current]){background:transparent;box-shadow:none}
[data-style=rivage] .top.etroit nav a[aria-current]{background:var(--c1);color:var(--on-c1)}
@media(max-width:1020px){.top nav{max-height:calc(100svh - 76px);overflow:auto;overscroll-behavior:contain}}
