/* =========================================================
   SHAMROCK LODGE — RESPONSIVE STYLES
   Mobile-first breakpoints layered over style.css
   ========================================================= */

/* ----- Large screens tighten container ----- */
@media (max-width: 1200px) {
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-grid .footer-col-newsletter { grid-column: 1 / -1; }
}

/* ----- Tablet ----- */
@media (max-width: 992px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
  .gallery-grid { columns: 3 200px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

/* ----- Mobile nav + stacking ----- */
@media (max-width: 860px) {
  .nav-links {
    position: fixed;
    top: 0; right: -100%;
    width: min(320px, 82vw);
    height: 100vh;
    background: var(--color-primary-dark);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1.6rem;
    padding: 2rem 2.4rem;
    transition: right var(--transition);
    box-shadow: -20px 0 50px -20px rgba(0,0,0,0.5);
  }
  .nav-links.open { right: 0; }
  .nav-links a { color: var(--color-white) !important; font-size: 0.95rem; }
  .nav-toggle { display: flex; }
  .navbar.solid .nav-toggle span { background: var(--color-primary-dark); }
  .navbar:not(.solid) .nav-toggle span { background: var(--color-white); }
  .nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2) { opacity: 0; }
  .nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .stats-row { gap: var(--space-md); }
  .gallery-grid { columns: 2 160px; }
}

/* ----- Small mobile ----- */
@media (max-width: 560px) {
  section { padding: var(--space-lg) 0; }
  .hero h1 { font-size: 2.2rem; }
  .hero p.sub { font-size: 1rem; }
  .hero-actions { flex-direction: column; width: 100%; }
  .hero-actions .btn { width: 100%; }
  .page-hero { min-height: 38vh; padding-top: 6rem; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .gallery-grid { columns: 2 140px; }
  .menu-item { flex-direction: column; gap: 0.2rem; }
}

/* ----- Reduced motion ----- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
  .hero-bg { transform: none !important; }
}

/* ----- Print ----- */
@media print {
  .navbar, .back-to-top, .lightbox, .scroll-indicator { display: none !important; }
}
