:root{--brand:#0f6b3f;--accent:#d4af37;--dark:#071b13;--cream:#f4f1e8;--white:#fff;--text:#13251d;--muted:#66766e;--radius:28px;--shadow:0 24px 70px rgba(0,0,0,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff;overflow-x:hidden}a{color:inherit}.site-header{position:fixed;z-index:100;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:18px 4.5vw;background:linear-gradient(180deg,rgba(0,0,0,.72),transparent);color:#fff;transition:.3s}.site-header.scrolled{background:rgba(7,27,19,.94);backdrop-filter:blur(18px);box-shadow:0 10px 35px rgba(0,0,0,.18)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-logo-mask{display:none;width:var(--header-logo-width);height:132px;background:var(--header-logo-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:left center;mask-position:left center;filter:drop-shadow(0 7px 15px rgba(0,0,0,.36));transition:width .3s,height .3s,background-color .3s}.brand-logo-only{min-width:var(--header-logo-width);transition:min-width .3s}.site-header.scrolled .brand-logo-mask{width:min(var(--header-logo-width),250px);height:94px}.site-header.scrolled .brand-logo-only{min-width:min(var(--header-logo-width),250px)}.brand-logo-fallback{display:block;width:var(--header-logo-width);height:132px;object-fit:contain;object-position:left center;filter:drop-shadow(0 7px 15px rgba(0,0,0,.36));transition:width .3s,height .3s}.site-header.scrolled .brand-logo-fallback{width:min(var(--header-logo-width),250px);height:94px}@supports ((-webkit-mask-image:linear-gradient(#000,#000)) or (mask-image:linear-gradient(#000,#000))){.brand-logo-mask{display:block}.brand-logo-fallback{display:none}}.top-actions{display:flex;align-items:center;gap:10px}.lang-switch{display:inline-flex;border:1px solid rgba(255,255,255,.35);border-radius:999px;overflow:hidden}.lang-switch a{padding:9px 11px;text-decoration:none;font-weight:900;font-size:12px}.lang-switch a.active{background:#fff;color:var(--dark)}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:999px;padding:13px 20px;font-weight:950;letter-spacing:.01em;cursor:pointer;transition:transform .2s,filter .2s;background:var(--brand);color:#fff}.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn-accent{background:var(--accent);color:#111}.btn-white{background:#fff;color:var(--dark)}.btn-ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px)}.hero{position:relative;height:min(920px,100svh);min-height:680px;background:linear-gradient(135deg,var(--dark),var(--brand));overflow:hidden;color:#fff}.slides{position:absolute;inset:0}.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s ease}.slide.active{opacity:1;visibility:visible}.slide-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.03);background:var(--dark)}.slide-video{border:0}.slide.active[data-animation="zoom"] .slide-media{animation:heroZoom 8s ease-out both}.slide-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,9,.86) 0%,rgba(3,13,9,.48) 48%,rgba(3,13,9,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%)}.slide-content{position:absolute;z-index:3;top:50%;transform:translateY(-43%);width:min(720px,86vw);left:7vw}.slide-content.center{left:50%;transform:translate(-50%,-43%);text-align:center}.slide-content.right{left:auto;right:7vw;text-align:right}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.18em;color:#fff;background:rgba(15,107,63,.78);border:1px solid rgba(255,255,255,.25);padding:8px 12px;border-radius:999px;backdrop-filter:blur(10px)}.slide h1{font-size:clamp(48px,7vw,104px);line-height:.93;letter-spacing:-.055em;margin:24px 0 18px;text-wrap:balance;text-shadow:0 8px 30px rgba(0,0,0,.35)}.slide p{font-size:clamp(17px,2vw,24px);line-height:1.45;max-width:670px;margin:0 0 28px;color:rgba(255,255,255,.9);text-shadow:0 4px 18px rgba(0,0,0,.4)}.slide-content.center p{margin-left:auto;margin-right:auto}.slide-content.right p{margin-left:auto}.slide.active[data-animation="fade"] .slide-content{animation:fadeIn .8s .15s both}.slide.active[data-animation="slide-up"] .slide-content{animation:slideUp .85s .1s both}.slide.active[data-animation="slide-left"] .slide-content{animation:slideLeft .85s .1s both}.hero-bottom{position:absolute;z-index:10;left:0;right:0;bottom:25px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.dots{display:flex;gap:9px}.dot{width:35px;height:5px;border-radius:99px;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0}.dot.active{background:var(--accent)}.scroll-note{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}.scroll-note:before{content:"";width:1px;height:42px;background:#fff;opacity:.55}.section{padding:105px 7vw}.section-dark{background:var(--dark);color:#fff}.section-soft{background:var(--cream)}.section-head{max-width:890px;margin-bottom:48px}.section-head .kicker{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.18em;color:var(--brand)}.section-dark .section-head .kicker{color:var(--accent)}.section-head h2{font-size:clamp(40px,5.4vw,78px);line-height:1;letter-spacing:-.045em;margin:14px 0 20px;text-wrap:balance}.section-head p{font-size:20px;line-height:1.6;color:var(--muted)}.section-dark .section-head p{color:rgba(255,255,255,.68)}.experience-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}.experience-card{position:relative;min-height:330px;border-radius:var(--radius);padding:34px;overflow:hidden;background:#fff;box-shadow:0 15px 45px rgba(20,43,32,.08);display:flex;flex-direction:column;justify-content:flex-end}.experience-card.big{min-height:680px;background:linear-gradient(145deg,var(--brand),#082c1d);color:#fff}.experience-card h3{font-size:30px;line-height:1.05;margin:0 0 12px}.experience-card p{font-size:16px;line-height:1.5;margin:0 0 22px;color:var(--muted)}.experience-card.big p{color:rgba(255,255,255,.76)}.experience-card .number{position:absolute;top:25px;right:25px;font-size:70px;font-weight:950;opacity:.09}.app-showcase{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.phone-stage{min-height:650px;border-radius:50px;background:radial-gradient(circle at 40% 30%,rgba(212,175,55,.36),transparent 35%),linear-gradient(145deg,#164d36,#071b13);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.phone{width:min(330px,72%);aspect-ratio:9/18;border:12px solid #111;border-radius:48px;background:linear-gradient(180deg,#fff,#e8f2ed);box-shadow:0 40px 80px rgba(0,0,0,.45);padding:30px 22px;color:var(--dark);transform:rotate(-4deg)}.phone-top{width:40%;height:20px;background:#111;border-radius:0 0 18px 18px;margin:-30px auto 22px}.phone-logo{width:100px;height:70px;object-fit:contain;display:block;margin:10px auto}.phone-card{background:#fff;border-radius:22px;padding:18px;margin-top:18px;box-shadow:0 10px 25px rgba(0,0,0,.09)}.phone-card strong{display:block;font-size:22px}.phone-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.phone-buttons span{padding:12px 8px;border-radius:13px;background:var(--brand);color:#fff;text-align:center;font-size:11px;font-weight:950}.feature-list{display:grid;gap:14px;margin:32px 0}.feature{display:grid;grid-template-columns:52px 1fr;gap:15px;align-items:center;padding:15px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.feature-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--accent);color:#111;font-weight:950;font-size:22px}.feature strong{display:block;font-size:18px}.feature span{color:rgba(255,255,255,.62);font-size:14px}.go-panel{min-height:640px;border-radius:42px;padding:64px;background:radial-gradient(circle at 84% 18%,rgba(212,175,55,.18),transparent 28%),radial-gradient(circle at 12% 88%,rgba(15,107,63,.32),transparent 38%),linear-gradient(135deg,#102f24,#06120d);position:relative;overflow:hidden;color:#fff;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.72fr);gap:48px;align-items:center}.go-orbit{position:absolute;border:1px solid rgba(212,175,55,.14);border-radius:50%;pointer-events:none}.go-orbit.one{width:520px;height:520px;right:-190px;top:-230px}.go-orbit.two{width:310px;height:310px;right:-70px;top:-115px}.go-copy{max-width:none;position:relative;z-index:2}.go-copy .eyebrow{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:rgba(255,255,255,.82)}.go-copy h2{font-size:clamp(34px,3.65vw,60px);line-height:.98;letter-spacing:-.047em;margin:22px 0 22px;white-space:nowrap;text-wrap:nowrap}.go-copy p{max-width:760px;font-size:20px;line-height:1.55;color:rgba(255,255,255,.72)}.go-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px}.go-visual{position:relative;z-index:3;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:14px 0}.go-logo{display:block;width:min(100%,340px);max-height:340px;object-fit:contain;background:transparent;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 22px 30px rgba(0,0,0,.36))}.go-app-callout{position:relative;margin-top:18px;text-align:center;transform:rotate(-2deg);filter:drop-shadow(0 7px 16px rgba(0,0,0,.22))}.go-app-callout:before,.go-app-callout:after{content:"";position:absolute;top:50%;width:46px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65))}.go-app-callout:before{right:calc(100% + 12px)}.go-app-callout:after{left:calc(100% + 12px);transform:scaleX(-1)}.go-app-callout span,.go-app-callout strong{display:block}.go-app-callout span{font-size:clamp(18px,1.8vw,25px);font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:.02em;color:rgba(255,255,255,.82)}.go-app-callout strong{margin-top:-3px;font-size:clamp(34px,3.3vw,52px);line-height:.95;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700;letter-spacing:-.035em;background:linear-gradient(180deg,#fff7cf 0%,var(--accent) 72%,#b99021 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.go-app-callout strong:after{content:"";display:block;width:82%;height:3px;margin:8px auto 0;border-radius:999px;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform:skewX(-24deg)}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.location-card{border-radius:var(--radius);padding:40px;background:#fff;box-shadow:0 15px 45px rgba(20,43,32,.08)}.location-card h3{font-size:31px;margin:0 0 15px}.location-card p{font-size:18px;line-height:1.55;color:var(--muted)}.site-footer{background:#06130e;color:#fff;padding:65px 7vw 35px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:40px}.footer-brand img{width:120px;height:80px;object-fit:contain}.footer-brand p{max-width:480px;color:rgba(255,255,255,.58);line-height:1.6}.footer-links h4{margin:0 0 16px}.footer-links a{display:block;text-decoration:none;color:rgba(255,255,255,.65);margin:10px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:35px;margin-top:35px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.45)}.offline{min-height:100svh;background:var(--dark);color:#fff;display:grid;place-items:center;text-align:center;padding:30px}.offline h1{font-size:clamp(42px,7vw,90px);margin:0 0 20px}.mobile-cta{display:none;position:fixed;z-index:200;left:12px;right:12px;bottom:12px;padding:11px;border-radius:20px;background:rgba(7,27,19,.92);backdrop-filter:blur(18px);box-shadow:0 15px 45px rgba(0,0,0,.35)}.mobile-cta .btn{width:100%}
@keyframes heroZoom{from{transform:scale(1.03)}to{transform:scale(1.12)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{opacity:0;transform:translateY(-30%)}to{opacity:1;transform:translateY(-43%)}}@keyframes slideLeft{from{opacity:0;transform:translate(50px,-43%)}to{opacity:1;transform:translate(0,-43%)}}
.app-preview-open{overflow:hidden}.app-preview-modal{position:fixed;z-index:1000;inset:0;display:none;align-items:center;justify-content:center;padding:24px}.app-preview-modal.open{display:flex}.app-preview-backdrop{position:absolute;inset:0;border:0;background:rgba(3,13,9,.84);backdrop-filter:blur(14px);cursor:pointer}.app-preview-dialog{position:relative;z-index:2;width:min(980px,96vw);max-height:94vh;overflow:auto;padding:24px 30px 30px;border-radius:34px;background:linear-gradient(145deg,#10271d,#06130e);color:#fff;box-shadow:0 40px 120px rgba(0,0,0,.55)}.app-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.app-preview-heading h2{margin:4px 0 0;font-size:clamp(29px,4vw,52px);letter-spacing:-.04em}.app-preview-close{width:48px;height:48px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.09);color:#fff;font-size:31px;line-height:1;cursor:pointer}.iphone-browser-preview{position:relative;width:min(390px,88vw);height:min(760px,72vh);margin:0 auto;padding:13px;border:4px solid #3a3d3b;border-radius:58px;background:#050606;box-shadow:0 28px 80px rgba(0,0,0,.58),inset 0 0 0 2px #777}.iphone-browser-preview iframe{display:block;width:100%;height:100%;border:0;border-radius:43px;background:#fff}.iphone-preview-notch{position:absolute;z-index:4;top:19px;left:50%;width:128px;height:31px;transform:translateX(-50%);border-radius:20px;background:#050606;pointer-events:none}.iphone-preview-home{position:absolute;z-index:4;bottom:19px;left:50%;width:118px;height:5px;transform:translateX(-50%);border-radius:999px;background:rgba(255,255,255,.82);pointer-events:none}.app-preview-note{max-width:650px;margin:18px auto 0;text-align:center;color:rgba(255,255,255,.68);line-height:1.55}
@media(max-width:1050px){.experience-grid{grid-template-columns:1fr 1fr}.experience-card.big{grid-column:1/-1;min-height:520px}.app-showcase{grid-template-columns:1fr}.phone-stage{min-height:580px}.go-panel{grid-template-columns:1fr;gap:34px}.go-visual{order:-1;min-height:330px}.go-logo{width:min(330px,62vw)}.go-copy{text-align:center}.go-copy p{margin-left:auto;margin-right:auto}.go-actions{justify-content:center}.location-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:720px){.site-header{padding:10px 16px}.brand-logo-mask{width:var(--header-logo-mobile-width);height:78px}.brand-logo-only{min-width:var(--header-logo-mobile-width)}.site-header.scrolled .brand-logo-mask{width:min(var(--header-logo-mobile-width),160px);height:64px}.site-header.scrolled .brand-logo-only{min-width:min(var(--header-logo-mobile-width),160px)}.brand-logo-fallback{width:var(--header-logo-mobile-width);height:78px}.site-header.scrolled .brand-logo-fallback{width:min(var(--header-logo-mobile-width),160px);height:64px}.top-actions>.btn{display:none}.hero{min-height:720px}.slide-overlay{background:linear-gradient(0deg,rgba(2,12,8,.92),rgba(2,12,8,.25) 78%)}.slide-content,.slide-content.right,.slide-content.center{top:auto;left:22px;right:22px;bottom:95px;width:auto;transform:none!important;text-align:left}.slide h1{font-size:48px}.slide p{font-size:16px}.hero-bottom{bottom:25px;padding:0 22px}.scroll-note{display:none}.section{padding:80px 22px}.section-head p{font-size:17px}.experience-grid{grid-template-columns:1fr}.experience-card.big{grid-column:auto;min-height:470px}.experience-card{min-height:280px}.app-showcase{gap:35px}.phone-stage{min-height:500px;border-radius:30px}.phone{width:260px}.go-panel{min-height:680px;padding:36px 20px;gap:24px}.go-visual{min-height:260px;padding:0}.go-logo{width:min(245px,70vw);max-height:245px}.go-app-callout{margin-top:10px}.go-app-callout:before,.go-app-callout:after{width:24px}.go-copy h2{font-size:clamp(18px,5.55vw,34px);letter-spacing:-.035em;white-space:nowrap;text-wrap:nowrap}.go-copy p{font-size:16px}.go-actions{display:grid;grid-template-columns:1fr}.go-actions .btn{width:100%}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{display:block;line-height:1.8;padding-bottom:75px}.mobile-cta{display:block}.slide.active[data-animation="slide-up"] .slide-content,.slide.active[data-animation="slide-left"] .slide-content{animation:fadeIn .8s both}}


/* Page publique pendant la création */
.construction-body{min-height:100svh;margin:0;background:#04110c;color:#fff;overflow-x:hidden}.construction-scene{position:relative;min-height:100svh;display:grid;place-items:center;padding:38px;overflow:hidden;background:radial-gradient(circle at 22% 18%,color-mix(in srgb,var(--brand) 72%,transparent),transparent 34%),radial-gradient(circle at 82% 75%,color-mix(in srgb,var(--accent) 36%,transparent),transparent 30%),linear-gradient(135deg,#03110b 0%,#092719 54%,#06130e 100%)}.construction-grid{position:absolute;inset:-30%;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:62px 62px;transform:perspective(700px) rotateX(64deg) translateY(27%);mask-image:linear-gradient(to bottom,transparent 0,#000 36%,#000 78%,transparent 100%)}.construction-aurora{position:absolute;border-radius:50%;filter:blur(70px);opacity:.45;animation:constructionFloat 9s ease-in-out infinite}.construction-aurora-one{width:420px;height:420px;left:-120px;top:-100px;background:var(--brand)}.construction-aurora-two{width:340px;height:340px;right:-70px;bottom:-100px;background:var(--accent);animation-delay:-4s}.construction-ring{position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;animation:constructionSpin 24s linear infinite}.construction-ring:before,.construction-ring:after{content:"";position:absolute;border-radius:50%;background:var(--accent);box-shadow:0 0 28px color-mix(in srgb,var(--accent) 70%,transparent)}.construction-ring-one{width:560px;height:560px;right:-170px;top:-180px}.construction-ring-one:before{width:14px;height:14px;left:75px;top:76px}.construction-ring-two{width:360px;height:360px;left:-130px;bottom:-120px;animation-direction:reverse;animation-duration:18s}.construction-ring-two:after{width:10px;height:10px;right:42px;bottom:52px}.construction-card{position:relative;z-index:3;width:min(1140px,94vw);min-height:min(760px,90svh);display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.16);border-radius:42px;padding:36px 46px 30px;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035));backdrop-filter:blur(26px);box-shadow:0 40px 130px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.12);overflow:hidden}.construction-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.12),transparent 24%,transparent 72%,rgba(255,255,255,.05))}.construction-topline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px}.construction-logo{width:min(360px,48vw);height:130px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1) drop-shadow(0 8px 24px rgba(0,0,0,.35))}.construction-language{display:flex;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px;background:rgba(255,255,255,.06)}.construction-language a{padding:9px 13px;text-decoration:none;border-radius:999px;font-size:12px;font-weight:900;color:rgba(255,255,255,.58)}.construction-language a.active{background:#fff;color:#082317}.construction-content{position:relative;z-index:2;max-width:840px;margin:auto 0;padding:44px 0 38px}.construction-badge{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:10px 14px;background:rgba(255,255,255,.075);font-size:12px;font-weight:950;letter-spacing:.16em}.construction-badge i{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 18%,transparent);animation:constructionPulse 1.8s ease-in-out infinite}.construction-content h1{max-width:940px;margin:26px 0 20px;font-size:clamp(58px,8.1vw,118px);line-height:.88;letter-spacing:-.068em;text-wrap:balance;text-shadow:0 18px 48px rgba(0,0,0,.34)}.construction-content>p{max-width:720px;margin:0;font-size:clamp(18px,2vw,25px);line-height:1.55;color:rgba(255,255,255,.7)}.construction-progress-wrap{max-width:690px;margin-top:34px}.construction-progress-label{display:flex;justify-content:space-between;margin-bottom:10px;font-size:13px;font-weight:850;color:rgba(255,255,255,.68)}.construction-progress-label strong{color:#fff}.construction-progress{height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.construction-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#fff4ad);box-shadow:0 0 32px color-mix(in srgb,var(--accent) 70%,transparent);animation:constructionLoad 1.4s ease-out both}.construction-features{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.construction-features div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:13px 17px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.055)}.construction-features strong{color:var(--accent);font-size:12px}.construction-features span{font-weight:850;font-size:14px}.construction-app-btn{min-width:250px}.construction-footer{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:750;letter-spacing:.08em;color:rgba(255,255,255,.45)}.private-preview-badge{position:fixed;z-index:10000;right:16px;bottom:16px;padding:10px 14px;border-radius:999px;background:#111;color:#fff;border:1px solid rgba(255,255,255,.22);box-shadow:0 10px 35px rgba(0,0,0,.32);font-size:11px;font-weight:950;letter-spacing:.08em}@keyframes constructionFloat{50%{transform:translate3d(45px,22px,0) scale(1.08)}}@keyframes constructionSpin{to{transform:rotate(360deg)}}@keyframes constructionPulse{50%{transform:scale(.78);opacity:.7}}@keyframes constructionLoad{from{width:0}}@media(max-width:720px){.construction-scene{padding:14px}.construction-card{width:100%;min-height:calc(100svh - 28px);border-radius:28px;padding:20px 20px 22px}.construction-logo{width:210px;height:84px}.construction-content{padding:42px 0 32px}.construction-content h1{font-size:58px}.construction-content>p{font-size:17px}.construction-features{display:grid;grid-template-columns:1fr}.construction-features div{width:100%}.construction-app-btn{width:100%}.construction-footer{display:grid;gap:8px}.construction-ring-one{width:360px;height:360px;right:-180px}.construction-language a{padding:8px 10px}.private-preview-badge{left:12px;right:12px;text-align:center}}

/* v1.0.11 — iPhone intégré avec vraie barre d’état et application décalée sous celle-ci */
.phone.phone-live{position:relative;width:min(360px,82%);aspect-ratio:9/19.5;padding:10px;border:4px solid #3a3d3b;border-radius:58px;background:#050606;color:inherit;overflow:hidden;transform:none;box-shadow:0 42px 90px rgba(0,0,0,.52),inset 0 0 0 2px #777}
.phone-live-screen{position:relative;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;border-radius:44px;background:#fff}
.phone-live-status{position:relative;z-index:7;flex:0 0 47px;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 18px;background:#050606;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,sans-serif;font-size:13px;font-weight:750;letter-spacing:-.01em;line-height:1}
.phone-live-time{position:relative;z-index:2;min-width:50px;text-align:left;font-variant-numeric:tabular-nums}
.phone-live-island{position:absolute;z-index:1;top:9px;left:50%;width:112px;height:28px;transform:translateX(-50%);border-radius:999px;background:#000;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.phone-live-status-icons{position:relative;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:53px}
.phone-live-wifi{display:block;width:18px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.phone-live-battery{position:relative;display:block;width:23px;height:11px;border:1.5px solid rgba(255,255,255,.96);border-radius:3px;padding:1.5px}
.phone-live-battery:after{content:"";position:absolute;top:2.3px;right:-3.6px;width:2.2px;height:5px;border-radius:0 2px 2px 0;background:rgba(255,255,255,.82)}
.phone-live-battery-level{display:block;width:78%;height:100%;border-radius:1px;background:#fff;transition:width .3s ease}
.phone-live-frame{display:block;flex:1 1 auto;width:100%;min-height:0;border:0;border-radius:0 0 37px 37px;background:#fff;overflow:auto}
.phone-live-home{position:absolute;z-index:8;bottom:8px;left:50%;width:112px;height:5px;transform:translateX(-50%);border-radius:999px;background:rgba(0,0,0,.68);box-shadow:0 0 0 1px rgba(255,255,255,.22);pointer-events:none}
.phone-stage:focus-within{box-shadow:inset 0 0 0 2px rgba(212,175,55,.38)}
@media(max-width:720px){.phone.phone-live{width:min(330px,92%);border-radius:52px}.phone-live-screen{border-radius:39px}.phone-live-status{flex-basis:45px;padding-left:16px;padding-right:14px;font-size:12.5px}.phone-live-island{top:8px;width:104px;height:27px}.phone-live-frame{border-radius:0 0 33px 33px}.phone-live-home{bottom:7px}}


/* v1.0.13 — quatre iPhone interactifs plus compacts avec vues dédiées de l’application */
.app-phones-section{padding-top:88px;padding-bottom:104px;overflow:hidden}
.app-phones-showcase{width:min(1460px,100%);margin:0 auto;display:flex;align-items:center;justify-content:center;gap:clamp(12px,2.25vw,34px);min-height:650px;padding:50px 18px 58px;perspective:1800px;isolation:isolate}
.app-phones-showcase .phone.phone-live{flex:0 0 auto;width:clamp(205px,20.2vw,275px);max-width:23.5%;transform-origin:50% 55%;transition:transform .35s ease,filter .35s ease;will-change:transform;box-shadow:0 40px 88px rgba(0,0,0,.56),inset 0 0 0 2px #777}
.app-phones-showcase .phone-live-home-view{transform:rotate(-7deg) translateY(25px) rotateY(5deg);z-index:1}
.app-phones-showcase .phone-live-menu-view{transform:rotate(-2.3deg) translateY(-15px) rotateY(2deg);z-index:3}
.app-phones-showcase .phone-live-order-view{transform:rotate(2.6deg) translateY(-10px) rotateY(-2deg);z-index:4}
.app-phones-showcase .phone-live-account-view{transform:rotate(7.3deg) translateY(28px) rotateY(-5deg);z-index:2}
.app-phones-showcase .phone.phone-live:hover,.app-phones-showcase .phone.phone-live:focus-within{z-index:8;transform:rotate(0deg) translateY(-15px) scale(1.045);filter:drop-shadow(0 18px 28px rgba(0,0,0,.24))}
.app-phones-showcase .phone-live-frame{pointer-events:auto}
@media(max-width:1100px){
  .app-phones-showcase{gap:10px;min-height:590px;padding-left:8px;padding-right:8px}
  .app-phones-showcase .phone.phone-live{width:min(22.5vw,245px);max-width:none;border-radius:46px;padding:8px;border-width:4px}
  .app-phones-showcase .phone-live-screen{border-radius:35px}
  .app-phones-showcase .phone-live-status{flex-basis:42px;padding-left:13px;padding-right:12px;font-size:11.5px}
  .app-phones-showcase .phone-live-island{top:7px;width:94px;height:25px}
  .app-phones-showcase .phone-live-home-view{transform:rotate(-6deg) translateY(19px)}
  .app-phones-showcase .phone-live-menu-view{transform:rotate(-2deg) translateY(-11px)}
  .app-phones-showcase .phone-live-order-view{transform:rotate(2deg) translateY(-8px)}
  .app-phones-showcase .phone-live-account-view{transform:rotate(6deg) translateY(21px)}
}
@media(max-width:760px){
  .app-phones-section{padding:68px 0 82px}
  .app-phones-showcase{width:100%;min-height:560px;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:20px;padding:34px 12vw 50px;scrollbar-width:none}
  .app-phones-showcase::-webkit-scrollbar{display:none}
  .app-phones-showcase .phone.phone-live{width:min(68vw,286px);max-width:none;min-width:min(68vw,286px);scroll-snap-align:center}
  .app-phones-showcase .phone-live-home-view{transform:rotate(-4.5deg) translateY(12px)}
  .app-phones-showcase .phone-live-menu-view{transform:rotate(-1.5deg) translateY(-6px)}
  .app-phones-showcase .phone-live-order-view{transform:rotate(1.5deg) translateY(-4px)}
  .app-phones-showcase .phone-live-account-view{transform:rotate(4.5deg) translateY(12px)}
  .app-phones-showcase .phone.phone-live:hover,.app-phones-showcase .phone.phone-live:focus-within{transform:rotate(0deg) translateY(-5px)}
}


/* v1.0.14 — miniaturisation proportionnelle du contenu des 4 iPhone */
.app-phones-showcase .phone-live-screen{position:relative;display:block}
.app-phones-showcase .phone-live-status{position:relative;width:100%}
.app-phones-showcase .phone-live-frame{
  position:absolute;
  left:0;
  top:var(--phone-app-top,47px);
  width:390px;
  max-width:none;
  height:var(--phone-app-virtual-height,780px);
  min-height:0;
  transform:scale(var(--phone-app-scale,1));
  transform-origin:top left;
  border:0;
  border-radius:0;
  background:#fff;
  overflow:auto;
}

/* v1.0.15 — nouveau site plein écran horizontal, navigation gauche/droite */
html:has(body.deck-body),body.deck-body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
body.deck-body{background:#06140e;color:#fff}
body.deck-body.app-preview-open{overflow:hidden}
.deck-header{height:96px;padding:12px clamp(22px,4vw,64px);background:linear-gradient(180deg,rgba(3,12,8,.86),rgba(3,12,8,.28) 72%,transparent);box-shadow:none;pointer-events:none}
.deck-header .brand,.deck-header .top-actions{pointer-events:auto}
.deck-header .brand-logo-mask{width:min(var(--header-logo-width),245px);height:78px}
.deck-header .brand-logo-fallback{width:min(var(--header-logo-width),245px);height:78px}
.deck-header .brand-logo-only{min-width:min(var(--header-logo-width),245px)}
.deck-header.site-header.scrolled{background:linear-gradient(180deg,rgba(3,12,8,.86),rgba(3,12,8,.28) 72%,transparent);backdrop-filter:none;box-shadow:none}
.deck-header.site-header.scrolled .brand-logo-mask{width:min(var(--header-logo-width),245px);height:78px}
.deck-header.site-header.scrolled .brand-logo-fallback{width:min(var(--header-logo-width),245px);height:78px}
.deck-header.site-header.scrolled .brand-logo-only{min-width:min(var(--header-logo-width),245px)}

.site-deck{position:fixed;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;background:#06140e}
.site-deck::-webkit-scrollbar{display:none}
.site-panel{position:relative;flex:0 0 100vw;width:100vw;height:100svh;min-height:0;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;isolation:isolate}
.panel-gridlines{position:absolute;inset:0;z-index:-1;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent 2%,#000 22%,#000 78%,transparent 98%)}
.panel-glow{position:absolute;z-index:-2;width:60vw;height:60vw;border-radius:50%;filter:blur(90px);opacity:.36;pointer-events:none}
.panel-glow-green{right:-20vw;top:-24vw;background:#0f6b3f}
.panel-glow-gold{left:-24vw;bottom:-30vw;background:#d4af37;opacity:.18}
.panel-app{background:radial-gradient(circle at 72% 46%,rgba(16,117,70,.23),transparent 36%),linear-gradient(135deg,#071b13 0%,#06110d 48%,#0b2519 100%)}
.panel-go{background:radial-gradient(circle at 19% 33%,rgba(212,175,55,.14),transparent 29%),radial-gradient(circle at 84% 62%,rgba(22,113,69,.22),transparent 34%),linear-gradient(135deg,#07120e,#0c2117 60%,#08150f)}
.panel-visit{background:radial-gradient(circle at 74% 16%,rgba(15,107,63,.28),transparent 32%),linear-gradient(145deg,#06120d,#0a2418)}

.deck-hero,.panel-hero .hero{height:100svh;min-height:0}
.deck-hero .slide-content{top:51%;width:min(760px,82vw)}
.deck-hero .slide h1{font-size:clamp(48px,6.4vw,104px)}
.deck-hero-bottom{bottom:72px}
.deck-hint{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}

.deck-split{position:relative;width:min(1500px,100%);height:100%;margin:0 auto;padding:118px clamp(42px,6vw,100px) 86px;display:grid;align-items:center;gap:clamp(38px,6vw,100px)}
.deck-split-app{grid-template-columns:minmax(0,1.04fr) minmax(300px,.72fr)}
.deck-copy{position:relative;z-index:2;max-width:760px}
.deck-number{display:block;margin-bottom:12px;font-size:12px;font-weight:950;letter-spacing:.24em;color:var(--accent)}
.deck-kicker{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:950;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.deck-kicker:before{content:"";width:38px;height:1px;background:var(--accent)}
.deck-copy h2,.deck-go-center h2,.visit-stage h2{margin:22px 0 24px;font-size:clamp(52px,6.8vw,108px);line-height:.9;letter-spacing:-.065em;text-wrap:balance}
.deck-copy p,.deck-go-center p{max-width:670px;margin:0;font-size:clamp(16px,1.45vw,21px);line-height:1.6;color:rgba(255,255,255,.66)}
.deck-mini-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:30px}

.deck-phone-stage{position:relative;display:flex;align-items:center;justify-content:center;height:min(76vh,760px);min-height:540px;perspective:1600px}
.deck-phone-stage:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.22),rgba(15,107,63,.08) 44%,transparent 70%);filter:blur(12px);transform:translateY(18px)}
.phone.phone-live.deck-live-phone{width:min(330px,28vw);max-width:none;min-width:250px;aspect-ratio:9/19.5;z-index:2;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease}
.deck-app-phone{transform:rotate(5deg) rotateY(-7deg) translateY(5px);box-shadow:0 48px 100px rgba(0,0,0,.62),inset 0 0 0 2px #777!important}
.deck-go-phone{transform:rotate(-5deg) rotateY(7deg) translateY(6px);box-shadow:0 48px 100px rgba(0,0,0,.62),inset 0 0 0 2px #777!important}
.deck-live-phone:hover,.deck-live-phone:focus-within{transform:rotate(0deg) rotateY(0deg) translateY(-8px) scale(1.025)}
.deck-live-phone .phone-live-screen{position:relative;display:block;width:100%;height:100%}
.deck-live-phone .phone-live-status{position:relative;width:100%}
.deck-live-phone .phone-live-frame{position:absolute;left:0;top:var(--phone-app-top,47px);width:390px;max-width:none;height:var(--phone-app-virtual-height,780px);min-height:0;transform:scale(var(--phone-app-scale,1));transform-origin:top left;border:0;border-radius:0;background:#fff;overflow:auto}

.deck-split-go{grid-template-columns:minmax(250px,.72fr) minmax(420px,1.1fr) minmax(270px,.64fr);gap:clamp(24px,3vw,54px);padding-left:clamp(30px,4vw,70px);padding-right:clamp(30px,4vw,70px)}
.go-brand-stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
.deck-go-logo{display:block;width:min(100%,390px);max-height:390px;object-fit:contain;border:0;background:transparent;filter:drop-shadow(0 28px 40px rgba(0,0,0,.42))}
.deck-go-callout{margin-top:12px;text-align:center;transform:rotate(-3deg);filter:drop-shadow(0 8px 16px rgba(0,0,0,.32))}
.deck-go-callout span,.deck-go-callout strong{display:block}
.deck-go-callout span{font-size:clamp(16px,1.5vw,22px);font-weight:700;font-style:italic;color:rgba(255,255,255,.78)}
.deck-go-callout strong{font-size:clamp(30px,3.1vw,50px);line-height:.92;font-weight:950;font-style:italic;letter-spacing:-.055em;color:#f6e7aa}
.deck-go-center{position:relative;z-index:2;align-self:center;min-width:0}
.deck-go-center h2{font-size:clamp(27px,3.7vw,58px);white-space:nowrap;text-wrap:nowrap;letter-spacing:-.052em}
.go-phone-stage{height:min(73vh,720px)}
.go-phone-stage:before{width:340px;height:340px;background:radial-gradient(circle,rgba(15,107,63,.32),rgba(212,175,55,.08) 48%,transparent 72%)}
.go-phone-stage .deck-live-phone{width:min(300px,22vw);min-width:235px}

.visit-stage{position:relative;width:min(1240px,88vw);height:100%;margin:0 auto;padding:128px 0 88px;display:flex;flex-direction:column;justify-content:center}
.visit-stage h2{font-size:clamp(64px,8vw,126px);max-width:920px}
.visit-facts{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:14px;margin-top:22px}
.visit-facts>div{padding:23px 25px;border:1px solid rgba(255,255,255,.11);border-radius:22px;background:rgba(255,255,255,.055);backdrop-filter:blur(16px)}
.visit-facts small{display:block;margin-bottom:10px;font-size:10px;font-weight:950;letter-spacing:.18em;color:var(--accent)}
.visit-facts strong{display:block;font-size:clamp(16px,1.4vw,20px);line-height:1.35}
.deck-legal{position:absolute;left:0;right:0;bottom:34px;display:flex;align-items:center;gap:22px;font-size:11px;font-weight:750;color:rgba(255,255,255,.42)}
.deck-legal a{text-decoration:none}.deck-legal a:hover{color:#fff}

.deck-controls{position:fixed;z-index:150;left:50%;bottom:21px;transform:translateX(-50%);display:flex;align-items:center;gap:13px;padding:7px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(4,17,11,.62);backdrop-filter:blur(22px);box-shadow:0 14px 42px rgba(0,0,0,.26)}
.deck-arrow{width:42px;height:42px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09);color:#fff;font-size:31px;line-height:1;cursor:pointer;transition:.2s}
.deck-arrow:hover:not(:disabled){background:#fff;color:#071b13;transform:scale(1.04)}
.deck-arrow:disabled{opacity:.24;cursor:default}
.deck-progress{display:flex;align-items:center;gap:7px;padding:0 4px}
.deck-progress button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.28);cursor:pointer;transition:.25s}
.deck-progress button.active{width:30px;background:var(--accent)}
.deck-progress button:after{content:attr(aria-label);position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}

body.deck-body .mobile-cta{display:none!important}
body.deck-body .private-preview-badge{bottom:78px}

@media(max-width:1150px){
 .deck-split{padding-left:42px;padding-right:42px;gap:35px}
 .deck-split-go{grid-template-columns:.7fr 1.05fr .63fr;padding-left:25px;padding-right:25px;gap:18px}
 .deck-go-logo{width:min(100%,310px)}
 .deck-go-center h2{font-size:clamp(27px,3.8vw,44px)}
 .go-phone-stage .deck-live-phone{width:min(255px,22vw);min-width:210px}
 .phone.phone-live.deck-live-phone{min-width:220px}
}

@media(max-width:820px){
 .deck-header{height:80px;padding:8px 16px}
 .deck-header .brand-logo-mask,.deck-header .brand-logo-fallback,.deck-header.site-header.scrolled .brand-logo-mask,.deck-header.site-header.scrolled .brand-logo-fallback{width:var(--header-logo-mobile-width);height:62px}
 .deck-header .brand-logo-only,.deck-header.site-header.scrolled .brand-logo-only{min-width:var(--header-logo-mobile-width)}
 .deck-header .top-actions{gap:6px}.deck-header .btn-white{display:none}.deck-header .lang-switch a{padding:7px 9px}
 .deck-hero .slide-content{top:48%;left:8vw;width:84vw}.deck-hero .slide-content.center{left:50%}.deck-hero .slide-content.right{left:auto;right:8vw}
 .deck-hero .slide h1{font-size:clamp(44px,13vw,74px)}.deck-hero-bottom{bottom:78px}.deck-hint{display:none}
 .deck-split,.deck-split-go{height:100%;padding:88px 22px 76px;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:8px;align-items:center}
 .deck-copy{align-self:end;text-align:center;margin:0 auto}.deck-copy .deck-kicker{justify-content:center}.deck-copy p{display:none}.deck-copy h2{font-size:clamp(38px,11vw,60px);margin:12px 0 4px}.deck-mini-actions{justify-content:center;margin-top:14px}.deck-number{display:none}
 .deck-phone-stage{height:auto;min-height:0;align-self:start;padding-top:4px}
 .phone.phone-live.deck-live-phone{width:min(235px,58vw);min-width:0}
 .deck-app-phone{transform:rotate(4deg) translateY(0)}
 .deck-split-go{grid-template-rows:auto auto 1fr;padding-top:85px;gap:3px}
 .go-brand-stage{align-self:end}.deck-go-logo{width:min(185px,44vw);max-height:145px}.deck-go-callout{display:none}
 .deck-go-center{text-align:center;align-self:center}.deck-go-center .deck-kicker{justify-content:center}.deck-go-center h2{font-size:clamp(22px,5.3vw,40px);margin:8px 0;white-space:nowrap}.deck-go-center p{display:none}.deck-go-center .deck-mini-actions{margin-top:8px}
 .go-phone-stage{height:auto;min-height:0;align-self:start}.go-phone-stage .deck-live-phone{width:min(220px,54vw);min-width:0}.deck-go-phone{transform:rotate(-4deg)}
 .visit-stage{width:88vw;padding:86px 0 82px}.visit-stage h2{font-size:clamp(54px,15vw,86px);margin:14px 0 12px}.visit-facts{grid-template-columns:1fr;gap:8px;margin-top:7px}.visit-facts>div{padding:13px 16px;border-radius:16px}.visit-facts small{margin-bottom:5px}.visit-facts strong{font-size:15px}.visit-stage .deck-mini-actions{justify-content:flex-start;margin-top:12px}.deck-legal{bottom:66px;gap:10px;flex-wrap:wrap;font-size:9px}
 .deck-controls{bottom:14px}.deck-arrow{width:38px;height:38px}
}

@media(max-height:720px) and (min-width:821px){
 .deck-split{padding-top:94px;padding-bottom:66px}.deck-copy h2,.visit-stage h2{font-size:clamp(44px,6vw,76px)}
 .deck-phone-stage{height:70vh;min-height:450px}.phone.phone-live.deck-live-phone{width:min(270px,24vw);min-width:220px}
 .deck-go-logo{max-height:280px}.deck-go-center h2{font-size:clamp(26px,3.4vw,46px)}
 .visit-stage{padding-top:100px;padding-bottom:70px}.deck-legal{bottom:24px}
}


/* v1.0.16 — cartes horizontales avec aperçu des écrans voisins */
.site-deck{
  inset:0;
  gap:2.4vw;
  padding:104px 8vw 76px;
  align-items:stretch;
  scroll-padding-inline:8vw;
  cursor:grab;
  background:
    radial-gradient(circle at 50% 20%,rgba(28,105,67,.16),transparent 34%),
    linear-gradient(135deg,#04100b,#071912 52%,#04100b);
}
.site-deck.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;user-select:none}
.site-panel{
  flex:0 0 84vw;
  width:84vw;
  height:auto;
  min-height:0;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 28px 80px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.05);
  scroll-snap-align:center;
  scroll-snap-stop:always;
  transform:scale(.955);
  opacity:.58;
  filter:saturate(.72) brightness(.72);
  transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .42s ease,filter .42s ease,box-shadow .42s ease;
  overflow:hidden;
}
.site-panel.is-active{
  transform:scale(1);
  opacity:1;
  filter:none;
  box-shadow:0 34px 96px rgba(0,0,0,.56),0 0 0 1px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.08);
}
.site-panel:not(.is-active){cursor:pointer}
.site-panel:not(.is-active):hover{opacity:.78;filter:saturate(.9) brightness(.84);transform:scale(.968)}
.panel-hero .hero,.deck-hero{height:100%;min-height:0;border-radius:inherit}
.deck-split,.visit-stage{height:100%}
.deck-hero .slide-media,.deck-hero .slide-overlay,.deck-hero .slides{border-radius:inherit}
.deck-controls{bottom:17px}
.deck-hint{gap:8px}
.deck-hint:before{content:"←";opacity:.72}

@media(max-width:820px){
  .site-deck{gap:4vw;padding:84px 7vw 70px;scroll-padding-inline:7vw}
  .site-panel{flex-basis:86vw;width:86vw;border-radius:28px;transform:scale(.965)}
  .site-panel.is-active{transform:scale(1)}
  .site-panel:not(.is-active):hover{transform:scale(.965)}
  .deck-controls{bottom:14px}
}

@media(max-width:520px){
  .site-deck{gap:4vw;padding-left:6vw;padding-right:6vw;scroll-padding-inline:6vw}
  .site-panel{flex-basis:88vw;width:88vw;border-radius:24px}
}

/* v1.0.17 — fond général blanc et en-tête noir sur blanc */
body.deck-body{
  background:#fff;
  color:#111;
}
.site-deck{
  background:#fff;
}
.deck-header,
.deck-header.site-header.scrolled{
  background:rgba(255,255,255,.96);
  color:#111;
  box-shadow:0 8px 30px rgba(0,0,0,.07);
  backdrop-filter:blur(18px);
}
.deck-header .brand-logo-mask,
.deck-header.site-header.scrolled .brand-logo-mask{
  background:#000!important;
  filter:none;
}
.deck-header .brand-logo-fallback,
.deck-header.site-header.scrolled .brand-logo-fallback{
  filter:brightness(0) saturate(100%);
}
.deck-header .lang-switch{
  border-color:rgba(0,0,0,.18);
}
.deck-header .lang-switch a{
  color:#111;
}
.deck-header .lang-switch a.active{
  background:#111;
  color:#fff;
}
.deck-header .btn-white{
  background:#111;
  color:#fff;
}
.site-panel{
  border-color:rgba(0,0,0,.08);
  box-shadow:0 24px 62px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.55);
}
.site-panel.is-active{
  box-shadow:0 30px 78px rgba(0,0,0,.20),0 0 0 1px rgba(0,0,0,.035),inset 0 1px 0 rgba(255,255,255,.62);
}

/* =========================================================
   v1.0.18 — KERDUDAL LIVE EXPERIENCE
   Trois univers plein écran, responsive ordinateur / iPad / iPhone.
   ========================================================= */
body.live-body{--live-ink:#0a0d0b;--live-soft:#f2f4f1;--live-line:#dfe5e0;--live-green:#0f6b3f;--live-green-deep:#073e25;--live-gold:#d4af37;margin:0;height:100svh;overflow:hidden;background:#fff;color:var(--live-ink)}
.live-header{position:fixed;z-index:500;inset:0 0 auto 0;height:88px;padding:0 clamp(18px,3vw,50px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(10,13,11,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.live-brand{justify-self:start;position:relative;display:block;width:clamp(170px,18vw,265px);height:64px;text-decoration:none}
.live-brand img,.live-brand-mask{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center}
.live-brand-mask{display:none;background:#050505;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:left center;mask-position:left center}
@supports ((-webkit-mask-image:linear-gradient(#000,#000)) or (mask-image:linear-gradient(#000,#000))){.live-brand img{display:none}.live-brand-mask{display:block}}
.live-tabs{justify-self:center;display:flex;align-items:center;gap:5px;padding:5px;border:1px solid #e1e5e2;border-radius:999px;background:#f5f6f5}
.live-tab{border:0;background:transparent;color:#5e6661;border-radius:999px;padding:10px 18px;font:800 13px/1 Inter,sans-serif;cursor:pointer;transition:.25s ease;white-space:nowrap}
.live-tab.active{background:#111;color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.14)}
.live-header-actions{justify-self:end;display:flex;align-items:center;gap:9px}.live-header .lang-switch{border-color:#d8deda;background:#fff}.live-header .lang-switch a{color:#343a36}.live-header .lang-switch a.active{background:#111;color:#fff}.live-open-app{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:999px;background:var(--live-green);color:#fff;text-decoration:none;font-size:12px;font-weight:900}
.live-experience{position:fixed;z-index:1;inset:88px 0 0;overflow:hidden;background:#fff}
.live-view{position:absolute;inset:0;padding:clamp(18px,2.2vw,34px);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(3.5%);transition:opacity .38s ease,transform .55s cubic-bezier(.2,.8,.2,1),visibility .38s}
.live-view.active{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0)}
.live-view.leaving-left{transform:translateX(-3.5%)}.live-view.leaving-right{transform:translateX(3.5%)}
.live-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:950;letter-spacing:.18em;text-transform:uppercase;color:#778079}.live-eyebrow:before{content:"";width:28px;height:2px;border-radius:4px;background:var(--live-gold)}

/* Aujourd'hui */
.today-grid{height:100%;max-width:1580px;margin:auto;display:grid;grid-template-columns:minmax(390px,.86fr) minmax(0,1.4fr);gap:clamp(16px,2vw,30px)}
.today-status,.today-news{min-width:0;overflow:hidden;border-radius:clamp(24px,2.2vw,38px)}
.today-status{position:relative;display:flex;flex-direction:column;padding:clamp(24px,2.6vw,42px);background:linear-gradient(155deg,#0a5331 0%,#06311f 62%,#031e13 100%);color:#fff;box-shadow:0 24px 60px rgba(5,47,29,.2)}
.today-status:after{content:"K";position:absolute;right:-28px;bottom:-72px;font:950 clamp(230px,25vw,410px)/.8 Inter,sans-serif;color:rgba(255,255,255,.025);pointer-events:none}
.today-status-head{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.today-status .live-eyebrow{color:rgba(255,255,255,.63)}.today-status h1{margin:15px 0 0;font-size:clamp(34px,3.4vw,60px);line-height:.97;letter-spacing:-.055em}
.live-sync{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.1);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.live-sync i{width:7px;height:7px;border-radius:50%;background:#f5a623;box-shadow:0 0 0 5px rgba(245,166,35,.1)}.live-sync.connected i{background:#2ee88b;box-shadow:0 0 0 5px rgba(46,232,139,.1);animation:livePulse 2s infinite}.live-sync.offline i{background:#94a3b8;box-shadow:none}@keyframes livePulse{50%{box-shadow:0 0 0 9px rgba(46,232,139,0)}}
.live-services{position:relative;z-index:2;display:grid;gap:12px;margin-top:clamp(20px,3vh,34px)}.live-service{padding:16px 17px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(255,255,255,.07);backdrop-filter:blur(12px)}.live-service-line{display:flex;align-items:center;justify-content:space-between;gap:16px}.live-service-line>div{display:flex;align-items:baseline;gap:11px}.live-service-line strong{font-size:16px}.live-service-line span{font-size:12px;color:rgba(255,255,255,.62)}.live-service-line b{font-weight:800;color:#fff}.live-service-line em{font-style:normal;font-size:10px;font-weight:950;letter-spacing:.08em;color:var(--state-color);background:#fff;padding:6px 10px;border-radius:999px;white-space:nowrap}.live-progress-track{height:7px;margin-top:12px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}.live-progress-track span{display:block;height:100%;width:0;background:var(--state-color);border-radius:inherit;transition:width .8s ease,background-color .35s ease;box-shadow:0 0 18px color-mix(in srgb,var(--state-color) 45%,transparent)}
.vacation-card{position:relative;z-index:2;margin-top:14px;padding:17px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(0,0,0,.12)}.vacation-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.vacation-title span{font-size:10px;letter-spacing:.16em;font-weight:950;color:#f6d768}.vacation-title strong{font-size:10px;color:rgba(255,255,255,.52);font-weight:700}.vacation-list{display:flex;gap:8px;overflow:hidden;margin-top:11px}.vacation-item{min-width:0;flex:1;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.075)}.vacation-item span{display:block;font-size:12px;font-weight:900}.vacation-item small{display:block;margin-top:4px;font-size:9px;color:rgba(255,255,255,.54);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vacation-empty{font-size:11px;color:rgba(255,255,255,.55);padding:7px 0}
.today-foot{position:relative;z-index:2;margin-top:auto;padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid rgba(255,255,255,.12)}.today-foot span{display:block;font-size:9px;font-weight:900;letter-spacing:.15em;color:rgba(255,255,255,.42)}.today-foot strong{display:block;margin-top:6px;font-size:12px;line-height:1.35}
.today-news{position:relative;background:#111;color:#fff;box-shadow:0 24px 60px rgba(0,0,0,.14)}.news-top{position:absolute;z-index:20;left:clamp(22px,3vw,44px);right:clamp(22px,3vw,44px);top:clamp(20px,2.5vw,38px);display:flex;align-items:flex-start;justify-content:space-between;gap:20px;pointer-events:none}.news-top .live-eyebrow{color:rgba(255,255,255,.66)}.news-top h2{margin:9px 0 0;font-size:clamp(20px,2.15vw,38px);line-height:1;letter-spacing:-.04em}.news-dots{display:flex;gap:6px;pointer-events:auto}.news-dots .dot{position:static;width:7px;height:7px;border:0;border-radius:99px;background:rgba(255,255,255,.4);padding:0;cursor:pointer;transition:.3s}.news-dots .dot.active{width:28px;background:#fff}.live-slides{position:absolute;inset:0}.live-slide{position:absolute;inset:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .75s ease,visibility .75s}.live-slide.active{opacity:1;visibility:visible}.live-slide .slide-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.live-slide-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42),transparent 38%),linear-gradient(0deg,rgba(0,0,0,.83),transparent 62%),linear-gradient(90deg,rgba(0,0,0,.22),transparent 60%)}.live-slide-copy{position:absolute;z-index:3;left:clamp(24px,3.5vw,58px);right:clamp(24px,3.5vw,58px);bottom:clamp(26px,4vw,58px);max-width:760px}.live-slide-copy>span{font-size:10px;letter-spacing:.18em;font-weight:950;color:#f1d374}.live-slide-copy h3{margin:10px 0 12px;font-size:clamp(34px,4.8vw,76px);line-height:.93;letter-spacing:-.055em;text-wrap:balance}.live-slide-copy p{max-width:650px;margin:0 0 17px;font-size:clamp(13px,1.2vw,17px);line-height:1.5;color:rgba(255,255,255,.74)}.live-slide-link{display:inline-flex;color:#fff;text-decoration:none;font-size:12px;font-weight:950;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:4px}

/* Application */
.live-view-app{background:linear-gradient(135deg,#f7f8f7 0%,#fff 55%,#edf5ef 100%)}.app-universe,.adventure-universe{position:relative;height:100%;max-width:1540px;margin:auto;border-radius:clamp(28px,2.5vw,42px);overflow:hidden}.app-universe{display:grid;grid-template-columns:1fr minmax(300px,.78fr) .36fr;align-items:center;gap:clamp(18px,4vw,64px);padding:clamp(36px,5vw,80px);background:#0b1710;color:#fff;box-shadow:0 28px 75px rgba(7,30,18,.2)}.app-universe:before{content:"";position:absolute;width:720px;height:720px;border-radius:50%;right:-250px;top:-250px;background:radial-gradient(circle,rgba(33,188,105,.2),transparent 65%)}.universe-copy{position:relative;z-index:2}.universe-copy .live-eyebrow,.adventure-copy .live-eyebrow{color:rgba(255,255,255,.58)}.universe-copy h2{margin:18px 0 22px;font-size:clamp(48px,6vw,92px);line-height:.91;letter-spacing:-.065em}.universe-copy p{max-width:610px;font-size:clamp(15px,1.3vw,19px);line-height:1.6;color:rgba(255,255,255,.61)}.universe-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.universe-actions a,.universe-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font:900 12px/1 Inter,sans-serif;text-decoration:none;cursor:pointer}.universe-primary{background:#fff!important;color:#0d1611!important;border-color:#fff!important}.universe-secondary,.universe-actions button{background:transparent;color:#fff}.phone-showcase{position:relative;z-index:3;height:100%;display:flex;align-items:center;justify-content:center;perspective:1600px}.phone-showcase:before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.15),transparent 68%);filter:blur(8px)}.phone.phone-live.showcase-phone{width:min(345px,26vw);min-width:260px;max-width:none;aspect-ratio:9/19.5;z-index:2}.app-showcase-phone{transform:rotate(5deg) rotateY(-8deg);box-shadow:0 45px 100px rgba(0,0,0,.64),inset 0 0 0 2px #707070!important}.showcase-phone .phone-live-screen{position:relative;display:block;width:100%;height:100%}.showcase-phone .phone-live-status{position:relative;width:100%}.showcase-phone .phone-live-frame{position:absolute;left:0;top:var(--phone-app-top,47px);width:390px;max-width:none;height:var(--phone-app-virtual-height,780px);min-height:0;transform:scale(var(--phone-app-scale,1));transform-origin:top left;border:0;border-radius:0;background:#fff;overflow:auto}.app-side-notes{position:relative;z-index:2;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:12px;border-left:1px solid rgba(255,255,255,.12);padding-left:clamp(18px,2vw,30px)}.app-side-notes div{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}.app-side-notes span{display:block;font-size:10px;color:#d4af37;font-weight:900;letter-spacing:.14em}.app-side-notes strong{display:block;margin-top:5px;font-size:16px}

/* GO Adventure */
.live-view-adventure{background:#fff}.adventure-universe{display:grid;grid-template-columns:.82fr 1.05fr .76fr;align-items:center;gap:clamp(22px,3vw,48px);padding:clamp(30px,4vw,64px);background:radial-gradient(circle at 15% 18%,rgba(212,175,55,.2),transparent 28%),linear-gradient(140deg,#132b1c,#07150d 62%,#030a06);color:#fff;box-shadow:0 28px 75px rgba(7,30,18,.21)}.adventure-brand{position:relative;z-index:2;text-align:center}.adventure-brand img{display:block;width:min(100%,430px);max-height:430px;object-fit:contain;margin:auto;filter:drop-shadow(0 24px 36px rgba(0,0,0,.42))}.adventure-playline{display:inline-block;margin-top:2px;padding:8px 15px;border-radius:999px;background:#f3e3a0;color:#3b2c00;font-size:12px;font-weight:950;transform:rotate(-2deg)}.adventure-games{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:16px}.adventure-games span{padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:rgba(255,255,255,.66);font-size:9px;font-weight:900;letter-spacing:.04em}.adventure-copy{position:relative;z-index:3}.adventure-copy h2{margin:18px 0 20px;font-size:clamp(36px,4.1vw,66px);line-height:.96;letter-spacing:-.055em;white-space:nowrap}.adventure-copy p{max-width:600px;font-size:clamp(14px,1.15vw,18px);line-height:1.58;color:rgba(255,255,255,.62)}.adventure-button{background:#d4af37!important;color:#151007!important;border-color:#d4af37!important}.adventure-showcase-phone{transform:rotate(-5deg) rotateY(7deg);box-shadow:0 45px 100px rgba(0,0,0,.64),inset 0 0 0 2px #707070!important}

.live-mobile-tabs{display:none}

/* iPad / small laptop */
@media (max-width:1180px){
 .live-header{grid-template-columns:1fr auto auto}.live-tabs{justify-self:end}.live-header-actions .live-open-app{display:none}
 .today-grid{grid-template-columns:.95fr 1.05fr}.today-status{padding:28px}.today-status h1{font-size:42px}.vacation-list{flex-wrap:wrap}.vacation-item{flex:1 1 44%}.today-foot{grid-template-columns:1fr}
 .app-universe{grid-template-columns:1fr .76fr;padding:42px}.app-side-notes{display:none}.phone.phone-live.showcase-phone{width:min(310px,30vw);min-width:235px}
 .adventure-universe{grid-template-columns:.65fr 1fr .65fr;padding:34px 28px;gap:18px}.adventure-copy h2{font-size:clamp(31px,4.6vw,50px)}.adventure-brand img{max-height:310px}
}

/* iPad portrait / phones */
@media (max-width:820px){
 body.live-body{height:100dvh}.live-header{height:72px;padding:0 15px;grid-template-columns:1fr auto}.live-brand{width:165px;height:52px}.live-tabs{display:none}.live-header-actions{gap:6px}.live-header .lang-switch a{padding:7px 8px;font-size:10px}.live-experience{inset:72px 0 62px}.live-view{padding:10px}
 .live-mobile-tabs{position:fixed;z-index:600;left:10px;right:10px;bottom:8px;height:50px;display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border-radius:18px;background:rgba(17,17,17,.93);backdrop-filter:blur(16px);box-shadow:0 12px 35px rgba(0,0,0,.2)}.live-mobile-tabs button{border:0;border-radius:14px;background:transparent;color:rgba(255,255,255,.55);font:900 11px/1 Inter,sans-serif}.live-mobile-tabs button.active{background:#fff;color:#111}
 .today-grid{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:9px}.today-status{border-radius:24px;padding:18px;min-height:0}.today-status-head h1{font-size:31px;margin-top:9px}.today-status-head .live-eyebrow{font-size:8px}.live-sync{padding:6px 8px;font-size:8px}.live-services{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.live-service{padding:11px;border-radius:15px}.live-service-line{display:block}.live-service-line>div{display:block}.live-service-line strong{font-size:13px}.live-service-line span{display:block;margin-top:3px;font-size:10px}.live-service-line em{position:absolute;margin-top:-31px;right:29px;font-size:7px;padding:4px 6px}.live-progress-track{margin-top:8px;height:5px}.vacation-card{padding:11px;margin-top:8px;border-radius:15px}.vacation-title strong{display:none}.vacation-list{margin-top:7px}.vacation-item{padding:7px 8px}.vacation-item span{font-size:9px}.vacation-item small{display:none}.vacation-empty{font-size:9px;padding:2px}.today-foot{display:none}
 .today-news{border-radius:24px}.news-top{top:15px;left:17px;right:17px}.news-top h2{font-size:20px}.news-top .live-eyebrow{font-size:8px}.live-slide-copy{left:20px;right:20px;bottom:18px}.live-slide-copy h3{font-size:clamp(28px,9vw,48px);margin:7px 0}.live-slide-copy p{display:none}.live-slide-link{font-size:10px}
 .app-universe,.adventure-universe{border-radius:25px;height:100%}.app-universe{grid-template-columns:1fr 1fr;padding:18px;gap:8px}.universe-copy h2{font-size:clamp(34px,8vw,52px);margin:12px 0}.universe-copy p{font-size:12px;line-height:1.45}.universe-actions{margin-top:14px}.universe-actions a,.universe-actions button{min-height:39px;padding:0 12px;font-size:9px}.phone.phone-live.showcase-phone{width:min(245px,40vw);min-width:0}.phone-showcase:before{width:240px;height:240px}
 .adventure-universe{grid-template-columns:.73fr 1fr;grid-template-rows:auto 1fr;padding:16px;gap:8px}.adventure-brand{grid-column:1;grid-row:1 / span 2}.adventure-brand img{width:min(205px,32vw);max-height:190px}.adventure-playline{font-size:9px;padding:6px 9px}.adventure-games{gap:3px;margin-top:8px}.adventure-games span{font-size:7px;padding:5px 6px}.adventure-copy{grid-column:2;grid-row:1;align-self:end}.adventure-copy h2{white-space:normal;font-size:clamp(24px,5.3vw,40px);margin:9px 0}.adventure-copy p{display:none}.adventure-phone-stage{grid-column:2;grid-row:2;align-self:start}.adventure-phone-stage .showcase-phone{width:min(205px,34vw)}
}

@media (max-width:520px){
 .live-header{height:64px}.live-brand{width:140px;height:46px}.live-experience{inset:64px 0 60px}.live-view{padding:7px}
 .today-grid{grid-template-rows:minmax(232px,46%) 1fr}.today-status{padding:14px;border-radius:21px}.today-status h1{font-size:25px}.live-sync span{display:none}.live-sync{width:25px;height:25px;padding:0;justify-content:center}.live-services{margin-top:10px}.live-service{padding:9px}.live-service-line em{right:21px;margin-top:-28px}.vacation-card{margin-top:6px}.vacation-item:nth-child(n+3){display:none}
 .news-top h2{font-size:17px}.news-dots{display:none}.live-slide-copy h3{font-size:clamp(27px,10vw,42px)}
 .app-universe{display:grid;grid-template-columns:.9fr 1.1fr;padding:14px}.universe-copy .live-eyebrow{font-size:8px}.universe-copy h2{font-size:clamp(28px,8.7vw,39px)}.universe-copy p{display:none}.universe-actions{display:grid;gap:6px}.universe-actions button{display:none}.phone.phone-live.showcase-phone{width:min(205px,47vw)}
 .adventure-universe{grid-template-columns:.9fr 1.1fr;padding:10px}.adventure-brand img{width:min(165px,38vw);max-height:150px}.adventure-games span:nth-child(n+3){display:none}.adventure-copy .live-eyebrow{font-size:7px}.adventure-copy h2{font-size:clamp(21px,6.2vw,30px)}.adventure-phone-stage .showcase-phone{width:min(185px,41vw)}.adventure-copy .universe-actions{margin-top:6px}.adventure-copy .universe-actions a{min-height:34px;padding:0 9px;font-size:8px}.adventure-copy .universe-secondary{display:none}
}

@media (prefers-reduced-motion:reduce){.live-view,.live-slide,.showcase-phone{transition:none!important}.live-sync.connected i{animation:none}}

body.live-body .mobile-cta{display:none!important}

.live-service{position:relative}

/* =========================================================
   v1.0.19 — SIMPLE, DIRECT, BARRES IDENTIQUES À KERDUDAL GO
   ========================================================= */
body.live-body{background:#f5f5f2}
.live-header{height:94px;background:#fff;border-bottom:1px solid #e8e8e3;box-shadow:0 8px 30px rgba(0,0,0,.035)}
.live-brand{width:clamp(180px,18vw,270px)}
.live-tabs{gap:10px;padding:0;border:0;border-radius:0;background:transparent}
.live-tab{display:grid;grid-template-columns:auto auto;align-items:center;gap:8px;min-height:48px;padding:0 19px;border:1px solid #e4e5e1;border-radius:15px;background:#fff;color:#111;font-size:12px;letter-spacing:.035em;box-shadow:0 5px 16px rgba(0,0,0,.035)}
.live-tab>span{font-size:9px;color:#989e99;letter-spacing:.08em}
.live-tab:hover{border-color:#c9ceca;transform:translateY(-1px)}
.live-tab.active{background:#0f6b3f;border-color:#0f6b3f;color:#fff;box-shadow:0 8px 22px rgba(15,107,63,.22)}
.live-tab.active>span{color:rgba(255,255,255,.62)}
.live-experience{inset:94px 0 0;background:#f5f5f2}
.live-view{padding:clamp(16px,2vw,30px);transform:none!important;transition:none!important}
.live-view:not(.active){display:none}
.live-view.active{display:block;opacity:1;visibility:visible;pointer-events:auto}

/* Accueil : simple duo, statut prioritaire + actualité */
.today-grid{max-width:1540px;grid-template-columns:minmax(420px,.83fr) minmax(0,1.35fr);gap:clamp(18px,2.1vw,32px)}
.today-status,.today-news{border-radius:32px}
.today-status{padding:clamp(28px,3vw,48px);background:#0f3d1a;box-shadow:0 24px 60px rgba(15,61,26,.17)}
.today-status:after{display:none}
.today-status-head{align-items:flex-start}
.today-status-head>div{max-width:520px}
.today-status .live-eyebrow{font-size:10px;color:#d4af37}
.today-status h1{margin:12px 0 0;font-size:clamp(38px,3.8vw,64px);line-height:.92;letter-spacing:-.055em}
.today-status-head p{margin:12px 0 0;color:rgba(255,255,255,.63);font:700 13px/1.45 Montserrat,Arial,sans-serif}
.live-sync{margin-top:2px;background:#fff;color:#0f3d1a;padding:8px 11px}
.live-sync.connected i{background:#1fd37a}

/* Copie VISUELLE de la zone horaires Kerdudal Go */
.app-hours-clone{margin-top:clamp(24px,4vh,42px);gap:10px;font-family:Montserrat,Arial,sans-serif}
.app-hours-clone .live-service{padding:14px 15px;margin:0;border:0;border-radius:18px;background:rgba(255,255,255,.18);backdrop-filter:none;box-shadow:none}
.app-hours-clone .live-service-line{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 9px;color:#fff;font-size:12px;font-weight:900}
.app-hours-clone .service-main{display:block;color:#fff;font-size:12px;font-weight:900;white-space:nowrap}
.app-hours-clone .service-main strong,.app-hours-clone .service-main b{font:900 12px/1 Montserrat,Arial,sans-serif;color:#fff}
.app-hours-clone .live-service-line em{position:static!important;margin:0!important;right:auto!important;display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;border-radius:12px;background:#fff;color:var(--state-color);font:900 10px/1 Montserrat,Arial,sans-serif;letter-spacing:0;box-shadow:none}
.app-hours-clone .live-progress-track{display:block!important;width:100%;height:8px!important;margin:0!important;border-radius:10px;background:rgba(255,255,255,.20)!important;overflow:hidden;opacity:1!important}
.app-hours-clone .live-progress-track span{display:block!important;height:100%!important;min-height:8px;background:var(--state-color)!important;border-radius:10px;box-shadow:none!important;opacity:1!important;transition:width .6s ease}

.vacation-card{margin-top:18px;padding:17px 18px;border:0;border-radius:18px;background:rgba(255,255,255,.10)}
.vacation-title span{color:#d4af37}.vacation-title strong{color:rgba(255,255,255,.55)}
.vacation-item{background:rgba(255,255,255,.10)}
.today-foot{padding-top:20px}
.today-news{box-shadow:0 24px 60px rgba(0,0,0,.12)}

/* Les univers App / GO restent spectaculaires mais sans commandes inutiles */
.app-universe,.adventure-universe{border-radius:32px}
.universe-actions button[data-view-target]{display:none!important}
.app-side-notes{display:none!important}
.app-universe{grid-template-columns:1.08fr .82fr}
.adventure-universe{grid-template-columns:.78fr 1fr .72fr}

/* Tablette : navigation toujours visible et évidente */
@media(max-width:1180px){
 .live-header{grid-template-columns:auto 1fr auto;padding:0 22px}.live-tabs{justify-self:center}.live-tab{padding:0 13px;min-height:44px}.live-tab>span{display:none}
 .today-grid{grid-template-columns:.9fr 1.1fr}.app-hours-clone .service-main{font-size:11px}.app-hours-clone .service-main strong,.app-hours-clone .service-main b{font-size:11px}
 .app-universe{grid-template-columns:1fr .78fr}
}

/* iPad portrait / iPhone : les 3 choix deviennent une barre fixe simple */
@media(max-width:820px){
 .live-header{height:70px;grid-template-columns:1fr auto;padding:0 14px}.live-tabs{display:none}.live-brand{width:165px;height:50px}.live-experience{inset:70px 0 68px}.live-view{padding:9px}
 .live-mobile-tabs{left:8px;right:8px;bottom:8px;height:52px;padding:4px;gap:4px;border-radius:17px;background:#fff;border:1px solid #e0e2df;box-shadow:0 10px 30px rgba(0,0,0,.14);backdrop-filter:none}
 .live-mobile-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;border-radius:13px;color:#59605b;background:transparent;font:900 10px/1 Montserrat,Arial,sans-serif}
 .live-mobile-tabs button span{font-size:8px;color:#a0a49f}
 .live-mobile-tabs button.active{background:#0f6b3f;color:#fff}.live-mobile-tabs button.active span{color:rgba(255,255,255,.65)}
 .today-grid{grid-template-columns:1fr;grid-template-rows:minmax(270px,54%) 1fr;gap:9px}.today-status{padding:18px;border-radius:24px}.today-status h1{font-size:31px}.today-status-head p{display:none}.live-sync{padding:6px 8px;font-size:8px}
 .app-hours-clone{grid-template-columns:1fr!important;gap:8px;margin-top:15px}.app-hours-clone .live-service{padding:11px 12px;border-radius:16px}.app-hours-clone .live-service-line{margin-bottom:8px}.app-hours-clone .service-main,.app-hours-clone .service-main strong,.app-hours-clone .service-main b{font-size:10px}.app-hours-clone .live-service-line em{font-size:8px;padding:5px 8px}.app-hours-clone .live-progress-track{height:8px!important}.app-hours-clone .live-progress-track span{min-height:8px}
 .vacation-card{margin-top:8px;padding:10px 11px}.today-foot{display:none}.today-news{border-radius:24px}
 .app-universe{grid-template-columns:1fr 1fr}.adventure-universe{grid-template-columns:.73fr 1fr;grid-template-rows:auto 1fr}
}

@media(max-width:520px){
 .live-header{height:62px}.live-brand{width:142px;height:44px}.live-experience{inset:62px 0 66px}.live-view{padding:6px}
 .today-grid{grid-template-rows:minmax(282px,58%) 1fr}.today-status{padding:14px;border-radius:21px}.today-status h1{font-size:27px;margin-top:8px}.today-status .live-eyebrow{font-size:8px}.live-sync span{display:none}.live-sync{width:25px;height:25px;padding:0;justify-content:center}
 .app-hours-clone{margin-top:12px}.app-hours-clone .live-service{padding:10px 10px}.app-hours-clone .service-main,.app-hours-clone .service-main strong,.app-hours-clone .service-main b{font-size:9px}.app-hours-clone .live-service-line em{font-size:7px;padding:4px 7px}.vacation-title strong{display:none}
}

/* =========================================================
   v1.0.20 — REFONTE TOTALE : SITE VITRINE KERDUDAL
   ========================================================= */
html{scroll-padding-top:126px}
body.kp20-body{background:#f4f2ed;color:#101713;font-family:"DM Sans",Inter,Arial,sans-serif;overflow-x:hidden}
body.kp20-body main{display:block;overflow:hidden}
body.kp20-body a{text-decoration:none}
.kp20-header{position:sticky;top:0;z-index:500;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(17,33,24,.1);box-shadow:0 8px 28px rgba(13,39,25,.045)}
.kp20-header-main{height:82px;max-width:1560px;margin:auto;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:25px}
.kp20-brand{display:flex;align-items:center;width:clamp(190px,17vw,290px);height:58px}.kp20-logo-mask{display:block;width:100%;height:100%;background:#050806;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:left center;mask-position:left center;-webkit-mask-size:contain;mask-size:contain}
.kp20-header-right{display:flex;align-items:center;gap:14px}.kp20-lang{display:flex;border:1px solid #dcded9;border-radius:999px;padding:4px;background:#fff}.kp20-lang a{display:grid;place-items:center;min-width:36px;height:30px;border-radius:999px;font-size:11px;font-weight:900;color:#6f7772}.kp20-lang a.active{background:#101713;color:#fff}.kp20-app-pill{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 17px;border-radius:999px;background:var(--brand);color:#fff;font-size:12px;font-weight:900;box-shadow:0 9px 22px rgba(15,107,63,.18)}
.kp20-nav{height:44px;max-width:1560px;margin:auto;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;gap:clamp(20px,3vw,46px);overflow-x:auto;scrollbar-width:none}.kp20-nav::-webkit-scrollbar{display:none}.kp20-nav a{position:relative;white-space:nowrap;color:#68716b;font-size:12px;font-weight:900;letter-spacing:.025em}.kp20-nav a:hover,.kp20-nav a.active{color:#0d1711}.kp20-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:3px;border-radius:99px;background:var(--brand)}

.kp20-kicker{display:inline-flex;align-items:center;gap:9px;font:900 11px/1 Montserrat,Arial,sans-serif;letter-spacing:.16em;color:var(--brand)}.kp20-kicker:before{content:"";width:28px;height:2px;background:currentColor}.kp20-kicker.light{color:#d7bc63}
.kp20-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:14px;font:800 13px/1 "DM Sans",sans-serif;transition:transform .2s ease,box-shadow .2s ease}.kp20-btn:hover{transform:translateY(-2px)}.kp20-btn-dark{background:#101713;color:#fff;box-shadow:0 12px 28px rgba(16,23,19,.16)}.kp20-btn-light{background:#fff;color:#101713;border:1px solid #d8dbd6}.kp20-btn-green{background:var(--brand);color:#fff}.kp20-btn-gold{background:var(--accent);color:#101713}

/* HERO + produits choisis */
.kp20-hero{max-width:1600px;margin:0 auto;padding:clamp(50px,6vw,90px) clamp(18px,4vw,64px) clamp(54px,7vw,110px);display:grid;grid-template-columns:minmax(360px,.78fr) minmax(0,1.3fr);gap:clamp(28px,5vw,85px);align-items:center;min-height:720px;position:relative}.kp20-hero:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;left:-360px;top:20px;border:1px solid rgba(15,107,63,.12);box-shadow:0 0 0 70px rgba(15,107,63,.025),0 0 0 140px rgba(15,107,63,.015);pointer-events:none}.kp20-hero-copy{position:relative;z-index:2}.kp20-hero-copy h1{margin:20px 0 24px;font:900 clamp(58px,7vw,112px)/.87 Montserrat,Arial,sans-serif;letter-spacing:-.07em;color:#0d1510}.kp20-hero-copy h1 em{font-style:normal;color:var(--brand)}.kp20-hero-copy>p{max-width:620px;margin:0;font-size:clamp(16px,1.45vw,21px);line-height:1.55;color:#5c665f}.kp20-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.kp20-hero-address{margin-top:34px;display:flex;gap:12px;align-items:center}.kp20-hero-address>span{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#fff;border:1px solid #e1e3df}.kp20-hero-address strong,.kp20-hero-address small{display:block}.kp20-hero-address strong{font-size:14px}.kp20-hero-address small{margin-top:2px;color:#7b837e;font-size:12px}
.kp20-hero-media{position:relative;min-width:0}.kp20-feature-label{display:flex;align-items:center;justify-content:space-between;margin:0 4px 13px;font:900 10px/1 Montserrat,Arial,sans-serif;letter-spacing:.15em;color:#757f78}.kp20-feature-label strong{color:var(--brand);font-size:12px}.kp20-product-slider{position:relative;height:clamp(440px,57vw,700px);max-height:700px;border-radius:clamp(28px,3vw,46px);overflow:hidden;background:#101713;box-shadow:0 35px 90px rgba(30,40,34,.2)}.kp20-product-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,transform .7s ease;transform:scale(1.015)}.kp20-product-slide.active{opacity:1;visibility:visible;transform:scale(1)}.kp20-product-media,.kp20-product-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.kp20-product-placeholder{background:linear-gradient(135deg,#0f6b3f,#0a2f20)}.kp20-product-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 45%),linear-gradient(0deg,rgba(0,0,0,.82),transparent 63%)}.kp20-product-copy{position:absolute;z-index:2;left:clamp(25px,4vw,58px);right:clamp(25px,4vw,58px);bottom:clamp(28px,4vw,58px);color:#fff;max-width:760px}.kp20-product-copy>span{font:900 10px/1 Montserrat,sans-serif;letter-spacing:.17em;color:#f0d37a}.kp20-product-copy h2{margin:10px 0 12px;font:900 clamp(36px,5vw,78px)/.92 Montserrat,sans-serif;letter-spacing:-.055em;text-wrap:balance}.kp20-product-copy p{max-width:650px;margin:0 0 18px;color:rgba(255,255,255,.79);font-size:15px;line-height:1.52}.kp20-product-copy a{display:inline-block;color:#fff;font-weight:900;font-size:13px;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:4px}.kp20-slider-controls{display:flex;align-items:center;justify-content:flex-end;gap:13px;margin-top:15px}.kp20-slider-controls>button{width:44px;height:44px;border-radius:50%;border:1px solid #d8dbd6;background:#fff;font-size:18px;cursor:pointer}.kp20-slider-dots{display:flex;align-items:center;gap:6px}.kp20-slider-dots button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:#bdc3bf;cursor:pointer;transition:.25s}.kp20-slider-dots button.active{width:28px;background:#101713}

/* HORAIRES - clone fidèle de l'app */
.kp20-hours-section{background:#0f3d1a;color:#fff;padding:clamp(60px,7vw,110px) clamp(18px,4vw,64px);display:grid;grid-template-columns:minmax(300px,.75fr) minmax(460px,1.15fr);gap:clamp(35px,7vw,110px);align-items:center}.kp20-hours-intro{max-width:580px;margin-left:auto}.kp20-hours-intro h2{margin:18px 0 20px;font:900 clamp(50px,5.7vw,90px)/.92 Montserrat,sans-serif;letter-spacing:-.06em}.kp20-hours-intro p{max-width:530px;color:rgba(255,255,255,.68);font-size:17px;line-height:1.58}.kp20-live-sync{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.1);font:900 9px/1 Montserrat,sans-serif;letter-spacing:.1em}.kp20-live-sync i{width:8px;height:8px;border-radius:50%;background:#f5a623}.kp20-live-sync.connected i{background:#1fd37a;box-shadow:0 0 0 5px rgba(31,211,122,.12)}
.kp20-app-hours-card{position:relative;width:min(760px,100%);margin-right:auto;border-radius:36px;padding:clamp(22px,3vw,34px);background:#0f3d1a;border:1px solid rgba(255,255,255,.16);box-shadow:0 32px 90px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06)}.kp20-app-hours-card:before{content:"";position:absolute;inset:-1px;border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 33%);pointer-events:none}.kp20-hours-logo{display:flex;justify-content:center;height:76px;margin-bottom:4px}.kp20-hours-logo .kp20-logo-mask{width:210px;background:#fff;-webkit-mask-position:center;mask-position:center}.kp20-app-progress-zone{padding:10px 14px}.kp20-service-box{background:rgba(255,255,255,.18);border-radius:18px;padding:12px;margin-bottom:10px;font-family:Montserrat,Arial,sans-serif}.kp20-service-header{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:11px;font-weight:900;color:#fff;margin-bottom:8px}.kp20-service-header strong,.kp20-service-header b{font:900 11px/1 Montserrat,Arial,sans-serif;color:#fff}.kp20-service-header em{flex:0 0 auto;padding:5px 12px;border-radius:12px;font:900 10px/1 Montserrat,Arial,sans-serif;font-style:normal;background:#fff;color:var(--state-color)}.kp20-progress-bar{width:100%;height:8px;background:rgba(255,255,255,.20);border-radius:10px;overflow:hidden}.kp20-progress-bar span{display:block;height:100%;border-radius:10px;background:var(--state-color);transition:width .55s ease;min-width:0}.kp20-vacations{margin:8px 14px 0;padding:17px;border-radius:18px;background:rgba(0,0,0,.17)}.kp20-vac-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.kp20-vac-title span{font:900 10px/1 Montserrat,sans-serif;letter-spacing:.12em;color:#f1ce65}.kp20-vac-title small{font-size:10px;color:rgba(255,255,255,.45)}.kp20-vac-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kp20-vac-item{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.09)}.kp20-vac-item strong,.kp20-vac-item span{display:block}.kp20-vac-item strong{font-size:12px}.kp20-vac-item span{margin-top:3px;font-size:10px;color:rgba(255,255,255,.55)}.kp20-vac-empty{grid-column:1/-1;color:rgba(255,255,255,.55);font-size:12px}

/* APP */
.kp20-app-section{max-width:1600px;margin:auto;padding:clamp(80px,9vw,140px) clamp(18px,4vw,64px);display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);gap:clamp(40px,8vw,120px);align-items:center}.kp20-app-copy{max-width:750px}.kp20-app-copy h2{margin:18px 0 24px;font:900 clamp(62px,7vw,112px)/.86 Montserrat,sans-serif;letter-spacing:-.072em}.kp20-app-copy>p{max-width:650px;font-size:18px;line-height:1.58;color:#5f6962}.kp20-app-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0}.kp20-app-features div{min-height:132px;padding:18px;border-radius:20px;background:#fff;border:1px solid #e0e2de}.kp20-app-features span,.kp20-app-features strong,.kp20-app-features small{display:block}.kp20-app-features span{font:900 9px/1 Montserrat,sans-serif;color:#a6aca8}.kp20-app-features strong{margin-top:24px;font-size:17px}.kp20-app-features small{margin-top:5px;color:#7a827d;font-size:11px}.kp20-phone-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:670px;perspective:1500px}.kp20-phone-stage:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(15,107,63,.20),rgba(15,107,63,.03) 58%,transparent 68%)}
.phone.phone-live.kp20-phone{position:relative;width:min(350px,78vw);max-width:350px;min-width:260px;aspect-ratio:9/19.5;padding:10px;border:4px solid #323632;border-radius:58px;background:#050606;overflow:hidden;box-shadow:0 46px 100px rgba(0,0,0,.42),inset 0 0 0 2px #777;transform:rotate(4deg);z-index:2}.kp20-phone .phone-live-screen{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:44px;background:#000}.kp20-phone .phone-live-status{position:relative;z-index:5;width:100%;height:47px;background:#050606;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font:800 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.kp20-phone .phone-live-island{position:absolute;left:50%;top:8px;width:112px;height:27px;transform:translateX(-50%);border-radius:999px;background:#000}.kp20-phone .phone-live-status-icons{display:flex;align-items:center;gap:7px}.kp20-phone .phone-live-wifi{width:18px;height:14px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}.kp20-phone .phone-live-battery{position:relative;width:23px;height:11px;border:1.6px solid #fff;border-radius:3px;padding:1.3px}.kp20-phone .phone-live-battery:after{content:"";position:absolute;right:-3.5px;top:3px;width:2px;height:4px;border-radius:0 2px 2px 0;background:#fff}.kp20-phone .phone-live-battery-level{display:block;width:78%;height:100%;border-radius:1px;background:#fff}.kp20-phone .phone-live-frame{position:absolute;left:0;top:var(--phone-app-top,47px);width:390px;max-width:none;height:var(--phone-app-virtual-height,780px);min-height:0;border:0;border-radius:0;background:#fff;transform:scale(var(--phone-app-scale,1));transform-origin:top left;overflow:auto}.kp20-phone .phone-live-home{position:absolute;z-index:6;bottom:9px;left:50%;width:112px;height:5px;transform:translateX(-50%);border-radius:999px;background:rgba(255,255,255,.86);pointer-events:none}

/* GO ADVENTURE */
.kp20-adventure-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#07120d 0%,#102e22 48%,#07120d 100%);color:#fff;padding:clamp(70px,8vw,125px) clamp(18px,4vw,64px);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(360px,1fr) minmax(300px,.67fr);gap:clamp(28px,5vw,74px);align-items:center}.kp20-adventure-section:before{content:"";position:absolute;width:800px;height:800px;border-radius:50%;left:-350px;bottom:-500px;border:1px solid rgba(212,175,55,.13);box-shadow:0 0 0 90px rgba(212,175,55,.025),0 0 0 180px rgba(212,175,55,.014)}.kp20-adventure-art,.kp20-adventure-copy,.kp20-phone-stage-go{position:relative;z-index:2}.kp20-adventure-art{text-align:center}.kp20-adventure-art img{display:block;width:min(100%,390px);max-height:370px;object-fit:contain;margin:auto;filter:drop-shadow(0 28px 38px rgba(0,0,0,.4))}.kp20-adventure-script{display:block;margin-top:10px;color:#efd36f;font:italic 700 clamp(22px,2.3vw,34px)/1 Georgia,serif}.kp20-game-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:22px}.kp20-game-tags span{padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.65);font-size:10px;font-weight:800}.kp20-adventure-copy h2{margin:18px 0 24px;font:900 clamp(50px,5.4vw,88px)/.91 Montserrat,sans-serif;letter-spacing:-.063em;max-width:850px}.kp20-adventure-copy p{max-width:700px;color:rgba(255,255,255,.66);font-size:17px;line-height:1.6}.kp20-phone-stage-go{min-height:620px}.kp20-phone-stage-go:before{background:radial-gradient(circle,rgba(212,175,55,.18),transparent 67%)}.phone.phone-live.kp20-phone-go{transform:rotate(-4deg)}

/* VISITE / PLAN */
.kp20-visit-section{max-width:1600px;margin:auto;padding:clamp(80px,9vw,140px) clamp(18px,4vw,64px)}.kp20-visit-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:36px}.kp20-visit-head h2{margin:18px 0 0;font:900 clamp(52px,6.5vw,94px)/.89 Montserrat,sans-serif;letter-spacing:-.065em}.kp20-visit-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(320px,.58fr);gap:18px}.kp20-map-card{position:relative;height:560px;border-radius:34px;overflow:hidden;background:#dfe5df;box-shadow:0 22px 60px rgba(30,42,34,.1)}.kp20-map-card iframe{width:100%;height:100%;border:0;filter:saturate(.75) contrast(1.02)}.kp20-info-card{display:grid;gap:10px}.kp20-info-block{display:flex;flex-direction:column;justify-content:center;min-height:174px;padding:26px 28px;border-radius:28px;background:#fff;border:1px solid #e0e2de}.kp20-info-block>span{font:900 9px/1 Montserrat,sans-serif;letter-spacing:.13em;color:#929a95}.kp20-info-block strong{margin-top:12px;font-size:22px;line-height:1.15}.kp20-info-block small{margin-top:8px;color:#77807a;font-size:12px;line-height:1.45}.kp20-info-block a{margin-top:14px;color:var(--brand);font-size:12px;font-weight:900}

/* SOCIÉTÉ */
.kp20-company-section{background:#111712;color:#fff;padding:clamp(48px,5.5vw,78px) clamp(18px,4vw,64px);display:grid;grid-template-columns:.7fr 1.6fr;gap:60px;align-items:center}.kp20-company-brand{max-width:330px}.kp20-company-brand .kp20-logo-mask{height:72px;background:#fff}.kp20-company-brand p{margin:10px 0 0;color:rgba(255,255,255,.5);font-size:12px}.kp20-company-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.kp20-company-columns>div{padding-left:22px;border-left:1px solid rgba(255,255,255,.13)}.kp20-company-columns span,.kp20-company-columns strong,.kp20-company-columns small,.kp20-company-columns a{display:block}.kp20-company-columns span{font:900 9px/1 Montserrat,sans-serif;letter-spacing:.12em;color:#d6b85d}.kp20-company-columns strong{margin-top:12px;font-size:17px}.kp20-company-columns small{margin-top:7px;color:rgba(255,255,255,.48);font-size:11px}.kp20-company-columns a{margin-top:8px;color:rgba(255,255,255,.74);font-size:12px}.kp20-company-columns a:hover{color:#fff}.kp20-footer{min-height:58px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#0b0f0c;color:#6e756f;font-size:10px}.kp20-footer a{color:#b8beb9;font-weight:800}

/* Responsive */
@media(max-width:1180px){
 html{scroll-padding-top:118px}.kp20-hero{grid-template-columns:.8fr 1.2fr;gap:35px;min-height:650px}.kp20-hero-copy h1{font-size:clamp(50px,7vw,80px)}.kp20-product-slider{height:520px}
 .kp20-hours-section{grid-template-columns:.72fr 1.28fr;gap:45px}.kp20-app-section{grid-template-columns:1fr .72fr}.kp20-app-features{grid-template-columns:1fr}.kp20-app-features div{min-height:82px}.kp20-app-features strong{margin-top:13px}
 .kp20-adventure-section{grid-template-columns:.65fr 1fr .6fr;gap:25px}.kp20-adventure-art img{width:min(100%,280px)}.kp20-phone-stage-go{min-height:530px}.phone.phone-live.kp20-phone{width:min(305px,78vw);min-width:240px}
}
@media(max-width:900px){
 html{scroll-padding-top:120px}.kp20-header-main{height:72px}.kp20-app-pill{display:none}.kp20-nav{height:46px;gap:28px}.kp20-nav a.active:after{bottom:-14px}
 .kp20-hero{grid-template-columns:1fr;padding-top:46px;min-height:0}.kp20-hero-copy{max-width:720px}.kp20-hero-copy h1{font-size:clamp(58px,12vw,94px)}.kp20-hero-media{margin-top:12px}.kp20-product-slider{height:min(69vw,610px)}
 .kp20-hours-section{grid-template-columns:1fr;padding-top:70px;padding-bottom:70px}.kp20-hours-intro{max-width:760px;margin:0}.kp20-hours-intro h2{font-size:clamp(54px,10vw,84px)}.kp20-app-hours-card{margin:auto}
 .kp20-app-section{grid-template-columns:1fr;gap:15px}.kp20-app-copy{max-width:760px}.kp20-app-copy h2{font-size:clamp(62px,12vw,100px)}.kp20-phone-stage{min-height:610px}.kp20-app-features{grid-template-columns:repeat(3,1fr)}
 .kp20-adventure-section{grid-template-columns:1fr 1fr;grid-template-areas:"art copy" "phone phone"}.kp20-adventure-art{grid-area:art}.kp20-adventure-copy{grid-area:copy}.kp20-phone-stage-go{grid-area:phone;min-height:620px}.kp20-adventure-copy h2{font-size:clamp(48px,8vw,72px)}
 .kp20-visit-grid{grid-template-columns:1fr}.kp20-map-card{height:480px}.kp20-info-card{grid-template-columns:repeat(3,1fr)}.kp20-info-block{min-height:180px;padding:20px}
 .kp20-company-section{grid-template-columns:1fr;gap:36px}.kp20-company-columns{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
 html{scroll-padding-top:108px}.kp20-header-main{height:64px;padding:0 14px}.kp20-brand{width:152px;height:45px}.kp20-lang a{min-width:32px;height:28px}.kp20-nav{height:42px;padding:0 14px;gap:22px}.kp20-nav a{font-size:10px}.kp20-nav a.active:after{bottom:-12px}
 .kp20-hero{padding:38px 14px 64px;gap:25px}.kp20-kicker{font-size:9px}.kp20-hero-copy h1{font-size:clamp(52px,17vw,76px);margin:16px 0 18px}.kp20-hero-copy>p{font-size:15px}.kp20-hero-actions{display:grid}.kp20-btn{width:100%}.kp20-product-slider{height:118vw;max-height:590px;border-radius:26px}.kp20-product-copy h2{font-size:clamp(34px,11vw,53px)}.kp20-product-copy p{font-size:13px}.kp20-slider-controls{justify-content:space-between}
 .kp20-hours-section{padding:60px 14px;gap:28px}.kp20-hours-intro h2{font-size:clamp(48px,14vw,68px)}.kp20-hours-intro p{font-size:14px}.kp20-app-hours-card{padding:16px 7px;border-radius:27px}.kp20-hours-logo{height:58px}.kp20-hours-logo .kp20-logo-mask{width:160px}.kp20-app-progress-zone{padding:8px}.kp20-service-box{padding:11px 10px;border-radius:16px}.kp20-service-header{font-size:9px;gap:8px}.kp20-service-header strong,.kp20-service-header b{font-size:9px}.kp20-service-header em{font-size:8px;padding:5px 8px}.kp20-progress-bar{height:8px}.kp20-vacations{margin:5px 8px 0;padding:12px}.kp20-vac-title small{display:none}.kp20-vac-list{grid-template-columns:1fr}
 .kp20-app-section{padding:70px 14px}.kp20-app-copy h2{font-size:clamp(58px,17vw,78px)}.kp20-app-copy>p{font-size:14px}.kp20-app-features{grid-template-columns:1fr 1fr 1fr;gap:6px}.kp20-app-features div{min-height:110px;padding:13px}.kp20-app-features strong{font-size:13px}.kp20-app-features small{font-size:9px}.kp20-phone-stage{min-height:570px}.phone.phone-live.kp20-phone{width:min(285px,78vw);min-width:0;border-radius:50px}.kp20-phone .phone-live-screen{border-radius:38px}
 .kp20-adventure-section{padding:65px 14px;grid-template-columns:1fr;grid-template-areas:"art" "copy" "phone";gap:35px}.kp20-adventure-art img{width:min(270px,75vw)}.kp20-adventure-copy h2{font-size:clamp(45px,13vw,64px)}.kp20-adventure-copy p{font-size:14px}.kp20-phone-stage-go{min-height:560px}
 .kp20-visit-section{padding:70px 14px}.kp20-visit-head{display:block}.kp20-visit-head h2{font-size:clamp(50px,14vw,70px)}.kp20-map-card{height:390px;border-radius:26px}.kp20-info-card{grid-template-columns:1fr}.kp20-info-block{min-height:145px}
 .kp20-company-section{padding:50px 14px}.kp20-company-columns{grid-template-columns:1fr}.kp20-company-columns>div{padding:17px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.13)}.kp20-footer{padding:16px 14px;min-height:0;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.kp20-product-slide,.kp20-btn,.kp20-progress-bar span{transition:none!important}}


/* v1.0.21 — actions Kerdudal Go simplifiées, couleur GO */
.kp20-app-features.kp21-go-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0}
.kp20-app-features.kp21-go-actions>div{min-height:108px;padding:18px;border:0;border-radius:22px;background:var(--accent);color:#10130f;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:0 15px 32px rgba(212,175,55,.22);transition:transform .2s ease,box-shadow .2s ease}
.kp20-app-features.kp21-go-actions>div:hover{transform:translateY(-3px);box-shadow:0 20px 38px rgba(212,175,55,.30)}
.kp20-app-features.kp21-go-actions strong{margin:0;font:900 clamp(15px,1.45vw,21px)/1 Montserrat,Arial,sans-serif;letter-spacing:-.02em;color:#10130f}
@media(max-width:720px){.kp20-app-features.kp21-go-actions{gap:7px}.kp20-app-features.kp21-go-actions>div{min-height:82px;padding:10px;border-radius:17px}.kp20-app-features.kp21-go-actions strong{font-size:12px}}


/* v1.0.23 — actions Kerdudal Go : chaque carte jaune pilote le premier iPhone */
.kp20-app-features.kp21-go-actions>button.kp21-go-action{
  appearance:none;-webkit-appearance:none;width:100%;min-height:108px;padding:18px;border:0;border-radius:22px;
  background:var(--accent);color:#10130f;display:flex;align-items:center;justify-content:center;text-align:center;
  box-shadow:0 15px 32px rgba(212,175,55,.22);transition:transform .2s ease,box-shadow .2s ease,outline-color .2s ease;
  cursor:pointer;font:inherit;outline:3px solid transparent;outline-offset:3px
}
.kp20-app-features.kp21-go-actions>button.kp21-go-action:hover{transform:translateY(-3px);box-shadow:0 20px 38px rgba(212,175,55,.30)}
.kp20-app-features.kp21-go-actions>button.kp21-go-action:focus-visible,.kp20-app-features.kp21-go-actions>button.kp21-go-action.active{outline-color:#10130f}
.kp20-app-features.kp21-go-actions>button.kp21-go-action strong{margin:0;font:900 clamp(15px,1.45vw,21px)/1 Montserrat,Arial,sans-serif;letter-spacing:-.02em;color:#10130f}
@media(max-width:720px){.kp20-app-features.kp21-go-actions>button.kp21-go-action{min-height:82px;padding:10px;border-radius:17px}.kp20-app-features.kp21-go-actions>button.kp21-go-action strong{font-size:12px}}

/* v1.0.28 — onglet compte vertical, icône restaurée, collé et incliné comme l’iPhone */
.kp20-phone-stage-app .kp26-account-tab{
  position:absolute;z-index:12;left:calc(50% - 221px);top:50%;width:58px;height:188px;
  padding:10px 8px;border:1px solid rgba(212,175,55,.78);border-right:0;
  border-radius:24px 0 0 24px;background:#090b0a;color:#fff;cursor:pointer;
  box-shadow:-14px 20px 38px rgba(0,0,0,.20);font-family:Montserrat,Arial,sans-serif;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;
  transform:translateY(-50%) rotate(4deg);transform-origin:right center;
  transition:width .22s ease,background .22s ease,box-shadow .22s ease
}
.kp20-phone-stage-app .kp26-account-tab:after{
  content:"";position:absolute;right:-10px;top:12px;bottom:12px;width:13px;background:#090b0a;
  border-top:1px solid rgba(212,175,55,.20);border-bottom:1px solid rgba(212,175,55,.20)
}
.kp20-phone-stage-app .kp26-account-icon{
  display:grid;place-items:center;flex:0 0 auto;width:33px;height:33px;border-radius:50%;background:var(--accent);color:#111
}
.kp20-phone-stage-app .kp26-account-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.kp20-phone-stage-app .kp26-account-label{
  display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap
}
.kp20-phone-stage-app .kp26-account-label strong{
  font-size:10px;line-height:1;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#fff
}
.kp20-phone-stage-app .kp26-account-tab:hover{width:64px;background:#111512;box-shadow:-18px 24px 42px rgba(0,0,0,.25)}
.kp20-phone-stage-app .kp26-account-tab:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.kp20-phone-stage-app .kp26-account-tab[hidden]{display:none!important}
@media(max-width:1180px){.kp20-phone-stage-app .kp26-account-tab{left:calc(50% - 198px);height:174px}}
@media(max-width:900px){.kp20-phone-stage-app .kp26-account-tab{left:calc(50% - 198px);height:170px}}
@media(max-width:620px){
 .kp20-phone-stage-app .kp26-account-tab{
   left:calc(50% - min(142.5px,39vw) - 43px);width:45px;height:154px;padding:8px 6px;border-radius:19px 0 0 19px;gap:8px;
   transform:translateY(-50%) rotate(4deg);transform-origin:right center
 }
 .kp20-phone-stage-app .kp26-account-tab:hover{width:45px}
 .kp20-phone-stage-app .kp26-account-tab:after{right:-8px;width:10px}
 .kp20-phone-stage-app .kp26-account-icon{width:28px;height:28px}.kp20-phone-stage-app .kp26-account-icon svg{width:16px;height:16px}
 .kp20-phone-stage-app .kp26-account-label strong{font-size:8px}
}


/* v1.0.29 — onglet compte collé à l’extérieur de l’iPhone, sans recouvrement */
.kp20-phone-stage-app .kp26-account-tab{
  left:calc(50% - 235px);
  border-right:1px solid rgba(212,175,55,.78);
  z-index:1;
}
.kp20-phone-stage-app .kp26-account-tab:after{display:none!important}
@media(max-width:1180px){
  .kp20-phone-stage-app .kp26-account-tab{left:calc(50% - 212.5px)}
}
@media(max-width:900px){
  .kp20-phone-stage-app .kp26-account-tab{left:calc(50% - 212.5px)}
}
@media(max-width:620px){
  .kp20-phone-stage-app .kp26-account-tab{left:calc(50% - min(142.5px,39vw) - 46px)}
}


/* v1.0.32 — titre mot par mot + boutons séquentiels : 3 secondes chacun. */
.kp20-app-copy .kp30-cycle-title{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.04em;
  min-height:3.06em;overflow:visible;color:#111;margin-bottom:24px
}
.kp20-app-copy .kp30-cycle-title .kp30-word{
  position:relative;display:block;min-height:1em;line-height:1.02;opacity:.16;
  transform:translateX(-8px) scale(.985);white-space:nowrap;pointer-events:none;
  will-change:opacity,transform;animation:kp31WordCycle 6.6s cubic-bezier(.22,.8,.24,1) infinite
}
.kp20-app-copy .kp30-cycle-title .kp30-word-order{color:var(--brand);animation-delay:0s}
.kp20-app-copy .kp30-cycle-title .kp30-word-reserve{color:var(--accent);animation-delay:2.2s}
.kp20-app-copy .kp30-cycle-title .kp30-word-play{color:#10130f;animation-delay:4.4s}
@keyframes kp31WordCycle{
  0%{opacity:.16;transform:translateX(-8px) scale(.985)}
  10%,70%{opacity:1;transform:translateX(0) scale(1)}
  82%,100%{opacity:.16;transform:translateX(7px) scale(.99)}
}
.kp20-app-features.kp21-go-actions>button.kp21-go-action{
  will-change:transform;
  transform-origin:center center;
  animation-duration:9s;
  animation-timing-function:linear;
  animation-iteration-count:infinite
}
.kp20-app-features.kp21-go-actions>button.kp21-go-action:nth-child(1){animation-name:kp32VibrateOrder}
.kp20-app-features.kp21-go-actions>button.kp21-go-action:nth-child(2){animation-name:kp32VibrateReserve}
.kp20-app-features.kp21-go-actions>button.kp21-go-action:nth-child(3){animation-name:kp32VibratePlay}

/* COMMANDER vibre de 0 à 3 s, puis reste immobile 6 s. */
@keyframes kp32VibrateOrder{
  0%,33.333%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  3%{transform:translate3d(-5px,0,0) rotate(-.45deg)}
  6%{transform:translate3d(4px,-1px,0) rotate(.35deg)}
  9%{transform:translate3d(-4px,1px,0) rotate(-.3deg)}
  12%{transform:translate3d(5px,0,0) rotate(.4deg)}
  15%{transform:translate3d(-3px,-1px,0) rotate(-.25deg)}
  18%{transform:translate3d(4px,1px,0) rotate(.3deg)}
  21%{transform:translate3d(-5px,0,0) rotate(-.4deg)}
  24%{transform:translate3d(3px,-1px,0) rotate(.22deg)}
  27%{transform:translate3d(-3px,1px,0) rotate(-.2deg)}
  30%{transform:translate3d(4px,0,0) rotate(.28deg)}
}

/* RÉSERVER reste immobile 3 s, vibre de 3 à 6 s, puis s'arrête. */
@keyframes kp32VibrateReserve{
  0%,33.333%,66.666%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  36%{transform:translate3d(3px,-2px,0) rotate(.35deg)}
  39%{transform:translate3d(-4px,1px,0) rotate(-.42deg)}
  42%{transform:translate3d(5px,2px,0) rotate(.28deg)}
  45%{transform:translate3d(-3px,-1px,0) rotate(-.3deg)}
  48%{transform:translate3d(4px,1px,0) rotate(.4deg)}
  51%{transform:translate3d(-5px,0,0) rotate(-.34deg)}
  54%{transform:translate3d(3px,-2px,0) rotate(.22deg)}
  57%{transform:translate3d(-4px,2px,0) rotate(-.26deg)}
  60%{transform:translate3d(5px,0,0) rotate(.36deg)}
  63%{transform:translate3d(-2px,-1px,0) rotate(-.18deg)}
}

/* JOUER reste immobile 6 s, puis vibre de 6 à 9 s. */
@keyframes kp32VibratePlay{
  0%,66.666%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  69%{transform:translate3d(-2px,2px,0) rotate(-.5deg)}
  72%{transform:translate3d(5px,-1px,0) rotate(.45deg)}
  75%{transform:translate3d(-5px,-1px,0) rotate(-.38deg)}
  78%{transform:translate3d(3px,2px,0) rotate(.32deg)}
  81%{transform:translate3d(-4px,0,0) rotate(-.42deg)}
  84%{transform:translate3d(5px,1px,0) rotate(.36deg)}
  87%{transform:translate3d(-3px,-2px,0) rotate(-.3deg)}
  90%{transform:translate3d(4px,1px,0) rotate(.26deg)}
  93%{transform:translate3d(-5px,0,0) rotate(-.34deg)}
  96%{transform:translate3d(3px,-1px,0) rotate(.2deg)}
}
.kp20-app-features.kp21-go-actions>button.kp21-go-action:hover{
  animation-play-state:paused;transform:translateY(-3px);box-shadow:0 20px 38px rgba(212,175,55,.30)
}
@media(max-width:620px){
  .kp20-app-copy .kp30-cycle-title .kp30-word{white-space:normal}
}
@media(prefers-reduced-motion:reduce){
  .kp20-app-copy .kp30-cycle-title .kp30-word{animation:none;position:relative;display:block;opacity:1;transform:none}
  .kp20-app-features.kp21-go-actions>button.kp21-go-action{animation:none!important}
}

/* v1.0.31 — Commander / Réserver / Jouer occupent chacun leur propre ligne. */


/* v1.0.34 — en-tête horizontal : grand logo + menu à droite */
body.kp20-body{--kp34-header-height:102px}
html{scroll-padding-top:var(--kp34-header-height)}
.kp20-header{min-height:var(--kp34-header-height)}
.kp20-header-main{
 height:var(--kp34-header-height);
 max-width:1680px;
 padding:0 clamp(20px,3.2vw,58px);
 display:grid;
 grid-template-columns:auto minmax(0,1fr) auto;
 align-items:center;
 gap:clamp(22px,3vw,52px);
}
.kp20-brand{
 width:clamp(300px,23vw,430px);
 height:84px;
 flex:0 0 auto;
}
.kp20-nav{
 height:auto;
 width:100%;
 max-width:none;
 margin:0;
 padding:0;
 display:flex;
 justify-content:flex-end;
 align-items:center;
 gap:clamp(18px,2.1vw,38px);
 overflow:visible;
}
.kp20-nav a{
 font-size:clamp(11px,.82vw,13px);
 letter-spacing:.015em;
}
.kp20-nav a.active:after{bottom:-11px}
.kp20-header-right{justify-self:end;gap:10px}
.kp20-app-pill{display:none!important}

@media(max-width:1250px){
 body.kp20-body{--kp34-header-height:88px}
 .kp20-header-main{gap:20px;padding:0 22px}
 .kp20-brand{width:clamp(235px,22vw,300px);height:68px}
 .kp20-nav{gap:16px}
 .kp20-nav a{font-size:10px}
 .kp20-lang a{min-width:31px;height:28px;font-size:10px}
}
@media(max-width:930px){
 body.kp20-body{--kp34-header-height:80px}
 .kp20-header-main{grid-template-columns:auto minmax(0,1fr) auto;gap:14px;padding:0 14px}
 .kp20-brand{width:205px;height:61px}
 .kp20-nav{justify-content:flex-end;gap:12px;overflow-x:auto;scrollbar-width:none}
 .kp20-nav a{font-size:9px}
 .kp20-lang{padding:3px}
 .kp20-lang a{min-width:28px;height:26px;font-size:9px}
}
@media(max-width:720px){
 body.kp20-body{--kp34-header-height:108px}
 .kp20-header-main{
  height:var(--kp34-header-height);
  grid-template-columns:1fr auto;
  grid-template-rows:64px 44px;
  gap:0 10px;
  padding:0 14px;
 }
 .kp20-brand{grid-column:1;grid-row:1;width:190px;height:56px}
 .kp20-header-right{grid-column:2;grid-row:1}
 .kp20-nav{
  grid-column:1/-1;grid-row:2;
  justify-content:flex-start;
  width:100%;
  gap:22px;
  overflow-x:auto;
  padding-right:8px;
 }
 .kp20-nav a{font-size:10px}
 .kp20-nav a.active:after{bottom:-10px}
}


/* v1.0.35 — iPhone en perspective design puis remise à plat pour la navigation. */
.kp20-phone-stage{perspective:2100px;perspective-origin:50% 42%}
.kp20-phone-stage-app .kp20-phone,
.kp20-phone-stage-go .kp20-phone{
  overflow:visible;transform-style:preserve-3d;transform-origin:center center;
  transition:transform .62s cubic-bezier(.22,.75,.18,1),box-shadow .62s ease,filter .35s ease;
}
.kp20-phone-stage-app .kp20-phone{
  transform:rotateY(-24deg) rotateX(6deg) rotateZ(-2.2deg) translateZ(0);
  box-shadow:-16px 20px 26px rgba(129,141,164,.16),0 44px 100px rgba(0,0,0,.38),0 10px 24px rgba(0,0,0,.16),inset 0 0 0 2px #8a8f99;
}
.kp20-phone-stage-go .kp20-phone{
  transform:rotateY(20deg) rotateX(5deg) rotateZ(2deg) translateZ(0);
}
.kp20-phone-stage-app .kp20-phone::before,
.kp20-phone-stage-go .kp20-phone::before{
  content:"";position:absolute;top:26px;bottom:26px;width:20px;pointer-events:none;z-index:1;opacity:.95;
  background:linear-gradient(180deg,#c4cad4 0%,#8f96a0 18%,#626974 52%,#a9b0ba 78%,#565c66 100%);
  box-shadow:inset -2px 0 4px rgba(255,255,255,.45),inset 2px 0 7px rgba(0,0,0,.32);
}
.kp20-phone-stage-app .kp20-phone::before{
  left:-16px;border-radius:18px 0 0 18px;transform:skewY(-6deg);
}
.kp20-phone-stage-go .kp20-phone::before{
  right:-16px;border-radius:0 18px 18px 0;transform:skewY(6deg);
}
.kp20-phone-stage-app .kp20-phone::after,
.kp20-phone-stage-go .kp20-phone::after{
  content:"";position:absolute;inset:0;border-radius:58px;pointer-events:none;z-index:7;
  background:linear-gradient(115deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.08) 17%,rgba(255,255,255,0) 36%,rgba(255,255,255,0) 60%,rgba(255,255,255,.12) 82%,rgba(255,255,255,0) 100%);
  mix-blend-mode:screen;opacity:.76;transition:opacity .45s ease;
}
.kp20-phone-stage-app .kp20-phone .phone-live-screen,
.kp20-phone-stage-go .kp20-phone .phone-live-screen{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.kp20-phone-stage-app .kp20-phone.is-flat,
.kp20-phone-stage-app .kp20-phone:hover,
.kp20-phone-stage-app .kp20-phone:focus-within,
.kp20-phone-stage-go .kp20-phone.is-flat,
.kp20-phone-stage-go .kp20-phone:hover,
.kp20-phone-stage-go .kp20-phone:focus-within{
  transform:rotateY(0deg) rotateX(0deg) rotateZ(0deg) translateY(-2px) scale(1.02);
  box-shadow:0 56px 120px rgba(0,0,0,.34),0 18px 34px rgba(0,0,0,.12),inset 0 0 0 2px #8a8f99;
}
.kp20-phone-stage-app .kp20-phone.is-flat::before,
.kp20-phone-stage-app .kp20-phone:hover::before,
.kp20-phone-stage-app .kp20-phone:focus-within::before,
.kp20-phone-stage-go .kp20-phone.is-flat::before,
.kp20-phone-stage-go .kp20-phone:hover::before,
.kp20-phone-stage-go .kp20-phone:focus-within::before{opacity:.08}
.kp20-phone-stage-app .kp20-phone.is-flat::after,
.kp20-phone-stage-app .kp20-phone:hover::after,
.kp20-phone-stage-app .kp20-phone:focus-within::after,
.kp20-phone-stage-go .kp20-phone.is-flat::after,
.kp20-phone-stage-go .kp20-phone:hover::after,
.kp20-phone-stage-go .kp20-phone:focus-within::after{opacity:.28}
@media (max-width:899px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-18deg) rotateX(5deg) rotateZ(-2deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(16deg) rotateX(4deg) rotateZ(1.8deg)}
}
@media (prefers-reduced-motion:reduce){
  .kp20-phone-stage-app .kp20-phone,.kp20-phone-stage-go .kp20-phone{transition:none}
}


/* v1.0.36 — iPhone encore plus proche de la photo + onglet qui suit le téléphone. */
.kp20-phone-stage-app .kp20-phone,
.kp20-phone-stage-go .kp20-phone{overflow:visible;transform-style:preserve-3d}
.kp20-phone-stage-app .kp20-phone{
  transform:rotateY(-31deg) rotateX(8deg) rotateZ(-2.4deg) translateZ(0);
  box-shadow:-28px 18px 38px rgba(124,133,147,.22),0 54px 110px rgba(0,0,0,.38),0 14px 30px rgba(0,0,0,.16),inset 0 0 0 2px #8f96a0;
}
.kp20-phone-stage-go .kp20-phone{
  transform:rotateY(27deg) rotateX(7deg) rotateZ(2.1deg) translateZ(0);
}
.kp20-phone-stage-app .kp20-phone::before,
.kp20-phone-stage-go .kp20-phone::before{
  width:28px;top:24px;bottom:24px;opacity:1;
  background:
    linear-gradient(180deg,transparent 0 6%,rgba(255,255,255,.85) 6% 6.7%,transparent 6.7% 22%,rgba(40,44,52,.88) 22% 32%,transparent 32% 35%,rgba(40,44,52,.88) 35% 45%,transparent 45% 48%,rgba(40,44,52,.88) 48% 59%,transparent 59% 100%),
    linear-gradient(180deg,#d3d8e0 0%,#97a0aa 16%,#616872 52%,#a6adb7 78%,#585f69 100%);
  box-shadow:inset -3px 0 5px rgba(255,255,255,.42),inset 3px 0 8px rgba(0,0,0,.28),-2px 0 10px rgba(0,0,0,.12);
}
.kp20-phone-stage-app .kp20-phone::before{left:-22px;border-radius:22px 0 0 22px;transform:skewY(-7deg)}
.kp20-phone-stage-go .kp20-phone::before{right:-22px;border-radius:0 22px 22px 0;transform:skewY(7deg)}
.kp20-phone-stage-app .kp20-phone::after,
.kp20-phone-stage-go .kp20-phone::after{
  inset:1px;border-radius:56px;
  background:linear-gradient(112deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.10) 16%,rgba(255,255,255,0) 32%,rgba(255,255,255,0) 65%,rgba(255,255,255,.11) 85%,rgba(255,255,255,0) 100%);
  opacity:.82;
}
.kp20-phone-stage-app .kp20-phone.is-flat,
.kp20-phone-stage-app .kp20-phone:hover,
.kp20-phone-stage-app .kp20-phone:focus-within,
.kp20-phone-stage-go .kp20-phone.is-flat,
.kp20-phone-stage-go .kp20-phone:hover,
.kp20-phone-stage-go .kp20-phone:focus-within{
  transform:rotateY(0deg) rotateX(0deg) rotateZ(0deg) translateY(-2px) scale(1.02);
}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab{
  position:absolute;z-index:12;left:-56px;top:50%;width:52px;height:188px;
  padding:10px 8px;border:1px solid rgba(212,175,55,.82);border-right:1px solid rgba(212,175,55,.82);
  border-radius:24px 0 0 24px;background:#090b0a;color:#fff;cursor:pointer;
  box-shadow:-14px 20px 38px rgba(0,0,0,.20);font-family:Montserrat,Arial,sans-serif;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;
  transform:translateY(-50%);transform-origin:right center;
  transition:width .22s ease,background .22s ease,box-shadow .22s ease,left .22s ease;
}
.kp20-phone-stage-app .kp20-phone .kp26-account-icon{display:grid;place-items:center;flex:0 0 auto;width:33px;height:33px;border-radius:50%;background:var(--accent);color:#111}
.kp20-phone-stage-app .kp20-phone .kp26-account-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.kp20-phone-stage-app .kp20-phone .kp26-account-label{display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}
.kp20-phone-stage-app .kp20-phone .kp26-account-label strong{font-size:10px;line-height:1;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#fff}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab:hover{width:58px;background:#111512;box-shadow:-18px 24px 42px rgba(0,0,0,.25)}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab[hidden]{display:none!important}
@media(max-width:1180px){.kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-54px;height:178px}}
@media(max-width:900px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-24deg) rotateX(6deg) rotateZ(-2deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(21deg) rotateX(5deg) rotateZ(1.8deg)}
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-52px;height:168px}
}
@media(max-width:620px){
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-45px;width:43px;height:152px;padding:8px 6px;border-radius:19px 0 0 19px;gap:8px}
  .kp20-phone-stage-app .kp20-phone .kp26-account-icon{width:28px;height:28px}.kp20-phone-stage-app .kp20-phone .kp26-account-icon svg{width:16px;height:16px}
  .kp20-phone-stage-app .kp20-phone .kp26-account-label strong{font-size:8px}
}


/* v1.0.37 — analyse de la photo : angle plus franc, vraie perspective latérale et châssis plus visible. */
.kp20-phone-stage{perspective:2600px;perspective-origin:52% 40%}
.kp20-phone-stage-app .kp20-phone{
  transform:rotateY(-39deg) rotateX(6deg) rotateZ(-3.2deg) translateZ(0);
  box-shadow:-34px 22px 40px rgba(117,126,141,.26),0 64px 118px rgba(0,0,0,.38),0 18px 34px rgba(0,0,0,.14),inset 0 0 0 2px #98a0aa;
}
.kp20-phone-stage-go .kp20-phone{
  transform:rotateY(34deg) rotateX(6deg) rotateZ(2.8deg) translateZ(0);
  box-shadow:34px 22px 40px rgba(117,126,141,.26),0 64px 118px rgba(0,0,0,.38),0 18px 34px rgba(0,0,0,.14),inset 0 0 0 2px #98a0aa;
}
.kp20-phone-stage-app .kp20-phone::before,
.kp20-phone-stage-go .kp20-phone::before{
  width:34px;top:22px;bottom:22px;
  background:
    linear-gradient(180deg,transparent 0 7%,rgba(255,255,255,.9) 7% 7.8%,transparent 7.8% 21%,rgba(35,39,48,.95) 21% 31%,transparent 31% 34%,rgba(35,39,48,.95) 34% 45%,transparent 45% 48%,rgba(35,39,48,.95) 48% 60%,transparent 60% 100%),
    linear-gradient(90deg,rgba(255,255,255,.52) 0%,rgba(205,211,220,.95) 18%,rgba(125,133,144,.98) 38%,rgba(84,92,102,1) 62%,rgba(162,170,181,.98) 82%,rgba(244,246,248,.78) 100%);
  box-shadow:inset -3px 0 6px rgba(255,255,255,.42),inset 3px 0 8px rgba(0,0,0,.28),-1px 0 10px rgba(0,0,0,.12);
}
.kp20-phone-stage-app .kp20-phone::before{left:-28px;border-radius:24px 0 0 24px;transform:skewY(-8deg)}
.kp20-phone-stage-go .kp20-phone::before{right:-28px;border-radius:0 24px 24px 0;transform:skewY(8deg)}
.kp20-phone-stage-app .kp20-phone::after,
.kp20-phone-stage-go .kp20-phone::after{
  inset:1px;border-radius:56px;
  background:linear-gradient(114deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,.12) 15%,rgba(255,255,255,0) 31%,rgba(255,255,255,0) 63%,rgba(255,255,255,.14) 86%,rgba(255,255,255,0) 100%);
  opacity:.88;
}
.kp20-phone-stage-app .kp20-phone .phone-live-screen,
.kp20-phone-stage-go .kp20-phone .phone-live-screen{border-radius:44px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.kp20-phone-stage-app .kp20-phone.is-flat,
.kp20-phone-stage-app .kp20-phone:hover,
.kp20-phone-stage-app .kp20-phone:focus-within,
.kp20-phone-stage-go .kp20-phone.is-flat,
.kp20-phone-stage-go .kp20-phone:hover,
.kp20-phone-stage-go .kp20-phone:focus-within{
  transform:rotateY(0deg) rotateX(0deg) rotateZ(0deg) translateY(-2px) scale(1.02);
  box-shadow:0 58px 122px rgba(0,0,0,.34),0 18px 36px rgba(0,0,0,.13),inset 0 0 0 2px #98a0aa;
}
@media(max-width:900px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-30deg) rotateX(5deg) rotateZ(-2.7deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(27deg) rotateX(5deg) rotateZ(2.3deg)}
  .kp20-phone-stage-app .kp20-phone::before,.kp20-phone-stage-go .kp20-phone::before{width:28px}
  .kp20-phone-stage-app .kp20-phone::before{left:-22px}
  .kp20-phone-stage-go .kp20-phone::before{right:-22px}
}
@media(max-width:620px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-24deg) rotateX(4deg) rotateZ(-2.1deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(21deg) rotateX(4deg) rotateZ(1.9deg)}
}


/* v1.0.38 — iPhone calé sur la photo : vraie perspective + flanc métallique avec boutons visibles. */
.kp20-phone-stage{perspective:2350px;perspective-origin:53% 41%}
.kp20-phone-stage-app .kp20-phone,
.kp20-phone-stage-go .kp20-phone{
  padding:9px;border:2px solid #7a838f;border-radius:56px;
  background:linear-gradient(165deg,#232930 0%,#0a0c0e 55%,#303843 100%);
  overflow:visible;transform-style:preserve-3d;
}
.kp20-phone-stage-app .kp20-phone{
  transform:rotateY(-26deg) rotateX(4.5deg) rotateZ(-2.6deg) translateZ(0);
  box-shadow:-26px 22px 38px rgba(120,128,143,.24),0 62px 116px rgba(0,0,0,.36),0 16px 32px rgba(0,0,0,.14),inset 0 0 0 2px #959ca7;
}
.kp20-phone-stage-go .kp20-phone{
  transform:rotateY(22deg) rotateX(4.5deg) rotateZ(2.2deg) translateZ(0);
  box-shadow:26px 22px 38px rgba(120,128,143,.24),0 62px 116px rgba(0,0,0,.36),0 16px 32px rgba(0,0,0,.14),inset 0 0 0 2px #959ca7;
}
.kp20-phone-stage-app .kp20-phone::before,.kp20-phone-stage-go .kp20-phone::before{display:none!important}
.kp20-phone-stage-app .kp20-phone::after,.kp20-phone-stage-go .kp20-phone::after{
  inset:1px;border-radius:56px;opacity:.82;
  background:linear-gradient(112deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.11) 17%,rgba(255,255,255,0) 34%,rgba(255,255,255,0) 64%,rgba(255,255,255,.12) 84%,rgba(255,255,255,0) 100%);
}
.kp20-phone-stage-app .kp20-phone .kp20-phone-side,
.kp20-phone-stage-go .kp20-phone .kp20-phone-side{
  position:absolute;top:22px;bottom:22px;width:30px;border-radius:22px;pointer-events:none;z-index:0;
  background:linear-gradient(90deg,rgba(240,243,247,.78) 0%,rgba(202,209,219,.96) 16%,rgba(124,132,143,1) 39%,rgba(78,86,97,1) 64%,rgba(158,166,177,.96) 84%,rgba(245,247,250,.65) 100%);
  box-shadow:inset -3px 0 6px rgba(255,255,255,.42),inset 3px 0 7px rgba(0,0,0,.26);
}
.kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-23px;transform:skewY(-7deg)}
.kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-23px;transform:skewY(7deg)}
.kp20-phone .kp20-side-button{position:absolute;width:8px;border-radius:999px;background:linear-gradient(180deg,#69717d 0%,#1e232a 100%);box-shadow:inset 1px 0 1px rgba(255,255,255,.18),inset -1px 0 1px rgba(0,0,0,.35)}
.kp20-phone-stage-app .kp20-phone .kp20-side-button{right:5px}
.kp20-phone-stage-go .kp20-phone .kp20-side-button{left:5px}
.kp20-phone .kp20-side-btn-1{top:46px;height:34px}
.kp20-phone .kp20-side-btn-2{top:96px;height:46px}
.kp20-phone .kp20-side-btn-3{top:154px;height:46px}
.kp20-phone .kp20-side-port{position:absolute;width:4px;height:4px;border-radius:50%;background:#31363d;bottom:72px;left:50%;transform:translateX(-50%);opacity:.75}
.kp20-phone-stage-app .kp20-phone .phone-live-screen,.kp20-phone-stage-go .kp20-phone .phone-live-screen{border-radius:45px}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-54px}
.kp20-phone-stage-app .kp20-phone.is-flat,
.kp20-phone-stage-app .kp20-phone:hover,
.kp20-phone-stage-app .kp20-phone:focus-within,
.kp20-phone-stage-go .kp20-phone.is-flat,
.kp20-phone-stage-go .kp20-phone:hover,
.kp20-phone-stage-go .kp20-phone:focus-within{
  transform:rotateY(0deg) rotateX(0deg) rotateZ(0deg) translateY(-2px) scale(1.02);
  box-shadow:0 58px 120px rgba(0,0,0,.34),0 18px 36px rgba(0,0,0,.12),inset 0 0 0 2px #959ca7;
}
@media(max-width:900px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-22deg) rotateX(4deg) rotateZ(-2.3deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(19deg) rotateX(4deg) rotateZ(1.9deg)}
  .kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-20px;width:26px}
  .kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-20px;width:26px}
}
@media(max-width:620px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-18deg) rotateX(3deg) rotateZ(-1.8deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(16deg) rotateX(3deg) rotateZ(1.6deg)}
  .kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-17px;width:22px}
  .kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-17px;width:22px}
  .kp20-phone .kp20-side-btn-1{top:40px;height:28px}.kp20-phone .kp20-side-btn-2{top:82px;height:38px}.kp20-phone .kp20-side-btn-3{top:130px;height:38px}
}


/* v1.0.39 — iPhone encore plus fidèle à la photo : même silhouette, flanc fin visible et inclinaison précise. */
.kp20-phone-stage{perspective:2200px;perspective-origin:50% 38%}
.kp20-phone-stage-app .kp20-phone,
.kp20-phone-stage-go .kp20-phone{
  width:min(360px,78vw);max-width:360px;aspect-ratio:9/19.65;
  padding:8px;border:2.5px solid #8f98a3;border-radius:58px;
  background:linear-gradient(155deg,#242a31 0%,#0c0f12 52%,#313843 100%);
}
.kp20-phone-stage-app .kp20-phone{
  transform:rotateY(-20deg) rotateX(3.2deg) rotateZ(-6.2deg) translateZ(0);
  box-shadow:-24px 18px 32px rgba(126,135,149,.23),0 58px 110px rgba(0,0,0,.34),0 14px 30px rgba(0,0,0,.14),inset 0 0 0 2px #98a1ac;
}
.kp20-phone-stage-go .kp20-phone{
  transform:rotateY(17deg) rotateX(3.2deg) rotateZ(5deg) translateZ(0);
  box-shadow:24px 18px 32px rgba(126,135,149,.23),0 58px 110px rgba(0,0,0,.34),0 14px 30px rgba(0,0,0,.14),inset 0 0 0 2px #98a1ac;
}
.kp20-phone-stage-app .kp20-phone .kp20-phone-side,
.kp20-phone-stage-go .kp20-phone .kp20-phone-side{
  top:20px;bottom:20px;width:24px;border-radius:20px;
  background:linear-gradient(90deg,rgba(238,242,247,.78) 0%,rgba(198,205,214,.96) 18%,rgba(126,134,145,.98) 42%,rgba(73,81,91,1) 66%,rgba(155,164,175,.98) 86%,rgba(246,248,250,.6) 100%);
}
.kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-18px;transform:skewY(-6deg)}
.kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-18px;transform:skewY(6deg)}
.kp20-phone .kp20-side-button{width:7px;background:linear-gradient(180deg,#717a87 0%,#232932 100%)}
.kp20-phone .kp20-side-btn-1{top:48px;height:30px}.kp20-phone .kp20-side-btn-2{top:92px;height:42px}.kp20-phone .kp20-side-btn-3{top:146px;height:42px}
.kp20-phone-stage-app .kp20-phone .phone-live-screen,.kp20-phone-stage-go .kp20-phone .phone-live-screen{border-radius:46px}
.kp20-phone-stage-app .kp20-phone .phone-live-status,.kp20-phone-stage-go .kp20-phone .phone-live-status{border-top-left-radius:46px;border-top-right-radius:46px}
.kp20-phone-stage-app .kp20-phone .phone-live-home,.kp20-phone-stage-go .kp20-phone .phone-live-home{bottom:10px}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-50px}
.kp20-phone-stage-app .kp20-phone.is-flat,
.kp20-phone-stage-app .kp20-phone:hover,
.kp20-phone-stage-app .kp20-phone:focus-within,
.kp20-phone-stage-go .kp20-phone.is-flat,
.kp20-phone-stage-go .kp20-phone:hover,
.kp20-phone-stage-go .kp20-phone:focus-within{
  transform:rotateY(0deg) rotateX(0deg) rotateZ(0deg) translateY(-2px) scale(1.02);
  box-shadow:0 56px 116px rgba(0,0,0,.34),0 18px 36px rgba(0,0,0,.12),inset 0 0 0 2px #98a1ac;
}
@media(max-width:900px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-17deg) rotateX(3deg) rotateZ(-5.2deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(14deg) rotateX(3deg) rotateZ(4.2deg)}
  .kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-16px;width:21px}
  .kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-16px;width:21px}
}
@media(max-width:620px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-13deg) rotateX(2.6deg) rotateZ(-4.4deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(11deg) rotateX(2.6deg) rotateZ(3.6deg)}
  .kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-14px;width:18px}
  .kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-14px;width:18px}
  .kp20-phone .kp20-side-btn-1{top:40px;height:24px}.kp20-phone .kp20-side-btn-2{top:76px;height:35px}.kp20-phone .kp20-side-btn-3{top:121px;height:35px}
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-43px}
}


/* v1.0.40 — iPhone inspiré du modèle fourni : finition titane, côtés plats, vrai look iPhone récent. */
.kp20-phone-stage{perspective:2400px;perspective-origin:50% 40%}
.kp20-phone-stage-app .kp20-phone,
.kp20-phone-stage-go .kp20-phone{
  width:min(362px,78vw);max-width:362px;aspect-ratio:9/19.65;
  padding:8px;border:1.8px solid #9ca3ad;border-radius:57px;
  background:
    linear-gradient(135deg,#434a54 0%,#1f252d 16%,#111519 45%,#292f37 72%,#a1a8b2 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.28);
  overflow:visible;transform-style:preserve-3d;
}
.kp20-phone-stage-app .kp20-phone{
  transform:rotateY(-27deg) rotateX(3.6deg) rotateZ(-5.5deg) translateZ(0);
  box-shadow:-26px 18px 34px rgba(115,123,138,.24),0 62px 112px rgba(0,0,0,.35),0 16px 30px rgba(0,0,0,.14),inset 0 0 0 1px rgba(255,255,255,.16),inset 0 0 0 2px #99a2ad;
}
.kp20-phone-stage-go .kp20-phone{
  transform:rotateY(23deg) rotateX(3.6deg) rotateZ(4.7deg) translateZ(0);
  box-shadow:26px 18px 34px rgba(115,123,138,.24),0 62px 112px rgba(0,0,0,.35),0 16px 30px rgba(0,0,0,.14),inset 0 0 0 1px rgba(255,255,255,.16),inset 0 0 0 2px #99a2ad;
}
.kp20-phone-stage-app .kp20-phone::before,.kp20-phone-stage-go .kp20-phone::before{display:none!important}
.kp20-phone-stage-app .kp20-phone::after,.kp20-phone-stage-go .kp20-phone::after{
  content:"";position:absolute;inset:1px;border-radius:55px;pointer-events:none;z-index:8;
  background:linear-gradient(111deg,rgba(255,255,255,.26) 0%,rgba(255,255,255,.10) 14%,rgba(255,255,255,0) 31%,rgba(255,255,255,0) 67%,rgba(255,255,255,.11) 87%,rgba(255,255,255,0) 100%);
  opacity:.78;mix-blend-mode:screen;
}
.kp20-phone-stage-app .kp20-phone .kp20-phone-side,
.kp20-phone-stage-go .kp20-phone .kp20-phone-side{
  position:absolute;top:18px;bottom:18px;width:26px;border-radius:21px;pointer-events:none;z-index:0;
  background:
    linear-gradient(90deg,rgba(243,246,249,.72) 0%,rgba(205,211,220,.98) 14%,rgba(130,138,149,.98) 42%,rgba(67,74,84,.98) 64%,rgba(162,170,181,.98) 86%,rgba(243,245,247,.62) 100%);
  box-shadow:inset -2px 0 4px rgba(255,255,255,.34),inset 2px 0 5px rgba(0,0,0,.22);
}
.kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-18px;transform:skewY(-5deg)}
.kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-18px;transform:skewY(5deg)}
.kp20-phone .kp20-side-button{position:absolute;width:6px;border-radius:999px;background:linear-gradient(180deg,#777f8c 0%,#20252c 100%);box-shadow:inset 1px 0 1px rgba(255,255,255,.16),inset -1px 0 1px rgba(0,0,0,.35)}
.kp20-phone-stage-app .kp20-phone .kp20-side-button{right:5px}
.kp20-phone-stage-go .kp20-phone .kp20-side-button{left:5px}
.kp20-phone .kp20-side-btn-1{top:52px;height:28px}.kp20-phone .kp20-side-btn-2{top:94px;height:44px}.kp20-phone .kp20-side-btn-3{top:150px;height:44px}
.kp20-phone .kp20-side-port{position:absolute;width:4px;height:4px;border-radius:50%;background:#2e333a;bottom:70px;left:50%;transform:translateX(-50%);opacity:.78}
.kp20-phone-stage-app .kp20-phone .phone-live-screen,.kp20-phone-stage-go .kp20-phone .phone-live-screen{
  position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:46px;background:#000;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 1px 0 rgba(255,255,255,.04);
}
.kp20-phone-stage-app .kp20-phone .phone-live-status,.kp20-phone-stage-go .kp20-phone .phone-live-status{padding:0 17px}
.kp20-phone-stage-app .kp20-phone .phone-live-island,.kp20-phone-stage-go .kp20-phone .phone-live-island{width:116px;height:28px;top:8px}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-50px}
.kp20-phone-stage-app .kp20-phone.is-flat,
.kp20-phone-stage-app .kp20-phone:hover,
.kp20-phone-stage-app .kp20-phone:focus-within,
.kp20-phone-stage-go .kp20-phone.is-flat,
.kp20-phone-stage-go .kp20-phone:hover,
.kp20-phone-stage-go .kp20-phone:focus-within{
  transform:rotateY(0deg) rotateX(0deg) rotateZ(0deg) translateY(-2px) scale(1.02);
  box-shadow:0 58px 116px rgba(0,0,0,.34),0 18px 36px rgba(0,0,0,.12),inset 0 0 0 1px rgba(255,255,255,.16),inset 0 0 0 2px #99a2ad;
}
@media(max-width:900px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-22deg) rotateX(3deg) rotateZ(-4.8deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(18deg) rotateX(3deg) rotateZ(4deg)}
  .kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-16px;width:23px}
  .kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-16px;width:23px}
  .kp20-phone .kp20-side-btn-1{top:46px;height:24px}.kp20-phone .kp20-side-btn-2{top:84px;height:38px}.kp20-phone .kp20-side-btn-3{top:133px;height:38px}
}
@media(max-width:620px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-17deg) rotateX(2.8deg) rotateZ(-4.1deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(14deg) rotateX(2.8deg) rotateZ(3.5deg)}
  .kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-13px;width:18px}
  .kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-13px;width:18px}
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-43px}
}


/* v1.0.41 — téléphone calé sur les 3 références : état incliné fidèle + état plat type frontal. */
.kp20-phone-stage{perspective:2500px;perspective-origin:50% 38%}
.kp20-phone-stage-app .kp20-phone,
.kp20-phone-stage-go .kp20-phone{
  width:min(364px,78vw);max-width:364px;aspect-ratio:9/19.72;
  padding:8px;border:1.6px solid #9ca3ad;border-radius:58px;
  background:linear-gradient(135deg,#505761 0%,#2a3139 13%,#15191e 44%,#2c333b 70%,#a2a9b3 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.13), inset 0 -1px 0 rgba(0,0,0,.30);
  transform-style:preserve-3d;overflow:visible;
}
/* incliné comme le modèle fourni */
.kp20-phone-stage-app .kp20-phone{
  transform:rotateY(-28deg) rotateX(2.7deg) rotateZ(-6.4deg) translateZ(0);
  box-shadow:-27px 18px 34px rgba(113,121,136,.24),0 63px 113px rgba(0,0,0,.35),0 16px 29px rgba(0,0,0,.14),inset 0 0 0 1px rgba(255,255,255,.15),inset 0 0 0 2px #98a1ac;
}
.kp20-phone-stage-go .kp20-phone{
  transform:rotateY(25deg) rotateX(2.7deg) rotateZ(5.7deg) translateZ(0);
  box-shadow:27px 18px 34px rgba(113,121,136,.24),0 63px 113px rgba(0,0,0,.35),0 16px 29px rgba(0,0,0,.14),inset 0 0 0 1px rgba(255,255,255,.15),inset 0 0 0 2px #98a1ac;
}
.kp20-phone-stage-app .kp20-phone::before,.kp20-phone-stage-go .kp20-phone::before{display:none!important}
.kp20-phone-stage-app .kp20-phone::after,.kp20-phone-stage-go .kp20-phone::after{
  content:"";position:absolute;inset:1px;border-radius:56px;pointer-events:none;z-index:8;
  background:linear-gradient(112deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 13%,rgba(255,255,255,0) 31%,rgba(255,255,255,0) 69%,rgba(255,255,255,.10) 88%,rgba(255,255,255,0) 100%);
  opacity:.70;mix-blend-mode:screen;
}
.kp20-phone-stage-app .kp20-phone .kp20-phone-side,
.kp20-phone-stage-go .kp20-phone .kp20-phone-side{
  position:absolute;top:18px;bottom:18px;width:24px;border-radius:21px;pointer-events:none;z-index:0;
  background:linear-gradient(90deg,rgba(241,244,247,.74) 0%,rgba(203,209,218,.97) 16%,rgba(128,136,147,.99) 41%,rgba(67,74,84,.99) 65%,rgba(164,172,182,.98) 86%,rgba(242,244,247,.60) 100%);
  box-shadow:inset -2px 0 4px rgba(255,255,255,.34),inset 2px 0 5px rgba(0,0,0,.22);
  transition:opacity .45s ease, transform .45s ease, width .45s ease, left .45s ease, right .45s ease;
}
.kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-17px;transform:skewY(-5deg)}
.kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-17px;transform:skewY(5deg)}
.kp20-phone .kp20-side-button{position:absolute;width:6px;border-radius:999px;background:linear-gradient(180deg,#7a8390 0%,#20252c 100%);box-shadow:inset 1px 0 1px rgba(255,255,255,.16),inset -1px 0 1px rgba(0,0,0,.34)}
.kp20-phone-stage-app .kp20-phone .kp20-side-button{right:5px}
.kp20-phone-stage-go .kp20-phone .kp20-side-button{left:5px}
.kp20-phone .kp20-side-btn-1{top:52px;height:28px}.kp20-phone .kp20-side-btn-2{top:95px;height:43px}.kp20-phone .kp20-side-btn-3{top:150px;height:43px}
.kp20-phone .kp20-side-port{position:absolute;width:4px;height:4px;border-radius:50%;background:#2f343b;bottom:70px;left:50%;transform:translateX(-50%);opacity:.76}
.kp20-phone-stage-app .kp20-phone .phone-live-screen,.kp20-phone-stage-go .kp20-phone .phone-live-screen{
  position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:47px;background:#000;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 1px 0 rgba(255,255,255,.04);
}
.kp20-phone-stage-app .kp20-phone .phone-live-status,.kp20-phone-stage-go .kp20-phone .phone-live-status{padding:0 17px;height:48px}
.kp20-phone-stage-app .kp20-phone .phone-live-island,.kp20-phone-stage-go .kp20-phone .phone-live-island{width:118px;height:29px;top:8px;border-radius:999px}
.kp20-phone-stage-app .kp20-phone .phone-live-home,.kp20-phone-stage-go .kp20-phone .phone-live-home{bottom:10px;width:112px;height:5px}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-50px;transition:left .45s ease, width .22s ease, background .22s ease, box-shadow .22s ease, transform .45s ease}
/* à plat comme le modèle de face fourni */
.kp20-phone-stage-app .kp20-phone.is-flat,
.kp20-phone-stage-app .kp20-phone:hover,
.kp20-phone-stage-app .kp20-phone:focus-within,
.kp20-phone-stage-go .kp20-phone.is-flat,
.kp20-phone-stage-go .kp20-phone:hover,
.kp20-phone-stage-go .kp20-phone:focus-within{
  transform:rotateY(0deg) rotateX(0deg) rotateZ(0deg) translateY(-2px) scale(1.012);
  box-shadow:0 58px 116px rgba(0,0,0,.34),0 18px 36px rgba(0,0,0,.12),inset 0 0 0 1px rgba(255,255,255,.16),inset 0 0 0 2px #99a2ad;
}
.kp20-phone-stage-app .kp20-phone.is-flat .kp20-phone-side-left,
.kp20-phone-stage-app .kp20-phone:hover .kp20-phone-side-left,
.kp20-phone-stage-app .kp20-phone:focus-within .kp20-phone-side-left{left:-7px;width:10px;transform:none;opacity:.30}
.kp20-phone-stage-go .kp20-phone.is-flat .kp20-phone-side-right,
.kp20-phone-stage-go .kp20-phone:hover .kp20-phone-side-right,
.kp20-phone-stage-go .kp20-phone:focus-within .kp20-phone-side-right{right:-7px;width:10px;transform:none;opacity:.30}
.kp20-phone-stage-app .kp20-phone.is-flat .kp20-side-button,
.kp20-phone-stage-app .kp20-phone:hover .kp20-side-button,
.kp20-phone-stage-app .kp20-phone:focus-within .kp20-side-button,
.kp20-phone-stage-go .kp20-phone.is-flat .kp20-side-button,
.kp20-phone-stage-go .kp20-phone:hover .kp20-side-button,
.kp20-phone-stage-go .kp20-phone:focus-within .kp20-side-button{opacity:.30}
.kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{left:-42px;transform:translateY(-50%)}
@media(max-width:900px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-22deg) rotateX(2.6deg) rotateZ(-5.5deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(19deg) rotateX(2.6deg) rotateZ(4.8deg)}
  .kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-15px;width:21px}
  .kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-15px;width:21px}
  .kp20-phone .kp20-side-btn-1{top:46px;height:24px}.kp20-phone .kp20-side-btn-2{top:84px;height:38px}.kp20-phone .kp20-side-btn-3{top:132px;height:38px}
}
@media(max-width:620px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-17deg) rotateX(2.3deg) rotateZ(-4.8deg)}
  .kp20-phone-stage-go .kp20-phone{transform:rotateY(15deg) rotateX(2.3deg) rotateZ(4deg)}
  .kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-12px;width:17px}
  .kp20-phone-stage-go .kp20-phone .kp20-phone-side-right{right:-12px;width:17px}
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-42px}
}


/* v1.0.42 — correction de placement du bandeau compte. */
.kp20-phone-stage-app .kp20-phone .kp26-account-tab{
  left:-46px !important;
  top:50% !important;
  width:44px;
  height:172px;
  padding:8px 6px;
  border-radius:20px 0 0 20px;
  transform:translateY(-50%) !important;
  transform-origin:right center;
  z-index:9;
}
.kp20-phone-stage-app .kp20-phone .kp26-account-icon{width:28px;height:28px}
.kp20-phone-stage-app .kp20-phone .kp26-account-icon svg{width:16px;height:16px}
.kp20-phone-stage-app .kp20-phone .kp26-account-label strong{font-size:8px;letter-spacing:.04em}
.kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{
  left:-40px !important;
  transform:translateY(-50%) !important;
}
@media(max-width:900px){
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-42px !important;height:160px;width:40px}
  .kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{left:-36px !important}
}
@media(max-width:620px){
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-36px !important;width:34px;height:140px;padding:7px 5px;border-radius:16px 0 0 16px}
  .kp20-phone-stage-app .kp20-phone .kp26-account-icon{width:24px;height:24px}
  .kp20-phone-stage-app .kp20-phone .kp26-account-icon svg{width:14px;height:14px}
  .kp20-phone-stage-app .kp20-phone .kp26-account-label strong{font-size:7px}
  .kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{left:-31px !important}
}


/* v1.0.43 — position stable et propre du bandeau compte. */
.kp20-phone-stage-app .kp20-phone .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{
  left:-44px !important;
  top:50% !important;
  width:42px !important;
  height:162px !important;
  padding:8px 5px !important;
  border-radius:18px 0 0 18px !important;
  transform:translateY(-50%) !important;
  transform-origin:right center !important;
  z-index:11 !important;
}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab:hover{
  width:42px !important;
  left:-44px !important;
}
.kp20-phone-stage-app .kp20-phone .kp26-account-icon{width:26px !important;height:26px !important}
.kp20-phone-stage-app .kp20-phone .kp26-account-icon svg{width:15px !important;height:15px !important}
.kp20-phone-stage-app .kp20-phone .kp26-account-label strong{font-size:7.5px !important;letter-spacing:.04em !important}
@media(max-width:900px){
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{left:-39px !important;width:37px !important;height:148px !important}
}
@media(max-width:620px){
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{left:-33px !important;width:31px !important;height:128px !important;padding:7px 4px !important;border-radius:14px 0 0 14px !important}
  .kp20-phone-stage-app .kp20-phone .kp26-account-icon{width:22px !important;height:22px !important}
  .kp20-phone-stage-app .kp20-phone .kp26-account-icon svg{width:13px !important;height:13px !important}
  .kp20-phone-stage-app .kp20-phone .kp26-account-label strong{font-size:6.5px !important}
}


/* v1.0.44 — rapprochement du rendu de la photo 2 / maquette cible. */
.kp20-app-section{align-items:center;gap:46px}
.kp20-phone-stage-app{
  position:relative;min-height:880px;display:flex;align-items:center;justify-content:center;
  padding:28px 24px 28px 24px;
}
.kp20-phone-stage-app::before{
  content:"";position:absolute;inset:42px 18px 24px 18px;border-radius:0;z-index:0;
  background:linear-gradient(180deg,rgba(255,255,255,.48) 0%,rgba(255,255,255,.26) 100%);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.02);
}
.kp20-phone-stage-app .kp20-phone{
  position:relative;z-index:2;
  width:min(330px,68vw);max-width:330px;
  transform:rotateY(-23deg) rotateX(2deg) rotateZ(-2.6deg) translateY(-12px) translateZ(0);
  box-shadow:-22px 20px 30px rgba(113,121,136,.16),0 48px 92px rgba(0,0,0,.24),0 14px 24px rgba(0,0,0,.10),inset 0 0 0 1px rgba(255,255,255,.15),inset 0 0 0 2px #98a1ac;
}
.kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-16px;width:22px;transform:skewY(-4deg)}
.kp20-phone-stage-app .kp20-phone .phone-live-screen{border-radius:45px}
.kp20-phone-stage-app .kp20-phone .phone-live-status{height:46px}
.kp20-phone-stage-app .kp20-phone .phone-live-island{width:116px;height:28px;top:8px}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{
  left:-38px !important; height:154px !important; width:36px !important; border-radius:16px 0 0 16px !important;
}
.kp20-phone-stage-app .kp20-phone .kp26-account-icon{width:24px !important;height:24px !important}
.kp20-phone-stage-app .kp20-phone .kp26-account-icon svg{width:13px !important;height:13px !important}
.kp20-phone-stage-app .kp20-phone .kp26-account-label strong{font-size:6.8px !important}
.kp20-phone-stage-app .kp20-phone.is-flat,
.kp20-phone-stage-app .kp20-phone:hover,
.kp20-phone-stage-app .kp20-phone:focus-within{
  transform:rotateY(0deg) rotateX(0deg) rotateZ(0deg) translateY(-4px) scale(1.01);
  box-shadow:0 44px 90px rgba(0,0,0,.20),0 14px 28px rgba(0,0,0,.08),inset 0 0 0 1px rgba(255,255,255,.16),inset 0 0 0 2px #99a2ad;
}
.kp20-phone-stage-app .kp20-phone.is-flat .kp20-phone-side-left,
.kp20-phone-stage-app .kp20-phone:hover .kp20-phone-side-left,
.kp20-phone-stage-app .kp20-phone:focus-within .kp20-phone-side-left{left:-6px;width:9px;opacity:.28;transform:none}
@media(max-width:1200px){
  .kp20-app-section{grid-template-columns:1.02fr .98fr;gap:34px}
  .kp20-phone-stage-app{min-height:780px}
}
@media(max-width:900px){
  .kp20-app-section{grid-template-columns:1fr;gap:24px}
  .kp20-phone-stage-app{min-height:700px;padding:14px 12px 24px}
  .kp20-phone-stage-app::before{inset:20px 0 6px 0}
  .kp20-phone-stage-app .kp20-phone{width:min(300px,72vw);transform:rotateY(-18deg) rotateX(2deg) rotateZ(-2.1deg) translateY(-6px)}
  .kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-14px;width:19px}
}
@media(max-width:620px){
  .kp20-phone-stage-app{min-height:620px}
  .kp20-phone-stage-app .kp20-phone{width:min(280px,74vw);transform:rotateY(-15deg) rotateX(2deg) rotateZ(-1.8deg)}
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{left:-31px !important;width:29px !important;height:126px !important}
}


/* v1.0.45 — on retire le grand panneau clair et on remet le bandeau compte comme quand il fonctionnait. */
.kp20-app-section{align-items:center;gap:42px}
.kp20-phone-stage-app{
  position:relative;min-height:auto;display:flex;align-items:center;justify-content:center;
  padding:0;
}
.kp20-phone-stage-app::before{display:none !important;content:none !important;}
.kp20-phone-stage-app .kp20-phone{
  position:relative;z-index:2;
  width:min(364px,78vw);max-width:364px;
  transform:rotateY(-28deg) rotateX(2.7deg) rotateZ(-6.4deg) translateZ(0) !important;
  box-shadow:-27px 18px 34px rgba(113,121,136,.24),0 63px 113px rgba(0,0,0,.35),0 16px 29px rgba(0,0,0,.14),inset 0 0 0 1px rgba(255,255,255,.15),inset 0 0 0 2px #98a1ac !important;
}
.kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-17px;width:24px;transform:skewY(-5deg)}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{
  left:-44px !important;
  top:50% !important;
  width:42px !important;
  height:162px !important;
  padding:8px 5px !important;
  border-radius:18px 0 0 18px !important;
  transform:translateY(-50%) !important;
  transform-origin:right center !important;
  z-index:11 !important;
  opacity:1 !important;
  visibility:visible !important;
}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab:hover{width:42px !important;left:-44px !important;}
.kp20-phone-stage-app .kp20-phone .kp26-account-icon{width:26px !important;height:26px !important}
.kp20-phone-stage-app .kp20-phone .kp26-account-icon svg{width:15px !important;height:15px !important}
.kp20-phone-stage-app .kp20-phone .kp26-account-label strong{font-size:7.5px !important;letter-spacing:.04em !important}
.kp20-phone-stage-app .kp20-phone[aria-busy='true'] .kp26-account-tab{opacity:1 !important}
@media(max-width:1200px){.kp20-app-section{grid-template-columns:1.02fr .98fr;gap:34px}}
@media(max-width:900px){
  .kp20-app-section{grid-template-columns:1fr;gap:24px}
  .kp20-phone-stage-app{padding:0}
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-22deg) rotateX(2.6deg) rotateZ(-5.5deg) translateZ(0) !important;width:min(334px,78vw)}
  .kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-15px;width:21px}
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{left:-39px !important;width:37px !important;height:148px !important}
}
@media(max-width:620px){
  .kp20-phone-stage-app .kp20-phone{transform:rotateY(-17deg) rotateX(2.3deg) rotateZ(-4.8deg) translateZ(0) !important;width:min(292px,78vw)}
  .kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{left:-12px;width:17px}
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{left:-33px !important;width:31px !important;height:128px !important;padding:7px 4px !important;border-radius:14px 0 0 14px !important}
  .kp20-phone-stage-app .kp20-phone .kp26-account-icon{width:22px !important;height:22px !important}
  .kp20-phone-stage-app .kp20-phone .kp26-account-icon svg{width:13px !important;height:13px !important}
  .kp20-phone-stage-app .kp20-phone .kp26-account-label strong{font-size:6.5px !important}
}


/* v1.0.46 — le téléphone reste comme il est au repos, puis se remet bien droit pour naviguer. */
.kp20-phone-stage-app:hover .kp20-phone,
.kp20-phone-stage-app:focus-within .kp20-phone,
.kp20-phone-stage-app .kp20-phone.is-flat,
.kp20-phone-stage-app .kp20-phone:hover,
.kp20-phone-stage-app .kp20-phone:focus-within{
  transform:rotateY(0deg) rotateX(0deg) rotateZ(0deg) translateY(-4px) scale(1.01) !important;
  box-shadow:0 44px 90px rgba(0,0,0,.20),0 14px 28px rgba(0,0,0,.08),inset 0 0 0 1px rgba(255,255,255,.16),inset 0 0 0 2px #99a2ad !important;
}
.kp20-phone-stage-app:hover .kp20-phone .kp20-phone-side-left,
.kp20-phone-stage-app:focus-within .kp20-phone .kp20-phone-side-left,
.kp20-phone-stage-app .kp20-phone.is-flat .kp20-phone-side-left,
.kp20-phone-stage-app .kp20-phone:hover .kp20-phone-side-left,
.kp20-phone-stage-app .kp20-phone:focus-within .kp20-phone-side-left{
  left:-6px !important;width:9px !important;opacity:.28 !important;transform:none !important;
}
.kp20-phone-stage-app:hover .kp20-phone .kp26-account-tab,
.kp20-phone-stage-app:focus-within .kp20-phone .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
.kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{
  left:-40px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  opacity:1 !important;
  visibility:visible !important;
}
@media(max-width:900px){
  .kp20-phone-stage-app:hover .kp20-phone .kp26-account-tab,
  .kp20-phone-stage-app:focus-within .kp20-phone .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{left:-36px !important;}
}
@media(max-width:620px){
  .kp20-phone-stage-app:hover .kp20-phone .kp26-account-tab,
  .kp20-phone-stage-app:focus-within .kp20-phone .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone.is-flat .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:hover .kp26-account-tab,
  .kp20-phone-stage-app .kp20-phone:focus-within .kp26-account-tab{left:-31px !important;}
}


/* v1.0.48 — pourcentage visible dans la batterie. */
.phone-live-status-icons{gap:8px}
.phone-live-battery, .kp20-phone .phone-live-battery{
  width:40px !important;
  height:13px !important;
  padding:1.4px 2px !important;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
}
.phone-live-battery:after, .kp20-phone .phone-live-battery:after{
  top:3px !important;
  right:-3.4px !important;
  width:2.3px !important;
  height:5px !important;
}
.phone-live-battery-level, .kp20-phone .phone-live-battery-level{
  position:absolute;
  left:1.4px;
  top:1.4px;
  bottom:1.4px;
  width:78%;
  border-radius:1px;
  background:#fff;
  transition:width .3s ease;
}
.phone-live-battery-percent{
  position:relative;
  z-index:1;
  width:100%;
  text-align:center;
  font:800 7px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#050606;
  letter-spacing:-0.01em;
  mix-blend-mode:normal;
  pointer-events:none;
}
.kp20-phone .phone-live-battery-percent{font-size:7px}


/* v1.0.49 — batterie plus fidèle au style iPhone. */
.phone-live-status-icons, .kp20-phone .phone-live-status-icons{gap:6px !important}
.phone-live-battery, .kp20-phone .phone-live-battery{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:27px !important;
  min-width:27px !important;
  height:13px !important;
  padding:1px !important;
  border:1.55px solid rgba(255,255,255,.98) !important;
  border-radius:3.8px !important;
  background:rgba(255,255,255,.07) !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
.phone-live-battery:after, .kp20-phone .phone-live-battery:after{
  content:"";
  position:absolute;
  top:3.15px !important;
  right:-3.05px !important;
  width:1.9px !important;
  height:4.7px !important;
  border-radius:0 1.8px 1.8px 0 !important;
  background:rgba(255,255,255,.98) !important;
}
.phone-live-battery-level, .kp20-phone .phone-live-battery-level{
  position:absolute !important;
  left:1px !important;
  top:1px !important;
  bottom:1px !important;
  width:78%;
  border-radius:2.3px !important;
  background:#fff !important;
  transition:width .35s ease, background-color .2s ease !important;
  z-index:0 !important;
}
.phone-live-battery-percent, .kp20-phone .phone-live-battery-percent{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  text-align:center !important;
  font:800 6.2px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  letter-spacing:-0.02em !important;
  color:#0a0b0c !important;
  text-shadow:none !important;
  pointer-events:none !important;
  transform:translateY(0.1px) !important;
}


/* v1.0.50 — pourcentage de batterie toujours en blanc. */
.phone-live-battery-percent, .kp20-phone .phone-live-battery-percent{
  color:#ffffff !important;
  text-shadow:0 1px 1px rgba(0,0,0,.38) !important;
}


/* v1.0.52 — survol sans curseur d’aide : aucun point d’interrogation. */
.phone-live-time,.phone-live-wifi{cursor:default}


/* v1.0.53 — suppression du trait blanc en bas de l'iPhone pour ne pas masquer le texte. */
.phone-live-home, .kp20-phone .phone-live-home{display:none !important;}


/* v1.0.61 — le bandeau doit toucher le côté du téléphone, sans passer dessus ni derrière. */
.kp20-phone-stage-app .kp20-phone{overflow:visible !important;}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab{
  left:-52px !important; /* largeur 52px = le bord droit du bandeau touche exactement le téléphone */
  width:52px !important;
  z-index:20 !important;
}
.kp20-phone-stage-app .kp20-phone .kp26-account-tab:hover{
  left:-58px !important;
  width:58px !important;
}
@media(max-width:1180px){
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-52px !important;}
}
@media(max-width:900px){
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-50px !important;}
}
@media(max-width:620px){
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab{left:-43px !important;width:43px !important;}
  .kp20-phone-stage-app .kp20-phone .kp26-account-tab:hover{left:-45px !important;width:45px !important;}
}


/* v1.0.62 — suppression uniquement de la fausse tranche métallique gauche de l’iPhone Kerdudal Go. */
.kp20-phone-stage-app .kp20-phone .kp20-phone-side-left{display:none !important;}


/* v1.0.64 — accueil uniquement : vitrine plus claire + slide magasin en vrai 16/9. */
.kp20-hero{
  grid-template-columns:minmax(390px,.92fr) minmax(0,1.38fr);
  gap:clamp(34px,5vw,82px);
  min-height:660px;
}
.kp20-hero-copy h1{
  font-size:clamp(48px,5.7vw,88px);
  line-height:.92;
  letter-spacing:-.065em;
}
.kp20-hero-copy>p{max-width:650px}
.kp20-product-slider{
  width:100%;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:16/9;
  border-radius:clamp(22px,2.4vw,34px);
  background:#090b0a;
}
.kp20-product-media{
  object-fit:contain !important;
  object-position:center center;
  background:#090b0a;
}
@media(max-width:1100px){
  .kp20-hero{grid-template-columns:1fr;min-height:0}
  .kp20-hero-copy{max-width:820px}
  .kp20-product-slider{aspect-ratio:16/9;height:auto !important;max-height:none !important}
}
@media(max-width:620px){
  .kp20-hero{padding-top:34px}
  .kp20-hero-copy h1{font-size:clamp(42px,13vw,64px)}
  .kp20-product-slider{aspect-ratio:16/9;height:auto !important;max-height:none !important;border-radius:20px}
  .kp20-product-copy{left:18px;right:18px;bottom:18px}
  .kp20-product-copy h2{font-size:clamp(26px,8vw,38px)}
}


/* v1.0.65 — accueil uniquement : Épicerie / Café / Snack comme Commander / Réserver / Jouer. */
.kp20-hero-copy .kp65-home-cycle-title{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.04em;
  min-height:3.06em;
  overflow:visible;
  margin:0 0 24px;
  font:900 clamp(62px,7vw,112px)/1.02 Montserrat,Arial,sans-serif;
  letter-spacing:-.065em;
  color:#111;
}
.kp20-hero-copy .kp65-home-cycle-title .kp65-home-word{
  position:relative;
  display:block;
  min-height:1em;
  line-height:1.02;
  opacity:.16;
  transform:translateX(-8px) scale(.985);
  white-space:nowrap;
  pointer-events:none;
  will-change:opacity,transform;
  animation:kp31WordCycle 6.6s cubic-bezier(.22,.8,.24,1) infinite;
}
.kp20-hero-copy .kp65-home-word-store{color:var(--brand);animation-delay:0s}
.kp20-hero-copy .kp65-home-word-cafe{color:var(--accent);animation-delay:2.2s}
.kp20-hero-copy .kp65-home-word-snack{color:#10130f;animation-delay:4.4s}
.kp20-hero-copy>p.kp65-home-slogan{
  max-width:620px;
  margin:0;
  font-size:clamp(16px,1.45vw,21px);
  line-height:1.55;
  color:#5c665f;
}
.kp65-home-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:30px 0 0;
}
.kp65-home-action{
  min-height:108px;
  padding:18px;
  border:0;
  border-radius:22px;
  background:var(--accent);
  color:#10130f;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:0 15px 32px rgba(212,175,55,.22);
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.kp65-home-action strong{
  margin:0;
  font:900 clamp(14px,1.3vw,19px)/1.08 Montserrat,Arial,sans-serif;
  letter-spacing:-.02em;
  color:#10130f;
}
a.kp65-home-action:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 38px rgba(212,175,55,.30);
}
.kp65-home-action-empty{cursor:default}
@media(max-width:1100px){
  .kp20-hero-copy .kp65-home-cycle-title{font-size:clamp(62px,12vw,100px)}
}
@media(max-width:620px){
  .kp20-hero-copy .kp65-home-cycle-title{font-size:clamp(58px,17vw,78px)}
  .kp20-hero-copy .kp65-home-cycle-title .kp65-home-word{white-space:normal}
  .kp65-home-actions{gap:7px}
  .kp65-home-action{min-height:82px;padding:9px;border-radius:17px}
  .kp65-home-action strong{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .kp20-hero-copy .kp65-home-cycle-title .kp65-home-word{animation:none;opacity:1;transform:none}
}


/* v1.0.67 — accueil uniquement : animation lettre par lettre toujours visible. */
.kp20-hero-copy .kp65-home-cycle-title .kp65-home-word{
  animation:none !important;
  opacity:1 !important;
  transform:none !important;
  will-change:auto;
}
.kp20-hero-copy .kp65-home-cycle-title .kp66-letter{
  display:inline-block;
  transform:scale(1);
  transform-origin:50% 82%;
  transition:transform .20s cubic-bezier(.18,.9,.22,1.18);
  will-change:transform;
}
.kp20-hero-copy .kp65-home-cycle-title .kp66-letter.is-large{
  transform:scale(1.28);
}
.kp65-home-action strong{
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}



/* v1.0.68 — accueil uniquement : navigation du slide par points, sans titre, compteur, adresse ni flèches. */
.kp20-slider-controls{
  justify-content:center !important;
  gap:0 !important;
  margin-top:16px !important;
}
.kp20-slider-dots{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
}
.kp20-slider-dots button{
  width:9px !important;
  height:9px !important;
  min-width:9px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:#bdc3bf !important;
  cursor:pointer !important;
  transform:scale(1) !important;
  transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease !important;
}
.kp20-slider-dots button.active{
  width:9px !important;
  height:9px !important;
  min-width:9px !important;
  border-radius:50% !important;
  background:var(--brand) !important;
  transform:scale(1.35) !important;
  box-shadow:0 0 0 3px rgba(15,107,63,.12) !important;
}
.kp20-slider-dots button:focus-visible{
  outline:2px solid var(--brand) !important;
  outline-offset:4px !important;
}
@media(max-width:620px){
  .kp20-slider-controls{justify-content:center !important;margin-top:13px !important}
  .kp20-slider-dots{gap:8px !important}
}


/* v1.0.69 — accueil : slides média uniquement, tous strictement au même format 16/9. */
.kp20-product-slider{
  position:relative !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
  background:#090b0a !important;
}
.kp20-product-slide{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}
.kp20-product-media,.kp20-product-placeholder{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#090b0a !important;
}
.kp20-product-shade,.kp20-product-copy{display:none !important;}
.kp69-slide-link{
  position:absolute;
  z-index:5;
  inset:0;
  display:block;
  cursor:pointer;
  text-decoration:none;
}
.kp69-slide-clickable{cursor:pointer;}


/* v1.0.70 — gabarit uniforme pour les 5 pages principales du menu. */
.kp20-hero,
.kp20-hours-section,
.kp20-app-section,
.kp20-adventure-section,
.kp20-visit-section{
  box-sizing:border-box !important;
  scroll-margin-top:var(--kp34-header-height,102px);
}

/* Grand écran : les cinq pages ont exactement la même hauteur. */
@media(min-width:1101px){
  .kp20-hero,
  .kp20-hours-section,
  .kp20-app-section,
  .kp20-adventure-section,
  .kp20-visit-section{
    height:920px !important;
    min-height:920px !important;
    max-height:920px !important;
    padding-top:60px !important;
    padding-bottom:60px !important;
  }
  .kp20-visit-section{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

/* Écran intermédiaire : même hauteur pour toutes, avec davantage de place à l'accueil empilé. */
@media(min-width:901px) and (max-width:1100px){
  .kp20-hero,
  .kp20-hours-section,
  .kp20-app-section,
  .kp20-adventure-section,
  .kp20-visit-section{
    height:1160px !important;
    min-height:1160px !important;
    max-height:1160px !important;
    padding-top:70px !important;
    padding-bottom:70px !important;
  }
  .kp20-visit-section{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

/* Tablette : les mises en page s'empilent, mais gardent toujours un gabarit commun. */
@media(min-width:621px) and (max-width:900px){
  .kp20-hero,
  .kp20-hours-section,
  .kp20-app-section,
  .kp20-adventure-section,
  .kp20-visit-section{
    height:1450px !important;
    min-height:1450px !important;
    max-height:1450px !important;
  }
  .kp20-hero,
  .kp20-hours-section,
  .kp20-app-section,
  .kp20-adventure-section,
  .kp20-visit-section{
    align-content:center;
  }
  .kp20-visit-section{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

/* Téléphone : même dimension également, sans couper les contenus empilés. */
@media(max-width:620px){
  .kp20-hero,
  .kp20-hours-section,
  .kp20-app-section,
  .kp20-adventure-section,
  .kp20-visit-section{
    height:1400px !important;
    min-height:1400px !important;
    max-height:1400px !important;
  }
  .kp20-hero,
  .kp20-hours-section,
  .kp20-app-section,
  .kp20-adventure-section{
    align-content:center;
  }
  .kp20-visit-section{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}


/* v1.0.71 — page Horaires volontairement réduite à son seul titre. */
.kp20-hours-section.kp71-hours-only{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  grid-template-columns:none !important;
}
.kp71-hours-only h2{
  margin:0;
  color:#fff;
  font:900 clamp(56px,7vw,108px)/.92 Montserrat,sans-serif;
  letter-spacing:-.055em;
}


/* v1.0.72 — page Horaires : horaires fixes, prochain événement et jusqu'à 8 périodes de vacances. */
.kp20-hours-section.kp72-hours-page{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  grid-template-columns:none !important;
  background:#0f3d1a;
  color:#fff;
}
.kp72-hours-inner{width:min(1180px,100%);margin:0 auto;display:flex;flex-direction:column;gap:24px}
.kp72-hours-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.kp72-hours-head h2{margin:0;font:900 clamp(54px,6.2vw,94px)/.9 Montserrat,sans-serif;letter-spacing:-.055em;color:#fff}
.kp72-open-days{display:inline-flex;align-items:center;justify-content:center;min-width:96px;height:42px;padding:0 18px;border-radius:999px;background:var(--accent);color:#111;font:900 13px/1 Montserrat,sans-serif;letter-spacing:.06em}
.kp72-hours-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kp72-hour-card{min-height:126px;padding:24px 28px;border-radius:26px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11);display:flex;flex-direction:column;justify-content:center;gap:12px}
.kp72-hour-card span{font:900 13px/1 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.kp72-hour-card strong{font:900 clamp(25px,2.5vw,38px)/1 Montserrat,sans-serif;letter-spacing:-.035em;color:#fff;white-space:nowrap}
.kp72-hour-card strong i,.kp72-vacation-card strong i{font-style:normal;color:var(--accent)}
.kp72-event-card{min-height:112px;padding:20px 28px;border-radius:26px;background:linear-gradient(110deg,#090b0a 0%,#17120a 65%,#2b1708 100%);border:1px solid rgba(212,175,55,.38);display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 18px 45px rgba(0,0,0,.16)}
.kp72-event-card div{display:flex;flex-direction:column;gap:8px}.kp72-event-card span{font:900 10px/1 Montserrat,sans-serif;letter-spacing:.16em;color:#d4af37}.kp72-event-card strong{font:900 clamp(29px,3.2vw,48px)/1 Montserrat,sans-serif;letter-spacing:-.035em;color:#fff}.kp72-event-card b{font-size:54px;line-height:1}
.kp72-vacations{padding:20px 22px 22px;border-radius:28px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.08)}
.kp72-vacations-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.kp72-vacations-head h3{margin:0;font:900 19px/1 Montserrat,sans-serif;color:#fff}.kp72-vacations-head span{font:800 10px/1 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.kp72-vacation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.kp72-vacation-card{position:relative;min-height:78px;padding:18px 16px;border-radius:17px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;text-align:center}
.kp72-vacation-card strong{font:900 13px/1.2 Montserrat,sans-serif;color:#fff;white-space:nowrap}
.kp72-vacation-card.kp72-vac-next{padding-top:29px;background:linear-gradient(135deg,rgba(212,175,55,.24),rgba(212,175,55,.09));border-color:rgba(212,175,55,.62);box-shadow:0 10px 26px rgba(212,175,55,.08)}
.kp72-vac-badge{position:absolute;top:8px;left:50%;transform:translateX(-50%);white-space:nowrap;font:900 7px/1 Montserrat,sans-serif;letter-spacing:.09em;color:#f4d979}
.kp72-vac-empty{grid-column:1/-1;padding:18px;border-radius:17px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.56);font-size:13px;text-align:center}

@media(max-width:900px){
  .kp72-hours-inner{gap:20px}
  .kp72-hours-grid{grid-template-columns:1fr}
  .kp72-vacation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .kp20-hours-section.kp72-hours-page{padding-left:16px !important;padding-right:16px !important}
  .kp72-hours-head{align-items:center}.kp72-hours-head h2{font-size:54px}.kp72-open-days{min-width:78px;height:36px;padding:0 12px;font-size:11px}
  .kp72-hour-card{min-height:106px;padding:20px;border-radius:22px}.kp72-hour-card strong{font-size:25px}
  .kp72-event-card{min-height:96px;padding:18px 20px;border-radius:22px}.kp72-event-card strong{font-size:32px}.kp72-event-card b{font-size:44px}
  .kp72-vacations{padding:16px 14px 18px;border-radius:22px}.kp72-vacations-head span{display:none}
  .kp72-vacation-grid{grid-template-columns:1fr 1fr;gap:8px}.kp72-vacation-card{padding:16px 8px;min-height:72px}.kp72-vacation-card strong{font-size:11px}.kp72-vacation-card.kp72-vac-next{padding-top:28px}.kp72-vac-badge{font-size:6px}
}


/* v1.0.73 — page Horaires plus belle avec barres d'avancement et grand panneau événement. */
.kp73-hours-page{background:linear-gradient(180deg,#0f3d1a 0%,#133d1f 100%)}
.kp73-hours-inner{gap:22px}
.kp73-hours-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:22px;align-items:stretch}
.kp73-hours-main{display:flex;flex-direction:column;gap:18px}
.kp73-hours-head{margin-bottom:0}
.kp73-service-list{display:grid;grid-template-columns:1fr;gap:16px}
.kp73-service-card{padding:24px 26px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.11) 0%,rgba(255,255,255,.07) 100%);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 44px rgba(0,0,0,.14);display:flex;flex-direction:column;gap:14px}
.kp73-service-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kp73-service-name{font:900 14px/1 Montserrat,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.74)}
.kp73-service-state{display:inline-flex;align-items:center;justify-content:center;min-width:88px;height:34px;padding:0 14px;border-radius:999px;background:rgba(61,218,118,.18);border:1px solid rgba(61,218,118,.35);color:#8af0ad;font:900 11px/1 Montserrat,sans-serif;letter-spacing:.08em}
.kp73-service-card.is-closed .kp73-service-state{background:rgba(255,188,52,.14);border-color:rgba(255,188,52,.34);color:#ffd36a}
.kp73-service-time{display:flex;align-items:center;gap:10px;color:#fff}
.kp73-service-time strong{font:900 clamp(28px,2.85vw,42px)/1 Montserrat,sans-serif;letter-spacing:-.04em;color:#fff}
.kp73-service-time i{font-style:normal;color:var(--accent);font:900 24px/1 Montserrat,sans-serif}
.kp73-service-progress{position:relative;height:18px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.kp73-service-progress span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#4ee274 0%,#ffce46 100%);box-shadow:0 0 18px rgba(78,226,116,.28);transition:width .55s ease}
.kp73-service-card.is-closed .kp73-service-progress span{background:linear-gradient(90deg,#d6a945 0%,#8a6b21 100%);box-shadow:none}
.kp73-service-note{font:800 14px/1.35 Montserrat,sans-serif;color:rgba(255,255,255,.9)}
.kp73-event-panel{padding:24px;border-radius:30px;background:linear-gradient(145deg,#1a1408 0%,#2b1708 46%,#0e0e0d 100%);border:1px solid rgba(212,175,55,.38);box-shadow:0 24px 54px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:16px;min-height:100%}
.kp73-event-kicker{font:900 11px/1 Montserrat,sans-serif;letter-spacing:.15em;color:#f4d979}
.kp73-event-visual{flex:1 1 auto;min-height:320px;border-radius:26px;background:radial-gradient(circle at 50% 25%,rgba(250,138,42,.36),transparent 42%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18)),linear-gradient(135deg,#241509 0%,#0f0f0e 100%);border:1px solid rgba(244,217,121,.22);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.kp73-event-visual::before{content:"";position:absolute;inset:22px;border-radius:22px;border:1px dashed rgba(244,217,121,.32)}
.kp73-event-visual-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:28px}
.kp73-event-visual strong{font:900 clamp(34px,4vw,58px)/.95 Montserrat,sans-serif;letter-spacing:-.05em;color:#fff;text-shadow:0 10px 28px rgba(0,0,0,.28)}
.kp73-event-visual small{font:800 12px/1 Montserrat,sans-serif;letter-spacing:.12em;color:#f4d979;text-transform:uppercase}
.kp73-vacations{margin-top:2px}
@media(max-width:980px){
  .kp73-hours-top{grid-template-columns:1fr;gap:18px}
  .kp73-event-visual{min-height:260px}
}
@media(max-width:620px){
  .kp73-service-card{padding:20px 18px;border-radius:22px;gap:12px}
  .kp73-service-row{align-items:flex-start;flex-direction:column}
  .kp73-service-state{min-width:74px;height:30px;padding:0 12px;font-size:10px}
  .kp73-service-time{gap:8px;flex-wrap:wrap}.kp73-service-time strong{font-size:27px}.kp73-service-time i{font-size:20px}
  .kp73-service-progress{height:16px}
  .kp73-service-note{font-size:12px}
  .kp73-event-panel{padding:18px;border-radius:22px}.kp73-event-visual{min-height:210px;border-radius:20px}.kp73-event-visual::before{inset:14px;border-radius:16px}
}


/* v1.0.74 — page Horaires plus compacte, plus claire, compteur vacances, grand visuel Halloween. */
.kp74-hours-page{background:linear-gradient(180deg,#113b1d 0%,#14351e 100%)}
.kp74-hours-inner{gap:18px}
.kp74-hours-top{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:20px;align-items:stretch}
.kp74-hours-left{display:flex;flex-direction:column;gap:18px}
.kp74-hours-head{margin-bottom:0}
.kp74-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.kp74-service-card,.kp74-countdown-card{padding:18px 18px 16px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.11) 0%,rgba(255,255,255,.07) 100%);border:1px solid rgba(255,255,255,.11);box-shadow:0 14px 34px rgba(0,0,0,.12);display:flex;flex-direction:column;gap:10px;min-height:170px}
.kp74-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kp74-card-name{font:900 12px/1 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.kp74-card-state{display:inline-flex;align-items:center;justify-content:center;min-width:74px;height:30px;padding:0 10px;border-radius:999px;background:rgba(61,218,118,.18);border:1px solid rgba(61,218,118,.35);color:#8af0ad;font:900 10px/1 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.kp74-service-card.is-closed .kp74-card-state{background:rgba(255,188,52,.14);border-color:rgba(255,188,52,.34);color:#ffd36a}
.kp74-card-time{display:flex;align-items:center;gap:8px;color:#fff;flex-wrap:wrap}
.kp74-card-time strong{font:900 clamp(24px,2.2vw,34px)/1 Montserrat,sans-serif;letter-spacing:-.04em;color:#fff}
.kp74-card-time i{font-style:normal;color:var(--accent);font:900 18px/1 Montserrat,sans-serif}
.kp74-card-progress{position:relative;height:14px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.kp74-card-progress span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#4ee274 0%,#ffce46 100%);box-shadow:0 0 14px rgba(78,226,116,.28);transition:width .55s ease}
.kp74-service-card.is-closed .kp74-card-progress span{background:linear-gradient(90deg,#d6a945 0%,#8a6b21 100%);box-shadow:none}
.kp74-card-note{margin-top:auto;font:800 12px/1.35 Montserrat,sans-serif;color:rgba(255,255,255,.92)}
.kp74-countdown-card{background:linear-gradient(145deg,rgba(212,175,55,.18),rgba(255,255,255,.07));border-color:rgba(212,175,55,.34);justify-content:center;text-align:center}
.kp74-countdown-kicker{font:900 10px/1 Montserrat,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#f4d979}
.kp74-countdown-main{display:flex;align-items:flex-end;justify-content:center;gap:8px;color:#fff}
.kp74-countdown-main strong{font:900 clamp(40px,3.8vw,58px)/.9 Montserrat,sans-serif;letter-spacing:-.05em;color:#fff}
.kp74-countdown-main small{font:900 15px/1.1 Montserrat,sans-serif;color:#f4d979;text-transform:uppercase;padding-bottom:8px}
.kp74-countdown-note{font:800 12px/1.35 Montserrat,sans-serif;color:rgba(255,255,255,.92)}
.kp74-countdown-date{font:900 11px/1.1 Montserrat,sans-serif;letter-spacing:.09em;color:#f4d979}
.kp74-vacations{margin-top:0}
.kp74-event-panel{padding:22px;border-radius:30px;background:linear-gradient(145deg,#1d1007 0%,#2f1405 44%,#0d0c0c 100%);border:1px solid rgba(212,175,55,.34);box-shadow:0 22px 52px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:14px;min-height:100%}
.kp74-event-kicker{font:900 11px/1 Montserrat,sans-serif;letter-spacing:.15em;color:#f4d979}
.kp74-event-visual{position:relative;flex:1 1 auto;min-height:360px;border-radius:26px;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(255,166,46,.26),transparent 18%),linear-gradient(180deg,#2b1236 0%,#17161d 45%,#0d0d10 100%);border:1px solid rgba(244,217,121,.14)}
.kp74-event-moon{position:absolute;top:34px;right:38px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff7cf 0%,#ffe9aa 35%,#f2be46 80%,rgba(242,190,70,0) 100%);box-shadow:0 0 34px rgba(242,190,70,.38)}
.kp74-event-castle{position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg,transparent 0%,transparent 42%,#0a0a0d 42%,#0a0a0d 100%);clip-path:polygon(0 100%,0 70%,8% 70%,8% 56%,12% 56%,12% 70%,17% 70%,17% 48%,22% 48%,22% 70%,29% 70%,29% 62%,34% 62%,34% 70%,43% 70%,43% 54%,48% 54%,48% 70%,55% 70%,55% 46%,61% 46%,61% 70%,68% 70%,68% 60%,75% 60%,75% 70%,82% 70%,82% 52%,88% 52%,88% 70%,100% 70%,100% 100%)}
.kp74-event-pumpkin{position:absolute;bottom:26px;width:78px;height:62px;border-radius:48% 48% 42% 42%;background:linear-gradient(180deg,#ff9b2f 0%,#e56b14 100%);box-shadow:inset -8px 0 0 rgba(0,0,0,.14),inset 8px 0 0 rgba(255,201,110,.16),0 8px 18px rgba(0,0,0,.25)}
.kp74-event-pumpkin::before,.kp74-event-pumpkin::after{content:"";position:absolute;top:12px;width:10px;height:12px;background:#180f12;clip-path:polygon(50% 0,100% 100%,0 100%)}
.kp74-event-pumpkin::before{left:18px}.kp74-event-pumpkin::after{right:18px}
.kp74-event-pumpkin .mouth{}
.kp74-event-pumpkin::marker{content:""}
.kp74-pumpkin-1{left:34px}
.kp74-pumpkin-2{right:42px;transform:scale(1.08)}
.kp74-event-copy{position:absolute;left:28px;right:28px;top:28px;display:flex;flex-direction:column;gap:8px;z-index:2}
.kp74-event-copy strong{font:900 clamp(40px,4.3vw,60px)/.92 Montserrat,sans-serif;letter-spacing:-.05em;color:#fff;text-shadow:0 12px 30px rgba(0,0,0,.34)}
.kp74-event-copy span{display:inline-flex;align-self:flex-start;padding:8px 14px;border-radius:999px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.08);font:800 12px/1 Montserrat,sans-serif;letter-spacing:.07em;color:#fff;text-transform:uppercase}
@media(max-width:1180px){
  .kp74-service-grid{grid-template-columns:1fr 1fr}
  .kp74-countdown-card{grid-column:1/-1;min-height:146px}
}
@media(max-width:980px){
  .kp74-hours-top{grid-template-columns:1fr;gap:18px}
  .kp74-event-visual{min-height:280px}
}
@media(max-width:620px){
  .kp74-service-grid{grid-template-columns:1fr;gap:10px}
  .kp74-service-card,.kp74-countdown-card{padding:16px 14px 14px;border-radius:20px;min-height:auto}
  .kp74-card-state{min-width:68px;height:28px;font-size:9px}
  .kp74-card-time strong{font-size:24px}.kp74-card-time i{font-size:17px}
  .kp74-card-note,.kp74-countdown-note{font-size:11px}
  .kp74-countdown-main strong{font-size:42px}.kp74-countdown-main small{font-size:13px}
  .kp74-event-panel{padding:16px;border-radius:22px}.kp74-event-visual{min-height:240px;border-radius:18px}
  .kp74-event-moon{width:78px;height:78px;right:24px;top:22px}
  .kp74-event-copy{left:18px;right:18px;top:18px}
  .kp74-event-copy strong{font-size:38px}.kp74-event-copy span{font-size:10px;padding:7px 10px}
  .kp74-event-pumpkin{width:58px;height:46px;bottom:18px}
}


/* v1.0.75 — Horaires harmonisés avec Accueil et Kerdudal Go. */
.kp20-hours-section.kp74-hours-page{
  background:#0f3d1a !important;
  color:#fff;
}
.kp74-hours-inner{width:min(1240px,100%);gap:18px}
.kp74-hours-top{grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);gap:22px}
.kp74-hours-head h2{
  color:#fff;
  font:900 clamp(58px,6.8vw,104px)/.87 Montserrat,Arial,sans-serif;
  letter-spacing:-.07em;
}
.kp74-hours-head .kp72-open-days{
  background:var(--accent);color:#10130f;border:0;
  box-shadow:0 12px 28px rgba(212,175,55,.22);
}
.kp74-service-grid{gap:12px}
.kp74-service-card,.kp74-countdown-card{
  min-height:154px;
  padding:18px;
  border:0 !important;
  border-radius:22px !important;
  background:var(--accent) !important;
  color:#10130f !important;
  box-shadow:0 15px 32px rgba(0,0,0,.16) !important;
}
.kp74-card-name,.kp74-countdown-kicker{
  color:#10130f !important;
  opacity:.74;
}
.kp74-card-time strong,.kp74-card-time i,
.kp74-countdown-main strong,.kp74-countdown-main small,
.kp74-countdown-date{
  color:#10130f !important;
}
.kp74-card-state{
  background:#0f6b3f !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
}
.kp74-service-card.is-closed .kp74-card-state{
  background:#10130f !important;
  color:#fff !important;
}
.kp74-card-progress{
  height:10px;
  background:rgba(16,19,15,.16) !important;
  box-shadow:none !important;
}
.kp74-card-progress span{
  background:#0f6b3f !important;
  box-shadow:none !important;
}
.kp74-service-card.is-closed .kp74-card-progress span{background:#10130f !important}
.kp74-card-note,.kp74-countdown-note{
  color:#10130f !important;
  opacity:.8;
}
.kp74-countdown-card{
  justify-content:center;
}
.kp74-vacations{
  padding:16px 18px 18px !important;
  border:0 !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.07) !important;
}
.kp74-vacations .kp72-vacation-card{
  min-height:62px;
  background:rgba(212,175,55,.92) !important;
  border:0 !important;
  color:#10130f !important;
  box-shadow:none !important;
}
.kp74-vacations .kp72-vacation-card strong,
.kp74-vacations .kp72-vacation-card strong i{color:#10130f !important}
.kp74-vacations .kp72-vacation-card.kp72-vac-next{
  background:var(--accent) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.12) !important;
}
.kp74-vacations .kp72-vac-badge{color:#0f6b3f !important}
.kp74-event-panel{
  padding:18px !important;
  border:0 !important;
  border-radius:24px !important;
  background:var(--accent) !important;
  color:#10130f !important;
  box-shadow:0 15px 32px rgba(0,0,0,.16) !important;
}
.kp74-event-kicker{color:#10130f !important;opacity:.7}
.kp75-event-visual{
  min-height:360px !important;
  display:grid !important;
  grid-template-rows:auto 1fr;
  gap:18px;
  padding:22px !important;
  border:0 !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.18) !important;
}
.kp75-event-copy{
  position:static !important;
  display:flex !important;
  flex-direction:column;
  gap:8px;
  padding:0 !important;
}
.kp75-event-copy strong{
  color:#10130f !important;
  text-shadow:none !important;
  font-size:clamp(38px,4vw,58px) !important;
}
.kp75-event-copy span{
  align-self:flex-start;
  background:#0f6b3f !important;
  color:#fff !important;
  border:0 !important;
}
.kp75-event-image-placeholder{
  min-height:180px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#0f3d1a;
  overflow:hidden;
}
.kp75-event-image-placeholder b{font-size:82px;line-height:1;filter:drop-shadow(0 12px 20px rgba(0,0,0,.24))}
/* neutralise l'ancien décor Halloween de la v1.0.74 */
.kp74-event-moon,.kp74-event-castle,.kp74-event-pumpkin{display:none !important}
@media(max-width:1180px){
  .kp74-hours-top{grid-template-columns:1fr .72fr}
  .kp74-service-grid{grid-template-columns:1fr 1fr}
  .kp74-countdown-card{grid-column:1/-1;min-height:120px}
}
@media(max-width:980px){
  .kp74-hours-top{grid-template-columns:1fr}
  .kp75-event-visual{min-height:300px !important}
}
@media(max-width:620px){
  .kp74-hours-head h2{font-size:54px}
  .kp74-service-grid{grid-template-columns:1fr}
  .kp74-service-card,.kp74-countdown-card{min-height:120px;border-radius:17px !important;padding:15px}
  .kp74-vacations{border-radius:17px !important;padding:14px !important}
  .kp74-event-panel{border-radius:17px !important;padding:12px !important}
  .kp75-event-visual{min-height:260px !important;border-radius:14px !important;padding:16px !important}
  .kp75-event-image-placeholder{min-height:130px;border-radius:13px}.kp75-event-image-placeholder b{font-size:62px}
}


/* v1.0.76 — page Kerdudal Go Adventure retravaillée. */
.kp76-adventure-section{grid-template-columns:minmax(300px,.7fr) minmax(340px,.95fr) minmax(320px,.82fr);gap:clamp(26px,4vw,56px);align-items:center}
.kp76-adventure-phone-stage{order:1;min-height:640px}.kp76-adventure-phone-stage:before{background:radial-gradient(circle,rgba(212,175,55,.18),transparent 67%)}
.kp76-phone-go{transform:rotate(-4deg);box-shadow:0 46px 100px rgba(0,0,0,.42),inset 0 0 0 2px #777!important}
.kp76-adventure-copy{order:2;max-width:760px}.kp76-adventure-copy h2{margin:18px 0 24px;font:900 clamp(50px,5.2vw,86px)/.91 Montserrat,sans-serif;letter-spacing:-.063em;max-width:860px;white-space:nowrap}.kp76-adventure-copy p{max-width:680px;color:rgba(255,255,255,.66);font-size:17px;line-height:1.6}.kp76-adventure-copy .kp20-btn{margin-top:24px}
.kp76-adventure-art{order:3;text-align:center}.kp76-adventure-art img{display:block;width:min(100%,400px);max-height:380px;object-fit:contain;margin:auto;filter:drop-shadow(0 28px 38px rgba(0,0,0,.4))}.kp76-adventure-actions{grid-template-columns:1fr 1fr;gap:12px;margin:26px auto 0;max-width:430px}.kp76-adventure-actions>button.kp76-adventure-action{animation:none!important;min-height:108px}.kp76-adventure-actions>button.kp76-adventure-action strong{font-size:clamp(14px,1.35vw,20px)}
@media(max-width:1180px){.kp76-adventure-section{grid-template-columns:minmax(260px,.62fr) 1fr minmax(280px,.72fr);gap:22px}.kp76-adventure-copy h2{font-size:clamp(38px,4.7vw,60px);white-space:normal}.kp76-adventure-actions{max-width:360px}.kp76-adventure-actions>button.kp76-adventure-action{min-height:96px}}
@media(max-width:900px){.kp76-adventure-section{grid-template-columns:1fr 1fr;grid-template-areas:"phone copy" "art art";gap:20px}.kp76-adventure-phone-stage{grid-area:phone;min-height:610px}.kp76-adventure-copy{grid-area:copy;align-self:center}.kp76-adventure-art{grid-area:art}.kp76-adventure-actions{max-width:540px}}
@media(max-width:620px){.kp76-adventure-section{grid-template-columns:1fr;grid-template-areas:"copy" "art" "phone";gap:28px}.kp76-adventure-copy h2{font-size:clamp(40px,12vw,60px)}.kp76-adventure-copy p{font-size:14px}.kp76-adventure-actions{grid-template-columns:1fr 1fr;gap:8px;max-width:none}.kp76-adventure-actions>button.kp76-adventure-action{min-height:78px;padding:10px;border-radius:17px}.kp76-adventure-actions>button.kp76-adventure-action strong{font-size:11px}.kp76-adventure-phone-stage{min-height:560px}}


/* v1.0.77 — boutons Adventure déplacés sous le texte principal. */
.kp77-adventure-actions{margin:28px 0 0;max-width:560px;grid-template-columns:repeat(2,minmax(0,1fr))}
.kp77-adventure-actions>button.kp76-adventure-action{min-height:92px}
@media(max-width:1180px){.kp77-adventure-actions{max-width:520px}}
@media(max-width:620px){.kp77-adventure-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.kp77-adventure-actions>button.kp76-adventure-action{min-height:74px}}


/* v1.0.78 — titre Adventure plus petit et 4 boutons jaunes sur une seule ligne. */
.kp76-adventure-copy{max-width:640px !important;}
.kp76-adventure-copy h2{
  font:900 clamp(38px,3.9vw,64px)/.95 Montserrat,sans-serif !important;
  max-width:620px !important;
  white-space:normal !important;
  margin:14px 0 20px !important;
}
.kp77-adventure-actions{
  max-width:760px !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:24px !important;
}
.kp77-adventure-actions>button.kp76-adventure-action{
  min-height:74px !important;
  padding:10px 8px !important;
  border-radius:18px !important;
}
.kp77-adventure-actions>button.kp76-adventure-action strong{
  font-size:clamp(11px,1vw,15px) !important;
  line-height:1.05 !important;
}
@media(max-width:1180px){
  .kp76-adventure-copy{max-width:560px !important;}
  .kp76-adventure-copy h2{font-size:clamp(34px,3.7vw,52px) !important;max-width:540px !important;}
  .kp77-adventure-actions{max-width:680px !important;gap:8px !important;}
  .kp77-adventure-actions>button.kp76-adventure-action{min-height:68px !important;padding:9px 7px !important;}
}
@media(max-width:900px){
  .kp76-adventure-copy h2{max-width:none !important;}
  .kp77-adventure-actions{max-width:100% !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
@media(max-width:620px){
  .kp76-adventure-copy h2{font-size:clamp(34px,9vw,46px) !important;}
  .kp77-adventure-actions{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:6px !important;margin-top:18px !important;}
  .kp77-adventure-actions>button.kp76-adventure-action{min-height:62px !important;padding:8px 4px !important;border-radius:14px !important;}
  .kp77-adventure-actions>button.kp76-adventure-action strong{font-size:9px !important;letter-spacing:-.01em !important;}
}


/* v1.0.79 — rotation continue du grand logo Kerdudal Go Adventure. */
.kp76-adventure-art{perspective:1200px;}
.kp76-adventure-art>img{
  transform-style:preserve-3d;
  backface-visibility:visible;
  animation:kp79AdventureLogoSpin 8s linear infinite;
  transform-origin:50% 50%;
  will-change:transform;
}
@keyframes kp79AdventureLogoSpin{
  0%{transform:rotateY(0deg);}
  100%{transform:rotateY(360deg);}
}


/* v1.0.81 — sous-page KerduStops glissante depuis la droite. */
.kp76-adventure-section{isolation:isolate}
.kp81-kerdustops-panel{
  position:absolute;
  inset:0;
  z-index:40;
  background:#0f3d1a;
  color:#fff;
  transform:translateX(102%);
  transition:transform .62s cubic-bezier(.22,.78,.22,1);
  pointer-events:none;
  overflow:hidden;
}
.kp81-kerdustops-panel.is-open{transform:translateX(0);pointer-events:auto}
.kp81-kerdustops-shell{height:100%;max-width:1600px;margin:0 auto;padding:clamp(34px,4vw,64px);display:flex;flex-direction:column;gap:28px}
.kp81-kerdustops-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
.kp81-kerdustops-back{appearance:none;border:0;background:var(--accent);color:#111713;min-height:48px;padding:0 18px;border-radius:16px;font:900 12px/1 Montserrat,sans-serif;cursor:pointer;box-shadow:0 14px 30px rgba(212,175,55,.22)}
.kp81-kerdustops-back span{margin-left:5px}
.kp81-kerdustops-title{text-align:center;display:flex;flex-direction:column;gap:6px}
.kp81-kerdustops-title span{font:900 10px/1 Montserrat,sans-serif;letter-spacing:.18em;color:#d4af37}
.kp81-kerdustops-title strong{font:900 clamp(30px,3.2vw,50px)/1 Montserrat,sans-serif;letter-spacing:-.04em;color:#fff}
.kp81-kerdustops-count{display:grid;place-items:center;min-width:48px;height:48px;border-radius:16px;background:var(--accent);color:#111713;font:900 18px/1 Montserrat,sans-serif}
.kp81-kerdustops-body{min-height:0;flex:1;display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr);gap:clamp(26px,4vw,60px);align-items:stretch}
.kp81-kerdustops-hero{position:relative;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;border-radius:30px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);overflow:hidden}
.kp81-kerdustops-orbit{position:absolute;width:min(390px,80%);aspect-ratio:1;border-radius:50%;border:1px solid rgba(212,175,55,.20);box-shadow:0 0 0 38px rgba(212,175,55,.035),0 0 0 76px rgba(212,175,55,.018)}
.kp81-kerdustop-super{position:relative;z-index:2;width:min(290px,72%);aspect-ratio:1;object-fit:contain;transform-style:preserve-3d;backface-visibility:visible;animation:kp81KerduStopSpin 8s linear infinite;filter:drop-shadow(0 28px 34px rgba(0,0,0,.34));will-change:transform}
@keyframes kp81KerduStopSpin{0%{transform:rotateY(0deg)}100%{transform:rotateY(360deg)}}
.kp81-kerdustops-hero>strong{position:relative;z-index:2;margin-top:14px;font:900 clamp(24px,2.4vw,38px)/1 Montserrat,sans-serif;letter-spacing:-.035em}
.kp81-kerdustops-hero>span{position:relative;z-index:2;margin-top:10px;max-width:360px;color:rgba(255,255,255,.58);font-size:13px;line-height:1.45}
.kp81-kerdustops-list-wrap{min-height:0;border-radius:30px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);padding:16px;overflow:hidden}
.kp81-kerdustops-list{height:100%;overflow:auto;padding:4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.55) rgba(255,255,255,.04)}
.kp81-kerdustop-card{appearance:none;width:100%;border:0;min-height:124px;padding:12px;border-radius:20px;background:var(--accent);color:#111713;display:grid;grid-template-columns:94px minmax(0,1fr) 48px;align-items:center;gap:13px;text-align:left;cursor:pointer;box-shadow:0 12px 28px rgba(212,175,55,.15);transition:transform .2s ease,box-shadow .2s ease}
.kp81-kerdustop-card:hover,.kp81-kerdustop-card.is-selected{transform:translateY(-2px);box-shadow:0 18px 34px rgba(212,175,55,.26)}
.kp81-kerdustop-place{width:94px;height:94px;border-radius:15px;object-fit:cover;background:#0f3d1a}
.kp81-kerdustop-card-copy{min-width:0;display:flex;flex-direction:column;gap:7px}
.kp81-kerdustop-card-copy strong{font:900 15px/1.08 Montserrat,sans-serif;letter-spacing:-.025em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kp81-kerdustop-card-copy span{font:800 9px/1 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.62}
.kp81-kerdustop-badge{width:48px;height:48px;object-fit:contain;animation:kp81KerduStopSpin 8s linear infinite;transform-style:preserve-3d}
.kp81-kerdustops-loading,.kp81-kerdustops-empty{grid-column:1/-1;min-height:170px;border-radius:20px;display:grid;place-items:center;text-align:center;padding:24px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.68);font:800 14px/1.4 Montserrat,sans-serif}
@media(max-width:1000px){
  .kp81-kerdustops-shell{padding:28px 22px}.kp81-kerdustops-body{grid-template-columns:.72fr 1.28fr;gap:18px}.kp81-kerdustops-list{grid-template-columns:1fr}.kp81-kerdustop-card{min-height:112px}.kp81-kerdustops-hero{min-height:360px}
}
@media(max-width:720px){
  .kp81-kerdustops-panel{overflow:auto}.kp81-kerdustops-shell{height:auto;min-height:100%;padding:22px 14px}.kp81-kerdustops-head{grid-template-columns:auto 1fr auto;gap:10px}.kp81-kerdustops-back{min-height:42px;padding:0 12px}.kp81-kerdustops-back span{display:none}.kp81-kerdustops-title strong{font-size:26px}.kp81-kerdustops-count{min-width:42px;height:42px;border-radius:14px;font-size:15px}.kp81-kerdustops-body{grid-template-columns:1fr;gap:14px}.kp81-kerdustops-hero{min-height:320px}.kp81-kerdustop-super{width:min(230px,64%)}.kp81-kerdustops-list-wrap{overflow:visible}.kp81-kerdustops-list{height:auto;overflow:visible}.kp81-kerdustop-card{grid-template-columns:74px minmax(0,1fr) 42px;min-height:96px;border-radius:17px}.kp81-kerdustop-place{width:74px;height:74px;border-radius:12px}.kp81-kerdustop-badge{width:42px;height:42px}
}


/* v1.0.82 — ouverture KerduStops fiabilisée. */
.kp81-kerdustops-panel{
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  width:100% !important;
  height:100% !important;
  visibility:visible;
  opacity:1;
}
.kp81-kerdustops-panel[aria-hidden="true"]{visibility:visible}
.kp81-kerdustops-panel.is-open{transform:translate3d(0,0,0) !important}
body.kerdustops-panel-open{overflow:hidden}


/* v1.0.83 — KerduStops est un vrai lien HTML + ouverture CSS sans dépendre de JS. */
.kp77-adventure-actions{position:relative;z-index:12}
.kp20-app-features.kp21-go-actions>a.kp83-kerdustops-link{
  appearance:none;-webkit-appearance:none;width:100%;min-height:74px;padding:10px 8px;border:0;border-radius:18px;
  background:var(--accent);color:#10130f;display:flex;align-items:center;justify-content:center;text-align:center;
  box-shadow:0 15px 32px rgba(212,175,55,.22);transition:transform .2s ease,box-shadow .2s ease,outline-color .2s ease;
  cursor:pointer;font:inherit;outline:3px solid transparent;outline-offset:3px;text-decoration:none;pointer-events:auto;touch-action:manipulation
}
.kp20-app-features.kp21-go-actions>a.kp83-kerdustops-link:hover{transform:translateY(-3px);box-shadow:0 20px 38px rgba(212,175,55,.30)}
.kp20-app-features.kp21-go-actions>a.kp83-kerdustops-link:focus-visible{outline-color:#10130f}
.kp20-app-features.kp21-go-actions>a.kp83-kerdustops-link strong{margin:0;font:900 clamp(11px,1vw,15px)/1.05 Montserrat,Arial,sans-serif;letter-spacing:-.02em;color:#10130f}
.kp81-kerdustops-panel:target{transform:translate3d(0,0,0) !important;pointer-events:auto !important}
.kp81-kerdustops-back{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:1180px){.kp20-app-features.kp21-go-actions>a.kp83-kerdustops-link{min-height:68px;padding:9px 7px}}
@media(max-width:620px){.kp20-app-features.kp21-go-actions>a.kp83-kerdustops-link{min-height:62px;padding:8px 4px;border-radius:14px}.kp20-app-features.kp21-go-actions>a.kp83-kerdustops-link strong{font-size:9px;letter-spacing:-.01em}}


/* v1.0.84 — KerduStops : grand popup limité à la zone de contenu, liste compacte 60/page. */
.kp84-kerdustops-panel{
  position:fixed;
  z-index:480;
  top:var(--kp34-header-height,102px);
  right:0;
  bottom:0;
  left:0;
  background:#0f3d1a;
  color:#fff;
  transform:translate3d(102%,0,0);
  transition:transform .46s cubic-bezier(.22,.78,.2,1);
  pointer-events:none;
  overflow:hidden;
}
.kp84-kerdustops-panel.is-open,
.kp84-kerdustops-panel:target{transform:translate3d(0,0,0);pointer-events:auto}
body.kerdustops-panel-open{overflow:hidden}
.kp84-kerdustops-shell{height:100%;max-width:1680px;margin:0 auto;padding:18px clamp(18px,3vw,46px) 16px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
.kp84-kerdustops-head{min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;border-bottom:1px solid rgba(255,255,255,.11);padding-bottom:12px}
.kp84-kerdustops-title{display:flex;align-items:baseline;gap:14px;min-width:0}
.kp84-kerdustops-title strong{font:900 clamp(28px,3vw,46px)/1 Montserrat,sans-serif;letter-spacing:-.05em;color:#fff}
.kp84-kerdustops-title span{font:800 11px/1 Montserrat,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.kp84-kerdustops-meta{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.58);font:800 10px/1 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.kp84-kerdustops-count{display:grid;place-items:center;min-width:42px;height:38px;padding:0 10px;border-radius:12px;background:var(--accent);color:#101713;font:900 15px/1 Montserrat,sans-serif}
.kp84-kerdustops-close{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--accent);color:#101713;text-decoration:none;font:900 25px/1 Montserrat,sans-serif;box-shadow:0 10px 24px rgba(212,175,55,.17)}
.kp84-kerdustops-list{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;gap:7px;padding:2px 2px 6px;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.6) rgba(255,255,255,.04)}
.kp84-stop-card{min-width:0;min-height:56px;padding:7px 8px;border-radius:14px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;gap:8px;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.kp84-stop-card:hover{background:rgba(255,255,255,.11);border-color:rgba(212,175,55,.30);transform:translateY(-1px)}
.kp84-stop-place{width:42px;height:42px;border-radius:10px;object-fit:cover;background:#163f25;display:block}
.kp84-stop-place-empty{background:linear-gradient(135deg,#1a4b2b,#0b2716)}
.kp84-stop-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.kp84-stop-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:900 11px/1.08 Montserrat,sans-serif;letter-spacing:-.015em;color:#fff}
.kp84-stop-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 7px/1 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.43)}
.kp84-stop-badge{width:30px;height:30px;object-fit:contain;animation:kp81KerduStopSpin 8s linear infinite;transform-style:preserve-3d;filter:drop-shadow(0 6px 8px rgba(0,0,0,.18))}
.kp84-kerdustops-loading,.kp84-kerdustops-empty{grid-column:1/-1;min-height:160px;border-radius:18px;display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.05);color:rgba(255,255,255,.62);font:800 13px/1.4 Montserrat,sans-serif}
.kp84-kerdustops-footer{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid rgba(255,255,255,.11);padding-top:11px}
.kp84-kerdustops-page-info{font:800 10px/1 Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.kp84-kerdustops-pagination{display:flex;align-items:center;gap:6px}
.kp84-page-btn{appearance:none;border:0;min-width:34px;height:34px;padding:0 9px;border-radius:10px;background:rgba(255,255,255,.10);color:#fff;font:900 11px/1 Montserrat,sans-serif;cursor:pointer}
.kp84-page-btn:hover:not(:disabled),.kp84-page-btn.is-active{background:var(--accent);color:#101713}
.kp84-page-btn:disabled{opacity:.28;cursor:default}
@media(max-width:1300px){.kp84-kerdustops-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){.kp84-kerdustops-list{grid-template-columns:repeat(3,minmax(0,1fr))}.kp84-kerdustops-title span{display:none}}
@media(max-width:720px){
  .kp84-kerdustops-panel{top:var(--kp34-header-height,108px)}
  .kp84-kerdustops-shell{padding:12px 12px 10px;gap:9px}
  .kp84-kerdustops-head{min-height:50px;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;padding-bottom:8px}
  .kp84-kerdustops-title strong{font-size:28px}
  .kp84-kerdustops-meta>span:last-child{display:none}
  .kp84-kerdustops-count{min-width:36px;height:34px;border-radius:10px;font-size:13px}
  .kp84-kerdustops-close{width:36px;height:36px;border-radius:10px;font-size:22px}
  .kp84-kerdustops-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .kp84-stop-card{grid-template-columns:36px minmax(0,1fr) 26px;min-height:50px;padding:6px;border-radius:12px;gap:6px}
  .kp84-stop-place{width:36px;height:36px;border-radius:8px}.kp84-stop-badge{width:26px;height:26px}
  .kp84-stop-copy strong{font-size:10px}.kp84-stop-copy small{font-size:6px}
  .kp84-kerdustops-footer{min-height:44px;gap:8px}.kp84-kerdustops-page-info{font-size:8px}.kp84-page-btn{min-width:30px;height:30px;padding:0 7px}
}
@media(max-width:430px){.kp84-kerdustops-list{grid-template-columns:1fr}.kp84-kerdustops-page-info{display:none}}


/* v1.0.85 — popup KerduStops : même univers visuel que Kerdudal Go Adventure + 4 boutons jaunes. */
.kp84-kerdustops-panel{
  background:linear-gradient(135deg,#07120d 0%,#102e22 48%,#07120d 100%) !important;
  isolation:isolate;
}
.kp84-kerdustops-panel::before{
  content:"";
  position:absolute;
  z-index:0;
  width:800px;
  height:800px;
  border-radius:50%;
  left:-350px;
  bottom:-500px;
  border:1px solid rgba(212,175,55,.13);
  box-shadow:0 0 0 90px rgba(212,175,55,.025),0 0 0 180px rgba(212,175,55,.014);
  pointer-events:none;
}
.kp84-kerdustops-panel::after{
  content:"";
  position:absolute;
  z-index:0;
  width:560px;
  height:560px;
  border-radius:50%;
  right:-220px;
  top:-250px;
  background:radial-gradient(circle,rgba(212,175,55,.12),rgba(15,107,63,.06) 48%,transparent 70%);
  pointer-events:none;
}
.kp84-kerdustops-shell{
  position:relative;
  z-index:1;
  grid-template-rows:auto auto minmax(0,1fr) auto !important;
}
.kp85-adventure-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  max-width:820px;
  width:100%;
}
.kp85-adventure-tab{
  appearance:none;
  border:0;
  min-width:0;
  min-height:58px;
  padding:10px 14px;
  border-radius:18px;
  background:var(--accent);
  color:#10130f;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  box-shadow:0 15px 32px rgba(212,175,55,.20);
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.kp85-adventure-tab strong{
  font:900 clamp(11px,1vw,15px)/1 Montserrat,Arial,sans-serif;
  letter-spacing:-.02em;
  color:#10130f;
  white-space:nowrap;
}
.kp85-adventure-tab:hover{transform:translateY(-2px);box-shadow:0 19px 36px rgba(212,175,55,.28)}
.kp85-adventure-tab.is-active{
  box-shadow:0 0 0 3px rgba(255,255,255,.88),0 18px 38px rgba(212,175,55,.28);
  filter:saturate(1.06) brightness(1.03);
}
.kp84-stop-card{background:rgba(255,255,255,.07)}
.kp84-stop-card:hover{background:rgba(255,255,255,.115)}
@media(max-width:720px){
  .kp85-adventure-tabs{gap:6px}
  .kp85-adventure-tab{min-height:46px;padding:8px 5px;border-radius:13px}
  .kp85-adventure-tab strong{font-size:9px}
}
@media(max-width:430px){
  .kp85-adventure-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .kp85-adventure-tab{min-height:42px;padding:6px 2px;border-radius:11px}
  .kp85-adventure-tab strong{font-size:8px}
}


/* v1.0.86 — popup KerduStops : en-tête simplifié et fermeture style GO Adventure. */
.kp84-kerdustops-head.kp86-kerdustops-head{
  grid-template-columns:minmax(0,1fr) auto !important;
}
.kp86-kerdustops-close{
  width:44px !important;
  height:44px !important;
  border-radius:50% !important;
  background:var(--accent) !important;
  color:#fff !important;
  font:900 28px/1 Montserrat,sans-serif !important;
  box-shadow:0 10px 24px rgba(212,175,55,.22) !important;
}
.kp86-kerdustops-close:hover{
  transform:scale(1.06);
}
@media(max-width:720px){
  .kp84-kerdustops-head.kp86-kerdustops-head{grid-template-columns:minmax(0,1fr) auto !important;}
  .kp86-kerdustops-close{width:38px !important;height:38px !important;font-size:24px !important;}
}


/* v1.0.87 — KerduStops façon collection/crate : 1 grand sélectionné + les autres compacts. */
.kp84-kerdustops-list{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  grid-auto-flow:row dense;
  gap:8px !important;
}
.kp87-stop-card{
  appearance:none;
  width:100%;
  cursor:pointer;
  color:#fff;
  font:inherit;
  text-align:left;
}
.kp84-stop-card.kp87-stop-card:not(.is-selected){
  min-height:74px;
  padding:8px;
  grid-template-columns:48px minmax(0,1fr) 38px;
  gap:9px;
  border-radius:16px;
}
.kp87-stop-card:not(.is-selected) .kp84-stop-place{
  width:48px;
  height:48px;
  border-radius:11px;
}
.kp87-stop-card:not(.is-selected) .kp84-stop-copy{
  gap:0;
}
.kp87-stop-card:not(.is-selected) .kp84-stop-copy strong{
  font:900 12px/1.12 Montserrat,sans-serif;
  white-space:normal;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.kp87-stop-card:not(.is-selected) .kp84-stop-badge{
  width:38px;
  height:38px;
}
.kp84-stop-card.kp87-stop-card.is-selected{
  grid-column:span 2;
  grid-row:span 3;
  min-height:238px;
  padding:14px;
  display:grid;
  grid-template-columns:minmax(120px,.95fr) minmax(120px,1.05fr);
  gap:16px;
  align-items:stretch;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(212,175,55,.55);
  background:linear-gradient(145deg,rgba(212,175,55,.18),rgba(255,255,255,.08));
  box-shadow:0 20px 46px rgba(0,0,0,.20),0 0 0 1px rgba(255,255,255,.04) inset;
  animation:kp87CrateReveal .42s cubic-bezier(.18,.86,.25,1);
}
@keyframes kp87CrateReveal{
  0%{opacity:.72;transform:scale(.93) rotateX(7deg)}
  70%{opacity:1;transform:scale(1.018) rotateX(0)}
  100%{opacity:1;transform:scale(1)}
}
.kp87-selected-photo{
  min-width:0;
  min-height:0;
  overflow:hidden;
  border-radius:18px;
  background:#0c2c17;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
}
.kp87-selected-photo .kp84-stop-place{
  width:100% !important;
  height:100% !important;
  min-height:206px;
  border-radius:0 !important;
  object-fit:cover;
}
.kp87-selected-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  position:relative;
}
.kp87-selected-main::before{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  border-radius:50%;
  border:1px solid rgba(212,175,55,.17);
  box-shadow:0 0 0 22px rgba(212,175,55,.025),0 0 0 44px rgba(212,175,55,.012);
  pointer-events:none;
}
.kp87-selected-main strong{
  position:relative;
  z-index:2;
  font:900 clamp(18px,1.7vw,28px)/1.02 Montserrat,sans-serif;
  letter-spacing:-.035em;
  color:#fff;
  overflow-wrap:anywhere;
}
.kp87-selected-badge{
  position:relative;
  z-index:2;
  width:min(132px,70%) !important;
  height:auto !important;
  aspect-ratio:1;
  object-fit:contain;
  animation:kp81KerduStopSpin 6.5s linear infinite !important;
  filter:drop-shadow(0 18px 20px rgba(0,0,0,.28)) !important;
}
.kp87-stop-card:focus-visible{
  outline:3px solid #fff;
  outline-offset:2px;
}
@media(max-width:1450px){
  .kp84-kerdustops-list{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
}
@media(max-width:1180px){
  .kp84-kerdustops-list{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .kp84-stop-card.kp87-stop-card.is-selected{grid-column:span 2;min-height:224px;}
}
@media(max-width:820px){
  .kp84-kerdustops-list{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .kp84-stop-card.kp87-stop-card.is-selected{grid-column:1/-1;grid-row:auto;min-height:210px;}
  .kp87-selected-photo .kp84-stop-place{min-height:180px;}
}
@media(max-width:620px){
  .kp84-kerdustops-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .kp84-stop-card.kp87-stop-card:not(.is-selected){grid-template-columns:42px minmax(0,1fr) 30px;min-height:66px;padding:7px;gap:7px;}
  .kp87-stop-card:not(.is-selected) .kp84-stop-place{width:42px;height:42px;}
  .kp87-stop-card:not(.is-selected) .kp84-stop-badge{width:30px;height:30px;}
  .kp87-stop-card:not(.is-selected) .kp84-stop-copy strong{font-size:10px;}
  .kp84-stop-card.kp87-stop-card.is-selected{grid-template-columns:1fr 1fr;min-height:190px;padding:10px;gap:10px;border-radius:19px;}
  .kp87-selected-photo{border-radius:14px;}
  .kp87-selected-photo .kp84-stop-place{min-height:168px;}
  .kp87-selected-main strong{font-size:18px;}
  .kp87-selected-badge{width:min(105px,76%) !important;}
  .kp87-selected-main::before{width:112px;height:112px;box-shadow:0 0 0 16px rgba(212,175,55,.025),0 0 0 32px rgba(212,175,55,.012);}
}
@media(max-width:430px){
  .kp84-kerdustops-list{grid-template-columns:1fr !important;}
  .kp84-stop-card.kp87-stop-card.is-selected{grid-template-columns:1fr 1fr;}
}


/* v1.0.88 — KerduStops : photo fixe, nom sous photo, badge tournant sur le reste de l'espace. */
.kp84-stop-card.kp87-stop-card.is-selected{
  grid-template-columns:minmax(150px,.92fr) minmax(150px,1.08fr) !important;
  min-height:254px !important;
  align-items:stretch !important;
}
.kp88-selected-left{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:10px;
}
.kp87-selected-photo{
  width:100%;
  height:178px !important;
  min-height:178px !important;
  border-radius:18px;
  overflow:hidden;
  background:#0c2c17;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
}
.kp87-selected-photo .kp84-stop-place{
  width:100% !important;
  height:100% !important;
  min-height:178px !important;
  border-radius:0 !important;
  object-fit:cover !important;
}
.kp88-selected-name{
  display:block;
  width:100%;
  max-width:100%;
  text-align:center;
  font:900 clamp(17px,1.4vw,24px)/1.08 Montserrat,sans-serif;
  letter-spacing:-.03em;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  overflow-wrap:normal;
  word-break:normal;
  min-height:1.08em;
}
.kp87-selected-main{
  min-width:0;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  text-align:center;
  position:relative;
  padding:12px;
}
.kp87-selected-main::before{
  width:176px !important;
  height:176px !important;
  box-shadow:0 0 0 24px rgba(212,175,55,.025),0 0 0 48px rgba(212,175,55,.012) !important;
}
.kp87-selected-main strong{display:none !important;}
.kp87-selected-badge{
  width:min(154px,82%) !important;
  max-width:154px !important;
  height:auto !important;
}
@media(max-width:1180px){
  .kp84-stop-card.kp87-stop-card.is-selected{min-height:242px !important;}
  .kp87-selected-photo,.kp87-selected-photo .kp84-stop-place{height:170px !important;min-height:170px !important;}
  .kp87-selected-main::before{width:156px !important;height:156px !important;}
  .kp87-selected-badge{width:min(140px,82%) !important;max-width:140px !important;}
}
@media(max-width:820px){
  .kp84-stop-card.kp87-stop-card.is-selected{grid-template-columns:1fr 1fr !important;min-height:228px !important;}
  .kp87-selected-photo,.kp87-selected-photo .kp84-stop-place{height:164px !important;min-height:164px !important;}
}
@media(max-width:620px){
  .kp84-stop-card.kp87-stop-card.is-selected{grid-template-columns:1fr 1fr !important;min-height:206px !important;padding:10px !important;gap:10px !important;}
  .kp87-selected-photo,.kp87-selected-photo .kp84-stop-place{height:144px !important;min-height:144px !important;}
  .kp88-selected-name{font-size:14px;min-height:1.08em;}
  .kp87-selected-main{padding:6px;}
  .kp87-selected-main::before{width:124px !important;height:124px !important;box-shadow:0 0 0 18px rgba(212,175,55,.025),0 0 0 36px rgba(212,175,55,.012) !important;}
  .kp87-selected-badge{width:min(108px,84%) !important;max-width:108px !important;}
}


/* v1.0.89 — 5 popups GO Adventure + navigation identique partout. */
body.adventure-panel-open{overflow:hidden}
.kp89-adventure-panel{background:linear-gradient(135deg,#07120d 0%,#102e22 48%,#07120d 100%) !important;isolation:isolate}
.kp89-adventure-panel::before{content:"";position:absolute;z-index:0;width:800px;height:800px;border-radius:50%;left:-350px;bottom:-500px;border:1px solid rgba(212,175,55,.13);box-shadow:0 0 0 90px rgba(212,175,55,.025),0 0 0 180px rgba(212,175,55,.014);pointer-events:none}
.kp89-adventure-panel::after{content:"";position:absolute;z-index:0;width:560px;height:560px;border-radius:50%;right:-220px;top:-250px;background:radial-gradient(circle,rgba(212,175,55,.12),rgba(15,107,63,.06) 48%,transparent 70%);pointer-events:none}
.kp89-panel-shell{position:relative;z-index:1;grid-template-rows:auto auto minmax(0,1fr) auto !important}
.kp89-adventure-tabs{grid-template-columns:repeat(5,minmax(0,1fr)) !important;max-width:1020px !important}
.kp89-adventure-actions{grid-template-columns:repeat(5,minmax(0,1fr)) !important;max-width:760px !important;gap:8px !important}
.kp89-adventure-actions>a.kp21-go-action{min-height:70px !important;padding:9px 7px !important;border-radius:17px !important}
.kp89-adventure-actions>a.kp21-go-action strong{font-size:clamp(10px,.9vw,14px) !important;line-height:1.05 !important;white-space:normal !important}
.kp89-panel-content{min-height:0;overflow:auto;padding:4px 2px 8px;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.58) rgba(255,255,255,.04)}
.kp89-quiz-content{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:10px}
.kp89-quiz-card{min-height:110px;padding:16px;border-radius:19px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center}
.kp89-quiz-card.is-featured{grid-column:span 2;min-height:148px;background:linear-gradient(145deg,rgba(212,175,55,.17),rgba(255,255,255,.07));border-color:rgba(212,175,55,.43)}
.kp89-quiz-card>b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--accent);color:#111713;font:900 12px/1 Montserrat,sans-serif}
.kp89-quiz-card div{min-width:0;display:flex;flex-direction:column;gap:10px}.kp89-quiz-card strong{font:900 13px/1.25 Montserrat,sans-serif;color:#fff}.kp89-quiz-card span{font:900 10px/1 Montserrat,sans-serif;letter-spacing:.08em;color:#f3d36b}
.kp89-simple-content{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:18px;align-items:stretch}
.kp89-feature-hero{min-height:330px;padding:32px;border-radius:28px;background:linear-gradient(145deg,rgba(212,175,55,.16),rgba(255,255,255,.06));border:1px solid rgba(212,175,55,.30);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:15px}
.kp89-feature-icon{display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:var(--accent);color:#111713;font:900 38px/1 Montserrat,sans-serif;box-shadow:0 18px 38px rgba(212,175,55,.20)}
.kp89-feature-hero strong{font:900 clamp(28px,3vw,48px)/.96 Montserrat,sans-serif;letter-spacing:-.045em;color:#fff}.kp89-feature-hero p{max-width:440px;margin:0;color:rgba(255,255,255,.65);font-size:14px;line-height:1.55}
.kp89-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:center}.kp89-feature-grid>div{min-height:170px;padding:22px;border-radius:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;justify-content:center;gap:12px}.kp89-feature-grid strong{font:900 18px/1.05 Montserrat,sans-serif;color:#fff}.kp89-feature-grid span{color:rgba(255,255,255,.58);font-size:12px;line-height:1.5}
.kp89-rules-content{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-content:center}.kp89-rules-content article{min-height:300px;padding:22px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:22px}.kp89-rules-content article>b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#101713;font:900 12px/1 Montserrat,sans-serif}.kp89-rules-content article div{display:flex;flex-direction:column;gap:12px}.kp89-rules-content strong{font:900 19px/1.05 Montserrat,sans-serif;color:#fff}.kp89-rules-content p{margin:0;color:rgba(255,255,255,.61);font-size:12px;line-height:1.55}
@media(max-width:1180px){.kp89-quiz-content{grid-template-columns:repeat(3,minmax(0,1fr))}.kp89-feature-grid{grid-template-columns:1fr}.kp89-rules-content{grid-template-columns:repeat(3,minmax(0,1fr))}.kp89-rules-content article{min-height:220px}}
@media(max-width:900px){.kp89-simple-content{grid-template-columns:1fr}.kp89-feature-hero{min-height:230px}.kp89-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kp89-rules-content{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.kp89-adventure-tabs{gap:4px !important}.kp89-adventure-tabs .kp85-adventure-tab{min-height:42px;padding:6px 3px;border-radius:11px}.kp89-adventure-tabs .kp85-adventure-tab strong{font-size:7.5px;white-space:normal}.kp89-quiz-content{grid-template-columns:repeat(2,minmax(0,1fr))}.kp89-quiz-card.is-featured{grid-column:1/-1}.kp89-feature-grid{grid-template-columns:1fr}.kp89-rules-content{grid-template-columns:1fr 1fr}.kp89-rules-content article{min-height:190px;padding:16px}.kp89-adventure-actions{grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:5px !important}.kp89-adventure-actions>a.kp21-go-action{min-height:58px !important;padding:7px 3px !important;border-radius:13px !important}.kp89-adventure-actions>a.kp21-go-action strong{font-size:8px !important}}
@media(max-width:430px){.kp89-quiz-content{grid-template-columns:1fr}.kp89-rules-content{grid-template-columns:1fr}.kp89-feature-hero{padding:22px}.kp89-feature-icon{width:72px;height:72px;font-size:30px}.kp89-feature-hero strong{font-size:30px}}

/* v1.0.90 — un seul popup GO Adventure persistant + aventure du joueur connecté. */
.kp90-adventure-hub{transition:transform .42s cubic-bezier(.18,.86,.25,1) !important}
.kp90-hub-shell{grid-template-rows:auto auto minmax(0,1fr) !important;position:relative;z-index:1}
.kp90-hub-head{grid-template-columns:minmax(180px,.65fr) minmax(360px,1.35fr) auto !important}
.kp90-player-summary{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;color:#fff}
.kp90-player-loading,.kp90-player-off{font:800 10px/1.2 Montserrat,sans-serif;color:rgba(255,255,255,.55)}
.kp90-player-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--accent);border:2px solid rgba(255,255,255,.16);flex:0 0 auto}
.kp90-player-avatar img{width:100%;height:100%;object-fit:cover}.kp90-avatar-fallback{font:900 10px/1 Montserrat,sans-serif;color:#111713}
.kp90-player-name{min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left}.kp90-player-name strong{font:900 13px/1 Montserrat,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kp90-player-name small,.kp90-player-steps small{font:800 8px/1 Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.kp90-player-steps{min-width:84px;padding-left:10px;border-left:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column;gap:3px}.kp90-player-steps b{font:900 15px/1 Montserrat,sans-serif;color:#f3d36b}
.kp90-adventure-tabs{max-width:none !important;width:100%}
.kp90-hub-views{min-height:0;position:relative;overflow:hidden}
.kp90-adventure-view{height:100%;min-height:0;overflow:hidden;animation:kp90ViewFade .13s ease}
.kp90-adventure-view[hidden]{display:none !important}
@keyframes kp90ViewFade{from{opacity:.68}to{opacity:1}}
.kp90-gated-wrap{height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;position:relative}
.kp90-gated-wrap.is-locked>*:not(.kp90-gate-message){visibility:hidden}
.kp90-gate-message{position:absolute;inset:0;z-index:5;display:grid;place-items:center}
.kp90-connection-required{max-width:520px;margin:auto;padding:34px;border-radius:28px;background:linear-gradient(145deg,rgba(212,175,55,.16),rgba(255,255,255,.07));border:1px solid rgba(212,175,55,.35);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;color:#fff;box-shadow:0 24px 60px rgba(0,0,0,.22)}
.kp90-lock{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:18px}.kp90-connection-required strong{font:900 24px/1 Montserrat,sans-serif}.kp90-connection-required p{margin:0;max-width:390px;color:rgba(255,255,255,.62);font-size:12px;line-height:1.5}.kp90-connection-required a{margin-top:4px;padding:12px 18px;border-radius:14px;background:var(--accent);color:#111713;text-decoration:none;font:900 11px/1 Montserrat,sans-serif}
.kp90-personal-content{height:100%;min-height:0;overflow:auto;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:2px;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.58) rgba(255,255,255,.04)}
.kp90-personal-hero{padding:20px 24px;border-radius:22px;background:linear-gradient(145deg,rgba(212,175,55,.17),rgba(255,255,255,.065));border:1px solid rgba(212,175,55,.32);display:flex;flex-direction:column;gap:8px;color:#fff}.kp90-personal-hero strong{font:900 clamp(24px,2.5vw,38px)/1 Montserrat,sans-serif;letter-spacing:-.04em}.kp90-personal-hero span,.kp90-personal-hero small{color:rgba(255,255,255,.62);font:800 10px/1.4 Montserrat,sans-serif}
.kp90-inventory-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;align-content:start}.kp90-inventory-grid article{min-height:104px;padding:12px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.kp90-inventory-grid article>img,.kp90-inventory-grid article>span{width:48px;height:48px;border-radius:13px;object-fit:contain;background:rgba(212,175,55,.16);display:grid;place-items:center;flex:0 0 auto;color:#f3d36b}.kp90-inventory-grid article div{min-width:0;display:flex;flex-direction:column;gap:6px}.kp90-inventory-grid strong{font:900 11px/1.15 Montserrat,sans-serif;color:#fff;overflow-wrap:anywhere}.kp90-inventory-grid small{font:900 10px/1 Montserrat,sans-serif;color:#f3d36b}
.kp90-personal-empty{min-height:260px;border-radius:24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:30px}.kp90-personal-empty strong{font:900 24px/1 Montserrat,sans-serif;color:#fff}.kp90-personal-empty span{max-width:430px;color:rgba(255,255,255,.58);font-size:12px;line-height:1.5}
.kp90-level-progress{height:8px;margin-top:6px;border-radius:99px;background:rgba(255,255,255,.11);overflow:hidden}.kp90-level-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.kp90-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:start}.kp90-stats-grid article{min-height:130px;border-radius:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.kp90-stats-grid b{font:900 clamp(28px,3vw,48px)/1 Montserrat,sans-serif;color:#f3d36b}.kp90-stats-grid span{font:900 10px/1.2 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.62)}
.kp89-quiz-card.is-answered{border-color:rgba(212,175,55,.48);background:linear-gradient(145deg,rgba(212,175,55,.16),rgba(255,255,255,.07))}.kp89-quiz-card.is-answered>b{background:#fff;color:#0f6b3f}
.kp90-rules-content{height:100%;overflow:auto}
@media(max-width:1180px){.kp90-hub-head{grid-template-columns:minmax(160px,.7fr) minmax(300px,1.3fr) auto !important}.kp90-inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.kp90-hub-head{grid-template-columns:minmax(0,1fr) auto !important}.kp90-player-summary{grid-column:1/-1;grid-row:2;justify-content:flex-start}.kp90-inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kp90-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.kp90-player-avatar{width:36px;height:36px}.kp90-player-name strong{font-size:11px}.kp90-player-steps{min-width:70px}.kp90-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kp90-stats-grid article{min-height:104px}.kp90-connection-required{padding:24px 18px}.kp90-connection-required strong{font-size:20px}}
@media(max-width:430px){.kp90-inventory-grid{grid-template-columns:1fr}.kp90-player-steps small{display:none}}


/* v1.0.91 — Collections lit directement le sac réel de Kerdudal Go Adventure. */
.kp91-collection-live{
  height:100%;
  min-height:0;
  padding:0 !important;
  overflow:hidden !important;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  border-radius:24px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
}
.kp91-collection-head{
  min-height:54px;
  padding:10px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.kp91-collection-head strong{font:900 14px/1 Montserrat,sans-serif;color:#fff}
.kp91-collection-head span{font:800 9px/1.2 Montserrat,sans-serif;color:rgba(255,255,255,.48);text-align:right}
.kp91-collection-frame-wrap{min-height:0;overflow:hidden;background:#0f3d1a}
.kp91-collection-frame{width:100%;height:100%;min-height:100%;display:block;border:0;background:#0f3d1a}
@media(max-width:620px){
  .kp91-collection-live{border-radius:17px}
  .kp91-collection-head{min-height:46px;padding:8px 10px}.kp91-collection-head strong{font-size:11px}.kp91-collection-head span{font-size:7px}
}


/* v1.0.92 — Collections : même sac réel que GO Adventure, rendu natif dans le style du site. */
.kp92-bag-page{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;position:relative;overflow:hidden}
.kp92-bag-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:end;gap:10px 24px;padding:20px 24px;border-radius:24px;background:linear-gradient(145deg,rgba(212,175,55,.19),rgba(255,255,255,.065));border:1px solid rgba(212,175,55,.34);box-shadow:0 18px 50px rgba(0,0,0,.15)}
.kp92-bag-hero::before{content:"";position:absolute;width:280px;height:280px;right:-120px;top:-150px;border-radius:50%;border:1px solid rgba(212,175,55,.19);box-shadow:0 0 0 35px rgba(212,175,55,.035),0 0 0 70px rgba(212,175,55,.018);pointer-events:none}
.kp92-bag-title{min-width:0;display:flex;flex-direction:column;gap:6px;position:relative;z-index:1}.kp92-bag-title>span{font:900 8px/1 Montserrat,sans-serif;letter-spacing:.2em;color:#f3d36b}.kp92-bag-title>strong{font:900 clamp(28px,3vw,44px)/.94 Montserrat,sans-serif;letter-spacing:-.045em;color:#fff}
.kp92-bag-counter{position:relative;z-index:1;display:flex;align-items:baseline;justify-content:flex-end;gap:7px;white-space:nowrap}.kp92-bag-counter b{font:900 clamp(30px,3.2vw,48px)/.9 Montserrat,sans-serif;color:#f3d36b}.kp92-bag-counter span{font:900 11px/1 Montserrat,sans-serif;color:rgba(255,255,255,.62)}
.kp92-bag-progress{grid-column:1/-1;height:7px;border-radius:99px;background:rgba(255,255,255,.11);overflow:hidden;position:relative;z-index:1}.kp92-bag-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .35s ease}
.kp92-bag-grid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-content:start;padding:2px 4px 12px 2px;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.58) rgba(255,255,255,.04)}
.kp92-bag-object{min-width:0;min-height:128px;padding:12px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:11px;transition:transform .16s ease,border-color .16s ease,background .16s ease}.kp92-bag-object:hover{transform:translateY(-2px);border-color:rgba(212,175,55,.44);background:rgba(212,175,55,.105)}
.kp92-bag-object>img,.kp92-bag-object-fallback{width:64px;height:64px;object-fit:contain;border-radius:16px;background:rgba(255,255,255,.94);display:grid;place-items:center;padding:5px;box-sizing:border-box}.kp92-bag-object-fallback{background:rgba(212,175,55,.17);color:#f3d36b;font:900 12px/1 Montserrat,sans-serif}
.kp92-bag-object>div{min-width:0;display:flex;flex-direction:column;gap:7px}.kp92-bag-object strong{font:900 11px/1.18 Montserrat,sans-serif;color:#fff;overflow-wrap:anywhere}.kp92-bag-object small{align-self:flex-start;padding:5px 7px;border-radius:8px;background:var(--accent);color:#111713;font:900 9px/1 Montserrat,sans-serif}
.kp92-bag-empty{grid-column:1/-1}
.kp92-bag-source{position:fixed!important;left:-9999px!important;top:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;border:0!important}
@media(max-width:1180px){.kp92-bag-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kp92-bag-object{grid-template-columns:56px minmax(0,1fr);min-height:112px}.kp92-bag-object>img,.kp92-bag-object-fallback{width:56px;height:56px}}
@media(max-width:860px){.kp92-bag-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kp92-bag-hero{padding:17px 18px}.kp92-bag-counter span{font-size:9px}}
@media(max-width:620px){.kp92-bag-hero{grid-template-columns:1fr auto;padding:14px 14px;border-radius:18px;gap:8px 12px}.kp92-bag-title>strong{font-size:25px}.kp92-bag-counter b{font-size:27px}.kp92-bag-counter span{font-size:8px}.kp92-bag-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.kp92-bag-object{min-height:100px;padding:9px;border-radius:15px;grid-template-columns:48px minmax(0,1fr);gap:8px}.kp92-bag-object>img,.kp92-bag-object-fallback{width:48px;height:48px;border-radius:12px}.kp92-bag-object strong{font-size:9px}}
@media(max-width:390px){.kp92-bag-grid{grid-template-columns:1fr}.kp92-bag-object{min-height:84px}}


/* v1.0.93 — Aventure : même gabarit que Mon sac, compteur XP à droite. */
.kp93-adventure-hero .kp92-bag-title>strong{text-transform:none}
.kp93-xp-counter span{font-size:10px}
@media(max-width:860px){.kp93-xp-counter span{font-size:8px}}
@media(max-width:620px){.kp93-adventure-hero{grid-template-columns:minmax(0,1fr) auto!important}.kp93-adventure-hero .kp92-bag-title>strong{font-size:22px}.kp93-xp-counter{gap:5px}.kp93-xp-counter b{font-size:25px!important}.kp93-xp-counter span{max-width:112px;white-space:normal;text-align:right;line-height:1.15}}


/* v1.0.94 — navigation GO Adventure : Collection, Statistiques, Shop + Règles ; Shop prêt pour les achats du jeu. */
.kp94-shop-content{overflow:hidden !important;padding:0 !important}
.kp94-shop-page{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px}
.kp94-shop-hero .kp92-bag-title>strong{text-transform:none}
.kp94-shop-grid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start;padding:2px 4px 12px 2px;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.58) rgba(255,255,255,.04)}
.kp94-shop-card{position:relative;overflow:hidden;min-height:260px;padding:24px;border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(212,175,55,.075));border:1px solid rgba(212,175,55,.24);display:grid;grid-template-columns:82px minmax(0,1fr);gap:20px;align-items:start;box-shadow:0 18px 44px rgba(0,0,0,.13)}
.kp94-shop-card::after{content:"";position:absolute;width:220px;height:220px;right:-110px;bottom:-135px;border-radius:50%;border:1px solid rgba(212,175,55,.15);box-shadow:0 0 0 28px rgba(212,175,55,.025),0 0 0 56px rgba(212,175,55,.012);pointer-events:none}
.kp94-shop-icon{position:relative;z-index:1;width:82px;height:82px;border-radius:24px;background:var(--accent);color:#111713;display:grid;place-items:center;font:900 23px/1 Montserrat,sans-serif;box-shadow:0 14px 30px rgba(212,175,55,.18)}
.kp94-shop-card>div{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.kp94-shop-card small{font:900 8px/1 Montserrat,sans-serif;letter-spacing:.18em;color:#f3d36b}
.kp94-shop-card strong{font:900 clamp(22px,2.4vw,34px)/.98 Montserrat,sans-serif;letter-spacing:-.035em;color:#fff}
.kp94-shop-card p{margin:0;max-width:520px;font:700 12px/1.55 Montserrat,sans-serif;color:rgba(255,255,255,.7)}
.kp94-shop-card em{margin-top:auto;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.06);font:800 9px/1.35 Montserrat,sans-serif;font-style:normal;color:rgba(255,255,255,.5)}
@media(max-width:820px){.kp94-shop-grid{grid-template-columns:1fr}.kp94-shop-card{min-height:190px;grid-template-columns:68px minmax(0,1fr);padding:18px}.kp94-shop-icon{width:68px;height:68px;border-radius:19px;font-size:19px}}
@media(max-width:620px){.kp94-shop-card{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:14px;border-radius:18px}.kp94-shop-icon{width:54px;height:54px;border-radius:15px;font-size:15px}.kp94-shop-card strong{font-size:20px}.kp94-shop-card p{font-size:10px}.kp94-shop-card em{font-size:8px}}


/* v1.0.95 — Collection : suppression du grand cadre extérieur pour uniformiser avec les autres vues GO Adventure. */
.kp91-collection-live{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}


/* v1.0.97 — Règles du jeu : compteur personnel de lecture + validation au clic. */
.kp97-rules-page{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px}
.kp97-rules-grid{height:auto !important;min-height:0;overflow:auto;align-content:start;padding:2px 4px 12px 2px;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.58) rgba(255,255,255,.04)}
.kp97-rules-grid .kp97-rule-card{appearance:none;width:100%;min-height:240px;padding:22px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:flex-start;gap:22px;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.kp97-rules-grid .kp97-rule-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.1);border-color:rgba(212,175,55,.3)}
.kp97-rules-grid .kp97-rule-card>b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#101713;font:900 12px/1 Montserrat,sans-serif}
.kp97-rules-grid .kp97-rule-card>div{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:12px}
.kp97-rules-grid .kp97-rule-card strong{font:900 19px/1.05 Montserrat,sans-serif;color:#fff}
.kp97-rules-grid .kp97-rule-card p{margin:0;color:rgba(255,255,255,.61);font-size:12px;line-height:1.55}
.kp97-rule-state{margin-top:auto;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.6);font:900 9px/1 Montserrat,sans-serif;letter-spacing:.04em}
.kp97-rule-card.is-read{background:linear-gradient(145deg,rgba(212,175,55,.14),rgba(255,255,255,.075));border-color:rgba(212,175,55,.52);box-shadow:inset 0 0 0 1px rgba(212,175,55,.08)}
.kp97-rule-card.is-read .kp97-rule-state{background:#22c55e;color:#ffffff;box-shadow:0 8px 18px rgba(34,197,94,.22)}
.kp97-rule-card.is-saving{pointer-events:none;opacity:.72}
@media(max-width:1180px){.kp97-rules-grid .kp97-rule-card{min-height:210px}}
@media(max-width:720px){.kp97-rules-grid .kp97-rule-card{min-height:180px;padding:16px}}


/* v1.0.98 — progression KerduStops personnelle, uniforme avec Mon sac / Statistiques / Règles. */
.kp98-kerdustops-page{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:12px;
}
.kp98-kerdustops-hero{
  min-height:88px;
}
.kp98-kerdustops-hero .kp92-bag-title>strong{
  text-transform:none;
}
@media(max-width:620px){
  .kp98-kerdustops-page{gap:8px;}
  .kp98-kerdustops-hero{min-height:72px;}
}


/* v1.0.101 — les 5 boutons GO Adventure restent en haut du popup, comme avant. */
.kp90-hub-shell{
  grid-template-rows:auto auto minmax(0,1fr) !important;
}
.kp90-adventure-tabs{
  grid-row:2;
}
.kp90-hub-views{
  grid-row:3;
}


/* v1.0.105 — nom du KerduStop sélectionné toujours sur une seule ligne ; JS ajuste la taille si nécessaire. */
.kp88-selected-name[data-fit-single-line]{text-overflow:clip;}

/* v1.0.106 — Profil GO Adventure : avatar cliquable, sélection native et fondation Compagnon. */
.kp106-player-profile-trigger{appearance:none;border:0;background:transparent;color:inherit;padding:0;margin:0;display:flex;align-items:center;gap:10px;cursor:pointer;border-radius:999px;transition:transform .18s ease,filter .18s ease}
.kp106-player-profile-trigger:hover{transform:translateY(-1px);filter:brightness(1.08)}
.kp106-player-profile-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.kp106-player-profile-trigger:hover .kp90-player-avatar{border-color:rgba(212,175,55,.78);box-shadow:0 0 0 4px rgba(212,175,55,.09)}
.kp106-profile-content{overflow:hidden!important;padding:0!important}
.kp106-profile-page{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px}
.kp106-profile-hero{position:relative;overflow:hidden;min-height:112px;padding:18px 22px;border-radius:24px;background:linear-gradient(145deg,rgba(212,175,55,.19),rgba(255,255,255,.065));border:1px solid rgba(212,175,55,.34);display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 18px 50px rgba(0,0,0,.15)}
.kp106-profile-current{display:flex;align-items:center;gap:15px;margin-left:auto}
.kp106-profile-current-avatar{width:78px;height:78px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:rgba(15,107,63,.8);border:3px solid var(--accent);box-shadow:0 12px 28px rgba(0,0,0,.24)}
.kp106-profile-current-avatar img{width:100%;height:100%;object-fit:cover}.kp106-profile-avatar-fallback{font:900 18px/1 Montserrat,sans-serif;color:#fff}
.kp106-profile-current>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:150px}
.kp106-profile-current small{font:900 8px/1 Montserrat,sans-serif;letter-spacing:.18em;color:#f3d36b}
.kp106-profile-current strong{font:900 clamp(24px,3vw,38px)/.95 Montserrat,sans-serif;color:#fff;letter-spacing:-.04em}
.kp106-profile-current span{font:900 10px/1 Montserrat,sans-serif;color:rgba(255,255,255,.58)}
.kp106-profile-body{min-height:0;overflow:auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.6fr);gap:14px;align-items:start;padding:1px 4px 12px 1px;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.58) rgba(255,255,255,.04)}
.kp106-profile-section,.kp106-companion-card{border-radius:24px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}
.kp106-profile-section{padding:18px;min-width:0}.kp106-profile-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.kp106-profile-section-head>div{display:flex;flex-direction:column;gap:6px}.kp106-profile-section-head strong{font:900 21px/1 Montserrat,sans-serif;color:#fff}.kp106-profile-section-head span{font:700 10px/1.45 Montserrat,sans-serif;color:rgba(255,255,255,.54)}
.kp106-avatar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.kp106-avatar-card{appearance:none;min-width:0;padding:12px;border-radius:19px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.055);color:inherit;display:flex;flex-direction:column;gap:10px;align-items:stretch;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.kp106-avatar-card:hover{transform:translateY(-2px);border-color:rgba(212,175,55,.44);background:rgba(212,175,55,.09)}
.kp106-avatar-card.is-selected{border-color:rgba(34,197,94,.72);background:linear-gradient(145deg,rgba(34,197,94,.12),rgba(255,255,255,.06));box-shadow:inset 0 0 0 1px rgba(34,197,94,.12)}
.kp106-avatar-card.is-saving{pointer-events:none;opacity:.68}
.kp106-avatar-picture{width:90px;height:90px;aspect-ratio:auto;margin:0 auto;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:rgba(9,35,22,.85);flex:0 0 90px}
.kp106-avatar-picture img{width:100%;height:100%;object-fit:contain}
.kp106-avatar-meta{display:flex;flex-direction:column;gap:6px;min-width:0}.kp106-avatar-meta small{font:900 7px/1 Montserrat,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#f3d36b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kp106-avatar-meta strong{font:900 11px/1.2 Montserrat,sans-serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kp106-avatar-meta em{align-self:flex-start;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.6);font:900 8px/1 Montserrat,sans-serif;font-style:normal}.kp106-avatar-card.is-selected .kp106-avatar-meta em{background:#22c55e;color:#fff}
.kp106-avatar-empty{grid-column:1/-1}
.kp106-companion-card{position:relative;overflow:hidden;min-height:250px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;border-style:dashed;border-color:rgba(212,175,55,.28)}
.kp106-companion-card::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-100px;bottom:-105px;border:1px solid rgba(212,175,55,.14);box-shadow:0 0 0 28px rgba(212,175,55,.025);pointer-events:none}
.kp106-companion-icon{position:relative;z-index:1;width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:rgba(212,175,55,.16);border:1px solid rgba(212,175,55,.32);color:#f3d36b;font:900 25px/1 Montserrat,sans-serif}.kp106-companion-card>div{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px}.kp106-companion-card small{font:900 8px/1 Montserrat,sans-serif;letter-spacing:.16em;color:#f3d36b}.kp106-companion-card strong{font:900 25px/1 Montserrat,sans-serif;color:#fff}.kp106-companion-card p{margin:0;font:700 11px/1.55 Montserrat,sans-serif;color:rgba(255,255,255,.58)}.kp106-companion-card em{position:relative;z-index:1;margin-top:auto;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.075);color:rgba(255,255,255,.55);font:900 8px/1 Montserrat,sans-serif;font-style:normal}
@media(max-width:1100px){.kp106-profile-body{grid-template-columns:1fr}.kp106-companion-card{min-height:180px}.kp106-avatar-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:820px){.kp106-avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kp106-profile-hero{padding:14px 16px}.kp106-profile-current-avatar{width:62px;height:62px}}
@media(max-width:620px){.kp106-profile-page{gap:9px}.kp106-profile-hero{min-height:86px;border-radius:18px;gap:8px}.kp106-profile-current{gap:9px}.kp106-profile-current-avatar{width:50px;height:50px;border-width:2px}.kp106-profile-current>div{min-width:90px}.kp106-profile-current strong{font-size:20px}.kp106-profile-current small{font-size:6px}.kp106-avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.kp106-profile-section{padding:12px;border-radius:18px}.kp106-profile-section-head strong{font-size:17px}.kp106-profile-section-head span{font-size:8px}.kp106-avatar-card{padding:8px;border-radius:14px}.kp106-avatar-picture{border-radius:11px}.kp106-companion-card{padding:16px;border-radius:18px}}
@media(max-width:390px){.kp106-avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v1.0.107 — Profil uniforme : hero identique aux autres vues et sélecteur d’avatars sans grand cadre. */
.kp106-profile-page{grid-template-rows:auto minmax(0,1fr)}
.kp106-profile-level-hero{min-height:0!important}
.kp106-profile-level-hero .kp92-bag-title>strong{text-transform:none}
.kp106-profile-level-counter span{font-size:10px}
.kp106-profile-body{grid-template-columns:minmax(0,1.5fr) minmax(260px,.6fr);gap:14px}
.kp106-avatar-area{min-width:0;display:flex;flex-direction:column;gap:12px}
.kp106-avatar-grid{align-content:start}
.kp106-avatar-current-card{cursor:default}
.kp106-avatar-current-card:hover{transform:none;border-color:rgba(34,197,94,.72);background:linear-gradient(145deg,rgba(34,197,94,.12),rgba(255,255,255,.06))}
.kp106-profile-section,.kp106-profile-section-head{display:none!important}
@media(max-width:1100px){.kp106-profile-body{grid-template-columns:1fr}.kp106-avatar-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:820px){.kp106-avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.kp106-profile-level-counter{gap:5px}.kp106-profile-level-counter b{font-size:25px!important}.kp106-profile-level-counter span{max-width:118px;white-space:normal;text-align:right;line-height:1.15}.kp106-avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:390px){.kp106-avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.0.108 — Sélecteur Profil : vignettes avatar fixes à 90 × 90 px. */
.kp106-avatar-card .kp106-avatar-picture{width:90px!important;height:90px!important;flex-basis:90px!important}


/* v1.0.109 — Profil : avatars affichés exactement au format des objets de Mon sac. */
.kp106-profile-body{grid-template-columns:1fr!important}
.kp109-avatar-grid{width:100%}
.kp109-avatar-object{appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.kp109-avatar-object.is-saving{pointer-events:none;opacity:.68}
.kp109-avatar-current{cursor:default;border-color:rgba(34,197,94,.72)!important;background:linear-gradient(145deg,rgba(34,197,94,.12),rgba(255,255,255,.07))!important;box-shadow:inset 0 0 0 1px rgba(34,197,94,.12)}
.kp109-avatar-current:hover{transform:none!important;border-color:rgba(34,197,94,.72)!important;background:linear-gradient(145deg,rgba(34,197,94,.12),rgba(255,255,255,.07))!important}
.kp109-avatar-current small{background:#22c55e!important;color:#fff!important}
.kp109-avatar-object>img{object-fit:contain}


/* v1.0.111 — Mon profil : avatar sélectionné en premier et agrandi comme le KerduStop sélectionné. */
.kp109-avatar-grid .kp111-avatar-featured{
  grid-column:span 2;
  min-height:254px;
  padding:18px;
  grid-template-columns:minmax(150px,.92fr) minmax(150px,1.08fr);
  align-items:stretch;
  gap:18px;
}
.kp111-avatar-featured-visual{
  min-width:0;
  min-height:0;
  height:218px;
  border-radius:18px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,rgba(15,107,63,.18),rgba(212,175,55,.07));
  border:1px solid rgba(255,255,255,.07);
}
.kp111-avatar-featured-visual>img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
}
.kp111-avatar-featured-visual>.kp92-bag-object-fallback{
  width:100%;
  height:100%;
  border-radius:0;
  background:transparent;
  font-size:28px;
}
.kp109-avatar-grid .kp111-avatar-featured>.kp111-avatar-featured-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:14px;
  padding:12px;
}
.kp109-avatar-grid .kp111-avatar-featured>.kp111-avatar-featured-copy strong{
  font:900 clamp(22px,2.2vw,34px)/1 Montserrat,sans-serif;
  letter-spacing:-.035em;
  color:#fff;
  overflow-wrap:normal;
  word-break:normal;
}
.kp109-avatar-grid .kp111-avatar-featured>.kp111-avatar-featured-copy small{
  padding:8px 11px;
  border-radius:999px;
  background:#22c55e!important;
  color:#fff!important;
  font:900 9px/1 Montserrat,sans-serif;
}
@media(max-width:1180px){
  .kp109-avatar-grid .kp111-avatar-featured{min-height:242px;}
  .kp111-avatar-featured-visual{height:205px;}
}
@media(max-width:820px){
  .kp109-avatar-grid .kp111-avatar-featured{grid-column:span 2;grid-template-columns:1fr 1fr;min-height:228px;padding:14px;gap:14px;}
  .kp111-avatar-featured-visual{height:190px;}
}
@media(max-width:620px){
  .kp109-avatar-grid .kp111-avatar-featured{grid-column:1/-1;grid-template-columns:1fr 1fr;min-height:206px;padding:10px;gap:10px;}
  .kp111-avatar-featured-visual{height:166px;border-radius:14px;}
  .kp109-avatar-grid .kp111-avatar-featured>.kp111-avatar-featured-copy{padding:6px;gap:10px;}
  .kp109-avatar-grid .kp111-avatar-featured>.kp111-avatar-featured-copy strong{font-size:18px;}
}
@media(max-width:390px){
  .kp109-avatar-grid .kp111-avatar-featured{grid-template-columns:minmax(120px,.95fr) minmax(110px,1.05fr);}
}


/* v1.0.112 — Mon profil : sélecteur d’avatars calqué exactement sur les cartes KerduStops. */
.kp112-avatar-stop-list{
  width:100%;
  min-height:0;
  overflow:auto;
  align-content:start;
}
.kp112-avatar-stop-card .kp84-stop-place{
  object-fit:contain!important;
  background:transparent!important;
}
.kp112-avatar-stop-card:not(.is-selected) .kp84-stop-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px!important;
}
.kp112-avatar-stop-card:not(.is-selected) .kp84-stop-copy strong{
  white-space:nowrap!important;
  display:block!important;
  overflow:hidden;
  text-overflow:ellipsis;
}
.kp112-avatar-theme{
  display:block;
  max-width:100%;
  color:#f3d36b;
  font:800 7px/1 Montserrat,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.kp112-avatar-add{
  display:grid!important;
  place-items:center;
  border-radius:50%!important;
  background:var(--accent)!important;
  color:#101713!important;
  font:900 19px/1 Montserrat,sans-serif!important;
  box-shadow:0 7px 16px rgba(0,0,0,.18);
}
.kp112-avatar-selected{
  cursor:default!important;
}
.kp112-avatar-selected:hover{
  transform:none!important;
}
.kp112-avatar-selected .kp87-selected-photo{
  background:linear-gradient(145deg,rgba(15,107,63,.14),rgba(255,255,255,.035))!important;
}
.kp112-avatar-selected .kp87-selected-photo .kp84-stop-place{
  object-fit:contain!important;
  background:transparent!important;
}
.kp112-avatar-selected-main{
  position:relative;
}
.kp112-avatar-used-mark{
  position:relative;
  z-index:3;
  width:min(142px,78%);
  aspect-ratio:1;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:radial-gradient(circle at 34% 28%,#35db79,#149447 72%);
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 18px 32px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.1);
}
.kp112-avatar-used-mark b{
  font:900 clamp(40px,4vw,64px)/.8 Montserrat,sans-serif;
}
.kp112-avatar-used-mark small{
  font:900 9px/1 Montserrat,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:620px){
  .kp112-avatar-used-mark{width:min(106px,82%);gap:5px}
  .kp112-avatar-used-mark b{font-size:42px}
  .kp112-avatar-used-mark small{font-size:7px}
}


/* v1.0.113 — Mon profil : Compagnon au même gabarit exact que l’avatar sélectionné, juste dessous. */
.kp113-profile-feature-stack{
  grid-column:span 2;
  min-width:0;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-self:start;
}
.kp113-profile-feature-stack>.kp84-stop-card.kp87-stop-card.is-selected{
  grid-column:1!important;
  grid-row:auto!important;
  width:100%;
}
.kp113-companion-card{
  cursor:default!important;
  border-color:rgba(212,175,55,.4)!important;
  background:linear-gradient(145deg,rgba(212,175,55,.12),rgba(255,255,255,.065))!important;
  box-shadow:0 20px 46px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.035) inset!important;
  animation:none!important;
}
.kp113-companion-card:hover{transform:none!important;}
.kp113-companion-photo{
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(145deg,rgba(212,175,55,.14),rgba(15,107,63,.08))!important;
}
.kp113-companion-plus{
  display:block;
  color:#f3d36b;
  font:900 clamp(78px,8vw,126px)/1 Montserrat,sans-serif;
  transform:translateY(-2px);
  text-shadow:0 12px 28px rgba(0,0,0,.24);
}
.kp113-companion-main::before{
  border-color:rgba(212,175,55,.2)!important;
}
.kp113-companion-status{
  position:relative;
  z-index:3;
  width:min(154px,82%);
  aspect-ratio:1;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px;
  box-sizing:border-box;
  text-align:center;
  background:radial-gradient(circle at 34% 28%,rgba(243,211,107,.28),rgba(118,88,16,.84) 72%);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  box-shadow:0 18px 32px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.07);
}
.kp113-companion-status b{
  font:900 clamp(14px,1.5vw,20px)/1 Montserrat,sans-serif;
  letter-spacing:.08em;
}
.kp113-companion-status small{
  max-width:112px;
  font:900 9px/1.2 Montserrat,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
}
@media(max-width:820px){
  .kp113-profile-feature-stack{grid-column:1/-1;}
}
@media(max-width:620px){
  .kp113-profile-feature-stack{grid-column:1/-1;gap:6px;}
  .kp113-companion-plus{font-size:84px;}
  .kp113-companion-status{width:min(108px,84%);gap:5px;padding:9px;}
  .kp113-companion-status b{font-size:12px;}
  .kp113-companion-status small{font-size:7px;max-width:82px;}
}
@media(max-width:430px){
  .kp113-profile-feature-stack{grid-column:1;}
}


/* v1.0.114 — Mon profil : vraie composition KerduStops.
   Les deux grandes cartes sont des enfants directs de la grille ; les avatars compacts
   remplissent l'espace à droite comme les KerduStops autour de la carte sélectionnée. */
.kp112-avatar-stop-list{
  grid-auto-flow:row dense!important;
  align-items:start;
}
.kp112-avatar-stop-list>.kp114-avatar-current,
.kp112-avatar-stop-list>.kp113-companion-card{
  width:100%!important;
  align-self:stretch;
}
@media(min-width:821px){
  .kp112-avatar-stop-list>.kp114-avatar-current{
    grid-column:1/span 2!important;
    grid-row:1/span 3!important;
  }
  .kp112-avatar-stop-list>.kp113-companion-card{
    grid-column:1/span 2!important;
    grid-row:4/span 3!important;
  }
}
@media(max-width:820px){
  .kp112-avatar-stop-list>.kp114-avatar-current,
  .kp112-avatar-stop-list>.kp113-companion-card{
    grid-column:1/-1!important;
    grid-row:auto!important;
  }
}


/* v1.0.115 — Mon profil : disposition identique à KerduStops.
   L'avatar sélectionné reste à gauche, les avatars à choisir à droite,
   et la case Compagnon juste dessous avec la même emprise. */
.kp112-avatar-stop-list{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  grid-auto-flow:row dense !important;
  align-items:start !important;
}
.kp112-avatar-stop-list > .kp114-avatar-current,
.kp112-avatar-stop-list > .kp113-companion-card{
  width:100% !important;
  align-self:stretch !important;
}
.kp112-avatar-stop-list > .kp114-avatar-current{
  grid-column:1 / span 2 !important;
  grid-row:1 / span 3 !important;
}
.kp112-avatar-stop-list > .kp113-companion-card{
  grid-column:1 / span 2 !important;
  grid-row:4 / span 3 !important;
}
.kp112-avatar-stop-list > button.kp112-avatar-stop-card{
  grid-column:auto !important;
  grid-row:auto !important;
}
@media(max-width:1180px){
  .kp112-avatar-stop-list{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
  .kp112-avatar-stop-list > .kp114-avatar-current{grid-column:1 / span 2 !important;grid-row:1 / span 3 !important;}
  .kp112-avatar-stop-list > .kp113-companion-card{grid-column:1 / span 2 !important;grid-row:4 / span 3 !important;}
}
@media(max-width:820px){
  .kp112-avatar-stop-list{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .kp112-avatar-stop-list > .kp114-avatar-current,
  .kp112-avatar-stop-list > .kp113-companion-card{grid-column:1 / -1 !important;grid-row:auto !important;}
}
@media(max-width:620px){
  .kp112-avatar-stop-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:430px){
  .kp112-avatar-stop-list{grid-template-columns:1fr !important;}
}

/* v1.0.116 — Shop GO Adventure : catégories, solde KPC et achats. */
.kp116-shop-hero{grid-template-columns:minmax(0,1fr) auto!important;column-gap:18px}
.kp116-shop-hero-right{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}
.kp116-shop-wallet{min-width:132px;padding:10px 13px;border-radius:16px;background:rgba(15,107,63,.28);border:1px solid rgba(243,211,107,.3);display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.kp116-shop-wallet small{font:900 7px/1 Montserrat,sans-serif;letter-spacing:.15em;color:#f3d36b}
.kp116-shop-wallet strong{font:900 14px/1 Montserrat,sans-serif;color:#fff;white-space:nowrap}
.kp116-shop-loading{min-height:160px;display:grid;place-items:center;color:rgba(255,255,255,.58);font:800 11px/1 Montserrat,sans-serif}
.kp116-shop-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.kp116-shop-category{appearance:none;width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit}
.kp116-shop-category:hover{transform:translateY(-2px);border-color:rgba(212,175,55,.55);background:linear-gradient(145deg,rgba(212,175,55,.14),rgba(255,255,255,.085))}
.kp116-shop-browser{min-height:0;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px}
.kp116-shop-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.kp116-shop-tab{appearance:none;min-height:48px;padding:7px 10px;border-radius:15px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.055);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font:inherit}
.kp116-shop-tab span{width:30px;height:30px;border-radius:10px;background:rgba(212,175,55,.14);color:#f3d36b;display:grid;place-items:center;font:900 8px/1 Montserrat,sans-serif}
.kp116-shop-tab strong{font:900 10px/1 Montserrat,sans-serif}
.kp116-shop-tab.is-active{background:var(--accent);border-color:var(--accent);color:#101713}.kp116-shop-tab.is-active span{background:rgba(16,23,19,.12);color:#101713}
.kp116-shop-category-title{display:flex;align-items:baseline;gap:10px;padding:2px 3px}.kp116-shop-category-title strong{font:900 19px/1 Montserrat,sans-serif;color:#fff}.kp116-shop-category-title span{font:700 9px/1.35 Montserrat,sans-serif;color:rgba(255,255,255,.5)}
.kp116-shop-products{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:start;padding:2px 4px 12px 2px;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.58) rgba(255,255,255,.04)}
.kp116-shop-product{min-width:0;min-height:210px;padding:12px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:stretch}
.kp116-shop-product.is-owned{border-color:rgba(34,197,94,.42);background:linear-gradient(145deg,rgba(34,197,94,.08),rgba(255,255,255,.055))}
.kp116-shop-product-image{min-height:150px;border-radius:15px;overflow:hidden;background:linear-gradient(145deg,rgba(15,107,63,.18),rgba(212,175,55,.08));display:grid;place-items:center}
.kp116-shop-product-image img{width:100%;height:100%;object-fit:contain}.kp116-shop-product-image>span{color:#f3d36b;font:900 20px/1 Montserrat,sans-serif}
.kp116-shop-product-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.kp116-shop-product-copy>small:first-child{font:900 7px/1 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f3d36b}.kp116-shop-product-copy>strong{font:900 15px/1.08 Montserrat,sans-serif;color:#fff}.kp116-shop-product-copy p{margin:0;color:rgba(255,255,255,.58);font:700 9px/1.4 Montserrat,sans-serif}.kp116-shop-product-copy>small:not(:first-child){padding:6px 8px;border-radius:9px;background:rgba(212,175,55,.1);color:#f3d36b;font:900 8px/1 Montserrat,sans-serif}
.kp116-shop-product-bottom{margin-top:auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:7px}.kp116-shop-product-bottom>b{font:900 11px/1 Montserrat,sans-serif;color:#fff;white-space:nowrap}
.kp116-shop-buy{appearance:none;border:0;border-radius:10px;padding:9px 10px;background:var(--accent);color:#101713;font:900 8px/1 Montserrat,sans-serif;cursor:pointer;white-space:nowrap}.kp116-shop-buy:hover:not(:disabled){filter:brightness(1.08)}.kp116-shop-buy:disabled{cursor:default;opacity:.56}.kp116-shop-buy.is-owned{background:#22c55e;color:#fff;opacity:1}.kp116-shop-buy.is-saving{opacity:.55}
.kp116-shop-empty{grid-column:1/-1}
@media(max-width:1180px){.kp116-shop-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kp116-shop-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.kp116-shop-category-grid{grid-template-columns:1fr!important}.kp116-shop-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.kp116-shop-products{grid-template-columns:1fr}.kp116-shop-product{min-height:170px}.kp116-shop-hero-right{gap:8px}.kp116-shop-wallet{min-width:112px;padding:8px 10px}}
@media(max-width:620px){.kp116-shop-hero{grid-template-columns:1fr!important}.kp116-shop-hero-right{width:100%;justify-content:space-between}.kp116-shop-wallet{min-width:105px}.kp116-shop-tabs{gap:5px}.kp116-shop-tab{padding:5px;gap:4px}.kp116-shop-tab span{width:26px;height:26px}.kp116-shop-tab strong{font-size:8px}.kp116-shop-category-title{display:block}.kp116-shop-category-title span{display:none}.kp116-shop-product{grid-template-columns:78px minmax(0,1fr);padding:9px;border-radius:16px}.kp116-shop-product-image{min-height:128px;border-radius:12px}}


/* v1.0.118 — Shop : cartes catégories visuelles avec 3 objets réels distincts.
   Suppression du compteur « offres » et de la flèche ; les cartes gardent leur grand gabarit. */
.kp118-shop-category>div{height:100%;}
.kp118-shop-category .kp118-shop-preview{
  width:100%;
  margin-top:auto;
  padding-top:8px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.kp118-shop-preview-item{
  min-width:0;
  height:76px;
  border-radius:16px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(15,107,63,.20),rgba(212,175,55,.10));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.kp118-shop-preview-item img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:5px;
}
.kp118-shop-category em{display:none!important;}
@media(max-width:1180px){.kp118-shop-preview-item{height:86px;}}
@media(max-width:820px){.kp118-shop-preview-item{height:82px;}}
@media(max-width:620px){
  .kp118-shop-category .kp118-shop-preview{gap:6px;padding-top:5px;}
  .kp118-shop-preview-item{height:64px;border-radius:12px;}
  .kp118-shop-preview-item img{padding:3px;}
}


/* v1.0.119 — Shop : suppression de la page de choix intermédiaire.
   L'ouverture du Shop arrive directement sur Stockage, avec les 4 pages toujours visibles. */
.kp116-shop-browser{grid-template-rows:auto auto minmax(0,1fr)!important;}
.kp116-shop-tabs{margin-top:0;}
.kp116-shop-category-grid,.kp118-shop-category{display:none!important;}


/* v1.0.120 — Shop GO Adventure :
   1 grande fiche sélectionnée à gauche sur 3 lignes,
   4 objets compacts à droite sur chacune des 3 premières lignes,
   puis 6 objets compacts par ligne. */
.kp120-shop-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  grid-auto-flow:row dense!important;
  grid-auto-rows:minmax(88px,auto);
  gap:8px!important;
  align-content:start!important;
}
.kp120-shop-selected{
  grid-column:1 / span 2;
  grid-row:1 / span 3;
  min-width:0;
  min-height:280px;
  padding:12px;
  border-radius:20px;
  background:linear-gradient(145deg,rgba(15,107,63,.20),rgba(255,255,255,.06));
  border:1px solid rgba(212,175,55,.30);
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:hidden;
}
.kp120-shop-selected.is-owned{
  border-color:rgba(34,197,94,.48);
  background:linear-gradient(145deg,rgba(34,197,94,.10),rgba(255,255,255,.055));
}
.kp120-shop-selected-image{
  width:100%;
  min-height:138px;
  height:138px;
  border-radius:16px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,rgba(15,107,63,.18),rgba(212,175,55,.09));
}
.kp120-shop-selected-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:7px;
}
.kp120-shop-selected-image>span{
  color:#f3d36b;
  font:900 26px/1 Montserrat,sans-serif;
}
.kp120-shop-selected-copy{
  min-height:0;
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
}
.kp120-shop-selected-copy>small:first-child{
  font:900 7px/1 Montserrat,sans-serif;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#f3d36b;
}
.kp120-shop-selected-copy>strong{
  width:100%;
  font:900 17px/1.08 Montserrat,sans-serif;
  color:#fff;
}
.kp120-shop-selected-copy p{
  margin:0;
  color:rgba(255,255,255,.68);
  font:700 9px/1.42 Montserrat,sans-serif;
}
.kp120-shop-no-description{font-style:italic;opacity:.72}
.kp120-shop-effect{
  padding:6px 8px;
  border-radius:9px;
  background:rgba(212,175,55,.11);
  color:#f3d36b;
  font:900 8px/1.15 Montserrat,sans-serif;
}
.kp120-shop-selected-bottom{
  margin-top:auto;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:4px;
}
.kp120-shop-selected-bottom>b{
  color:#fff;
  white-space:nowrap;
  font:900 12px/1 Montserrat,sans-serif;
}
.kp120-shop-compact{
  appearance:none;
  min-width:0;
  min-height:88px;
  padding:7px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.055);
  color:#fff;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:8px;
  align-items:center;
  text-align:left;
  cursor:pointer;
  font:inherit;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.kp120-shop-compact:hover{
  transform:translateY(-1px);
  border-color:rgba(212,175,55,.52);
  background:rgba(212,175,55,.08);
}
.kp120-shop-compact.is-owned{
  border-color:rgba(34,197,94,.38);
  background:rgba(34,197,94,.07);
}
.kp120-shop-compact-image{
  width:46px;
  height:58px;
  border-radius:12px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,rgba(15,107,63,.16),rgba(212,175,55,.08));
}
.kp120-shop-compact-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:3px;
}
.kp120-shop-compact-image>span{
  color:#f3d36b;
  font:900 10px/1 Montserrat,sans-serif;
}
.kp120-shop-compact-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.kp120-shop-compact-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font:900 9px/1.05 Montserrat,sans-serif;
}
.kp120-shop-compact-copy small{
  color:#f3d36b;
  font:900 7px/1 Montserrat,sans-serif;
}
.kp120-shop-compact.is-owned .kp120-shop-compact-copy small{color:#52d77a}
.kp120-shop-grid>.kp116-shop-empty{grid-column:1/-1!important}

@media(max-width:1180px){
  .kp120-shop-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  .kp120-shop-selected{grid-column:1 / span 2;grid-row:1 / span 3;}
}
@media(max-width:920px){
  .kp120-shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media(max-width:820px){
  .kp120-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .kp120-shop-selected{grid-column:1/-1;grid-row:auto;min-height:260px;}
}
@media(max-width:620px){
  .kp120-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .kp120-shop-selected{grid-column:1/-1;}
}
@media(max-width:430px){
  .kp120-shop-grid{grid-template-columns:1fr!important;}
  .kp120-shop-selected{grid-column:1;}
}


/* v1.0.121 — Shop :
   suppression du titre/texte descriptif de catégorie ;
   grande fiche en deux zones : visuel complet à gauche, informations à droite. */
.kp121-shop-grid{
  margin-top:0!important;
}
.kp121-shop-selected{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  grid-template-rows:1fr!important;
  gap:12px!important;
  align-items:stretch!important;
  padding:10px!important;
}
.kp121-shop-selected-image{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
}
.kp121-shop-selected-image img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:5px!important;
}
.kp121-shop-selected-copy{
  min-width:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:8px!important;
  padding:5px 3px 5px 0!important;
}
.kp121-shop-selected-copy>strong{
  margin:0!important;
  font-size:18px!important;
  line-height:1.05!important;
}
.kp121-shop-selected-copy>p{
  width:100%!important;
  font-size:9px!important;
  line-height:1.45!important;
}
.kp121-shop-selected-copy .kp120-shop-effect{
  margin-top:2px!important;
}
.kp121-shop-selected-copy .kp120-shop-selected-bottom{
  margin-top:auto!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
.kp121-shop-selected-copy .kp120-shop-selected-bottom>b{
  font-size:13px!important;
}
.kp121-shop-selected-copy .kp116-shop-buy{
  width:100%!important;
}
@media(max-width:820px){
  .kp121-shop-selected{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    min-height:260px!important;
  }
}
@media(max-width:520px){
  .kp121-shop-selected{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
    gap:8px!important;
    min-height:230px!important;
    padding:8px!important;
  }
  .kp121-shop-selected-copy>strong{font-size:15px!important;}
  .kp121-shop-selected-copy>p{font-size:8px!important;}
}


/* v1.0.122 — catégories KerduStops : Classic / Premium / Événement / Mystère */
.kp122-kerdustop-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0;
}
.kp122-kerdustop-tab{
  appearance:none;
  min-width:0;
  min-height:48px;
  padding:7px 10px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.055);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  font:inherit;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.kp122-kerdustop-tab strong{
  font:900 10px/1 Montserrat,sans-serif;
}
.kp122-kerdustop-tab:hover{
  transform:translateY(-1px);
  border-color:rgba(212,175,55,.35);
}
.kp122-kerdustop-tab.is-active{
  background:var(--accent);
  border-color:var(--accent);
  color:#101713;
}
@media(max-width:820px){
  .kp122-kerdustop-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .kp122-kerdustop-tabs{gap:5px;}
  .kp122-kerdustop-tab{padding:5px;gap:4px;}
  .kp122-kerdustop-tab strong{font-size:8px;}
}

/* v1.0.123 — Les 4 catégories KerduStops reprennent exactement
   les dimensions et le responsive des 4 onglets du Shop GO Adventure. */


/* v1.0.124 — KerduStops :
   les 4 catégories utilisent réellement le même composant que les 4 onglets du Shop. */
.kp98-kerdustops-page{
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
}
.kp124-kerdustop-tabs{
  width:100%!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.kp124-kerdustop-tab{
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:7px 10px!important;
  border-radius:15px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  box-sizing:border-box!important;
}
.kp124-kerdustop-tab>span{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  border-radius:10px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 30px!important;
}
.kp124-kerdustop-tab>strong{
  font:900 10px/1 Montserrat,sans-serif!important;
  white-space:nowrap!important;
}
@media(max-width:820px){
  .kp124-kerdustop-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  .kp124-kerdustop-tabs{gap:5px!important;}
  .kp124-kerdustop-tab{
    padding:5px!important;
    gap:4px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }
  .kp124-kerdustop-tab>span{
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    min-height:26px!important;
    flex-basis:26px!important;
  }
  .kp124-kerdustop-tab>strong{font-size:8px!important;}
}


/* v1.0.125 — Shop et KerduStops sans initiales.
   Seul le nom de la catégorie reste centré dans la case. */
.kp116-shop-tab,
.kp124-kerdustop-tab{
  justify-content:center!important;
  gap:0!important;
}
.kp116-shop-tab>strong,
.kp124-kerdustop-tab>strong{
  width:100%!important;
  text-align:center!important;
  margin:0!important;
}


/* v1.0.127 — Statistiques GO Adventure :
   mêmes dimensions de cartes que les Règles du jeu.
   5 statistiques par ligne sur grand écran ; les futures statistiques
   continuent automatiquement sur les lignes suivantes. */
.kp90-stats-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  align-content:start!important;
  overflow:auto;
  padding:2px 4px 12px 2px;
}
.kp90-stats-grid article{
  min-width:0!important;
  min-height:240px!important;
  padding:22px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
  text-align:center!important;
}
.kp90-stats-grid article>b{
  font:900 clamp(30px,3vw,48px)/1 Montserrat,sans-serif!important;
  color:#f3d36b!important;
}
.kp90-stats-grid article>span{
  font:900 10px/1.2 Montserrat,sans-serif!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  color:rgba(255,255,255,.62)!important;
}
@media(max-width:1180px){
  .kp90-stats-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .kp90-stats-grid article{
    min-height:210px!important;
  }
}
@media(max-width:900px){
  .kp90-stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  .kp90-stats-grid article{
    min-height:180px!important;
    padding:16px!important;
  }
}
@media(max-width:430px){
  .kp90-stats-grid{
    grid-template-columns:1fr!important;
  }
}


/* v1.0.128 — Collection GO Adventure :
   mêmes 4 catégories et mêmes dimensions que KerduStops. */
.kp128-collection-page{
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  gap:12px;
  min-height:0;
}
.kp128-collection-tabs{
  width:100%!important;
  margin:0!important;
}
.kp128-collection-page .kp92-bag-grid{
  min-height:0;
  overflow:auto;
  align-content:start;
}


/* v1.0.129 — Shop GO Adventure :
   tous les visuels d'articles utilisent un carré blanc comme dans Collection,
   afin de mieux distinguer sacs, stockages, avatars et objets magiques. */
.kp121-shop-selected-image{
  align-self:center!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  min-height:0!important;
  max-height:100%!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.94)!important;
  box-sizing:border-box!important;
}
.kp121-shop-selected-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:10px!important;
  box-sizing:border-box!important;
}
.kp120-shop-compact{
  grid-template-columns:64px minmax(0,1fr)!important;
}
.kp120-shop-compact-image{
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.94)!important;
  box-sizing:border-box!important;
}
.kp120-shop-compact-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:5px!important;
  box-sizing:border-box!important;
}
.kp120-shop-selected-image>span,
.kp120-shop-compact-image>span{
  color:#0f6b3f!important;
}
@media(max-width:620px){
  .kp120-shop-compact{
    grid-template-columns:56px minmax(0,1fr)!important;
  }
  .kp120-shop-compact-image{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
    border-radius:14px!important;
  }
}


/* v1.0.130 — KerduStops :
   le badge tournant utilise maintenant un rond blanc au lieu du rond vert,
   pour être uniforme avec les autres visuels. */
.kp87-stop-card-badge,
.kp88-stop-card-badge,
.kp98-kerdustop-badge,
.kp98-kerdustop-hero-badge,
.kp98-kerdustop-item-badge{
  background:#ffffff !important;
  border-color:rgba(16,23,19,.08) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.10) !important;
}
.kp87-stop-card-badge img,
.kp88-stop-card-badge img,
.kp98-kerdustop-badge img,
.kp98-kerdustop-hero-badge img,
.kp98-kerdustop-item-badge img{
  filter:none !important;
}


/* v1.0.131 — correction réelle du rond KerduStop.
   Le cercle derrière le badge sélectionné est .kp87-selected-main::before. */
.kp87-selected-main::before{
  background:#ffffff !important;
  border:1px solid rgba(15,107,63,.10) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.14) !important;
}

/* Le badge tournant reste au-dessus du disque blanc. */
.kp87-selected-badge{
  position:relative !important;
  z-index:3 !important;
}

/* Petits badges KerduStops : support blanc circulaire également. */
.kp87-stop-card:not(.is-selected) .kp84-stop-badge{
  background:#ffffff !important;
  border-radius:50% !important;
  padding:3px !important;
  box-sizing:border-box !important;
  box-shadow:0 5px 12px rgba(0,0,0,.12) !important;
}


/* v1.0.132 — KerduStops :
   le rond blanc reste FIXE ; seule l'image du KerduStop tourne. */

/* Grand KerduStop sélectionné : le disque blanc est un pseudo-élément fixe. */
.kp87-selected-main::before{
  animation:none !important;
  transform:none !important;
  will-change:auto !important;
}
.kp87-selected-badge{
  animation:kp81KerduStopSpin 6.5s linear infinite !important;
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
}

/* Petits KerduStops : nouveau support blanc fixe séparé de l'image animée. */
.kp132-stop-badge-disc{
  width:44px;
  height:44px;
  border-radius:50%;
  background:#ffffff;
  border:1px solid rgba(15,107,63,.10);
  box-shadow:0 5px 12px rgba(0,0,0,.12);
  display:grid;
  place-items:center;
  overflow:hidden;
  animation:none !important;
  transform:none !important;
  will-change:auto !important;
}
.kp87-stop-card:not(.is-selected) .kp132-stop-badge-disc .kp84-stop-badge{
  width:38px;
  height:38px;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:drop-shadow(0 5px 7px rgba(0,0,0,.14)) !important;
  animation:kp81KerduStopSpin 8s linear infinite !important;
}
@media(max-width:720px){
  .kp132-stop-badge-disc{
    width:34px;
    height:34px;
  }
  .kp87-stop-card:not(.is-selected) .kp132-stop-badge-disc .kp84-stop-badge{
    width:28px;
    height:28px;
  }
}


/* v1.0.136 — GO Adventure :
   Explorer / Découvrir / Apprendre utilisent la même taille de police
   que Commander / Réserver / Jouer. */
.kp76-adventure-copy h2{
  font-size:clamp(62px,7vw,112px) !important;
  line-height:.86 !important;
}
@media(max-width:900px){
  .kp76-adventure-copy h2{
    font-size:clamp(62px,12vw,100px) !important;
  }
}
@media(max-width:620px){
  .kp76-adventure-copy h2{
    font-size:clamp(58px,17vw,78px) !important;
  }
}


/* v1.0.137 — GO Adventure :
   le titre Explorer / Découvrir / Apprendre montre le logo
   visible à travers les lettres. */
.kp76-adventure-copy h2{
  display:inline-block !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  background-image:url('https://www.kerdudal-ops.com/Go/Pictures_Go_Object/LOGO_KERDUDAL_GO_ADVENTURE.png?v=105') !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  filter:drop-shadow(0 2px 0 rgba(255,255,255,.22)) drop-shadow(0 10px 18px rgba(0,0,0,.14)) !important;
}


/* v1.0.138 — GO Adventure :
   on conserve le fond logo dans les lettres
   et on ajoute un contour blanc. */
.kp76-adventure-copy h2{
  -webkit-text-stroke: 2.5px rgba(255,255,255,.98) !important;
  paint-order: stroke fill !important;
  filter: drop-shadow(0 3px 0 rgba(255,255,255,.18)) drop-shadow(0 10px 18px rgba(0,0,0,.12)) !important;
}
@media(max-width:900px){
  .kp76-adventure-copy h2{
    -webkit-text-stroke: 2.2px rgba(255,255,255,.98) !important;
  }
}
@media(max-width:620px){
  .kp76-adventure-copy h2{
    -webkit-text-stroke: 1.8px rgba(255,255,255,.98) !important;
  }
}


/* v1.0.139 — GO Adventure :
   police d'origine conservée exactement ; le logo reste dans les lettres.
   Le contour blanc est désormais extérieur via text-shadow, sans épaissir les glyphes. */
.kp76-adventure-copy h2{
  font-family:Montserrat,sans-serif !important;
  font-weight:900 !important;
  font-style:normal !important;
  letter-spacing:-.063em !important;
  -webkit-text-stroke:0 transparent !important;
  paint-order:normal !important;
  text-shadow:
    -1px -1px 0 rgba(255,255,255,.96),
     0   -1px 0 rgba(255,255,255,.96),
     1px -1px 0 rgba(255,255,255,.96),
    -1px  0   0 rgba(255,255,255,.96),
     1px  0   0 rgba(255,255,255,.96),
    -1px  1px 0 rgba(255,255,255,.96),
     0    1px 0 rgba(255,255,255,.96),
     1px  1px 0 rgba(255,255,255,.96),
     0    8px 16px rgba(0,0,0,.14) !important;
  filter:none !important;
}


/* v1.0.140 — GO Adventure :
   mêmes lettres qu'avant, mais chaque mot reçoit un remplissage couleur différent,
   inspiré du logo :
   - Explorer = Kerdudal
   - Découvrir = verts de GO
   - Apprendre = jaune Adventure
*/
.kp76-adventure-copy h2{
  font-family:Montserrat,sans-serif !important;
  font-weight:900 !important;
  font-style:normal !important;
  letter-spacing:-.063em !important;
  background:none !important;
  color:#ffffff !important;
  -webkit-text-fill-color:initial !important;
  -webkit-text-stroke:0 transparent !important;
  paint-order:normal !important;
  text-shadow:none !important;
  filter:none !important;
}
.kp76-adventure-copy h2 .kp140-title-line{
  display:block !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  text-shadow:
    -1px -1px 0 rgba(255,255,255,.98),
     0   -1px 0 rgba(255,255,255,.98),
     1px -1px 0 rgba(255,255,255,.98),
    -1px  0   0 rgba(255,255,255,.98),
     1px  0   0 rgba(255,255,255,.98),
    -1px  1px 0 rgba(255,255,255,.98),
     0    1px 0 rgba(255,255,255,.98),
     1px  1px 0 rgba(255,255,255,.98),
     0    8px 16px rgba(0,0,0,.14) !important;
}
.kp76-adventure-copy h2 .kp140-title-explorer{
  background-image:linear-gradient(180deg,
    #0b4d33 0%,
    #116742 22%,
    #1e8755 48%,
    #2faa6d 74%,
    #5fc98f 100%) !important;
}
.kp76-adventure-copy h2 .kp140-title-decouvrir{
  background-image:linear-gradient(180deg,
    #0a7858 0%,
    #0f9167 20%,
    #17aa79 42%,
    #29c18c 65%,
    #6ad9ac 100%) !important;
}
.kp76-adventure-copy h2 .kp140-title-apprendre{
  background-image:linear-gradient(180deg,
    #ffe98a 0%,
    #ffd94f 18%,
    #f6c933 42%,
    #e7b415 68%,
    #ca9700 100%) !important;
}


/* v1.0.141 — GO Adventure :
   correction du titre coloré :
   - intérieur réellement rempli par des dégradés
   - contour blanc fin seulement autour
   - aucune ombre blanche qui remplit les lettres
*/
.kp76-adventure-copy h2{
  background:none !important;
  color:#fff !important;
  -webkit-text-fill-color:initial !important;
  text-shadow:none !important;
  filter:none !important;
}

.kp76-adventure-copy h2 .kp140-title-line{
  display:block !important;
  width:max-content !important;
  line-height:.86 !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  text-shadow:none !important;
  -webkit-text-stroke:1.2px rgba(255,255,255,.98) !important;
  paint-order:stroke fill !important;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.14)) !important;
}

@media(max-width:900px){
  .kp76-adventure-copy h2 .kp140-title-line{
    -webkit-text-stroke:1.05px rgba(255,255,255,.98) !important;
  }
}
@media(max-width:620px){
  .kp76-adventure-copy h2 .kp140-title-line{
    -webkit-text-stroke:.9px rgba(255,255,255,.98) !important;
  }
}

.kp76-adventure-copy h2 .kp140-title-explorer{
  background-image:linear-gradient(180deg,
    #0d5a38 0%,
    #147146 24%,
    #238e58 50%,
    #39ab6d 76%,
    #6bcc97 100%) !important;
}
.kp76-adventure-copy h2 .kp140-title-decouvrir{
  background-image:linear-gradient(180deg,
    #0a6f55 0%,
    #0d8a63 22%,
    #15a373 46%,
    #2cc08a 72%,
    #74ddb3 100%) !important;
}
.kp76-adventure-copy h2 .kp140-title-apprendre{
  background-image:linear-gradient(180deg,
    #fff1a5 0%,
    #ffe16a 18%,
    #ffd23f 42%,
    #efbf18 70%,
    #d39f00 100%) !important;
}


/* v1.0.142 — GO Adventure :
   simplification complète du titre :
   Explorer = marron
   Découvrir = jaune
   Apprendre = vert
   Sans effet logo, sans contour spécial.
*/
.kp76-adventure-copy h2{
  background:none !important;
  color:#ffffff !important;
  -webkit-text-fill-color:initial !important;
  -webkit-text-stroke:0 transparent !important;
  text-shadow:none !important;
  filter:none !important;
}

.kp76-adventure-copy h2 .kp140-title-line{
  display:block !important;
  width:max-content !important;
  background:none !important;
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  -webkit-text-stroke:0 transparent !important;
  text-shadow:none !important;
  filter:none !important;
}

.kp76-adventure-copy h2 .kp140-title-explorer{
  color:#7a4b22 !important; /* marron */
}
.kp76-adventure-copy h2 .kp140-title-decouvrir{
  color:#f1c40f !important; /* jaune */
}
.kp76-adventure-copy h2 .kp140-title-apprendre{
  color:#2e9f55 !important; /* vert */
}


/* v1.0.143 — GO Adventure :
   Explorer / Découvrir / Apprendre reprennent exactement
   l'espacement vertical de Épicerie / Café / Snack. */
.kp76-adventure-copy h2{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:.04em !important;
  min-height:3.06em !important;
  line-height:1.02 !important;
}
.kp76-adventure-copy h2 .kp140-title-line{
  display:block !important;
  min-height:1em !important;
  line-height:1.02 !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
}


/* v1.0.144 — Footer : plusieurs établissements et services numériques. */
.kp20-company-columns>div>strong+small+strong{
  margin-top:10px;
}
.kp20-company-columns>div>strong+strong{
  margin-top:10px;
}


/* v1.0.145 — Footer : Contact dans Informations. */
.kp20-company-columns .kp145-info-contact{
  display:block;
  color:rgba(255,255,255,.72);
  font:700 13px/1.4 Montserrat,sans-serif;
}


/* v1.0.146 — Footer Informations : 4 liens identiques + popup type KerduStops. */
.kp20-company-columns .kp146-info-link{
  display:block;
  color:rgba(255,255,255,.72);
  font:700 13px/1.4 Montserrat,sans-serif;
  text-decoration:none;
  transition:color .18s ease,transform .18s ease;
}
.kp20-company-columns .kp146-info-link:hover,
.kp20-company-columns .kp146-info-link:focus-visible{
  color:#fff;
  transform:translateX(2px);
}
.kp146-info-panel{
  z-index:520 !important;
  background:#0f3d1a !important;
}
.kp146-info-panel.is-open{
  transform:translate3d(0,0,0) !important;
  pointer-events:auto !important;
}
body.info-panel-open{overflow:hidden}
.kp146-info-shell{
  grid-template-rows:auto minmax(0,1fr) !important;
}
.kp146-info-head{
  grid-template-columns:minmax(0,1fr) auto !important;
}
.kp146-info-close{
  border:0;
  cursor:pointer;
}
.kp146-info-content{
  min-height:0;
  overflow:hidden;
  border-radius:24px;
  background:#f4f1e8;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 20px 60px rgba(0,0,0,.20);
}
.kp146-info-content iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  border:0;
  background:#f4f1e8;
}
@media(max-width:720px){
  .kp146-info-shell{padding:14px 12px 12px !important}
  .kp146-info-content{border-radius:18px}
}


/* v1.0.147 — Footer :
   le logo du footer reprend exactement l'axe gauche du logo du header. */
.kp20-company-section{
  display:block !important;
  padding:clamp(48px,5.5vw,78px) 0 !important;
}
.kp147-company-inner{
  box-sizing:border-box;
  width:100%;
  max-width:1560px;
  margin:0 auto;
  padding:0 clamp(18px,4vw,64px);
  display:grid;
  grid-template-columns:.7fr 1.6fr;
  gap:60px;
  align-items:center;
}
@media(max-width:1180px){
  .kp147-company-inner{
    grid-template-columns:1fr;
    gap:36px;
  }
}
@media(max-width:620px){
  .kp20-company-section{
    padding:50px 0 !important;
  }
  .kp147-company-inner{
    padding:0 14px;
    grid-template-columns:1fr;
    gap:36px;
  }
}


/* v1.0.148 — Popups Informations :
   aucun texte dans la zone verte ; seul le contenu de la zone blanche reste visible. */
.kp146-info-head{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
}


/* v1.0.150 — Venir : premier bloc sans titre/kicker. */
.kp20-info-block.kp150-info-no-kicker{
  justify-content:center;
}


/* v1.0.151 — Venir :
   deux grandes cases uniquement ; mention chiens d'assistance sur une ligne séparée en vert. */
.kp20-info-card{
  grid-template-rows:repeat(2,minmax(0,1fr));
}
.kp20-info-block .kp151-assistance{
  display:block;
  margin-top:12px;
  color:var(--brand) !important;
  font-weight:900;
}


/* v1.0.152 — Venir :
   suppression du titre SUR PLACE et maintien du titre animaux sur une seule ligne. */
.kp20-info-block.kp152-pets-block{
  justify-content:center;
}
.kp20-info-block .kp152-pets-title{
  display:block;
  white-space:nowrap;
}
@media(max-width:620px){
  .kp20-info-block .kp152-pets-title{
    white-space:normal;
  }
}


/* v1.0.153 — Venir :
   titre sur une seule ligne, première partie verte, seconde jaune. */
.kp20-visit-head .kp153-visit-title{
  white-space:nowrap !important;
}
.kp153-visit-title .kp153-find{
  color:var(--brand) !important;
}
.kp153-visit-title .kp153-forget{
  color:#f1c40f !important;
}
@media(max-width:620px){
  .kp20-visit-head .kp153-visit-title{
    font-size:clamp(18px,5.1vw,32px) !important;
    letter-spacing:-.045em !important;
  }
}


/* v1.0.155 — animation du titre Venir */
.kp20-visit-head .kp153-visit-title{
  display:inline-flex;
  align-items:center;
  gap:.32em;
}
.kp153-visit-title .kp153-find,
.kp153-visit-title .kp153-forget{
  display:inline-block;
  animation-duration:4.8s;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
  transform-origin:center center;
  will-change:transform, text-shadow, filter;
}
.kp153-visit-title .kp153-find{
  animation-name:kp155FindPulse;
}
.kp153-visit-title .kp153-forget{
  animation-name:kp155ForgetPulse;
}
@keyframes kp155FindPulse{
  0%, 16%, 100%{ transform:translateY(0) scale(1); text-shadow:0 0 0 rgba(0,0,0,0); filter:brightness(1); }
  8%{ transform:translateY(-2px) scale(1.07); text-shadow:0 10px 22px rgba(39,174,96,.28); filter:brightness(1.08); }
}
@keyframes kp155ForgetPulse{
  0%, 28%, 100%{ transform:translateY(0) scale(1); text-shadow:0 0 0 rgba(0,0,0,0); filter:brightness(1); }
  14%, 20%{ transform:translateY(-2px) scale(1.07); text-shadow:0 10px 22px rgba(241,196,15,.25); filter:brightness(1.08); }
}
@media (prefers-reduced-motion: reduce){
  .kp153-visit-title .kp153-find,
  .kp153-visit-title .kp153-forget{
    animation:none !important;
  }
}


/* v1.0.156 — titre Venir plus petit, animation uniquement sur la partie jaune */
.kp20-visit-head .kp153-visit-title{
  font-size:clamp(20px,2.15vw,31px) !important;
  line-height:1.08 !important;
  letter-spacing:-.032em !important;
}
.kp153-visit-title .kp153-find{
  animation:none !important;
  transform:none !important;
  text-shadow:none !important;
  filter:none !important;
}
.kp153-visit-title .kp153-forget{
  animation-name:kp155ForgetPulse !important;
  animation-duration:3.8s !important;
  animation-timing-function:ease-in-out !important;
  animation-iteration-count:infinite !important;
}
@media(max-width:620px){
  .kp20-visit-head .kp153-visit-title{
    font-size:clamp(18px,4.6vw,27px) !important;
    letter-spacing:-.03em !important;
  }
}


/* v1.0.157 — animation vague lettre par lettre sur « Difficile à Oublier ! » */
.kp153-visit-title .kp153-forget.kp157-wave{
  display:inline-flex !important;
  align-items:flex-end;
  gap:0;
  animation:none !important;
  transform:none !important;
  text-shadow:none !important;
  filter:none !important;
}
.kp153-visit-title .kp153-forget.kp157-wave .kp157-letter,
.kp153-visit-title .kp153-forget.kp157-wave .kp157-space{
  display:inline-block;
  color:inherit;
}
.kp153-visit-title .kp153-forget.kp157-wave .kp157-letter{
  animation:kp157Wave 1.9s ease-in-out infinite;
  animation-delay:calc(var(--i) * 0.08s);
  will-change:transform, text-shadow, filter;
}
.kp153-visit-title .kp153-forget.kp157-wave .kp157-space{
  width:.34em;
}
@keyframes kp157Wave{
  0%, 100%{
    transform:translateY(0);
    text-shadow:0 0 0 rgba(0,0,0,0);
    filter:brightness(1);
  }
  35%{
    transform:translateY(-0.22em);
    text-shadow:0 .16em .34em rgba(241,196,15,.28);
    filter:brightness(1.08);
  }
  70%{
    transform:translateY(0.05em);
    text-shadow:0 0 0 rgba(0,0,0,0);
    filter:brightness(1);
  }
}
@media (prefers-reduced-motion: reduce){
  .kp153-visit-title .kp153-forget.kp157-wave .kp157-letter{
    animation:none !important;
  }
}


/* v1.0.158 — Page Avis Google + Kerdudal */
.kp158-reviews-body{background:#f4f6f3;color:#111a14}.kp158-reviews-main{max-width:1560px;margin:0 auto;padding:clamp(46px,6vw,92px) clamp(18px,4vw,64px) 90px}.kp158-reviews-hero{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:end;padding:clamp(34px,5vw,72px);border-radius:36px;background:#0d1711;color:#fff;overflow:hidden;position:relative}.kp158-reviews-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-160px;top:-220px;border:1px solid rgba(212,175,55,.35);box-shadow:0 0 0 72px rgba(212,175,55,.04),0 0 0 144px rgba(15,107,63,.05)}.kp158-eyebrow{display:block;color:#d4af37;font:900 11px/1 Montserrat,sans-serif;letter-spacing:.18em;margin-bottom:16px}.kp158-reviews-hero h1{font:900 clamp(44px,6vw,92px)/.92 Montserrat,sans-serif;letter-spacing:-.065em;margin:0;max-width:820px}.kp158-reviews-hero p{max-width:680px;color:rgba(255,255,255,.68);font-size:17px;line-height:1.6;margin:22px 0 0}.kp158-rating{position:relative;z-index:1;text-align:right}.kp158-rating strong{display:block;font:900 clamp(56px,7vw,104px)/.9 Montserrat,sans-serif;color:#fff}.kp158-rating span{display:block;color:#f1c40f;font-size:24px;letter-spacing:.1em;margin-top:12px}.kp158-rating small{display:block;color:rgba(255,255,255,.58);font-weight:800;margin-top:8px}.kp158-reviews-tools{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:30px 0}.kp158-tabs{display:flex;gap:6px;padding:6px;background:#fff;border:1px solid #dde2dc;border-radius:999px}.kp158-tabs button{border:0;background:transparent;padding:11px 20px;border-radius:999px;font:900 12px/1 Montserrat,sans-serif;color:#69736c;cursor:pointer}.kp158-tabs button.active{background:#0d1711;color:#fff}.kp158-actions{display:flex;gap:9px}.kp158-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:14px;border:0;font:900 12px/1 Montserrat,sans-serif;cursor:pointer;text-decoration:none}.kp158-btn-green{background:var(--brand);color:#fff}.kp158-btn-google{background:#fff;color:#111a14;border:1px solid #dce0dc}.kp158-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.kp158-review-card{background:#fff;border:1px solid #e0e4df;border-radius:24px;padding:22px;box-shadow:0 14px 40px rgba(16,40,25,.05)}.kp158-review-top{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center}.kp158-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;background:#eaf3ed;display:grid;place-items:center;color:var(--brand);font:900 17px Montserrat}.kp158-avatar img{width:100%;height:100%;object-fit:cover}.kp158-review-top strong{display:block;font:900 14px Montserrat}.kp158-review-top small{display:block;color:#838b85;font-size:11px;margin-top:3px}.kp158-source{font:900 9px/1 Montserrat;padding:7px 9px;border-radius:999px;letter-spacing:.08em}.kp158-source.google{background:#eef3ff;color:#3064cf}.kp158-source.kerdudal{background:#e8f5ed;color:var(--brand)}.kp158-stars{color:#f1c40f;font-size:18px;letter-spacing:.05em;margin:18px 0 12px}.kp158-stars i{font-style:normal;color:#dfe3df}.kp158-review-card>p{font-size:14px;line-height:1.65;color:#354039;margin:0}.kp158-reply{margin-top:18px;padding:14px;border-radius:15px;background:#f0f5f1;border-left:3px solid var(--brand)}.kp158-reply strong{font:900 11px Montserrat;color:var(--brand)}.kp158-reply p{margin:6px 0 0;font-size:12px;line-height:1.55;color:#465149}.kp158-empty{grid-column:1/-1;padding:70px;text-align:center;background:#fff;border-radius:24px;color:#778078}.kp158-review-modal{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;opacity:0;pointer-events:none;transition:.2s}.kp158-review-modal.open{opacity:1;pointer-events:auto}.kp158-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(6,12,8,.72);backdrop-filter:blur(8px)}.kp158-modal-card{position:relative;width:min(92vw,560px);background:#fff;border-radius:28px;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.kp158-modal-card h2{font:900 34px/1 Montserrat;margin:0 0 24px;letter-spacing:-.04em}.kp158-modal-close{position:absolute;right:18px;top:16px;border:0;background:#eef1ee;border-radius:50%;width:38px;height:38px;font-size:24px;cursor:pointer}.kp158-modal-card form{display:grid;gap:16px}.kp158-modal-card label,.kp158-modal-card legend{font:900 11px Montserrat;color:#39433c}.kp158-modal-card input[type=text],.kp158-modal-card input:not([type]),.kp158-modal-card textarea{box-sizing:border-box;width:100%;margin-top:7px;border:1px solid #d8ddd8;border-radius:13px;padding:12px 13px;font:600 14px Inter,sans-serif}.kp158-modal-card textarea{min-height:130px;resize:vertical}.kp158-modal-card fieldset{border:0;padding:0;margin:0}.kp158-star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;margin-top:7px}.kp158-star-input input{position:absolute;opacity:0}.kp158-star-input label{font-size:34px;color:#dce0dc;cursor:pointer}.kp158-star-input input:checked~label,.kp158-star-input label:hover,.kp158-star-input label:hover~label{color:#f1c40f}.kp158-hp{position:absolute!important;left:-10000px!important}.kp158-form-status{font-size:12px;font-weight:800;color:#a93c3c;margin:0}.kp158-form-status.ok{color:var(--brand)}body.kp158-modal-open{overflow:hidden}
@media(max-width:1080px){.kp158-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kp158-reviews-hero{grid-template-columns:1fr}.kp158-rating{text-align:left}}
@media(max-width:720px){.kp158-reviews-main{padding-top:30px}.kp158-reviews-hero{border-radius:24px;padding:30px 22px}.kp158-reviews-tools{align-items:stretch;flex-direction:column}.kp158-tabs{width:100%;box-sizing:border-box}.kp158-tabs button{flex:1;padding-inline:10px}.kp158-actions{display:grid;grid-template-columns:1fr 1fr}.kp158-review-grid{grid-template-columns:1fr}.kp158-review-card{border-radius:20px}.kp158-rating strong{font-size:64px}}


/* v1.0.159 — Avis intégré à la page principale, juste après Venir. */
.kp159-reviews-section{
  scroll-margin-top:110px;
  box-sizing:border-box;
  width:100%;
}
@media(max-width:720px){
  .kp159-reviews-section{
    scroll-margin-top:86px;
  }
}


/* v1.0.160 — Avis :
   la section qui suit Venir passe sur un fond vert pleine largeur. */
.kp159-reviews-section{
  position:relative;
  isolation:isolate;
}
.kp159-reviews-section::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:var(--brand);
}
.kp159-reviews-section .kp158-reviews-tools{
  position:relative;
  z-index:1;
}
.kp159-reviews-section .kp158-btn-green{
  background:#0d1711;
  color:#fff;
}


/* v1.0.161 — Avis reprend exactement la palette de GO Adventure. */
.kp159-reviews-section{
  color:#fff !important;
}
.kp159-reviews-section::before{
  background:linear-gradient(135deg,#07120d 0%,#102e22 48%,#07120d 100%) !important;
}
.kp159-reviews-section::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:800px;
  height:800px;
  border-radius:50%;
  left:-350px;
  bottom:-500px;
  border:1px solid rgba(212,175,55,.13);
  box-shadow:
    0 0 0 90px rgba(212,175,55,.025),
    0 0 0 180px rgba(212,175,55,.014);
  pointer-events:none;
}

/* En-tête Avis : mêmes couleurs que le texte GO Adventure. */
.kp159-reviews-section .kp158-reviews-hero{
  background:transparent !important;
  color:#fff !important;
  box-shadow:none !important;
}
.kp159-reviews-section .kp158-eyebrow{
  color:#d4af37 !important;
}
.kp159-reviews-section .kp158-reviews-hero h1,
.kp159-reviews-section .kp158-rating strong{
  color:#fff !important;
}
.kp159-reviews-section .kp158-reviews-hero p{
  color:rgba(255,255,255,.66) !important;
}
.kp159-reviews-section .kp158-rating span{
  color:#f1c40f !important;
}
.kp159-reviews-section .kp158-rating small{
  color:rgba(255,255,255,.58) !important;
}

/* Filtres et actions : jaune GO Adventure + texte sombre. */
.kp159-reviews-section .kp158-tabs{
  background:rgba(255,255,255,.07) !important;
  border-color:rgba(255,255,255,.14) !important;
}
.kp159-reviews-section .kp158-tabs button{
  color:rgba(255,255,255,.72) !important;
}
.kp159-reviews-section .kp158-tabs button.active{
  background:var(--accent) !important;
  color:#10130f !important;
}
.kp159-reviews-section .kp158-btn,
.kp159-reviews-section .kp158-btn-green,
.kp159-reviews-section .kp158-btn-google{
  background:var(--accent) !important;
  color:#10130f !important;
  box-shadow:0 15px 32px rgba(212,175,55,.22) !important;
}
.kp159-reviews-section .kp158-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 38px rgba(212,175,55,.30) !important;
}

/* Cartes d'avis dans la même ambiance sombre et blanche. */
.kp159-reviews-section .kp158-review-card{
  background:rgba(255,255,255,.065) !important;
  border-color:rgba(255,255,255,.14) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.18) !important;
  color:#fff !important;
}
.kp159-reviews-section .kp158-avatar{
  background:rgba(212,175,55,.12) !important;
  color:#d4af37 !important;
}
.kp159-reviews-section .kp158-review-top strong{
  color:#fff !important;
}
.kp159-reviews-section .kp158-review-top small{
  color:rgba(255,255,255,.58) !important;
}
.kp159-reviews-section .kp158-review-card>p{
  color:rgba(255,255,255,.78) !important;
}
.kp159-reviews-section .kp158-source.kerdudal{
  background:var(--accent) !important;
  color:#10130f !important;
}
.kp159-reviews-section .kp158-source.google{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
}
.kp159-reviews-section .kp158-stars{
  color:#f1c40f !important;
}
.kp159-reviews-section .kp158-stars i{
  color:rgba(255,255,255,.20) !important;
}
.kp159-reviews-section .kp158-reply{
  background:rgba(255,255,255,.06) !important;
  border-left-color:#d4af37 !important;
}
.kp159-reviews-section .kp158-reply strong{
  color:#d4af37 !important;
}
.kp159-reviews-section .kp158-reply p{
  color:rgba(255,255,255,.72) !important;
}
.kp159-reviews-section .kp158-empty{
  background:rgba(255,255,255,.06) !important;
  color:rgba(255,255,255,.68) !important;
  border:1px solid rgba(255,255,255,.14);
}

/* v1.0.162 — Avis utilise exactement le même gabarit de hauteur que les 5 pages principales.
   Si le nombre d’avis dépasse la place disponible, seule la section Avis défile en interne
   afin de ne jamais modifier la hauteur du parcours principal. */
.kp159-reviews-section{
  box-sizing:border-box !important;
  scroll-margin-top:var(--kp34-header-height,102px) !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
}

@media(min-width:1101px){
  .kp159-reviews-section{
    height:920px !important;
    min-height:920px !important;
    max-height:920px !important;
    padding-top:60px !important;
    padding-bottom:60px !important;
  }
}

@media(min-width:901px) and (max-width:1100px){
  .kp159-reviews-section{
    height:1160px !important;
    min-height:1160px !important;
    max-height:1160px !important;
    padding-top:70px !important;
    padding-bottom:70px !important;
  }
}

@media(min-width:621px) and (max-width:900px){
  .kp159-reviews-section{
    height:1450px !important;
    min-height:1450px !important;
    max-height:1450px !important;
  }
}

@media(max-width:620px){
  .kp159-reviews-section{
    height:1400px !important;
    min-height:1400px !important;
    max-height:1400px !important;
  }
}



/* v1.0.163 — Avis fait partie du flux principal, sans cadre ni défilement interne.
   La section est une vraie page pleine largeur, comme Horaires / GO Adventure.
   Son contenu reste centré dans un conteneur interne, mais la page elle-même
   n'est plus un bloc max-width et ne possède plus sa propre barre de défilement. */
.kp163-reviews-section{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding-left:clamp(18px,4vw,64px) !important;
  padding-right:clamp(18px,4vw,64px) !important;
  background:linear-gradient(135deg,#07120d 0%,#102e22 48%,#07120d 100%) !important;
  overflow:hidden !important;
  overscroll-behavior:auto !important;
}
.kp163-reviews-section::before{
  display:none !important;
}
.kp163-reviews-inner{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:1560px !important;
  height:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

@media(max-width:720px){
  .kp163-reviews-section{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}


/* v1.0.164 — page Venir : ajout de grands boutons externes harmonisés sous le plan.
   Les petits contrôles internes de Google Maps restent gérés par Google dans l'iframe,
   mais le site propose maintenant ses propres actions Itinéraire / Ouvrir, plus visibles. */
.kp164-map-stack{display:grid;gap:16px}
.kp164-map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kp164-map-button{position:relative;display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:24px;text-decoration:none;box-shadow:0 18px 40px rgba(16,46,34,.12);border:1px solid rgba(16,46,34,.12);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.kp164-map-button:hover,.kp164-map-button:focus-visible{transform:translateY(-2px);box-shadow:0 22px 46px rgba(16,46,34,.16);filter:saturate(1.02)}
.kp164-map-button:focus-visible{outline:3px solid rgba(180,149,61,.35);outline-offset:2px}
.kp164-map-button-route{background:linear-gradient(135deg,#163d2d 0%,#23593c 100%);color:#fff}
.kp164-map-button-open{background:linear-gradient(135deg,#fff7d1 0%,#f4e3a4 100%);color:#173b2b}
.kp164-map-icon{width:58px;height:58px;min-width:58px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
.kp164-map-button-route .kp164-map-icon{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}
.kp164-map-button-open .kp164-map-icon{background:rgba(255,255,255,.55);border:1px solid rgba(23,59,43,.08)}
.kp164-map-icon svg{width:28px;height:28px;display:block;fill:currentColor}
.kp164-map-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.kp164-map-text strong{font:900 clamp(18px,2vw,24px)/1 Montserrat,sans-serif;letter-spacing:-.03em}
.kp164-map-text small{font-size:12px;line-height:1.35;opacity:.86}
@media (max-width:980px){
  .kp164-map-actions{grid-template-columns:1fr 1fr}
  .kp164-map-button{padding:16px 18px}
  .kp164-map-icon{width:52px;height:52px;min-width:52px;border-radius:16px}
}
@media (max-width:720px){
  .kp164-map-actions{grid-template-columns:1fr}
}


/* v1.0.166 — page Venir : cache premium des contrôles Google en haut à gauche
   et boutons Kerdudal renforcés. Le cache couvre le panneau natif Itinéraire/Ouvrir
   et intercepte les clics dans cette zone, tandis que le reste de la carte reste interactif. */
.kp166-map-cover{position:absolute;z-index:5;top:0;left:0;width:min(390px,calc(100% - 18px));min-height:122px;display:flex;align-items:center;gap:16px;padding:20px 22px 20px 20px;border-radius:0 0 28px 0;background:linear-gradient(145deg,rgba(8,27,19,.98),rgba(22,61,45,.97));color:#fff;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);box-shadow:0 22px 48px rgba(4,22,14,.30),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:auto;cursor:default}
.kp166-map-pin{width:56px;height:56px;min-width:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f4e3a4,#d1b45c);color:#143728;box-shadow:0 10px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.75)}
.kp166-map-pin svg{width:28px;height:28px;fill:currentColor}
.kp166-map-cover-text{display:flex;flex-direction:column;min-width:0}
.kp166-map-cover-text strong{font:900 20px/1.05 Montserrat,sans-serif;letter-spacing:-.03em}
.kp166-map-cover-text small{margin-top:6px;font-size:12px;line-height:1.35;color:rgba(255,255,255,.76)}
.kp166-map-cover-text em{margin-top:9px;font:800 10px/1 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#f2dc8f;font-style:normal}
.kp164-map-actions{gap:16px}
.kp164-map-button{min-height:92px;padding:18px 22px;border-radius:28px;border:1px solid rgba(255,255,255,.18);overflow:hidden;isolation:isolate}
.kp164-map-button::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.18) 42%,transparent 68%);transform:translateX(-120%);transition:transform .55s ease}
.kp164-map-button:hover::after,.kp164-map-button:focus-visible::after{transform:translateX(120%)}
.kp164-map-button-route{background:linear-gradient(135deg,#0d2c20 0%,#1d5338 55%,#2e7450 100%);color:#fff;box-shadow:0 20px 46px rgba(14,55,38,.22)}
.kp164-map-button-open{background:linear-gradient(135deg,#fff9dc 0%,#f5e5a9 55%,#dfc66e 100%);color:#133626;box-shadow:0 20px 46px rgba(112,91,25,.18)}
.kp164-map-icon{width:64px;height:64px;min-width:64px;border-radius:20px}
.kp164-map-button-route .kp164-map-icon{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px rgba(0,0,0,.12)}
.kp164-map-button-open .kp164-map-icon{background:rgba(255,255,255,.7);border:1px solid rgba(19,54,38,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 22px rgba(94,74,20,.12)}
.kp164-map-icon svg{width:31px;height:31px}
.kp164-map-text strong{font-size:clamp(20px,2vw,26px)}
.kp164-map-text small{font-size:12px;font-weight:700;letter-spacing:.01em}
@media (max-width:980px){
  .kp166-map-cover{top:0;left:0;width:min(350px,calc(100% - 14px));min-height:108px;padding:17px 18px 17px 17px;border-radius:0 0 24px 0}
  .kp166-map-pin{width:50px;height:50px;min-width:50px;border-radius:16px}
  .kp164-map-button{min-height:84px;padding:16px 18px;border-radius:24px}
  .kp164-map-icon{width:56px;height:56px;min-width:56px;border-radius:18px}
}
@media (max-width:720px){
  .kp166-map-cover{top:0;left:0;width:calc(100% - 8px);min-height:94px;padding:14px 15px 14px 14px;border-radius:0 0 20px 0;gap:12px}
  .kp166-map-pin{width:46px;height:46px;min-width:46px;border-radius:15px}
  .kp166-map-pin svg{width:24px;height:24px}
  .kp166-map-cover-text strong{font-size:17px}
  .kp166-map-cover-text small{font-size:11px}
  .kp166-map-cover-text em{margin-top:7px;font-size:9px}
  .kp164-map-button{min-height:78px}
}


/* v1.0.168 — page Venir : les actions Itinéraire / Ouvrir sont maintenant intégrées
   directement DANS la carte, collées au bas du plan. Le bandeau premium masque ainsi
   les contrôles Google inférieurs et reprend le langage visuel du panneau Kerdudal supérieur. */
.kp164-map-stack{display:block}
.kp20-map-card>.kp168-map-actions{position:absolute;z-index:6;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px 16px 16px;background:linear-gradient(180deg,rgba(6,24,17,0) 0%,rgba(6,24,17,.76) 28%,rgba(6,24,17,.95) 58%,rgba(6,24,17,.98) 100%);border-radius:0 0 34px 34px;pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.kp20-map-card>.kp168-map-actions .kp164-map-button{min-height:88px;padding:14px 18px;border-radius:24px;box-shadow:0 14px 32px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.20)}
.kp20-map-card>.kp168-map-actions .kp164-map-button-route{background:linear-gradient(145deg,rgba(8,36,25,.98),rgba(28,83,56,.98));color:#fff}
.kp20-map-card>.kp168-map-actions .kp164-map-button-open{background:linear-gradient(145deg,#fff7cf 0%,#efd98b 58%,#d8ba58 100%);color:#143728}
.kp20-map-card>.kp168-map-actions .kp164-map-icon{width:58px;height:58px;min-width:58px;border-radius:18px}
.kp20-map-card>.kp168-map-actions .kp164-map-text strong{font-size:clamp(19px,1.8vw,25px)}
.kp20-map-card>.kp168-map-actions .kp164-map-text small{font-size:11px}
@media (max-width:980px){
  .kp20-map-card>.kp168-map-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 13px 14px;border-radius:0 0 26px 26px}
  .kp20-map-card>.kp168-map-actions .kp164-map-button{min-height:78px;padding:12px 14px;border-radius:20px;gap:10px}
  .kp20-map-card>.kp168-map-actions .kp164-map-icon{width:50px;height:50px;min-width:50px;border-radius:16px}
  .kp20-map-card>.kp168-map-actions .kp164-map-icon svg{width:27px;height:27px}
}
@media (max-width:720px){
  .kp20-map-card>.kp168-map-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 10px 12px;border-radius:0 0 26px 26px}
  .kp20-map-card>.kp168-map-actions .kp164-map-button{min-height:70px;padding:10px 10px;border-radius:18px;gap:8px}
  .kp20-map-card>.kp168-map-actions .kp164-map-icon{width:42px;height:42px;min-width:42px;border-radius:14px}
  .kp20-map-card>.kp168-map-actions .kp164-map-icon svg{width:23px;height:23px}
  .kp20-map-card>.kp168-map-actions .kp164-map-text strong{font-size:16px}
  .kp20-map-card>.kp168-map-actions .kp164-map-text small{font-size:9px;line-height:1.2}
}


/* v1.0.169 — les 2 cases du bas du plan reprennent exactement le langage visuel
   du panneau premium en haut à gauche : même matière, même rendu, zéro espace. */
.kp20-map-card>.kp168-map-actions{position:absolute;z-index:6;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;background:none;border-radius:0;pointer-events:auto;backdrop-filter:none;-webkit-backdrop-filter:none}
.kp20-map-card>.kp168-map-actions .kp164-map-button{min-height:118px;padding:20px 22px 20px 20px;border-radius:0;background:linear-gradient(145deg,rgba(8,27,19,.98),rgba(22,61,45,.97));color:#fff;border:0;box-shadow:0 -18px 42px rgba(4,22,14,.26),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden;isolation:isolate;transform:none!important;filter:none!important}
.kp20-map-card>.kp168-map-actions .kp164-map-button::after{display:none}
.kp20-map-card>.kp168-map-actions .kp164-map-button:hover,.kp20-map-card>.kp168-map-actions .kp164-map-button:focus-visible{box-shadow:0 -20px 46px rgba(4,22,14,.30),inset 0 1px 0 rgba(255,255,255,.10)}
.kp20-map-card>.kp168-map-actions .kp164-map-button-route{border-top-right-radius:28px;border-top:1px solid rgba(255,255,255,.16);border-right:1px solid rgba(255,255,255,.12)}
.kp20-map-card>.kp168-map-actions .kp164-map-button-open{border-top-left-radius:28px;border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.10)}
.kp20-map-card>.kp168-map-actions .kp164-map-icon{width:56px;height:56px;min-width:56px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f4e3a4,#d1b45c)!important;color:#143728;box-shadow:0 10px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.75);border:0!important}
.kp20-map-card>.kp168-map-actions .kp164-map-icon svg{width:28px;height:28px;fill:currentColor}
.kp20-map-card>.kp168-map-actions .kp164-map-text{display:flex;flex-direction:column;min-width:0}
.kp20-map-card>.kp168-map-actions .kp164-map-text strong{font:900 clamp(20px,1.8vw,24px)/1.05 Montserrat,sans-serif;letter-spacing:-.03em;color:#fff}
.kp20-map-card>.kp168-map-actions .kp164-map-text small{margin-top:6px;font-size:12px;line-height:1.35;color:rgba(255,255,255,.76);font-weight:500;letter-spacing:0}
@media (max-width:980px){
  .kp20-map-card>.kp168-map-actions .kp164-map-button{min-height:100px;padding:17px 18px 17px 17px}
  .kp20-map-card>.kp168-map-actions .kp164-map-button-route{border-top-right-radius:24px}
  .kp20-map-card>.kp168-map-actions .kp164-map-button-open{border-top-left-radius:24px}
  .kp20-map-card>.kp168-map-actions .kp164-map-icon{width:50px;height:50px;min-width:50px;border-radius:16px}
}
@media (max-width:720px){
  .kp20-map-card>.kp168-map-actions .kp164-map-button{min-height:88px;padding:14px 15px 14px 14px;gap:12px}
  .kp20-map-card>.kp168-map-actions .kp164-map-button-route{border-top-right-radius:20px}
  .kp20-map-card>.kp168-map-actions .kp164-map-button-open{border-top-left-radius:20px}
  .kp20-map-card>.kp168-map-actions .kp164-map-icon{width:46px;height:46px;min-width:46px;border-radius:15px}
  .kp20-map-card>.kp168-map-actions .kp164-map-icon svg{width:24px;height:24px}
  .kp20-map-card>.kp168-map-actions .kp164-map-text strong{font-size:16px}
  .kp20-map-card>.kp168-map-actions .kp164-map-text small{font-size:10px;margin-top:4px}
}


/* v1.0.170 — le bandeau d’action du bas du plan devient une seule grande case
   premium sur toute la largeur, avec uniquement Itinéraire. */
.kp20-map-card>.kp168-map-actions{grid-template-columns:1fr}
.kp20-map-card>.kp168-map-actions .kp164-map-button{width:100%}
.kp20-map-card>.kp168-map-actions .kp164-map-button-route{border-top-left-radius:28px;border-top-right-radius:28px;border-top:1px solid rgba(255,255,255,.16);border-left:0;border-right:0}
@media (max-width:980px){
  .kp20-map-card>.kp168-map-actions .kp164-map-button-route{border-top-left-radius:24px;border-top-right-radius:24px}
}
@media (max-width:720px){
  .kp20-map-card>.kp168-map-actions .kp164-map-button-route{border-top-left-radius:20px;border-top-right-radius:20px}
}


/* v1.0.171 — la grande case Itinéraire du bas a le haut carré pour s’intégrer
   dans la map, tandis que les coins du bas restent arrondis. */
.kp20-map-card>.kp168-map-actions .kp164-map-button{
  border-radius:0 0 28px 28px;
}
.kp20-map-card>.kp168-map-actions .kp164-map-button-route{
  border-top-left-radius:0;
  border-top-right-radius:0;
  border-bottom-left-radius:28px;
  border-bottom-right-radius:28px;
}
@media (max-width:980px){
  .kp20-map-card>.kp168-map-actions .kp164-map-button{border-radius:0 0 24px 24px}
  .kp20-map-card>.kp168-map-actions .kp164-map-button-route{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:24px;border-bottom-right-radius:24px}
}
@media (max-width:720px){
  .kp20-map-card>.kp168-map-actions .kp164-map-button{border-radius:0 0 20px 20px}
  .kp20-map-card>.kp168-map-actions .kp164-map-button-route{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:20px;border-bottom-right-radius:20px}
}


/* v1.0.172 — Venir : les 2 informations à droite deviennent des panneaux fins,
   plus légers et moins larges. Le plan et tout son habillage restent inchangés. */
.kp20-info-card{
  grid-template-rows:auto auto;
  align-content:center;
  justify-items:center;
  gap:22px;
}
.kp20-info-block,
.kp20-info-block.kp150-info-no-kicker,
.kp20-info-block.kp152-pets-block{
  position:relative;
  box-sizing:border-box;
  width:min(100%,330px);
  min-height:0;
  padding:22px 24px 22px 28px;
  justify-content:flex-start;
  border:0;
  border-left:5px solid var(--brand);
  border-radius:0 22px 22px 0;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(247,250,247,.90));
  box-shadow:0 16px 38px rgba(24,54,38,.10),inset 0 1px 0 rgba(255,255,255,.92);
  overflow:hidden;
}
.kp20-info-block::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:56px;
  height:5px;
  background:var(--brand);
}
.kp20-info-block.kp152-pets-block{
  border-left-color:#d1b45c;
  background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(252,249,235,.92));
}
.kp20-info-block.kp152-pets-block::before{background:#d1b45c}
.kp20-info-block strong,
.kp20-info-block .kp152-pets-title{
  margin:0;
  font:900 19px/1.22 Montserrat,sans-serif;
  letter-spacing:-.025em;
  color:#18382a;
}
.kp20-info-block small{
  margin-top:11px;
  color:#68756e;
  font-size:12px;
  line-height:1.55;
}
.kp20-info-block .kp151-assistance{
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid rgba(24,56,42,.10);
  color:var(--brand)!important;
  font-weight:900;
}
@media(max-width:1100px){
  .kp20-info-card{
    grid-template-columns:repeat(2,minmax(0,330px));
    grid-template-rows:auto;
    justify-content:center;
    align-items:start;
    gap:18px;
  }
  .kp20-info-block,
  .kp20-info-block.kp150-info-no-kicker,
  .kp20-info-block.kp152-pets-block{
    width:100%;
    max-width:330px;
  }
}
@media(max-width:720px){
  .kp20-info-card{
    grid-template-columns:1fr;
    justify-items:center;
    gap:14px;
  }
  .kp20-info-block,
  .kp20-info-block.kp150-info-no-kicker,
  .kp20-info-block.kp152-pets-block{
    width:min(100%,340px);
    padding:18px 20px 18px 23px;
    border-radius:0 18px 18px 0;
  }
  .kp20-info-block strong,
  .kp20-info-block .kp152-pets-title{font-size:17px}
  .kp20-info-block small{font-size:11px;line-height:1.48}
}


/* v1.0.173 — Venir : les infos de droite sont réorganisées en 4 cases.
   Titres "Pense à réserver" et "Les animaux" en grand et en vert ;
   case dédiée aux commandes à emporter ; case entièrement colorée pour
   l’accueil des chiens d’assistance. */
.kp173-info-card{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  justify-items:stretch;
  gap:16px;
}
.kp173-info-block{
  min-height:0;
  padding:20px 20px 18px;
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(247,250,247,.94));
  border:1px solid rgba(24,56,42,.08);
  box-shadow:0 14px 32px rgba(24,54,38,.08), inset 0 1px 0 rgba(255,255,255,.92);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.kp173-info-title{
  margin:0;
  font:900 clamp(24px,2.1vw,31px)/1.02 Montserrat,sans-serif;
  letter-spacing:-.04em;
  color:var(--brand);
}
.kp173-info-subtitle{
  margin:0;
  font:900 16px/1.08 Montserrat,sans-serif;
  letter-spacing:-.02em;
  color:#18382a;
}
.kp173-info-assistance-title{
  margin:0;
  font:900 18px/1.08 Montserrat,sans-serif;
  letter-spacing:-.02em;
  color:#fff;
}
.kp173-info-block small{
  margin-top:10px;
  color:#67746d;
  font-size:12px;
  line-height:1.52;
}
.kp173-info-reserve{border-top:4px solid var(--brand)}
.kp173-info-order{border-top:4px solid #cfd7d2}
.kp173-info-pets{border-top:4px solid #d1b45c}
.kp173-info-assistance{
  background:linear-gradient(145deg,#163d2d 0%,#22593d 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 38px rgba(14,49,34,.18), inset 0 1px 0 rgba(255,255,255,.10);
}
.kp173-info-assistance small{color:rgba(255,255,255,.88)}
@media(max-width:1100px){
  .kp173-info-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media(max-width:720px){
  .kp173-info-card{grid-template-columns:1fr;gap:12px}
  .kp173-info-block{padding:17px 17px 16px;border-radius:18px}
  .kp173-info-title{font-size:22px}
  .kp173-info-subtitle,.kp173-info-assistance-title{font-size:16px}
  .kp173-info-block small{font-size:11px;line-height:1.48}
}


/* v1.0.174 — Venir : verrouillage du placement des 4 cartes en vraie grille 2 x 2
   sur ordinateur et tablette. Une seule colonne uniquement sur téléphone. */
.kp20-info-card.kp173-info-card{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-rows:auto!important;
  width:100%;
  max-width:none;
  align-content:center;
  align-items:stretch;
  justify-content:stretch;
  justify-items:stretch;
  gap:14px;
}
.kp20-info-card.kp173-info-card>.kp173-info-block{
  width:100%!important;
  max-width:none!important;
  min-width:0;
  margin:0!important;
  box-sizing:border-box;
}
@media(max-width:720px){
  .kp20-info-card.kp173-info-card{
    grid-template-columns:1fr!important;
    gap:12px;
  }
}


/* v1.0.175 — Venir : les 4 cartes sont FORCÉES en 2 x 2 à toutes les largeurs.
   Cette règle finale neutralise notamment l'ancienne bascule mobile en 1 colonne. */
.kp20-info-card.kp173-info-card{
  display:flex!important;
  flex-wrap:wrap!important;
  flex-direction:row!important;
  align-content:center!important;
  align-items:stretch!important;
  justify-content:space-between!important;
  gap:14px!important;
}
.kp20-info-card.kp173-info-card>.kp173-info-block{
  flex:0 0 calc(50% - 7px)!important;
  width:calc(50% - 7px)!important;
  max-width:calc(50% - 7px)!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
@media(max-width:720px){
  .kp20-info-card.kp173-info-card{
    display:flex!important;
    flex-wrap:wrap!important;
    flex-direction:row!important;
    gap:10px!important;
  }
  .kp20-info-card.kp173-info-card>.kp173-info-block{
    flex:0 0 calc(50% - 5px)!important;
    width:calc(50% - 5px)!important;
    max-width:calc(50% - 5px)!important;
  }
}


/* v1.0.176 — Venir : disposition finale demandée pour les 4 cartes.
   Elles sont remises en 1 seule colonne verticale : Réserver, puis
   Commandes à emporter, puis Les animaux, puis après un espace plus grand
   Chiens d’assistance. La map reste inchangée. */
.kp20-info-card.kp173-info-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  width:100%!important;
  max-width:none!important;
  align-content:start!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  justify-items:stretch!important;
  gap:12px!important;
}
.kp20-info-card.kp173-info-card>.kp173-info-block{
  flex:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.kp20-info-card.kp173-info-card>.kp173-info-assistance{
  margin-top:14px!important;
}
@media(max-width:720px){
  .kp20-info-card.kp173-info-card{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .kp20-info-card.kp173-info-card>.kp173-info-assistance{
    margin-top:12px!important;
  }
}


/* v1.0.177 — Venir : les cartes Réserver et Commandes sont entièrement cliquables
   et ouvrent Kerdudal Go dans le même état que l’action Réserver. */
.kp177-go-reserve-card{
  text-decoration:none!important;
  color:inherit;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.kp177-go-reserve-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(24,54,38,.13),inset 0 1px 0 rgba(255,255,255,.94);
}
.kp177-go-reserve-card:focus-visible{
  outline:3px solid rgba(33,103,71,.24);
  outline-offset:3px;
}
.kp177-go-reserve-card small{color:#67746d!important}


/* v1.0.180 — Venir : les titres Pense à réserver, Commandes à emporter
   et Les animaux ont exactement la même taille, légèrement réduite,
   et restent sur une seule ligne. */
.kp173-info-card .kp173-info-title{
  font:900 19px/1.08 Montserrat,sans-serif;
  letter-spacing:-.025em;
  white-space:nowrap;
}
@media(max-width:720px){
  .kp173-info-card .kp173-info-title{
    font-size:17px;
    white-space:nowrap;
  }
}


/* v1.0.183 — Venir : nouvelle carte Drive entre Commandes à emporter et Les animaux. */
.kp183-info-drive{
  border-top:4px solid var(--brand);
  background:linear-gradient(145deg,rgba(247,252,249,.98),rgba(237,247,241,.94));
}


/* v1.0.186 — Venir : suppression de la carte séparée Chiens d’assistance.
   L’information devient un petit badge incliné dans la carte Les animaux. */
.kp186-info-pets{overflow:visible}
.kp186-assistance-badge{
  align-self:flex-start;
  display:inline-block;
  max-width:94%;
  margin-top:16px;
  padding:9px 13px;
  border-radius:12px;
  background:linear-gradient(145deg,#163d2d 0%,#22593d 100%);
  color:#fff;
  font:800 10px/1.3 Montserrat,sans-serif;
  letter-spacing:.01em;
  transform:rotate(-2deg);
  transform-origin:left center;
  box-shadow:0 10px 22px rgba(14,49,34,.18),inset 0 1px 0 rgba(255,255,255,.10);
  border:1px solid rgba(209,180,92,.34);
}
@media(max-width:720px){
  .kp186-assistance-badge{
    max-width:96%;
    margin-top:14px;
    padding:8px 11px;
    font-size:9px;
    transform:rotate(-1.5deg);
  }
}


/* v1.0.187 — Venir : le badge chiens d’assistance reçoit une petite
   empreinte de chien verte, intégrée avant le texte. */
.kp186-assistance-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.kp187-paw{
  width:22px;
  height:22px;
  min-width:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.kp187-paw svg{
  width:14px;
  height:14px;
  display:block;
  fill:#7ee082;
}
.kp187-badge-text{display:inline}
@media(max-width:720px){
  .kp186-assistance-badge{gap:7px}
  .kp187-paw{width:20px;height:20px;min-width:20px}
  .kp187-paw svg{width:13px;height:13px}
}


/* v1.0.188 — Venir : dans la carte Les animaux, ajout en arrière-plan
   d’une grande empreinte de chien très claire et légèrement inclinée.
   L’empreinte du badge d’assistance est supprimée. */
.kp186-info-pets{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.kp186-info-pets::before{
  content:"";
  position:absolute;
  inset:auto -8px 10px auto;
  width:210px;
  height:210px;
  background:url('paw-bg.webp') center/contain no-repeat;
  opacity:.11;
  transform:rotate(-14deg);
  transform-origin:center;
  z-index:0;
  filter:sepia(1) hue-rotate(35deg) saturate(3.2) brightness(1.15);
  pointer-events:none;
}
.kp186-info-pets > *{
  position:relative;
  z-index:1;
}
.kp186-assistance-badge{
  position:relative;
  z-index:1;
}
@media(max-width:720px){
  .kp186-info-pets::before{
    width:170px;
    height:170px;
    right:-10px;
    bottom:4px;
    opacity:.10;
    transform:rotate(-12deg);
  }
}

.kp187-paw,.kp187-badge-text{display:contents;}


/* v1.0.189 — sélecteur public 4 langues : FR · EN · ES · CA. */
.kp20-lang,.construction-language{flex-shrink:0;white-space:nowrap}
@media(max-width:1100px){
  .kp20-lang{padding:3px}
  .kp20-lang a{min-width:31px;height:28px;padding-left:7px;padding-right:7px;font-size:10px}
}
@media(max-width:720px){
  .construction-language a{padding:8px 9px;font-size:10px}
  .kp20-lang a{min-width:27px;height:26px;padding-left:5px;padding-right:5px;font-size:9px}
}

/* v1.0.191 — badges de téléchargement Kerdudal Go intégrés comme images : App Store / Google Play / Kerdudal Store. */
/* v1.0.193 — les trois badges ont exactement la même largeur et la même hauteur. */
/* v1.0.194 — Kerdudal Store : visuel recadré, sans fond clair autour de la case noire. */
/* v1.0.195 — visuel Kerdudal Store fourni par l’utilisateur. */
/* v1.0.196 — les trois badges sont déplacés à droite de l’iPhone, empilés verticalement avec un espacement égal. */
.kp20-phone-stage-app{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:nowrap}
.kp196-store-stack{display:flex;align-items:center;justify-content:center;min-height:100%}
.kp191-store-downloads{
  width:auto;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:center;
  justify-content:center;
}
.kp191-store-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:184px;
  aspect-ratio:184/56;
  height:auto;
  max-width:100%;
  line-height:0;
  text-decoration:none;
  background:#000;
  border-radius:12px;
  overflow:hidden;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.kp191-store-link img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}
a.kp191-store-link:hover{transform:translateY(-2px);filter:brightness(1.035);box-shadow:0 10px 24px rgba(0,0,0,.12)}
a.kp191-store-link:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.kp191-store-link.is-disabled{cursor:default}
.kp191-store-link-kerdudal img{object-fit:contain;background:#000}
@media(max-width:1180px){
  .kp20-phone-stage-app{gap:18px}
  .kp191-store-downloads{gap:10px}
  .kp191-store-link{width:164px}
}
@media(max-width:900px){
  .kp20-phone-stage-app{flex-direction:column;gap:16px}
  .kp196-store-stack{width:100%}
  .kp191-store-downloads{gap:8px}
}
@media(max-width:720px){
  .kp20-phone-stage-app{gap:12px}
  .kp191-store-link{width:150px;border-radius:9px}
}



/* v1.0.201 — Accueil : Épicerie / Café / Snack utilisent exactement les mêmes tailles de titre que Commander / Réserver / Jouer de Kerdudal Go. */


/* v1.0.204 — GO Adventure : l'app est physiquement masquée par la vitre de l'iPhone.
   Les vues internes (Objets, Profil/Pierre, etc.) ne peuvent plus peindre par-dessus le châssis. */
.kp20-phone-stage-go .kp20-phone .phone-live-screen{
  isolation:isolate;
  overflow:hidden !important;
  -webkit-mask-image:-webkit-radial-gradient(white,black);
}
.kp20-phone-stage-go .kp204-adventure-viewport{
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  top:48px;
  bottom:0;
  overflow:hidden !important;
  border-radius:0 0 47px 47px;
  clip-path:inset(0 round 0 0 47px 47px);
  -webkit-clip-path:inset(0 round 0 0 47px 47px);
  contain:paint;
  isolation:isolate;
  transform:translateZ(0);
  background:#fff;
}
.kp20-phone-stage-go .kp204-adventure-viewport .phone-live-frame{
  position:absolute !important;
  z-index:1 !important;
  left:0 !important;
  top:0 !important;
  border-radius:0 !important;
  overflow:auto;
}
/* Le bord de la vitre est au-dessus de l'iframe : le téléphone reprend toujours le dessus. */
.kp20-phone-stage-go .kp204-adventure-viewport::after{
  content:"";
  position:absolute;
  z-index:20;
  inset:0;
  pointer-events:none;
  border-radius:0 0 47px 47px;
  box-shadow:inset 4px 0 0 #050606,inset -4px 0 0 #050606,inset 0 -5px 0 #050606;
}
.kp20-phone-stage-go .kp20-phone .phone-live-status{z-index:30 !important;}
.kp20-phone-stage-go .kp20-phone .phone-live-home{z-index:31 !important;}
@media(max-width:620px){
  .kp20-phone-stage-go .kp204-adventure-viewport{border-radius:0 0 38px 38px;clip-path:inset(0 round 0 0 38px 38px);-webkit-clip-path:inset(0 round 0 0 38px 38px)}
  .kp20-phone-stage-go .kp204-adventure-viewport::after{border-radius:0 0 38px 38px}
}


/* v1.0.208 — Footer : établissements et services numériques cliquables comme les pages Informations. */
.kp20-company-columns .kp208-company-link{
  display:block;
  margin-top:12px;
  color:inherit;
  text-decoration:none;
  transition:transform .18s ease;
}
.kp20-company-columns .kp208-company-link + .kp208-company-link{margin-top:10px}
.kp20-company-columns .kp208-company-link strong{
  display:block;
  margin-top:0;
  color:#fff;
  font-size:17px;
}
.kp20-company-columns .kp208-company-link small{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.48);
  font-size:11px;
}
.kp20-company-columns .kp208-company-link:hover,
.kp20-company-columns .kp208-company-link:focus-visible{transform:translateX(2px)}
.kp20-company-columns .kp208-company-link:hover strong,
.kp20-company-columns .kp208-company-link:focus-visible strong{color:#fff}
.kp20-company-columns .kp208-company-link:hover small,
.kp20-company-columns .kp208-company-link:focus-visible small{color:rgba(255,255,255,.72)}


/* v1.0.226 — le popup Media Network utilise le même univers que GO Adventure. */
.kp146-info-panel.is-media-network{background:linear-gradient(135deg,#07120d 0%,#102e22 48%,#07120d 100%)!important;isolation:isolate}
.kp146-info-panel.is-media-network::before{content:"";position:absolute;z-index:0;width:800px;height:800px;border-radius:50%;left:-350px;bottom:-500px;border:1px solid rgba(212,175,55,.13);box-shadow:0 0 0 90px rgba(212,175,55,.025),0 0 0 180px rgba(212,175,55,.014);pointer-events:none}
.kp146-info-panel.is-media-network::after{content:"";position:absolute;z-index:0;width:560px;height:560px;border-radius:50%;right:-220px;top:-250px;background:radial-gradient(circle,rgba(212,175,55,.12),rgba(15,107,63,.06) 48%,transparent 70%);pointer-events:none}
.kp146-info-panel.is-media-network .kp146-info-shell{position:relative;z-index:1}
.kp146-info-panel.is-media-network .kp146-info-content{border:0;border-radius:0;background:transparent;box-shadow:none}
.kp146-info-panel.is-media-network .kp146-info-content iframe{background:transparent}


/* v1.0.227 — Tous les popups du footer reprennent l'univers GO Adventure / Media Network. */
.kp146-info-panel.is-footer-theme{background:linear-gradient(135deg,#07120d 0%,#102e22 48%,#07120d 100%)!important;isolation:isolate}
.kp146-info-panel.is-footer-theme::before{content:"";position:absolute;z-index:0;width:800px;height:800px;border-radius:50%;left:-350px;bottom:-500px;border:1px solid rgba(212,175,55,.13);box-shadow:0 0 0 90px rgba(212,175,55,.025),0 0 0 180px rgba(212,175,55,.014);pointer-events:none}
.kp146-info-panel.is-footer-theme::after{content:"";position:absolute;z-index:0;width:560px;height:560px;border-radius:50%;right:-220px;top:-250px;background:radial-gradient(circle,rgba(212,175,55,.12),rgba(15,107,63,.06) 48%,transparent 70%);pointer-events:none}
.kp146-info-panel.is-footer-theme .kp146-info-shell{position:relative;z-index:1}
.kp146-info-panel.is-footer-theme .kp146-info-content{border:0;border-radius:0;background:transparent;box-shadow:none}
.kp146-info-panel.is-footer-theme .kp146-info-content iframe{background:transparent}

/* v1.0.232 — Ouverture des pages du footer exactement comme GO Adventure :
   aucun effet de fenêtre/iframe encadrée, le contenu prend toute la zone sous le header. */
.kp146-info-panel{
  transition:transform .42s cubic-bezier(.18,.86,.25,1) !important;
}
.kp146-info-panel.is-footer-theme .kp146-info-shell{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
}
.kp146-info-panel.is-footer-theme .kp146-info-head{
  position:absolute !important;
  z-index:30 !important;
  top:18px !important;
  right:clamp(18px,3vw,46px) !important;
  width:auto !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  display:block !important;
  background:transparent !important;
}
.kp146-info-panel.is-footer-theme .kp146-info-close{
  position:relative !important;
  margin:0 !important;
  box-shadow:0 12px 30px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.08) inset !important;
}
.kp146-info-panel.is-footer-theme .kp146-info-content{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.kp146-info-panel.is-footer-theme .kp146-info-content iframe{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
@media(max-width:720px){
  .kp146-info-panel.is-footer-theme .kp146-info-head{
    top:12px !important;
    right:12px !important;
  }
}


/* v1.0.234 — membre + fermeture regroupés à droite comme GO Adventure. */
.kp146-info-panel.is-footer-theme .kp146-info-shell{
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  gap:0 !important;
  padding:18px clamp(18px,3vw,46px) 16px !important;
}
.kp146-info-panel.is-footer-theme .kp233-info-head{
  position:relative !important;
  z-index:30 !important;
  top:auto !important;
  right:auto !important;
  width:100% !important;
  min-height:62px !important;
  padding:0 0 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
  border-bottom:1px solid rgba(255,255,255,.11) !important;
  background:transparent !important;
}
.kp146-info-panel.is-footer-theme .kp233-member-summary{
  justify-content:flex-end !important;
  min-width:0 !important;
  flex:0 1 auto !important;
  margin-left:auto !important;
}
.kp146-info-panel.is-footer-theme .kp233-member-summary .kp90-player-name strong{
  max-width:min(42vw,360px);
}
.kp146-info-panel.is-footer-theme .kp146-info-close{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  width:44px !important;
  height:44px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--accent) !important;
  color:#fff !important;
  font:900 28px/1 Montserrat,sans-serif !important;
  box-shadow:0 10px 24px rgba(212,175,55,.22) !important;
}
.kp146-info-panel.is-footer-theme .kp146-info-close:hover{transform:scale(1.06)}
.kp146-info-panel.is-footer-theme .kp146-info-content{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
}
.kp146-info-panel.is-footer-theme .kp146-info-content iframe{
  position:absolute !important;
  inset:0 !important;
}
@media(max-width:720px){
  .kp146-info-panel.is-footer-theme .kp146-info-shell{padding:12px 12px 10px !important}
  .kp146-info-panel.is-footer-theme .kp233-info-head{min-height:50px !important;gap:9px !important;padding-bottom:8px !important;justify-content:flex-end !important}
  .kp146-info-panel.is-footer-theme .kp146-info-close{width:38px !important;height:38px !important;font-size:24px !important}
  .kp146-info-panel.is-footer-theme .kp233-member-summary .kp90-player-avatar{width:36px;height:36px}
  .kp146-info-panel.is-footer-theme .kp233-member-summary .kp90-player-name strong{max-width:52vw;font-size:11px}
}


/* v1.0.244 — Horaires LIVE : barres Kerdudal GO + cartes Vacances / Événement. */
.kp20-hours-section.kp244-hours-page{display:flex!important;align-items:center!important;justify-content:center!important;background:#0f3d1a!important;color:#fff;padding-top:clamp(92px,11vh,132px)!important;padding-bottom:clamp(46px,7vh,86px)!important}
.kp244-hours-inner{width:min(1180px,100%);margin:0 auto;display:flex;flex-direction:column;gap:22px}
.kp244-hours-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.kp244-hours-head h2{margin:0;color:#fff;font:900 clamp(58px,6.8vw,104px)/.87 Montserrat,Arial,sans-serif;letter-spacing:-.07em}
.kp244-hours-head p{margin:13px 0 0;max-width:620px;color:rgba(255,255,255,.62);font:700 14px/1.55 Inter,Arial,sans-serif}
.kp244-open-days{display:inline-flex;align-items:center;justify-content:center;min-width:96px;height:42px;padding:0 18px;border-radius:999px;background:var(--accent);color:#111;font:900 13px/1 Montserrat,sans-serif;letter-spacing:.06em;box-shadow:0 12px 28px rgba(212,175,55,.22)}
.kp244-live-hours{display:grid;grid-template-columns:1fr;gap:13px}
.kp244-time-row{position:relative;overflow:hidden;padding:19px 22px 17px;border-radius:23px;background:rgba(255,255,255,.085);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 16px 36px rgba(0,0,0,.12);backdrop-filter:blur(10px)}
.kp244-time-row-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}
.kp244-time-identity{display:flex;align-items:baseline;gap:16px;min-width:0}
.kp244-time-identity>strong{font:900 clamp(18px,2.1vw,26px)/1 Montserrat,sans-serif;color:#fff;letter-spacing:-.025em}
.kp244-time-identity>span{display:flex;align-items:center;gap:7px;color:#d9bc57;font:900 clamp(14px,1.55vw,18px)/1 Montserrat,sans-serif;white-space:nowrap}
.kp244-time-identity i{font-style:normal;color:rgba(255,255,255,.5)}
.kp244-time-state{display:inline-flex;align-items:center;justify-content:center;min-width:82px;height:31px;padding:0 12px;border-radius:999px;background:#d4af37;color:#112718;font:900 10px/1 Montserrat,sans-serif;letter-spacing:.09em;text-transform:uppercase;box-shadow:0 8px 18px rgba(0,0,0,.15)}
.kp244-time-row.is-closed .kp244-time-state{background:rgba(255,255,255,.14);color:#fff;box-shadow:none}
.kp244-time-track{position:relative;height:15px;border-radius:999px;background:rgba(0,0,0,.28);overflow:visible;box-shadow:inset 0 0 0 1px rgba(255,255,255,.055)}
.kp244-time-track>span{position:relative;display:block;height:100%;min-width:0;border-radius:999px;background:linear-gradient(90deg,#d4af37 0%,#f2d976 65%,#fff1a8 100%);box-shadow:0 0 22px rgba(212,175,55,.24);transition:width 1s linear;overflow:visible}
.kp244-time-track>span:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 0 37%,rgba(255,255,255,.32) 48%,transparent 59%);background-size:210% 100%;animation:kp244TimeFlow 2.2s linear infinite}
.kp244-time-track>span>i{position:absolute;right:-7px;top:50%;width:15px;height:15px;border-radius:50%;transform:translateY(-50%);background:#fff6c7;border:3px solid #d4af37;box-shadow:0 0 0 4px rgba(212,175,55,.15),0 0 16px rgba(255,233,145,.4)}
.kp244-time-row.is-closed .kp244-time-track>span{background:rgba(255,255,255,.18);box-shadow:none}.kp244-time-row.is-closed .kp244-time-track>span:before,.kp244-time-row.is-closed .kp244-time-track>span>i{display:none}
@keyframes kp244TimeFlow{0%{background-position:210% 0}100%{background-position:-10% 0}}
.kp244-time-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;color:rgba(255,255,255,.67);font:800 11px/1.35 Inter,Arial,sans-serif}
.kp244-time-meta>b{flex:0 0 auto;color:#d9bc57;font:900 11px/1 Montserrat,sans-serif}
.kp244-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:2px}
.kp244-mini-card{min-height:150px;padding:20px 22px;border-radius:23px;display:flex;align-items:center;gap:18px;background:var(--accent);color:#10130f;box-shadow:0 16px 34px rgba(0,0,0,.15)}
.kp244-mini-icon{flex:0 0 auto;width:62px;height:62px;border-radius:19px;display:grid;place-items:center;background:#0f3d1a;color:#fff;font:900 28px/1 Montserrat,sans-serif;box-shadow:0 10px 22px rgba(0,0,0,.16)}
.kp244-mini-icon.kp244-pumpkin{font-size:34px}
.kp244-mini-copy{min-width:0;display:flex;flex-direction:column;gap:7px}
.kp244-mini-kicker{font:900 9px/1 Montserrat,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#163a21;opacity:.72}
.kp244-mini-copy>strong{font:900 clamp(21px,2.3vw,31px)/1.05 Montserrat,sans-serif;letter-spacing:-.035em;color:#10130f}
.kp244-event-date{font:800 13px/1.25 Inter,Arial,sans-serif;color:#243328}
.kp244-mini-status{display:inline-flex;align-self:flex-start;min-height:27px;padding:7px 10px;border-radius:999px;background:#0f6b3f;color:#fff;font:900 10px/1 Montserrat,sans-serif;letter-spacing:.025em}
.kp244-vacation-card.is-holiday .kp244-mini-status{background:#10130f;color:#fff}
@media(max-width:760px){.kp20-hours-section.kp244-hours-page{padding-left:16px!important;padding-right:16px!important}.kp244-hours-head{align-items:center}.kp244-hours-head h2{font-size:54px}.kp244-hours-head p{display:none}.kp244-open-days{min-width:76px;height:36px;padding:0 12px;font-size:11px}.kp244-time-row{padding:17px 16px 15px;border-radius:18px}.kp244-time-row-top{align-items:flex-start}.kp244-time-identity{flex-direction:column;gap:7px}.kp244-time-state{min-width:74px;height:29px}.kp244-time-track{height:13px}.kp244-info-grid{grid-template-columns:1fr}.kp244-mini-card{min-height:128px;border-radius:18px;padding:17px}.kp244-mini-icon{width:54px;height:54px;border-radius:16px}.kp244-mini-copy>strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.kp244-time-track>span:before{animation:none}.kp244-time-track>span{transition:none}}


/* v1.0.245 — Horaires : grand 7/7 + barres LIVE GO + vacances + Halloween. */
.kp20-hours-section.kp245-hours-page{background:#0f3d1a!important;overflow:hidden}
.kp245-hours-inner{gap:18px}
.kp245-hours-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.74fr);align-items:stretch;gap:18px}
.kp245-days-panel{min-height:250px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(18px,3vw,34px) 0}
.kp245-days-kicker{display:block;margin-bottom:8px;color:rgba(255,255,255,.58);font:900 10px/1 Montserrat,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.kp245-days-big{display:block;color:#fff;font:900 clamp(96px,13vw,190px)/.76 Montserrat,Arial,sans-serif;letter-spacing:-.085em;text-shadow:0 18px 48px rgba(0,0,0,.18)}
.kp245-event-card{min-height:250px;align-self:stretch;border-radius:28px;padding:26px;background:var(--accent);box-shadow:0 22px 48px rgba(0,0,0,.17)}
.kp245-event-card .kp244-mini-icon{width:70px;height:70px;border-radius:22px}
.kp245-event-card .kp244-mini-copy>strong{font-size:clamp(28px,3vw,42px)}
.kp245-live-hours{gap:15px}
.kp245-time-row{padding:20px 24px 18px;border-radius:24px;background:rgba(255,255,255,.09)}
.kp245-time-identity{gap:12px}
.kp245-time-identity>strong{font-size:clamp(22px,2.7vw,34px)}
.kp245-time-identity>span{font-size:clamp(17px,2vw,23px)}
.kp245-time-track{height:18px}
.kp245-time-track>span>i{width:18px;height:18px;right:-8px}
.kp245-vacation-card{width:min(620px,100%);min-height:112px;border-radius:22px;padding:17px 20px;margin-top:0;background:var(--accent)}
.kp245-vacation-card .kp244-mini-icon{width:54px;height:54px;border-radius:16px;font-size:23px}
.kp245-vacation-card .kp244-mini-copy>strong{font-size:clamp(19px,2.2vw,28px)}
@media(max-width:820px){
 .kp245-hours-hero{grid-template-columns:1fr;gap:12px}
 .kp245-days-panel{min-height:155px;padding:10px 0}
 .kp245-days-big{font-size:clamp(92px,29vw,142px)}
 .kp245-event-card{min-height:132px;padding:17px;border-radius:20px}
 .kp245-event-card .kp244-mini-icon{width:54px;height:54px;border-radius:16px}
 .kp245-time-row{padding:17px 16px 15px}
 .kp245-time-identity>strong{font-size:22px}
 .kp245-time-identity>span{font-size:16px}
 .kp245-time-track{height:15px}
 .kp245-vacation-card{width:100%;min-height:112px}
}
@media(max-width:520px){
 .kp245-time-row-top{align-items:flex-start}
 .kp245-time-identity{gap:5px}
 .kp245-time-identity>strong{font-size:20px}
 .kp245-time-identity>span{font-size:14px}
 .kp245-days-kicker{font-size:9px}
}


/* v1.0.246 — Horaires : 7/7 monumental, barres compactes dessous, événement grand à droite. */
.kp20-hours-section.kp246-hours-page{padding-top:clamp(86px,10vh,120px)!important;padding-bottom:clamp(44px,6vh,72px)!important}
.kp246-hours-inner{width:min(1240px,100%);gap:0}
.kp246-hours-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:clamp(22px,3vw,42px);align-items:stretch}
.kp246-hours-left{display:flex;min-width:0;flex-direction:column;gap:12px}
.kp246-days-panel{min-height:0;padding:0 0 8px;justify-content:flex-start}
.kp246-days-panel .kp245-days-kicker{margin:0 0 14px;font-size:11px;letter-spacing:.2em}
.kp246-days-big{font-size:clamp(170px,18vw,300px)!important;line-height:.68!important;letter-spacing:-.095em!important;white-space:nowrap}
.kp246-live-hours{display:grid;grid-template-columns:1fr;gap:8px;margin-top:4px}
.kp246-time-row{padding:12px 14px 10px!important;border-radius:17px!important;background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.08)}
.kp246-time-row-top{align-items:center;gap:12px}
.kp246-time-identity{display:flex!important;flex-direction:row!important;align-items:baseline!important;gap:9px!important;min-width:0}
.kp246-time-identity>strong{font-size:clamp(16px,1.45vw,20px)!important;line-height:1!important;white-space:nowrap}
.kp246-time-identity>span{font-size:clamp(13px,1.15vw,16px)!important;white-space:nowrap;color:rgba(255,255,255,.76)}
.kp246-time-state{min-width:70px;height:27px;padding:0 10px;font-size:10px}
.kp246-time-track{height:9px!important;margin-top:9px;border-radius:999px}
.kp246-time-track>span>i{width:11px!important;height:11px!important;right:-5px!important;top:50%;transform:translateY(-50%)}
.kp246-time-meta{margin-top:6px;font-size:10px}
.kp246-vacation-card{width:100%!important;min-height:84px!important;margin-top:2px!important;padding:12px 15px!important;border-radius:17px!important}
.kp246-vacation-card .kp244-mini-icon{width:44px!important;height:44px!important;border-radius:13px!important;font-size:18px!important}
.kp246-vacation-card .kp244-mini-kicker{font-size:9px}
.kp246-vacation-card .kp244-mini-copy>strong{font-size:clamp(16px,1.6vw,21px)!important;line-height:1.1}
.kp246-vacation-card .kp244-mini-status{font-size:11px}
.kp246-event-card{min-height:100%!important;height:100%;margin:0!important;padding:clamp(28px,4vw,48px)!important;border-radius:32px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:24px!important;background:var(--accent)!important;box-shadow:0 28px 70px rgba(0,0,0,.2)!important}
.kp246-event-icon{width:clamp(86px,9vw,126px)!important;height:clamp(86px,9vw,126px)!important;border-radius:30px!important;font-size:clamp(42px,5vw,68px)!important;background:rgba(255,255,255,.16)!important}
.kp246-event-copy{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.kp246-event-copy .kp244-mini-kicker{font-size:12px;letter-spacing:.13em;color:rgba(20,48,26,.68)}
.kp246-event-copy>strong{font-size:clamp(46px,5.5vw,78px)!important;line-height:.88!important;letter-spacing:-.055em;color:#103119!important}
.kp246-event-copy .kp244-event-date{font-size:clamp(18px,2vw,26px);font-weight:850;color:#173c24}
.kp246-event-copy .kp244-mini-status{margin-top:8px;font-size:clamp(16px,1.8vw,22px);font-weight:900;color:#103119}
@media(max-width:980px){
 .kp246-hours-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:20px}
 .kp246-days-big{font-size:clamp(150px,20vw,230px)!important}
 .kp246-event-copy>strong{font-size:clamp(40px,5vw,62px)!important}
}
@media(max-width:760px){
 .kp20-hours-section.kp246-hours-page{padding-left:16px!important;padding-right:16px!important}
 .kp246-hours-layout{grid-template-columns:1fr;gap:18px}
 .kp246-days-panel{padding-top:0}
 .kp246-days-big{font-size:clamp(150px,43vw,220px)!important}
 .kp246-live-hours{gap:8px}
 .kp246-time-identity{flex-wrap:wrap!important}
 .kp246-event-card{min-height:300px!important;padding:28px!important}
 .kp246-event-copy>strong{font-size:clamp(46px,13vw,68px)!important}
}
@media(max-width:480px){
 .kp246-days-big{font-size:clamp(132px,41vw,190px)!important}
 .kp246-time-row{padding:11px 12px 9px!important}
 .kp246-time-identity>strong{font-size:16px!important}
 .kp246-time-identity>span{font-size:13px!important}
 .kp246-event-card{min-height:270px!important;border-radius:24px!important}
}


/* v1.0.247 — Horaires reprend l'univers GO Adventure + fiches événements configurables. */
.kp247-hours-adventure{grid-template-columns:minmax(280px,.72fr) minmax(360px,.95fr) minmax(330px,.82fr);gap:clamp(26px,4vw,56px);align-items:center;background:linear-gradient(135deg,#07120d 0%,#102e22 48%,#07120d 100%)!important;min-height:760px}
.kp247-hours-live,.kp247-hours-copy,.kp247-event-art{position:relative;z-index:2;min-width:0}
.kp247-hours-live{display:flex;flex-direction:column;gap:12px;align-self:center}
.kp247-live-hours{display:grid;gap:10px}
.kp247-time-row{padding:14px 16px 12px;border-radius:19px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.08)}
.kp247-time-identity{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.kp247-time-identity>strong{font-size:clamp(17px,1.55vw,22px)}
.kp247-time-identity>span{font-size:clamp(13px,1.15vw,16px)}
.kp247-time-track{height:10px}
.kp247-vacation-card{min-height:104px;padding:15px 16px;border-radius:20px;background:var(--accent);margin-top:2px}
.kp247-vacation-card .kp244-mini-icon{width:48px;height:48px;border-radius:15px;font-size:19px}
.kp247-vacation-card .kp244-mini-copy>strong{font-size:clamp(17px,1.55vw,21px)}
.kp247-hours-copy{max-width:760px}
.kp247-hours-kicker{display:block;margin-bottom:14px;color:rgba(255,255,255,.55);font:900 10px/1 Montserrat,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.kp247-hours-copy h2{display:flex;flex-direction:column;align-items:flex-start;gap:.02em;margin:0 0 22px;font:900 clamp(54px,5.5vw,88px)/.88 Montserrat,sans-serif;letter-spacing:-.065em;color:#fff}
.kp247-hours-copy h2 span{display:block;white-space:nowrap}
.kp247-hours-copy h2 span:nth-child(1){color:#fff}
.kp247-hours-copy h2 span:nth-child(2){color:#f1c40f}
.kp247-hours-copy h2 span:nth-child(3){color:#2e9f55}
.kp247-hours-copy p{max-width:680px;color:rgba(255,255,255,.66);font-size:16px;line-height:1.58}
.kp247-event-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0 0;max-width:560px}
.kp247-event-actions>button.kp247-event-button{min-height:82px;animation:none!important;cursor:pointer}
.kp247-event-actions>button.kp247-event-button strong{font-size:clamp(12px,1.15vw,16px)}
.kp247-event-actions>button.kp247-event-button.is-active{background:var(--accent)!important;color:#112718!important;box-shadow:0 0 0 2px rgba(255,255,255,.85),0 18px 36px rgba(0,0,0,.22)!important}
.kp247-event-art{text-align:left}
.kp247-event-stage{position:relative;overflow:hidden;min-height:520px;padding:clamp(28px,3vw,42px);border-radius:34px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(145deg,rgba(212,175,55,.98),#e7c95e);color:#112718;box-shadow:0 30px 74px rgba(0,0,0,.3);text-align:left}
.kp247-event-stage:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-150px;top:-150px;border:1px solid rgba(17,39,24,.16);box-shadow:0 0 0 52px rgba(17,39,24,.045),0 0 0 104px rgba(17,39,24,.025)}
.kp247-event-stage>*{position:relative;z-index:1}
.kp247-event-icon{width:92px;height:92px;border-radius:27px;display:grid;place-items:center;background:#0f3d1a;color:#fff;font-size:48px;box-shadow:0 16px 30px rgba(0,0,0,.2);margin-bottom:24px}
.kp247-event-kicker{font:900 10px/1 Montserrat,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:rgba(17,39,24,.64)}
.kp247-event-title{display:block;margin-top:11px;font:900 clamp(42px,4vw,66px)/.88 Montserrat,sans-serif;letter-spacing:-.055em;color:#103119}
.kp247-event-date{display:block;margin-top:15px;font:900 clamp(17px,1.7vw,23px)/1.2 Montserrat,sans-serif;color:#173c24}
.kp247-event-stage p{margin:16px 0 0;max-width:380px;color:#243328;font:700 14px/1.55 Inter,Arial,sans-serif}
.kp247-event-status{display:inline-flex;margin-top:22px;min-height:34px;align-items:center;padding:0 13px;border-radius:999px;background:#0f6b3f;color:#fff;font:900 11px/1 Montserrat,sans-serif;letter-spacing:.025em}
@media(max-width:980px){.kp247-hours-adventure{grid-template-columns:1fr 1fr;grid-template-areas:"live copy" "event event";gap:24px}.kp247-hours-live{grid-area:live}.kp247-hours-copy{grid-area:copy}.kp247-event-art{grid-area:event}.kp247-event-stage{min-height:330px}.kp247-hours-copy h2{font-size:clamp(48px,7vw,72px)}}
@media(max-width:680px){.kp247-hours-adventure{grid-template-columns:1fr;grid-template-areas:"copy" "event" "live";padding:68px 14px!important;gap:28px}.kp247-hours-copy h2{font-size:clamp(48px,13vw,66px)}.kp247-hours-copy p{font-size:14px}.kp247-event-actions{grid-template-columns:1fr 1fr;max-width:none}.kp247-event-actions>button.kp247-event-button{min-height:74px;padding:10px;border-radius:17px}.kp247-event-stage{min-height:300px;border-radius:26px;padding:26px}.kp247-event-title{font-size:clamp(40px,12vw,58px)}.kp247-hours-live{width:100%}.kp247-time-row{padding:13px 14px 11px}}


/* v1.0.248 — Horaires épurés : grand 7/7 + événements. */
.kp247-hours-adventure{grid-template-columns:minmax(360px,1.05fr) minmax(340px,.95fr)!important;gap:clamp(34px,5vw,78px)!important;align-items:center!important;min-height:760px!important}
.kp247-hours-copy{max-width:none!important}
.kp247-hours-copy h2{font-size:clamp(72px,8vw,132px)!important;line-height:.82!important;margin:0 0 34px!important;letter-spacing:-.075em!important}
.kp247-event-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:680px!important;margin:0!important;gap:12px!important}
.kp247-event-actions>button.kp247-event-button{min-height:96px!important;padding:14px 16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important}
.kp247-event-actions>button.kp247-event-button strong{font-size:clamp(13px,1.25vw,18px)!important}
.kp247-event-actions>button.kp247-event-button span{display:block;font:800 11px/1.2 Montserrat,sans-serif;letter-spacing:.02em;opacity:.72;text-align:center}
.kp247-event-art{align-self:stretch!important;display:flex!important;align-items:center!important}
.kp247-event-stage{width:100%!important;min-height:560px!important}
@media(max-width:980px){.kp247-hours-adventure{grid-template-columns:1fr 1fr!important;grid-template-areas:none!important}.kp247-hours-copy,.kp247-event-art{grid-area:auto!important}.kp247-hours-copy h2{font-size:clamp(62px,9vw,100px)!important}.kp247-event-stage{min-height:440px!important}}
@media(max-width:680px){.kp247-hours-adventure{grid-template-columns:1fr!important;grid-template-areas:none!important;padding:68px 14px!important}.kp247-hours-copy,.kp247-event-art{grid-area:auto!important}.kp247-hours-copy h2{font-size:clamp(64px,18vw,96px)!important}.kp247-event-actions{grid-template-columns:1fr 1fr!important}.kp247-event-actions>button.kp247-event-button{min-height:86px!important;padding:12px!important}.kp247-event-stage{min-height:360px!important}}


/* v1.0.249 — Horaires : alignement sur Kerdudal Go + 11 événements en ligne chronologique. */
.kp247-hours-adventure{
  grid-template-columns:minmax(360px,1.02fr) minmax(360px,.98fr)!important;
  grid-template-areas:"copy event" "buttons buttons"!important;
  column-gap:clamp(42px,6vw,96px)!important;
  row-gap:34px!important;
  align-items:center!important;
  padding-inline:max(clamp(18px,4vw,64px),calc((100vw - 1600px)/2 + 64px))!important;
}
.kp247-hours-copy{grid-area:copy!important;justify-self:start!important;align-self:center!important;width:100%!important;max-width:750px!important;padding:0!important;margin:0!important}
.kp247-hours-copy h2{margin:0!important;font-size:clamp(72px,7vw,112px)!important;line-height:.86!important;letter-spacing:-.072em!important}
.kp247-event-art{grid-area:event!important;align-self:stretch!important;display:flex!important;align-items:center!important}
.kp247-event-stage{min-height:500px!important}
.kp247-event-actions{
  grid-area:buttons!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:repeat(11,minmax(0,1fr))!important;
  gap:7px!important;
  overflow:visible!important;
}
.kp247-event-actions>button.kp247-event-button{
  min-width:0!important;
  min-height:72px!important;
  padding:8px 5px!important;
  border-radius:14px!important;
  gap:5px!important;
}
.kp247-event-actions>button.kp247-event-button strong{
  display:block!important;
  width:100%!important;
  font-size:clamp(9px,.78vw,12px)!important;
  line-height:1.08!important;
  white-space:normal!important;
  text-align:center!important;
}
.kp247-event-actions>button.kp247-event-button span{
  font-size:clamp(7px,.62vw,9px)!important;
  line-height:1.12!important;
  white-space:normal!important;
}
@media(max-width:1180px){
 .kp247-hours-adventure{padding-inline:clamp(18px,4vw,64px)!important}
 .kp247-event-actions{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important;padding-bottom:6px!important}
 .kp247-event-actions>button.kp247-event-button{flex:0 0 118px!important;min-width:118px!important}
}
@media(max-width:760px){
 .kp247-hours-adventure{grid-template-columns:1fr!important;grid-template-areas:"copy" "event" "buttons"!important;row-gap:26px!important}
 .kp247-hours-copy{max-width:none!important}
 .kp247-hours-copy h2{font-size:clamp(58px,16vw,88px)!important}
 .kp247-event-stage{min-height:330px!important}
 .kp247-event-actions>button.kp247-event-button{flex-basis:112px!important;min-width:112px!important}
}


/* v1.0.251 — Horaires : titre au même format que Épicerie / Café / Snack. */
.kp247-hours-copy .kp251-hours-title{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:.04em!important;
  min-height:3.06em!important;
  overflow:visible!important;
  margin:0 0 24px!important;
  font:900 clamp(62px,7vw,112px)/1.02 Montserrat,Arial,sans-serif!important;
  letter-spacing:-.065em!important;
  color:#fff!important;
  text-transform:none!important;
}
.kp247-hours-copy .kp251-hours-title span{
  position:relative!important;
  display:block!important;
  min-height:1em!important;
  line-height:1.02!important;
  white-space:nowrap!important;
  text-transform:none!important;
}
.kp247-hours-copy .kp251-hours-title span:nth-child(1){color:#fff!important}
.kp247-hours-copy .kp251-hours-title span:nth-child(2){color:#f1c40f!important}
.kp247-hours-copy .kp251-hours-title span:nth-child(3){color:#2e9f55!important}
@media(max-width:760px){
  .kp247-hours-copy .kp251-hours-title{font-size:clamp(58px,17vw,78px)!important}
}


/* v1.0.253 — Horaires : fiche événement 9/16 + couleurs thématiques + animations séquencées. */
@keyframes kp253-title-float{
  0%,100%{transform:translate3d(0,0,0);text-shadow:0 0 0 rgba(255,255,255,0)}
  45%{transform:translate3d(0,-7px,0);text-shadow:0 18px 38px rgba(255,255,255,.12)}
  55%{transform:translate3d(0,-7px,0);text-shadow:0 18px 38px rgba(255,255,255,.12)}
}
@keyframes kp253-event-hop{
  0%,5%,100%{transform:translate3d(0,0,0) scale(1)}
  1.6%{transform:translate3d(0,-9px,0) scale(1.025)}
  3.2%{transform:translate3d(0,0,0) scale(1)}
  4.1%{transform:translate3d(0,-3px,0) scale(1.008)}
}

/* Le texte principal respire doucement, sans bouger le reste du bloc. */
.kp247-hours-copy .kp251-hours-title span:first-child{
  animation:kp253-title-float 4.8s ease-in-out infinite!important;
  transform-origin:left center;
  will-change:transform,text-shadow;
}

/* Composition desktop : grand texte à gauche, carte 9/16 réellement verticale à droite. */
.kp247-hours-adventure{
  grid-template-columns:minmax(0,1fr) minmax(250px,340px)!important;
  grid-template-areas:"copy event" "buttons buttons"!important;
  column-gap:clamp(34px,5vw,80px)!important;
  align-items:center!important;
}
.kp247-hours-copy{min-width:0!important}
.kp247-event-art{
  width:100%!important;
  max-width:340px!important;
  justify-self:end!important;
  align-self:center!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
}
.kp247-event-stage{
  width:min(100%,340px)!important;
  aspect-ratio:9/16!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  padding:clamp(22px,2.2vw,32px)!important;
  border-radius:28px!important;
  justify-content:center!important;
}
.kp247-event-icon{
  width:clamp(66px,6vw,82px)!important;
  height:clamp(66px,6vw,82px)!important;
  border-radius:22px!important;
  font-size:clamp(34px,3.5vw,44px)!important;
  margin-bottom:18px!important;
}
.kp247-event-title{
  font-size:clamp(34px,3vw,48px)!important;
  line-height:.92!important;
}
.kp247-event-date{font-size:clamp(15px,1.35vw,19px)!important;margin-top:12px!important}
.kp247-event-stage p{font-size:13px!important;line-height:1.48!important;margin-top:13px!important}
.kp247-event-status{margin-top:16px!important}

/* Chaque événement possède son propre thème. */
.kp247-event-button{
  --kp253-bg:linear-gradient(135deg,#d4af37,#e9ca65);
  --kp253-fg:#13291a;
  --kp253-border:rgba(255,255,255,.20);
  background:var(--kp253-bg)!important;
  color:var(--kp253-fg)!important;
  border:1px solid var(--kp253-border)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.16)!important;
  animation:kp253-event-hop 11s ease-in-out infinite!important;
  animation-delay:calc(var(--kp253-i,0) * 1s)!important;
  will-change:transform;
}
.kp247-event-button strong,.kp247-event-button span{color:inherit!important}
.kp247-event-button.is-active{
  background:var(--kp253-bg)!important;
  color:var(--kp253-fg)!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.92),0 16px 34px rgba(0,0,0,.28)!important;
}
.kp247-event-button[data-hours-event-button="4th-july"]{--kp253-bg:linear-gradient(135deg,#2349a5 0%,#2349a5 42%,#d93f49 100%);--kp253-fg:#fff}
.kp247-event-button[data-hours-event-button="easter-day"]{--kp253-bg:linear-gradient(135deg,#f5db74,#c39ad9);--kp253-fg:#352541}
.kp247-event-button[data-hours-event-button="father-day"]{--kp253-bg:linear-gradient(135deg,#315f9f,#6d9cdb);--kp253-fg:#fff}
.kp247-event-button[data-hours-event-button="halloween"]{--kp253-bg:linear-gradient(135deg,#ff9a1f,#e45c0c);--kp253-fg:#25140a}
.kp247-event-button[data-hours-event-button="mothers-day"]{--kp253-bg:linear-gradient(135deg,#f09ab9,#d96898);--kp253-fg:#44152b}
.kp247-event-button[data-hours-event-button="music-day"]{--kp253-bg:linear-gradient(135deg,#6844b9,#c755a8);--kp253-fg:#fff}
.kp247-event-button[data-hours-event-button="st-patrick-day"]{--kp253-bg:linear-gradient(135deg,#1d7f45,#55b66f);--kp253-fg:#fff}
.kp247-event-button[data-hours-event-button="star-wars-day"]{--kp253-bg:linear-gradient(135deg,#0b1020,#26385f);--kp253-fg:#f1d45a}
.kp247-event-button[data-hours-event-button="valentines-day"]{--kp253-bg:linear-gradient(135deg,#d72f5d,#f07e9c);--kp253-fg:#fff}
.kp247-event-button[data-hours-event-button="victory-day"]{--kp253-bg:linear-gradient(135deg,#294c9f,#c63f4c);--kp253-fg:#fff}
.kp247-event-button[data-hours-event-button="xmas"]{--kp253-bg:linear-gradient(135deg,#b62f3a,#177144);--kp253-fg:#fff}

@media(max-width:980px){
  .kp247-hours-adventure{grid-template-columns:minmax(0,1fr) minmax(230px,300px)!important;column-gap:28px!important}
  .kp247-event-art{max-width:300px!important}
  .kp247-event-stage{width:min(100%,300px)!important}
}
@media(max-width:760px){
  .kp247-hours-adventure{grid-template-columns:1fr!important;grid-template-areas:"copy" "event" "buttons"!important}
  .kp247-event-art{justify-self:center!important;max-width:300px!important;justify-content:center!important}
  .kp247-event-stage{width:min(82vw,300px)!important}
}
@media(prefers-reduced-motion:reduce){
  .kp247-hours-copy .kp251-hours-title span:first-child,
  .kp247-event-button{animation:none!important}
}


/* v1.0.254 — Horaires : horaire aussi imposant que le libellé + calendrier janvier → décembre. */
.kp247-hours-copy .kp251-hours-title span:nth-child(2){
  font-size:1.20em!important;
  line-height:.94!important;
  letter-spacing:-.075em!important;
  transform-origin:left center!important;
}
/* Les boutons conservent leur vraie couleur thématique même lorsqu’un événement est à venir. */
.kp247-event-actions>button.kp247-event-button{
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
}
.kp247-event-actions>button.kp247-event-button:disabled,
.kp247-event-actions>button.kp247-event-button[aria-disabled="true"]{
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
}
@media(max-width:760px){
  .kp247-hours-copy .kp251-hours-title span:nth-child(2){font-size:1.12em!important;letter-spacing:-.065em!important}
}


/* v1.0.255 — Horaires : les deux lignes du titre ont exactement la même largeur visuelle ; événements gris sauf Halloween. */
.kp247-hours-copy .kp251-hours-title{
  width:max-content!important;
  max-width:100%!important;
}
.kp247-hours-copy .kp251-hours-title span:first-child{
  width:auto!important;
}
.kp247-hours-copy .kp251-hours-title span:nth-child(2){
  box-sizing:border-box!important;
  width:100%!important;
  font-size:1em!important;
  line-height:1.02!important;
  letter-spacing:-.065em!important;
  text-align:justify!important;
  text-align-last:justify!important;
  -moz-text-align-last:justify!important;
}
/* Toutes les cases événement restent neutres, Halloween est la seule mise en avant. */
.kp247-event-actions>button.kp247-event-button{
  --kp253-bg:linear-gradient(135deg,#6f7472,#4f5552)!important;
  --kp253-fg:#f7f7f5!important;
  --kp253-border:rgba(255,255,255,.17)!important;
  background:var(--kp253-bg)!important;
  color:var(--kp253-fg)!important;
}
.kp247-event-actions>button.kp247-event-button[data-hours-event-button="halloween"]{
  --kp253-bg:linear-gradient(135deg,#ff9a1f,#e45c0c)!important;
  --kp253-fg:#25140a!important;
  --kp253-border:rgba(255,190,85,.72)!important;
  background:var(--kp253-bg)!important;
  color:var(--kp253-fg)!important;
}
.kp247-event-actions>button.kp247-event-button.is-active{
  background:var(--kp253-bg)!important;
  color:var(--kp253-fg)!important;
}
@media(max-width:760px){
  .kp247-hours-copy .kp251-hours-title span:nth-child(2){
    font-size:1em!important;
    letter-spacing:-.065em!important;
  }
}


/* v1.0.256 — Horaires : la grande fiche événement sautille quand elle affiche le prochain événement à venir. */
@keyframes kp256-stage-hop{
  0%,100%{transform:translate3d(0,0,0) scale(1);box-shadow:0 26px 50px rgba(0,0,0,.28)}
  18%{transform:translate3d(0,-10px,0) scale(1.012);box-shadow:0 34px 64px rgba(0,0,0,.34)}
  30%{transform:translate3d(0,0,0) scale(1)}
  40%{transform:translate3d(0,-4px,0) scale(1.004)}
  52%{transform:translate3d(0,0,0) scale(1)}
}
.kp247-event-stage.is-next-upcoming{
  animation:kp256-stage-hop 2.8s cubic-bezier(.22,.82,.26,1) infinite!important;
  will-change:transform,box-shadow;
}
@media(prefers-reduced-motion:reduce){
  .kp247-event-stage.is-next-upcoming{animation:none!important}
}


/* v1.0.257 — Horaires : seule la petite case bouton choisie dans le Back Office sautille ; la grande fiche reste fixe. */
.kp247-event-stage.is-next-upcoming{animation:none!important;transform:none!important;box-shadow:0 26px 50px rgba(0,0,0,.28)!important}
.kp247-event-button{animation:none!important;will-change:auto!important}
.kp247-event-button.is-bouncing{
  animation:kp253-event-hop 2.4s ease-in-out infinite!important;
  will-change:transform!important;
}
@media(prefers-reduced-motion:reduce){
  .kp247-event-button.is-bouncing{animation:none!important}
}


/* v1.0.258 — Horaires : saut visible du petit bouton sélectionné ; grande fiche toujours fixe. */
@keyframes kp258-event-button-hop{
  0%,58%,100%{transform:translate3d(0,0,0) scale(1);box-shadow:0 10px 22px rgba(0,0,0,.16)}
  10%{transform:translate3d(0,-13px,0) scale(1.045);box-shadow:0 22px 34px rgba(0,0,0,.28)}
  21%{transform:translate3d(0,0,0) scale(1.01)}
  31%{transform:translate3d(0,-7px,0) scale(1.025)}
  42%{transform:translate3d(0,0,0) scale(1)}
}
.kp247-event-stage,
.kp247-event-stage.is-next-upcoming{animation:none!important;transform:none!important}
.kp247-event-actions{padding-top:14px!important}
.kp247-event-actions>button.kp247-event-button{animation:none!important;transform:translate3d(0,0,0)}
.kp247-event-actions>button.kp247-event-button.is-bouncing{
  animation:kp258-event-button-hop 2.1s cubic-bezier(.22,.8,.3,1) infinite!important;
  transform-origin:center bottom!important;
  will-change:transform,box-shadow!important;
}


/* v1.0.259 — Horaires : la seconde ligne s’adapte automatiquement à la largeur de la ligne des jours. */
.kp247-hours-copy .kp251-hours-title [data-hours-days-line]{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
}
.kp247-hours-copy .kp251-hours-title [data-hours-time-line]{
  display:block!important;
  width:max-content!important;
  max-width:none!important;
  text-align:left!important;
  text-align-last:auto!important;
  -moz-text-align-last:auto!important;
  white-space:nowrap!important;
  transform:none!important;
  transform-origin:left center!important;
}


/* v1.0.260 — Horaires : alignement exact début/fin dans toutes les langues. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-line]{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  width:auto!important;
  max-width:none!important;
  white-space:nowrap!important;
  text-align:left!important;
  text-align-last:auto!important;
  transform:none!important;
}
.kp247-hours-copy .kp251-hours-title [data-hours-time-line]>span{
  display:inline-block!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-height:0!important;
  white-space:nowrap!important;
  line-height:1.02!important;
  color:inherit!important;
  animation:none!important;
  transform:none!important;
}
.kp247-hours-copy .kp251-hours-title [data-hours-time-start],
.kp247-hours-copy .kp251-hours-title [data-hours-time-end]{color:#f1c40f!important}
.kp247-hours-copy .kp251-hours-title [data-hours-time-separator]{color:#f1c40f!important}


/* v1.0.261 — la ligne horaire est un texte unique dont la vraie taille est recalculée en JS. */
.kp247-hours-copy .kp251-hours-title [data-hours-days-line]{
  display:block!important;
  width:max-content!important;
  max-width:none!important;
  white-space:nowrap!important;
}
.kp247-hours-copy .kp251-hours-title [data-hours-time-line]{
  display:inline-block!important;
  width:max-content!important;
  max-width:none!important;
  min-width:0!important;
  white-space:nowrap!important;
  text-align:left!important;
  text-align-last:auto!important;
  letter-spacing:-.065em!important;
  line-height:1.02!important;
  color:#f1c40f!important;
  transform:none!important;
  transform-origin:left center!important;
  animation:none!important;
}


/* v1.0.262 — Horaires : affiche 9/16 Halloween dans la grande carte événement. */
.kp262-event-poster{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
  display:block!important;
  z-index:0!important;
}
.kp247-event-stage.has-poster{
  padding:0!important;
  overflow:hidden!important;
  background:#06160f!important;
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:0 24px 54px rgba(0,0,0,.34)!important;
}
.kp247-event-stage.has-poster > :not(.kp262-event-poster){
  display:none!important;
}


/* v1.0.265 — Horaires : la grande carte 9/16 est une image plein cadre, sans texte ni objet HTML superposé. */
.kp247-event-stage.kp265-event-image-only{
  position:relative!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  aspect-ratio:9/16!important;
  background:#06160f!important;
}
.kp247-event-stage.kp265-event-image-only .kp262-event-poster{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  border:0!important;
  border-radius:inherit!important;
  display:block!important;
}


/* v1.0.266 — texte Halloween manuscrit sous les horaires, au-dessus des boutons événements. */
.kp266-hours-handwriting{
  width:min(100%,780px)!important;
  min-height:clamp(150px,14vw,210px)!important;
  margin:18px 0 4px!important;
  padding:0!important;
  font-family:'Caveat','Segoe Print','Bradley Hand',cursive!important;
  font-size:clamp(25px,2.15vw,36px)!important;
  font-weight:600!important;
  line-height:1.12!important;
  letter-spacing:.005em!important;
  color:#f7f1df!important;
  text-wrap:pretty;
  text-shadow:0 2px 16px rgba(0,0,0,.2)!important;
}
.kp266-hours-handwriting [data-hours-handwriting-output]{
  white-space:pre-wrap!important;
}
.kp266-handwriting-caret{
  display:inline-block!important;
  width:.07em!important;
  height:.9em!important;
  margin-left:.08em!important;
  vertical-align:-.08em!important;
  border-radius:999px!important;
  background:#ff9a1f!important;
  box-shadow:0 0 12px rgba(255,154,31,.55)!important;
  animation:kp266-ink-caret .78s steps(1,end) infinite!important;
}
@keyframes kp266-ink-caret{0%,48%{opacity:1}49%,100%{opacity:.12}}
.kp266-hours-handwriting.is-complete .kp266-handwriting-caret{
  animation:kp266-ink-caret 1.15s steps(1,end) 2!important;
  opacity:0!important;
  transition:opacity .8s ease!important;
}
@media(max-width:980px){
  .kp266-hours-handwriting{font-size:clamp(23px,2.8vw,31px)!important;min-height:170px!important}
}
@media(max-width:760px){
  .kp266-hours-handwriting{width:100%!important;min-height:0!important;margin-top:16px!important;font-size:clamp(23px,6.3vw,31px)!important;line-height:1.16!important}
}
@media(prefers-reduced-motion:reduce){
  .kp266-handwriting-caret{display:none!important}
}


/* v1.0.268 — texte Halloween : même largeur exacte que « Lundi à Dimanche » + vrai saut de paragraphe. */
.kp266-hours-handwriting{
  max-width:100%!important;
  box-sizing:border-box!important;
}
.kp266-hours-handwriting [data-hours-handwriting-output]{
  white-space:pre-wrap!important;
}


/* v1.0.270 — vrais paragraphes : les deux sauts sont créés par des balises <br>, jamais par du texte \n. */
.kp266-hours-handwriting [data-hours-handwriting-output] br{display:block!important;content:""!important}


/* v1.0.271 — rapproche la zone manuscrite de la carte 9/16 sans changer sa largeur de référence. */
.kp266-hours-handwriting{
  margin:18px 0 4px auto!important;
}
@media(max-width:760px){
  .kp266-hours-handwriting{margin:16px 0 4px 0!important}
}


/* v1.0.272 — la zone manuscrite s'étend vers la droite sur toute la colonne, sans déplacer le titre. */
.kp266-hours-handwriting{
  width:100%!important;
  max-width:none!important;
  margin:18px 0 4px 0!important;
  box-sizing:border-box!important;
}
/* On réduit légèrement l'espace entre la colonne texte et la carte 9/16 pour gagner encore de la largeur utile. */
.kp247-hours-adventure{
  column-gap:clamp(20px,2.8vw,42px)!important;
}
@media(max-width:760px){
  .kp266-hours-handwriting{width:100%!important;max-width:100%!important;margin:16px 0 4px 0!important}
}


/* v1.0.273 — zone manuscrite : même départ, extension réelle vers la carte 9/16. */
.kp247-hours-copy{overflow:visible!important}
.kp266-hours-handwriting{
  max-width:none!important;
  overflow:visible!important;
  position:relative!important;
  z-index:3!important;
}
.kp266-hours-handwriting [data-hours-handwriting-output]{
  display:inline!important;
  white-space:normal!important;
}
.kp273-handwriting-paragraph{
  display:block!important;
  width:100%!important;
  white-space:normal!important;
  margin:0 0 .48em 0!important;
  padding:0!important;
}
.kp273-handwriting-paragraph:last-child{margin-bottom:0!important}
@media(max-width:760px){
  .kp266-hours-handwriting{width:100%!important;max-width:100%!important}
  .kp273-handwriting-paragraph{margin-bottom:.6em!important}
}


/* v1.0.274 — largeur réelle jusqu’à la carte 9/16 + aucun curseur visible. */
.kp266-handwriting-caret{display:none!important}
.kp247-hours-copy{overflow:visible!important;position:relative!important;z-index:3!important}
.kp266-hours-handwriting{
  overflow:visible!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.kp266-hours-handwriting [data-hours-handwriting-output]{
  display:block!important;
  width:100%!important;
}
.kp273-handwriting-paragraph{
  display:block!important;
  width:100%!important;
  max-width:none!important;
}


/* v1.0.275 — petit texte incliné dans une tache imparfaite entre les horaires et le texte manuscrit. */
.kp275-hours-event-tag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:2px 0 18px 0!important;
  min-height:56px!important;
  padding:12px 22px 14px!important;
  max-width:max-content!important;
  background:linear-gradient(135deg,#e7be15 0%,#f4d449 100%)!important;
  color:#12301d!important;
  font:900 clamp(13px,1.1vw,17px)/1 Montserrat,Arial,sans-serif!important;
  letter-spacing:.01em!important;
  transform:rotate(-4.8deg)!important;
  border-radius:44% 56% 52% 48% / 41% 52% 48% 59%!important;
  box-shadow:0 16px 28px rgba(0,0,0,.22)!important;
  position:relative!important;
  isolation:isolate!important;
}
.kp275-hours-event-tag::before,
.kp275-hours-event-tag::after{
  content:"";
  position:absolute;
  inset:auto;
  background:inherit;
  border-radius:inherit;
  z-index:-1;
  opacity:.98;
}
.kp275-hours-event-tag::before{
  width:26px;height:20px;left:10px;top:-6px;transform:rotate(-16deg);
}
.kp275-hours-event-tag::after{
  width:22px;height:18px;right:12px;bottom:-5px;transform:rotate(18deg);
}
.kp275-hours-event-tag span{
  display:block!important;
  transform:rotate(1.5deg)!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .kp275-hours-event-tag{margin:0 0 16px 0!important;min-height:52px!important;padding:11px 18px 13px!important}
}


/* v1.0.276 — remonte la tache « Le prochain événement », la passe en orange Halloween, et remonte aussi le texte manuscrit. */
.kp275-hours-event-tag{
  margin:-8px 0 10px 0!important;
  background:linear-gradient(135deg,#ff9a1f 0%,#e45c0c 100%)!important;
  color:#25140a!important;
  box-shadow:0 16px 28px rgba(0,0,0,.24)!important;
}
.kp266-hours-handwriting{
  margin-top:6px!important;
}
@media(max-width:760px){
  .kp275-hours-event-tag{margin:-4px 0 10px 0!important}
  .kp266-hours-handwriting{margin-top:8px!important}
}


/* v1.0.277 — remonte encore le badge et le texte manuscrit, avec un style peinture/graffe moderne. */
.kp275-hours-event-tag{
  margin:-34px 0 -6px 0!important;
  min-height:62px!important;
  padding:13px 24px 16px!important;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,214,107,.92) 0 10%, rgba(255,214,107,0) 11%),
    radial-gradient(circle at 84% 70%, rgba(255,122,0,.72) 0 12%, rgba(255,122,0,0) 13%),
    linear-gradient(135deg,#ffb018 0%,#ff7a00 44%,#e04f00 100%)!important;
  color:#fff8ef!important;
  text-shadow:0 2px 0 rgba(72,21,0,.42), 0 8px 18px rgba(0,0,0,.22)!important;
  border-radius:38% 62% 46% 54% / 44% 38% 62% 56%!important;
  box-shadow:0 20px 30px rgba(0,0,0,.22), inset 0 2px 10px rgba(255,255,255,.14)!important;
  border:2px solid rgba(255,244,230,.22)!important;
  transform:rotate(-6.2deg)!important;
  overflow:visible!important;
}
.kp275-hours-event-tag::before,
.kp275-hours-event-tag::after{
  z-index:-1!important;
}
.kp275-hours-event-tag::before{
  width:40px!important;
  height:30px!important;
  left:-8px!important;
  top:-10px!important;
  transform:rotate(-22deg)!important;
  background:linear-gradient(135deg,#ffbc29 0%,#f46000 100%)!important;
  border-radius:52% 48% 58% 42% / 42% 57% 43% 58%!important;
  box-shadow:22px 12px 0 -8px rgba(255,150,20,.92), 110px 26px 0 -13px rgba(255,184,44,.82), 168px -6px 0 -15px rgba(244,96,0,.86)!important;
}
.kp275-hours-event-tag::after{
  width:12px!important;
  height:12px!important;
  right:10px!important;
  bottom:-8px!important;
  transform:none!important;
  border-radius:50%!important;
  background:#ffd055!important;
  box-shadow:
    -24px -10px 0 1px rgba(255,188,41,.96),
    -56px 6px 0 -1px rgba(244,96,0,.92),
    -88px -14px 0 2px rgba(255,122,0,.94),
    -134px 10px 0 -2px rgba(255,208,85,.9),
    14px -16px 0 -3px rgba(255,184,44,.95)!important;
  opacity:1!important;
}
.kp275-hours-event-tag span{
  transform:rotate(2.4deg) translateY(-1px)!important;
  letter-spacing:.02em!important;
  font-weight:900!important;
}
.kp266-hours-handwriting{
  margin-top:-18px!important;
}
@media(max-width:760px){
  .kp275-hours-event-tag{
    margin:-18px 0 -2px 0!important;
    min-height:58px!important;
    padding:12px 20px 14px!important;
  }
  .kp266-hours-handwriting{
    margin-top:-10px!important;
  }
}


/* v1.0.278 — remonte uniquement le badge « Le prochain événement » sans déplacer le texte manuscrit. */
.kp275-hours-event-tag{
  margin-top:-58px!important;
  margin-bottom:18px!important;
}
@media(max-width:760px){
  .kp275-hours-event-tag{
    margin-top:-40px!important;
    margin-bottom:20px!important;
  }
}


/* v1.0.279 — suppression du badge « Le prochain événement » ; le texte manuscrit remonte à sa place. */
.kp266-hours-handwriting{
  margin-top:-22px!important;
}
@media(max-width:760px){
  .kp266-hours-handwriting{margin-top:-12px!important}
}


/* v1.0.280 — le texte manuscrit commence environ deux lignes plus haut. */
.kp266-hours-handwriting{
  margin-top:-102px!important;
}
@media(max-width:980px){
  .kp266-hours-handwriting{margin-top:-82px!important}
}
@media(max-width:760px){
  .kp266-hours-handwriting{margin-top:-68px!important}
}


/* v1.0.281 — EN uniquement : AM/PM plus petits et plus hauts dans la ligne des horaires. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem]{
  display:inline-block!important;
  font-size:.46em!important;
  line-height:1!important;
  vertical-align:baseline!important;
  transform:translateY(-0.55em)!important;
  transform-origin:left bottom!important;
  margin-left:.08em!important;
  letter-spacing:.01em!important;
}


/* v1.0.282 — cible explicitement PM pour qu’il soit aussi petit que AM. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem-am],
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem-pm]{
  display:inline-block!important;
  font-size:.46em!important;
  line-height:1!important;
  vertical-align:baseline!important;
  transform:translateY(-0.55em)!important;
  transform-origin:left bottom!important;
  margin-left:.08em!important;
  letter-spacing:.01em!important;
}


/* v1.0.283 — correction visuelle explicite : PM rendu exactement aussi petit que AM. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem-am]{
  font-size:.46em!important;
  transform:translateY(-0.55em)!important;
}
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem-pm]{
  font-size:.40em!important;
  line-height:1!important;
  vertical-align:baseline!important;
  transform:translateY(-0.62em)!important;
  transform-origin:left bottom!important;
  margin-left:.05em!important;
  letter-spacing:-.01em!important;
}


/* v1.0.284 — AM et PM ont strictement la même taille et la même position. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem-am],
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem-pm]{
  display:inline-block!important;
  font-size:.46em!important;
  line-height:1!important;
  vertical-align:baseline!important;
  transform:translateY(-0.55em)!important;
  transform-origin:left bottom!important;
  margin-left:.08em!important;
  letter-spacing:.01em!important;
}


/* v1.0.285 — AM et PM utilisent exactement la même boîte visuelle : même taille, même hauteur, même largeur. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem-am],
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem-pm]{
  display:inline-flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  width:1.58em!important;
  min-width:1.58em!important;
  height:.72em!important;
  font-size:.46em!important;
  line-height:1!important;
  vertical-align:baseline!important;
  transform:translateY(-0.55em)!important;
  transform-origin:left bottom!important;
  margin-left:.08em!important;
  letter-spacing:0!important;
  text-align:center!important;
  font-family:inherit!important;
  white-space:nowrap!important;
  overflow:visible!important;
}


/* v1.0.286 — ligne anglaise reconstruite en 3 blocs : 10:00 AM / to / 10:00 PM pour garantir AM et PM identiques. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-line]{
  white-space:nowrap!important;
}
.kp247-hours-copy .kp251-hours-title [data-hours-time-part]{
  display:inline-flex!important;
  align-items:flex-start!important;
  gap:.08em!important;
  white-space:nowrap!important;
}
.kp247-hours-copy .kp251-hours-title [data-hours-time-digits]{
  display:inline-block!important;
  line-height:1!important;
}
.kp247-hours-copy .kp251-hours-title [data-hours-time-connector]{
  display:inline-block!important;
  white-space:nowrap!important;
  margin:0 .18em!important;
}
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem]{
  display:inline-block!important;
  font-size:.46em!important;
  line-height:1!important;
  vertical-align:top!important;
  transform:translateY(.12em)!important;
  transform-origin:left top!important;
  margin-left:.02em!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}


/* v1.0.287 — AM et PM redeviennent de petites indications identiques au-dessus des heures. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-part]{
  align-items:flex-start!important;
  gap:.045em!important;
}
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem]{
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  font-size:.27em!important;
  line-height:1!important;
  vertical-align:top!important;
  transform:translateY(-.05em)!important;
  transform-origin:left top!important;
  margin-left:.02em!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}


/* v1.0.288 — AM et PM vraiment petits, identiques, et remontés comme des mentions d'heure. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-part]{
  align-items:flex-start!important;
  gap:.03em!important;
}
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem]{
  display:inline-block!important;
  font-size:.15em!important;
  line-height:1!important;
  vertical-align:top!important;
  transform:translateY(-.42em)!important;
  transform-origin:left top!important;
  margin-left:.01em!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}


/* v1.0.289 — AM et PM beaucoup plus petits, tout en gardant la position haute. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-meridiem]{
  font-size:.09em!important;
  line-height:1!important;
  transform:translateY(-.46em)!important;
  margin-left:.008em!important;
  letter-spacing:0!important;
}


/* v1.0.290 — correction de priorité CSS : AM/PM restent réellement petits malgré les anciennes règles span:nth-child(2). */
.kp247-hours-copy .kp251-hours-title [data-hours-time-line] span[data-hours-time-meridiem]{
  display:inline-block!important;
  min-height:0!important;
  width:auto!important;
  height:auto!important;
  font-size:clamp(12px,.82vw,16px)!important;
  line-height:1!important;
  vertical-align:top!important;
  transform:translateY(-.38em)!important;
  transform-origin:left top!important;
  margin-left:4px!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .kp247-hours-copy .kp251-hours-title [data-hours-time-line] span[data-hours-time-meridiem]{
    font-size:11px!important;
    margin-left:2px!important;
    transform:translateY(-.32em)!important;
  }
}


/* v1.0.291 — AM/PM légèrement plus grands que v1.0.290, même position haute. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-line] span[data-hours-time-meridiem]{
  font-size:clamp(14px,.95vw,18px)!important;
}
@media(max-width:760px){
  .kp247-hours-copy .kp251-hours-title [data-hours-time-line] span[data-hours-time-meridiem]{
    font-size:12px!important;
  }
}


/* v1.0.292 — taille AM/PM pilotée depuis le Back Office. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-line] span[data-hours-time-meridiem]{
  font-size:var(--hours-meridiem-size,16px)!important;
}
@media(max-width:760px){
  .kp247-hours-copy .kp251-hours-title [data-hours-time-line] span[data-hours-time-meridiem]{
    font-size:var(--hours-meridiem-size,16px)!important;
  }
}

/* v1.0.297 — Horaires pilotés par le calendrier Back Office. */
.kp247-event-actions .kp247-event-button{
  background:var(--kp297-event-color,#707875)!important;
  border-color:color-mix(in srgb,var(--kp297-event-color,#707875) 76%,#ffffff)!important;
}
.kp247-event-actions .kp247-event-button:hover,
.kp247-event-actions .kp247-event-button.is-active{
  background:color-mix(in srgb,var(--kp297-event-color,#707875) 82%,#ffffff)!important;
}
.kp266-hours-handwriting{
  color:var(--kp297-event-text-color,#f5f5f5)!important;
  font-size:var(--kp297-event-text-size,26px)!important;
}
.kp266-hours-handwriting.kp297-text-classic,
.kp266-hours-handwriting.kp297-text-classic .kp273-handwriting-paragraph{
  font-family:"DM Sans",sans-serif!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
.kp297-weekly-detail{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:7px;
  width:min(100%,760px);
  margin:10px 0 0;
}
.kp297-weekly-detail>span{
  display:grid;
  gap:2px;
  padding:7px 8px;
  border-radius:11px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  text-align:center;
}
.kp297-weekly-detail b{font:800 11px/1 "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.04em}
.kp297-weekly-detail em{font:700 10px/1.1 "DM Sans",sans-serif;font-style:normal;white-space:nowrap}
.kp297-weekly-detail>span.is-closed{opacity:.55}
@media(max-width:760px){
  .kp297-weekly-detail{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
}


/* v1.0.298 — Horaires : petit bandeau « Notre prochain événement » comme sur la page Venir. */
.kp247-hours-copy .kp298-hours-next-badge{
  margin:12px 0 4px 0!important;
  max-width:min(100%,720px)!important;
  align-self:flex-start!important;
}
.kp247-hours-copy .kp298-hours-next-badge .kp187-badge-text{
  display:inline!important;
  white-space:normal!important;
}
@media(max-width:760px){
  .kp247-hours-copy .kp298-hours-next-badge{
    margin:10px 0 2px 0!important;
    max-width:100%!important;
  }
}


/* v1.0.299 — Horaires : vrai petit bandeau visible entre les horaires et le texte manuscrit. */
.kp247-hours-copy .kp298-hours-next-band{
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  max-width:min(100%,820px)!important;
  margin:12px 0 8px 0!important;
  padding:10px 16px!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#163d2d 0%,#22593d 100%)!important;
  color:#fff!important;
  border:1px solid rgba(209,180,92,.34)!important;
  box-shadow:0 10px 22px rgba(14,49,34,.18), inset 0 1px 0 rgba(255,255,255,.10)!important;
  transform:rotate(-2deg)!important;
  transform-origin:left center!important;
}
.kp247-hours-copy .kp298-hours-next-band-text{
  display:block!important;
  color:#fff!important;
  font:800 12px/1.25 Montserrat,sans-serif!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}
@media(max-width:760px){
  .kp247-hours-copy .kp298-hours-next-band{
    max-width:100%!important;
    min-height:34px!important;
    margin:10px 0 6px 0!important;
    padding:8px 12px!important;
    transform:rotate(-1.5deg)!important;
  }
  .kp247-hours-copy .kp298-hours-next-band-text{
    font-size:10px!important;
  }
}


/* v1.0.300 — correction réelle du bandeau Horaires : texte défini et ordre visuel garanti. */
.kp247-hours-copy .kp298-hours-next-band{
  position:relative!important;
  z-index:6!important;
  display:inline-flex!important;
  width:max-content!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  margin:10px 0 8px 0!important;
  padding:9px 15px!important;
  flex:0 0 auto!important;
  visibility:visible!important;
  opacity:1!important;
}
.kp247-hours-copy .kp298-hours-next-band-text{
  display:inline-block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#fff!important;
  font:800 12px/1.25 Montserrat,sans-serif!important;
  letter-spacing:.035em!important;
  white-space:nowrap!important;
}
/* Le texte de l'événement doit commencer APRÈS le bandeau, jamais remonter dessus. */
.kp247-hours-copy .kp298-hours-next-band + .kp266-hours-handwriting{
  margin-top:8px!important;
}
@media(max-width:760px){
  .kp247-hours-copy .kp298-hours-next-band{
    margin:8px 0 6px 0!important;
    padding:8px 12px!important;
  }
  .kp247-hours-copy .kp298-hours-next-band-text{
    font-size:10px!important;
    white-space:normal!important;
  }
  .kp247-hours-copy .kp298-hours-next-band + .kp266-hours-handwriting{
    margin-top:6px!important;
  }
}


/* v1.0.302 — couleur du bandeau pilotée depuis le Back Office. */
.kp247-hours-copy .kp298-hours-next-band{
  background:var(--kp302-hours-next-band-color,#163d2d)!important;
}


/* v1.0.305 — les 11 événements restent toujours consultables ; seul l'événement automatique sautille. */
.kp247-event-actions>button.kp247-event-button{
  pointer-events:auto!important;
  cursor:pointer!important;
}
.kp247-event-actions>button.kp247-event-button:disabled,
.kp247-event-actions>button.kp247-event-button[aria-disabled="true"]{
  pointer-events:auto!important;
  cursor:pointer!important;
  opacity:1!important;
  filter:none!important;
}


/* v1.0.314 — restauration Kerdudal Club + nouvelle page Kerdudal STORE. */
.kp314-club-section{
  position:relative;overflow:hidden;max-width:1600px;margin:auto;
  padding:clamp(80px,9vw,140px) clamp(18px,4vw,64px);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);
  gap:clamp(40px,8vw,120px);align-items:center;
}
.kp314-club-section:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;right:-310px;top:40px;border:1px solid rgba(15,107,63,.12);box-shadow:0 0 0 70px rgba(15,107,63,.025),0 0 0 140px rgba(15,107,63,.015);pointer-events:none}
.kp314-club-copy{position:relative;z-index:2;max-width:760px}
.kp314-club-copy h2{margin:18px 0 24px;font:900 clamp(56px,6.5vw,100px)/.86 Montserrat,sans-serif;letter-spacing:-.068em;color:#0d1510}
.kp314-club-copy h2 span{display:block}.kp314-club-copy h2 span:nth-child(2){color:var(--brand)}
.kp314-club-copy>p{max-width:690px;margin:0;color:#5f6962;font-size:18px;line-height:1.58}
.kp314-club-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:30px}
.kp314-club-features>div{min-height:104px;padding:18px;border-radius:22px;background:#fff;border:1px solid #e0e2de;box-shadow:0 15px 34px rgba(18,38,27,.06)}
.kp314-club-features strong,.kp314-club-features small{display:block}.kp314-club-features strong{font:900 16px/1.15 Montserrat,sans-serif}.kp314-club-features small{margin-top:9px;color:#78817b;font-size:11px;line-height:1.35}
.kp314-club-visual{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:520px;color:#fff;border-radius:46px;background:linear-gradient(145deg,#07120d,#123b2a 58%,#0a2117);box-shadow:0 30px 80px rgba(14,44,29,.2);overflow:hidden}
.kp314-club-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(212,175,55,.18),transparent 34%),linear-gradient(120deg,transparent,rgba(255,255,255,.035),transparent);pointer-events:none}
.kp314-club-orbit{position:relative;width:310px;height:310px;border:1px solid rgba(212,175,55,.28);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 84px rgba(212,175,55,.035)}
.kp314-club-core{position:absolute;left:50%;top:50%;width:104px;height:104px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:32px;background:#fff;color:#0f6b3f;font:900 58px/1 Montserrat,sans-serif;box-shadow:0 22px 45px rgba(0,0,0,.28)}
.kp314-club-orbit i{position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#d4af37;color:#101713;font:900 12px/1 Montserrat,sans-serif;font-style:normal;box-shadow:0 10px 22px rgba(0,0,0,.25)}
.kp314-club-orbit .is-fr{left:18px;top:34px}.kp314-club-orbit .is-us{right:15px;top:38px}.kp314-club-orbit .is-en{right:-12px;bottom:70px}.kp314-club-orbit .is-es{left:50%;bottom:-25px;transform:translateX(-50%)}.kp314-club-orbit .is-ca{left:-12px;bottom:72px}
.kp314-club-visual>strong{position:relative;margin-top:54px;font:900 clamp(28px,3vw,44px)/1 Montserrat,sans-serif;letter-spacing:-.04em}.kp314-club-visual>small{position:relative;margin-top:8px;color:#d7bc63;font:800 12px/1 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase}

.kp314-store-section{background:#fff;max-width:1600px}
.kp314-store-copy{max-width:760px}
.kp314-store-title{margin:18px 0 24px!important;font:900 clamp(58px,6.6vw,104px)/.86 Montserrat,sans-serif!important;letter-spacing:-.07em!important}
.kp314-store-title span{display:block}.kp314-store-title span:nth-child(2){color:var(--brand)}.kp314-store-title span:nth-child(3){color:#d4af37}
.kp314-store-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:30px 0 18px}
.kp314-store-features>div{min-height:105px;padding:18px;border-radius:22px;background:#f4f2ed;border:1px solid #e0e2de}
.kp314-store-features strong,.kp314-store-features small{display:block}.kp314-store-features strong{font:900 15px/1.15 Montserrat,sans-serif}.kp314-store-features small{margin-top:9px;color:#78817b;font-size:11px;line-height:1.35}
.kp314-store-open{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border-radius:14px;background:#101713;color:#fff!important;font:900 12px/1 Montserrat,sans-serif;box-shadow:0 12px 28px rgba(16,23,19,.16);transition:transform .2s ease,box-shadow .2s ease}
.kp314-store-open:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(16,23,19,.22)}
.kp314-store-phone-stage:before{background:radial-gradient(circle,rgba(212,175,55,.18),rgba(15,107,63,.05) 55%,transparent 70%)}
.kp314-store-phone{transform:rotate(3deg)}

@media(max-width:900px){
 .kp314-club-section{grid-template-columns:1fr;gap:28px}.kp314-club-visual{min-height:480px}.kp314-store-section{grid-template-columns:1fr;gap:22px}.kp314-store-phone-stage{min-height:610px}
}
@media(max-width:620px){
 .kp314-club-section{padding:70px 14px}.kp314-club-copy h2{font-size:clamp(52px,16vw,76px)}.kp314-club-copy>p{font-size:14px}.kp314-club-features{grid-template-columns:1fr}.kp314-club-features>div{min-height:84px}.kp314-club-visual{min-height:420px;border-radius:30px}.kp314-club-orbit{width:240px;height:240px}.kp314-club-core{width:88px;height:88px;font-size:48px}.kp314-club-orbit i{width:44px;height:44px;font-size:10px}.kp314-club-visual>strong{margin-top:42px}
 .kp314-store-section{padding:70px 14px}.kp314-store-title{font-size:clamp(52px,16vw,78px)!important}.kp314-store-features{grid-template-columns:1fr}.kp314-store-features>div{min-height:82px}.kp314-store-phone-stage{min-height:570px}
}


/* v1.0.317 — Kerdudal Club et Kerdudal STORE alignés sur le gabarit des grandes sections stables. */
.kp317-club-section{position:relative;overflow:hidden;background:transparent!important}
.kp317-club-copy{max-width:760px}
.kp317-club-title{margin:18px 0 24px!important;font:900 clamp(58px,6.7vw,106px)/.86 Montserrat,sans-serif!important;letter-spacing:-.07em!important}
.kp317-club-title span{display:block}
.kp317-club-title span:nth-child(1){color:#1266c3}.kp317-club-title span:nth-child(2){color:#e33636}.kp317-club-title span:nth-child(3){color:#0d2b5a}
.kp317-club-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:30px 0 14px}
.kp317-club-action{min-height:86px;padding:15px 12px;border-radius:18px;color:#fff;box-shadow:0 13px 26px rgba(30,49,78,.12)}
.kp317-club-action strong,.kp317-club-action small{display:block}.kp317-club-action strong{font:900 12px/1.15 Montserrat,sans-serif}.kp317-club-action small{margin-top:8px;font-size:9px;line-height:1.2;color:rgba(255,255,255,.82)}
.kp317-club-action-1{background:#1266c3}.kp317-club-action-2{background:#e93636}.kp317-club-action-3{background:#f5a915}.kp317-club-action-4{background:#803bc3}.kp317-club-action-5{background:#12a7a0}
.kp317-club-flags{display:flex;gap:8px;align-items:center;margin-top:12px}.kp317-club-flags span{display:grid;place-items:center;min-width:36px;height:27px;padding:0 8px;border-radius:999px;background:#fff;border:1px solid #dfe2de;color:#1c2c46;font:900 9px/1 Montserrat,sans-serif}
.kp317-club-art{position:relative;min-height:600px;display:flex;align-items:center;justify-content:center}
.kp317-club-art:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(25,104,204,.11),rgba(228,48,48,.045) 48%,transparent 70%)}
.kp317-club-art img{position:relative;z-index:1;display:block;width:min(100%,660px);height:auto;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 26px 38px rgba(22,49,88,.16));-webkit-mask-image:radial-gradient(ellipse 88% 82% at 50% 50%,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse 88% 82% at 50% 50%,#000 72%,transparent 100%)}
/* STORE : même grille, mêmes dimensions et même iPhone que Kerdudal GO. */
.kp314-store-section{background:transparent!important}.kp317-store-features{margin:30px 0!important}
.kp317-store-features>div{min-height:132px!important;padding:18px!important;border-radius:20px!important;background:#fff!important;border:1px solid #e0e2de!important}
.kp317-store-phone-stage:before{background:radial-gradient(circle,rgba(15,107,63,.20),rgba(15,107,63,.03) 58%,transparent 68%)!important}
.kp317-store-phone{transform:none}
@media(min-width:1181px){.kp317-store-phone-stage.kp20-phone-stage-app .kp317-store-phone{transform:rotateY(-30deg) rotateX(5deg) rotateZ(-2.7deg)}}
@media(min-width:900px) and (max-width:1180px){.kp317-store-phone-stage.kp20-phone-stage-app .kp317-store-phone{transform:rotateY(-24deg) rotateX(4deg) rotateZ(-2.1deg)}}
.kp317-store-phone-stage.kp20-phone-stage-app .kp317-store-phone.is-flat,.kp317-store-phone-stage.kp20-phone-stage-app .kp317-store-phone:hover,.kp317-store-phone-stage.kp20-phone-stage-app .kp317-store-phone:focus-within{transform:rotateY(0) rotateX(0) rotateZ(0)!important}
@media(max-width:900px){.kp317-club-section{grid-template-columns:1fr;gap:18px}.kp317-club-art{min-height:430px}.kp317-club-actions{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto;padding-bottom:7px}}
@media(max-width:600px){.kp317-club-title{font-size:clamp(50px,16vw,76px)!important}.kp317-club-art{min-height:340px}.kp317-club-art img{width:min(115%,620px)}.kp317-club-actions{grid-template-columns:repeat(5,132px)}.kp317-club-action{min-height:78px;padding:13px 10px}}


/* v1.0.318 — Kerdudal STORE : thème vert complet et suppression du libellé KERDUDAL STORE au-dessus du titre. */
.kp314-store-section{
  background:#0f3d1a!important;
  color:#fff!important;
}
.kp314-store-copy>p{
  color:rgba(255,255,255,.74)!important;
}
.kp314-store-title{
  margin-top:0!important;
}
.kp314-store-title span:nth-child(1){color:#fff!important}
.kp314-store-title span:nth-child(2){color:#f1ce65!important}
.kp314-store-title span:nth-child(3){color:#fff!important}
.kp317-store-features>div{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.kp317-store-features strong{color:#fff!important}
.kp317-store-features small{color:rgba(255,255,255,.68)!important}
.kp314-store-open{
  background:#f1ce65!important;
  color:#10261b!important;
  box-shadow:0 12px 28px rgba(0,0,0,.22)!important;
}
.kp314-store-open:hover{box-shadow:0 18px 34px rgba(0,0,0,.28)!important}
.kp317-store-phone-stage:before{
  background:radial-gradient(circle,rgba(241,206,101,.20),rgba(255,255,255,.035) 58%,transparent 70%)!important;
}


/* v1.0.319 — Kerdudal Club : suppression du libellé au-dessus du titre + nouveau logo transparent sans monuments. */
.kp317-club-copy{max-width:760px}
.kp317-club-title{margin-top:0!important}
.kp317-club-art img{mix-blend-mode:normal!important;-webkit-mask-image:none!important;mask-image:none!important;filter:drop-shadow(0 22px 38px rgba(11,41,80,.18))!important;width:min(100%,700px)!important}

/* v1.0.319 — Kerdudal STORE : fond vert pleine largeur intégré à la page, sans effet de cadre intérieur. */
.kp314-store-section{position:relative;isolation:isolate;background:transparent!important;max-width:1600px!important}
.kp314-store-section::before{content:"";position:absolute;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:radial-gradient(circle at 76% 18%,rgba(241,206,101,.15),transparent 24%),linear-gradient(135deg,#062414 0%,#0f6b3f 55%,#0a4f31 100%);z-index:-1;pointer-events:none}
.kp314-store-copy,.kp317-store-phone-stage{position:relative;z-index:1}


/* v1.0.320 — Kerdudal Club : cases cliquables + popup plein écran type GO Adventure. */
.kp317-club-action{border:0!important;text-align:left!important;cursor:pointer!important;font-family:inherit!important;transition:transform .18s ease,box-shadow .18s ease!important}
.kp317-club-action:hover,.kp317-club-action:focus-visible{transform:translateY(-3px)!important;box-shadow:0 18px 34px rgba(30,49,78,.20)!important;outline:2px solid rgba(212,175,55,.55)!important;outline-offset:2px!important}
body.club-panel-open{overflow:hidden!important}
.kp320-club-panel{background:linear-gradient(135deg,#07120d 0%,#102e22 48%,#07120d 100%)!important;isolation:isolate!important}
.kp320-club-panel::before{content:"";position:absolute;z-index:0;width:800px;height:800px;border-radius:50%;left:-350px;bottom:-500px;border:1px solid rgba(212,175,55,.13);box-shadow:0 0 0 90px rgba(212,175,55,.025),0 0 0 180px rgba(212,175,55,.014);pointer-events:none}
.kp320-club-panel::after{content:"";position:absolute;z-index:0;width:560px;height:560px;border-radius:50%;right:-220px;top:-250px;background:radial-gradient(circle,rgba(212,175,55,.12),rgba(15,107,63,.06) 48%,transparent 70%);pointer-events:none}
.kp320-club-shell{position:relative!important;z-index:1!important;grid-template-rows:auto auto minmax(0,1fr)!important}
.kp320-club-head{grid-template-columns:minmax(180px,1fr) auto auto!important}
.kp320-club-panel-brand strong{font:900 clamp(16px,2vw,25px)/1 Montserrat,sans-serif;color:#fff;letter-spacing:-.035em}
.kp320-club-member-summary{justify-content:flex-end!important}
.kp320-club-close{border:0!important;cursor:pointer!important}
.kp320-club-tabs{width:100%!important;max-width:none!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
.kp320-club-tab{border:0!important;cursor:pointer!important}
.kp320-club-pages{min-height:0;position:relative;overflow:hidden}
.kp320-club-page{height:100%;min-height:0;overflow:auto;padding:18px 2px 8px;animation:kp90ViewFade .13s ease}
.kp320-club-page[hidden]{display:none!important}
.kp320-club-placeholder{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(28px,5vw,72px);border-radius:30px;background:linear-gradient(145deg,rgba(212,175,55,.15),rgba(255,255,255,.055));border:1px solid rgba(212,175,55,.28)}
.kp320-club-placeholder>span{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#d4af37;color:#101713;font:900 18px/1 Montserrat,sans-serif;box-shadow:0 16px 34px rgba(212,175,55,.18)}
.kp320-club-placeholder>strong{margin-top:24px;font:900 clamp(36px,5vw,76px)/.92 Montserrat,sans-serif;letter-spacing:-.055em;color:#fff}
.kp320-club-placeholder>small{margin-top:10px;font:900 12px/1 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#f3d36b}
.kp320-club-placeholder>p{max-width:660px;margin:26px 0 0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.6}
@media(max-width:720px){.kp320-club-head{grid-template-columns:minmax(0,1fr) auto!important}.kp320-club-panel-brand{display:none}.kp320-club-tabs{gap:4px!important}.kp320-club-tab{min-height:42px!important;padding:6px 3px!important;border-radius:11px!important}.kp320-club-tab strong{font-size:7.5px!important;white-space:normal!important}.kp320-club-placeholder{border-radius:22px;padding:24px 16px}.kp320-club-placeholder>strong{font-size:clamp(30px,11vw,48px)}}


/* v1.0.321 — Kerdudal Club : les 5 popups utilisent le même univers clair/blanc que la section Club. */
.kp320-club-panel{
  background:#fff!important;
  color:#17253b!important;
}
.kp320-club-panel::before{
  width:760px!important;
  height:760px!important;
  left:-330px!important;
  bottom:-500px!important;
  border:1px solid rgba(18,102,195,.10)!important;
  box-shadow:0 0 0 90px rgba(18,102,195,.025),0 0 0 180px rgba(227,54,54,.012)!important;
}
.kp320-club-panel::after{
  width:560px!important;
  height:560px!important;
  right:-220px!important;
  top:-250px!important;
  background:radial-gradient(circle,rgba(18,102,195,.08),rgba(227,54,54,.025) 48%,transparent 70%)!important;
}
.kp320-club-head{
  border-bottom-color:#e4e7e4!important;
}
.kp320-club-panel-brand strong{
  color:#17253b!important;
}
.kp320-club-member-summary,
.kp320-club-member-summary .kp90-player-name strong{
  color:#17253b!important;
}
.kp320-club-member-summary .kp90-player-loading,
.kp320-club-member-summary .kp90-player-off,
.kp320-club-member-summary .kp90-player-name small,
.kp320-club-member-summary .kp90-player-steps small{
  color:#7a827d!important;
}
.kp320-club-member-summary .kp90-player-avatar{
  background:#eef4fb!important;
  border-color:#dfe7f0!important;
}
.kp320-club-member-summary .kp90-avatar-fallback{
  color:#1266c3!important;
}
.kp320-club-close{
  background:#17253b!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(23,37,59,.16)!important;
}
.kp320-club-tabs{
  max-width:none!important;
}
.kp320-club-tab{
  background:#fff!important;
  color:#17253b!important;
  border:1px solid #dfe4e1!important;
  box-shadow:0 10px 24px rgba(24,43,72,.07)!important;
}
.kp320-club-tab strong{
  color:#17253b!important;
}
.kp320-club-tab:hover{
  box-shadow:0 14px 28px rgba(24,43,72,.11)!important;
}
.kp320-club-tab.is-active{
  background:#1266c3!important;
  border-color:#1266c3!important;
  box-shadow:0 0 0 3px rgba(18,102,195,.12),0 14px 30px rgba(18,102,195,.18)!important;
}
.kp320-club-tab.is-active strong{
  color:#fff!important;
}
.kp320-club-pages{
  background:transparent!important;
}
.kp320-club-placeholder{
  background:#fff!important;
  border:1px solid #e0e2de!important;
  box-shadow:0 18px 48px rgba(30,42,34,.07)!important;
}
.kp320-club-placeholder>span{
  background:#eef4fb!important;
  color:#1266c3!important;
  box-shadow:none!important;
}
.kp320-club-placeholder>strong{
  color:#17253b!important;
}
.kp320-club-placeholder>small{
  color:#e33636!important;
}
.kp320-club-placeholder>p{
  color:#6c756f!important;
}


/* v1.0.322 — Kerdudal Club : le contenu des 5 pages n'est plus dans une carte ; il est posé directement sur la page blanche. */
.kp322-club-page-content{
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:clamp(32px,5vw,76px) clamp(18px,4.8vw,68px);
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-align:left;
}
.kp322-club-page-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  height:34px;
  padding:0 13px;
  border-radius:999px;
  background:#eef4fb;
  color:#1266c3;
  font:900 12px/1 Montserrat,sans-serif;
  letter-spacing:.08em;
}
.kp322-club-page-title{
  margin-top:20px;
  color:#17253b;
  font:900 clamp(42px,5.4vw,78px)/.94 Montserrat,sans-serif;
  letter-spacing:-.055em;
}
.kp322-club-page-subtitle{
  margin-top:10px;
  color:#e33636;
  font:900 12px/1 Montserrat,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.kp322-club-page-intro{
  max-width:720px;
  margin:28px 0 0;
  color:#6c756f;
  font-size:15px;
  line-height:1.65;
}
@media(max-width:720px){
  .kp322-club-page-content{padding:28px 16px 36px}
  .kp322-club-page-title{font-size:clamp(34px,12vw,52px)}
  .kp322-club-page-intro{font-size:14px}
}


/* v1.0.323 — Profil Kerdudal Club : même mécanique que le profil GO Adventure, thème clair/bleu du Club. */
.kp320-club-member-summary .kp323-club-profile-trigger{color:#17253b!important}
.kp320-club-member-summary .kp323-club-profile-trigger:hover .kp90-player-avatar{border-color:#1266c3!important;box-shadow:0 0 0 4px rgba(18,102,195,.10)!important}
.kp323-club-profile-page{padding:12px 2px 8px!important}
.kp323-club-profile-content{height:100%;min-height:0;padding:0!important;overflow:hidden!important;background:transparent!important}
.kp323-club-profile-layout{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px}
.kp323-club-profile-hero{min-height:108px!important;padding:18px 22px!important;border-radius:24px!important;background:linear-gradient(145deg,#eef4fb,#fff 58%,#fff4f4)!important;border:1px solid #dce6f1!important;box-shadow:0 18px 42px rgba(24,43,72,.08)!important;color:#17253b!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
.kp323-club-profile-hero .kp92-bag-title strong{color:#17253b!important}
.kp323-club-profile-identity{display:flex;align-items:center;gap:14px}
.kp323-club-profile-avatar{width:66px;height:66px;flex:0 0 66px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eef4fb;border:3px solid #1266c3;box-shadow:0 10px 24px rgba(18,102,195,.12)}
.kp323-club-profile-avatar img{width:100%;height:100%;object-fit:cover}.kp323-club-profile-avatar>span{font:900 15px/1 Montserrat,sans-serif;color:#1266c3}
.kp323-club-profile-identity>span:last-child{display:flex;flex-direction:column;gap:5px}.kp323-club-profile-identity small{font:900 8px/1 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#e33636}.kp323-club-profile-identity strong{font:900 clamp(22px,2.4vw,34px)/1 Montserrat,sans-serif;color:#17253b;letter-spacing:-.035em}
.kp323-club-profile-body{min-height:0!important;overflow:auto!important;display:block!important;padding:1px 4px 14px 1px!important}
.kp323-club-profile-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:2px 0 14px}.kp323-club-profile-section-head>strong{font:900 20px/1.1 Montserrat,sans-serif;color:#17253b}.kp323-club-profile-section-head>span{max-width:420px;text-align:right;color:#7a827d;font:700 10px/1.45 Montserrat,sans-serif}
.kp323-club-avatar-list{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.kp320-club-panel .kp323-club-avatar-list .kp84-stop-card{background:#fff!important;border:1px solid #dfe4e1!important;color:#17253b!important;box-shadow:0 10px 26px rgba(24,43,72,.06)!important}
.kp320-club-panel .kp323-club-avatar-list .kp84-stop-card:hover{border-color:rgba(18,102,195,.40)!important;box-shadow:0 14px 28px rgba(18,102,195,.10)!important}
.kp320-club-panel .kp323-club-avatar-list .kp84-stop-card.is-selected{background:#eef4fb!important;border-color:#1266c3!important;box-shadow:0 0 0 2px rgba(18,102,195,.08)!important}
.kp320-club-panel .kp323-club-avatar-list .kp84-stop-card strong{color:#17253b!important}
.kp320-club-panel .kp323-club-avatar-list .kp112-avatar-theme,.kp320-club-panel .kp323-club-avatar-list .kp113-companion-status small{color:#7a827d!important}
.kp320-club-panel .kp323-club-avatar-list .kp112-avatar-add{background:#1266c3!important;color:#fff!important}
.kp320-club-panel .kp323-club-avatar-list .kp112-avatar-used-mark b{background:#1266c3!important;color:#fff!important}
.kp320-club-panel .kp323-club-avatar-list .kp112-avatar-used-mark small{color:#1266c3!important}
.kp323-club-profile-loading,.kp323-club-profile-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7a827d;padding:24px}.kp323-club-profile-empty strong{font:900 26px/1 Montserrat,sans-serif;color:#17253b}.kp323-club-profile-empty p{margin:12px 0 0;max-width:480px;line-height:1.55}
@media(max-width:1000px){.kp323-club-avatar-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:720px){.kp323-club-profile-hero{min-height:88px!important;padding:12px 14px!important;border-radius:18px!important}.kp323-club-profile-avatar{width:50px;height:50px;flex-basis:50px;border-width:2px}.kp323-club-profile-hero .kp92-bag-title{display:none}.kp323-club-profile-section-head{display:block}.kp323-club-profile-section-head>span{display:block;text-align:left;margin-top:7px}.kp323-club-avatar-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}}


/* v1.0.324 — Profil Kerdudal Club : mise en page 100 % identique au Profil GO Adventure.
   Seules les couleurs sont adaptées au thème clair/bleu du Club. */
.kp323-club-profile-page{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:0!important;
}
.kp323-club-profile-content{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:0!important;
}
/* Même géométrie, mêmes dimensions et mêmes cartes que GO Adventure. */
.kp320-club-panel .kp323-club-profile-content .kp106-profile-page,
.kp320-club-panel .kp323-club-profile-content .kp106-profile-body,
.kp320-club-panel .kp323-club-profile-content .kp106-avatar-area,
.kp320-club-panel .kp323-club-profile-content .kp112-avatar-stop-list,
.kp320-club-panel .kp323-club-profile-content .kp84-stop-card,
.kp320-club-panel .kp323-club-profile-content .kp92-bag-hero{
  box-sizing:border-box!important;
}
/* Hero Profil : dimensions GO Adventure, palette Club. */
.kp320-club-panel .kp323-club-profile-content .kp92-bag-hero{
  background:linear-gradient(145deg,#eef4fb,#ffffff 58%,#fff4f4)!important;
  border-color:#dce6f1!important;
  box-shadow:0 18px 42px rgba(24,43,72,.08)!important;
}
.kp320-club-panel .kp323-club-profile-content .kp92-bag-title strong,
.kp320-club-panel .kp323-club-profile-content .kp92-bag-counter b{
  color:#17253b!important;
}
.kp320-club-panel .kp323-club-profile-content .kp92-bag-counter span{
  color:#6f7d8e!important;
}
.kp320-club-panel .kp323-club-profile-content .kp92-bag-progress{
  background:#e3eaf2!important;
}
.kp320-club-panel .kp323-club-profile-content .kp92-bag-progress i{
  background:#1266c3!important;
}
/* Cartes avatar : tailles et structure GO Adventure, uniquement recolorées. */
.kp320-club-panel .kp323-club-profile-content .kp84-stop-card{
  background:#ffffff!important;
  border-color:#dfe4e9!important;
  color:#17253b!important;
  box-shadow:0 10px 26px rgba(24,43,72,.06)!important;
}
.kp320-club-panel .kp323-club-profile-content .kp84-stop-card:hover{
  border-color:rgba(18,102,195,.40)!important;
  box-shadow:0 14px 28px rgba(18,102,195,.10)!important;
}
.kp320-club-panel .kp323-club-profile-content .kp84-stop-card.is-selected{
  background:#eef4fb!important;
  border-color:#1266c3!important;
  box-shadow:0 0 0 2px rgba(18,102,195,.08)!important;
}
.kp320-club-panel .kp323-club-profile-content .kp84-stop-card strong{
  color:#17253b!important;
}
.kp320-club-panel .kp323-club-profile-content .kp112-avatar-theme,
.kp320-club-panel .kp323-club-profile-content .kp113-companion-status small{
  color:#6f7d8e!important;
}
.kp320-club-panel .kp323-club-profile-content .kp112-avatar-add,
.kp320-club-panel .kp323-club-profile-content .kp112-avatar-used-mark b{
  background:#1266c3!important;
  color:#fff!important;
}
.kp320-club-panel .kp323-club-profile-content .kp112-avatar-used-mark small{
  color:#1266c3!important;
}
.kp320-club-panel .kp323-club-profile-content .kp113-companion-plus{
  color:#1266c3!important;
}
/* L'ancien hero spécifique Club n'intervient plus dans la page Profil. */
.kp323-club-profile-identity,
.kp323-club-profile-section-head{display:none!important}


/* v1.0.325 — Profil Kerdudal Club : en-tête calqué sur GO Adventure.
   En vue Profil, aucun libellé Kerdudal Club : membre connecté à gauche, croix complètement à droite. */
.kp320-club-panel.is-profile-view .kp320-club-panel-brand{display:none!important}
.kp320-club-panel.is-profile-view .kp320-club-head{grid-template-columns:minmax(0,1fr) auto!important}
.kp320-club-panel.is-profile-view .kp320-club-member-summary{grid-column:1!important;grid-row:1!important;justify-content:flex-start!important;min-width:0!important}
.kp320-club-panel.is-profile-view .kp320-club-close{grid-column:2!important;grid-row:1!important;justify-self:end!important;margin-left:auto!important}
@media(max-width:720px){
  .kp320-club-panel.is-profile-view .kp320-club-head{grid-template-columns:minmax(0,1fr) auto!important}
  .kp320-club-panel.is-profile-view .kp320-club-member-summary{grid-column:1!important;grid-row:1!important;justify-content:flex-start!important}
  .kp320-club-panel.is-profile-view .kp320-club-close{grid-column:2!important;grid-row:1!important;justify-self:end!important}
}


/* v1.0.326 — Tous les popups Kerdudal Club reprennent l'en-tête GO Adventure :
   membre connecté à gauche, aucune marque visuelle, fermeture complètement à droite. */
.kp320-club-head{
  width:100%!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
}
.kp320-club-panel-brand{display:none!important}
.kp320-club-member-summary{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:start!important;
  justify-content:flex-start!important;
  min-width:0!important;
}
.kp320-club-close{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
  margin-left:auto!important;
  margin-right:0!important;
}
/* La vue Profil utilise exactement le même en-tête que les 5 autres vues. */
.kp320-club-panel.is-profile-view .kp320-club-head{
  grid-template-columns:minmax(0,1fr) auto!important;
}
@media(max-width:820px){
  .kp320-club-head,
  .kp320-club-panel.is-profile-view .kp320-club-head{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .kp320-club-member-summary,
  .kp320-club-panel.is-profile-view .kp320-club-member-summary{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    justify-content:flex-start!important;
  }
  .kp320-club-close,
  .kp320-club-panel.is-profile-view .kp320-club-close{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    margin-left:auto!important;
    margin-right:0!important;
  }
}

/* v1.0.329 — Logo Kerdudal Club à contour transparent + popups Kerdudal Club : bloc membre à droite, juste avant la fermeture.
   Disposition : espace libre | avatar + nom + statut | croix, la croix restant au bord droit. */
.kp320-club-head,
.kp320-club-panel.is-profile-view .kp320-club-head{
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
}
.kp320-club-member-summary,
.kp320-club-panel.is-profile-view .kp320-club-member-summary{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
  justify-content:flex-end!important;
  min-width:0!important;
}
.kp320-club-close,
.kp320-club-panel.is-profile-view .kp320-club-close{
  grid-column:3!important;
  grid-row:1!important;
  justify-self:end!important;
  margin-left:8px!important;
  margin-right:0!important;
}
@media(max-width:820px){
  .kp320-club-head,
  .kp320-club-panel.is-profile-view .kp320-club-head{
    grid-template-columns:minmax(0,1fr) auto auto!important;
  }
  .kp320-club-member-summary,
  .kp320-club-panel.is-profile-view .kp320-club-member-summary{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    justify-content:flex-end!important;
  }
  .kp320-club-close,
  .kp320-club-panel.is-profile-view .kp320-club-close{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    margin-left:8px!important;
    margin-right:0!important;
  }
}


/* v1.0.331 — La case Snack est remontée immédiatement sous « 10h00 à 22h00 ». */
.kp247-hours-copy .kp251-hours-title{margin-bottom:6px!important;}
.kp330-snack-hours{
 display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;
 width:fit-content;max-width:100%;margin:0 0 22px;padding:12px 16px;
 border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
 color:#fff;font-family:Montserrat,Arial,sans-serif;
}
.kp330-snack-hours strong{color:#f1c40f;font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.kp330-snack-hours span{font-size:15px;font-weight:800;line-height:1.35}
.kp330-snack-hours em{width:100%;color:#ff9f1a;font-size:13px;font-weight:700;font-style:normal;line-height:1.35}
@media(max-width:680px){
 .kp330-snack-hours{margin:0 0 20px;padding:11px 13px;gap:6px 9px}
 .kp330-snack-hours strong,.kp330-snack-hours span{font-size:13px}
 .kp330-snack-hours em{font-size:12px}
}


/* v1.0.332 — Horaires : la case Snack est collée directement sous « Lundi à Dimanche / 10h00 à 22h00 », sans ligne vide. */
.kp247-hours-copy .kp251-hours-title{
  min-height:0!important;
  margin-bottom:0!important;
}
.kp247-hours-copy .kp330-snack-hours{
  margin-top:-2px!important;
}
@media(max-width:680px){
  .kp247-hours-copy .kp251-hours-title{min-height:0!important;margin-bottom:0!important;}
  .kp247-hours-copy .kp330-snack-hours{margin-top:-2px!important;}
}


/* v1.0.333 — Horaires : cartes Snack et Épicerie côte à côte, légèrement décalées à droite et collées sous les horaires généraux. */
.kp333-hours-cards{
  display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;
  margin:-2px 0 22px 24px;
}
.kp333-hours-cards .kp330-snack-hours{
  margin:0!important;
}
.kp333-grocery-hours{
  align-content:center;
}
.kp333-grocery-hours strong{color:#7fd48f;}
.kp333-grocery-hours span{white-space:nowrap;}
@media(max-width:680px){
  .kp333-hours-cards{margin:-2px 0 20px 10px;gap:8px;}
  .kp333-hours-cards .kp330-snack-hours{flex:1 1 250px;}
  .kp333-grocery-hours span{white-space:normal;}
}


/* v1.0.334 — Horaires : Épicerie à gauche et Snack à droite, deux cartes sur la même ligne ; contenu du Snack sur une seule ligne. */
.kp334-hours-cards{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:12px!important;
  overflow-x:auto;
}
.kp334-hours-cards .kp330-snack-hours{
  flex-wrap:nowrap!important;
  align-items:center!important;
  white-space:nowrap;
}
.kp334-hours-cards .kp333-grocery-hours{
  order:1;
  flex:0 0 auto!important;
}
.kp334-hours-cards .kp334-snack-hours{
  order:2;
  flex:0 0 auto!important;
}
.kp334-hours-cards .kp334-snack-hours em{
  width:auto!important;
  white-space:nowrap;
  margin:0!important;
}
@media(max-width:680px){
  .kp334-hours-cards{overflow-x:auto!important;}
  .kp334-hours-cards .kp330-snack-hours{flex:0 0 auto!important;}
  .kp334-hours-cards .kp333-grocery-hours span,
  .kp334-hours-cards .kp334-snack-hours span,
  .kp334-hours-cards .kp334-snack-hours em{white-space:nowrap!important;}
}


/* v1.0.335 — Horaires : les cartes Épicerie et Snack restent intégralement visibles. */
.kp334-hours-cards{
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;
  overflow:visible!important;gap:8px!important;margin-left:0!important;
}
.kp334-hours-cards .kp330-snack-hours{
  box-sizing:border-box!important;min-width:0!important;padding:9px 10px!important;gap:6px 8px!important;
  font-size:clamp(10px,1vw,13px)!important;
}
.kp334-hours-cards .kp330-snack-hours strong,
.kp334-hours-cards .kp330-snack-hours span,
.kp334-hours-cards .kp330-snack-hours em{
  font-size:inherit!important;line-height:1.25!important;
}
.kp334-hours-cards .kp333-grocery-hours{flex:0 0 auto!important;}
.kp334-hours-cards .kp334-snack-hours{flex:1 1 auto!important;display:flex!important;justify-content:flex-start!important;}
.kp334-hours-cards .kp334-snack-hours strong,
.kp334-hours-cards .kp334-snack-hours span,
.kp334-hours-cards .kp334-snack-hours em{white-space:nowrap!important;}
@media(max-width:760px){
  .kp334-hours-cards{flex-wrap:wrap!important;overflow:visible!important;margin-left:0!important;}
  .kp334-hours-cards .kp330-snack-hours{flex:1 1 100%!important;width:100%!important;max-width:100%!important;}
  .kp334-hours-cards .kp334-snack-hours{flex-wrap:wrap!important;}
  .kp334-hours-cards .kp334-snack-hours span,
  .kp334-hours-cards .kp334-snack-hours em{white-space:normal!important;}
}

/* v1.0.336 — Horaires : la mention « Pause » de la case Snack passe en orange. */


/* v1.0.337 — Horaires : cartes Épicerie / Snack adaptatives pour FR, US, EN, ES et CA. */
.kp337-hours-cards{
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr)!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  gap:8px!important;
  margin:0 0 20px!important;
  overflow:visible!important;
}
.kp337-hours-cards .kp330-snack-hours{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  padding:9px 10px!important;
  gap:6px 8px!important;
  font-size:clamp(9px,.78vw,12px)!important;
  line-height:1.2!important;
}
.kp337-hours-cards .kp333-grocery-hours{grid-column:1!important;}
.kp337-hours-cards .kp334-snack-hours{grid-column:2!important;}
.kp337-hours-cards .kp330-snack-hours strong,
.kp337-hours-cards .kp330-snack-hours span,
.kp337-hours-cards .kp330-snack-hours em{
  white-space:nowrap!important;
  font-size:inherit!important;
  line-height:1.2!important;
}
.kp337-hours-cards .kp334-snack-hours em{color:#ff9f1a!important;}
html[data-kw-lang="us"] .kp337-hours-cards .kp330-snack-hours{font-size:clamp(8.5px,.7vw,10.8px)!important;gap:5px 6px!important;padding-left:8px!important;padding-right:8px!important;}
html[data-kw-lang="en"] .kp337-hours-cards .kp330-snack-hours{font-size:clamp(9px,.74vw,11.5px)!important;}
html[data-kw-lang="es"] .kp337-hours-cards .kp330-snack-hours,
html[data-kw-lang="ca"] .kp337-hours-cards .kp330-snack-hours{font-size:clamp(9px,.76vw,11.7px)!important;}
@media(max-width:1100px){
  .kp337-hours-cards{grid-template-columns:1fr!important;}
  .kp337-hours-cards .kp333-grocery-hours,
  .kp337-hours-cards .kp334-snack-hours{grid-column:1!important;width:100%!important;max-width:100%!important;}
  .kp337-hours-cards .kp330-snack-hours{font-size:clamp(11px,1.8vw,13px)!important;}
}
@media(max-width:620px){
  .kp337-hours-cards .kp330-snack-hours{flex-wrap:wrap!important;gap:5px 7px!important;font-size:12px!important;}
  .kp337-hours-cards .kp330-snack-hours strong,
  .kp337-hours-cards .kp330-snack-hours span,
  .kp337-hours-cards .kp330-snack-hours em{white-space:normal!important;}
}


/* v1.0.338 — Horaires : Épicerie sur une ligne, Snack juste dessous. Les deux cartes ont exactement la même largeur, calculée sur la ligne Épicerie selon la langue. */
.kp338-hours-stack{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:100%!important;
  gap:6px!important;
  margin:0 0 20px!important;
  overflow:visible!important;
}
.kp338-hours-stack .kp330-snack-hours{
  flex:none!important;
  width:var(--kp338-card-width,auto)!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:6px 8px!important;
  padding:9px 10px!important;
  font-size:12px!important;
  line-height:1.2!important;
  overflow:visible!important;
}
.kp338-hours-stack .kp333-grocery-hours{
  white-space:nowrap!important;
}
.kp338-hours-stack .kp333-grocery-hours strong,
.kp338-hours-stack .kp333-grocery-hours span{
  white-space:nowrap!important;
}
.kp338-hours-stack .kp334-snack-hours strong,
.kp338-hours-stack .kp334-snack-hours span,
.kp338-hours-stack .kp334-snack-hours em{
  white-space:normal!important;
}
.kp338-hours-stack .kp334-snack-hours em{color:#ff9f1a!important;}
@media(max-width:620px){
  .kp338-hours-stack .kp330-snack-hours{
    width:min(var(--kp338-card-width,100%),100%)!important;
    max-width:100%!important;
  }
}


/* v1.0.339 — Épicerie : libellé + barre d'état dynamique pilotée par la grille 7×24 du back-office. */
.kp338-hours-stack .kp339-grocery-status{display:grid!important;grid-template-columns:auto minmax(76px,1fr)!important;align-items:center!important;gap:9px!important;flex-wrap:nowrap!important;}
.kp339-grocery-progress{display:block;width:100%;height:9px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.kp339-grocery-progress>i{display:block;height:100%;border-radius:inherit;transition:width .6s ease,background-color .25s ease}
.kp339-grocery-status.is-open .kp339-grocery-progress>i{background:#20b866}
.kp339-grocery-status.is-closing .kp339-grocery-progress>i{background:#ff9f1a}
.kp339-grocery-status.is-closed .kp339-grocery-progress>i{background:#df4141;width:100%!important}

/* v1.0.341 — Frises horaires Épicerie / Snack : repères à l’intérieur de la barre + largeur paramétrable par langue. */
.kp340-service-stack{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:2px 0 20px;width:100%;overflow:visible}
.kp340-service-row{display:grid;grid-template-columns:auto auto;align-items:center;gap:12px;max-width:100%;padding:9px 11px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);box-sizing:border-box}
.kp340-service-row>strong{min-width:70px;color:#fff;font:900 12px/1 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}
.kp340-timeline{position:relative;width:var(--kp341-timeline-width,360px);max-width:calc(100vw - 150px);padding:0}
.kp340-track{position:relative;height:34px;border-radius:999px;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);overflow:hidden}
.kp340-track>i[data-service-progress-fill]{position:absolute;z-index:1;left:0;top:0;height:100%;border-radius:999px;transition:width .5s linear,background-color .25s ease}
.kp340-track>b[data-service-progress-marker]{position:absolute;z-index:4;top:0;width:3px;height:100%;background:#fff;transform:translateX(-1.5px);box-shadow:0 0 0 1px rgba(0,0,0,.13);transition:left .5s linear}
.kp340-service-row.is-open .kp340-track>i{background:#20b866}.kp340-service-row.is-closing .kp340-track>i{background:#ff9f1a}.kp340-service-row.is-closed .kp340-track>i{background:#df4141;width:100%!important}
.kp340-service-row.is-closed .kp340-track>b{background:#ffd0d0}.kp340-service-row.is-closing .kp340-track>b{background:#fff0c9}
.kp340-ticks{position:absolute;z-index:3;inset:0 7px;pointer-events:none}
.kp340-ticks>span{position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:center;transform:translateX(-50%);white-space:nowrap;text-align:center}
.kp340-ticks>span:first-child{transform:none}.kp340-ticks>span:last-child{transform:translateX(-100%)}
.kp340-ticks span>i{position:absolute;left:50%;top:4px;bottom:4px;width:1px;background:rgba(255,255,255,.28);transform:translateX(-50%)}
.kp340-ticks span>b{position:relative;z-index:2;display:block;padding:2px 3px;border-radius:4px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55);font:900 8px/1 Montserrat,sans-serif;letter-spacing:-.03em}
@media(max-width:650px){.kp340-service-row{grid-template-columns:1fr;width:100%;gap:7px}.kp340-service-row>strong{min-width:0}.kp340-timeline{width:min(var(--kp341-timeline-width,360px),100%);max-width:100%}.kp340-ticks span>b{font-size:7px;padding-left:2px;padding-right:2px}}



/* v1.0.342 — Horaires : aucun repère à l’intérieur des barres ; début/fin affichés à la suite du nom du service. */
.kp342-service-row{grid-template-columns:auto auto!important;align-items:center!important;}
.kp342-service-row>strong{display:flex!important;align-items:baseline!important;gap:7px!important;min-width:0!important;text-transform:uppercase!important;white-space:nowrap!important;}
.kp342-service-name{font-weight:900!important;}
.kp342-service-hours{font-weight:850!important;letter-spacing:.015em!important;color:#fff!important;}
.kp342-service-row .kp340-track{height:18px!important;}
.kp342-service-row .kp340-ticks{display:none!important;}
@media(max-width:650px){
  .kp342-service-row{grid-template-columns:1fr!important;gap:6px!important;}
  .kp342-service-row>strong{width:100%!important;}
  .kp342-service-row .kp340-timeline{width:min(var(--kp341-timeline-width,360px),100%)!important;max-width:100%!important;}
}


/* v1.0.344 — Horaires : l'horaire reste fixe, le statut est affiché à droite de la barre. */
.kp342-service-row{grid-template-columns:auto auto auto!important;column-gap:10px!important;}
.kp344-service-status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border-radius:999px;color:#fff;font:900 9px/1 Montserrat,sans-serif;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;background:#df4141;box-shadow:0 0 0 1px rgba(255,255,255,.14) inset;}
.kp342-service-row.is-open .kp344-service-status{background:#20b866;}
.kp342-service-row.is-closing .kp344-service-status{background:#ff9f1a;}
.kp342-service-row.is-closed .kp344-service-status{background:#df4141;}
.kp342-service-row.is-vacation .kp344-service-status{background:#2784c7;}
.kp342-service-row.is-exceptional .kp344-service-status{background:#090b0a;border:1px solid rgba(255,255,255,.48);}
.kp342-service-row.is-vacation .kp340-track>i{background:#2784c7!important;width:100%!important;}
.kp342-service-row.is-exceptional .kp340-track>i{background:#090b0a!important;width:100%!important;}
.kp342-service-row.is-vacation .kp340-track>b{background:#d7edff!important;}
.kp342-service-row.is-exceptional .kp340-track>b{background:#fff!important;}
@media(max-width:760px){
  .kp342-service-row{grid-template-columns:1fr!important;gap:6px!important;}
  .kp344-service-status{justify-self:start!important;}
}


/* v1.0.345 — Frises Épicerie / Snack sur une échelle commune 10h00 → 22h00.
   Le nom est à gauche, la barre au centre, le statut à droite. Les plages fermées restent visibles en rouge. */
.kp342-service-row.kp340-service-row{
  grid-template-columns:minmax(72px,auto) minmax(240px,var(--kp341-timeline-width,360px)) auto!important;
  align-items:center!important;
  column-gap:10px!important;
}
.kp342-service-row>strong{display:block!important;min-width:72px!important;white-space:nowrap!important;}
.kp342-service-hours{display:none!important;}
.kp345-timeline{width:var(--kp341-timeline-width,360px)!important;max-width:100%!important;}
.kp345-track{height:20px!important;background:#cf3f3f!important;overflow:hidden!important;position:relative!important;}
.kp345-schedule{position:absolute;inset:0;z-index:1;display:block;border-radius:inherit;overflow:hidden;}
.kp345-segment{position:absolute;top:0;bottom:0;display:block;}
.kp345-segment.is-open{background:#20b866;}
.kp345-segment.is-closing{background:#ff9f1a;}
.kp345-segment.is-vacation{background:#2784c7;left:0!important;width:100%!important;}
.kp345-segment.is-exceptional{background:#090b0a;left:0!important;width:100%!important;}
.kp345-segment.is-closed-day{background:#df4141;left:0!important;width:100%!important;}
.kp345-track>b[data-service-progress-marker]{z-index:5!important;width:3px!important;background:#fff!important;box-shadow:0 0 0 1px rgba(0,0,0,.28),0 0 7px rgba(255,255,255,.72)!important;}
.kp342-service-row.is-vacation .kp345-track,
.kp342-service-row.is-exceptional .kp345-track,
.kp342-service-row.is-closed .kp345-track{background:#df4141!important;}
.kp342-service-row.is-vacation .kp345-track{background:#2784c7!important;}
.kp342-service-row.is-exceptional .kp345-track{background:#090b0a!important;}
@media(max-width:760px){
  .kp342-service-row.kp340-service-row{grid-template-columns:1fr!important;gap:6px!important;width:100%!important;}
  .kp342-service-row>strong{min-width:0!important;}
  .kp345-timeline{width:min(var(--kp341-timeline-width,360px),100%)!important;max-width:100%!important;}
  .kp344-service-status{justify-self:start!important;}
}


/* v1.0.347 — Frise intelligente : toute la plage 10h00 → 22h00 reste visible.
   Rouge = fermé, vert = ouvert, jaune = bientôt fermé. Le passé est assombri et le futur reste vif. */
.kp345-track{
  background:#df4141!important;
  overflow:hidden!important;
  position:relative!important;
}
.kp345-schedule{position:absolute!important;inset:0!important;z-index:1!important;display:block!important;border-radius:inherit!important;overflow:hidden!important;pointer-events:none!important;}
.kp345-segment{position:absolute!important;top:0!important;bottom:0!important;display:block!important;}
.kp345-segment.is-open{background:#20b866!important;}
.kp345-segment.is-closing{background:#f4c542!important;}
.kp345-track>i[data-service-progress-fill]{
  position:absolute!important;
  z-index:3!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  height:100%!important;
  width:0;
  background:rgba(45,49,52,.58)!important;
  border-radius:999px 0 0 999px!important;
  transition:width .5s linear!important;
  pointer-events:none!important;
}
.kp345-track>b[data-service-progress-marker]{z-index:5!important;width:3px!important;background:#fff!important;box-shadow:0 0 0 1px rgba(0,0,0,.28),0 0 7px rgba(255,255,255,.72)!important;}
.kp342-service-row.is-closing .kp344-service-status{background:#f4c542!important;color:#181818!important;}
.kp342-service-row.is-vacation .kp344-service-status{background:#f4c542!important;color:#181818!important;}
.kp342-service-row.is-exceptional .kp344-service-status{background:#090b0a!important;color:#fff!important;}
.kp342-service-row.is-vacation .kp345-track,
.kp342-service-row.is-exceptional .kp345-track,
.kp342-service-row.is-closed .kp345-track{background:#df4141!important;}


/* v1.0.348 — Correctif frise : les plages ouvertes restent toujours visibles au-dessus du fond rouge. */
.kp345-track{isolation:isolate!important;background:#df4141!important;}
.kp345-schedule{z-index:2!important;opacity:1!important;visibility:visible!important;}
.kp345-segment.is-open{background:#20b866!important;opacity:1!important;}
.kp345-segment.is-closing{background:#f4c542!important;opacity:1!important;}
.kp342-service-row.is-open .kp345-track,
.kp342-service-row.is-closing .kp345-track{background:#df4141!important;}
.kp342-service-row.is-open .kp345-schedule,
.kp342-service-row.is-closing .kp345-schedule{display:block!important;}
.kp345-track>i[data-service-progress-fill]{z-index:3!important;background:rgba(18,22,24,.42)!important;}


/* v1.0.349 — Barre lisible : gris + avancement vert quand ouvert ; rouge intégral dès que fermé. */
.kp345-track{background:#7d858b!important;isolation:isolate!important;overflow:hidden!important;}
.kp345-schedule{display:none!important;}
.kp345-track>i[data-service-progress-fill]{
  display:block!important;position:absolute!important;left:0!important;top:0!important;bottom:0!important;height:100%!important;
  z-index:2!important;width:0;background:#20b866!important;border-radius:999px 0 0 999px!important;transition:width .5s linear!important;
}
.kp342-service-row.is-open .kp345-track,.kp342-service-row.is-closing .kp345-track{background:#7d858b!important;}
.kp342-service-row.is-open .kp345-track>i[data-service-progress-fill],.kp342-service-row.is-closing .kp345-track>i[data-service-progress-fill]{background:#20b866!important;}
.kp342-service-row.is-closed .kp345-track,.kp342-service-row.is-pause .kp345-track,.kp342-service-row.is-vacation .kp345-track,.kp342-service-row.is-exceptional .kp345-track{background:#df4141!important;}
.kp342-service-row.is-closed .kp345-track>i[data-service-progress-fill],.kp342-service-row.is-pause .kp345-track>i[data-service-progress-fill],.kp342-service-row.is-vacation .kp345-track>i[data-service-progress-fill],.kp342-service-row.is-exceptional .kp345-track>i[data-service-progress-fill]{display:none!important;width:0!important;}
.kp342-service-row.is-closed .kp345-track>b[data-service-progress-marker],.kp342-service-row.is-pause .kp345-track>b[data-service-progress-marker],.kp342-service-row.is-vacation .kp345-track>b[data-service-progress-marker],.kp342-service-row.is-exceptional .kp345-track>b[data-service-progress-marker]{display:none!important;}
.kp342-service-row.is-open .kp344-service-status{background:#20b866!important;color:#fff!important;}
.kp342-service-row.is-closing .kp344-service-status{background:#f4c542!important;color:#181818!important;}
.kp342-service-row.is-closed .kp344-service-status{background:#df4141!important;color:#fff!important;}
.kp342-service-row.is-pause .kp344-service-status{background:#ff9f1a!important;color:#181818!important;}
.kp342-service-row.is-vacation .kp344-service-status{background:#f4c542!important;color:#181818!important;}
.kp342-service-row.is-exceptional .kp344-service-status{background:#090b0a!important;color:#fff!important;}


/* v1.0.350 — Barre de temps restant :
   - quand le service est ouvert, les plages d'ouverture à venir restent vertes ;
   - le temps déjà écoulé depuis 10h00 devient rouge progressivement ;
   - les périodes futures fermées restent rouges ;
   - fermé / pause / vacances / fermeture exceptionnelle = barre totalement rouge ;
   - le badge seul indique OUVERT / BIENTÔT FERMÉ / etc. */
.kp345-track{background:#df4141!important;isolation:isolate!important;overflow:hidden!important;}
.kp342-service-row.is-open .kp345-schedule,
.kp342-service-row.is-closing .kp345-schedule{display:block!important;z-index:2!important;opacity:1!important;visibility:visible!important;}
.kp342-service-row.is-open .kp345-segment.is-open,
.kp342-service-row.is-closing .kp345-segment.is-open,
.kp342-service-row.is-open .kp345-segment.is-closing,
.kp342-service-row.is-closing .kp345-segment.is-closing{background:#20b866!important;opacity:1!important;}
.kp342-service-row.is-open .kp345-track>i[data-service-progress-fill],
.kp342-service-row.is-closing .kp345-track>i[data-service-progress-fill]{
  display:block!important;position:absolute!important;z-index:3!important;left:0!important;top:0!important;bottom:0!important;height:100%!important;
  background:#df4141!important;border-radius:999px 0 0 999px!important;transition:width .5s linear!important;
}
.kp342-service-row.is-open .kp345-track,
.kp342-service-row.is-closing .kp345-track{background:#df4141!important;}
.kp342-service-row.is-closed .kp345-schedule,
.kp342-service-row.is-pause .kp345-schedule,
.kp342-service-row.is-vacation .kp345-schedule,
.kp342-service-row.is-exceptional .kp345-schedule{display:none!important;}
.kp342-service-row.is-closed .kp345-track,
.kp342-service-row.is-pause .kp345-track,
.kp342-service-row.is-vacation .kp345-track,
.kp342-service-row.is-exceptional .kp345-track{background:#df4141!important;}
.kp342-service-row.is-closed .kp345-track>i[data-service-progress-fill],
.kp342-service-row.is-pause .kp345-track>i[data-service-progress-fill],
.kp342-service-row.is-vacation .kp345-track>i[data-service-progress-fill],
.kp342-service-row.is-exceptional .kp345-track>i[data-service-progress-fill]{display:none!important;width:0!important;}


/* v1.0.351 — Toute portion de temps déjà passée est rouge, sans exception.
   Quand le service est ouvert, le vert ne subsiste que sur les plages d'ouverture futures. */
.kp342-service-row.is-open .kp345-track>i[data-service-progress-fill],
.kp342-service-row.is-closing .kp345-track>i[data-service-progress-fill]{
  display:block!important;
  background:#df4141!important;
  opacity:1!important;
  z-index:5!important;
  border-radius:999px 0 0 999px!important;
}
.kp342-service-row.is-open .kp345-schedule,
.kp342-service-row.is-closing .kp345-schedule{z-index:2!important;}
.kp342-service-row.is-open .kp345-track>b[data-service-progress-marker],
.kp342-service-row.is-closing .kp345-track>b[data-service-progress-marker]{z-index:6!important;}


/* v1.0.352 — Correctif définitif : fond rouge permanent ; aucun vert avant l'heure actuelle. */
.kp345-track{background:#df4141!important;position:relative!important;overflow:hidden!important;isolation:isolate!important;}
.kp345-schedule{display:block!important;position:absolute!important;inset:0!important;z-index:4!important;overflow:hidden!important;border-radius:inherit!important;pointer-events:none!important;}
.kp345-segment{position:absolute!important;top:0!important;bottom:0!important;display:block!important;}
.kp345-segment.is-open{background:#20b866!important;opacity:1!important;}
.kp345-track>i[data-service-progress-fill]{display:none!important;width:0!important;}
.kp345-track>b[data-service-progress-marker]{z-index:6!important;}
.kp342-service-row.is-closed .kp345-schedule,
.kp342-service-row.is-pause .kp345-schedule,
.kp342-service-row.is-vacation .kp345-schedule,
.kp342-service-row.is-exceptional .kp345-schedule{display:none!important;}
.kp342-service-row.is-closed .kp345-track,
.kp342-service-row.is-pause .kp345-track,
.kp342-service-row.is-vacation .kp345-track,
.kp342-service-row.is-exceptional .kp345-track{background:#df4141!important;}


/* v1.0.353 — Frise : aucun liseré blanc/gris dans les extrémités arrondies.
   La couleur active remplit réellement la barre jusqu'au bord du rayon. */
.kp345-track{
  box-shadow:none!important;
  border:0!important;
  background-clip:padding-box!important;
}
.kp345-schedule{
  inset:0!important;
  border-radius:999px!important;
  overflow:hidden!important;
}
.kp345-segment{box-shadow:none!important;}
.kp345-segment.is-open{background:#20b866!important;}
.kp345-segment.is-open[data-edge-left="1"]{border-radius:999px 0 0 999px!important;}
.kp345-segment.is-open[data-edge-right="1"]{border-radius:0 999px 999px 0!important;}
.kp345-segment.is-open[data-edge-left="1"][data-edge-right="1"]{border-radius:999px!important;}


/* v1.0.354 — Frises horaires rectangulaires : suppression totale des arrondis. */
.kp340-track,
.kp345-track,
.kp345-schedule,
.kp345-segment,
.kp345-segment.is-open,
.kp345-segment.is-closing,
.kp345-track>i[data-service-progress-fill]{
  border-radius:0!important;
}
.kp345-segment.is-open[data-edge-left="1"],
.kp345-segment.is-open[data-edge-right="1"],
.kp345-segment.is-open[data-edge-left="1"][data-edge-right="1"]{
  border-radius:0!important;
}


/* v1.0.355 — Frises arrondies sans aucun blanc : uniquement rouge et vert.
   Le petit trait blanc correspondait au repère d'heure actuelle ; il est supprimé.
   Le conteneur arrondi découpe directement les couches de couleur jusqu'aux bords. */
.kp340-track,
.kp345-track{
  border-radius:999px!important;
  overflow:hidden!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:#df4141!important;
  background-clip:border-box!important;
}
.kp345-schedule{
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  overflow:hidden!important;
  box-shadow:none!important;
  background:transparent!important;
}
.kp345-segment,
.kp345-segment.is-open,
.kp345-segment.is-closing{
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
}
.kp345-segment.is-open,
.kp345-segment.is-closing{background:#20b866!important;}
.kp345-track>b[data-service-progress-marker],
.kp340-track>b[data-service-progress-marker]{display:none!important;}


/* v1.0.356 — Horaires : le libellé complet reste à gauche et la barre commence plus loin,
   afin de ne jamais passer sous « Épicerie · 10:00 → 22:00 » / « Snack · 11:00 → 21:30 ». */
.kp342-service-row.kp340-service-row{
  grid-template-columns:minmax(205px,max-content) minmax(240px,var(--kp341-timeline-width,360px)) auto!important;
  column-gap:16px!important;
}
.kp342-service-row>strong{
  min-width:205px!important;
  width:max-content!important;
  max-width:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .kp342-service-row.kp340-service-row{grid-template-columns:1fr!important;column-gap:0!important;row-gap:7px!important;}
  .kp342-service-row>strong{min-width:0!important;width:auto!important;max-width:100%!important;white-space:normal!important;}
}


/* v1.0.357 — La barre de chaque service utilise sa propre échelle horaire ; le Snack se termine à sa propre fermeture. */


/* v1.0.358 — Recouvre entièrement l'arrondi droit/gauche quand le vert atteint l'extrémité réelle du service.
   Le léger débordement est découpé par le conteneur arrondi et supprime le dernier pixel rouge. */
.kp345-segment[data-edge-right="1"]{right:-2px!important;width:auto!important;}
.kp345-segment[data-edge-left="1"]{left:-2px!important;}
.kp345-segment[data-edge-left="1"][data-edge-right="1"]{left:-2px!important;right:-2px!important;width:auto!important;}


/* v1.0.359 — Horaires : aération verticale autour des barres Épicerie / Snack.
   Une ligne d'espace après les horaires généraux et une ligne avant le bandeau du prochain événement. */
.kp247-hours-copy .kp340-service-stack{
  margin-top:22px!important;
  margin-bottom:0!important;
}
.kp247-hours-copy .kp298-hours-next-band{
  margin-top:24px!important;
}
@media(max-width:760px){
  .kp247-hours-copy .kp340-service-stack{margin-top:18px!important;margin-bottom:0!important;}
  .kp247-hours-copy .kp298-hours-next-band{margin-top:20px!important;}
}


/* v1.0.361 — AM/PM : taille de nouveau pilotée par le réglage visible dans le Back Office Horaires. */


/* v1.0.362 — Le réglage Back Office AM / PM s'applique au grand horaire US du front. */
.kp247-hours-copy .kp251-hours-title [data-hours-time-line] [data-hours-time-meridiem]{
  font-size:var(--hours-meridiem-size,16px)!important;
}

/* v1.0.363 — identité membre Kerdudal GO déplacée hors des popups.
   Elle est visible sur tout le site, directement sous le sélecteur de langues. */
.kp363-header-account{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:6px;
  min-width:0;
}
.kp363-global-member{
  min-height:30px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  max-width:220px;
  color:#17231c;
}
.kp363-global-member-loading,
.kp363-global-member-off{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  font:800 9px/1.15 Montserrat,Arial,sans-serif;
  color:#7b837e;
  white-space:nowrap;
}
.kp363-global-member-off i{
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:#b7bdb9;
}
.kp363-global-member-avatar{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:#edf3ef;
  border:1px solid #d9e1dc;
}
.kp363-global-member-avatar img{width:100%;height:100%;object-fit:cover}
.kp363-global-avatar-fallback{font:900 8px/1 Montserrat,Arial,sans-serif;color:var(--brand)}
.kp363-global-member-name{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  text-align:right;
}
.kp363-global-member-name strong{
  display:block;
  max-width:170px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:900 11px/1.05 Montserrat,Arial,sans-serif;
  color:#17231c;
}
.kp363-global-member-name small{
  font:800 7px/1 Montserrat,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8a928d;
}
/* Les en-têtes des popups ne contiennent plus l'identité du membre : la croix reste seule à droite. */
.kp90-hub-head,
.kp320-club-head,
.kp320-club-panel.is-profile-view .kp320-club-head,
.kp233-info-head{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.kp363-popup-head-spacer{display:block;min-width:0}
@media(max-width:1250px){
  .kp363-header-account{gap:4px}
  .kp363-global-member{min-height:26px;max-width:190px}
  .kp363-global-member-avatar{width:26px;height:26px;flex-basis:26px}
  .kp363-global-member-name strong{max-width:145px;font-size:10px}
  .kp363-global-member-loading,.kp363-global-member-off{font-size:8px}
}
@media(max-width:930px){
  .kp363-global-member{max-width:155px;gap:6px}
  .kp363-global-member-name strong{max-width:112px;font-size:9px}
  .kp363-global-member-name small{font-size:6px}
  .kp363-global-member-loading,.kp363-global-member-off{font-size:7px}
}
@media(max-width:720px){
  body.kp20-body{--kp34-header-height:128px}
  .kp20-header-main{grid-template-rows:84px 44px}
  .kp363-header-account{gap:4px}
  .kp363-global-member{min-height:26px;max-width:150px}
  .kp363-global-member-avatar{width:25px;height:25px;flex-basis:25px}
  .kp363-global-member-name strong{max-width:112px;font-size:9px}
  .kp363-global-member-loading,.kp363-global-member-off{max-width:145px;white-space:normal;text-align:right;justify-content:flex-end;line-height:1.2}
}
@media(max-width:430px){
  .kp20-brand{width:165px;height:52px}
  .kp363-global-member{max-width:132px}
  .kp363-global-member-name strong{max-width:92px}
  .kp363-global-member-loading,.kp363-global-member-off{max-width:128px;font-size:6.5px}
}
/* v1.0.363 — ajustements des popups après retrait du bloc membre + sixième onglet Profil. */
.kp90-hub-head>.kp363-popup-head-spacer,
.kp320-club-head>.kp363-popup-head-spacer{grid-column:1!important;grid-row:1!important}
.kp90-hub-head>.kp84-kerdustops-close{grid-column:2!important;grid-row:1!important;justify-self:end!important;margin-left:auto!important}
.kp320-club-head>.kp320-club-close,
.kp320-club-panel.is-profile-view .kp320-club-head>.kp320-club-close{grid-column:2!important;grid-row:1!important;justify-self:end!important;margin-left:auto!important;margin-right:0!important}
.kp90-adventure-tabs,
.kp320-club-tabs{grid-template-columns:repeat(6,minmax(0,1fr))!important}
@media(max-width:720px){
  .kp90-adventure-tabs,
  .kp320-club-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:430px){
  .kp90-adventure-tabs,
  .kp320-club-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* v1.0.364 — En-tête : identité membre réellement centrée sous FR / US / EN / ES / CA,
   avatar + nom plus visibles et logo Kerdudal légèrement agrandi. */
body.kp20-body{--kp34-header-height:112px}
.kp20-brand{
  width:clamp(320px,25vw,450px);
  height:90px;
}
.kp363-header-account{
  align-items:center;
  gap:7px;
}
.kp363-header-account .kp20-lang{
  align-self:center;
}
.kp363-global-member{
  min-height:38px;
  width:100%;
  max-width:250px;
  justify-content:center;
  gap:10px;
  text-align:center;
}
.kp363-global-member-loading,
.kp363-global-member-off{
  width:100%;
  justify-content:center;
  text-align:center;
  font-size:10px;
}
.kp363-global-member-avatar{
  width:38px;
  height:38px;
  flex-basis:38px;
  border-width:2px;
}
.kp363-global-avatar-fallback{font-size:9px}
.kp363-global-member-name{
  align-items:center;
  text-align:center;
  gap:3px;
}
.kp363-global-member-name strong{
  max-width:185px;
  font-size:13px;
  line-height:1.08;
}
.kp363-global-member-name small{font-size:8px}

@media(max-width:1250px){
  body.kp20-body{--kp34-header-height:96px}
  .kp20-brand{width:clamp(250px,23vw,315px);height:74px}
  .kp363-global-member{min-height:34px;max-width:215px;gap:8px}
  .kp363-global-member-avatar{width:34px;height:34px;flex-basis:34px}
  .kp363-global-member-name strong{max-width:158px;font-size:12px}
  .kp363-global-member-name small{font-size:7px}
  .kp363-global-member-loading,.kp363-global-member-off{font-size:9px}
}
@media(max-width:930px){
  body.kp20-body{--kp34-header-height:90px}
  .kp20-brand{width:220px;height:66px}
  .kp363-global-member{min-height:32px;max-width:185px;gap:7px}
  .kp363-global-member-avatar{width:32px;height:32px;flex-basis:32px}
  .kp363-global-member-name strong{max-width:132px;font-size:11px}
  .kp363-global-member-name small{font-size:7px}
  .kp363-global-member-loading,.kp363-global-member-off{font-size:8px}
}
@media(max-width:720px){
  body.kp20-body{--kp34-header-height:136px}
  .kp20-header-main{grid-template-rows:92px 44px}
  .kp20-brand{width:200px;height:60px}
  .kp363-header-account{gap:5px}
  .kp363-global-member{min-height:30px;max-width:168px;gap:6px}
  .kp363-global-member-avatar{width:30px;height:30px;flex-basis:30px}
  .kp363-global-member-name strong{max-width:124px;font-size:10px}
  .kp363-global-member-name small{font-size:6.5px}
  .kp363-global-member-loading,.kp363-global-member-off{
    max-width:168px;
    font-size:7.5px;
    line-height:1.15;
    text-align:center;
    justify-content:center;
  }
}
@media(max-width:430px){
  .kp20-brand{width:175px;height:55px}
  .kp363-global-member{max-width:148px}
  .kp363-global-member-name strong{max-width:105px;font-size:9.5px}
  .kp363-global-member-loading,.kp363-global-member-off{max-width:148px;font-size:7px}
}


/* v1.0.365 — Profil global : le bloc avatar/nom de l'en-tête devient le seul accès au Profil.
   Le nouveau popup reprend exactement la structure visuelle Kerdudal Club. */
.kp363-global-member{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  padding:0;
  background:transparent;
  font:inherit;
  cursor:pointer;
}
.kp363-global-member:hover .kp363-global-member-name strong,
.kp363-global-member:focus-visible .kp363-global-member-name strong{color:var(--brand)}
.kp363-global-member:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:4px;border-radius:14px}
/* Club et GO Adventure reviennent à 5 boutons : aucun bouton Profil dans leurs popups. */
.kp90-adventure-tabs,
.kp320-club-panel:not(.kp365-member-panel) .kp320-club-tabs{grid-template-columns:repeat(5,minmax(0,1fr))!important}
/* Le popup membre comporte volontairement 6 cases : Profil + 5 réserves. */
.kp365-member-tabs{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.kp365-member-panel .kp323-club-profile-content{height:100%;min-height:0}
.kp365-member-panel .kp365-member-placeholder-page{height:100%}
body.member-panel-open{overflow:hidden}
@media(max-width:720px){
  .kp90-adventure-tabs,
  .kp320-club-panel:not(.kp365-member-panel) .kp320-club-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .kp365-member-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* v1.0.366 — Connexion membre Kerdudal GO intégrée au popup Profil global. */
.kp366-member-login-wrap{
  min-height:100%;
  display:grid;
  place-items:center;
  padding:20px;
  box-sizing:border-box;
}
.kp366-member-login-card{
  width:min(100%,480px);
  padding:28px;
  box-sizing:border-box;
  border:1px solid #dce6f1;
  border-radius:26px;
  background:linear-gradient(145deg,#eef4fb 0,#fff 45%,#fff4f4 100%);
  box-shadow:0 18px 42px rgba(24,43,72,.10);
}
.kp366-member-login-heading{text-align:center;margin-bottom:22px}
.kp366-member-login-heading small{
  display:block;
  margin-bottom:8px;
  color:#e33636;
  font:900 9px/1 Montserrat,sans-serif;
  letter-spacing:.18em;
}
.kp366-member-login-heading strong{
  display:block;
  color:#17253b;
  font:900 clamp(24px,3vw,34px)/1.05 Montserrat,sans-serif;
  letter-spacing:-.035em;
}
.kp366-member-login-heading p{
  margin:10px auto 0;
  max-width:380px;
  color:#748090;
  font:600 12px/1.5 Montserrat,sans-serif;
}
.kp366-member-login-form{display:grid;gap:13px}
.kp366-member-login-form label{display:grid;gap:7px;text-align:left}
.kp366-member-login-form label>span{
  color:#17253b;
  font:800 10px/1 Montserrat,sans-serif;
  letter-spacing:.04em;
}
.kp366-member-login-form input{
  width:100%;
  height:50px;
  box-sizing:border-box;
  border:1.5px solid #d5dee9;
  border-radius:14px;
  padding:0 15px;
  outline:0;
  color:#17253b;
  background:#fff;
  font:700 14px/1 Montserrat,sans-serif;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.kp366-member-login-form input:focus{border-color:#1266c3;box-shadow:0 0 0 4px rgba(18,102,195,.10)}
.kp366-member-login-submit,.kp366-member-register{
  min-height:50px;
  border:0;
  border-radius:14px;
  cursor:pointer;
  font:900 12px/1 Montserrat,sans-serif;
  letter-spacing:.08em;
  transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;
}
.kp366-member-login-submit{margin-top:3px;color:#fff;background:#1266c3;box-shadow:0 10px 24px rgba(18,102,195,.20)}
.kp366-member-login-submit:hover,.kp366-member-register:hover{transform:translateY(-1px)}
.kp366-member-login-submit:disabled{opacity:.55;cursor:wait;transform:none}
.kp366-member-forgot{
  justify-self:center;
  border:0;
  padding:2px 4px;
  cursor:pointer;
  color:#1266c3;
  background:transparent;
  font:800 10px/1.2 Montserrat,sans-serif;
}
.kp366-member-forgot:hover{text-decoration:underline}
.kp366-member-login-message{
  min-height:16px;
  margin:-2px 0;
  text-align:center;
  color:#b62d2d;
  font:700 10px/1.4 Montserrat,sans-serif;
}
.kp366-member-login-message[data-state="info"]{color:#627083}
.kp366-member-login-message[data-state="working"]{color:#1266c3}
.kp366-member-login-separator{
  display:flex;
  align-items:center;
  gap:10px;
  margin:2px 0;
  color:#87909c;
  font:700 9px/1 Montserrat,sans-serif;
}
.kp366-member-login-separator::before,.kp366-member-login-separator::after{content:"";height:1px;flex:1;background:#dfe5ec}
.kp366-member-register{color:#17253b;background:#fff;border:1.5px solid #d5dee9;box-shadow:0 8px 18px rgba(24,43,72,.05)}
.kp366-go-auth-bridge{
  position:fixed!important;
  left:-10000px!important;
  top:-10000px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  border:0!important;
}
.kp366-member-register-view{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:12px;
  padding:2px;
  box-sizing:border-box;
}
.kp366-member-register-bar{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  min-height:52px;
  padding:8px 12px;
  box-sizing:border-box;
  border:1px solid #dce6f1;
  border-radius:18px;
  background:linear-gradient(145deg,#eef4fb,#fff 70%);
}
.kp366-member-register-bar button{
  grid-column:1;
  border:0;
  border-radius:12px;
  padding:10px 12px;
  cursor:pointer;
  color:#1266c3;
  background:#fff;
  font:800 10px/1 Montserrat,sans-serif;
  box-shadow:0 6px 14px rgba(24,43,72,.06);
}
.kp366-member-register-bar strong{
  grid-column:2;
  text-align:center;
  color:#17253b;
  font:900 14px/1.1 Montserrat,sans-serif;
}
.kp366-member-register-frame{
  width:100%;
  height:100%;
  min-height:420px;
  border:1px solid #dce6f1;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(24,43,72,.08);
}
@media(max-width:720px){
  .kp366-member-login-wrap{padding:8px}
  .kp366-member-login-card{padding:20px 16px;border-radius:20px}
  .kp366-member-login-form input,.kp366-member-login-submit,.kp366-member-register{height:46px;min-height:46px}
  .kp366-member-register-bar{grid-template-columns:1fr;gap:7px}
  .kp366-member-register-bar button,.kp366-member-register-bar strong{grid-column:1}
  .kp366-member-register-bar strong{grid-row:1}.kp366-member-register-bar button{grid-row:2;justify-self:start}
  .kp366-member-register-frame{min-height:360px;border-radius:16px}
}
