/* ===================================================
   VODTRIX - MASTER RESPONSIVE STYLESHEET (Mobile & Tablet)
=================================================== */

/* ---------------------------------------------------
   1. TABLET VIEW (Max-Width: 1024px)
--------------------------------------------------- */
@media (max-width: 1024px) {
    /* Container Padding */
    .container, .about-container, .services-container,
    .portfolio-container, .pricing-container, .contact-container,
    .footer-container, .services-hero-container, .why-wrapper,
    .pricing-page-container, .blog-wrap {
        width: 92% !important;
    }

    /* Hero Section */
    .hero {
        grid-template-columns: 1fr !important;
        text-align: center;
        gap: 40px !important;
        padding-top: 30px !important;
    }

    .hero-left {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .hero h1 {
        font-size: clamp(2.4rem, 5vw, 3.5rem) !important;
    }

    .hero-text {
        max-width: 700px;
        margin-inline: auto;
    }

    .hero-buttons {
        justify-content: center;
    }

    .stats-row {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }

    /* About Section */
    .about-container {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .about-left {
        max-width: 500px;
        margin: 0 auto;
    }

    .about-right {
        text-align: center;
    }

    .about-features {
        text-align: left;
    }

    /* Services & Portfolio Grids */
    .services-grid, .portfolio-grid, .pricing-grid, .testimonial-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }

    /* Contact Section */
    .contact-wrapper {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    /* Footer */
    .footer-container {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 30px !important;
    }

    /* Services Page Hero */
    .services-hero-container {
        grid-template-columns: 1fr !important;
        text-align: center;
    }

    .services-left {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .hero-stats {
        justify-content: center;
    }

    .services-right {
        margin-top: 30px;
    }

    /* Why Section */
    .why-wrapper {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
}

/* ---------------------------------------------------
   2. MOBILE VIEW (Max-Width: 768px)
--------------------------------------------------- */
@media (max-width: 768px) {
    /* Typography Adjustments */
    h1 {
        font-size: clamp(2rem, 7vw, 2.8rem) !important;
        line-height: 1.2 !important;
    }

    h2 {
        font-size: clamp(1.6rem, 5vw, 2.2rem) !important;
    }

    .hero h1 {
        font-size: clamp(2.1rem, 6.5vw, 2.8rem) !important;
    }

    .hero-badge, .section-badge, .pricing-badge, .blog-badge {
        font-size: 12px !important;
        padding: 6px 14px !important;
    }

    /* Buttons Mobile */
    .hero-buttons, .cta-buttons {
        flex-direction: column;
        width: 100%;
        gap: 12px !important;
    }

    .primary-btn, .secondary-btn, .btn {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }

    /* Stats Grid */
    .stats-row, .why-stats {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    .stat-card {
        padding: 16px 12px !important;
    }

    .stat-card h2 {
        font-size: 1.8rem !important;
    }

    /* Services & Portfolio Single Column */
    .services-grid, .portfolio-grid, .pricing-grid, .testimonial-grid, .blog-grid, .process-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    /* Pricing Tabs */
    .pricing-tabs {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    .pricing-tab {
        padding: 8px 16px !important;
        font-size: 13px !important;
    }

    /* Footer Mobile */
    .footer-container {
        grid-template-columns: 1fr !important;
        text-align: center;
        gap: 25px !important;
    }

    .footer-social {
        justify-content: center !important;
    }

    /* Newsletter */
    .newsletter-box {
        padding: 35px 20px !important;
    }

    .newsletter-form {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .newsletter-form button {
        width: 100% !important;
    }
}

/* ---------------------------------------------------
   3. SMALL MOBILE VIEW (Max-Width: 480px)
--------------------------------------------------- */
@media (max-width: 480px) {
    .stats-row {
        grid-template-columns: 1fr !important;
    }

    .about-features {
        gap: 16px !important;
    }

    .feature-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .tech-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ---------------------------------------------------
   4. TOUCH / MOBILE CURSOR DISABLE
--------------------------------------------------- */
@media (hover: none) and (pointer: coarse) {
    body {
        cursor: auto !important;
    }

    .cursor, .cursor-dot {
        display: none !important;
    }
}