/* BAVET Responsive Design Enhancements */

/* Mobile First Approach */
@media (max-width: 640px) {
    .text-responsive-xl {
        font-size: 2rem;
    }
    
    .text-responsive-lg {
        font-size: 1.75rem;
    }
    
    .text-responsive-md {
        font-size: 1.25rem;
    }
    
    .section-padding {
        padding: 40px 0;
    }
    
    .btn-bavet {
        padding: 10px 20px;
        font-size: 14px;
    }
    
    .btn-bavet-outline {
        padding: 8px 18px;
        font-size: 14px;
    }
}

/* Tablet */
@media (min-width: 641px) and (max-width: 1024px) {
    .text-responsive-xl {
        font-size: 3rem;
    }
    
    .text-responsive-lg {
        font-size: 2.25rem;
    }
    
    .text-responsive-md {
        font-size: 1.5rem;
    }
    
    .section-padding {
        padding: 60px 0;
    }
}

/* Desktop */
@media (min-width: 1025px) {
    .text-responsive-xl {
        font-size: 4rem;
    }
    
    .text-responsive-lg {
        font-size: 2.5rem;
    }
    
    .text-responsive-md {
        font-size: 1.75rem;
    }
    
    .section-padding {
        padding: 80px 0;
    }
}

/* Navigation Responsive */
@media (max-width: 1024px) {
    .nav-desktop {
        display: none;
    }
    
    .nav-mobile {
        display: block;
    }
}

@media (min-width: 1025px) {
    .nav-desktop {
        display: flex;
    }
    
    .nav-mobile {
        display: none;
    }
}

/* Hero Section Responsive */
@media (max-width: 768px) {
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .hero-content {
        text-align: center;
    }
    
    .hero-image {
        order: -1;
    }
}

@media (min-width: 769px) {
    .hero-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Menu Grid Responsive */
@media (max-width: 640px) {
    .menu-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 641px) and (max-width: 1024px) {
    .menu-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1025px) {
    .menu-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Facilities Grid Responsive */
@media (max-width: 640px) {
    .facilities-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 641px) and (max-width: 1024px) {
    .facilities-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1025px) {
    .facilities-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Contact Section Responsive */
@media (max-width: 1024px) {
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* Footer Responsive */
@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .footer-logo {
        text-align: center;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1025px) {
    .footer-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Button Responsive */
@media (max-width: 640px) {
    .btn-group {
        flex-direction: column;
        gap: 1rem;
    }
    
    .btn-group .btn-bavet,
    .btn-group .btn-bavet-outline {
        width: 100%;
    }
}

/* Animation Performance */
@media (prefers-reduced-motion: reduce) {
    .animate-float,
    .animate-fade-in-up,
    .animate-slide-in-left,
    .animate-slide-in-right,
    .animate-scale-in,
    .animate-wiggle,
    .animate-pulse-red {
        animation: none;
    }
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
    .btn-bavet {
        border: 2px solid #000;
    }
    
    .btn-bavet-outline {
        border-width: 3px;
    }
}

/* Print Styles */
@media print {
    .header,
    .footer,
    .btn-bavet,
    .btn-bavet-outline {
        display: none;
    }
    
    .section-padding {
        padding: 20px 0;
    }
    
    .text-responsive-xl,
    .text-responsive-lg,
    .text-responsive-md {
        font-size: 16px;
    }
}
