/**
 * 3D Card Effect (Aceternity UI Equivalent)
 * Implements 3D perspective tilt and multi-layer parallax depth (translateZ).
 */

/* Container with 3D perspective */
.card-3d-container,
[data-3d-container],
.col-md-4:has(> [data-3d-card]),
.col-lg-4:has(> [data-3d-card]),
.dd-benefits-grid,
.uae-residents-grid {
    perspective: 1100px;
    perspective-origin: center center;
}

/* Fallback perspective on parent if :has is unsupported */
.dd-benefits-grid,
.uae-residents-grid,
.row.equal {
    perspective: 1100px;
}

/* Card Surface (CardBody) */
[data-3d-card],
.card-3d-body {
    position: relative;
    transform-style: preserve-3d !important;
    transform: perspective(1100px) rotateX(0deg) rotateY(0deg) translateZ(0px);
    transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.45s cubic-bezier(0.23, 1, 0.32, 1), border-color 0.3s ease;
    will-change: transform;
    overflow: visible !important; /* Required for preserve-3d child elements */
}

/* Ensure single-promo override doesn't clip 3D */
.single-promo[data-3d-card] {
    overflow: visible !important;
}

/* Floating Child Items (CardItem) */
[data-3d-card] [data-translate-z],
[data-3d-card] .card-3d-item {
    transform-style: preserve-3d;
    transform: translateZ(0px);
    transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1);
    will-change: transform;
    backface-visibility: hidden;
}

/* Active Hover State on Card */
[data-3d-card].is-3d-hovered {
    transition: transform 0.1s ease-out, box-shadow 0.3s ease, border-color 0.3s ease;
    z-index: 10;
}

/* Fast-response transition for items while card is hovered */
[data-3d-card].is-3d-hovered [data-translate-z],
[data-3d-card].is-3d-hovered .card-3d-item {
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Enhanced 3D elevation shadows on hover */
.single-promo.modern-card[data-3d-card].is-3d-hovered {
    box-shadow: 0 25px 50px -12px rgba(8, 58, 96, 0.18), 0 12px 24px -8px rgba(53, 180, 152, 0.18) !important;
    border-color: #35b498 !important;
}

.dd-benefit-card[data-3d-card].is-3d-hovered {
    box-shadow: 0 25px 50px -10px rgba(53, 180, 152, 0.35), 0 10px 20px -5px rgba(8, 58, 96, 0.15) !important;
}

.uae-card[data-3d-card].is-3d-hovered {
    box-shadow: 0 25px 50px -12px rgba(8, 58, 96, 0.15), 0 10px 25px -6px rgba(53, 180, 152, 0.14) !important;
    border-color: #35b498 !important;
}

/* Ambient 3D Glare effect overlay */
.card-3d-glare {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(
        circle 220px at var(--glare-x, 50%) var(--glare-y, 50%),
        rgba(255, 255, 255, 0.45) 0%,
        rgba(255, 255, 255, 0) 80%
    );
    opacity: 0;
    transform: translateZ(1px);
    transition: opacity 0.35s ease;
    mix-blend-mode: overlay;
    z-index: 5;
}

[data-3d-card].is-3d-hovered .card-3d-glare {
    opacity: 1;
}

/* Respect user preference and touch screens */
@media (hover: none), (prefers-reduced-motion: reduce) {
    [data-3d-card],
    .card-3d-body {
        transform: none !important;
        transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    }

    [data-3d-card] [data-translate-z],
    [data-3d-card] .card-3d-item {
        transform: none !important;
    }

    .card-3d-glare {
        display: none !important;
    }
}
