/* Page magasin — grille mesurée sur le visuel client 936 × 884. */
.store-page{--sp:calc(100cqw / 936);--store-green:#6af63e;container-type:inline-size;position:relative;isolation:isolate;width:100%;max-width:1920px;margin:0 auto;overflow:clip;background:#030604;color:#f2f4ef}
.store-page::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0004,#0009 46%,#0002),url('./assets/magasin-honeycomb.svg') center top/calc(936 * var(--sp)) calc(6000 * var(--sp)) no-repeat;opacity:.35}
.store-page :where(h1,h2,h3,p,ul){margin:0}
.store-page h1,.store-page h2{font-family:Barlow,Arial,sans-serif;font-weight:800;font-style:normal;line-height:1.02;letter-spacing:calc(-.4 * var(--sp));text-transform:uppercase}
.store-page h1 em,.store-page h2 em{font-style:normal;color:var(--store-green)}
.store-eyebrow{color:#70fa45;font:600 calc(10 * var(--sp))/calc(13 * var(--sp)) 'ACC Contact',Arial,sans-serif;letter-spacing:calc(4 * var(--sp));text-transform:uppercase}
.store-gallery,.store-brands,.store-visit{position:relative;border-top:1px solid rgba(114,244,72,.55)}
.store-gallery::before,.store-visit::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#70ff46,transparent 46%,#70ff46);box-shadow:0 0 7px #7cff5a70;pointer-events:none}
.store-gallery{height:calc(467 * var(--sp))}
.store-gallery__heading{position:absolute;left:calc(40 * var(--sp));top:calc(34 * var(--sp))}
.store-gallery h1{margin-top:calc(5 * var(--sp));font-size:calc(28 * var(--sp));white-space:nowrap;transform:scaleX(1.25);transform-origin:left center}
.store-gallery__intro,.store-brands__intro{position:absolute;left:calc(545 * var(--sp));color:#d2d5ce;font:400 calc(11 * var(--sp))/calc(17 * var(--sp)) 'ACC Contact',Arial,sans-serif}
.store-gallery__intro{top:calc(46 * var(--sp));right:calc(85 * var(--sp))}
.store-gallery__arrows{position:absolute;right:calc(26 * var(--sp));top:calc(40 * var(--sp));display:flex;gap:calc(7 * var(--sp))}
.store-gallery__arrows button{display:grid;place-items:center;width:calc(28 * var(--sp));height:calc(28 * var(--sp));padding:0;border:1px solid #70776d;border-radius:50%;background:#020702;color:#969e91;cursor:pointer}
.store-gallery__arrows button:last-child{border-color:#6afd36;color:#6afd36}
.store-gallery__arrows svg{width:calc(17 * var(--sp));height:calc(17 * var(--sp));fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.store-gallery__arrows button:hover{color:#c4ffb2;border-color:#b0ff90}
.store-gallery__photos{position:absolute;left:calc(29 * var(--sp));right:calc(22 * var(--sp));top:calc(91 * var(--sp));height:calc(342 * var(--sp));display:grid;grid-template-columns:545fr 331fr;grid-template-rows:192fr 140fr;gap:calc(10 * var(--sp)) calc(9 * var(--sp))}
.store-photo{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;border:0;border-radius:calc(4 * var(--sp));padding:0;margin:0;background:#080b09;text-align:left;cursor:zoom-in}
.store-photo--main{grid-column:1;grid-row:1/3}
.store-photo--front{grid-column:2;grid-row:1}
.store-gallery__small{grid-column:2;grid-row:2;display:grid;grid-template-columns:166fr 155fr;gap:calc(10 * var(--sp));min-width:0}
.store-photo__viewport{display:block;position:absolute;inset:0;overflow:hidden}
.store-photo__viewport img{position:absolute;left:0;top:0;display:block;max-width:none;width:calc(936 / var(--cw) * 100%);height:auto;transform:translate(calc(var(--cx) / -936 * 100%),calc(var(--cy) / -884 * 100%))}
.store-photo__badge{position:absolute;display:flex;align-items:center;gap:calc(9 * var(--sp));height:calc(30 * var(--sp));padding:0 calc(10 * var(--sp));border:1px solid #367c28;border-radius:calc(4 * var(--sp));background:#020a03;color:#f4f5ef;font:500 calc(10.5 * var(--sp))/1.05 'ACC Contact',Arial,sans-serif;text-transform:uppercase;white-space:nowrap;box-shadow:0 0 calc(7 * var(--sp)) #5dff361c}
.store-photo__badge svg{display:block;flex:none;width:calc(19 * var(--sp));height:calc(21 * var(--sp));fill:none;stroke:#75ff36;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.store-photo--main .store-photo__badge{left:calc(11 * var(--sp));bottom:calc(6 * var(--sp));min-width:calc(201 * var(--sp))}
.store-photo--front .store-photo__badge{left:calc(6 * var(--sp));bottom:calc(4 * var(--sp));min-width:calc(209 * var(--sp));height:calc(29 * var(--sp))}
.store-gallery__small .store-photo__badge{left:calc(6 * var(--sp));bottom:calc(4 * var(--sp));height:calc(28 * var(--sp));padding-inline:calc(6 * var(--sp));gap:calc(7 * var(--sp));font-size:calc(10 * var(--sp))}
.store-photo--tech .store-photo__badge{min-width:calc(154 * var(--sp))}
.store-photo--comfort .store-photo__badge{min-width:calc(139 * var(--sp))}
.store-photo:hover{box-shadow:0 0 0 1px #73f63d}
.store-gallery button:focus-visible,.store-visit__map:focus-visible{outline:2px solid #c8ffb1;outline-offset:3px;z-index:2}
.store-brands{height:calc(233 * var(--sp));background:#0005}
.store-brands__heading{position:absolute;left:calc(38 * var(--sp));top:calc(18 * var(--sp))}
.store-brands h2{margin-top:calc(5 * var(--sp));font-size:calc(27 * var(--sp));white-space:nowrap;transform:scaleX(1.22);transform-origin:left center}
.store-brands__intro{top:calc(28 * var(--sp));right:calc(26 * var(--sp));font-size:calc(11 * var(--sp));line-height:calc(17 * var(--sp))}
.store-brands__grid{position:absolute;left:calc(37 * var(--sp));right:calc(27 * var(--sp));top:calc(76 * var(--sp));height:calc(134 * var(--sp));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:calc(10 * var(--sp));padding:0;list-style:none}
.store-brand{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;border:1px solid #b9c1b130;border-radius:calc(4 * var(--sp));background:radial-gradient(ellipse at 50% 110%,#141912,#030503 78%)}
.store-brand img{display:block;max-width:84%;max-height:78%;width:auto;height:auto;object-fit:contain}
.store-brand--paper img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}
.store-brand--screen img{mix-blend-mode:screen}
.store-brand--white img{filter:brightness(0) invert(1)}
.store-brand--movera img{filter:brightness(1.85) saturate(1.25)}
.store-brand--webasto img:first-child,.store-brand--antarion img:first-child{filter:brightness(1.3)}
.store-brand__lettering{position:absolute;filter:brightness(0) invert(1)}
.store-brand--webasto .store-brand__lettering{clip-path:inset(0 0 0 24%)}
.store-brand--antarion .store-brand__lettering{clip-path:inset(0 0 24% 0)}
.store-brand--flv .store-brand__lettering{clip-path:inset(0 0 15% 35%)}
.store-brand--garmin .store-brand__lettering{clip-path:polygon(0 0,78% 0,78% 42%,100% 42%,100% 100%,0 100%)}
.store-brand--super img{max-width:none;max-height:none;width:120%;height:auto}
.store-visit{height:calc(184 * var(--sp));background:#030705;overflow:hidden}
.store-visit__art{mask-image:url('./assets/magasin-visit-mask.svg');mask-size:100% 100%;mask-repeat:no-repeat;mask-mode:luminance;pointer-events:none}
.store-visit__heading{position:absolute;left:calc(39 * var(--sp));top:calc(16 * var(--sp))}
.store-visit h2{margin-top:calc(5 * var(--sp));font-size:calc(27 * var(--sp));line-height:.98;letter-spacing:calc(-.35 * var(--sp));transform:scaleX(1.25);transform-origin:left center}
.store-visit__details{position:absolute;inset:calc(103 * var(--sp)) auto auto calc(39 * var(--sp));display:flex;align-items:flex-start}
.store-visit__detail{display:flex;align-items:flex-start;gap:calc(13 * var(--sp));font:400 calc(12.5 * var(--sp))/calc(15.5 * var(--sp)) 'ACC Contact',Arial,sans-serif}
.store-visit__detail>svg{flex:none;width:calc(25 * var(--sp));height:calc(29 * var(--sp));fill:none;stroke:#6bf63c;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.store-visit h3{margin:0 0 calc(4 * var(--sp));color:#70f345;font:500 calc(12 * var(--sp))/1 'ACC Contact',Arial,sans-serif}
.store-visit address{font-style:normal}
.store-visit__address{width:calc(194 * var(--sp))}
.store-visit__hours{width:calc(184 * var(--sp));padding-left:calc(15 * var(--sp));border-left:1px solid #99bd8733}
.store-visit__contact{padding-left:calc(15 * var(--sp));border-left:1px solid #99bd8733}
.store-visit__contact a{color:inherit;text-decoration:none}
.store-visit__contact a:hover{color:#a6ff89}
.store-visit__phone{font-size:calc(18 * var(--sp));line-height:calc(23 * var(--sp))}
.store-visit__map{position:absolute;right:calc(31 * var(--sp));bottom:calc(20 * var(--sp));width:calc(190 * var(--sp));height:calc(50 * var(--sp));display:flex;align-items:center;justify-content:space-between;gap:calc(12 * var(--sp));padding:0 calc(15 * var(--sp));border:1px solid #83ff3e;border-radius:calc(12 * var(--sp));background:#020b02;box-shadow:0 0 calc(12 * var(--sp)) #67ff4770;color:#f4f7ef;font:500 calc(11 * var(--sp))/1.1 'ACC Contact',Arial,sans-serif;text-transform:uppercase}
.store-visit__map svg{display:block;flex:none;fill:none;stroke:#72ff3f;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.store-visit__map-pin{width:calc(26 * var(--sp));height:calc(30 * var(--sp))}
.store-visit__map .store-visit__map-arrow{width:calc(14 * var(--sp));height:calc(18 * var(--sp))}
.store-visit__map:hover{background:#0b2108;box-shadow:0 0 calc(18 * var(--sp)) #76ff4280}
.store-dialog{position:fixed;inset:0;margin:auto;padding:18px;border:1px solid #62e731;border-radius:10px;background:#050b06;color:#f3f5ee;width:min(92vw,1180px);max-width:none;overflow:visible}
.store-dialog::backdrop{background:#000e;backdrop-filter:blur(8px)}
.store-dialog__photo{position:relative;height:min(68vh,720px);background:#060a07}
.store-dialog p{padding-top:14px;font:500 18px/1.3 'ACC Contact',Arial,sans-serif}
.store-dialog__close{position:absolute;right:10px;top:10px;z-index:2;width:40px;height:40px;border:1px solid #81ef59;border-radius:50%;background:#030b04;color:#b6ff97;font:400 30px/1 Arial;cursor:pointer}
@media(max-width:800px){
 .store-page{--sp:1px}
 .store-gallery h1,.store-brands h2,.store-visit h2{transform:none}
 .store-gallery{height:auto;padding:27px 24px 28px}
 .store-gallery__heading{position:static;padding-right:70px}
 .store-eyebrow{font-size:11px;line-height:15px;letter-spacing:3px}
 .store-gallery h1{font-size:30px;line-height:1.03;white-space:normal;margin-top:7px}
 .store-gallery__intro{position:static;font-size:14px;line-height:1.55;margin-top:15px;padding-right:25px}
 .store-gallery__intro br,.store-brands__intro br{display:none}
 .store-gallery__arrows{top:27px;right:24px;gap:7px}
 .store-gallery__arrows button{width:30px;height:30px}
 .store-gallery__arrows svg{width:18px;height:18px}
 .store-gallery__photos{position:relative;inset:auto;height:auto;aspect-ratio:885/342;margin-top:23px;grid-template-columns:545fr 331fr;grid-template-rows:192fr 140fr;gap:10px}
 .store-photo{border-radius:5px}
 .store-photo--main,.store-photo--front{aspect-ratio:auto}
 .store-gallery__small{gap:8px}
 .store-photo__badge,.store-photo--main .store-photo__badge,.store-photo--front .store-photo__badge,.store-gallery__small .store-photo__badge{left:5px;right:5px;bottom:4px;min-width:0;width:auto;height:auto;min-height:30px;padding:5px 7px;font-size:11px;gap:7px;white-space:normal}
 .store-photo__badge svg{width:19px;height:20px}
 .store-brands{height:auto;padding:25px 24px 28px}
 .store-brands__heading{position:static}
 .store-brands h2{font-size:28px;line-height:1.04;white-space:normal;margin-top:7px}
 .store-brands__intro{position:static;margin-top:15px;font-size:14px;line-height:1.5}
 .store-brands__grid{position:static;height:auto;margin-top:21px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:76px;gap:10px}
 .store-brand{border-radius:5px}
 .store-brand img{max-width:84%;max-height:78%}
 .store-brand--super img{max-width:none;max-height:none;width:120%}
 .store-visit{height:auto;padding:0 24px 30px}
 .store-visit__art{position:relative;margin:0 -24px;width:calc(100% + 48px);height:auto;aspect-ratio:416/184;mask:none}
 .store-visit__art::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#030705,transparent 33%)}
 .store-visit__heading{position:relative;inset:auto;margin-top:24px}
 .store-visit h2{font-size:29px;line-height:1.02;margin-top:9px}
 .store-visit h2 br{display:none}
 .store-visit__details{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:25px 20px;margin-top:27px}
 .store-visit__detail,.store-visit__address,.store-visit__hours,.store-visit__contact{width:auto;border:0;padding:0;gap:12px;font-size:14px;line-height:1.5}
 .store-visit__detail>svg{width:28px;height:31px}
 .store-visit h3{font-size:14px;margin-bottom:7px}
 .store-visit__contact{grid-column:1/-1}
 .store-visit__phone{font-size:21px;line-height:1.3}
 .store-visit__map{position:relative;inset:auto;width:228px;height:54px;margin-top:28px;padding:0 17px;font-size:13px;border-radius:10px}
 .store-visit__map-pin{width:28px;height:31px}
 .store-visit__map .store-visit__map-arrow{width:15px;height:18px}
}
@media(max-width:600px){
 .store-gallery h1{font-size:29px}
 .store-gallery__photos{aspect-ratio:auto;grid-template-columns:1fr;grid-template-rows:none}
 .store-photo--main,.store-photo--front,.store-gallery__small{grid-column:1;grid-row:auto}
 .store-photo--main{aspect-ratio:545/342}
 .store-photo--front{aspect-ratio:331/192}
 .store-gallery__small{grid-template-columns:166fr 155fr}
 .store-gallery__small .store-photo{aspect-ratio:166/140}
 .store-gallery__small .store-photo--comfort{aspect-ratio:155/140}
 .store-brands__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:70px}
 .store-visit__details{grid-template-columns:1fr;gap:23px}
 .store-visit__contact{grid-column:auto}
 .store-visit__map{width:100%;max-width:290px}
}
@media(max-width:370px){.store-gallery,.store-brands{padding-inline:20px}.store-gallery__heading{padding-right:55px}.store-gallery h1{font-size:27px}.store-gallery__arrows{right:18px;gap:5px}.store-gallery__arrows button{width:27px;height:27px}.store-brands h2,.store-visit h2{font-size:27px}.store-photo__badge,.store-gallery__small .store-photo__badge{font-size:10px;gap:5px;padding-inline:5px}.store-gallery__small .store-photo__badge svg{width:17px}}

.store-gallery[data-active]:not([data-active="0"]) .store-photo__badge{min-width:0;max-width:calc(100% - 12 * var(--sp));height:auto;min-height:calc(28 * var(--sp));padding-block:calc(5 * var(--sp));white-space:normal}
.store-page:not(.store-has-js) .store-gallery__arrows{display:none}
@media(max-width:800px){.store-page:not(.store-has-js) .store-visit__art{display:none}}
