/* ============================================================
   RESPONSIVE.CSS — organized min→max media queries
   ============================================================ */

/* ---------- Laptop / Small Desktop (<=1200px) ---------- */
@media (max-width: 1200px) {
  .rooms-grid { grid-template-columns: repeat(2, 1fr); }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .amenities-grid { grid-template-columns: repeat(3, 1fr); }
  .attractions-grid { grid-template-columns: repeat(3, 1fr); }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr 1fr; }
}

/* ---------- Tablet (<=980px) ---------- */
@media (max-width: 980px) {
  :root { --header-h: 74px; }

  .nav { display: none; }
  .hamburger { display: flex; }

  .booking-card { grid-template-columns: repeat(3, 1fr); }
  .booking-card__submit { grid-column: span 3; }

  .about, .dining__inner { grid-template-columns: 1fr; gap: 40px; }
  .about__media { order: 2; }
  .about__img--2 { position: static; width: 55%; margin-top: 16px; border: none; }
  .about__img--1 { width: 100%; }

  .offers-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }

  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: span 2; }
}

/* ---------- Mobile Landscape (<=760px) ---------- */
@media (max-width: 760px) {
  .section { padding: 76px 0; }

  .rooms-grid, .why-grid, .amenities-grid { grid-template-columns: 1fr 1fr; }
  .amenities-grid { grid-template-columns: repeat(2, 1fr); }
  .attractions-grid { grid-template-columns: repeat(2, 1fr); }
  .awards-grid { gap: 30px; }

  .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; }
  .gallery-item:nth-child(4n+1) { grid-row: span 1; }

  .offers-grid { grid-template-columns: 1fr; }

  .hero__actions { flex-direction: column; align-items: flex-start; }

  .booking-card { grid-template-columns: 1fr 1fr; padding: 24px 20px; }
  .booking-card__submit { grid-column: span 2; }

  .newsletter__inner { flex-direction: column; text-align: center; }
  .newsletter__form { width: 100%; }
  .newsletter__form input { width: 100%; }

  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: span 2; }
}

/* ---------- Mobile Portrait (<=560px) ---------- */
@media (max-width: 560px) {
  .container { padding-inline: 20px; }

  .hero { min-height: 88vh; }
  .hero__title { font-size: clamp(2.1rem, 9vw, 2.8rem); }

  .rooms-grid, .why-grid, .amenities-grid, .attractions-grid, .gallery-grid { grid-template-columns: 1fr; }
  .gallery-item:nth-child(4n+1) { grid-row: span 1; }
  .gallery-grid { grid-auto-rows: 220px; }

  .stats { grid-template-columns: 1fr 1fr; gap: 24px; }

  .booking-card { grid-template-columns: 1fr; }
  .booking-card__submit { grid-column: span 1; }

  .dining__meals { grid-template-columns: 1fr; gap: 10px; }

  .video-section__bg { background-attachment: scroll; }

  .footer__grid { grid-template-columns: 1fr; text-align: center; }
  .footer__brand { grid-column: span 1; }
  .social-icons, .social-icons--footer { justify-content: center; }

  .awards-grid { gap: 22px; }
  .award { font-size: 1.8rem; }

  .back-to-top { right: 18px; bottom: 18px; width: 44px; height: 44px; }
}
