/* Static-archive overrides: stand-ins for behaviour of the removed Squarespace runtime,
   plus the site's own form styling (deliberately distinct from the original). */

/* Images whose crop/position was computed by the Squarespace ImageLoader */
img[data-fill] { width: 100% !important; height: 100% !important; object-fit: cover; position: absolute; left: 0; top: 0; }
/* Elements the runtime revealed by adding .loaded (site.js adds it too; this keeps them visible without JS) */
html:not(.js) .Index-page-image, html:not(.js) .Index-gallery, html:not(.js) .sqs-system-gallery,
html:not(.js) .sqs-gallery-block-grid img, html:not(.js) .sqs-block-summary-v2 .img-wrapper img,
html:not(.js) .eventlist-column-thumbnail img, html:not(.js) .ProductList-image,
html:not(.js) .ProductItem-gallery-slides-item-image, html:not(.js) .image-block-v2,
html:not(.js) .Site .Header [data-nc-container] { opacity: 1 !important; }
.image-block-v2 { opacity: 1; }
html:not(.js) .newsletter-block, html:not(.js) .image-block-outer-wrapper .image-block-wrapper,
html:not(.js) .image-block-outer-wrapper .image-inset, html:not(.js) .image-block-outer-wrapper .image-caption-wrapper { opacity: 1 !important; transform: none !important; }
/* Gallery grid without JS: per-row widths (the template keys them off a script-added class) */
html:not(.js) .sqs-gallery-thumbnails-per-row-1 .slide { width: 100%; } html:not(.js) .sqs-gallery-thumbnails-per-row-2 .slide { width: 50%; }
html:not(.js) .sqs-gallery-thumbnails-per-row-3 .slide { width: 33.333%; } html:not(.js) .sqs-gallery-thumbnails-per-row-4 .slide { width: 25%; }
html:not(.js) .sqs-gallery-thumbnails-per-row-5 .slide { width: 20%; } html:not(.js) .sqs-gallery-thumbnails-per-row-6 .slide { width: 16.666%; }
html:not(.js) .sqs-gallery-thumbnails-per-row-7 .slide { width: 14.285%; } html:not(.js) .sqs-gallery-thumbnails-per-row-8 .slide { width: 12.5%; }
html:not(.js) .sqs-gallery-thumbnails-per-row-9 .slide { width: 11.111%; } html:not(.js) .sqs-gallery-thumbnails-per-row-10 .slide { width: 10%; }
.af-slideshow .Index-gallery-item { transition: opacity .9s ease !important; }
.Parallax-item [data-parallax-image-wrapper] img[data-fill],
.Index-page-image img[data-fill] { position: absolute; inset: 0; }
img[data-src][src] { opacity: 1; }
.sqs-gallery .slide img.thumb-image, .summary-thumbnail-container img { opacity: 1 !important; }

/* Blog grid without JS (site.js sets data-columns like the template script did) */
@media (min-width: 900px) {
  html:not(.js) .tweak-blog-list-style-grid .BlogList-item { width: calc(33.333% - 17px); margin-right: 25px; }
  html:not(.js) .tweak-blog-list-style-grid .BlogList-item:nth-child(3n) { margin-right: 0; }
  html:not(.js) .tweak-blog-list-style-grid .BlogList-item:nth-child(3n + 1) { clear: both; }
}

/* Parallax backgrounds are placed by site.js; without JS the colored sections still render. */
html:not(.js) .Parallax-host { display: none !important; }
.Parallax-item.af-placed { position: absolute !important; }

/* Index slideshow: one visible slide at a time */
.af-slideshow .Index-gallery-item { opacity: 0; transition: opacity .9s ease; }
.af-slideshow .Index-gallery-item.af-active { opacity: 1; z-index: 1; }

/* Summary auto-grid (positions were computed by script) */
.summary-block-setting-design-autogrid .summary-item-list { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 30px; height: auto !important; }
.summary-block-setting-design-autogrid .summary-item { position: static !important; width: auto !important; float: none !important; margin: 0 !important; }
html:not(.js) .sqs-block-summary-v2 .summary-item { visibility: visible; }
/* Gallery collection slideshow: active slide visible */
.collection-type-gallery .sqs-system-gallery .slide.sqs-active-slide { opacity: 1 !important; z-index: 2; }
html:not(.js) .collection-type-gallery .sqs-system-gallery, html:not(.js) .collection-type-gallery .sqs-system-gallery .slide { opacity: 1 !important; }
html:not(.js) [class*="block-animation-"] { opacity: 1 !important; transform: none !important; }

/* Summary carousels scroll horizontally instead of paging */
.summary-block-setting-design-carousel .summary-item-list { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0; }
.summary-block-setting-design-carousel .summary-item { flex: 0 0 auto; scroll-snap-align: start; float: none !important; }

/* Marquee block (was rendered by JS from its props) */
.af-marquee { overflow: hidden; white-space: nowrap; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.af-marquee-track { display: inline-flex; gap: 1.5em; padding-right: 1.5em; animation: af-marquee 60s linear infinite; font-family: "bebas-neue", sans-serif; font-size: inherit; line-height: 1.6; }
.af-marquee[data-direction="right"] .af-marquee-track { animation-direction: reverse; }
.af-marquee:hover .af-marquee-track { animation-play-state: paused; }
@keyframes af-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .af-marquee-track { animation: none; } }

/* Video facade (no third-party request until clicked) */
.af-video { position: absolute; inset: 0; display: block; background: #111 center / cover no-repeat; overflow: hidden; }
.af-video img { width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.af-video .af-play { position: absolute; left: 50%; top: 50%; width: 72px; height: 50px; margin: -25px 0 0 -36px; border-radius: 12px; background: rgba(20,20,20,.82); }
.af-video .af-play::after { content: ""; position: absolute; left: 29px; top: 15px; border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent #fff; }
.af-video:hover .af-play { background: #c4302b; }
.af-video iframe { width: 100%; height: 100%; border: 0; }
.af-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Back-to-top link injected by the original custom code */
a.hs-back-to-top.af-show { display: block !important; position: fixed; }

/* ---------- Forms: this site's own design ---------- */
.af-form { --af-ink: #13343b; --af-accent: #0f7b6c; --af-line: #b9cfcc; --af-bg: #f3f8f7;
  background: var(--af-bg); border: 2px solid var(--af-ink); border-radius: 14px; padding: 22px 22px 18px;
  box-shadow: 6px 6px 0 var(--af-ink); color: var(--af-ink); text-align: left; max-width: 760px; margin: 0 auto; }
.af-form h1, .af-form h2, .af-form h3, .af-form p, .af-form .newsletter-form-header-title,
.af-form .newsletter-form-header-description, .af-form .form-title, .af-form .description { color: var(--af-ink) !important; }
.af-form label, .af-form legend, .af-form .title, .af-form .caption-text { color: var(--af-ink) !important; font-family: "Figtree", "sofia-pro", system-ui, sans-serif !important; font-weight: 600; letter-spacing: 0 !important; text-transform: none !important; }
.af-form input[type="text"], .af-form input[type="email"], .af-form input[type="tel"], .af-form input[type="url"],
.af-form input[type="number"], .af-form input:not([type]), .af-form textarea, .af-form select {
  background: #fff !important; border: 2px solid var(--af-line) !important; border-radius: 10px !important;
  padding: 10px 12px !important; font: 16px/1.4 "Figtree", system-ui, sans-serif !important; color: var(--af-ink) !important; box-shadow: none !important; }
.af-form input:focus, .af-form textarea:focus, .af-form select:focus { outline: none; border-color: var(--af-accent) !important; box-shadow: 0 0 0 3px rgba(15,123,108,.2) !important; }
.af-form button[type="submit"], .af-form input[type="submit"], .af-form .button, .af-form .newsletter-form-button {
  background: var(--af-accent) !important; color: #fff !important; border: 2px solid var(--af-ink) !important; border-radius: 999px !important;
  padding: 12px 26px !important; font: 700 15px/1 "Figtree", system-ui, sans-serif !important; letter-spacing: .02em !important; text-transform: none !important; cursor: pointer; }
.af-form button[type="submit"]:hover { background: #0b5f54 !important; }
.af-form .af-error { color: #a4262c; font: 600 13px/1.3 "Figtree", system-ui, sans-serif; margin-top: 4px; }
.af-form .af-invalid { border-color: #a4262c !important; }
.af-thanks { background: #e7f4f1; border: 2px solid #13343b; border-radius: 14px; box-shadow: 6px 6px 0 #13343b; color: #13343b;
  padding: 22px; font: 600 17px/1.5 "Figtree", system-ui, sans-serif; max-width: 760px; margin: 0 auto; text-align: left; }
.af-thanks strong { display: block; font-size: 20px; margin-bottom: 4px; }
.af-notice { background: #fff8e6; border: 2px solid #13343b; border-radius: 12px; color: #13343b; padding: 14px 16px;
  font: 600 15px/1.45 "Figtree", system-ui, sans-serif; max-width: 520px; margin: 12px auto; text-align: left; }
.af-toast { position: fixed; z-index: 100000; left: 50%; bottom: 24px; transform: translateX(-50%); max-width: calc(100% - 32px); }
.af-embed { display: inline-block; padding: 10px 14px; border: 2px solid #13343b; border-radius: 10px; font: 600 15px "Figtree", system-ui, sans-serif; }
.form-wrapper.af-open { display: block !important; }
