/* Offline enhancements for the downloaded site; existing design remains intact. */
#header { opacity:1 !important; visibility:visible !important; }
#mobileNavWrapper { display:none !important; }
.folder-toggle[role="button"] { cursor:pointer; }
.folder-toggle:focus-visible, .product-login:focus-visible { outline:2px solid #99986c; outline-offset:5px; }
#headerNav .folder:focus-within .subnav, #headerNav .folder.local-open .subnav { opacity:1 !important; visibility:visible !important; pointer-events:auto !important; display:block !important; }
.homepage .sqs-gallery-design-grid .sqs-gallery { display:flex; flex-wrap:wrap; }
.homepage .sqs-gallery-design-grid .slide { position:relative !important; display:block !important; width:25% !important; opacity:1 !important; }
.homepage .sqs-gallery-design-grid .image-slide-anchor { display:block; aspect-ratio:1; overflow:hidden; }
.homepage .sqs-gallery-design-grid img.thumb-image { display:block !important; position:static !important; width:100% !important; height:100% !important; object-fit:cover; opacity:1 !important; }
@media(max-width:767px){
  #header { position:relative !important; min-height:94px; }
  #logoWrapper { display:block !important; width:72% !important; }
  #logoImage img { max-height:64px; width:auto; max-width:100%; }
  .mobile-nav-toggle:not(.fixed-nav-toggle) { display:block !important; z-index:10003; }
  .mobile-nav-toggle.fixed-nav-toggle { display:none !important; }
  body.local-menu-open #mobileNavWrapper { display:block !important; visibility:visible !important; opacity:1 !important; position:fixed !important; z-index:10002; inset:94px 0 0; width:auto !important; height:auto !important; overflow:auto; background:#fff; padding:22px 30px 50px; box-sizing:border-box; transform:none !important; }
  body.local-menu-open #sidecarNav { visibility:visible !important; z-index:10002 !important; inset:94px 0 0 !important; width:100% !important; height:auto !important; transform:none !important; }
  body.local-menu-open { overflow:hidden; }
  #mobileNavWrapper .folder .subnav { display:none !important; }
  #mobileNavWrapper .folder.local-open .subnav { display:block !important; opacity:1 !important; visibility:visible !important; height:auto !important; }
  #mobileNavWrapper a, #mobileNavWrapper .folder-toggle { display:block; padding:12px 0; color:#5f5d5d; }
  #mobileNavWrapper .subnav { padding:0 0 8px 18px; }
  .homepage .sqs-gallery-design-grid .slide { width:50% !important; }
}

/* ===================================================================
   Static-mirror layout normalization.
   Squarespace builds galleries/aspect-ratios/dynamic text with runtime
   JS that is absent in the downloaded copy. These rules replace that
   layout with sane static CSS so photos and text render correctly.
   =================================================================== */

/* Undo the aspect-ratio padding hack + absolute image fill */
.intrinsic, .sqs-image-content, .image-block-wrapper,
.sqs-block-image-figure, .summary-thumbnail-container,
.ProductList-image, .grid-image, .sqs-gallery-image-container {
  position: static !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Content images: static, responsive, undistorted */
.sqs-block-image img, .intrinsic img, img[data-src],
img.thumb-image, .summary-thumbnail img, .ProductList-image img,
.sqs-image-content img, .grid-image img, .sqs-gallery img,
.image-block img, figure img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  top: auto !important; left: auto !important;
}

/* Sensible reading width for content blocks */
.sqs-layout .sqs-row, .content-wrapper .sqs-layout,
#content .sqs-layout { max-width: 1100px; margin: 0 auto; }

/* Kill the giant empty banner/index section heights */
.page-section, .index-section, .section-background,
.sqs-block, .row, .col, .sqs-col { min-height: 0 !important; }
.page-section { height: auto !important; }
[style*="min-height"] .section-background { min-height: 0 !important; }

/* Dynamic-font-sizing text blows up without JS -> cap to readable sizes */
[class*="dynamic-font-sizing"] .sqs-dynamic-text-container,
.sqs-dynamic-text-container { font-size: 16px !important; height: auto !important; }
.sqs-dynamic-text { height: auto !important; }
.sqs-dynamic-text h1, .image-title h1, .image-title strong { font-size: 2rem !important; line-height: 1.2 !important; }
.sqs-dynamic-text h2 { font-size: 1.6rem !important; line-height: 1.25 !important; }
.sqs-dynamic-text h3 { font-size: 1.3rem !important; line-height: 1.3 !important; }
.sqs-dynamic-text p, .image-subtitle p, .image-subtitle,
.sqs-dynamic-text span { font-size: 1rem !important; line-height: 1.55 !important; }

/* Image-overlay cards (banner text over photo): make them a normal stack */
.image-block-wrapper[data-animation-role], .sqs-block-image .design-layout-card,
.sqs-block-image .design-layout-overlap, .sqs-block-image .design-layout-poster,
.sqs-block-image .design-layout-collage {
  display: block !important; height: auto !important; min-height: 0 !important;
}
.sqs-block-image .image-card-wrapper, .sqs-block-image .image-overlay {
  position: static !important; background: transparent !important; padding: 14px 0 !important;
}

/* Gallery grid: even responsive tiles */
.sqs-gallery, .sqs-gallery-design-grid .sqs-gallery {
  display: flex !important; flex-wrap: wrap !important; gap: 10px !important;
  position: static !important; height: auto !important;
}
.sqs-gallery .slide, .sqs-gallery-design-grid .slide {
  position: static !important; float: none !important;
  width: calc(25% - 10px) !important; height: auto !important;
  margin: 0 !important; opacity: 1 !important; left: auto !important; top: auto !important;
}
.sqs-gallery .slide .margin-wrapper, .sqs-gallery .image-slide-anchor {
  position: static !important; height: auto !important; margin: 0 !important;
}

/* Product grid (shop) */
.ProductList, .products.collection-content-wrapper .list-grid,
.summary-item-list, .sqs-gallery-block-grid .sqs-gallery {
  display: grid !important; grid-template-columns: repeat(4, 1fr) !important;
  gap: 22px !important; height: auto !important; position: static !important;
}
.ProductList-item, .summary-item {
  position: static !important; width: auto !important; height: auto !important;
  float: none !important; margin: 0 !important;
}

@media (max-width: 1024px) {
  .ProductList, .summary-item-list { grid-template-columns: repeat(3, 1fr) !important; }
  .sqs-gallery .slide { width: calc(33.333% - 10px) !important; }
}
@media (max-width: 767px) {
  .ProductList, .summary-item-list { grid-template-columns: repeat(2, 1fr) !important; }
  .sqs-gallery .slide { width: calc(50% - 10px) !important; }
  .sqs-dynamic-text h1, .image-title h1, .image-title strong { font-size: 1.6rem !important; }
}
