/* Section partenaires : géométrie, reliefs et éclairages construits en CSS / SVG. */
#partenaires.brands-showcase{--brands-lime:var(--acc-brand-primary,#A5E51B);position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(12px,1.2vw,22px);background:#050b08;color:#fff}
/* La largeur pilote les unités cqw : la composition occupe 76 % de la largeur,
   sans transformer une surface déjà rendue ni flouter les textes et les logos. */
.brands-showcase__scene{position:relative;isolation:isolate;container-type:inline-size;width:76%;max-width:1459.2px;margin-inline:auto;padding-bottom:2.9cqw}
.brands-showcase__showroom{position:absolute;z-index:-3;inset:-5.2cqw 0 32%;inset-inline:calc((100% - 100vw)/2);background:url('./assets/partners-showroom-v1.webp') center top/100% auto no-repeat;mask-image:linear-gradient(#000 66%,transparent 100%);pointer-events:none}
.brands-showcase__honeycomb{position:absolute;z-index:-2;inset:0;inset-inline:calc((100% - 100vw)/2);background:url('./assets/home-honeycomb.svg') center top/68px 59px repeat;opacity:.6;mask-image:linear-gradient(#000 1%,transparent 36%,transparent 47%,#000 71%);pointer-events:none}
.brands-showcase__roof{position:absolute;z-index:-1;inset:0 0 auto;width:100%;height:auto;pointer-events:none}
.brands-showcase__heading{padding:2.5cqw 3% 0;text-align:center}
#partenaires #acc-partners-title{display:flex;align-items:center;justify-content:center;gap:.18em;margin:0;color:#eee;font:italic 800 4.3cqw/1 Barlow,sans-serif!important;letter-spacing:-.025em;text-transform:uppercase;text-shadow:0 3px 2px #000}
#acc-partners-title span{color:#f7f7f5;background:linear-gradient(#fff 28%,#f2f3f0 48%,#a7a9a6 83%,#e3e6e0);background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 2px 1px #000)}
#partenaires #acc-partners-title em{font:inherit;color:var(--brands-lime);background:none}
#acc-partners-title::before,#acc-partners-title::after{content:"";flex:0 0 10.2cqw;height:2px;margin-inline:1.1cqw;background:linear-gradient(90deg,transparent,#A5E51B 35%,#e7ff9c 60%,#A5E51B 80%,transparent);box-shadow:0 0 12px #A5E51B66;transform:translateY(.08em)}
#partenaires .brands-showcase__heading p{margin:.8cqw 0 0;color:#f6f6f4;font:italic 400 max(13px,1.42cqw)/1.35 Inter,Arial,sans-serif;letter-spacing:0;text-shadow:0 2px 3px #000}
.brands-carousel{position:relative;width:100%;margin-top:.55cqw}
.brands-carousel__stage{position:relative;width:82%;height:13.5cqw;margin:auto;outline:none;touch-action:pan-y}
.brands-carousel__stage:focus-visible{outline:2px solid var(--brands-lime);outline-offset:8px;border-radius:18px}
.brands-carousel__platform{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.brands-carousel__cards{position:absolute;inset:0;display:flex;gap:1.2%;overflow:auto;margin:0;padding:3% 5% 5%;list-style:none;scrollbar-width:none}
.brands-carousel__cards::-webkit-scrollbar{display:none}
.brands-carousel__card{position:relative;flex:0 0 15.3%;display:flex;align-items:center;justify-content:center;min-width:0;height:80%;padding:1%;border:1px solid transparent;border-radius:1.1cqw;background:linear-gradient(155deg,#ffffff17,transparent 44%),linear-gradient(110deg,#101513,#060a08 67%,#1a2608) padding-box,linear-gradient(150deg,#d5dcd37a 3%,#A5E51BB3 30%,#719C12 47%,#101911 62%,#A5E51B 97%) border-box;box-shadow:inset 0 1px 2px #fff3,inset 0 -2px 4px #A5E51B14,0 8px 10px #0009;overflow:hidden}
.brands-carousel__card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 107%,#A5E51B26,transparent 57%),linear-gradient(168deg,#fff1,transparent 31%)}
.brands-carousel__card>img,.brands-carousel__logo{display:block;position:relative;z-index:1;width:91%;height:76%;object-fit:contain;filter:grayscale(1) contrast(4) invert(1);mix-blend-mode:screen}
.brands-carousel__logo{overflow:hidden}
/* Les fichiers colorés conservent leurs teintes et leur contraste d'origine. */
.brands-carousel__card--color>img,.brands-carousel__card--color .brands-carousel__logo{padding:.35cqw;border-radius:.35cqw;background:#fff;filter:none;mix-blend-mode:normal;box-shadow:0 1px 3px #0004}
.brands-carousel__card[data-brand="Thule"] .brands-carousel__logo{filter:grayscale(1) contrast(4);width:82%}
.brands-carousel__card--workshop{flex-direction:column;padding-bottom:8%}
.brands-carousel__card--workshop .brands-carousel__logo{position:absolute;top:3%;left:8%;height:76%;width:84%;margin:0}
.brands-carousel__card--workshop span{position:absolute;bottom:7%;left:2%;right:2%;text-align:center;color:#A5E51B;font:600 max(9px,.72cqw)/1.1 Inter,Arial,sans-serif;letter-spacing:.025em}
/* Découpe réservée aux logos : les cartes entrantes/sortantes sont masquées aux bords intérieurs du plateau, sans couper le néon ni les flèches. */
/* Fenêtre de rendu réelle, indépendante du plateau néon et de ses flèches.
   Le contour suit le plateau SVG (viewBox 1400 x 230), dont les bords courbes
   partent de x=20 / x=1380. Les cartes restent positionnées dans le même repère. */
.brands-carousel__viewport{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none;
  clip-path:polygon(1.45% 31%,1.7% 23%,2.7% 17%,5% 12%,10% 7%,20% 3.5%,35% 1.7%,50% 1.3%,65% 1.7%,80% 3.5%,90% 7%,95% 12%,97.3% 17%,98.3% 23%,98.55% 31%,98.55% 74%,98.2% 80%,96% 84%,90% 86%,70% 87.5%,50% 88%,30% 87.5%,10% 86%,4% 84%,1.8% 80%,1.45% 74%)}
.brands-carousel.is-ready .brands-carousel__cards{display:block;overflow:visible;padding:0;pointer-events:none}
.brands-carousel.is-ready .brands-carousel__card{position:absolute;left:var(--card-x);top:var(--card-y);width:15.7%;height:46%;padding:1%;opacity:var(--card-opacity);transform:translateX(-50%) perspective(600px) rotateY(var(--card-turn)) rotateZ(var(--card-tilt)) scale(var(--card-scale));transition:none;will-change:transform}
.brands-carousel.is-ready .brands-carousel__card--workshop{padding-bottom:1.2%}
.brands-carousel__arrow{display:none;position:absolute;z-index:3;top:50%;align-items:center;justify-content:center;width:3.15cqw;height:3.15cqw;min-width:30px;min-height:30px;padding:.62cqw;color:#A5E51B;border:2px solid #A5E51B;border-radius:50%;background:radial-gradient(circle at 60% 35%,#24320b,#020602 73%);box-shadow:0 0 12px #A5E51B70,inset 0 0 8px #A5E51B44;cursor:pointer;transform:translate(-50%,-50%)}
.brands-carousel.is-ready .brands-carousel__arrow{display:flex}
.brands-carousel__arrow--prev{left:1.2%}
.brands-carousel__arrow--next{left:98.8%}
.brands-carousel__arrow svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.brands-carousel__arrow:hover{color:#f5ffc9;background:#182206;box-shadow:0 0 19px #A5E51B90}
.brands-carousel__arrow:focus-visible{outline:2px solid #fff;outline-offset:5px}
.brands-new{position:relative;isolation:isolate;width:93%;height:15cqw;margin:4cqw auto 0;padding:1cqw 0 0;overflow:hidden;border:1.5px solid #A5E51BBB;border-radius:3.3cqw;background:radial-gradient(ellipse at 50% 103%,#A5E51B1C,transparent 60%),#040a07;box-shadow:inset 0 1px 0 #A5E51B50,inset 0 -1px 0 #A5E51B80,0 -4px 22px -16px #A5E51B,0 4px 22px -17px #A5E51B}
.brands-new::before{content:"";position:absolute;z-index:-2;inset:0;background:url('./assets/home-honeycomb.svg') center/68px 59px repeat;opacity:.5;mask-image:linear-gradient(90deg,#000,transparent 44%,transparent 56%,#000)}
.brands-new::after{content:"";position:absolute;inset:0 11% auto;height:2px;background:linear-gradient(90deg,transparent,#A5E51B 30%,#f7ffc9 50%,#A5E51B 70%,transparent);box-shadow:0 0 12px #A5E51B;pointer-events:none}
#partenaires .brands-new h3{position:relative;display:flex;align-items:center;justify-content:center;gap:2.5cqw;margin:0;color:#f4f5f1;font:italic 800 2.5cqw/1.12 Barlow,sans-serif;letter-spacing:-.01em;text-shadow:0 3px 2px #000}
.brands-new h3::before,.brands-new h3::after{content:"";height:2px;width:10.5cqw;background:linear-gradient(90deg,transparent,#A5E51B);box-shadow:0 0 7px #A5E51B35}
.brands-new h3::after{transform:rotate(180deg)}
.brands-new__photo{position:absolute;z-index:-1;top:0;bottom:0;width:27%;pointer-events:none}
.brands-new__photo--left{left:0;clip-path:polygon(0 12%,100% 40%,100% 64%,0 91%);mask-image:linear-gradient(90deg,#000 46%,transparent)}
.brands-new__photo--right{right:0;clip-path:polygon(100% 12%,0 40%,0 64%,100% 91%);mask-image:linear-gradient(270deg,#000 46%,transparent)}
.brands-new__photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.78)}
.brands-new__photo--left img{object-position:27% center}
.brands-new__photo--right img{object-position:64% center}
.brands-new__edges{position:absolute;z-index:0;inset:0;width:100%;height:100%;opacity:.9;pointer-events:none}
.brands-new__logos{position:relative;display:flex;justify-content:center;gap:11.5cqw;margin-top:1cqw}
.brands-new__logos::after{content:"";position:absolute;left:50%;top:0;height:6.1cqw;width:1px;background:linear-gradient(transparent,#A5E51B 30%,#A5E51B 80%,transparent);box-shadow:0 0 5px #A5E51B44}
.brands-new__plaque{position:relative;display:flex;align-items:center;justify-content:center;width:20.5cqw;height:6.15cqw;border:1px solid #d9ed98;border-bottom-color:#A5E51B;border-radius:1.55cqw;transform:skewX(-14deg);background:linear-gradient(178deg,#fff 10%,#f9f9f8 37%,#dedfdc 85%,#bcc1b6);box-shadow:0 2px 1px #A5E51B77,0 5px 15px -7px #A5E51B66,inset 0 1px 1px #fff}
.brands-new__plaque img{display:block;width:78%;height:67%;object-fit:contain;transform:skewX(14deg)}
.brands-new__plaque--lmc img{width:73%;height:68%;transform:skewX(2deg)}
.brands-new__plaque--etrusco img{width:86%;height:59%;filter:brightness(.1)}
#partenaires .brands-new__group{position:relative;width:max-content;margin:.8cqw auto 0;padding:.2cqw 1.7cqw .28cqw;border:2px solid var(--brands-lime);border-radius:999px;background:#020703;color:#f5f5f1;font:italic 400 1.5cqw/1 Inter,Arial,sans-serif;box-shadow:0 0 5px #A5E51B44;white-space:nowrap}
.brands-new__group strong{font:italic 800 1.16em/1 Barlow,sans-serif}
.brands-showcase__sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1921px){.brands-showcase__scene{padding-bottom:56px}}
@media(max-width:700px){
 #partenaires.brands-showcase{padding-block:0}
 .brands-showcase__scene{width:100%;padding:33px 0 32px}
 .brands-showcase__heading{padding:0 16px}
 #partenaires #acc-partners-title{font-size:clamp(28px,7.2cqw,47px)!important;gap:.18em}
 #acc-partners-title::before,#acc-partners-title::after{flex-basis:6cqw;margin-inline:0;height:1px}
 #partenaires .brands-showcase__heading p{max-width:530px;margin:12px auto 0;font-size:clamp(13px,3.15cqw,17px);line-height:1.5}
 .brands-showcase__heading br{display:none}
 .brands-showcase__showroom{top:45px;bottom:32%;inset-inline:0;background-size:auto 350px}
 .brands-showcase__honeycomb{inset-inline:0}
 .brands-showcase__roof{top:41px;height:300px;object-fit:cover;opacity:.8}
 .brands-carousel{margin-top:19px}
 .brands-carousel__stage{width:91%;height:27cqw;min-height:110px}
 .brands-carousel__cards{padding:6% 7% 12%;gap:3%}
 .brands-carousel__card{flex-basis:29%;border-radius:10px}
 .brands-carousel.is-ready .brands-carousel__card{width:28%;height:44%;border-radius:10px;padding:2%}
 .brands-carousel__card--workshop span{font-size:clamp(8px,1.9cqw,12px)}
 .brands-carousel__arrow{width:34px;height:34px;padding:7px;top:44%;border-width:1.5px}
 .brands-carousel__arrow--prev{left:1.3%}
 .brands-carousel__arrow--next{left:98.7%}
 .brands-new{width:93%;height:47cqw;min-height:190px;margin-top:29px;padding-top:17px;border-radius:25px}
 #partenaires .brands-new h3{font-size:clamp(20px,5.2cqw,33px);gap:3cqw}
 .brands-new h3::before,.brands-new h3::after{width:8cqw;height:1px}
 .brands-new__logos{gap:7cqw;margin-top:20px}
 .brands-new__plaque{width:33cqw;height:11cqw;min-height:45px;border-radius:12px}
 .brands-new__logos::after{height:11cqw}
 #partenaires .brands-new__group{font-size:clamp(13px,3.4cqw,20px);margin:17px auto 0;padding:4px 15px;border-width:1.5px}
 .brands-new__photo{width:36%;opacity:.7}
 .brands-new__photo--left{clip-path:polygon(0 18%,100% 42%,100% 72%,0 96%)}
 .brands-new__photo--right{clip-path:polygon(100% 18%,0 42%,0 72%,100% 96%)}
 .brands-new__edges{opacity:.45}
}
@media(prefers-reduced-motion:reduce){.brands-carousel.is-ready .brands-carousel__card{transition:none;will-change:auto}}
