/* Responsive - Media Queries */

@media (max-width: 900px) {
  nav ul { display: none; }
  .nav-cta { display: none; }
  .burger { display: flex; }
}

@media (max-width: 768px) {
  .overview-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .overview-card {
    min-height: 90px;
    padding: 20px 20px;
  }
  
  .overview-card .card-title {
    font-size: clamp(20px, 4vw, 28px);
  }
  
  .overview-card .card-icon {
    width: 48px;
    height: 48px;
  }
}

@media (max-width: 700px) {
  .mini-gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

@media (max-width: 600px) {
  .hero {
    min-height: calc(100svh - 62px);
  }
  
  .hero .wrap {
    min-height: calc(100svh - 62px);
    padding: 45px 20px 120px;
  }
  
  .hero-bg::after {
    background: linear-gradient(180deg, rgba(5,15,22,.65) 0%, rgba(5,15,22,.72) 45%, rgba(5,15,22,.92) 100%);
  }
  
  .hero h1 {
    font-size: clamp(38px, 12vw, 54px);
    margin-top: 20px;
  }
  
  .hero p.lead { font-size: 15px; }
  
  .hero-caption {
    left: 20px;
    right: auto;
    bottom: 78px;
    padding: 11px 13px;
    min-width: 0;
  }
  
  .hero-caption strong { font-size: 16px; }
  
  .hero-side {
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    justify-content: center;
  }
  
  .gallery-masonry { grid-template-columns: 1fr; }
  .admin-gallery-grid { grid-template-columns: 1fr; }
  .field-row { grid-template-columns: 1fr; }
  .modal-box { padding: 20px; }
  .admin-toolbar { flex-direction: column; align-items: stretch; }
  nav ul { flex-wrap: wrap; gap: 8px; font-size: 13px; }
  
  .mini-gallery {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .mini-gallery .g-item {
    aspect-ratio: 16 / 9;
  }
  
  .hero-small {
    min-height: 20vh;
    height: 20vh;
  }
  .hero-small .hero-title {
    font-size: clamp(22px, 6vw, 32px);
  }
  
  .svc-detail-card { padding: 22px 20px; }
  
  .modal-overlay.booking-modal { padding: 0; }
  .modal-overlay.booking-modal .modal-box {
    max-width: 100%;
    min-height: 100vh;
  }
  .modal-overlay.booking-modal .modal-close { top: 12px; right: 12px; }
  .modal-overlay.booking-modal .booking-panel {
    border-radius: 0;
    min-height: 100vh;
  }
}

@media (max-width: 480px) {
  .overview-card {
    min-height: 80px;
    padding: 16px 18px;
  }
  .overview-card .card-title { font-size: 18px; }
  .overview-card .card-icon {
    width: 40px;
    height: 40px;
  }
}

/* Mobile Menu */
#mobileMenu {
  display: none;
  position: absolute;
  top: 68px;
  left: 0;
  right: 0;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  padding: 12px 24px 20px;
  flex-direction: column;
  gap: 4px;
}

#mobileMenu.open { display: flex; }
#mobileMenu a {
  padding: 12px 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
  border-bottom: 1px solid var(--border);
}
#mobileMenu a:last-child { border-bottom: none; }