@media (max-width: 1120px) {
  .main-nav, .auth-actions { display: none; }
  .hamburger { display: block; }
  .main-nav.open {
    display: grid;
    position: absolute;
    left: 16px;
    right: 16px;
    top: 122px;
    background: #fff;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow);
  }
  .main-nav.open a { padding: 13px; }
  .booking-form { grid-template-columns: repeat(2, 1fr); }
  .booking-form .btn { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .section { padding: 62px 0; }
  .hero, .hero-content { min-height: 620px; }
  .hero-content { padding-bottom: 120px; }
  .split, .detail-layout, .admin-layout, .grid.two, .grid.three, .grid.four { grid-template-columns: 1fr; }
  .stat-grid, .gallery-mosaic { grid-template-columns: repeat(2, 1fr); }
  .page-hero { padding: 86px 0 58px; }
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; }
}

@media (max-width: 560px) {
  .container { width: min(100% - 22px, 1180px); }
  .topbar { display: none; }
  .navrow { min-height: 68px; }
  .main-nav.open { top: 76px; }
  .hero, .hero-content { min-height: 590px; }
  .hero h1 { font-size: 2.35rem; }
  .hero-dots { bottom: 82px; }
  .booking-bar { margin-top: -48px; }
  .booking-form { grid-template-columns: 1fr; padding: 14px; }
  .stat-grid, .gallery-mosaic, .footer-grid { grid-template-columns: 1fr; }
  .newsletter { flex-direction: column; }
  .footer-bottom { display: block; }
  .floating-actions { right: 12px; bottom: 14px; }
  .float-btn, .back-top { width: 44px; height: 44px; }
  .auth-panel { padding: 24px; }
  .admin-main { padding: 18px; overflow-x: auto; }
}
