@media (max-width: 768px) {
    button,
    a.btn,
    .btn,
    input[type="button"],
    input[type="submit"],
    .nav-link,
    .plan-button,
    .cancel-subscription-btn,
    .banner-remove-btn,
    .role-chip-remove,
    .filter-remove {
        min-height: 44px;
        min-width: 44px;
    }
    
    .setting-actions,
    .purchase-modal-footer,
    .hero-actions {
        gap: 0.75rem;
    }
    
    * {
        -webkit-overflow-scrolling: touch;
    }
    
    body {
        font-size: 16px;
    }
    
    input[type="text"],
    input[type="email"],
    input[type="password"],
    textarea,
    select {
        font-size: 16px;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .container {
        padding: 0 1.5rem;
    }
    
    .features-grid,
    .modules-list,
    .plans-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}

@media (min-width: 1400px) {
    .container {
        max-width: 1400px;
    }
}

@media (max-width: 768px) and (orientation: landscape) {
    .hero {
        min-height: auto;
        padding: 2rem 0;
    }
    
    .module-popup {
        max-height: 90vh;
    }
}

@media print {
    .navbar,
    .nav-toggle,
    .btn,
    button {
        display: none !important;
    }
    
    body {
        background: white;
        color: black;
    }
}

