/**
 * DevWharf Responsive Design v6.0
 * Mobile-first responsive overrides
 */

/* ========================================
   MOBILE: up to 640px
   ======================================== */
@media (max-width: 640px) {
    .dw-hero-title {
        font-size: clamp(2.2rem, 7vw, 3.5rem) !important;
    }

    .dw-hero-subtitle {
        font-size: 1rem;
    }

    .dw-hero-tagline {
        font-size: 1rem;
    }

    .dw-section-label {
        font-size: 1rem;
    }

    .dw-section-title {
        font-size: clamp(1.6rem, 5vw, 2.5rem);
    }

    .dw-section-desc {
        font-size: 1rem;
    }

    .dw-hero-cta {
        flex-direction: column;
        align-items: center;
    }

    .dw-btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }

    .dw-cards-grid--3,
    .dw-cards-grid--4 {
        grid-template-columns: 1fr;
    }

    .dw-links-grid {
        grid-template-columns: 1fr;
    }

    .dw-form-row {
        grid-template-columns: 1fr;
    }

    .dw-cta-title {
        font-size: clamp(2rem, 6vw, 3rem);
    }

    /* Hide geometric shapes on mobile for performance */
    .dw-geo-shapes {
        display: none;
    }
}

/* ========================================
   TABLET: 641px to 1024px
   ======================================== */
@media (min-width: 641px) and (max-width: 1024px) {
    .dw-cards-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .dw-links-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ========================================
   WIDE SCREENS: 1400px+
   ======================================== */
@media (min-width: 1400px) {
    .dw-section-inner {
        max-width: 1800px;
    }

    .dw-cards-grid {
        max-width: 1800px;
    }

    .dw-links-grid {
        max-width: 1800px;
    }

    .dw-tech-showcase {
        max-width: 1800px;
    }

    .dw-faq-list {
        max-width: 1000px;
    }
}

/* ========================================
   ULTRA-WIDE SCREENS: 2560px+
   ======================================== */
@media (min-width: 2560px) {
    .dw-section-inner {
        max-width: 2200px;
    }

    .dw-cards-grid,
    .dw-links-grid,
    .dw-tech-showcase {
        max-width: 2200px;
    }

    .dw-cards-grid--3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .dw-cards-grid--4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .dw-links-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .dw-hero-content {
        max-width: 1400px;
    }

    .dw-section-desc {
        max-width: 1000px;
    }
}

/* ========================================
   REDUCED MOTION
   ======================================== */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .dw-reveal {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }

    .dw-geo-shapes {
        display: none !important;
    }
}

/* ========================================
   PRINT
   ======================================== */
@media print {
    .dw-header,
    .dw-footer,
    .dw-hero-canvas,
    .dw-scroll-indicator,
    .dw-geo-shapes,
    #dw-splash-overlay {
        display: none !important;
    }

    body {
        background: #fff !important;
        color: #000 !important;
    }
}
