/* Mobile-First Optimizations */

/* Hide scrollbar on mobile only */
@media (max-width: 767px) {
    body {
        -ms-overflow-style: none;  /* IE and Edge */
        scrollbar-width: none;  /* Firefox */
    }

    body::-webkit-scrollbar {
        display: none;  /* Chrome, Safari, Opera */
    }
}

/* Base mobile improvements */
@media (max-width: 767px) {
    /* Better spacing */
    .container {
        padding: 0 16px;
    }
    
    /* Remove overflow issues */
    body, html {
        overflow-x: hidden;
        width: 100%;
    }
    
    /* Header improvements */
    .header-content {
        height: 64px;
    }
    
    .logo {
        font-size: 18px;
        gap: 8px;
    }
    
    .logo img {
        width: 32px;
        height: 32px;
    }
    
    .btn-header {
        padding: 6px 16px;
        font-size: 13px;
    }
    
    /* Hero section mobile fix */
    .hero {
        padding: 40px 0 40px;
    }
    
    .hero-title {
        font-size: 36px;
        line-height: 1.1;
        margin-bottom: 16px;
    }
    
    .hero-subtitle {
        font-size: 16px;
        line-height: 1.5;
        margin: 16px auto 24px;
    }
    
    .hero-cta {
        width: 100%;
        gap: 12px;
    }
    
    .btn-large {
        width: 100%;
        padding: 14px 24px;
        font-size: 16px;
        border-radius: 12px;
    }
    
    .hero-phone {
        max-width: 100%;
        padding: 0 20px;
    }
    
    .phone-mockup {
        border-radius: 24px;
    }
    
    /* Stats better spacing */
    .hero-stats {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
        margin-top: 32px;
    }
    
    .stat-number {
        font-size: 24px;
    }
    
    .stat-label {
        font-size: 12px;
    }
    
    /* Social proof cards */
    .social-proof {
        padding: 60px 0;
    }
    
    .proof-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .proof-card {
        padding: 24px;
    }
    
    .proof-icon {
        font-size: 40px;
        margin-bottom: 12px;
    }
    
    .proof-number {
        font-size: 28px;
    }
    
    /* Section titles */
    .section-title {
        font-size: 28px;
        margin-bottom: 12px;
        line-height: 1.2;
    }
    
    .section-subtitle {
        font-size: 16px;
        margin-bottom: 40px;
        padding: 0 16px;
    }
    
    /* How it works */
    .how-it-works {
        padding: 60px 0;
        overflow: hidden;
    }
    
    .steps-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        width: 100%;
    }
    
    .step {
        padding: 24px;
        width: 100%;
        box-sizing: border-box;
    }
    
    .step-icon {
        font-size: 56px;
        margin-bottom: 16px;
    }
    
    .step-title {
        font-size: 20px;
        margin-bottom: 8px;
    }
    
    .step-text {
        font-size: 15px;
    }
    
    /* Features section */
    .features {
        padding: 60px 0;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .feature-card {
        padding: 20px;
    }
    
    .feature-icon {
        font-size: 40px;
        margin-bottom: 10px;
    }
    
    .feature-title {
        font-size: 17px;
        margin-bottom: 6px;
    }
    
    .feature-text {
        font-size: 14px;
    }
    
    /* Showcase sections */
    .showcase {
        padding: 60px 0;
    }
    
    .showcase-content {
        gap: 32px;
    }
    
    .showcase-phone {
        max-width: 280px;
    }
    
    .showcase-title {
        font-size: 28px;
        line-height: 1.2;
        margin-bottom: 12px;
    }
    
    .showcase-subtitle {
        font-size: 16px;
        margin-bottom: 20px;
    }
    
    .showcase-list {
        gap: 12px;
    }
    
    .showcase-list li {
        font-size: 15px;
        padding-left: 28px;
    }
    
    .showcase-list li::before {
        font-size: 18px;
    }
    
    .compliance-note {
        font-size: 11px;
        margin-top: 16px;
    }
    
    /* Streaks section */
    .streaks {
        padding: 60px 0;
    }
    
    .streaks-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .streak-card {
        padding: 24px;
    }
    
    .streak-icon {
        font-size: 40px;
        margin-bottom: 12px;
    }
    
    .streak-title {
        font-size: 18px;
        margin-bottom: 10px;
    }
    
    .streak-text {
        font-size: 14px;
    }
    
    /* Testimonials */
    .testimonials {
        padding: 60px 0;
    }
    
    .testimonials-scroll {
        gap: 16px;
        padding-bottom: 16px;
    }
    
    .testimonial-card {
        min-width: 280px;
        padding: 24px;
    }
    
    .testimonial-text {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 20px;
    }
    
    .testimonial-name {
        font-size: 14px;
    }
    
    /* FAQ */
    .faq {
        padding: 60px 0;
    }
    
    .faq-question {
        font-size: 16px;
        padding: 20px 0;
    }
    
    .faq-icon {
        font-size: 20px;
    }
    
    .faq-answer p {
        font-size: 14px;
        line-height: 1.6;
        padding-bottom: 20px;
    }
    
    /* Final CTA */
    .final-cta {
        padding: 60px 0;
    }
    
    .final-cta-content {
        gap: 32px;
    }
    
    .final-cta-title {
        font-size: 32px;
        line-height: 1.2;
        margin-bottom: 12px;
    }
    
    .final-cta-subtitle {
        font-size: 16px;
        margin-bottom: 24px;
    }
    
    .final-cta-buttons {
        width: 100%;
    }
    
    .final-cta-phone {
        max-width: 280px;
    }
    
    /* Footer */
    .footer {
        padding: 60px 0 32px;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-bottom: 40px;
    }
    
    .footer-section h4 {
        font-size: 15px;
        margin-bottom: 12px;
    }
    
    .footer-section li {
        margin-bottom: 10px;
    }
    
    .footer-section a {
        font-size: 14px;
    }
    
    .footer-bottom {
        flex-direction: column;
        gap: 24px;
        text-align: center;
        padding: 24px 0;
    }
    
    .footer-logo img {
        width: 36px;
        height: 36px;
    }
    
    .footer-social {
        gap: 20px;
    }
    
    .footer-social a {
        font-size: 24px;
    }
    
    .footer-copyright {
        padding-top: 24px;
        font-size: 12px;
        line-height: 1.6;
    }
    
    /* Disable heavy animations on mobile */
    .hero-bg-logo {
        display: none;
    }
    
    .hero::after {
        display: none;
    }
    
    .feature-card {
        animation: none;
        opacity: 1;
    }
    
    /* Better touch targets */
    .btn,
    .faq-question,
    .mobile-nav a {
        min-height: 44px;
    }
    
    /* Remove hover effects on mobile */
    .feature-card:hover,
    .proof-card:hover,
    .streak-card:hover {
        transform: none;
    }
    
    /* Better mobile menu */
    .mobile-nav {
        gap: 20px;
        margin-top: 40px;
    }
    
    .mobile-nav a {
        font-size: 20px;
    }
    
    /* Smooth scrolling offset for mobile header */
    html {
        scroll-padding-top: 64px;
    }
}

/* Very small phones (< 375px) */
@media (max-width: 374px) {
    .hero-title {
        font-size: 32px;
    }
    
    .section-title {
        font-size: 26px;
    }
    
    .hero-stats {
        grid-template-columns: 1fr;
    }
    
    .stat-number {
        font-size: 28px;
    }
    
    .testimonial-card {
        min-width: 260px;
    }
    
    .showcase-phone,
    .final-cta-phone {
        max-width: 240px;
    }
}

/* Landscape phone optimization */
@media (max-width: 767px) and (orientation: landscape) {
    .hero {
        padding: 30px 0;
    }
    
    .hero-content {
        gap: 24px;
    }
    
    .hero-phone {
        max-width: 200px;
    }
}

/* Better proof grid for small tablets */
@media (min-width: 480px) and (max-width: 767px) {
    .proof-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .streaks-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
