/* Local offline overrides for pix.adigoldstein.com clone */
/* Alias the licensed Adobe font 'futura-pt' to the locally-installed Futura
   (built into macOS) so typography matches without redistributing font files. */
/* The site uses two Adobe Typekit fonts (proxima-nova for the title/nav,
   futura-pt elsewhere) that are licence/domain-locked and won't load off the
   original domain. Map them to self-hosted open-source look-alikes (Montserrat,
   Jost) so typography is identical for EVERY visitor; prefer the real font if
   the visitor happens to have it installed. */
@font-face{font-family:"proxima-nova";src:local("Proxima Nova"),url(/assets/fonts/montserrat-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"proxima-nova";src:local("Proxima Nova Medium"),url(/assets/fonts/montserrat-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"proxima-nova";src:local("Proxima Nova Semibold"),url(/assets/fonts/montserrat-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"proxima-nova";src:local("Proxima Nova Bold"),url(/assets/fonts/montserrat-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"proxima-nova";src:url(/assets/fonts/montserrat-800.woff2) format("woff2");font-weight:800 900;font-style:normal;font-display:swap;}
@font-face{font-family:"proxima-nova";src:url(/assets/fonts/montserrat-300.woff2) format("woff2");font-weight:100 300;font-style:normal;font-display:swap;}
@font-face{font-family:"futura-pt";src:local("Futura"),local("Futura Medium"),url(/assets/fonts/jost-400.woff2) format("woff2");font-weight:300 500;font-style:normal;font-display:swap;}
@font-face{font-family:"futura-pt";src:local("Futura Medium"),local("Futura"),url(/assets/fonts/jost-700.woff2) format("woff2");font-weight:600 900;font-style:normal;font-display:swap;}
@font-face{font-family:"futura-pt-bold";src:local("Futura Bold"),url(/assets/fonts/jost-700.woff2) format("woff2");font-display:swap;}
/* Never hide text/images waiting on the (offline) Typekit kit */
html.wf-loading *{animation:none !important;}
html.wf-loading{visibility:visible !important;}
/* Safety net: ensure lazy gallery images are visible even if a JS chunk fails */
img[data-src],img.load-false,.sqs-image-content,.summary-thumbnail-image,
.gallery-masonry-item img,.gallery-grid-item img,.gallery-fullscreen-slide img,
.gallery-lightbox-item img{opacity:1 !important;}

/* ============================================================
   GALLERIES — show ALL photos as a scrollable masonry grid.
   Squarespace builds its thumbnail grid with JS at runtime; that
   doesn't run offline, so we recreate the grid with pure CSS from
   the #slideshow image list (JS-independent, always works).
   ============================================================ */
#slideshow{
  display:block !important; position:static !important; float:none !important;
  height:auto !important; min-height:0 !important; max-height:none !important;
  overflow:visible !important;
  column-width:340px; column-gap:14px; padding:6px 0 48px; margin:0 !important;
}
.gallery,.gallery-content,.slideshow-wrapper{height:auto !important;min-height:0 !important;}
#slideshow .slide{
  position:relative !important; display:block !important; float:none !important;
  width:100% !important; height:auto !important; left:auto !important; top:auto !important;
  margin:0 0 14px !important; visibility:visible !important;
  break-inside:avoid; -webkit-column-break-inside:avoid; page-break-inside:avoid;
  cursor:zoom-in; overflow:hidden; border-radius:2px; background:#f3f3f3;
}
#slideshow .slide a{display:block;}
#slideshow .slide img{
  position:relative !important; display:block !important;
  width:100% !important; height:auto !important; max-height:none !important;
  min-height:0 !important; margin:0 !important; padding:0 !important;
  opacity:1 !important; transform:none;
  transition:transform .55s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}
#slideshow .slide:hover img{transform:scale(1.045); filter:brightness(1.04);}
/* old slideshow arrows / pager are not used in grid mode */
.gallery-controls,.sqs-gallery-controls,.overlay-controls,.overlay-controls *,
#slideshow .previous,#slideshow .next{display:none !important;pointer-events:none !important;}

/* protect against casual drag-save */
#slideshow img,#agp-lb-img{-webkit-user-drag:none;-khtml-user-drag:none;user-select:none;}

/* ---- Lightbox (click a photo to enlarge) ---- */
#agp-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(10,10,10,.95);
  display:none;align-items:center;justify-content:center;}
#agp-lightbox.open{display:flex;animation:agp-fade .2s ease;}
@keyframes agp-fade{from{opacity:0}to{opacity:1}}
#agp-lb-img{max-width:92vw;max-height:92vh;object-fit:contain;box-shadow:0 12px 70px rgba(0,0,0,.6);}
#agp-lb-close{position:absolute;top:14px;right:26px;color:#fff;font-size:42px;line-height:1;
  cursor:pointer;opacity:.8;font-family:Arial,sans-serif;}
#agp-lb-close:hover{opacity:1;}
.agp-lb-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:58px;
  cursor:pointer;opacity:.55;padding:10px 26px;user-select:none;font-family:Arial,sans-serif;}
.agp-lb-nav:hover{opacity:1;}
#agp-lb-prev{left:4px;} #agp-lb-next{right:4px;}
#agp-lb-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;
  font-family:"futura-pt",Futura,sans-serif;font-size:13px;letter-spacing:.12em;opacity:.7;}

/* ---- Friendly copyright toast (on right-click / drag) ---- */
#agp-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(140%);
  background:#111;color:#fff;padding:15px 24px;border-radius:8px;
  font-family:"futura-pt",Futura,sans-serif;font-size:14px;line-height:1.55;text-align:center;
  box-shadow:0 12px 44px rgba(0,0,0,.4);transition:transform .4s cubic-bezier(.2,.8,.2,1);
  z-index:100002;max-width:90vw;}
#agp-toast.show{transform:translateX(-50%) translateY(0);}
#agp-toast a{color:#8fd0ff;text-decoration:underline;}
