/* Responsive Enhancements for Grupo Party Site */

/* ===== HEADER RESPONSIVE ENHANCEMENTS ===== */

/* Extra small devices (phones, 320px and up) */
@media (max-width: 320px) {
    .container {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    
    header .h-20 {
        height: 3.5rem;
    }
    
    header .h-10 {
        height: 1.75rem;
        width: 1.75rem;
    }
    
    .text-4xl {
        font-size: 1.75rem;
        line-height: 2rem;
    }
    
    .px-8 {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    .py-6 {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
}

/* Small devices (landscape phones, 375px and up) */
@media (min-width: 321px) and (max-width: 375px) {
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    header .h-20 {
        height: 4rem;
    }
    
    .text-4xl {
        font-size: 2rem;
        line-height: 2.25rem;
    }
}

/* Medium devices (tablets, 414px and up) */
@media (min-width: 376px) and (max-width: 414px) {
    .text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }
}

/* Large devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 1023px) {
    .md\:text-5xl {
        font-size: 2.75rem;
        line-height: 1.1;
    }
    
    .md\:gap-8 {
        gap: 1.75rem;
    }
    
    /* Improve dropdown positioning on tablets */
    .dropdown-menu {
        min-width: 22rem;
        max-width: 30rem;
    }
}

/* Extra large devices (desktops, 1024px and up) */
@media (min-width: 1024px) and (max-width: 1279px) {
    .lg\:text-6xl {
        font-size: 3.5rem;
        line-height: 1;
    }
    
    .container {
        max-width: 1200px;
    }
}

/* 2XL devices (large desktops, 1280px and up) */
@media (min-width: 1280px) and (max-width: 1439px) {
    .lg\:text-6xl {
        font-size: 3.75rem;
        line-height: 1;
    }
    
    .container {
        max-width: 1280px;
    }
}

/* 3XL devices (extra large desktops, 1440px and up) */
@media (min-width: 1440px) {
    .lg\:text-6xl {
        font-size: 4rem;
        line-height: 1;
    }
    
    .container {
        max-width: 1400px;
    }
    
    .md\:gap-8 {
        gap: 3rem;
    }
}

/* ===== DROPDOWN RESPONSIVE ENHANCEMENTS ===== */

/* Enhanced dropdown positioning for different screen sizes */
@media (min-width: 769px) and (max-width: 1024px) {
    .dropdown-menu {
        min-width: 20rem;
        max-width: 28rem;
    }
    
    .dropdown-item {
        padding: 0.625rem 1.125rem;
        font-size: 0.9rem;
    }
}

@media (min-width: 1025px) and (max-width: 1280px) {
    .dropdown-menu {
        min-width: 19rem;
        max-width: 26rem;
    }
    
    .dropdown-item {
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
}

@media (min-width: 1281px) {
    .dropdown-menu {
        min-width: 20rem;
        max-width: 28rem;
    }
    
    .dropdown-item {
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
}

/* ===== HERO SECTION RESPONSIVE ENHANCEMENTS ===== */

@media (max-width: 320px) {
    .hero-title {
        font-size: 1.5rem !important;
        line-height: 1.75rem !important;
    }
    
    .hero-subtitle {
        font-size: 0.875rem !important;
        line-height: 1.25rem !important;
    }
    
    .hero-button {
        padding: 0.75rem 1.5rem !important;
        font-size: 0.875rem !important;
    }
}

@media (min-width: 321px) and (max-width: 375px) {
    .hero-title {
        font-size: 1.75rem !important;
        line-height: 2rem !important;
    }
    
    .hero-subtitle {
        font-size: 1rem !important;
        line-height: 1.5rem !important;
    }
}

@media (min-width: 376px) and (max-width: 414px) {
    .hero-title {
        font-size: 2rem !important;
        line-height: 2.25rem !important;
    }
    
    .hero-subtitle {
        font-size: 1.125rem !important;
        line-height: 1.75rem !important;
    }
}

/* ===== SECTIONS RESPONSIVE ENHANCEMENTS ===== */

/* Improve spacing for different screen sizes */
@media (max-width: 480px) {
    .py-20 {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    
    .sm\:py-28 {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    
    .p-8 {
        padding: 1.5rem;
    }
    
    .p-4 {
        padding: 1rem;
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    .py-20 {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    
    .sm\:py-28 {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .py-20 {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
    
    .sm\:py-28 {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

/* ===== GRID RESPONSIVE ENHANCEMENTS ===== */

@media (max-width: 480px) {
    .grid {
        gap: 1.5rem;
    }
    
    .lg\:grid-cols-2 {
        grid-template-columns: 1fr;
    }
    
    .gap-10 {
        gap: 1.5rem;
    }
    
    .lg\:gap-16 {
        gap: 2rem;
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    .grid {
        gap: 2rem;
    }
    
    .gap-10 {
        gap: 2rem;
    }
    
    .lg\:gap-16 {
        gap: 2.5rem;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .grid {
        gap: 2.5rem;
    }
    
    .gap-10 {
        gap: 2.5rem;
    }
    
    .lg\:gap-16 {
        gap: 3rem;
    }
}

/* ===== CARD RESPONSIVE ENHANCEMENTS ===== */

@media (max-width: 480px) {
    .max-w-2xl {
        max-width: 100%;
    }
    
    .max-w-lg {
        max-width: 100%;
    }
    
    .rounded-xl {
        border-radius: 0.5rem;
    }
    
    .shadow-2xl {
        box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    .max-w-2xl {
        max-width: 90%;
    }
    
    .max-w-lg {
        max-width: 90%;
    }
}

/* ===== BUTTON RESPONSIVE ENHANCEMENTS ===== */

@media (max-width: 480px) {
    .h-11 {
        height: 2.5rem;
    }
    
    .px-8 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    
    .py-6 {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
    
    .text-lg {
        font-size: 1rem;
        line-height: 1.5rem;
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    .h-11 {
        height: 2.75rem;
    }
    
    .px-8 {
        padding-left: 1.75rem;
        padding-right: 1.75rem;
    }
    
    .py-6 {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }
}

/* ===== MOBILE MENU RESPONSIVE ENHANCEMENTS ===== */

@media (max-width: 480px) {
    #mobile-menu .text-lg {
        font-size: 1rem;
    }
    
    #mobile-menu .py-3 {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
    
    #mobile-menu .px-4 {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    #mobile-menu .text-lg {
        font-size: 1.125rem;
    }
    
    #mobile-menu .py-3 {
        padding-top: 0.875rem;
        padding-bottom: 0.875rem;
    }
}

/* ===== UTILITY RESPONSIVE ENHANCEMENTS ===== */

/* Improve text sizing across devices */
@media (max-width: 480px) {
    .text-3xl {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    
    .md\:text-4xl {
        font-size: 1.75rem;
        line-height: 2.25rem;
    }
    
    .text-xl {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    .text-3xl {
        font-size: 1.75rem;
        line-height: 2.25rem;
    }
    
    .md\:text-4xl {
        font-size: 2rem;
        line-height: 2.5rem;
    }
}

/* ===== ACCESSIBILITY ENHANCEMENTS ===== */

/* Ensure minimum touch target size */
@media (max-width: 768px) {
    .dropdown-trigger,
    .nav-link,
    button,
    a {
        min-height: 44px;
        min-width: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .dropdown-item {
        min-height: 48px;
        display: flex;
        align-items: center;
    }
}

/* ===== PERFORMANCE OPTIMIZATIONS ===== */

/* Reduce animations on low-end devices */
@media (prefers-reduced-motion: reduce) {
    .transition-all,
    .transition-colors,
    .transition-transform {
        transition: none !important;
    }
    
    .animate-pulse,
    .animate-bounce {
        animation: none !important;
    }
}

/* ===== PRINT STYLES ===== */

@media print {
    .fixed,
    .dropdown-menu,
    #mobile-menu,
    .hamburger-button {
        display: none !important;
    }
    
    .container {
        max-width: none !important;
        padding: 0 !important;
    }
    
    body {
        background: white !important;
        color: black !important;
    }
}


