/* Advanced 3D Carousel */
.p3dpro { position: relative; width: 100%; height: 90vh; overflow: hidden; }
.p3dpro-stage { position: relative; width:100%; height:100%; transform-style: preserve-3d; }
.p3dpro-ring { position:absolute; top:50%; left:50%; transform: translate(-50%, -50%); transform-style: preserve-3d; }

.p3dpro-item {
  position: absolute; top:50%; left:50%;
  translate: -50% -50%;
  width: 420px; height: 560px;
  border-radius: 18px; overflow: hidden;
  box-shadow: 0 20px 45px rgba(0,0,0,.35);
  background: #111;
  will-change: transform;
}
.p3dpro-link { display:block; width:100%; height:100%; color: inherit; text-decoration: none; }
.p3dpro-media { position:absolute; inset:0; background-size: cover; background-position: center; }
.p3dpro-caption {
  position:absolute; left:0; right:0; bottom:0;
  padding: 18px 20px;
  background: linear-gradient(transparent, rgba(0,0,0,.55) 45%, rgba(0,0,0,.8));
  color:#fff;
}
.p3dpro-title { font-weight: 800; font-size: 1.25rem; line-height: 1.2; letter-spacing: .2px; }
.p3dpro-subtitle { opacity: .92; margin-top: .25rem; }

@media (max-width: 767px){
  .p3dpro { height: 75vh; }
}
