/* Responsive design utilities */

/* Mobile-first approach */
@media (max-width: 640px) {
    .hidden-mobile {
        display: none !important;
    }
    
    .mobile-full-width {
        width: 100% !important;
    }
    
    .mobile-center {
        text-align: center !important;
    }
    
    .mobile-stack {
        flex-direction: column !important;
    }
    
    .mobile-gap-4 {
        gap: 1rem !important;
    }
}

@media (min-width: 641px) {
    .sm\:hidden {
        display: none !important;
    }
    
    .sm\:flex-row {
        flex-direction: row !important;
    }
}

@media (min-width: 768px) {
    .md\:hidden {
        display: none !important;
    }
    
    .md\:flex-row {
        flex-direction: row !important;
    }
    
    .md\:w-3\/4 {
        width: 75% !important;
    }
    
    .md\:w-1\/4 {
        width: 25% !important;
    }
}

@media (min-width: 1024px) {
    .lg\:hidden {
        display: none !important;
    }
}

@media (min-width: 1280px) {
    .xl\:hidden {
        display: none !important;
    }
}

/* Container utilities */
.container-responsive {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

@media (min-width: 640px) {
    .container-responsive {
        padding: 0 2rem;
    }
}

/* Text responsive sizes */
.text-responsive-xl {
    font-size: 1.5rem;
    line-height: 2rem;
}

@media (min-width: 640px) {
    .text-responsive-xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
}

@media (min-width: 768px) {
    .text-responsive-xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }
}

@media (min-width: 1024px) {
    .text-responsive-xl {
        font-size: 3rem;
        line-height: 1;
    }
}