/* ========================================
   MUFT.AI - Responsive Breakpoints
   Mobile-First Approach
   ======================================== */

/* ========== MOBILE FIRST (Base) ========== */
/* Default styles are for mobile (< 640px) */

/* Mobile Navigation */
@media (max-width: 768px) {
    .nav-menu {
        display: none;
    }

    .mobile-menu-btn {
        display: block;
    }

    .nav-container {
        padding: 0 1rem;
    }

    /* Hero adjustments */
    .hero-title {
        font-size: 2.5rem;
    }

    .hero-subtitle {
        font-size: 1rem;
    }

    .hero-buttons {
        flex-direction: column;
        width: 100%;
    }

    .hero-buttons .btn {
        width: 100%;
    }

    /* Bento Grid - Single column on mobile */
    .bento-grid {
        grid-template-columns: 1fr;
    }

    .bento-card-lg,
    .bento-card-wide {
        grid-column: span 1;
    }

    .bento-card-tall {
        grid-row: span 1;
    }

    /* Project Grid */
    .project-grid {
        grid-template-columns: 1fr;
    }

    .project-card-featured {
        grid-column: span 1;
        grid-row: span 1;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
        text-align: center;
    }

    .footer-social {
        justify-content: center;
    }

    /* Section padding */
    .section {
        padding: 4rem 0;
    }

    /* Container padding */
    .container {
        padding: 0 1rem;
    }

    /* Typography */
    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 2rem;
    }

    h3 {
        font-size: 1.25rem;
    }

    /* Hide on mobile */
    .hide-mobile {
        display: none !important;
    }

    /* Stats grid */
    .stats-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .stats-grid>div {
        padding: 1.5rem;
        border-left: none !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .stats-grid>div:last-child {
        border-bottom: none;
    }

    /* Service cards process timeline */
    .process-timeline {
        padding-left: 1rem;
    }

    .process-timeline::before {
        left: 0;
    }

    .process-step {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Filter chips scroll */
    .filter-chips {
        overflow-x: auto;
        padding-bottom: 0.5rem;
        -webkit-overflow-scrolling: touch;
    }

    .filter-chips::-webkit-scrollbar {
        display: none;
    }
}

/* ========== TABLET (640px - 1024px) ========== */
@media (min-width: 640px) and (max-width: 1024px) {
    .nav-menu {
        display: none;
    }

    .mobile-menu-btn {
        display: block;
    }

    /* Hero */
    .hero-title {
        font-size: 4rem;
    }

    .hero-buttons {
        flex-direction: row;
    }

    /* Bento Grid - 2 columns */
    .bento-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bento-card-lg {
        grid-column: span 2;
        grid-row: span 2;
    }

    .bento-card-wide {
        grid-column: span 2;
    }

    /* Project Grid - 2 columns */
    .project-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .project-card-featured {
        grid-column: span 2;
        grid-row: span 2;
    }

    /* Footer - 2 columns */
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Cards side by side */
    .service-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Stats */
    .stats-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ========== DESKTOP (1024px+) ========== */
@media (min-width: 1024px) {
    .nav-menu {
        display: flex;
    }

    .mobile-menu-btn {
        display: none;
    }

    .mobile-menu {
        display: none !important;
    }

    /* Hero */
    .hero-title {
        font-size: 5rem;
    }

    .hero-section {
        min-height: 100vh;
    }

    /* Bento Grid - 4 columns */
    .bento-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    /* Project Grid - 3 columns */
    .project-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .project-card-featured {
        grid-column: span 2;
        grid-row: span 2;
    }

    .project-card-tall {
        grid-row: span 2;
    }

    /* Footer - 4 columns */
    .footer-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    /* Service cards - 3 columns */
    .service-cards {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Two column layouts */
    .two-column {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
        align-items: center;
    }

    /* Process timeline horizontal on some pages */
    .process-horizontal {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem;
    }

    /* Show on desktop only */
    .show-desktop {
        display: block;
    }
}

/* ========== LARGE SCREENS (1400px+) ========== */
@media (min-width: 1400px) {
    .container {
        max-width: 1400px;
    }

    /* Hero */
    .hero-title {
        font-size: 6rem;
    }

    /* Larger gaps */
    .bento-grid {
        gap: 1.5rem;
    }

    /* Section padding */
    .section {
        padding: 8rem 0;
    }

    /* Footer padding */
    .footer-content {
        padding: 5rem 0;
    }
}

/* ========== ULTRA WIDE (1800px+) ========== */
@media (min-width: 1800px) {
    .container {
        max-width: 1600px;
    }

    .hero-title {
        font-size: 7rem;
    }

    /* Even more breathing room */
    .section {
        padding: 10rem 0;
    }
}

/* ========== HEIGHT-BASED QUERIES ========== */

/* Short screens (laptops) */
@media (max-height: 700px) {
    .hero-section {
        min-height: auto;
        padding: 6rem 0;
    }

    .scroll-indicator {
        display: none;
    }
}

/* ========== TOUCH DEVICE ADJUSTMENTS ========== */
@media (hover: none) and (pointer: coarse) {

    /* Remove hover effects on touch devices */
    .custom-cursor {
        display: none !important;
    }

    /* Make touch targets larger */
    .btn {
        min-height: 48px;
        padding: 1rem 1.5rem;
    }

    .nav-link {
        padding: 0.75rem;
    }

    /* Disable 3D tilt on touch */
    .tilt-3d:hover {
        transform: none;
    }

    /* Show overlay content by default on touch */
    .project-card .project-overlay {
        opacity: 1;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 100%);
    }
}

/* ========== REDUCED MOTION ========== */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .animate-float,
    .animate-float-delayed,
    .animate-bounce,
    .animate-pulse-glow {
        animation: none;
    }

    .scroll-indicator {
        animation: none;
    }

    .orb-1,
    .orb-2 {
        animation: none;
    }
}

/* ========== DARK MODE TOGGLE (if needed) ========== */
@media (prefers-color-scheme: light) {
    /* Light mode overrides - currently keeping dark mode only */
}

/* ========== PRINT STYLES ========== */
@media print {

    .nav,
    .mobile-menu,
    .scroll-indicator,
    .custom-cursor,
    .loader {
        display: none !important;
    }

    body {
        background: white;
        color: black;
    }

    .container {
        max-width: 100%;
    }

    .section {
        page-break-inside: avoid;
    }
}

/* ========== LANDSCAPE MOBILE ========== */
@media (max-width: 900px) and (orientation: landscape) {
    .hero-section {
        min-height: auto;
        padding: 4rem 0;
    }

    .hero-title {
        font-size: 2.5rem;
    }

    .scroll-indicator {
        display: none;
    }
}

/* ========== HERO FALLBACK FOR MOBILE ========== */
@media (max-width: 768px) {
    #heroVideoBg {
        background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
    }
}