/* ===== SR MOBILE PERFECT - OPTIMIZED ===== */
/* Clean mobile responsive fixes without excessive !important */

@media (max-width: 767px) {
    html, body.sr-site {
        overflow-x: clip;
        max-width: 100%;
        width: 100%;
    }

    body.sr-site *, 
    body.sr-site *::before, 
    body.sr-site *::after {
        box-sizing: border-box;
    }

    /* Container adjustments */
    body.sr-site .site-wrapper,
    body.sr-site main,
    body.sr-site section,
    body.sr-site footer,
    body.sr-site .max-w-7xl,
    body.sr-site .max-w-5xl,
    body.sr-site .max-w-3xl {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    /* Navigation */
    body.sr-site .nav-shell {
        padding: 0.5rem 0.75rem;
        min-height: 50px;
    }

    body.sr-site .nav-brand {
        flex: 1 1 auto;
        min-width: 0;
        max-width: calc(100% - 120px);
    }

    body.sr-site .logo-desktop {
        display: none;
    }

    body.sr-site .logo-mobile {
        display: block;
    }

    body.sr-site .nav-center {
        display: none;
    }

    /* Hero section */
    body.sr-site .sr-hero-pro,
    body.sr-site .hero-stage {
        padding: 2rem 1rem;
    }

    body.sr-site .hero-freq-value,
    body.sr-site #hero-freq {
        font-size: clamp(2rem, 12vw, 3rem);
        line-height: 1;
    }

    body.sr-site .hero-readout-shell {
        padding: 1rem;
        border-radius: 0.75rem;
    }

    body.sr-site .hero-stats-row {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    body.sr-site .hero-stats-row .card {
        flex: 1 1 calc(50% - 0.25rem);
        padding: 0.75rem 0.5rem;
    }

    body.sr-site .hero-cta-row {
        flex-direction: column;
        gap: 0.75rem;
    }

    body.sr-site .hero-cta-row a {
        width: 100%;
        justify-content: center;
    }

    /* Dashboard */
    body.sr-site #dashboard {
        padding: 1.5rem 1rem;
    }

    body.sr-site .card {
        padding: 1rem;
        min-width: 0;
    }

    body.sr-site .spectro-container {
        max-width: 100%;
        overflow: hidden;
    }

    body.sr-site #main-spectro {
        width: 100%;
        height: auto;
        min-height: 200px;
        max-height: 300px;
        object-fit: contain;
    }

    body.sr-site .spectro-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    body.sr-site .spectro-analysis-grid,
    body.sr-site .spectro-insight-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    /* Typography */
    body.sr-site .text-3xl,
    body.sr-site h2 {
        font-size: clamp(1.25rem, 5vw, 1.5rem);
        line-height: 1.2;
    }

    body.sr-site .text-xl,
    body.sr-site h3 {
        font-size: clamp(1.1rem, 4vw, 1.25rem);
    }

    /* Grid layouts */
    body.sr-site .grid-cols-2,
    body.sr-site .grid-cols-3,
    body.sr-site .grid-cols-4 {
        grid-template-columns: 1fr;
    }

    /* Flex layouts */
    body.sr-site .flex-row {
        flex-direction: column;
    }

    body.sr-site .gap-4,
    body.sr-site .gap-6 {
        gap: 0.75rem;
    }

    /* Footer */
    body.sr-site footer {
        padding: 1.5rem 1rem;
    }

    body.sr-site .sr-footer-inner {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

@media (max-width: 480px) {
    body.sr-site .hero-freq-value,
    body.sr-site #hero-freq {
        font-size: clamp(1.75rem, 10vw, 2.5rem);
    }

    body.sr-site .hero-stats-row .card {
        flex: 1 1 100%;
    }

    body.sr-site .spectro-container {
        border-radius: 0.5rem;
    }
}
