/* MCM Robotics - Custom CSS Overrides */

/* Smooth page transitions */
.page-transition {
    opacity: 0;
    transform: translateY(20px);
    animation: pageEnter 0.6s ease-out forwards;
}

@keyframes pageEnter {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Product card image zoom */
.product-image-zoom {
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.product-image-zoom:hover {
    transform: scale(1.08);
}

/* Gradient border effect */
.gradient-border {
    position: relative;
}
.gradient-border::before {
    content: '';
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.5), transparent, rgba(59, 130, 246, 0.3));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

/* Hero parallax effect */
.hero-parallax {
    will-change: transform;
}

/* Stats counter animation */
.stat-number {
    font-variant-numeric: tabular-nums;
}

/* Category card 3D tilt */
.category-card {
    perspective: 1000px;
}
.category-card-inner {
    transition: transform 0.4s ease;
}
.category-card:hover .category-card-inner {
    transform: rotateY(-3deg) rotateX(2deg);
}

/* Spec table styling */
.spec-table tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.02);
}
.spec-table tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Video play button pulse */
.video-play-btn {
    animation: playPulse 2s ease-in-out infinite;
}
@keyframes playPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.4); }
    50% { box-shadow: 0 0 0 20px rgba(37, 99, 235, 0); }
}

/* Scrollbar for horizontal scroll areas */
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

/* Blog card image overlay gradient */
.blog-card-gradient {
    background: linear-gradient(to top, rgba(10, 10, 10, 0.9) 0%, transparent 60%);
}

/* Loading skeleton */
.skeleton {
    background: linear-gradient(90deg,
        rgba(255, 255, 255, 0.03) 25%,
        rgba(255, 255, 255, 0.06) 50%,
        rgba(255, 255, 255, 0.03) 75%
    );
    background-size: 200% 100%;
    animation: skeleton 1.5s infinite;
}
@keyframes skeleton {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* African continent map dots animation */
.map-dot {
    animation: mapDotPulse 3s ease-in-out infinite;
}
.map-dot:nth-child(2n) { animation-delay: 0.5s; }
.map-dot:nth-child(3n) { animation-delay: 1s; }
.map-dot:nth-child(4n) { animation-delay: 1.5s; }

@keyframes mapDotPulse {
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.5); }
}

/* Quote badge */
.quote-badge {
    background: linear-gradient(135deg, #2563eb, #3b82f6);
}
