@media (max-width: 992px) {
  .sg-hero-inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  }
  .sg-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sg-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sg-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .sg-header-inner {
    gap: 0.7rem;
  }
  .sg-nav {
    position: absolute;
    inset-inline: 0;
    top: 58px;
    background: #f9fafb;
    flex-direction: column;
    padding: 0.8rem 1.5rem 1rem;
    border-bottom: 1px solid rgba(209, 213, 219, 0.9);
    transform-origin: top;
    transform: scaleY(0.9);
    opacity: 0;
    pointer-events: none;
    transition: 0.18s ease-out;
  }
  .sg-nav--open {
    transform: scaleY(1);
    opacity: 1;
    pointer-events: auto;
  }
  .sg-nav-toggle {
    display: inline-flex;
  }
  .sg-hero-inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .sg-hero-media {
    order: -1;
  }
  .sg-hero-main-card img {
    height: 220px;
  }
  .sg-booking-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .sg-grid-4,
  .sg-grid-3,
  .sg-grid-2 {
    grid-template-columns: minmax(0, 1fr);
  }
  .sg-section-header-inline {
    flex-direction: column;
    align-items: flex-start;
  }
  .sg-form-row-2 {
    grid-template-columns: minmax(0, 1fr);
  }
  .sg-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sg-cookie {
    flex-direction: column;
  }
}

@media (max-width: 520px) {
  .sg-footer-main {
    grid-template-columns: minmax(0, 1fr);
  }
  .sg-gallery {
    grid-template-columns: minmax(0, 1fr);
  }
}
