/* Confort, confirmation et signaux vivants */
.orbit{display:grid;place-items:center;width:52px;height:52px;color:#f0c0cf;z-index:3;pointer-events:none;filter:drop-shadow(0 4px 10px #3e162580)}
.orbit span{display:block;line-height:1;transform-origin:center}.orbit:before{content:"";position:absolute;inset:5px;border:1px solid currentColor;border-radius:50%;opacity:0}
.orbit.one{animation:starDrift 3.2s ease-in-out infinite!important}.orbit.one span{animation:starFlash 1.8s ease-in-out infinite!important}.orbit.one:before{animation:sparkRing 1.8s ease-out infinite!important}
.orbit.two{animation:heartDrift 3.6s ease-in-out infinite!important}.orbit.two span{animation:heartVisible 1.25s ease-in-out infinite!important}.orbit.two:before{animation:heartRing 1.25s ease-out infinite!important}
.kiss-glow{position:absolute;z-index:2;left:65.8%;top:67.5%;width:94px;height:58px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) rotate(-17deg);background:radial-gradient(ellipse,rgba(255,184,202,.5) 0,rgba(223,76,118,.27) 34%,rgba(184,41,83,.1) 55%,transparent 74%);box-shadow:0 0 16px rgba(231,91,132,.24);mix-blend-mode:screen;filter:blur(3px);animation:kissGlow 3s ease-in-out infinite!important}
.kiss-glow:after{content:"";position:absolute;inset:13px 20px;border-radius:50%;border:1px solid rgba(255,210,222,.65);filter:blur(2px);opacity:.6}
@keyframes kissGlow{0%,100%{opacity:.42;filter:blur(4px);scale:.96}45%{opacity:.92;filter:blur(2px) drop-shadow(0 0 12px rgba(232,87,128,.7));scale:1.08}62%{opacity:.58;scale:1}}
@keyframes starDrift{0%,100%{transform:translate(0,0) rotate(-5deg)}35%{transform:translate(13px,-19px) rotate(8deg)}70%{transform:translate(-8px,-7px) rotate(-4deg)}}
@keyframes starFlash{0%,100%{transform:rotate(-12deg) scale(.72);opacity:.55}45%{transform:rotate(24deg) scale(1.55);opacity:1;text-shadow:0 0 18px #fff,0 0 34px currentColor}60%{transform:rotate(38deg) scale(1.04)}}
@keyframes sparkRing{0%,35%{transform:scale(.3);opacity:0}48%{opacity:.65}78%,100%{transform:scale(1.35);opacity:0}}
@keyframes heartDrift{0%,100%{transform:translate(0,0) rotate(0)}48%{transform:translate(-12px,-18px) rotate(-8deg)}}
@keyframes heartVisible{0%,52%,100%{transform:scale(.78);opacity:.58}60%{transform:scale(1.52);opacity:1;text-shadow:0 0 20px #fff,0 0 32px currentColor}69%{transform:scale(.92)}78%{transform:scale(1.34);opacity:1}}
@keyframes heartRing{0%,55%{transform:scale(.35);opacity:0}63%{opacity:.55}92%,100%{transform:scale(1.4);opacity:0}}
.calendar-tension{padding:6px 10px;border:1px solid var(--line);border-radius:99px;color:var(--muted);background:var(--soft);font-size:10px!important;font-weight:850;letter-spacing:.04em}
.calendar-tension[data-level="high"]{border-color:#9e6578;color:var(--accent);background:#f7e9ed}.calendar-tension[data-level="low"]{border-color:#91a58b;color:#4c6745;background:#edf5ea}
html[data-theme="dark"] .calendar-tension[data-level="high"]{background:#321f26}html[data-theme="dark"] .calendar-tension[data-level="low"]{background:#1d291b;color:#bcd0b7}
.confirmation-card{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;padding:34px;border-radius:28px;background:#fff;color:var(--ink);box-shadow:0 35px 100px #0008;animation:confirmIn .45s cubic-bezier(.2,.8,.2,1)}
.confirmation-card .close{position:absolute;right:20px;top:20px}.confirmation-seal{width:72px;height:72px;margin-bottom:22px;border:2px solid var(--accent);border-radius:50%;display:grid;place-items:center;color:var(--accent);font:700 24px Georgia,serif;box-shadow:inset 0 0 0 6px #6d193712;transform:rotate(-7deg)}
.confirmation-card h2{max-width:430px;margin:8px 0 12px;font:700 clamp(32px,5vw,47px)/1 Georgia,serif;letter-spacing:-.04em}.confirmation-card>p{color:var(--muted)}
.confirmation-card dl{margin:24px 0;border-block:1px solid var(--line)}.confirmation-card dl div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.confirmation-card dl div:last-child{border:0}.confirmation-card dt{color:var(--muted);font-size:12px}.confirmation-card dd{margin:0;font-weight:800}
.confirmation-state{display:flex;align-items:center;gap:9px;margin-bottom:22px;color:var(--accent);font-size:12px;font-weight:850}.confirmation-state i{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #6d19371c;animation:pulse 1.8s infinite}.confirmation-done{width:100%}
html[data-theme="dark"] .confirmation-card{background:#181416}@keyframes confirmIn{from{opacity:0;transform:translateY(22px) scale(.96)}}
.comfort-panel[hidden]{display:none}.comfort-panel{position:fixed;z-index:95;top:82px;right:20px;width:min(370px,calc(100% - 24px));padding:24px;border:1px solid var(--line);border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 25px 80px #0004;animation:panelIn .25s ease}
.comfort-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.comfort-head h2{margin:0;font:700 26px Georgia,serif}.comfort-group{display:grid;gap:10px;padding:15px 0;border-top:1px solid var(--line)}.comfort-group>span{font-size:12px;font-weight:850}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.segmented button,.comfort-reset{min-height:44px;border:1px solid var(--line);border-radius:11px;background:var(--soft);color:var(--ink);font-weight:800;cursor:pointer}.segmented button.active{background:var(--accent);border-color:var(--accent);color:#fff}
.comfort-check{display:flex!important;grid-template-columns:1fr auto;align-items:center;gap:18px;cursor:pointer}.comfort-check input{width:22px;height:22px;accent-color:var(--accent)}.comfort-reset{width:100%;margin-top:14px;background:transparent}@keyframes panelIn{from{opacity:0;transform:translateY(-8px)}}html[data-theme="dark"] .comfort-panel{background:#181416}
html[data-text-size="large"] body{font-size:18px;line-height:1.58}html[data-text-size="xlarge"] body{font-size:20px;line-height:1.68}html[data-text-size="xlarge"] .calendar-grid{grid-template-columns:repeat(7,minmax(170px,1fr))}
html[data-contrast="high"]{--ink:#000;--muted:#292929;--line:#777;--accent:#571027}html[data-theme="dark"][data-contrast="high"]{--ink:#fff;--muted:#e7e7e7;--line:#aaa;--accent:#ffd1df}html[data-contrast="high"] body{font-weight:500}html[data-contrast="high"] .btn,html[data-contrast="high"] .icon-btn,html[data-contrast="high"] input,html[data-contrast="high"] select,html[data-contrast="high"] textarea{border-width:2px}
.rating-distribution{display:grid;gap:7px;padding:18px 0;border-bottom:1px solid var(--line)}.rating-row{display:grid;grid-template-columns:42px 1fr 38px;align-items:center;gap:10px;color:var(--muted);font-size:10px}.rating-row>span{color:var(--accent);font-weight:850}.rating-row>i{height:7px;border-radius:99px;background:var(--soft);overflow:hidden}.rating-row b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#c78ca0);transition:width .7s cubic-bezier(.2,.8,.2,1)}.rating-row small{text-align:right}.review-item header>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-badge{padding:3px 7px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
html[data-motion="reduce"]{scroll-behavior:auto}html[data-motion="reduce"] *,html[data-motion="reduce"] *:before,html[data-motion="reduce"] *:after{animation:none!important;transition-duration:.01ms!important}html[data-motion="reduce"] .scroll-progress{display:none}html[data-motion="reduce"] .reveal{opacity:1;filter:none;transform:none}html[data-motion="reduce"] .hero-photo,html[data-motion="reduce"] .portrait,html[data-motion="reduce"] .portrait-card{transform:none!important}
html[data-motion="reduce"] .orbit.one,html[data-motion="reduce"] .orbit.two,html[data-motion="reduce"] .orbit span,html[data-motion="reduce"] .orbit:before,html[data-motion="reduce"] .kiss-glow{animation:none!important}

/* Mobile, accessibilité et Club Velours */
.skip-link{position:fixed;z-index:120;top:10px;left:10px;padding:12px 16px;border-radius:10px;background:#fff;color:#000;font-weight:850;transform:translateY(-150%);box-shadow:0 8px 30px #0005}.skip-link:focus{transform:none}
.mobile-menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--soft);color:var(--ink);font-size:22px;cursor:pointer}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent)!important;outline-offset:3px!important}
.confirmation-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.confirmation-actions .btn{align-items:center;padding-inline:16px}.confirmation-joke{display:block;margin-top:14px;color:var(--muted);text-align:center}
.club-section{background:linear-gradient(145deg,#160d11,#2b111b);color:#fff}.club-section .section-head p{color:#c9b8be}.club-section .legal-kicker{border-color:#e0aebe}.club-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(320px,1.1fr);gap:28px;align-items:center}.club-card{position:relative;min-height:330px;padding:30px;border:1px solid #ffffff28;border-radius:30px;background:radial-gradient(circle at 80% 0,#b6768d44,transparent 38%),linear-gradient(145deg,#6d1937,#270e17 68%);box-shadow:0 30px 70px #0007,inset 0 1px #ffffff30;overflow:hidden}.club-card:after{content:"VG";position:absolute;right:-12px;bottom:-52px;color:#ffffff09;font:700 190px Georgia,serif}.club-card-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.club-card-top img{width:58px;height:58px;object-fit:contain;filter:brightness(2)}.club-card-top span{font-size:9px;font-weight:900;letter-spacing:.15em}.club-card h3{margin:50px 0 4px;font:700 31px Georgia,serif}.club-card>strong{font-size:17px}.club-number{margin-top:18px;font:700 19px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.club-points{position:absolute;z-index:1;left:30px;right:30px;bottom:28px;display:flex;justify-content:space-between;align-items:end}.club-points span{color:#d7bec7;font-size:11px}.club-points b{font-size:14px}.club-benefits{padding:34px;border:1px solid #ffffff20;border-radius:26px;background:#ffffff0b}.club-benefits h3{margin:0 0 20px;font:700 28px Georgia,serif}.club-benefits ul{display:grid;gap:11px;padding:0;list-style:none}.club-benefits li:before{content:"✦";margin-right:10px;color:#e0aebe}.club-benefits label{margin:22px 0 12px}.club-benefits input{background:#fff;color:#171214}.club-status{min-height:18px;margin:12px 0 0;color:#c9b8be;font-size:11px}
.footer-secret{border:0;background:transparent;color:inherit;padding:4px;font-size:11px;text-decoration:underline;text-decoration-style:dotted;cursor:pointer}.footer-secret:hover{color:var(--accent)}
html[data-bingo="on"] body{background-image:radial-gradient(circle,#e0aebe22 2px,transparent 2px);background-size:28px 28px}html[data-bingo="on"] .ticker>div{animation-duration:9s}html[data-bingo="on"] .portrait-card{box-shadow:0 0 0 3px #e0aebe,0 8px 28px #0004}
@media(max-width:980px){.mobile-menu-toggle{display:grid;place-items:center;order:2}.nav-tools{margin-left:auto}.nav-links{position:absolute;top:calc(100% + 1px);left:12px;right:12px;display:none!important;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 50px #0004}.nav-links.open{display:grid!important;grid-template-columns:1fr 1fr;gap:4px}.nav-links a{display:block!important;min-height:46px;padding:13px 14px;border-radius:10px}.nav-links a:hover{background:var(--soft)}html[data-theme="dark"] .nav-links{background:#181416}.club-layout{grid-template-columns:1fr}.calendar-grid{scroll-snap-type:x mandatory}.calendar-day{scroll-snap-align:start}}
@media(max-width:640px){.nav-tools{gap:5px}.theme-control select{width:74px}.comfort-toggle{display:none}.nav-links.open{grid-template-columns:1fr}.hero{padding-top:34px}.hero h1{font-size:clamp(45px,15vw,62px)}.actions .btn{width:100%}.calendar-top{display:grid}.calendar-actions{justify-items:stretch}.calendar-legend{justify-content:space-between}.week-nav{justify-content:space-between}.calendar-grid{grid-template-columns:repeat(7,82vw)}.calendar-day{min-width:82vw;padding-inline:16px}.slot{min-height:68px}.activity-title,.activity-panel li{align-items:start}.activity-panel li{grid-template-columns:1fr}.activity-panel li time{justify-self:start}.club-card{min-height:300px;padding:24px}.club-card h3{margin-top:34px}.club-points{left:24px;right:24px}.club-benefits{padding:25px}.confirmation-actions{grid-template-columns:1fr}.confirmation-actions .btn{width:100%}.footer-row{display:grid;text-align:center;justify-items:center}.toast{left:12px;right:12px;bottom:12px;max-width:none}}
@media(print){body>*{display:none!important}.confirmation-modal{display:block!important;position:static!important;padding:0!important;background:#fff!important}.confirmation-card{display:block!important;width:100%!important;max-height:none!important;box-shadow:none!important;border:2px solid #6d1937!important;color:#000!important}.confirmation-card .close,.confirmation-actions,.confirmation-joke{display:none!important}.confirmation-seal{color:#6d1937!important;border-color:#6d1937!important}.confirmation-state{color:#6d1937!important}html{background:#fff!important}}

/* Témoignages tournants et portrait mobile compact */
.quotes-refresh{margin-top:18px;padding:9px 13px;border:1px solid var(--line);border-radius:99px;background:var(--soft);color:var(--ink);font-size:11px;font-weight:850;cursor:pointer}.quotes-refresh:before{content:"↻";display:inline-block;margin-right:7px;transition:transform .35s}.quotes-refresh:hover:before{transform:rotate(180deg)}.quotes-note{margin:14px 2px 0;color:var(--muted);font-size:10px}.quotes blockquote{display:flex;min-height:190px;flex-direction:column;justify-content:space-between;background:var(--soft)}.quotes blockquote footer{padding-top:20px}.quotes.quotes-changing blockquote{animation:quoteTurn .55s cubic-bezier(.2,.8,.2,1)}.quotes.quotes-changing blockquote:nth-child(2){animation-delay:.08s}.quotes.quotes-changing blockquote:nth-child(3){animation-delay:.16s}@keyframes quoteTurn{from{opacity:0;transform:translateY(12px) rotateX(-4deg)}}html[data-theme="dark"] .quotes blockquote{background:#171716}
@media(max-width:640px){.portrait{--portrait-card-space:118px;min-height:620px}.portrait-card{left:18px;right:18px;bottom:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:92px;padding:13px 16px;border-radius:18px}.portrait-card strong{font-size:14px;line-height:1.2}.portrait-card>div>span{margin-top:4px;font-size:10px;line-height:1.35}.portrait-card .rating-live{display:grid!important;margin:0!important;min-width:65px}.portrait-card .rating-live .rating-star{font-size:16px}.portrait-card .rating-live em{font-size:8px}.kiss-glow{left:66.5%;top:61.8%;width:78px;height:48px}.quotes blockquote{min-height:0}.quotes-note{text-align:center}}

/* Bandeau continu */
.ticker>.ticker-track{display:flex;gap:28px;width:max-content;padding:13px 0;animation:tickerScroll 26s linear infinite!important;will-change:transform}.ticker-group{display:flex;align-items:center;gap:28px;flex:none;white-space:nowrap;font-size:14px;font-weight:950;letter-spacing:.08em}.ticker-group i{font-style:normal;color:var(--accent)}.ticker:hover .ticker-track{animation-play-state:paused!important}@keyframes tickerScroll{to{transform:translateX(calc(-50% - 14px))}}html[data-motion="reduce"] .ticker{overflow-x:auto}html[data-motion="reduce"] .ticker-track{animation:none!important;transform:none!important}html[data-motion="reduce"] .ticker-group[aria-hidden="true"]{display:none}
@media(max-width:640px){.ticker>.ticker-track{animation-duration:20s!important}.ticker-group{gap:20px;font-size:12px}.ticker>.ticker-track{gap:20px}@keyframes tickerScroll{to{transform:translateX(calc(-50% - 10px))}}}
@media(max-width:640px){.comfort-toggle{display:inline-flex;justify-content:center;min-width:44px;padding-inline:9px}}

/* Mode bingo global, lisible et volontairement très officiel */
.bingo-atmosphere{display:none;pointer-events:none}.bingo-ribbon{position:fixed;z-index:89;right:18px;bottom:18px;display:grid;gap:2px;padding:11px 16px;border:2px solid #c8292e;border-radius:10px;background:#fffdf7;color:#b51f29;box-shadow:0 12px 38px #0005,inset 0 0 0 3px #f0d9d6;transform:rotate(-1deg)}.bingo-ribbon span{font:950 12px/1.1 ui-sans-serif,system-ui;letter-spacing:.13em}.bingo-ribbon small{color:#6c5f5f;font-size:8px}.bingo-balls i{position:fixed;z-index:18;width:48px;height:48px;display:grid;place-items:center;border:3px solid #a81720;border-radius:50%;background:#e72e31;color:#fff;font:950 13px/1 ui-sans-serif,system-ui;text-align:center;box-shadow:inset 0 -5px 0 #a8172044,inset 0 3px 0 #ffffff55,0 8px 22px #0003;opacity:.9}.bingo-balls i:nth-child(1){left:1.5%;top:19%;animation:bingoFloat 5s ease-in-out infinite}.bingo-balls i:nth-child(2){right:2%;top:32%;animation:bingoFloat 6.2s ease-in-out -2s infinite}.bingo-balls i:nth-child(3){left:2.5%;top:58%;animation:bingoFloat 5.7s ease-in-out -3s infinite}.bingo-balls i:nth-child(4){right:1.4%;top:70%;animation:bingoFloat 6.5s ease-in-out -1s infinite}.bingo-balls i:nth-child(5){left:5%;bottom:5%;animation:bingoFloat 5.4s ease-in-out -4s infinite}.bingo-balls i:nth-child(6){right:7%;top:13%;animation:bingoFloat 7s ease-in-out -2.5s infinite}.bingo-balls i:nth-child(7){right:4%;bottom:8%;animation:bingoFloat 5.8s ease-in-out -1.5s infinite}@keyframes bingoFloat{50%{transform:translateY(-14px) rotate(8deg)}}
html[data-bingo="on"]{--accent:#b51f29;--lime:#efd25d}html[data-bingo="on"] .bingo-atmosphere{display:block}html[data-bingo="on"] body{background-color:#f5f0e6;background-image:linear-gradient(#c72a2a12 2px,transparent 2px),linear-gradient(90deg,#c72a2a12 2px,transparent 2px);background-size:42px 42px}html[data-theme="dark"][data-bingo="on"] body{background-color:#130f10;background-image:linear-gradient(#e72e3115 2px,transparent 2px),linear-gradient(90deg,#e72e3115 2px,transparent 2px)}html[data-bingo="on"] .nav{border-bottom:3px double #d42a30;box-shadow:0 6px 20px #6d19371a}html[data-bingo="on"] .ticker{background:#efd25d;color:#241c1c;border-color:#c8292e}html[data-bingo="on"] .ticker-group i{color:#c8292e}html[data-bingo="on"] .eyebrow,html[data-bingo="on"] .legal-kicker{box-shadow:inset 0 0 0 1px #d42a30}html[data-bingo="on"] .btn{box-shadow:0 0 0 2px #efd25d,0 7px 20px #0002}html[data-bingo="on"] .portrait{box-shadow:0 0 0 3px #d42a30,0 20px 60px #0004}html[data-bingo="on"] .portrait-card{box-shadow:0 0 0 3px #efd25d,0 8px 28px #0004}html[data-bingo="on"] .orbit{color:#ef3439}html[data-bingo="on"] .calendar-shell{box-shadow:0 0 0 2px #d42a30,0 20px 60px #32101b17}html[data-bingo="on"] .slot.available .slot-dot{box-shadow:0 0 0 3px #efd25d99}html[data-bingo="on"] .section-head h2:after{content:" • LOTO";color:#c8292e;font:950 9px/1 ui-sans-serif,system-ui;letter-spacing:.12em;vertical-align:middle;white-space:nowrap}html[data-bingo="on"] .footer-secret[aria-pressed="true"]{padding:6px 10px;border-radius:99px;background:#e72e31;color:#fff;text-decoration:none;font-weight:900}
html[data-motion="reduce"][data-bingo="on"] .bingo-balls i{animation:none!important}@media(max-width:760px){.bingo-ribbon{right:10px;bottom:10px;max-width:230px}.bingo-balls i{width:38px;height:38px;font-size:8px;opacity:.7}.bingo-balls i:nth-child(1),.bingo-balls i:nth-child(3),.bingo-balls i:nth-child(5){left:-9px}.bingo-balls i:nth-child(2),.bingo-balls i:nth-child(4),.bingo-balls i:nth-child(6),.bingo-balls i:nth-child(7){right:-9px}}
@media(max-width:640px){.comfort-panel{top:70px;right:12px}.confirmation-card{padding:28px 22px}.confirmation-card dl div{grid-template-columns:1fr;gap:3px}.calendar-tension{max-width:190px}.orbit{width:44px;height:44px;font-size:30px}.kiss-glow{left:66.5%;top:59.2%;width:78px;height:48px}}
