/* Divi Any Carousel v2.0.1 — anti-clipping + depth */

.carousel-any,
.carousel-any .et_pb_row,
.carousel-any .et_pb_column { overflow: visible !important; }

.dpc-carousel { position: relative; overflow: visible; }

.dpc-track {
  display: flex; flex-wrap: nowrap; gap: 1.2rem;
  overflow-x: auto; overflow-y: visible;
  scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding: 3.25rem 0 3rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.dpc-track::-webkit-scrollbar { display: none; }
.dpc-spacer { flex: 0 0 auto; width: 0; padding: 0; margin: 0; }

.dpc-slide { flex: 0 0 auto; scroll-snap-align: center; position: relative; transform-style: preserve-3d; }

.dpc-visual{
  border-radius: 16px; background: #fff; overflow: visible;
  box-shadow: 0 12px 30px rgba(0,0,0,.10);
  border: 1px solid rgba(0,0,0,.06);
  transform-origin: center bottom;
  transition: transform .35s ease, box-shadow .35s ease, opacity .28s ease, filter .28s ease;
  will-change: transform;
  transform-style: preserve-3d;
}
.dpc-visual .dpc-card{ padding: 18px 18px 20px; }

.carousel-any{
  --dpc-center: 1.22;
  --dpc-side: 0.88;
  --dpc-far: 0.82;
  --dpc-tilt: 14deg;
  --dpc-depth: -120px;
}

.dpc-coverflow{ perspective: 1400px; }
.dpc-coverflow .dpc-visual{ opacity:.92; transform: translateZ(-60px) scale(.96) !important; }
.dpc-coverflow .dpc-slide.is-center .dpc-visual{
  transform: translateZ(0) scale(var(--dpc-center)) translateY(-4px) !important;
  z-index: 5; opacity: 1; box-shadow: 0 24px 54px rgba(0,0,0,.20);
}
.dpc-coverflow .dpc-slide.is-left  .dpc-visual{
  transform: rotateY(var(--dpc-tilt)) translateZ(var(--dpc-depth)) scale(var(--dpc-side)) !important; z-index: 3;
}
.dpc-coverflow .dpc-slide.is-right .dpc-visual{
  transform: rotateY(calc(var(--dpc-tilt) * -1)) translateZ(var(--dpc-depth)) scale(var(--dpc-side)) !important; z-index: 3;
}
.dpc-coverflow .dpc-slide.is-far   .dpc-visual{
  transform: translateZ(calc(var(--dpc-depth) * 1.6)) scale(var(--dpc-far)) !important; opacity:.70; z-index: 2;
}

.dpc-nav{ position:absolute; inset:0; pointer-events:none; z-index:30; }
.dpc-arrow{ position:absolute; top:50%; transform:translateY(-50%); pointer-events:auto; appearance:none; border:none; border-radius:999px; padding:.7rem 1.1rem; font-size:1.25rem; line-height:1; cursor:pointer; background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.15); border:1px solid rgba(0,0,0,.06); transition:transform .2s ease, background .2s ease, box-shadow .2s ease; }
.dpc-arrow:hover{ transform:translateY(-50%) scale(1.05); background:#fafafa; }
.dpc-arrow:active{ transform:translateY(-50%) scale(1); }
.dpc-arrow:focus-visible{ outline:2px solid var(--dpc-brand,#941914); outline-offset:2px; }
.dpc-arrow.prev{ left:-8px; } .dpc-arrow.next{ right:-8px; }

.dpc-dots{ display:flex; gap:.5rem; justify-content:center; margin-top:.6rem; }
.dpc-dot{ width:10px; height:10px; border-radius:999px; border:2px solid rgba(0,0,0,.25); background:#fff; cursor:pointer; transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.dpc-dot[aria-selected="true"]{ border-color: var(--dpc-brand,#941914); background: var(--dpc-brand,#941914); box-shadow: 0 0 0 4px rgba(0,0,0,.06), 0 2px 6px rgba(0,0,0,.12); transform: scale(1.1); }
