/* Large Desktop */
@media (min-width: 1400px) { .container { max-width: 1320px; } .hero-logo-main { font-size: 5rem; } }

/* Desktop */
@media (max-width: 1200px) {
    .container { max-width: 960px; }
    .hero-logo-main { font-size: 4rem; }
    .form-container, .request-container, .contact-grid { grid-template-columns: 1fr; gap: 40px; }
    .highlight-card { grid-template-columns: 1fr; }
    .highlight-image { min-height: 200px; order: -1; }
}

/* Tablet */
@media (max-width: 992px) {
    .container { max-width: 720px; }
    .hero-logo-main { font-size: 3.5rem; }
    .hero-cta { flex-direction: column; align-items: center; gap: 15px; }
    .hero-cta .cta-button { width: 250px; }
    .hero-info { flex-direction: column; gap: 20px; }
    .main-nav { display: none; }
    .language-switch.desktop { display: none; }
    .mobile-menu-toggle { display: block; }
    .header-actions .cta-button.small { display: none; }
    .form-row { flex-direction: column; gap: 15px; }
    .events-grid, .special-grid, .week-schedule, .transport-info { grid-template-columns: repeat(auto-fit, minmax(250px,1fr)); }
    .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(250px,1fr)); }
    .instagram-grid { grid-template-columns: repeat(auto-fill, minmax(120px,1fr)); }
    .video-grid { grid-template-columns: 1fr; max-width: 500px; }
    .menu-highlights { grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); }
    .atmosphere-features { grid-template-columns: repeat(2,1fr); }
}

/* Mobile */
@media (max-width: 768px) {
    .container { padding: 0 15px; }
    .hero-section { min-height: 500px; }
    .hero-logo-main { font-size: 2.8rem; letter-spacing: 3px; }
    .hero-logo-sub { font-size: 1.6rem; }
    .hero-logo-sub.en { font-size: 1.2rem; }
    .section-title, .page-title { font-size: 2rem; }
    .section-subtitle, .page-subtitle { font-size: 1rem; }
    .organic-divider { height: 70px; }
    .reservation-form, .music-form, .contact-form { padding: 20px; }
    .events-grid, .special-grid, .week-schedule { grid-template-columns: 1fr; }
    .event-card.detailed { grid-template-columns: 1fr; }
    .special-date { min-height: 80px; }
    .category-tab, .filter-btn { padding: 8px 15px; font-size: 0.9rem; }
    .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(150px,1fr)); gap: 10px; }
    .gallery-item { height: 200px; }
    .instagram-grid { grid-template-columns: repeat(auto-fill, minmax(100px,1fr)); }
    .insta-post { height: 100px; }
    .menu-highlights { grid-template-columns: 1fr; max-width: 300px; margin: 0 auto; }
    .atmosphere-features { grid-template-columns: 1fr; max-width: 300px; margin: 0 auto; }
    .feature { padding: 15px; }
    .footer-grid { grid-template-columns: 1fr; text-align: center; }
    .footer-address, .footer-phone, .footer-email { justify-content: center; }
    .social-link { justify-content: center; }
    .newsletter-form { flex-direction: column; }
    .map-info { padding: 20px; margin: 20px; }
    .map-info h3 { font-size: 1.5rem; }
    .faq-question h3 { font-size: 1rem; }
    .mobile-reservation-btn { bottom: 20px; right: 20px; width: 50px; height: 50px; }
    .mobile-reservation-btn i { font-size: 1.3rem; }
    .mobile-reservation-btn span { font-size: 0.6rem; }
}

/* Small Mobile */
@media (max-width: 576px) {
    .hero-logo-main { font-size: 2.2rem; }
    .hero-logo-sub { font-size: 1.4rem; }
    .cta-button { padding: 10px 20px; font-size: 0.9rem; }
    .section-title { font-size: 1.8rem; }
    .organic-divider { height: 50px; }
    .leaf { width: 60px; height: 60px; }
    .leaf-1, .leaf-2 { display: block; width: 80px; height: 80px; }
    .vine-1, .vine-2 { display: none; }
    .calendar-header { flex-direction: column; }
    .menu-item { padding: 15px; }
    .item-header { flex-direction: column; align-items: flex-start; gap: 10px; }
    .item-price { align-self: flex-end; margin-top: -30px; }
    .mobile-nav-link { font-size: 1.5rem; }
    .logo-text { font-size: 1.5rem; }
    .logo-subtitle { font-size: 0.6rem; }
}

/* Landscape Mode */
@media (max-height: 600px) and (orientation: landscape) {
    .hero-section { min-height: 400px; padding-top: 80px; }
    .hero-logo-main { font-size: 2.5rem; }
    .scroll-indicator { display: none; }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
    .leaf, .vine, .particle { display: none; }
}