
/* Carousel chantier (ULTRA) */
.poly-carousel{
  border: 1px solid var(--poly-border);
  border-radius: 18px;
  overflow:hidden;
  background:#fff;
}
.poly-carousel__viewport{
  position: relative;
  width:100%;
  height:520px;
  background:#000;
}
@media (max-width: 782px){
  .poly-carousel__viewport{ height: 340px; }
}
.poly-carousel__track{
  display:flex;
  height:100%;
  width:100%;
  transform: translateX(0);
  transition: transform .35s ease;
}
.poly-carousel__slide{ min-width:100%; height:100%; }
.poly-carousel__img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.poly-carousel__nav{
  position:absolute;
  inset: 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  pointer-events:none;
  padding: 0 12px;
}
.poly-carousel__btn{
  pointer-events:auto;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(0,37,61,.55);
  color:#fff;
  border-radius: 999px;
  width: 44px;
  height: 44px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-weight:900;
  backdrop-filter: blur(6px);
}
.poly-carousel__btn:hover{
  background: rgba(210,35,43,.85);
  border-color: rgba(210,35,43,.2);
}
.poly-carousel__dots{
  display:flex;
  gap:8px;
  justify-content:center;
  align-items:center;
  padding: 12px 14px 14px 14px;
  background: #fff;
}
.poly-dot{
  width:10px;height:10px;
  border-radius:999px;
  background: rgba(0,37,61,.18);
  border: none;
  cursor:pointer;
}
.poly-dot.is-active{ background: var(--poly-red); }
