/* Responsive Design Improvements */

/* Tablet & Mobile (under 1024px) */
@media (max-width: 1024px) {
    .hero-title {
        font-size: 3.5rem;
    }
    
    .pricing-card {
        margin: 40px 24px;
        padding: 40px 24px;
    }
}

/* Mobile (under 768px) */
@media (max-width: 768px) {
    /* Navigation */
    header {
        padding: 12px 0; /* Slightly tighter header */
    }

    .nav-container {
        flex-direction: column;
        gap: 16px;
    }

    nav {
        gap: 16px;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
    }
    
    nav a {
        font-size: 1rem;
        padding: 12px 16px;
        display: block; /* Larger hit area */
    }

    /* Hero Section */
    .hero {
        padding: 60px 0 40px;
    }

    .hero-title { 
        font-size: 2.5rem; 
        margin-top: 0;
    }

    .hero-subtitle {
        font-size: 1.1rem;
    }

    .hero-logo {
        border-radius: 16px;
    }

    /* Grid Layout - Mobile */
    .grid {
        grid-template-columns: 1fr;
    }

    /* Buttons */
    .cta-group {
        flex-direction: column;
        width: 100%;
    }

    .btn-download {
        width: 100%;
        min-width: unset; /* Remove min-width constraint */
        box-sizing: border-box; /* Ensure padding includes width */
    }

    /* Layouts */
    .split-layout, 
    .split-layout.reverse { 
        flex-direction: column !important; 
        gap: 40px; 
    }
    
    .text-content, 
    .visual-content {
        width: 100%;
    }

    /* Comparison Table - Scrollable */
    .comparison-section .container {
        padding: 0 16px;
    }
    
    .comparison-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch; /* Smooth scroll on iOS */
    }

    .comparison-table th, 
    .comparison-table td {
        padding: 16px 12px;
        font-size: 0.95rem;
    }

    /* Pricing */
    .pricing-card {
        padding: 32px 20px;
        margin: 20px 0;
        border-radius: 24px;
    }

    .price-tag {
        font-size: 3rem;
    }

    /* Integration Grid */
    .integration-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 cols instead of 3 */
    }

    /* About Section */
    .about-profile-img {
        width: 150px;
        height: 150px;
    }
    
    .about-title {
        font-size: 2rem;
    }

    /* Footer */
    .footer-content {
        flex-direction: column;
        gap: 24px;
        text-align: center;
    }
    
    .footer-links {
        flex-direction: column;
        gap: 16px;
    }
}

/* Small Mobile (under 480px) */
@media (max-width: 480px) {
    .hero-title {
        font-size: 2rem;
    }
    
    .container {
        padding: 0 16px;
    }
    
    .code-preview .preview-body {
        font-size: 0.85rem;
        padding: 16px;
    }
}