/* =====================================================
   CYTRIA MOBILE FIXES - January 2026
   Fixes: horizontal scroll, touch targets, font sizes
   ===================================================== */

/* CRITICAL FIX 1: Prevent horizontal overflow */
html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

/* CRITICAL FIX 2: Nav container overflow */
nav {
    max-width: 100vw;
    overflow-x: hidden;
}

.container {
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
}

/* CRITICAL FIX 3: Pitch grid causing overflow */
.pitch-grid,
.sector-grid,
.stat-grid,
.limits-grid,
.price-cards {
    max-width: 100%;
    box-sizing: border-box;
}

/* HIGH FIX 1: Touch targets minimum 44x44px */
.nav-cta,
.nav-links a,
button,
.btn,
a.btn,
.hero-cta,
.price-card .cta {
    min-height: 44px !important;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* MEDIUM FIX 1: Font sizes */
.sector-card p,
.pitch-box li,
.faq-item p,
.stat-card .source,
.price-card li {
    font-size: 14px !important;
}

/* Mobile specific */
@media (max-width: 768px) {
    /* Container padding */
    .container {
        padding: 0 16px !important;
    }
    
    /* Nav improvements */
    nav {
        padding: 16px 0 !important;
        flex-wrap: wrap;
        gap: 12px;
    }
    
    .nav-links {
        display: none; /* Show hamburger menu instead on mobile */
    }
    
    .nav-cta {
        padding: 14px 20px !important;
        font-size: 14px !important;
    }
    
    /* Hero improvements */
    .hero {
        padding: 100px 0 80px !important;
    }
    
    .hero h1 {
        font-size: clamp(1.75rem, 6vw, 2.5rem) !important;
        padding: 0 16px;
    }
    
    .hero .subtitle {
        font-size: 16px !important;
        padding: 0 16px;
    }
    
    .hero-cta {
        padding: 16px 32px !important;
        font-size: 16px !important;
    }
    
    /* Pitch grid stack */
    .pitch-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 0 16px;
    }
    
    .pitch-box {
        padding: 24px !important;
    }
    
    .pitch-box li {
        font-size: 14px !important;
        padding: 10px 0 !important;
    }
    
    /* Sector cards */
    .sector-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        padding: 0 16px;
    }
    
    .sector-card {
        padding: 24px !important;
    }
    
    .sector-card p {
        font-size: 14px !important;
    }
    
    /* Stats */
    .stat-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 0 16px;
    }
    
    .stat-card .number {
        font-size: 2.5rem !important;
    }
    
    .stat-card .label {
        font-size: 15px !important;
    }
    
    .stat-card .source {
        font-size: 12px !important;
    }
    
    /* Limits section */
    .limits-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 0 16px;
    }
    
    .limit-box li {
        font-size: 14px !important;
    }
    
    /* Pricing */
    .price-cards {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        padding: 0 16px;
    }
    
    .price-card {
        padding: 28px !important;
    }
    
    .price-card.featured {
        transform: none !important;
    }
    
    .price-card .price {
        font-size: 1.8rem !important;
    }
    
    .price-card li {
        font-size: 14px !important;
    }
    
    .price-card .cta {
        padding: 14px 24px !important;
        min-height: 48px !important;
    }
    
    /* FAQ */
    .faq-list {
        padding: 0 16px;
    }
    
    .faq-item h3 {
        font-size: 15px !important;
    }
    
    .faq-item p {
        font-size: 14px !important;
    }
    
    /* Final CTA */
    .final-cta {
        padding: 80px 16px !important;
    }
    
    .final-cta h2 {
        font-size: 1.5rem !important;
    }
    
    .final-cta p {
        font-size: 16px !important;
    }
    
    .final-cta .cta {
        padding: 16px 32px !important;
        min-height: 48px !important;
    }
    
    /* Footer */
    footer {
        padding: 32px 16px !important;
    }
    
    footer .container {
        flex-direction: column !important;
        gap: 16px !important;
        text-align: center;
    }
    
    footer a {
        min-height: 44px !important;
        display: inline-flex;
        align-items: center;
    }
    
    /* Section headings */
    .anti-pitch h2,
    .sectors h2,
    .stats h2,
    .limits h2,
    .pricing h2,
    .faq h2 {
        font-size: 1.5rem !important;
        padding: 0 16px;
    }
}

/* Extra small screens */
@media (max-width: 480px) {
    .hero h1 {
        font-size: 1.5rem !important;
    }
    
    .hero .subtitle {
        font-size: 15px !important;
    }
    
    .stat-card .number {
        font-size: 2rem !important;
    }
    
    .price-card .price {
        font-size: 1.5rem !important;
    }
}

/* Ensure images don't overflow */
img {
    max-width: 100%;
    height: auto;
}

/* ===== ADDITIONAL FONT SIZE FIXES 2026-01-30 ===== */
@media (max-width: 768px) {
    /* Footer text */
    footer,
    footer p,
    footer span {
        font-size: 14px !important;
    }
    
    /* Blog article links */
    .blog-card a,
    article a {
        font-size: 14px !important;
    }
    
    /* Navigation links */
    .nav-link,
    nav a {
        font-size: 14px !important;
    }
    
    /* Form labels */
    form label,
    .form-label {
        font-size: 14px !important;
    }
}
