/* Mobile-specific styles and optimizations */

/* Mobile Menu Styles */
@media (max-width: 767px) {
    .header__menu {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100vh;
        background: rgba(0, 0, 0, 0.95);
        backdrop-filter: blur(10px);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 3rem;
        transition: left 0.3s ease;
        z-index: 999;
    }
    
    .header__menu.active {
        left: 0;
    }
    
    .header__menu a {
        font-size: 2rem;
        padding: 1rem;
    }
    
    body.menu-open {
        overflow: hidden;
    }
}

/* Very Small Screens - 375px */
@media (max-width: 375px) {
    .container {
        padding: 0 0.75rem;
    }
    
    .section {
        padding: 1.5rem 0;
    }
    
    .section-title {
        font-size: 2rem;
        margin-bottom: 1rem;
    }
    
    .hero {
        min-height: 450px;
    }
    
    .hero__card {
        width: 280px;
        height: 380px;
        border-radius: 140px 140px 0 0;
    }
    
    .hero__title {
        font-size: 2.5rem;
        top: 70px;
    }
    
    .hero__divider {
        top: 140px;
    }
    
    .hero__address {
        font-size: 0.9rem;
        top: 147px;
    }
    
    .btn--outline {
        top: 110px;
        font-size: 0.9rem;
        padding: 0.7rem 1.4rem;
    }
    
    .about__text {
        font-size: 0.95rem;
    }
    
    .event__type {
        font-size: 1.3rem;
    }
    
    .event__title {
        font-size: 1.6rem;
    }
    
    .event__schedule,
    .event__time {
        font-size: 1.1rem;
    }
    
    .promotion__title {
        font-size: 1.8rem;
    }
    
    .btn--large {
        padding: 1rem 1.8rem;
        font-size: 1.2rem;
    }
    
    .review__name {
        font-size: 1.3rem;
    }
    
    .review__text {
        font-size: 0.95rem;
    }
    
    .star {
        font-size: 1.3rem;
    }
    
    .review__cta {
        padding: 1rem 2rem;
        font-size: 1.2rem;
    }
    
    .form-label {
        font-size: 0.95rem;
    }
    
    .form-input {
        padding: 0.9rem 1.3rem;
        font-size: 0.95rem;
    }
    
    .booking__submit {
        padding: 0.9rem 1.8rem;
        font-size: 0.95rem;
        margin-top: 2rem;
        top: -20px;
    }
    
    .footer__brand {
        font-size: 1rem;
    }
    
    .footer__menu {
        font-size: 1.1rem;
    }
    
    .footer__title {
        font-size: 1rem;
    }
    
    .mobile-menu {
        width: 240px;
        padding: 1.2rem 0.8rem;
    }
    
    .mobile-menu__nav a {
        font-size: 1.1rem;
    }
}

/* Small Mobile - 375px – 480px */
@media (min-width: 375px) and (max-width: 480px) {
    .hero {
        min-height: 500px;
        padding: 1.5rem 1rem;
    }
    
    .event {
        gap: 1.5rem;
        margin-bottom: 3.5rem;
    }
    
    .event__content .btn {
        margin-top: 1.5rem;
        padding: 0.9rem 1.8rem;
        font-size: 0.95rem;
    }
    
    .gallery__grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .gallery__item--large {
        grid-row: auto;
    }
    
    .booking__form {
        gap: 1.5rem;
    }
    
    .footer__content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    

    
    .review-platform {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/* Medium Mobile - 481px – 767px */
@media (min-width: 481px) and (max-width: 767px) {
    .hero {
        padding: 2rem 1.5rem;
    }
    
    .event {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-bottom: 4rem;
    }
    
    .event--image-right {
        direction: ltr;
    }
    
    .gallery__grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .gallery__item--large {
        grid-row: auto;
    }
    
    .booking__form {
        gap: 2rem;
    }
    
    .footer__content {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.5rem;
    }
    
    .review-platform {
        flex-direction: row;
        align-items: center;
        gap: 1rem;
    }
}

/* Touch-friendly interactions */
@media (hover: none) and (pointer: coarse) {
    .btn,
    .social-link,
    .language-switcher__toggle,
    .header__mobile-toggle {
        min-height: 44px;
        min-width: 44px;
    }
    
    .header__menu a {
        padding: 1rem 2rem;
        min-height: 44px;
        display: flex;
        align-items: center;
    }
    
    .mobile-menu__nav a {
        padding: 1rem;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .form-input {
        min-height: 44px;
    }
}

/* Reduce motion for mobile users who prefer it */
@media (prefers-reduced-motion: reduce) and (max-width: 767px) {
    .header__menu {
        transition: none;
    }
    
    .hero__card {
        animation: none;
    }
    
    .fade-in-up {
        animation: none;
    }
    
    .mobile-menu {
        transition: none;
    }
    
    .mobile-menu-overlay {
        transition: none;
    }
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .hero__background img,
    .restaurant-image img,
    .gallery__item img {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Landscape mobile orientation */
@media (max-width: 767px) and (orientation: landscape) {
    .hero {
        min-height: 400px;
    }
    
    .hero__card {
        width: 350px;
        height: 300px;
        border-radius: 150px 150px 0 0;
    }
    
    .hero__title {
        font-size: 2rem;
        top: 50px;
    }
    
    .hero__divider {
        top: 120px;
    }
    
    .hero__address {
        top: 127px;
    }
    
    .btn--outline {
        top: 90px;
    }
    
    .section {
        padding: 2rem 0;
    }
}

/* Landscape tablet orientation - 768px – 1024px */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
    .hero {
        min-height: 500px;
    }
    
    .hero__card {
        width: 450px;
        height: 400px;
    }
    
    .section {
        padding: 3rem 0;
    }
}

/* Large tablet and small desktop adjustments */
@media (min-width: 768px) and (max-width: 1024px) {
    .header__menu {
        gap: 1.5rem;
    }
    
    .header__menu a {
        font-size: 1rem;
    }
    
    .event {
        gap: 3rem;
    }
    
    .booking__form {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }
    
    .booking__submit {
        grid-column: 1 / -1;
        justify-self: center;
    }
}

/* Medium desktop - 1025px – 1280px */
@media (min-width: 1025px) and (max-width: 1280px) {
    .container {
        max-width: 1200px;
    }
    .hero__card {
        max-width: 650px;
    }
 
    .about__content {
        gap: 15rem;
    }
    
    .event {
        gap: 3.5rem;
    }
    
    .booking__form {
        max-width: 1000px;
        margin: 0 auto;
    }
}

/* Large desktop - 1281px – 1600px */
@media (min-width: 1281px) and (max-width: 1600px) {
    .container {
        max-width: 1400px;
    }
    
    .section {
        padding: 3rem 0;
    }
    .btn--large{
        font-size: 4.5rem;
        padding: 1rem 4rem;
    }
}

/* Extra large screens - 1600px+ */
@media (min-width: 1510px) {
    .container {
        max-width: 1600px;
    }
    
    .section {
        padding: 3rem 0;
    }
    
    .hero {
        min-height: 800px;
    }
    
    .hero__card {
        width: 900px;
        height: 750px;
        border-radius: 450px 450px 0 0;
    }
    
    .hero__title {
        font-size: 120px;
        top: 170px;
    }
    
    .hero__divider {
        top: 320px;
    }
    
    .hero__address {
        font-size: 2rem;
        top: 327px;
    }
    
    .btn--outline {
        top: 260px;
        font-size: 35px;
    }
    
    .section-title {
        font-size: 72px;
    }
    
    .about__text {
        font-size: 26px;
        line-height: 1.9;
        position: relative;
        left: 26%;
    }
    
    .event__type {
        font-size: 68px;
    }
    
    .event__title {
        font-size: 48px;
    }
    
    .event__schedule,
    .event__time {
        font-size: 2.8rem;
    }
    
    .event__content .btn {
        font-size: 2.5rem;
        padding: 1.7rem 3.2rem;
    }
    
    .promotion__title {
        font-size: 68px;
    }
    
    .btn--large {
        font-size: 4rem;
        padding: 1rem 4rem;
    }
    
    .review__text {
        font-size: 27px;
    }
    
    .star {
        font-size: 3rem;
    }
    
    .review__cta {
        font-size: 3rem;
        padding: 2rem 6rem;
    }
    
    .form-label {
        font-size: 2.2rem;
    }
    
    .form-input {
        font-size: 2rem;
        padding: 16px 2rem;
    }
    
    .booking__submit {
        font-size: 32px;
        padding: 1.5rem 25px;
    }
}

/* Ultra-wide screens - 2000px+ */
@media (min-width: 2000px) {
    .container {
        max-width: 1800px;
    }
    
    .hero__card {
        width: 1000px;
        height: 850px;
        border-radius: 500px 500px 0 0;
    }
    
    .hero__title {
        font-size: 140px;
        top: 200px;
    }
    

}