/* Page builder : styles des composants (carrousels, galeries, compteurs, cartes…)
   Partagé par le builder (opensadmin/pagebuilder) et le site. */
/* Page Builder : composants */
.pb-masonry{column-count:var(--pb-cols,3);column-gap:var(--pb-gap,1rem)}
.pb-masonry>*{break-inside:avoid;margin-bottom:var(--pb-gap,1rem);display:block}
@media (max-width:991.98px){.pb-masonry{column-count:min(var(--pb-cols,3),2)}}
.pb-out{display:none!important}
[data-pb-cat]{animation:pb-pop .45s ease both}
@keyframes pb-pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.pb-zoom{overflow:hidden}.pb-zoom img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.pb-zoom:hover img{transform:scale(1.07)}
.pb-lift{transition:transform .3s ease,box-shadow .3s ease}.pb-lift:hover{transform:translateY(-6px);box-shadow:0 1.25rem 2.5rem rgba(16,24,40,.14)!important}
.pb-glass{background:rgba(255,255,255,.12)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.28)!important}
.pb-gradient-text{background:linear-gradient(90deg,var(--pb-g1,#5b4cf0),var(--pb-g2,#ff6b8b));-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
.pb-anim-gradient{background-image:linear-gradient(120deg,var(--pb-g1,#5b4cf0),var(--pb-g2,#ff6b8b),#ffb547,var(--pb-g1,#5b4cf0));background-size:300% 300%;animation:pb-grad 16s ease infinite}
@keyframes pb-grad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.pb-float{animation:pb-float 6s ease-in-out infinite}@keyframes pb-float{50%{transform:translateY(-12px)}}
.pb-video-bg{position:relative;overflow:hidden;isolation:isolate}
.pb-video-bg>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.pb-video-bg>.pb-video-overlay{position:absolute;inset:0;z-index:-1}
.pb-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.pb-marquee-track{display:flex;align-items:center;width:max-content;animation:pb-marquee var(--pb-speed,32s) linear infinite}
.pb-marquee-track>*{margin-right:4rem;flex:none}
.pb-marquee:hover .pb-marquee-track{animation-play-state:paused}
@keyframes pb-marquee{to{transform:translateX(-50%)}}
.carousel-item{overflow:hidden}
.carousel-item.active .pb-kb{animation:pb-kb 9s ease-out both}
@keyframes pb-kb{from{transform:scale(1.14)}to{transform:scale(1)}}
.pb-timeline{position:relative;padding-left:2.25rem}
.pb-timeline::before{content:"";position:absolute;left:.5rem;top:.4rem;bottom:.4rem;width:2px;background:linear-gradient(var(--pb-g1,#5b4cf0),var(--pb-g2,#ff6b8b))}
.pb-timeline>*{position:relative}
.pb-timeline>*::before{content:"";position:absolute;left:-2.15rem;top:.3rem;width:1rem;height:1rem;border-radius:50%;background:#fff;border:3px solid var(--pb-g1,#5b4cf0)}
.pb-lightslider{list-style:none;padding:0;margin:0}
.pb-lightslider img{display:block;width:100%;height:auto}
.pb-lightslider:not(.lightSlider){display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory}
.pb-lightslider:not(.lightSlider)>li{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start}
.pb-lightslider[data-ls-items="2"]:not(.lightSlider)>li{flex-basis:calc((100% - 16px)/2)}
.pb-lightslider[data-ls-items="4"]:not(.lightSlider)>li{flex-basis:calc((100% - 48px)/4)}
.pb-lightslider[data-ls-items="1"]:not(.lightSlider)>li,.pb-lightslider[data-ls-gallery="true"]:not(.lightSlider)>li,.pb-lightslider[data-ls-mode="fade"]:not(.lightSlider)>li{flex-basis:100%}
@media (max-width:575.98px){.pb-lightslider:not(.lightSlider)>li{flex-basis:86%!important}}
.lSSlideOuter .lSPager.lSpg>li a{background:rgba(16,24,40,.2);width:10px;height:10px;transition:all .3s}
.lSSlideOuter .lSPager.lSpg>li.active a,.lSSlideOuter .lSPager.lSpg>li:hover a{background:var(--bs-primary,#0d6efd);width:26px}
.lSAction>a{background:rgba(255,255,255,.94);width:44px;height:44px;margin-top:-22px;border-radius:50%;opacity:1;box-shadow:0 6px 20px rgba(16,24,40,.18);display:grid;place-items:center;transition:transform .2s}
.lSAction>a:hover{opacity:1;transform:scale(1.08)}
.lSAction>a::before{content:"";width:10px;height:10px;border-top:2.5px solid #111;border-right:2.5px solid #111}
.lSAction>.lSPrev{left:12px}.lSAction>.lSPrev::before{transform:translateX(2px) rotate(-135deg)}
.lSAction>.lSNext{right:12px}.lSAction>.lSNext::before{transform:translateX(-2px) rotate(45deg)}
.lSSlideOuter .lSPager.lSGallery li{border-radius:var(--bs-border-radius);opacity:.5;transition:opacity .2s}
.lSSlideOuter .lSPager.lSGallery li.active,.lSSlideOuter .lSPager.lSGallery li:hover{border-radius:var(--bs-border-radius);opacity:1}
.lSSlideOuter .lSPager.lSGallery img{display:block;width:100%;height:auto}
[data-pb-lightbox] img{cursor:zoom-in}
.pb-lb{position:fixed;inset:0;z-index:2000;background:rgba(10,12,20,.92);display:none;align-items:center;justify-content:center;padding:4vh 4vw}
.pb-lb.open{display:flex;animation:pb-fade .25s ease}
@keyframes pb-fade{from{opacity:0}}
.pb-lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.pb-lb img{max-width:92vw;max-height:80vh;border-radius:var(--bs-border-radius);box-shadow:0 1.5rem 4rem rgba(0,0,0,.5);animation:pb-pop .3s ease}
.pb-lb figcaption{color:rgba(255,255,255,.8);font-size:.95rem;text-align:center}
.pb-lb button{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;width:48px;height:48px;border-radius:50%;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer}
.pb-lb button:hover{background:rgba(255,255,255,.28)}
.pb-lb-x{top:16px;right:16px}.pb-lb-p{left:16px;top:50%;transform:translateY(-50%)}.pb-lb-n{right:16px;top:50%;transform:translateY(-50%)}
.pb-lb-single .pb-lb-p,.pb-lb-single .pb-lb-n{display:none}
body.pb-lb-open{overflow:hidden}
.pb-compare{position:relative;--pos:50%;user-select:none;-webkit-user-select:none}
.pb-compare>img{display:block;width:100%;height:auto}
.pb-compare-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.pb-compare-before img{width:100%;height:100%;object-fit:cover;display:block}
.pb-compare-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:3;-webkit-appearance:none;appearance:none}
.pb-compare-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;z-index:2;box-shadow:0 0 12px rgba(0,0,0,.35)}
.pb-compare-handle::after{content:"\2039\00a0\203a";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font:700 20px/1 system-ui,sans-serif;box-shadow:0 6px 20px rgba(0,0,0,.3)}
.pb-compare-label{position:absolute;top:1rem;z-index:2;pointer-events:none}
.pb-flip{perspective:1200px;min-height:300px;outline:none}
.pb-flip-inner{position:relative;min-height:inherit;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d;border-radius:inherit}
.pb-flip:hover .pb-flip-inner,.pb-flip:focus-within .pb-flip-inner{transform:rotateY(180deg)}
.pb-flip-front,.pb-flip-back{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:inherit;overflow:hidden}
.pb-flip-back{transform:rotateY(180deg)}
[data-pb-bar]{transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
.pb-cd-num{font-variant-numeric:tabular-nums}
.pb-overlap-card{position:relative;margin:-80px 16px 0}
@media (min-width:992px){.pb-overlap-card{position:absolute;right:3rem;bottom:3rem;margin:0;max-width:440px}}
.pb-map{position:relative;z-index:0;min-height:200px;background:#e8eef3}
.pb-pin{background:none;border:0}
.pb-pin span{display:block;position:relative;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin:2px 0 0;box-shadow:0 4px 10px rgba(0,0,0,.3);border:3px solid #fff}
.pb-pin span::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;top:7px;left:7px}
.leaflet-popup-content-wrapper{border-radius:var(--bs-border-radius-lg)}
.pb-leader{flex:1;border-bottom:2px dotted rgba(0,0,0,.25);transform:translateY(-.3em)}
@media (prefers-reduced-motion:reduce){.pb-anim-gradient,.pb-float,.pb-marquee-track,.carousel-item.active .pb-kb,[data-pb-cat]{animation:none}.pb-flip-inner{transition:none}}
