/* 
╔═══════════════════════════════════════════════════════════════╗
║  🏠 DhaMus Home Page Animations & Styles                      ║
║  © 2026 DhaMus - Optimized CSS ❤️                            ║
╚═══════════════════════════════════════════════════════════════╝
*/

body {
    overflow-x: hidden;
}

/* ==================== HOME WRAPPER BACKGROUND ==================== */

.dm-home-wrapper {
    background-attachment: fixed !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

/* ==================== KEYFRAME ANIMATIONS ==================== */

@keyframes dmFadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes dmSlideInFromTop {
    0% {
        opacity: 0;
        transform: perspective(1000px) translateY(-100px) rotateX(15deg) scale(0.8);
    }
    60% {
        opacity: 1;
        transform: perspective(1000px) translateY(10px) rotateX(-3deg) scale(1.02);
    }
    100% {
        opacity: 1;
        transform: perspective(1000px) translateY(0) rotateX(0deg) scale(1);
    }
}

@keyframes dmIdleFloat {
    0%, 100% {
        transform: perspective(1000px) translateY(0px) translateX(0px) rotateZ(0deg);
    }
    25% {
        transform: perspective(1000px) translateY(-3px) translateX(2px) rotateZ(0.5deg);
    }
    50% {
        transform: perspective(1000px) translateY(-6px) translateX(0px) rotateZ(0deg);
    }
    75% {
        transform: perspective(1000px) translateY(-3px) translateX(-2px) rotateZ(-0.5deg);
    }
}

@keyframes dmShine {
    0% {
        left: -100%;
    }
    50%, 100% {
        left: 150%;
    }
}

@keyframes dmIconFloat {
    0%, 100% {
        transform: translateY(0px) translateZ(0px) rotateY(0deg);
    }
    25% {
        transform: translateY(-3px) translateZ(5px) rotateY(5deg);
    }
    50% {
        transform: translateY(-6px) translateZ(10px) rotateY(0deg);
    }
    75% {
        transform: translateY(-3px) translateZ(5px) rotateY(-5deg);
    }
}

@keyframes dmPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.05);
        opacity: 0.9;
    }
}

@keyframes dmRipple {
    0% {
        transform: scale(0);
        opacity: 0.6;
    }
    100% {
        transform: scale(2);
        opacity: 0;
    }
}

/* ==================== MENU ITEM STYLES ==================== */

.dm-menu-item {
    transform-style: preserve-3d;
    backface-visibility: hidden;
    will-change: transform;
}

.dm-menu-item:active {
    transform: perspective(1000px) scale(0.98) translateZ(-10px) !important;
}

.dm-menu-item::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.dm-menu-item:active::before {
    width: 300px;
    height: 300px;
    opacity: 0;
    transition: width 0.6s, height 0.6s, opacity 0.6s;
}

/* ==================== ACCORDION CONTENT ==================== */

.dm-accordion-content {
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ==================== SLIDER STYLES ==================== */

.dm-slider button:hover {
    transform: translateY(-50%) scale(1.15);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3) !important;
}

.slider-dot:hover {
    transform: scale(1.4) !important;
}

/* ==================== RESPONSIVE DESIGN ==================== */

@media (max-width: 768px) {
    .dm-home-wrapper {
        margin: -16px !important;
        padding: 16px !important;
    }
    
    .dm-header-section {
        margin-bottom: 20px !important;
    }
    
    .dm-menu-item {
        border-radius: 40px !important;
        padding: 14px 20px !important;
    }
    
    .dm-menu-item h3 {
        font-size: 15px !important;
    }
}

@media (max-width: 480px) {
    .dm-home-wrapper {
        margin: -12px !important;
        padding: 12px !important;
    }
    
    .dm-menu-item {
        border-radius: 35px !important;
        padding: 12px 16px !important;
    }
    
    .dm-slider button {
        width: 38px !important;
        height: 38px !important;
    }
}

/* ==================== PERFORMANCE OPTIMIZATIONS ==================== */

/* Reduce animations on low-end devices */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Hardware acceleration */
.dm-menu-item,
.dm-icon-container,
.dm-slider-track {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
