.carousel-3d-container{width:100%;max-width:1400px;position:relative;perspective:2000px;height:600px;overflow:hidden;margin:0 auto}
.carousel-3d{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.carousel-3d-item{position:absolute;width:342px;height:421px;left:50%;top:50%;transform-style:preserve-3d;transition:all .6s cubic-bezier(.4,0,.2,1);cursor:pointer;will-change:transform,opacity;animation:fadeIn .6s ease-out}
@keyframes fadeIn{from{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes slideIn{from{transform:translateX(100px);opacity:0}to{transform:translateX(0);opacity:1}}
.carousel-3d-card{width:100%;height:100%;background:#F9FAFB;border-radius:20px;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease;box-shadow:0 4px 20px rgba(0,0,0,.08);border:1px solid #F3F4F6}
.carousel-3d-item:hover .carousel-3d-card{transform:translateY(-10px)}
.carousel-3d-card-image{width:100%;height:162px;object-fit:cover;transition:transform .5s ease;order:1}
.carousel-3d-item:hover .carousel-3d-card-image{transform:scale(1.05)}
.carousel-3d-card-content{padding:25px;flex:1;display:flex;flex-direction:column;background:#F9FAFB;order:2}
.carousel-3d-card-title{font-size:24px;font-weight:bold;color:#333;margin-bottom:15px;text-align:center;animation:slideIn .6s ease-out .1s backwards;order:2}
.carousel-3d-card-text{font-size:16px;color:#666;line-height:1.6;margin-bottom:20px;flex:1;text-align:center;animation:slideIn .6s ease-out .2s backwards;order:3}
.carousel-3d-card-button{background:#E5E7EB;color:#1F2937;border:none;padding:8px 24px;border-radius:20px;font-size:14px;font-weight:bold;cursor:pointer;transition:all .3s ease;align-self:center;margin:10px 0 15px;animation:slideIn .6s ease-out .3s backwards;position:relative;overflow:hidden;text-decoration:none;display:inline-block;z-index:10;pointer-events:auto;order:4}
.carousel-3d-card-button::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(156,163,175,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}
.carousel-3d-card-button:active::before{width:300px;height:300px}
.carousel-3d-card-button:hover{transform:scale(1.05);box-shadow:0 5px 15px rgba(156,163,175,.5);background:#9CA3AF;color:#fff}
.carousel-3d-nav-button{position:absolute;top:50%;transform:translateY(-50%);background:rgba(229,231,235,.9);border:none;width:50px;height:50px;border-radius:50%;font-size:24px;cursor:pointer;z-index:1000;transition:all .3s ease;display:none;align-items:center;justify-content:center;color:#1F2937}
.carousel-3d-container.arrows-show .carousel-3d-nav-button{display:flex}
.carousel-3d-nav-button:hover{background:rgba(156,163,175,.95);transform:translateY(-50%) scale(1.1);color:#fff}
.carousel-3d-prev{right:-171px}
.carousel-3d-next{left:-171px}
.carousel-3d-counter{position:absolute;top:-60px;left:50%;transform:translateX(-50%);font-size:16px;font-weight:bold;color:#6B7280;background:#F9FAFB;padding:8px 20px;border-radius:20px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.carousel-3d-counter .current{color:#374151;font-size:18px}
.carousel-3d-dots-container{position:absolute;bottom:-50px;left:50%;transform:translateX(-50%);display:flex;gap:10px}
.carousel-3d-dot{width:12px;height:12px;border-radius:50%;background:#D1D5DB;cursor:pointer;transition:all .3s ease;border:2px solid #D1D5DB}
.carousel-3d-dot.active{background:#6B7280;border-color:#6B7280;transform:scale(1.2)}
@media(max-width:768px){.carousel-3d-container{height:550px}.carousel-3d-item{width:252px;height:365px}.carousel-3d-card-image{height:130px}.carousel-3d-prev{right:-126px}.carousel-3d-next{left:-126px}}
