/* =====================================================
   LUMIÈRE — RESTAURANTE PREMIUM ONE PAGE
   Avanthy Sites Template Library
   responsive.css — Mobile-First Breakpoints
   ===================================================== */

/* ===================== TABLET LANDSCAPE — ≤1100px ===================== */
@media (max-width: 1100px) {

  :root { --container-pad: 32px; }

  /* About */
  .about-grid { gap: 48px; }
  .about-img-secondary { right: -20px; width: 200px; }
  .about-img-secondary img { height: 200px; }

  /* Differentials */
  .differentials-grid { grid-template-columns: repeat(2, 1fr); }

  /* Menu */
  .menu-grid { grid-template-columns: repeat(2, 1fr); }

  /* Footer */
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand p { max-width: 520px; }

  /* Contact */
  .contact-grid { grid-template-columns: repeat(2, 1fr); }

  /* Location */
  .location-grid { gap: 36px; }
}

/* ===================== TABLET — ≤900px ===================== */
@media (max-width: 900px) {

  :root {
    --section-padding: 80px 0;
    --container-pad: 24px;
  }

  /* Navigation — hide desktop, show hamburger */
  .nav-menu  { display: none; }
  .hamburger { display: flex; }

  /* Hero */
  .hero-script { font-size: clamp(4rem, 14vw, 7rem); }
  .hero-actions { gap: 12px; }

  /* About */
  .about-grid {
    grid-template-columns: 1fr;
    gap: 60px;
  }
  .about-images {
    max-width: 560px;
    margin: 0 auto;
  }
  .about-img-main img { height: 440px; }
  .about-badge { top: 30px; left: -16px; width: 100px; height: 100px; }
  .badge-number { font-size: 2rem; }

  /* Differentials */
  .differentials-grid { grid-template-columns: repeat(2, 1fr); }

  /* Menu */
  .menu-tabs { flex-wrap: wrap; gap: 0; }
  .menu-tab  { padding: 10px 18px; font-size: 0.65rem; }
  .menu-grid { grid-template-columns: 1fr 1fr; gap: 20px; }

  /* Featured swiper */
  .featured-slide-inner img { height: 400px; }
  .featured-slide-caption { padding: 28px 32px; }

  /* Experience */
  .experience { padding: 100px 0; }

  /* Gallery */
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-item--large { grid-column: span 1; }
  .gallery-item img,
  .gallery-item--large img { height: 240px; }

  /* Reservation */
  .reservation-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .reservation-form-wrapper { padding: 36px 28px; }

  /* Location */
  .location-grid { grid-template-columns: 1fr; }
  .map-container { height: 340px; }

  /* Contact */
  .contact-grid { grid-template-columns: repeat(2, 1fr); }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-brand { grid-column: 1 / -1; }
}

/* ===================== MOBILE — ≤600px ===================== */
@media (max-width: 600px) {

  :root {
    --section-padding: 64px 0;
    --container-pad: 20px;
  }

  /* Section headers */
  .section-header { margin-bottom: 40px; }

  /* Hero */
  .hero-tagline   { font-size: 0.58rem; letter-spacing: 0.2em; }
  .hero-script    { font-size: clamp(3.4rem, 16vw, 5.5rem); }
  .hero-subtitle  { font-size: 0.95rem; }
  .hero-actions   { flex-direction: column; width: 100%; max-width: 280px; margin: 0 auto; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-scroll    { display: none; }

  /* About */
  .about-img-main img { height: 300px; }
  .about-img-secondary {
    position: static;
    width: 100%;
    margin-top: -24px;
    border: 4px solid var(--color-white);
  }
  .about-img-secondary img { height: 180px; }
  .about-badge { display: none; }
  .about-stats { flex-direction: column; gap: 24px; }
  .stat-divider { width: 60px; height: 1px; }

  /* Differentials */
  .differentials-grid { grid-template-columns: 1fr; gap: 2px; }
  .diff-card { padding: 36px 28px; }

  /* Menu */
  .menu-tabs {
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .menu-tabs::-webkit-scrollbar { display: none; }
  .menu-tab { white-space: nowrap; padding: 10px 16px; }
  .menu-grid { grid-template-columns: 1fr; gap: 20px; }
  .menu-card-img { height: 200px; }

  /* Featured */
  .featured-slide-inner img { height: 300px; }
  .featured-slide-caption { padding: 20px 24px; }
  .featured-slide-caption h3 { font-size: 1.4rem; }
  .swiper-button-next,
  .swiper-button-prev { display: none !important; }

  /* Experience */
  .experience { padding: 80px 0; }
  .experience-text { font-size: 1rem; }
  .experience-features { gap: 16px; }
  .exp-feature span { font-size: 0.68rem; }

  /* Gallery */
  .gallery-grid { grid-template-columns: 1fr 1fr; gap: 4px; }
  .gallery-item img,
  .gallery-item--large img { height: 160px; }

  /* Reviews */
  .reviews-rating-summary { flex-direction: column; gap: 8px; }
  .review-card { padding: 32px 24px; }
  .review-text { font-size: 0.95rem; }

  /* Reservation */
  .reservation-form-wrapper { padding: 28px 20px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .reservation-highlights { gap: 16px; }

  /* Location */
  .map-container { height: 260px; }
  .location-card { padding: 28px 20px; }

  /* Contact */
  .contact-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .contact-card { padding: 28px 16px; }
  .contact-icon { width: 48px; height: 48px; }
  .contact-icon i { font-size: 1.1rem; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-top { padding: 56px 0; }
  .footer-bottom-inner {
    flex-direction: column;
    text-align: center;
    gap: 4px;
  }

  /* Whatsapp float */
  .whatsapp-float { bottom: 20px; right: 20px; width: 52px; height: 52px; font-size: 1.3rem; }
  .whatsapp-tooltip { display: none; }
  .back-to-top { bottom: 20px; left: 20px; }
}

/* ===================== SMALL MOBILE — ≤380px ===================== */
@media (max-width: 380px) {

  .hero-script { font-size: 3rem; }
  .section-title { font-size: 1.8rem; }
  .contact-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-item img,
  .gallery-item--large img { height: 220px; }
  .menu-grid { grid-template-columns: 1fr; }
  .differentials-grid { grid-template-columns: 1fr; }
  .btn { padding: 12px 24px; font-size: 0.68rem; }
}

/* ===================== DESKTOP WIDE — ≥1400px ===================== */
@media (min-width: 1400px) {
  :root { --container-max: 1360px; }
  .hero-script { font-size: 11rem; }
  .menu-grid { grid-template-columns: repeat(3, 1fr); }
  .differentials-grid { grid-template-columns: repeat(3, 1fr); }
  .featured-slide-inner img { height: 580px; }
}

/* ===================== MOTION — reduced ===================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto; }
}

/* ===================== PRINT ===================== */
@media print {
  .header,
  .whatsapp-float,
  .back-to-top,
  #page-loader { display: none !important; }
  body { font-size: 12pt; color: #000; }
  .hero { height: auto; padding: 40pt 0; }
  .hero-bg { display: none; }
  .hero-content,
  .section-title,
  .section-label { color: #000 !important; }
}
