/* responsive rebuild (replaces stripped Squarespace layout JS) */

/* --- JS-positioned autocolumns thumbnail grid -> responsive CSS grid --- */
.sqs-gallery-design-autocolumns {
  height: auto !important;
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 900px) { .sqs-gallery-design-autocolumns { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sqs-gallery-design-autocolumns { grid-template-columns: 1fr; } }
.sqs-gallery-design-autocolumns .sqs-gallery-design-autocolumns-slide {
  position: static !important;
  top: auto !important; left: auto !important;
  width: auto !important; height: auto !important;
  margin: 0 !important;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.sqs-gallery-design-autocolumns-slide .margin-wrapper,
.sqs-gallery-design-autocolumns-slide .image-slide-anchor,
.sqs-gallery-design-autocolumns-slide a { width: 100% !important; height: 100% !important; display: block; }
.sqs-gallery-design-autocolumns-slide img {
  width: 100% !important; height: 100% !important;
  object-fit: cover; display: block; position: static !important;
}

/* --- fluid media everywhere --- */
img, video, iframe { max-width: 100%; }

/* --- CSS-only mobile burger menu --- */
#mobileMenuLink { display: none !important; }   /* Squarespace's JS mobile trigger -> replaced by our burger */
#nav-burger-cb { position: absolute; opacity: 0; pointer-events: none; }
.nav-burger { display: none; }
@media (max-width: 768px) {
  .nav-burger {
    display: flex; align-items: center; justify-content: center;
    position: fixed; top: 12px; right: 16px; z-index: 100000;
    width: 44px; height: 44px; font-size: 26px; line-height: 1;
    cursor: pointer; background: rgba(255,255,255,.9); border-radius: 6px;
    -webkit-tap-highlight-color: transparent; user-select: none;
  }
  .main-nav { display: none !important; }                 /* hide desktop nav */
  #mobileNavWrapper { display: none !important; }          /* mobile nav hidden until burger tapped */
  body:has(#nav-burger-cb:checked) #mobileNavWrapper {
    display: block !important; position: fixed; inset: 0; z-index: 99999;
    background: #fff; padding: 72px 24px 24px; overflow-y: auto;
  }
  body:has(#nav-burger-cb:checked) #mobileNavWrapper .main-nav { display: block !important; }
  body:has(#nav-burger-cb:checked) #mobileNavWrapper .main-nav ul {
    display: flex !important; flex-direction: column; gap: 18px;
    list-style: none; padding: 0; margin: 0; font-size: 22px;
  }
  body:has(#nav-burger-cb:checked) .nav-burger { position: fixed; }
}
