/* =============================================================================
   responsive.css — breakpoint overrides. Loaded last so it wins the cascade.
   Breakpoints: 1080px (laptop), 860px (tablet), 600px (mobile)
   ============================================================================= */

/* ------------------------------- 1080px: laptop --------------------------------- */
@media (max-width: 1080px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .sidebar-layout { grid-template-columns: 260px 1fr; }
  .search-box { grid-template-columns: 1fr 1fr; }
}

/* ------------------------------- 860px: tablet ----------------------------------- */
@media (max-width: 860px) {
  :root { --header-height: 66px; }

  .main-nav {
    position: fixed; top: var(--header-height); left: 0; right: 0; bottom: 0;
    background: var(--color-ivory); flex-direction: column; align-items: flex-start;
    padding: var(--space-lg) var(--space-md); gap: var(--space-sm);
    transform: translateX(-100%); transition: transform 0.25s ease; z-index: 999;
    overflow-y: auto;
  }
  .main-nav--open { transform: translateX(0); }
  .nav-link { font-size: 1.05rem; width: 100%; padding: 0.7rem 0; border-bottom: 1px solid var(--color-line); }
  .hamburger { display: flex; }
  .header-actions .btn--ghost { display: none; }

  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; padding: var(--space-xl) 0 var(--space-md); }

  .sidebar-layout { grid-template-columns: 1fr; }
  .dash-sidebar { position: static; }

  .hall-list-item { grid-template-columns: 1fr; }
  .hall-list-item__body { padding: 0 var(--space-md) var(--space-md); }

  .form-row { grid-template-columns: 1fr; }
  .facility-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ------------------------------- 600px: mobile ------------------------------------ */
@media (max-width: 600px) {
  .container { padding: 0 var(--space-sm); }
  .section { padding: var(--space-xl) 0; }

  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }

  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }

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

  .footer__grid { grid-template-columns: 1fr; text-align: left; }
  .footer__bottom-inner { flex-direction: column; text-align: center; }

  .stepper__label { display: none; }
  .facility-grid { grid-template-columns: repeat(2, 1fr); }

  .booking-table { display: block; overflow-x: auto; white-space: nowrap; }

  .search-box { grid-template-columns: 1fr; padding: var(--space-sm); }
  .search-box .budget-fields { flex-direction: column; }

  .brand__word-img { height: 18px; }

  .gallery__thumbs img { width: 72px; height: 54px; }

  .btn--lg { width: 100%; }
}
