html {
  scroll-behavior: smooth;
  line-height: 1.2;
}

body {
  line-height: 1.2;
}

/*
 * iOS Safari auto-zooms focused inputs under 16px. Root rem is ~10px here, so
 * 1.4rem fields (search, enquire, Start wizard, trade) trigger zoom. Force ≥16px
 * on touch widths without locking the whole viewport (keeps pinch-zoom).
 */
@media (max-width: 1023px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]),
  textarea,
  select {
    font-size: 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

@font-face {
  font-family: "The Future";
  src: url("../fonts/future/the-future-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "The Future";
  src: url("../fonts/future/the-future-medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "The Future";
  src: url("../fonts/future/the-future-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Wordmark — trimmed PNG site-wide; 12px smaller than previous SVG sizes */
.g-header__logo .seameco-logo,
.g-header__logo .seameco-logo-img,
.g-header__logo .seameco-logo-svg {
  display: block;
  height: calc(2.8rem - 12px);
  width: auto;
  max-width: min(42vw, 10.5rem);
  object-fit: contain;
  object-position: left center;
}

@media (min-width: 768px) {
  .g-header__logo .seameco-logo,
  .g-header__logo .seameco-logo-img {
    height: calc(3.4rem - 12px);
    max-width: 12rem;
  }
}

.g-preloader__logo .seameco-logo,
.g-preloader__logo .seameco-logo-img {
  display: block;
  height: calc(8rem - 12px);
  width: auto;
  max-width: min(90vw, calc(28rem - 12px));
  margin: 0 auto;
  object-fit: contain;
}

@media (min-width: 768px) {
  .g-preloader__logo .seameco-logo,
  .g-preloader__logo .seameco-logo-img {
    height: calc(8.6rem - 12px);
  }
}

.g-preloader__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.g-preloader {
  display: grid !important;
  place-items: center;
  transition: opacity 0.55s ease, visibility 0.55s ease;
}

body.-loading .g-preloader {
  display: grid !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.-transition .g-preloader {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body:not(.-loading):not(.-transition) .g-preloader {
  opacity: 0;
  pointer-events: none !important;
  visibility: hidden;
}

body.seameco-product-shell .g-preloader,
body.-detail:not(.-loading) .g-preloader {
  display: none !important;
}

body.seameco-booted .g-preloader,
body.seameco-booted.-loading .g-preloader {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.g-header__logo .seameco-logo text,
.g-preloader__logo .seameco-logo text {
  font-family: "The Future", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -1px;
  text-transform: lowercase;
}

/* Header carousel labels (SEARCH / NEWSLETTER / page title) — Gufram uppercase */
.g-header__logo > span.-t-subtitle-1 {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: -1px;
  font-family: "The Future", Arial, sans-serif;
}

.g-header__copy {
  display: none !important;
}

/* Header dropdown — one drop (panel + content together), no delayed content pop */
body.-menu-is-open .g-header,
body.-search-is-open .g-header,
body.-nl-is-open .g-header {
  background: #fff !important;
}

.g-header__menu,
.g-header__search,
.g-header__nl {
  background: #fff !important;
}

/* Content visible with the panel — avoid opacity:0 + delayed keyframes (felt like a weird second drop) */
body.-menu-is-open .g-header__menu-main,
body.-menu-is-open .g-header__menu-tabs,
body.-menu-is-open .g-header__menu > .g-header__line,
body.-menu-is-open .g-header__menu > .g-header__policy,
body.-menu-is-open .seameco-header-aux-tabs,
body.-menu-is-open .seameco-header-aux-line,
body.-search-is-open .g-header__search-input,
body.-search-is-open .g-header__search-results,
body.-nl-is-open .g-header__nl-form,
body.-nl-is-open .g-header__nl > .g-header__line,
body.-nl-is-open .g-header__nl > .g-header__policy,
body.-nl-is-open .g-header__nl-interests {
  opacity: 1;
  animation: none;
}

.page-template-page-contact .g-sidebar__text {
  text-transform: none;
  letter-spacing: -0.038em;
}

.page-template-page-contact .g-sidebar__text.seameco-contact-copy,
.page-template-page-contact .g-sidebar__text.seameco-404-copy,
.page-template-page-contact .g-sidebar__text.seameco-about-copy,
.page-template-page-contact .g-sidebar__text.seameco-contact-form-wrap,
.page-template-page-contact .seameco-contact-form,
.page-template-page-contact .seameco-contact-form input,
.page-template-page-contact .seameco-contact-form textarea {
  text-transform: none !important;
  letter-spacing: -0.038em;
}

.page-template-page-contact .seameco-contact-copy .-t-title-4,
.page-template-page-contact .seameco-404-copy .-t-title-4 {
  text-transform: none !important;
  letter-spacing: -0.03em !important;
}

.page-template-page-contact .g-sidebar__text a,
.page-template-page-contact .seameco-contact-copy a,
.page-template-page-contact .seameco-contact-link {
  text-decoration: underline;
  text-underline-offset: 0.14em;
  text-decoration-thickness: 1px;
}

/* Black divider lines everywhere */
  .g-sidebar__ul li,
  .g-sidebar__author + .g-sidebar__ul li,
  .g-sidebar__variants,
  .g-sidebar__social,
  .g-header__search-results a,
  .g-pop-sidebar__head,
  .g-pdp__products,
  .g-cta.-border {
    border-color: #000 !important;
  }

.g-sidebar__variants .g-sidebar__grid button img,
.g-pdp__products-nav .swiper-slide img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.g-sidebar__variants .g-sidebar__grid button {
  width: calc(3.3rem + 30px);
  height: calc(3.3rem + 30px);
  padding: 0.25rem;
  border: none;
  background: transparent;
  cursor: pointer;
  box-sizing: border-box;
}

.g-pdp__products-nav .swiper-slide {
  width: 3.7rem !important;
  height: 3.7rem !important;
}

.g-pdp__products-nav .swiper-slide img {
  max-height: 3.3rem;
}

.g-pdp__card img {
  backface-visibility: hidden;
  transform: translateZ(0);
}

.g-sidebar__variants .g-sidebar__grid button.-active {
  border-color: #000;
}

/* Grid lines only on home product grid — scoped to DOM, not body class (avoids SPA blink) */
.g-grid__lines-h,
.g-grid__lines-v {
  display: none !important;
}

.g-grid.-type-products .g-grid__lines-h,
.g-grid.-type-products .g-grid__lines-v {
  display: block !important;
  pointer-events: none;
  z-index: 5;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* Beat Gufram nth-child display:none — home/products layout sets tops inline */
.g-grid.-type-products .g-grid__lines-h span,
.g-grid.-type-products .g-grid__lines-v span {
  display: block !important;
  position: absolute !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #000 !important;
}

/*
 * After Grid draw settles, pin open — Gufram main.css defaults H spans to
 * transform:scale(0,1) which was collapsing lines once GSAP released them.
 * Keep pinned whenever drawn (incl. during view-switch settle) so the lattice
 * always persists on an active Grid.
 */
.g-grid.-type-products.-active[data-seameco-lines-drawn="1"]:not([data-seameco-lines-animating="1"])
  .g-grid__lines-h
  span,
[data-seameco-collection-products-grid][data-seameco-lines-drawn="1"]:not([data-seameco-lines-animating="1"])
  .g-grid__lines-h
  span {
  transform: scale(1, 1) !important;
  transform-origin: left center !important;
}

.g-grid.-type-products.-active[data-seameco-lines-drawn="1"]:not([data-seameco-lines-animating="1"])
  .g-grid__lines-v
  span,
[data-seameco-collection-products-grid][data-seameco-lines-drawn="1"]:not([data-seameco-lines-animating="1"])
  .g-grid__lines-v
  span {
  transform: scale(1, 1) !important;
  transform-origin: top center !important;
}

/* Index Space — hide lattice only when Grid is inactive / Space is up.
 * Never use bare html[data-seameco-view="flow"] on all .g-grid — that stuck
 * after Space and killed Grid lines on Index + Products. */
.g-grid:not(.-active) .g-grid__lines-h,
.g-grid:not(.-active) .g-grid__lines-v,
.g-grid:not(.-active) .g-grid__lines-h span,
.g-grid:not(.-active) .g-grid__lines-v span,
.g-flow.-active ~ .g-grid:not(.-active) .g-grid__lines-h,
.g-flow.-active ~ .g-grid:not(.-active) .g-grid__lines-v,
.g-flow.-active ~ .g-grid:not(.-active) .g-grid__lines-h span,
.g-flow.-active ~ .g-grid:not(.-active) .g-grid__lines-v span,
body.seameco-going-home .g-grid:not(.-active) .g-grid__lines-h,
body.seameco-going-home .g-grid:not(.-active) .g-grid__lines-v,
body.seameco-going-home .g-grid:not(.-active) .g-grid__lines-h span,
body.seameco-going-home .g-grid:not(.-active) .g-grid__lines-v span,
html[data-seameco-view="flow"] .g-grid:not(.-active) .g-grid__lines-h,
html[data-seameco-view="flow"] .g-grid:not(.-active) .g-grid__lines-v,
html[data-seameco-view="flow"] .g-grid:not(.-active) .g-grid__lines-h span,
html[data-seameco-view="flow"] .g-grid:not(.-active) .g-grid__lines-v span {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: scale(0) !important;
}

.page-template-page-contact .g-header__menu .g-header__line.-vertical {
  height: 100%;
  max-height: 2.4rem;
  align-self: center;
}

.g-header__menu-tabs > li,
.g-header__menu-tabs .g-cta {
  position: relative;
  min-height: 3rem;
}

.g-header__menu-tabs .g-header__line.-vertical,
.post-type-archive-authors .g-header__menu-tabs .g-header__line.-vertical,
.post-type-archive-events .g-header__menu-tabs .g-header__line.-vertical,
/* Services / history — Gufram defaults to opacity:0 until .-active */
.post-type-archive-history .g-history,
body.seameco-booted .g-history[js-history],
body.seameco-booted .g-history[js-detail],
.g-history.-active {
  opacity: 1 !important;
  visibility: visible !important;
}

.post-type-archive-history .g-header__menu-tabs .g-header__line.-vertical {
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
  max-height: none;
  align-self: stretch;
  scale: 1 1 !important;
}

.page-template-page-contact .g-header__menu-tabs .g-header__line.-vertical {
  max-height: none;
  height: 100%;
  align-self: stretch;
}

.g-header__menu .seameco-header-aux-tabs > li {
  position: relative;
  min-height: 3rem;
}

.g-header__menu .seameco-header-aux-tabs .g-cta,
.g-header__menu .seameco-header-aux-tabs .seameco-header-static {
  position: relative;
  min-height: 3rem;
}

.g-header__menu .seameco-header-aux-tabs .g-header__line.-vertical {
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
  max-height: none;
  align-self: stretch;
  scale: 1 1;
}

.page-template-page-contact.-menu-is-open .g-header__menu,
.page-template-page-contact.-search-is-open .g-header__search,
.page-template-page-contact.-nl-is-open .g-header__nl {
  overflow: hidden;
}

.g-header__line,
.g-grid__lines-h span,
.g-grid__lines-v span {
  background: #000 !important;
}

/* Grid line draw — smooth Spazio ↔ Griglia (match gufram.it) */
.g-grid__lines-h,
.g-grid__lines-v {
  pointer-events: none;
  z-index: 3;
}

.g-grid__lines-h span,
.g-grid__lines-v span {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.g-header__search-results a {
  border-top: 1px solid #000;
}

/* Logo / page nav → fade the whole page out once (no hard blink) */
body.seameco-nav-fade .g-container,
body.seameco-nav-fade .g-grid,
body.seameco-nav-fade .g-flow,
body.seameco-nav-fade .seameco-start-space,
body.seameco-nav-fade .g-sidebar,
body.seameco-nav-fade .g-history,
body.seameco-nav-fade .g-history__image,
body.seameco-nav-fade .g-history__media {
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/*
 * Stable page ground during SPA — never flash pure white under opacity:0 content
 * (packaging/resources/programmes/contact/enquire listing→detail).
 */
html,
body.seameco-site {
  background-color: #fafafa;
  background: #fafafa;
}

/* Sidebars + form fields sitewide — match page ground */
.g-sidebar,
.g-pop-sidebar,
.seameco-proj--sidebar,
.seameco-proj-sidebar-host,
body.seameco-project-page .g-sidebar.seameco-project-sidebar {
  background: #fafafa !important;
  background-color: #fafafa !important;
}

.g-sidebar input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]),
.g-sidebar textarea,
.g-sidebar select,
.g-pop-sidebar input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]),
.g-pop-sidebar textarea,
.g-pop-sidebar select,
.seameco-proj__field input,
.seameco-proj__field textarea,
.seameco-proj__search,
.page-template-page-contact .seameco-contact-form input,
.page-template-page-contact .seameco-contact-form textarea,
.seameco-quote-request input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.seameco-quote-request textarea,
.seameco-quote-request select {
  background: #fafafa !important;
  background-color: #fafafa !important;
}

body.seameco-site.-transition,
body.seameco-site.seameco-sidebar-swap,
body.seameco-site.seameco-leaving-start {
  background-color: #fafafa !important;
}

body.-transition .g-container[data-pjax="container"],
body.seameco-sidebar-swap .g-container[data-pjax="container"] {
  background-color: #fafafa;
  min-height: 100vh;
}

/* Product PDP: keep destination painted under the clone (same as packaging/resources).
 * Hiding then unveiling on land = blink. */
body.seameco-pdp-transition:not(.seameco-clone-landed)[data-seameco-card-detail-kind="product"] [js-transition-target],
body.seameco-pdp-transition:not(.seameco-clone-landed)[data-seameco-card-detail-kind="product"] .g-pdp__slide.-active img,
body.seameco-pdp-transition:not(.seameco-clone-landed)[data-seameco-card-detail-kind="product"] .g-pdp__products {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Packaging morph only: keep media shell, hide DESTINATION img while clone flies.
 * Resource/programme keep prior paint-under-clone behaviour. */
body.seameco-pdp-transition[data-seameco-card-detail-kind="packaging"] .g-history__media,
body.seameco-pdp-transition[data-seameco-card-detail-kind="packaging"] .seameco-packaging-hero,
body.-transition[data-seameco-card-detail-kind="packaging"] .g-history__media,
body.seameco-clone-landed[data-seameco-card-detail-kind="packaging"] .g-history__media,
body.seameco-pack-morphing .g-history__media,
body.seameco-pack-morphing .seameco-packaging-hero {
  opacity: 1 !important;
  visibility: visible !important;
}

body.seameco-pdp-transition[data-seameco-card-detail-kind="packaging"] [data-seameco-packaging-image],
body.-transition[data-seameco-card-detail-kind="packaging"] [data-seameco-packaging-image],
body.seameco-clone-landed[data-seameco-card-detail-kind="packaging"] [data-seameco-packaging-image],
body.seameco-packaging-detail-page.seameco-pdp-transition [data-seameco-packaging-image],
body.seameco-packaging-detail-page.-transition [data-seameco-packaging-image],
body.seameco-pack-morphing [data-seameco-packaging-image],
body.seameco-pack-morphing .seameco-packaging-hero img,
body.seameco-pack-morphing .g-history__media img {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: none !important;
}

/* Hide the listing source card so only the flying clone is seen */
body.seameco-pack-morphing a.g-grid__card[data-seameco-transition-source],
body.seameco-pack-morphing a.g-grid__card[data-seameco-transition-source] img,
body[data-seameco-card-detail-kind="packaging"].seameco-pdp-transition
  a.g-grid__card[data-seameco-transition-source],
body[data-seameco-card-detail-kind="packaging"].-transition
  a.g-grid__card[data-seameco-transition-source] {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Authors morph: ONLY the flying clone is visible — kills double-image on mobile+desktop */
body.seameco-authors-morphing .g-history__media,
body.seameco-authors-morphing .seameco-resource-hero,
body.seameco-authors-morphing .seameco-programme-hero,
body.seameco-authors-morphing .seameco-packaging-hero {
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
}

body.seameco-authors-morphing img,
body.seameco-authors-morphing picture,
body.seameco-authors-morphing [js-transition-target],
body.seameco-authors-morphing [data-seameco-resource-image],
body.seameco-authors-morphing [data-seameco-programme-image],
body.seameco-authors-morphing [data-seameco-packaging-image],
body.seameco-authors-morphing a.g-grid__card[data-seameco-transition-source],
body.seameco-authors-morphing a.g-grid__card[data-seameco-transition-source] img {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: none !important;
}

body.seameco-authors-morphing a.g-grid__card.-clone,
body.seameco-authors-morphing a.g-grid__card.-clone img,
body.seameco-authors-morphing a.g-grid__card.-clone picture,
body.seameco-authors-morphing .g-grid__item.-clone,
body.seameco-authors-morphing .g-grid__item.-clone img,
body.seameco-authors-morphing body > a.g-grid__card.-clone,
body.seameco-authors-morphing body > a.g-grid__card.-clone img {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Packaging: keep wizard painted under the clone (like resources).
 * Hiding then unveiling on land = blink. Soft-fill still runs early. */
body.seameco-pdp-transition:not(.seameco-clone-landed)[data-seameco-card-detail-kind="packaging"] [data-seameco-packaging-flow],
body.seameco-pdp-transition:not(.seameco-clone-landed)[data-seameco-card-detail-kind="packaging"] .g-pop-sidebar,
body.seameco-pdp-transition:not(.seameco-clone-landed)[data-seameco-card-detail-kind="packaging"] .g-sidebar {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transition: none !important;
  pointer-events: none;
}
body.seameco-clone-landed[data-seameco-card-detail-kind="packaging"] [data-seameco-packaging-flow],
body.seameco-clone-landed[data-seameco-card-detail-kind="packaging"] .g-sidebar {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transition: none !important;
  pointer-events: auto;
}

/*
 * Gufram sets .-loading / .-transition → .g-sidebar>div + li { opacity:0 }.
 * Only override WHILE loading/transitioning — permanent opacity:1 + transition:none
 * killed packaging/Start-style wizard fades and still blinked on back leave.
 */
body.seameco-packaging-detail-page.-loading .g-sidebar > div,
body.seameco-packaging-detail-page.-loading .g-sidebar__ul > li,
body.seameco-packaging-detail-page.-transition .g-sidebar > div,
body.seameco-packaging-detail-page.-transition .g-sidebar__ul > li,
body.seameco-packaging-detail-page.seameco-pdp-transition .g-sidebar > div,
body.seameco-packaging-detail-page.seameco-pdp-transition .g-sidebar__ul > li,
body.seameco-packaging-detail-page.seameco-clone-landed .g-sidebar > div,
body.seameco-packaging-detail-page.seameco-clone-landed .g-sidebar__ul > li,
body.seameco-packaging-detail-page.-loading [data-seameco-packaging-flow],
body.seameco-packaging-detail-page.-transition [data-seameco-packaging-flow],
body.seameco-packaging-detail-page.seameco-pdp-transition [data-seameco-packaging-flow],
body.seameco-resource-detail-page.-loading .g-sidebar > div,
body.seameco-resource-detail-page.-loading .g-sidebar__ul > li,
body.seameco-resource-detail-page.-transition .g-sidebar > div,
body.seameco-resource-detail-page.-transition .g-sidebar__ul > li,
body.seameco-resource-detail-page.seameco-pdp-transition .g-sidebar > div,
body.seameco-resource-detail-page.seameco-pdp-transition .g-sidebar__ul > li,
body.seameco-programme-detail-page.-loading .g-sidebar > div,
body.seameco-programme-detail-page.-loading .g-sidebar__ul > li,
body.seameco-programme-detail-page.-transition .g-sidebar > div,
body.seameco-programme-detail-page.-transition .g-sidebar__ul > li,
body.seameco-programme-detail-page.seameco-pdp-transition .g-sidebar > div,
body.seameco-programme-detail-page.seameco-pdp-transition .g-sidebar__ul > li {
  opacity: 1 !important;
  visibility: visible !important;
  translate: none !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  transition-delay: 0s !important;
}

/* Wizard step fade must win over anti-blink (Gufram --timing-400 / 0.75rem) */
body.seameco-packaging-detail-page.-variant-switch .seameco-proj__head,
body.seameco-packaging-detail-page.-variant-switch .seameco-proj__body,
body.seameco-packaging-detail-page.-variant-switch .seameco-proj__foot,
body.seameco-packaging-detail-page.seameco-proj-fading .seameco-proj__head,
body.seameco-packaging-detail-page.seameco-proj-fading .seameco-proj__body,
body.seameco-packaging-detail-page.seameco-proj-fading .seameco-proj__foot {
  opacity: 0 !important;
  visibility: visible !important;
  translate: 0 0.75rem !important;
  transition:
    opacity var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)),
    translate var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)) !important;
  transition-delay: 0s !important;
}

/* Packaging: hide empty wizard until products painted (stops empty→fill blink) */
body.seameco-packaging-detail-page:not(.seameco-pack-ready)
  [data-seameco-packaging-flow]:not(:has(.seameco-proj__product))
  [data-seameco-pack-body] {
  opacity: 0;
}
body.seameco-packaging-detail-page.seameco-pack-ready [data-seameco-packaging-flow],
body.seameco-packaging-detail-page
  [data-seameco-packaging-flow]:has(.seameco-proj__product) {
  opacity: 1;
}

/* Brief post-land hold — Gufram class drop must not flash sidebar to 0 */
body.seameco-pack-landed [data-seameco-packaging-flow],
body.seameco-pack-landed.seameco-packaging-detail-page .g-sidebar,
body.seameco-pack-landed.seameco-packaging-detail-page .g-sidebar > div,
body.seameco-pack-landed.seameco-packaging-detail-page .g-sidebar__ul > li {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transition: none !important;
}

/* PDP Overview / Gallery / Specs — class open (not :target hash) for smooth stay-open */
body.seameco-product-shell .g-gallery.-active,
body.-detail .g-gallery.-active,
body.-hide-header .g-gallery.-active {
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  /* Beat Gufram header translateZ(2500px) + z-index:1200 */
  z-index: 10060 !important;
  transform: translate3d(0, 0, 2600px) !important;
  -webkit-transform: translate3d(0, 0, 2600px) !important;
  transition: opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* No scroll underneath while Overview / Gallery / Tech Spec is open */
html:has(body.-hide-header),
html:has(body.seameco-pdp-modal-open),
body.-hide-header,
body.seameco-pdp-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.-hide-header .g-pdp,
body.-hide-header .g-container,
body.seameco-pdp-modal-open .g-pdp,
body.seameco-pdp-modal-open .g-container {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  touch-action: none;
}

body.-hide-header .g-gallery.-active,
body.seameco-pdp-modal-open .g-gallery.-active {
  touch-action: auto;
  overscroll-behavior: contain;
}

body.-hide-header .g-gallery.-active .seameco-pdp-text-panel__inner,
body.seameco-pdp-modal-open .g-gallery.-active .seameco-pdp-text-panel__inner,
body.-hide-header .g-gallery.-active .seameco-pdp-gallery-stack,
body.seameco-pdp-modal-open .g-gallery.-active .seameco-pdp-gallery-stack {
  touch-action: pan-y pan-x;
  overscroll-behavior: contain;
}
body.seameco-product-shell .g-gallery:not(.-active),
body.-detail .g-gallery:not(.-active) {
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
body.seameco-product-shell .g-gallery.-active img,
body.-detail .g-gallery.-active img {
  opacity: 1 !important;
  translate: 0 !important;
}

/* Request Sample / Add to Project open — Gufram sidebar-swap token */
body.seameco-proj-fading .g-pdp .g-sidebar__ul > li:not(:has(.seameco-proj)),
body.seameco-proj-fading .g-pdp .seameco-pdp-commerce {
  opacity: 0 !important;
  translate: 0 0.75rem !important;
  transition:
    opacity var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)),
    translate var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)) !important;
  /* Keep clickable so Sample ↔ ATP can interrupt mid-fade (was hanging) */
  pointer-events: auto;
}
body.seameco-proj-fading.seameco-proj-sidebar-open .seameco-proj__head,
body.seameco-proj-fading.seameco-proj-sidebar-open .seameco-proj__body,
body.seameco-proj-fading.seameco-proj-sidebar-open .seameco-proj__foot {
  opacity: 0 !important;
  translate: 0 0.75rem !important;
  transition:
    opacity var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)),
    translate var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)) !important;
}
body.seameco-proj-sidebar-open:not(.seameco-proj-fading) .seameco-proj__head,
body.seameco-proj-sidebar-open:not(.seameco-proj-fading) .seameco-proj__body,
body.seameco-proj-sidebar-open:not(.seameco-proj-fading) .seameco-proj__foot {
  opacity: 1;
  translate: none;
  transition:
    opacity var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)),
    translate var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1));
}

body.seameco-product-shell.seameco-proj-sidebar-open.-variant-switch .seameco-proj__head,
body.seameco-product-shell.seameco-proj-sidebar-open.-variant-switch .seameco-proj__body,
body.seameco-product-shell.seameco-proj-sidebar-open.-variant-switch .seameco-proj__foot,
body.seameco-start-page.-variant-switch .seameco-proj__head,
body.seameco-start-page.-variant-switch .seameco-proj__body,
body.seameco-start-page.-variant-switch .seameco-proj__foot {
  opacity: 0 !important;
  visibility: visible !important;
  translate: 0 0.75rem !important;
  transition:
    opacity var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)),
    translate var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)) !important;
  transition-delay: 0s !important;
}

/* Authors/product leave: soft-fade siblings (never hard-cut / scale-pop) */
body.seameco-packaging-page.-transition .g-grid.-type-authors .g-grid__item,
body.seameco-resources-page.-transition .g-grid.-type-authors .g-grid__item,
body.seameco-programmes-page.-transition .g-grid.-type-authors .g-grid__item,
body.-transition[data-seameco-card-detail-kind="packaging"] .g-grid.-type-authors .g-grid__item,
body.-transition[data-seameco-card-detail-kind="resource"] .g-grid.-type-authors .g-grid__item,
body.-transition[data-seameco-card-detail-kind="programme"] .g-grid.-type-authors .g-grid__item,
body.seameco-pdp-transition[data-seameco-card-detail-kind="packaging"] .g-grid.-type-authors .g-grid__item,
body.seameco-pdp-transition[data-seameco-card-detail-kind="resource"] .g-grid.-type-authors .g-grid__item,
body.seameco-pdp-transition[data-seameco-card-detail-kind="programme"] .g-grid.-type-authors .g-grid__item,
body.-transition .g-grid.-type-products .g-grid__item,
body.seameco-pdp-transition[data-seameco-card-detail-kind="product"] .g-grid.-type-products .g-grid__item,
body.-transition .g-flow__panel,
body.seameco-pdp-transition[data-seameco-card-detail-kind="product"] .g-flow__panel,
body.-transition a.g-grid__card:not(.-clone),
body.seameco-pdp-transition a.g-grid__card:not(.-clone),
body.-transition a.g-flow__card:not(.-clone),
body.seameco-pdp-transition a.g-flow__card:not(.-clone) {
  transform: none !important;
  scale: 1 !important;
  transition:
    opacity 0.38s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0.38s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition-delay: 0s !important;
  animation: none !important;
}

body.-transition .g-grid.-type-authors .g-grid__item:not(:has([data-seameco-transition-source])):not(:has(a.-clone)),
body.seameco-pdp-transition .g-grid.-type-authors .g-grid__item:not(:has([data-seameco-transition-source])):not(:has(a.-clone)),
body.-transition .g-grid.-type-products .g-grid__item:not(:has([data-seameco-transition-source])):not(:has(a.-clone)),
body.seameco-pdp-transition .g-grid.-type-products .g-grid__item:not(:has([data-seameco-transition-source])):not(:has(a.-clone)),
body.-transition .g-flow__panel:not(:has([data-seameco-transition-source])):not(:has(a.-clone)),
body.seameco-pdp-transition .g-flow__panel:not(:has([data-seameco-transition-source])):not(:has(a.-clone)),
body.-transition a.g-grid__card:not(.-clone):not([data-seameco-transition-source]),
body.seameco-pdp-transition a.g-grid__card:not(.-clone):not([data-seameco-transition-source]),
body.-transition a.g-flow__card:not(.-clone):not([data-seameco-transition-source]),
body.seameco-pdp-transition a.g-flow__card:not(.-clone):not([data-seameco-transition-source]) {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
}

/* Keep clicked card + flying clone visible during leave */
body.-transition a.g-grid__card[data-seameco-transition-source],
body.seameco-pdp-transition a.g-grid__card[data-seameco-transition-source],
body.-transition a.g-flow__card[data-seameco-transition-source],
body.seameco-pdp-transition a.g-flow__card[data-seameco-transition-source],
body.-transition a.g-grid__card.-clone,
body.seameco-pdp-transition a.g-grid__card.-clone,
body.-transition a.g-flow__card.-clone,
body.seameco-pdp-transition a.g-flow__card.-clone {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Packaging listing leave/enter — keep cards ground stable (no white/gray flash) */
body.seameco-packaging-page.-transition .g-grid.-type-authors,
body.seameco-packaging-page.-loading .g-grid.-type-authors,
body.seameco-packaging-page .g-container[data-seameco-packaging] {
  background-color: #fafafa !important;
}

body.seameco-packaging-page.-loading .g-grid.-type-authors a.g-grid__card:not(.-clone),
body.seameco-packaging-page.-loading .g-grid.-type-authors .g-grid__item {
  opacity: 1 !important;
  visibility: visible !important;
}
/* During card→detail leave, siblings fade via the shared soft-fade rules above */

/* Kill Gufram authors nth-child delays — packaging cards were flashing one-by-one */
body.seameco-packaging-page .g-grid.-type-authors .g-grid__item,
body.seameco-packaging-page .g-grid.-type-authors .g-grid__item:nth-child(n),
body.seameco-resources-page .g-grid.-type-authors .g-grid__item,
body.seameco-resources-page .g-grid.-type-authors .g-grid__item:nth-child(n),
body.seameco-programmes-page .g-grid.-type-authors .g-grid__item,
body.seameco-programmes-page .g-grid.-type-authors .g-grid__item:nth-child(n),
body[data-seameco-card-detail-kind="packaging"] .g-grid.-type-authors .g-grid__item,
body[data-seameco-card-detail-kind="packaging"] .g-grid.-type-authors .g-grid__item:nth-child(n),
body.seameco-pdp-transition[data-seameco-card-detail-kind="packaging"] .g-grid.-type-authors .g-grid__item,
body.-transition.seameco-packaging-page .g-grid.-type-authors .g-grid__item {
  transition-delay: 0s !important;
  animation-delay: 0s !important;
}

/* Packaging listing settle — show all cards together (no Gufram scale/opacity cascade) */
body.seameco-packaging-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-authors
  .g-grid__item,
body.seameco-packaging-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-authors
  a.g-grid__card {
  opacity: 1 !important;
  visibility: visible !important;
  transition-delay: 0s !important;
}

/* Packaging detail wizard products — no Gufram sidebar nth-child cascade */
body.seameco-packaging-detail-page .g-sidebar > div,
body.seameco-packaging-detail-page .g-sidebar > div:nth-child(n),
body.seameco-packaging-detail-page .g-sidebar__ul > li,
body.seameco-packaging-detail-page .g-sidebar__ul > li:nth-child(n),
body.seameco-packaging-detail-page [data-seameco-packaging-flow],
body.seameco-packaging-detail-page .seameco-proj__product {
  transition-delay: 0s !important;
}

body.seameco-pdp-transition:not(.seameco-clone-landed)[data-seameco-card-detail-kind="resource"] [data-seameco-resource-sidebar],
body.seameco-pdp-transition:not(.seameco-clone-landed)[data-seameco-card-detail-kind="resource"] .g-history__sidebar,
body.seameco-pdp-transition:not(.seameco-clone-landed)[data-seameco-card-detail-kind="programme"] [data-seameco-programme-sidebar],
body.seameco-pdp-transition:not(.seameco-clone-landed)[data-seameco-card-detail-kind="programme"] .g-history__sidebar,
body.seameco-resource-detail-page.seameco-pdp-transition [data-seameco-resource-sidebar],
body.seameco-programme-detail-page.seameco-pdp-transition [data-seameco-programme-sidebar],
body.seameco-resource-detail-page.-transition [data-seameco-resource-sidebar],
body.seameco-programme-detail-page.-transition [data-seameco-programme-sidebar] {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transition: none !important;
  pointer-events: none;
}

body.seameco-clone-landed:not(.seameco-authors-morphing):not(.seameco-pack-morphing)
  .g-history__media,
body.seameco-clone-landed:not(.seameco-authors-morphing):not(.seameco-pack-morphing)
  .g-history__image.-active-section,
body.seameco-clone-landed:not(.seameco-authors-morphing):not(.seameco-pack-morphing)
  .seameco-packaging-hero,
body.seameco-clone-landed:not(.seameco-authors-morphing):not(.seameco-pack-morphing)
  .seameco-resource-hero,
body.seameco-clone-landed:not(.seameco-authors-morphing):not(.seameco-pack-morphing)
  .seameco-programme-hero,
body.seameco-clone-landed:not(.seameco-authors-morphing):not(.seameco-pack-morphing)
  [js-transition-target] {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Destination hero imgs stay hidden until clone is gone (see authors flight rules) */

/* Side copy appears instantly after land — no fade / white paint */
body.seameco-clone-landed[data-seameco-card-detail-kind="resource"] [data-seameco-resource-sidebar],
body.seameco-clone-landed[data-seameco-card-detail-kind="programme"] [data-seameco-programme-sidebar],
body.seameco-clone-landed[data-seameco-card-detail-kind="resource"] .g-sidebar,
body.seameco-clone-landed[data-seameco-card-detail-kind="programme"] .g-sidebar {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transition: none !important;
}

/* Hide Gufram card info badges during/after authors→detail flight (stuck RIGID BOXES / Packaging) */
body.-transition .g-grid__info,
body.-detail .g-grid__info,
body.-transition a.g-grid__card.-clone .g-grid__info,
a.g-grid__card.-clone .g-grid__info,
body.seameco-packaging-detail-page .g-grid__info,
body.seameco-resource-detail-page .g-grid__info,
body.seameco-programme-detail-page .g-grid__info {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Authors land: keep flying clone until JS cleanup removes it — never hide
 * the clone on seameco-clone-landed (that punched a white hole over the hero).
 * Soft land allows GSAP/CSS to ease the clone out. */
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="resource"] a.g-grid__card.-clone,
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="programme"] a.g-grid__card.-clone,
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="packaging"] a.g-grid__card.-clone,
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="resource"] .g-grid__item.-clone,
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="programme"] .g-grid__item.-clone,
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="packaging"] .g-grid__item.-clone {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Soft authors land — destination hero under clone, clone eases out */
body.seameco-soft-authors-land[data-seameco-card-detail-kind="resource"] [data-seameco-resource-image],
body.seameco-soft-authors-land[data-seameco-card-detail-kind="programme"] [data-seameco-programme-image],
body.seameco-soft-authors-land[data-seameco-card-detail-kind="packaging"] [data-seameco-packaging-image],
body.seameco-soft-authors-land .seameco-resource-hero img,
body.seameco-soft-authors-land .seameco-programme-hero img,
body.seameco-soft-authors-land .seameco-packaging-hero img {
  opacity: 1 !important;
  visibility: visible !important;
}

/* After transition fully ends — kill any leftover clone */
body.seameco-packaging-detail-page:not(.-transition):not(.seameco-pdp-transition):not(.seameco-clone-landed)
  a.g-grid__card.-clone,
body.seameco-resource-detail-page:not(.-transition):not(.seameco-pdp-transition):not(.seameco-clone-landed)
  a.g-grid__card.-clone,
body.seameco-programme-detail-page:not(.-transition):not(.seameco-pdp-transition):not(.seameco-clone-landed)
  a.g-grid__card.-clone {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Keep flying clone visible while header parks right (same transition window) */
body.-transition a.g-grid__card.-clone,
body.-transition a.g-flow__card.-clone,
body.seameco-pdp-transition a.g-grid__card.-clone,
body.seameco-pdp-transition a.g-flow__card.-clone {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Sitewide SPA page reveal */
[data-pjax="container"].seameco-page-revealing {
  will-change: opacity;
}

/*
 * Fade only on cold page enters — keep Gufram translate for sidebar↔sidebar
 * swap and product variant switch (those need the soft rise).
 */
body.seameco-site.-transition:not(.seameco-sidebar-swap):not(.-variant-switch) .g-sidebar > div,
body.seameco-site.-transition:not(.seameco-sidebar-swap):not(.-variant-switch) .g-sidebar__ul > li,
body.seameco-site.-loading:not(.seameco-sidebar-swap):not(.-variant-switch) .g-sidebar > div,
body.seameco-site.-loading:not(.seameco-sidebar-swap):not(.-variant-switch) .g-sidebar__ul > li,
body.seameco-site.page-template-page-contact.-transition:not(.seameco-sidebar-swap) .g-sidebar > div,
body.seameco-site.page-template-page-contact.-transition:not(.seameco-sidebar-swap) .g-sidebar__ul > li,
body.seameco-site.post-type-archive-history.-transition:not(.seameco-sidebar-swap) .g-sidebar > div,
body.seameco-site.post-type-archive-history.-transition:not(.seameco-sidebar-swap) .g-sidebar__ul > li {
  translate: none !important;
  transform: none !important;
}

body.seameco-site:not(.-variant-switch):not(.seameco-sidebar-swap) .g-sidebar > div,
body.seameco-site:not(.-variant-switch):not(.seameco-sidebar-swap) .g-sidebar__ul > li,
body.seameco-site:not(.-variant-switch) .g-pdp__products-nav {
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    translate 0s !important;
}

/* Product page-enter return — NOT during variant switch (that needs Gufram 0.4s) */
body.seameco-product-shell.-detail:not(.-variant-switch) .g-sidebar > div,
body.seameco-product-shell.-detail:not(.-variant-switch) .g-sidebar__ul > li {
  transition:
    opacity 0.22s cubic-bezier(0.22, 1, 0.36, 1),
    translate 0.22s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* Soft fade sidebar after card→detail morph lands — product PDP only.
 * Authors details: text is already visible; never opacity-from-0 paint. */
body.seameco-clone-landed[data-seameco-card-detail-kind="product"] .g-sidebar,
body.seameco-clone-landed.seameco-product-shell .g-sidebar {
  animation: seameco-page-reveal-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes seameco-page-reveal-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

body.-transition a.g-grid__card.-clone,
body.-transition a.g-flow__card.-clone,
body.seameco-pdp-transition a.g-grid__card.-clone,
body.seameco-pdp-transition a.g-flow__card.-clone,
.seameco-clone-flight {
  z-index: 1100 !important;
}

body.-transition .g-header,
body.seameco-pdp-transition .g-header,
body.seameco-pdp-transition .g-header__logo,
body.-transition .g-header__logo {
  z-index: 1300 !important;
  position: relative;
}

/* Header shell itself must win the stacking context during flight */
body.-transition .g-header,
body.seameco-pdp-transition .g-header {
  position: fixed !important;
  z-index: 1300 !important;
}

/* Authors listing leave — fade siblings like products grid */
body.seameco-pdp-transition[data-seameco-listing-mode="grid"] .g-grid.-type-authors .g-grid__item.seameco-transition-fade-item,
body.-transition .g-grid.-type-authors .g-grid__item.seameco-transition-fade-item {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

body.seameco-pdp-transition .g-grid.-type-authors a.g-grid__card.seameco-transition-fade-card,
body.-transition .g-grid.-type-authors a.g-grid__card.seameco-transition-fade-card {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Leaving products → home: fade the grid out with the page (no instant blink) */
body.seameco-leaving-products .g-grid,
body.seameco-leaving-products .g-grid.-type-products {
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/*
 * Search reveal — Gufram clip-drop. The search panel is position:absolute inside
 * .g-header__wrapper, so it does NOT expand the wrapper's height. If the wrapper
 * stays ~54px with overflow:hidden, the input is clipped even when .g-header
 * itself has been GSAP-tweened taller. Make the wrapper fill the expanded header
 * so the clip region matches the white bordered box and the input is visible.
 *
 * min-height reserves room for the input row immediately on open — otherwise the
 * top of the field is clipped until GSAP finishes measuring/tweening height.
 */
body.-search-is-open .g-header {
  overflow: hidden !important;
}

body.-search-is-open .g-header__wrapper {
  overflow: hidden !important;
  height: 100% !important;
  min-height: 100% !important;
}

.g-header__search {
  /* Absolute under head — no translateY slide (that clipped the input top) */
  pointer-events: none;
  opacity: 0;
  position: absolute;
  width: 100%;
  padding: 1.6rem;
  top: 5.4rem;
  left: 0;
  transform: none;
  transition: opacity 0.35s cubic-bezier(0.77, 0, 0.175, 1);
  z-index: 9;
  background: #fff !important;
}

body.-search-is-open .g-header__search {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

body.-search-is-open .g-header__search-input,
body.-search-is-open .g-header__search-input input {
  opacity: 1 !important;
  visibility: visible !important;
  color: #000 !important;
}

/*
 * Placeholder stays grey while open (and closed). Forcing -webkit-text-fill-color
 * on the input made the placeholder black until close — match Gufram NL grey.
 */
.g-header__search-input input::placeholder {
  color: #000 !important;
  opacity: 0.4 !important;
}
.g-header__search-input input::-webkit-input-placeholder {
  color: #000 !important;
  opacity: 0.4 !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.4) !important;
}
.g-header__search-input input::-moz-placeholder {
  color: #000 !important;
  opacity: 0.4 !important;
}
.g-header__search-input input:not(:placeholder-shown) {
  -webkit-text-fill-color: #000;
}

/* Soft recovery preloader when a route arrives empty after inactivity / stale SPA */
body.seameco-route-recovering .g-preloader {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 10050 !important;
}

.g-header__search-results {
  padding-top: 0.6rem;
  overflow-x: hidden;
  overflow-y: visible;
  /* Max 7 suggestions — height is driven by JS from content, no sticky floor */
  max-height: none;
}

/* Detail pages: keep search clip clean so the border doesn't "draw" / stutter */
body.-detail.-search-is-open .g-header,
body.seameco-header-detail-lock.-search-is-open .g-header {
  overflow: hidden !important;
}
body.-detail.-search-is-open .g-header__wrapper,
body.seameco-header-detail-lock.-search-is-open .g-header__wrapper {
  overflow: hidden !important;
  height: 100% !important;
}

.g-header__search-results a:last-of-type {
  border-bottom: 1px solid #000;
}

.seameco-search-empty {
  margin: 0;
  padding: 0.75rem 0 0.5rem;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(0, 0%, 42%);
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

.seameco-search-loading {
  margin: 0;
  padding: 0.85rem 0 0.65rem;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(0, 0%, 42%);
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

.seameco-search-dots {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  margin-left: 0.1rem;
}

.seameco-search-dots i {
  display: inline-block;
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.25;
  animation: seameco-search-dot 1.1s infinite ease-in-out;
}

.seameco-search-dots i:nth-child(1) {
  animation-delay: 0s;
}

.seameco-search-dots i:nth-child(2) {
  animation-delay: 0.18s;
}

.seameco-search-dots i:nth-child(3) {
  animation-delay: 0.36s;
}

@keyframes seameco-search-dot {
  0%,
  80%,
  100% {
    opacity: 0.25;
    transform: translateY(0);
  }
  40% {
    opacity: 1;
    transform: translateY(-2px);
  }
}

/* English is default — not a link */
.g-header__menu-tabs span.g-cta.-disabled {
  pointer-events: none;
  cursor: default;
  opacity: 1;
}

.g-header__menu-tabs .seameco-trade-account.-disabled {
  pointer-events: none;
  cursor: default;
}

/* Header logo ↔ page-name carousel — smooth sitewide */
:root {
  --seameco-header-timing: 0.85s;
  --seameco-header-ease: cubic-bezier(0.77, 0, 0.175, 1);
  /* Softer park ease — matches clone power2.inOut (less lag at ends) */
  --seameco-header-slide: 1.2s;
  --seameco-header-slide-ease: cubic-bezier(0.65, 0, 0.35, 1);
}

/* Smooth left/right header box slide sitewide (like gufram.it) — height stays GSAP.
 * Override main.css `width 0s` so width can ease with transform at the same 1.2s. */
.g-header,
body.-detail .g-header,
body.seameco-pdp-transition .g-header,
body.seameco-pdp-transition.-detail .g-header {
  transition:
    transform var(--seameco-header-slide) var(--seameco-header-slide-ease),
    width var(--seameco-header-slide) var(--seameco-header-slide-ease),
    top var(--seameco-header-slide) var(--seameco-header-slide-ease),
    right var(--seameco-header-slide) var(--seameco-header-slide-ease),
    background-color 0.4s ease,
    height 0s,
    border-color 0.4s ease !important;
  z-index: 1200 !important;
}

/* Detail→detail pin: freeze X only — never freeze height (menu/search must ease open) */
body.seameco-header-detail-lock .g-header {
  transition:
    transform 0s,
    width 0s,
    top 0s,
    right 0s,
    background-color 0.25s ease !important;
}
@media (min-width: 1024px) {
  body.seameco-header-detail-lock .g-header {
    transform: translate3d(-2.4rem, 0, 2500px) !important;
  }
}
/* Mobile: header stays Gufram-centered — never slide / ease aside */
@media (max-width: 1023px) {
  .g-header,
  body.-detail .g-header,
  body.seameco-start-page .g-header,
  body.seameco-start-page.-detail .g-header,
  body.seameco-header-detail-lock .g-header,
  body.seameco-pdp-transition .g-header,
  body.seameco-pdp-transition.-detail .g-header,
  body.-transition .g-header,
  body.seameco-plain-authors-nav .g-header,
  body[data-seameco-card-detail-kind] .g-header {
    width: calc(100vw - 3.2rem) !important;
    max-width: none !important;
    right: 0 !important;
    left: auto !important;
    transform: translate3d(-1.6rem, 0, 2500px) !important;
    /* Kill transform/width easing — that is the “header moves” feel */
    transition:
      background-color 0.35s ease,
      border-color 0.35s ease,
      height 0s !important;
  }
  body.-hide-header .g-header,
  body.-detail.-hide-header .g-header,
  body.seameco-product-shell.-hide-header .g-header,
  body:has(.g-gallery.-active) .g-header {
    transform: translate3d(-1.6rem, -150%, 2500px) !important;
    transition: transform 0.2s ease, height 0s !important;
  }
}

/* Always ease logo↔page-name carousel sitewide */
.g-header__logo > span {
  transition: translate var(--seameco-header-timing) var(--seameco-header-ease),
    scale var(--seameco-header-timing) var(--seameco-header-ease),
    opacity var(--seameco-header-timing) var(--seameco-header-ease) !important;
  transition-duration: var(--seameco-header-timing) !important;
  transition-timing-function: var(--seameco-header-ease) !important;
}

.g-header__logo [data-page-header-name] {
  transition: opacity 0.45s var(--seameco-header-ease),
    translate var(--seameco-header-timing) var(--seameco-header-ease) !important;
}

/* Slower brand↔title swap (resource / programme / packaging cards) */
.g-header__logo.seameco-logo-ease > span {
  transition-duration: 1.05s !important;
}

@media (hover: hover) {
  .g-header__logo:hover > span,
  .g-header__logo.-active:hover > span {
    transition-duration: var(--seameco-header-timing) !important;
    transition-timing-function: var(--seameco-header-ease) !important;
  }
}

/* Sidebar stagger — gufram uses .g-sidebar>div nth-child delays (see variant -transition block below) */

.g-header__logo {
  cursor: pointer;
}

/* Do NOT override logo span translate — main.css carousel handles search/menu/nl */

/* Panels: do not override Gufram main.css position/transform — homepage drop sitewide */
.g-header__wrapper {
  position: relative;
}

@media (min-width: 1024px) {
  .g-header,
  body.-detail .g-header {
    width: calc(40vw - 4.8rem);
  }

  .g-sidebar,
  .g-pop-sidebar,
  body.-detail .g-sidebar,
  body.-detail .g-pop-sidebar {
    width: 40% !important;
    max-width: 40% !important;
    box-sizing: border-box;
  }

  .g-pdp__products,
  .g-pop-sidebar-image,
  .g-history__media {
    width: 60%;
  }
}

@media (min-width: 1280px) {
  .g-header,
  body.-detail .g-header {
    width: calc(35vw - 4.8rem);
  }

  .g-sidebar,
  .g-pop-sidebar,
  body.-detail .g-sidebar,
  body.-detail .g-pop-sidebar {
    width: 35% !important;
    max-width: 35% !important;
  }

  .g-pdp__products,
  .g-pop-sidebar-image,
  .g-history__media {
    width: 65%;
  }
}

@media (min-width: 1680px) {
  .g-header,
  body.-detail .g-header {
    width: calc(25vw - 4.8rem);
  }

  .g-sidebar,
  .g-pop-sidebar,
  body.-detail .g-sidebar,
  body.-detail .g-pop-sidebar {
    width: 25% !important;
    max-width: 25% !important;
  }

  .g-pdp__products,
  .g-pop-sidebar-image,
  .g-history__media {
    width: 75%;
  }
}

.g-sidebar__ul,
.g-pop-sidebar__body {
  overflow-x: hidden;
}

/* Inactive flow layer must not block grid clicks */
.g-flow:not(.-active),
.g-flow:not(.-active) * {
  pointer-events: none !important;
}

.g-pdp__card img[style*="display: none"] {
  visibility: hidden;
}

/* Header — static menu items + compact About/Start under address */
.g-header__menu-main .g-header__menu-static {
  display: inline-block;
  padding: 0 1.6rem;
  cursor: default;
  pointer-events: none;
}

.g-header__menu-main .g-header__menu-static span {
  text-transform: uppercase;
  line-height: 1.2;
  font-family: "The Future", Arial, sans-serif;
  font-weight: 700;
  font-size: 3.2rem;
  letter-spacing: -1px;
  display: block;
}

.seameco-header-aux-tabs {
  margin-top: 0;
}

.seameco-header-aux-line {
  margin-top: 0;
  display: none;
}

.g-header__menu > .g-header__policy {
  margin-bottom: 0;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  box-sizing: border-box;
}

.g-header__menu > .g-header__policy + .seameco-header-aux-tabs {
  margin-top: 0;
}

.seameco-header-aux-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex-wrap: nowrap;
  gap: 0;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  box-sizing: border-box;
}

.seameco-header-aux-tabs > li {
  flex: 1 1 50%;
  min-width: 0;
  position: relative;
  min-height: 3rem;
  display: flex;
  align-items: stretch;
  border-right: 1px solid #000;
  box-sizing: border-box;
}

.seameco-header-aux-tabs > li:last-child {
  border-right: 0;
}

.seameco-header-aux-tabs.seameco-tabs-inline .g-cta.seameco-aux-tab {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 100%;
  align-self: stretch;
  padding: 0.85rem 0.75rem;
}

.g-header__menu .seameco-header-aux-tabs .g-header__line.-vertical {
  display: none;
}

.g-header__menu .seameco-header-aux-tabs .g-cta.seameco-aux-tab > span:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  line-height: 0;
}

.g-header__menu .seameco-header-aux-tabs .g-cta.seameco-aux-tab > span:first-child svg {
  display: block;
  width: 24px;
  height: 24px;
}

.seameco-header-aux-tabs .g-cta.seameco-aux-tab > span:last-child:not(:only-child) {
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
}

.seameco-header-static.g-cta {
  cursor: default;
  pointer-events: none;
}

/* Sitewide smooth scrolling and motion */
html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: no-preference) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .g-header__menu-tabs a,
  .g-sidebar__ul a:not(.g-cta),
  button:not([disabled]):not(.g-cta) {
    transition: opacity 0.22s ease, color 0.22s ease;
  }

  /* Gufram-style CTA hover — smooth fill + text (do not override .g-cta transition:all) */
  .g-cta::after {
    transition: translate 0.58s cubic-bezier(0.23, 1, 0.32, 1),
      background-color 0.58s cubic-bezier(0.23, 1, 0.32, 1) !important;
  }

  .g-cta,
  .g-cta span,
  .g-cta svg path {
    transition: color 0.58s cubic-bezier(0.23, 1, 0.32, 1),
      fill 0.58s cubic-bezier(0.23, 1, 0.32, 1) !important;
  }

  body.-detail .g-pdp .g-sidebar__ul > li {
    transition: opacity 0.55s cubic-bezier(0.23, 1, 0.32, 1),
      translate 0.55s cubic-bezier(0.23, 1, 0.32, 1),
      border-color 0.35s ease !important;
  }

  .g-blur {
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body.-transition {
  overflow: hidden;
  touch-action: none;
}

html.seameco-transitioning,
html.seameco-transitioning body {
  scroll-behavior: auto;
}

[data-pjax="wrapper"],
[data-pjax="container"] {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

body.-transition [data-pjax="container"] {
  will-change: opacity, transform;
}

body.-transition .g-flow__card.-clone,
body.-transition .g-grid__card.-clone,
body.-transition .g-grid__item.-clone,
body > .-clone,
body > [class*="__card"].-clone,
.seameco-clone-flight,
.g-flow__card.-clone,
.g-grid__card.-clone,
.g-grid__item.-clone {
  will-change: transform, width, height, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  pointer-events: none;
  /* Below header (1200) so the flying card never covers the header box */
  z-index: 1100 !important;
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  opacity: 1 !important;
  visibility: visible !important;
}

body.-transition [js-transition-wrapper] {
  pointer-events: none;
}

/*
 * Product PDP only: hide the real hero under the flying clone.
 * Packaging / resources / programmes keep media visible — the unscoped
 * [js-transition-target] rule caused white flash on land (clone hidden +
 * hero still opacity:0).
 */
body.-transition.seameco-product-shell .g-pdp[js-detail],
body.-transition.seameco-product-shell [js-transition-target],
body.-transition.seameco-products-page .g-pdp[js-detail],
body.-transition.seameco-pdp-transition[data-seameco-card-detail-kind="product"] .g-pdp[js-detail],
body.-transition.seameco-pdp-transition[data-seameco-card-detail-kind="product"] [js-transition-target] {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Authors-style listing→detail: hero stays painted under the clone
 * (except packaging — destination img stays hidden via seameco-pack-morphing). */
body.-transition:not(.seameco-product-shell):not(.seameco-pdp-transition):not(.seameco-pack-morphing)
  [js-transition-target],
body.-transition:not(.seameco-product-shell):not(.seameco-pdp-transition):not(.seameco-pack-morphing)
  .g-history__media,
body.-transition:not(.seameco-product-shell):not(.seameco-pdp-transition):not(.seameco-pack-morphing)
  .g-history__image {
  opacity: 1 !important;
  visibility: visible !important;
}

/* No adjacent-slide peek during shared-element flight (looks like duplicate products) */
body.-transition .g-pdp__slide.swiper-slide-prev,
body.-transition .g-pdp__slide.swiper-slide-next,
body.seameco-pdp-transition .g-pdp__slide.swiper-slide-prev,
body.seameco-pdp-transition .g-pdp__slide.swiper-slide-next,
body.seameco-product-shell.-detail .g-pdp__slide.swiper-slide-prev,
body.seameco-product-shell.-detail .g-pdp__slide.swiper-slide-next {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.seameco-product-shell.-detail .g-pdp__slide.swiper-slide-prev .g-pdp__card,
body.seameco-product-shell.-detail .g-pdp__slide.swiper-slide-next .g-pdp__card {
  opacity: 0 !important;
  transform: none !important;
}

body.seameco-clone-landed .g-pdp[js-detail],
body.seameco-clone-landed:not(.seameco-pack-morphing):not(.seameco-authors-morphing):not([data-seameco-card-detail-kind="packaging"]):not([data-seameco-card-detail-kind="resource"]):not([data-seameco-card-detail-kind="programme"])
  [js-transition-target] {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Authors morph: destination stays hidden while clone flies (beats clone-landed).
 * During soft land, destination must paint under the clone — exclude soft-authors-land. */
body.seameco-pack-morphing:not(.seameco-soft-authors-land) [js-transition-target],
body.seameco-pack-morphing:not(.seameco-soft-authors-land) [data-seameco-packaging-image],
body.seameco-pack-morphing:not(.seameco-soft-authors-land) .seameco-packaging-hero img,
body.seameco-pack-morphing:not(.seameco-soft-authors-land) .seameco-packaging-hero picture,
body.seameco-authors-morphing:not(.seameco-soft-authors-land) [js-transition-target],
body.seameco-authors-morphing:not(.seameco-soft-authors-land) [data-seameco-packaging-image],
body.seameco-authors-morphing:not(.seameco-soft-authors-land) [data-seameco-resource-image],
body.seameco-authors-morphing:not(.seameco-soft-authors-land) [data-seameco-programme-image],
body.seameco-authors-morphing:not(.seameco-soft-authors-land) .seameco-packaging-hero img,
body.seameco-authors-morphing:not(.seameco-soft-authors-land) .seameco-resource-hero img,
body.seameco-authors-morphing:not(.seameco-soft-authors-land) .seameco-programme-hero img,
body.seameco-clone-landed:not(.seameco-soft-authors-land).seameco-pack-morphing [js-transition-target],
body.seameco-clone-landed:not(.seameco-soft-authors-land).seameco-authors-morphing [js-transition-target],
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="packaging"] [js-transition-target],
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="packaging"] [data-seameco-packaging-image],
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="packaging"] .seameco-packaging-hero img,
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="resource"] [js-transition-target],
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="resource"] [data-seameco-resource-image],
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="resource"] .seameco-resource-hero img,
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="programme"] [js-transition-target],
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="programme"] [data-seameco-programme-image],
body.seameco-clone-landed:not(.seameco-soft-authors-land)[data-seameco-card-detail-kind="programme"] .seameco-programme-hero img {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: none !important;
}

/* Soft land: hero already under clone — no snap unveil / blink */
body.seameco-soft-authors-land [js-transition-target],
body.seameco-soft-authors-land [data-seameco-packaging-image],
body.seameco-soft-authors-land [data-seameco-resource-image],
body.seameco-soft-authors-land [data-seameco-programme-image],
body.seameco-soft-authors-land .seameco-packaging-hero img,
body.seameco-soft-authors-land .seameco-resource-hero img,
body.seameco-soft-authors-land .seameco-programme-hero img,
body.seameco-soft-authors-land .seameco-packaging-hero picture,
body.seameco-soft-authors-land .seameco-resource-hero picture,
body.seameco-soft-authors-land .seameco-programme-hero picture {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Product PDP only — hide flying clone after land.
 * Authors (resource/programme/packaging): keep clone until JS cleanup;
 * hiding it while the hero was still veiled punched a white flash. */
body.seameco-clone-landed[data-seameco-card-detail-kind="product"] .g-flow__card.-clone,
body.seameco-clone-landed[data-seameco-card-detail-kind="product"] .g-grid__card.-clone,
body.seameco-clone-landed.seameco-product-shell .g-flow__card.-clone,
body.seameco-clone-landed.seameco-product-shell .g-grid__card.-clone {
  opacity: 0 !important;
  transition: opacity 0.12s linear;
}

/*
 * Search-result → product = plain fade, NO "image flies to centre". Clicking the
 * real card is required to render the PDP, and Gufram's core spawns a `.-clone`
 * that flies to centre — hide that clone, and reveal the incoming PDP right away
 * so the listing simply crossfades into the product page.
 */
body.seameco-plain-pdp-nav .g-flow__card.-clone,
body.seameco-plain-pdp-nav .g-grid__card.-clone,
body.seameco-plain-pdp-nav .seameco-clone-flight,
body.seameco-plain-pdp-nav [js-transition-wrapper] .g-flow__card.-clone,
body.seameco-plain-pdp-nav [js-transition-wrapper] .g-grid__card.-clone {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.seameco-plain-pdp-nav.-transition .g-pdp[js-detail],
body.seameco-plain-pdp-nav.-transition [js-transition-target],
body.seameco-plain-pdp-nav .g-pdp[js-detail].seameco-pdp-ready,
body.seameco-plain-pdp-nav .g-pdp[js-detail] {
  opacity: 1 !important;
  visibility: visible !important;
  transition: opacity 0.28s ease !important;
}

/* Keep header closed while plain search→product settles — no re-open fly */
body.seameco-plain-pdp-nav.seameco-header-detail-lock .g-header {
  overflow: hidden;
}

/* Search → product: lock closed header height so it cannot dip then bounce */
body.seameco-plain-pdp-nav .g-header {
  height: 5.4rem !important;
  max-height: 5.4rem !important;
  overflow: hidden !important;
}

/* Any SPA leave: keep header closed while it slides — never extend mid-move */
body.seameco-header-closed-lock .g-header {
  height: 5.4rem !important;
  max-height: 5.4rem !important;
  overflow: hidden !important;
}

/* During Space/Grid→PDP morph: keep primed hero visible (no flash to empty) */
body.seameco-pdp-transition .g-pdp [js-transition-target] img[data-seameco-hero-locked],
body.-transition.seameco-pdp-transition .g-pdp__card img[data-seameco-hero-locked] {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hide unready PDP chrome under the flying clone — reveal only when landed */
body.seameco-pdp-transition:not(.seameco-clone-landed):not(.seameco-plain-pdp-nav) .g-pdp[js-detail]:not(.seameco-pdp-ready) {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Hide non-source Space panels as soon as PDP leave starts — clone carries the image.
 * Keep source panel visible until clone is painted (avoids drop / imperfect morph). */
body.seameco-pdp-transition[data-seameco-listing-mode="flow"] .g-flow[js-flow] .g-flow__panel:not(.seameco-transition-source-panel),
body.-transition[data-seameco-listing-mode="flow"] .g-flow[js-flow] .g-flow__panel:not(.seameco-transition-source-panel) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.seameco-pdp-transition .g-flow__panel.seameco-transition-fade-panel,
body.-transition .g-flow__panel.seameco-transition-fade-panel {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.seameco-pdp-transition .g-grid__item.seameco-transition-fade-item,
body.-transition .g-grid__item.seameco-transition-fade-item {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.55s cubic-bezier(0.23, 1, 0.32, 1),
    visibility 0.55s cubic-bezier(0.23, 1, 0.32, 1),
    transform 0.55s cubic-bezier(0.23, 1, 0.32, 1);
  transform: scale(0.94);
}

body.seameco-pdp-transition a.g-grid__card.seameco-transition-fade-card,
body.-transition a.g-grid__card.seameco-transition-fade-card {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.45s cubic-bezier(0.23, 1, 0.32, 1),
    visibility 0.45s cubic-bezier(0.23, 1, 0.32, 1),
    transform 0.45s cubic-bezier(0.23, 1, 0.32, 1);
  transform: scale(0.92);
}

body.seameco-pdp-transition .seameco-collection-back-link,
body.-transition .seameco-collection-back-link {
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.28s ease;
}

body.seameco-pdp-transition .g-switch[js-flow-switch],
body.-transition .g-switch[js-flow-switch] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.34s cubic-bezier(0.23, 1, 0.32, 1),
    visibility 0.34s cubic-bezier(0.23, 1, 0.32, 1);
}

body.-transition a.g-flow__card[data-seameco-transition-source],
body.-transition a.g-grid__card[data-seameco-transition-source] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.-transition[data-seameco-listing-mode="grid"] .g-flow,
body.seameco-pdp-transition[data-seameco-listing-mode="grid"] .g-flow {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Freeze Space loop during product → PDP so duplicate panels don't scroll in */
body.seameco-pdp-transition[data-seameco-listing-mode="flow"] .g-flow[js-flow],
body.-transition[data-seameco-listing-mode="flow"] .g-flow[js-flow] {
  pointer-events: none !important;
}

body.seameco-pdp-transition[data-seameco-listing-mode="flow"] .g-flow__panel.seameco-transition-source-panel,
body.-transition[data-seameco-listing-mode="flow"] .g-flow__panel.seameco-transition-source-panel {
  /* Keep source panel under clone takeoff — sibling cards fade, source card hides */
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transition: none !important;
}
body.seameco-pdp-transition[data-seameco-listing-mode="flow"]
  .g-flow__panel.seameco-transition-source-panel
  a.g-flow__card:not([data-seameco-transition-source]):not(.-clone),
body.-transition[data-seameco-listing-mode="flow"]
  .g-flow__panel.seameco-transition-source-panel
  a.g-flow__card:not([data-seameco-transition-source]):not(.-clone) {
  opacity: 0 !important;
  visibility: visible !important;
  transition: opacity 0.34s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
body.seameco-pdp-transition[data-seameco-listing-mode="flow"]
  .g-flow__panel.seameco-transition-source-panel
  a.g-flow__card[data-seameco-transition-source],
body.-transition[data-seameco-listing-mode="flow"]
  .g-flow__panel.seameco-transition-source-panel
  a.g-flow__card[data-seameco-transition-source] {
  opacity: 0 !important;
  visibility: hidden !important;
}

body.seameco-pdp-transition .g-flow:not(.-active) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.-transition .g-flow__card.-clone,
.g-grid__item,
.g-grid__card,
.g-flow__panel {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Marker only — never opacity transition on Space (fights Gufram loop → VR blink) */
.seameco-card-ready {
  transition: none;
}

.g-flow .seameco-card-ready,
.g-flow__card.seameco-card-ready,
.g-flow[js-flow] .g-flow__card,
.g-flow[js-flow] .g-flow__card img {
  transition: none !important;
}

.g-grid__lines-h span {
  transform-origin: left center;
}

.g-grid__lines-v span {
  transform-origin: center top;
}

.g-pdp {
  transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

body.-transition .g-pdp {
  transition: none;
}

.g-pdp.-active {
  opacity: 1;
}

/* Gufram dropdown panels — match main.css (opacity + translateY with height tween) */
.g-header__menu,
.g-header__search,
.g-header__nl {
  transition: all var(--ease, cubic-bezier(0.77, 0, 0.175, 1)) var(--timing-400, 0.4s);
}

/* One blur with Gufram — soften with the header height tween */
.g-blur {
  transition: opacity 0.55s var(--seameco-header-slide-ease, cubic-bezier(0.23, 1, 0.32, 1));
}

/* Homepage hover label — instant, no slide delay */
.g-cursor {
  contain: layout style;
  pointer-events: none;
  will-change: transform;
}

body.-transition .g-cursor {
  opacity: 0 !important;
  visibility: hidden !important;
}

.g-cursor__product-title > div,
.g-cursor__product-author > div,
.g-cursor__product > span {
  transition: none !important;
}

.g-cursor.-show .g-cursor__product-title > div {
  transform: translateY(0) !important;
}

.g-cursor.-show .g-cursor__product-author > div {
  transform: translateY(0) !important;
}

.g-cursor.-show .g-cursor__product > span {
  transform: scale(1, 1) !important;
}

.g-cursor.-show {
  opacity: 1 !important;
  visibility: visible !important;
}

/* History — wheel/swipe only (hide Prev/Next CTAs sitewide on Services) */
.g-history__nav,
.g-history__mobile-nav,
.seameco-sidebar-section-nav {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

.g-history__media .g-history__nav {
  display: none !important;
}

@media (max-width: 1023px) {
  .g-sidebar .g-history__nav,
  .seameco-sidebar-section-nav {
    display: none !important;
  }

  [data-seameco-history-sidebar] {
    display: none !important;
  }

  .g-history .g-sidebar {
    display: none !important;
  }

  .g-history__mobile-nav {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .g-history {
    height: 100dvh;
    min-height: 100dvh;
  }

  .g-history__media {
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    min-height: 100dvh;
  }

  .g-history__slider,
  .g-history__image {
    height: 100%;
    min-height: 100dvh;
  }

  .g-history__image img,
  .g-history__image picture,
  .g-history__image .g-pop-sidebar-gallery__image {
    width: 100%;
    height: 100%;
    min-height: 100dvh;
    object-fit: cover;
  }

  .g-history__image .g-pop-sidebar-gallery,
  .g-history__image .swiper-slide {
    position: relative;
    height: 100%;
  }

  /* Caption sits just above gallery pagination (above nav, clear of arrows) */
  .g-history__image .g-pop-sidebar-gallery__caption.seameco-history-hover {
    display: flex !important;
    position: absolute !important;
    left: 1.2rem !important;
    right: auto !important;
    bottom: calc(1.2rem + 4.4rem + 5.8rem + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 15 !important;
    opacity: 1 !important;
    transform: none !important;
    max-width: min(32rem, calc(100vw - 2.4rem)) !important;
    pointer-events: none;
  }

  /* Sit above safe area (section nav CTAs removed — wheel/swipe only) */
  .g-history__image .g-pop-sidebar-gallery__nav {
    display: flex !important;
    position: absolute !important;
    bottom: calc(1.2rem + env(safe-area-inset-bottom, 0px)) !important;
    left: 1.2rem !important;
    right: auto !important;
    top: auto !important;
    z-index: 14 !important;
    gap: 0;
    flex-direction: row;
    width: auto !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .g-history__image .g-pop-sidebar-gallery__nav .swiper-button-prev,
  .g-history__image .g-pop-sidebar-gallery__nav .swiper-button-next,
  .g-history__image .g-pop-sidebar-gallery__nav .swiper-button-disabled,
  .g-history__image .g-pop-sidebar-gallery__nav button.swiper-button-disabled {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #000 !important;
    pointer-events: auto !important;
  }

  .g-history__image .g-pop-sidebar-gallery__nav .swiper-button-disabled,
  .g-history__image .g-pop-sidebar-gallery__nav button.swiper-button-disabled {
    pointer-events: none !important;
    color: #999 !important;
  }

  .g-history__image .g-pop-sidebar-gallery__nav .swiper-button-disabled svg,
  .g-history__image .g-pop-sidebar-gallery__nav .swiper-button-disabled svg path,
  .g-history__image .swiper .g-pop-sidebar-gallery__nav button.swiper-button-disabled svg,
  .g-history__image .swiper .g-pop-sidebar-gallery__nav button.swiper-button-disabled svg path {
    opacity: 1 !important;
    visibility: visible !important;
    stroke: #999 !important;
  }

  .g-history__mobile-nav,
  .g-history__mobile-nav .g-cta,
  .g-history__mobile-nav .g-cta.-disabled,
  .g-history__mobile-nav .g-cta:disabled {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .g-history__image.-active-section .g-pop-sidebar-gallery__caption.seameco-history-hover {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  /* Header — keep centered on mobile (Start + detail + listings) */
  .g-header,
  body.-detail .g-header,
  body.seameco-start-page .g-header {
    width: calc(100vw - 3.2rem) !important;
    max-width: none !important;
    right: 0 !important;
    left: auto !important;
    transform: translate3d(-1.6rem, 0, 2500px) !important;
    transition:
      background-color 0.35s ease,
      border-color 0.35s ease,
      height 0s !important;
  }

  /* Modal open — must beat the pin above so header actually leaves */
  body.-hide-header .g-header,
  body.-detail.-hide-header .g-header,
  body.seameco-product-shell.-hide-header .g-header,
  body:has(.g-gallery.-active) .g-header {
    transform: translate3d(-1.6rem, -150%, 2500px) !important;
    pointer-events: none !important;
  }

  body.-menu-is-open .g-header,
  body.-search-is-open .g-header,
  body.-nl-is-open .g-header {
    /* Keep Gufram height tween — overflow stays managed by animateHeight */
    background: #fff !important;
  }

  /* Chrome only — panel position/transform come from Gufram main.css */
  .g-header__menu,
  .g-header__search,
  .g-header__nl {
    background: #fff !important;
  }

  .g-header__menu-main {
    padding: 2rem 0 1.6rem !important;
  }

  .g-header__menu-main a {
    padding: 0 1rem !important;
    max-width: 100%;
    box-sizing: border-box;
  }

  .g-header__menu-main a span {
    font-size: 2.2rem !important;
    letter-spacing: -0.04em !important;
    line-height: 1.2 !important;
  }

  .g-header__menu-tabs.seameco-tabs-inline .g-cta > span:last-child {
    font-size: 1rem !important;
    letter-spacing: -0.02em !important;
  }

  /* Sitewide heading scale — mobile */
  .-t-title-1 {
    font-size: 4.2rem !important;
    letter-spacing: -0.04em !important;
  }

  .-t-title-2 {
    font-size: 3.4rem !important;
    letter-spacing: -0.04em !important;
  }

  .-t-title-3 {
    font-size: 2.8rem !important;
    letter-spacing: -0.03em !important;
  }

  .-t-title-4 {
    font-size: 2.2rem !important;
    letter-spacing: -0.03em !important;
  }

  .-t-subtitle-1 {
    font-size: 1.6rem !important;
  }

  .-t-subtitle-2 {
    font-size: 1.35rem !important;
  }

  /* Gufram caption box — wider text area on mobile */
  .g-pop-sidebar-gallery__caption,
  .seameco-pdp-slide-caption {
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
    padding: 0.65rem 0.9rem !important;
    min-height: 0 !important;
    width: max-content !important;
    max-width: min(32rem, calc(100vw - 8.5rem)) !important;
    box-sizing: border-box !important;
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: center !important;
    white-space: normal !important;
  }

  .g-history__image .g-pop-sidebar-gallery__caption.seameco-history-hover {
    max-width: min(32rem, calc(100vw - 2.4rem)) !important;
    left: 1.2rem !important;
    right: auto !important;
    /* Above gallery pagination (nav shares 1.2+5.6 base) — do not reuse nav bottom */
    bottom: calc(1.2rem + 4.4rem + 5.8rem + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (min-width: 1024px) {
  .g-history .g-sidebar {
    position: absolute !important;
    right: 0;
    top: 0;
    height: 100%;
  }

  .g-history .g-sidebar .g-sidebar__ul,
  .g-history .g-sidebar .g-sidebar__ul > li {
    position: relative;
    height: 100%;
  }

  .g-history .g-sidebar .g-history__nav,
  .seameco-sidebar-section-nav {
    position: absolute !important;
    right: 2.4rem !important;
    left: auto !important;
    top: auto !important;
    bottom: 2.4rem !important;
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    flex-direction: column;
    align-items: stretch;
  }

  .g-sidebar .g-history__nav .g-cta + .g-cta,
  .seameco-sidebar-section-nav .g-cta + .g-cta {
    margin-top: -1px !important;
    margin-left: 0 !important;
  }
}

.g-history__nav .g-cta,
.g-history__mobile-nav .g-cta {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: relative;
  z-index: 201;
}

.g-history__nav .g-cta.-disabled,
.g-history__mobile-nav .g-cta.-disabled,
.g-history__nav .g-cta:disabled,
.g-history__mobile-nav .g-cta:disabled,
.seameco-sidebar-section-nav .g-cta.-disabled,
.seameco-sidebar-section-nav .g-cta:disabled {
  display: flex !important;
  pointer-events: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #999 !important;
}

.g-history__nav .g-cta.-disabled svg path,
.g-history__mobile-nav .g-cta.-disabled svg path,
.seameco-sidebar-section-nav .g-cta.-disabled svg path,
.seameco-sidebar-section-nav .g-cta:disabled svg path {
  fill: none !important;
  stroke: #999 !important;
  opacity: 1 !important;
}

.g-history__nav .g-cta:not(.-disabled):not(:disabled),
.g-history__mobile-nav .g-cta:not(.-disabled):not(:disabled),
.seameco-sidebar-section-nav .g-cta:not(.-disabled):not(:disabled) {
  color: #000;
}

.g-history__nav .g-cta.-disabled,
.g-history__mobile-nav .g-cta.-disabled,
.g-history__nav .g-cta:disabled,
.g-history__mobile-nav .g-cta:disabled,
.seameco-sidebar-section-nav .g-cta.-disabled,
.seameco-sidebar-section-nav .g-cta:disabled {
  color: #999;
}

.g-history__nav .g-cta:not(.-disabled):not(:disabled) svg path,
.g-history__mobile-nav .g-cta:not(.-disabled):not(:disabled) svg path,
.seameco-sidebar-section-nav .g-cta:not(.-disabled):not(:disabled) svg path,
.g-history__nav .g-cta:not(.-disabled):not(:disabled) svg .seameco-nav-icon path,
.seameco-sidebar-section-nav .g-cta:not(.-disabled):not(:disabled) svg path,
.g-history__nav .g-cta:not(.-disabled):not(:disabled):hover svg path,
.g-history__mobile-nav .g-cta:not(.-disabled):not(:disabled):hover svg path,
.g-history__nav .g-cta:not(.-disabled):not(:disabled):active svg path,
.g-history__mobile-nav .g-cta:not(.-disabled):not(:disabled):active svg path,
.g-history__nav .g-cta:not(.-disabled):not(:disabled):focus svg path,
.g-history__mobile-nav .g-cta:not(.-disabled):not(:disabled):focus svg path,
.g-pop-sidebar-gallery__nav .swiper-button-prev:not(.swiper-button-disabled) svg path,
.g-pop-sidebar-gallery__nav .swiper-button-next:not(.swiper-button-disabled) svg path,
.g-pop-sidebar-gallery__nav .swiper-button-prev:not(.swiper-button-disabled):hover svg path,
.g-pop-sidebar-gallery__nav .swiper-button-next:not(.swiper-button-disabled):hover svg path,
.g-pop-sidebar-gallery__nav .swiper-button-prev:not(.swiper-button-disabled):active svg path,
.g-pop-sidebar-gallery__nav .swiper-button-next:not(.swiper-button-disabled):active svg path {
  fill: none !important;
  stroke: #000 !important;
  stroke-width: 2.75;
  opacity: 1 !important;
}

.g-history__nav .g-cta.-only-icon svg,
.g-history__mobile-nav .g-cta.-only-icon svg,
.seameco-sidebar-section-nav .g-cta.-only-icon svg {
  width: 22px;
  height: 22px;
  stroke-width: 2.75;
}

.seameco-sidebar-section-nav .g-cta.-only-icon {
  min-width: 2.75rem;
  min-height: 2.75rem;
  border-color: rgba(0, 0, 0, 0.35) !important;
}

/* Desktop only: white arrow on dark hover fill. Touch sticky :hover made arrows vanish. */
@media (hover: hover) and (pointer: fine) {
  .g-history__nav .g-cta:not(.-disabled):not(:disabled):hover svg path,
  .g-history__mobile-nav .g-cta:not(.-disabled):not(:disabled):hover svg path,
  .seameco-sidebar-section-nav .g-cta:not(.-disabled):not(:disabled):hover svg path {
    stroke: #fff !important;
  }
}

/* Mobile/touch: arrows stay black (or muted when disabled) — never white after tap */
@media (max-width: 1023px) {
  .g-history__nav .g-cta:not(.-disabled):not(:disabled) svg path,
  .g-history__mobile-nav .g-cta:not(.-disabled):not(:disabled) svg path,
  .seameco-sidebar-section-nav .g-cta:not(.-disabled):not(:disabled) svg path,
  .g-history__nav .g-cta:not(.-disabled):not(:disabled):hover svg path,
  .g-history__mobile-nav .g-cta:not(.-disabled):not(:disabled):hover svg path,
  .g-history__nav .g-cta:not(.-disabled):not(:disabled):active svg path,
  .g-history__mobile-nav .g-cta:not(.-disabled):not(:disabled):active svg path,
  .g-history__nav .g-cta:not(.-disabled):not(:disabled):focus svg path,
  .g-history__mobile-nav .g-cta:not(.-disabled):not(:disabled):focus svg path,
  .g-pop-sidebar-gallery__nav .swiper-button-prev:not(.swiper-button-disabled) svg path,
  .g-pop-sidebar-gallery__nav .swiper-button-next:not(.swiper-button-disabled) svg path,
  .g-pop-sidebar-gallery__nav .swiper-button-prev:not(.swiper-button-disabled):hover svg path,
  .g-pop-sidebar-gallery__nav .swiper-button-next:not(.swiper-button-disabled):hover svg path,
  .g-pop-sidebar-gallery__nav .swiper-button-prev:not(.swiper-button-disabled):active svg path,
  .g-pop-sidebar-gallery__nav .swiper-button-next:not(.swiper-button-disabled):active svg path {
    stroke: #000 !important;
    fill: none !important;
    opacity: 1 !important;
  }

  .g-history__nav .g-cta.-disabled svg path,
  .g-history__mobile-nav .g-cta.-disabled svg path,
  .g-history__nav .g-cta:disabled svg path,
  .g-history__mobile-nav .g-cta:disabled svg path,
  .g-pop-sidebar-gallery__nav .swiper-button-disabled svg path {
    stroke: #999 !important;
    fill: none !important;
    opacity: 1 !important;
  }
}

.g-history__nav .g-cta.-only-icon svg,
.g-history__mobile-nav .g-cta.-only-icon svg,
.seameco-sidebar-section-nav .g-cta.-only-icon svg {
  position: relative;
  z-index: 1;
}

.g-history__nav .g-cta.-disabled:hover::after,
.g-history__mobile-nav .g-cta.-disabled:hover::after {
  translate: 0 100% !important;
}

.g-pop-sidebar-gallery .swiper-button-disabled,
.g-pop-sidebar-gallery .swiper-button-prev.swiper-button-disabled,
.g-pop-sidebar-gallery .swiper-button-next.swiper-button-disabled {
  color: #999 !important;
  opacity: 1 !important;
}

.g-pop-sidebar-gallery .swiper-button-disabled svg path,
.g-pop-sidebar-gallery .swiper-button-prev.swiper-button-disabled svg path,
.g-pop-sidebar-gallery .swiper-button-next.swiper-button-disabled svg path {
  stroke: #999 !important;
  fill: none !important;
  opacity: 1 !important;
}

.g-pop-sidebar-gallery__nav .g-cta:not(.swiper-button-disabled) {
  color: #000;
}

.g-pop-sidebar-gallery__nav .g-cta:not(.swiper-button-disabled) svg path {
  stroke: currentColor !important;
  stroke-width: 2.75;
  fill: none !important;
}

/* Custom cookie banner — Gufram-style, single banner via site.js */
:root {
  --seameco-btn-radius: 0;
}

#seameco-cookie button,
#seameco-cookie .seameco-cookie__save,
.seameco-contact-form button.g-cta,
.g-header__nl-form button.g-cta,
.g-cta {
  border-radius: var(--seameco-btn-radius);
}

.g-cta {
  overflow: hidden;
}
#iubenda-cs-banner,
.iubenda-cs-content,
[class*="iubenda-cs"] {
  display: none !important;
}

#seameco-cookie {
  position: fixed;
  /* Left side — never cover Services / detail sidebar CTAs (bottom-right) */
  left: 1.6rem;
  right: auto;
  bottom: 1.6rem;
  z-index: 99999;
  width: min(42rem, calc(100vw - 3.2rem));
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 0;
  font-family: "The Future", Arial, sans-serif;
  font-size: calc(1.05rem + 2px);
  line-height: 1.2;
  letter-spacing: -0.1px;
  color: #1a1a1a;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

#seameco-cookie .seameco-cookie__title {
  margin: 0 0 0.35rem;
  font-size: calc(1.3rem + 2px);
  font-weight: 700;
  letter-spacing: -0.25px;
  text-transform: none;
}

#seameco-cookie .seameco-cookie__body {
  padding: 1rem 1.25rem 0.55rem;
}

#seameco-cookie .seameco-cookie__body p {
  margin: 0;
  color: #333;
  font-size: calc(1.05rem + 2px);
  line-height: 1.2;
  letter-spacing: -0.2px;
}

#seameco-cookie .seameco-cookie__prefs {
  padding: 0 1.4rem 0.8rem;
  border-top: 1px solid #000;
}

#seameco-cookie .seameco-cookie__pref {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #000;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  cursor: pointer;
}

#seameco-cookie .seameco-cookie__pref span {
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  opacity: 0.7;
}

#seameco-cookie .seameco-cookie__pref.-locked {
  cursor: default;
  opacity: 0.85;
}

#seameco-cookie .seameco-cookie__pref input {
  width: 1.1rem;
  height: 1.1rem;
  accent-color: #000;
}

#seameco-cookie .seameco-cookie__save {
  appearance: none;
  width: 100%;
  margin-top: 0.8rem;
  border: 1px solid #000;
  background: #000;
  color: #fff;
  padding: 0.9rem 1.4rem;
  font: inherit;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: var(--seameco-btn-radius, 0.5rem);
}

#seameco-cookie .seameco-cookie__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding: 0 1.25rem 1rem;
}

#seameco-cookie.-prefs-open .seameco-cookie__actions {
  padding-top: 0.8rem;
}

#seameco-cookie button {
  appearance: none;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid transparent;
  border-radius: var(--seameco-btn-radius, 0.5rem);
  padding: 0.7rem 1.15rem;
  font: inherit;
  font-size: calc(1.05rem + 2px);
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: none;
  cursor: pointer;
  line-height: 1.2;
  border-radius: 0;
}

#seameco-cookie button span {
  position: relative;
  z-index: 1;
}

#seameco-cookie button::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  translate: 0 100%;
  background-color: #000;
  z-index: 0;
  transition: translate 0.4s cubic-bezier(0.65, 0, 0.35, 1);
  pointer-events: none;
}

#seameco-cookie button:hover::after {
  translate: 0;
}

#seameco-cookie .-accept {
  background: #000;
  color: #fff;
  border-color: #000;
}

#seameco-cookie .-accept::after {
  background-color: #fff;
  translate: 0 100%;
}

#seameco-cookie .-accept:hover {
  color: #000;
}

#seameco-cookie .-reject {
  background: #fff;
  color: #000;
  border-color: #000;
}

#seameco-cookie .-reject:hover {
  color: #fff;
}

#seameco-cookie .-customize {
  background: transparent;
  color: #000;
  border-color: transparent;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
}

#seameco-cookie .-customize::after {
  display: none;
}

#seameco-cookie.is-seameco-cookie-loading {
  pointer-events: none;
}

#seameco-cookie.is-seameco-cookie-loading .seameco-cookie__body,
#seameco-cookie.is-seameco-cookie-loading .seameco-cookie__prefs {
  opacity: 0.72;
  transition: opacity 0.2s ease;
}

#seameco-cookie .seameco-cookie__actions button,
#seameco-cookie .seameco-cookie__save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
}

#seameco-cookie button.is-nl-loading,
#seameco-cookie button.is-nl-success {
  pointer-events: none;
}

#seameco-cookie button .seameco-nl-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
  z-index: 2;
}

#seameco-cookie button .seameco-nl-slot {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s ease, visibility 0.18s ease;
  pointer-events: none;
}

#seameco-cookie button.is-nl-idle .seameco-nl-slot--arrow,
#seameco-cookie button.is-nl-loading .seameco-nl-slot--dots {
  opacity: 1;
  visibility: visible;
}

#seameco-cookie button .seameco-nl-dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.32rem;
}

#seameco-cookie button .seameco-nl-dots i {
  display: block;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 0;
  background: currentColor;
  opacity: 0.25;
}

#seameco-cookie button.is-nl-loading .seameco-nl-dots.is-animating i {
  animation: seameco-nl-dot-step 1.05s ease-in-out infinite;
}

#seameco-cookie button.is-nl-loading .seameco-nl-dots.is-animating i:nth-child(1) {
  animation-delay: 0s;
}

#seameco-cookie button.is-nl-loading .seameco-nl-dots.is-animating i:nth-child(2) {
  animation-delay: 0.35s;
}

#seameco-cookie button.is-nl-loading .seameco-nl-dots.is-animating i:nth-child(3) {
  animation-delay: 0.7s;
}

#seameco-cookie button .seameco-nl-label {
  position: relative;
  z-index: 2;
}

#seameco-cookie button.is-nl-loading .seameco-nl-label:empty {
  display: none;
}

#seameco-cookie .-accept.is-nl-loading {
  color: #fff;
}

#seameco-cookie .-accept.is-nl-loading::after {
  translate: 0 0;
}

#seameco-cookie .-reject.is-nl-loading {
  color: #000;
}

#seameco-cookie .-reject.is-nl-loading::after {
  translate: 0 0;
  background-color: #fff;
}

#seameco-cookie .seameco-cookie__save.is-nl-loading {
  color: #fff;
}

.g-header__nl .seameco-nl-status {
  margin: 0.8rem 0 0;
  font-size: 1rem;
  line-height: 1.2;
  color: #000;
}

.g-header__nl .seameco-nl-status:empty {
  display: none;
}

.g-header__nl-interests {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0.55rem 0 0.25rem;
}

.g-header__nl-interests-label {
  display: none !important;
}

.g-header__nl-interests-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem 1.1rem;
  align-items: center;
}

.g-header__nl-interest {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  cursor: pointer;
  font-size: calc(1.2rem + 2px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #000;
  user-select: none;
  min-width: 0;
}

.g-header__nl-interest span {
  font-size: inherit;
  line-height: inherit;
}

.g-header__nl-interest input {
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  accent-color: #000;
  flex: 0 0 auto;
}

@media (max-width: 640px) {
  .g-header__nl-interests-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 0.85rem;
  }

  .g-header__nl-interest {
    font-size: calc(1.05rem + 2px);
  }
}

body.seameco-products-page .g-grid.-type-products .g-grid__lines-h,
body.seameco-products-page .g-grid.-type-products .g-grid__lines-v,
body.seameco-site .g-grid.-type-products.-active .g-grid__lines-h,
body.seameco-site .g-grid.-type-products.-active .g-grid__lines-v,
body.seameco-site .g-grid.-type-products[data-seameco-lines-drawn="1"] .g-grid__lines-h,
body.seameco-site .g-grid.-type-products[data-seameco-lines-drawn="1"] .g-grid__lines-v {
  display: block !important;
  pointer-events: none;
  z-index: 3;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

body.seameco-products-page .g-grid.-type-products .g-grid__lines-h span,
body.seameco-products-page .g-grid.-type-products .g-grid__lines-v span,
body.seameco-site .g-grid.-type-products.-active .g-grid__lines-h span,
body.seameco-site .g-grid.-type-products.-active .g-grid__lines-v span,
body.seameco-site
  .g-grid.-type-products[data-seameco-lines-drawn="1"]
  .g-grid__lines-h
  span,
body.seameco-site
  .g-grid.-type-products[data-seameco-lines-drawn="1"]
  .g-grid__lines-v
  span {
  opacity: 1 !important;
  visibility: visible !important;
  background: #000 !important;
  display: block !important;
  position: absolute !important;
}

/* Lines start collapsed until the draw animation finishes */
body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products:not([data-seameco-lines-drawn="1"])
  .g-grid__lines-h
  span {
  transform: scaleX(0);
  transform-origin: left center;
}

body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products:not([data-seameco-lines-drawn="1"])
  .g-grid__lines-v
  span {
  transform: scaleY(0);
  transform-origin: top center;
}

body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products[data-seameco-lines-drawn="1"]
  .g-grid__lines-h
  span {
  transform: scaleX(1) !important;
}

body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products[data-seameco-lines-drawn="1"]
  .g-grid__lines-v
  span {
  transform: scaleY(1) !important;
}

body.seameco-products-page .g-switch,
body.seameco-products-page [js-flow-switch] {
  display: none !important;
}

/* Cold products catalog: hold until lines lattice matches content (no multi-line flash) */
body.seameco-products-page:not(.seameco-booted) .g-grid.-type-products,
body.seameco-products-page.-loading .g-grid.-type-products {
  opacity: 0 !important;
  visibility: hidden !important;
}

body.seameco-products-page:not(.seameco-space-priming) .g-grid.-type-products,
body.seameco-products-page:not(.seameco-space-priming) .g-grid.-type-products.-active,
body.seameco-booted.seameco-products-page:not(.-loading)
  .g-grid.-type-products[data-seameco-lines-drawn="1"] {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: relative;
}

/* Lines can draw without hiding products — blank page + hover was the failure mode */
body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products:not([data-seameco-lines-drawn="1"])
  .g-grid__item,
body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products:not([data-seameco-lines-drawn="1"])
  .g-grid__card,
body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products:not([data-seameco-lines-drawn="1"])
  [js-grid-item-info],
body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products:not([data-seameco-lines-drawn="1"])
  .seameco-card-ready {
  visibility: visible !important;
  opacity: 1 !important;
}

/* During products stagger, GSAP owns opacity — neutralize !important card-ready snap */
body.seameco-products-page .g-grid.-type-products[data-seameco-lines-animating="1"] .g-grid__item,
body.seameco-products-page .g-grid.-type-products[data-seameco-lines-animating="1"] .g-grid__card,
body.seameco-products-page .g-grid.-type-products[data-seameco-lines-animating="1"] [js-grid-item-info],
body.seameco-products-page .g-grid.-type-products[data-seameco-lines-animating="1"] .seameco-card-ready {
  opacity: 1 !important;
  transition: none !important;
}
body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products[data-seameco-lines-animating="1"]
  .g-grid__card:not(.seameco-transition-fade-card):not([data-seameco-transition-source]),
body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products[data-seameco-lines-animating="1"]
  .g-grid__item:not(.seameco-transition-fade-item):not(.seameco-transition-source-item) {
  transform: none !important;
}

/* Newsletter + contact CTA — animated dots / check states */
.g-header__nl-form button.g-cta,
.seameco-contact-form button.g-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: transparent;
  color: #fff;
  transition: color 0.4s ease;
}

.g-header__nl-form button.g-cta::after,
.seameco-contact-form button.g-cta::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-color: #000 !important;
  z-index: 0 !important;
  translate: 0 0 !important;
  transition: translate 0.4s ease !important;
  will-change: translate;
}

.g-header__nl-form button.g-cta.is-nl-idle:hover:not(:disabled)::after,
.seameco-contact-form button.g-cta.is-nl-idle:hover:not(:disabled)::after {
  translate: 0 -110% !important;
}

.g-header__nl-form button.g-cta.is-nl-idle:hover:not(:disabled),
.seameco-contact-form button.g-cta.is-nl-idle:hover:not(:disabled) {
  color: #000;
}

.g-header__nl-form button.g-cta:not(.is-nl-idle):hover,
.seameco-contact-form button.g-cta:not(.is-nl-idle):hover {
  color: #fff;
}

.g-header__nl-form button.g-cta.is-nl-loading,
.g-header__nl-form button.g-cta.is-nl-success,
.g-header__nl-form button.g-cta.-success,
.seameco-contact-form button.g-cta.is-nl-loading,
.seameco-contact-form button.g-cta.is-nl-success {
  color: #fff;
  pointer-events: none;
}

.g-header__nl-form button.g-cta.is-nl-loading::after,
.g-header__nl-form button.g-cta.is-nl-success::after,
.g-header__nl-form button.g-cta.-success::after,
.g-header__nl-form button.g-cta.is-nl-loading:hover::after,
.g-header__nl-form button.g-cta.is-nl-success:hover::after,
.g-header__nl-form button.g-cta.is-nl-loading:focus-visible::after,
.g-header__nl-form button.g-cta.is-nl-success:focus-visible::after,
.g-header__nl-form button.g-cta.is-nl-loading:active::after,
.g-header__nl-form button.g-cta.is-nl-success:active::after,
.seameco-contact-form button.g-cta.is-nl-loading::after,
.seameco-contact-form button.g-cta.is-nl-success::after,
.seameco-contact-form button.g-cta.is-nl-loading:hover::after,
.seameco-contact-form button.g-cta.is-nl-success:hover::after,
.seameco-contact-form button.g-cta.is-nl-loading:focus-visible::after,
.seameco-contact-form button.g-cta.is-nl-success:focus-visible::after,
.seameco-contact-form button.g-cta.is-nl-loading:active::after,
.seameco-contact-form button.g-cta.is-nl-success:active::after {
  translate: 0 0 !important;
  transition: none !important;
}

.g-header__nl-form button.g-cta .seameco-nl-icon,
.seameco-contact-form button.g-cta .seameco-nl-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
  z-index: 2;
}

.g-header__nl-form button.g-cta .seameco-nl-slot,
.seameco-contact-form button.g-cta .seameco-nl-slot {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s ease, visibility 0.18s ease;
  pointer-events: none;
}

.g-header__nl-form button.g-cta.is-nl-idle .seameco-nl-slot--arrow,
.g-header__nl-form button.g-cta.is-nl-loading .seameco-nl-slot--dots,
.g-header__nl-form button.g-cta.is-nl-success .seameco-nl-slot--check,
.seameco-contact-form button.g-cta.is-nl-idle .seameco-nl-slot--arrow,
.seameco-contact-form button.g-cta.is-nl-loading .seameco-nl-slot--dots,
.seameco-contact-form button.g-cta.is-nl-success .seameco-nl-slot--check {
  opacity: 1;
  visibility: visible;
}

.g-header__nl-form button.g-cta .seameco-nl-icon .seameco-nl-dots,
.seameco-contact-form button.g-cta .seameco-nl-icon .seameco-nl-dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  margin: 0;
}

.g-header__nl-form button.g-cta .seameco-nl-icon .seameco-nl-dots i,
.seameco-contact-form button.g-cta .seameco-nl-icon .seameco-nl-dots i {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 0;
  background: currentColor;
  opacity: 0.2;
}

.g-header__nl-form button.g-cta.is-nl-loading .seameco-nl-dots.is-animating i,
.seameco-contact-form button.g-cta.is-nl-loading .seameco-nl-dots.is-animating i {
  animation: seameco-nl-dot-step 1.05s ease-in-out infinite;
}

.g-header__nl-form button.g-cta.is-nl-loading .seameco-nl-dots.is-animating i:nth-child(1),
.seameco-contact-form button.g-cta.is-nl-loading .seameco-nl-dots.is-animating i:nth-child(1) {
  animation-delay: 0s;
}

.g-header__nl-form button.g-cta.is-nl-loading .seameco-nl-dots.is-animating i:nth-child(2),
.seameco-contact-form button.g-cta.is-nl-loading .seameco-nl-dots.is-animating i:nth-child(2) {
  animation-delay: 0.35s;
}

.g-header__nl-form button.g-cta.is-nl-loading .seameco-nl-dots.is-animating i:nth-child(3),
.seameco-contact-form button.g-cta.is-nl-loading .seameco-nl-dots.is-animating i:nth-child(3) {
  animation-delay: 0.7s;
}

.g-header__nl-form button.g-cta .seameco-nl-icon .seameco-nl-arrow path,
.seameco-contact-form button.g-cta .seameco-nl-icon .seameco-nl-arrow path {
  fill: currentColor;
  stroke: none;
}

.g-header__nl-form button.g-cta .seameco-nl-icon .seameco-nl-check,
.seameco-contact-form button.g-cta .seameco-nl-icon .seameco-nl-check {
  display: block;
}

.g-header__nl-form button.g-cta .seameco-nl-icon .seameco-nl-check rect,
.g-header__nl-form button.g-cta .seameco-nl-icon .seameco-nl-check path,
.seameco-contact-form button.g-cta .seameco-nl-icon .seameco-nl-check rect,
.seameco-contact-form button.g-cta .seameco-nl-icon .seameco-nl-check path {
  fill: none;
  stroke: currentColor;
  vector-effect: non-scaling-stroke;
}

.g-header__nl-form button.g-cta .seameco-nl-label,
.seameco-contact-form button.g-cta .seameco-nl-label {
  position: relative;
  z-index: 2;
}

@keyframes seameco-nl-dot-step {
  0%,
  100% {
    opacity: 0.2;
  }
  50% {
    opacity: 1;
  }
}

.g-header__policy {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.9rem 1.35rem 0.7rem;
  gap: 0.8rem;
  text-align: center;
  background: #000;
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  font-family: "The Future", Arial, sans-serif;
  font-size: 1rem;
}

.g-header__policy:hover {
  color: #fff;
}

@media (max-width: 767px) {
  #seameco-cookie {
    right: 0.75rem;
    left: 0.75rem;
    bottom: 0.75rem;
    width: auto;
    max-width: none;
    font-size: calc(0.88rem + 4px);
    line-height: 1.2;
  }

  /*
   * History / detail mobile section nav sits at the bottom edge.
   * Lift the cookie bar above it so Next/Prev stay tappable.
   */
  body.seameco-cookie-open.post-type-archive-history #seameco-cookie,
  body.seameco-cookie-open.seameco-services-page #seameco-cookie,
  body.seameco-cookie-open.seameco-resource-detail-page #seameco-cookie,
  body.seameco-cookie-open.seameco-programme-detail-page #seameco-cookie,
  body.seameco-cookie-open.seameco-packaging-detail-page #seameco-cookie {
    bottom: calc(5.2rem + env(safe-area-inset-bottom, 0px));
  }

  #seameco-cookie .seameco-cookie__body {
    padding: calc(0.7rem + 1px) calc(0.85rem + 1px) calc(0.4rem + 1px);
  }

  #seameco-cookie .seameco-cookie__title {
    margin: 0 0 0.25rem;
    font-size: calc(0.98rem + 5.5px);
  }

  #seameco-cookie .seameco-cookie__body p {
    font-size: calc(0.82rem + 5px);
    line-height: 1.2;
  }

  #seameco-cookie .seameco-cookie__actions {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.3rem;
    padding: 0 calc(0.85rem + 1px) calc(0.75rem + 1px);
  }

  #seameco-cookie .seameco-cookie__actions button.-accept,
  #seameco-cookie .seameco-cookie__actions button.-reject {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    padding: calc(0.5rem + 1px) calc(0.4rem + 1px);
    font-size: calc(0.78rem + 4px);
  }

  #seameco-cookie .seameco-cookie__actions button.-customize {
    flex: 0 0 auto;
    width: auto;
    margin-left: 0.15rem;
    align-self: center;
    justify-content: flex-end;
    text-align: right;
    padding-left: 0.25rem;
    padding-right: 0.15rem;
    font-size: calc(0.76rem + 4px);
    white-space: nowrap;
  }

  body.seameco-cookie-open.seameco-shopify-auth,
  body.seameco-cookie-open.seameco-trade-route {
    padding-bottom: 9.5rem;
  }
}

/* Block listing hover interaction while header overlays are open */
body.-menu-is-open .g-flow,
body.-menu-is-open .g-grid,
body.-search-is-open .g-flow,
body.-search-is-open .g-grid,
body.-nl-is-open .g-flow,
body.-nl-is-open .g-grid {
  pointer-events: none !important;
}

body.-menu-is-open [js-cursor] .g-cursor__product,
body.-search-is-open [js-cursor] .g-cursor__product,
body.-nl-is-open [js-cursor] .g-cursor__product {
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Header page title + trade tab — keep on one line */
.g-header__logo > span[data-page-header-name] {
  white-space: nowrap;
  letter-spacing: -0.04em;
}

.g-header__menu-tabs .seameco-trade-account > span:last-child,
.g-header__menu-tabs.seameco-tabs-inline .g-cta > span:last-child {
  white-space: nowrap;
}

/* Trade + Newsletter tabs on one row */
.g-header__menu-tabs.seameco-tabs-inline {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  box-sizing: border-box;
}

body.-menu-is-open .g-header__menu-tabs.seameco-tabs-inline,
body.-menu-is-open .seameco-header-aux-tabs {
  border-left-color: #000;
  border-right-color: #000;
}

body.-menu-is-open .g-header__menu > .g-header__line.-horizontal {
  scale: 1 1 !important;
  transform: none !important;
  height: 1px;
  background: #000 !important;
}

.g-header__menu-tabs.seameco-tabs-inline > li {
  flex: 1 1 50%;
  min-width: 0;
  position: relative;
  border-right: 1px solid #000;
  box-sizing: border-box;
}

.g-header__menu-tabs.seameco-tabs-inline > li:last-child {
  border-right: 0;
}

.g-header__menu-tabs.seameco-tabs-inline .g-header__line.-vertical,
.g-header__menu .seameco-header-aux-tabs .g-header__line.-vertical {
  display: none !important;
}

.g-header__menu-tabs.seameco-tabs-inline .g-cta {
  width: 100%;
  justify-content: center;
  font-size: 1.05rem;
  white-space: nowrap;
  padding-left: 0.6rem;
  padding-right: 0.6rem;
}

.g-header__menu-tabs.seameco-tabs-inline .g-cta > span:last-child {
  overflow: visible;
  text-overflow: clip;
}

.seameco-contact-copy a {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

/* 404 — contact-style layout */
[data-seameco-404-page] .seameco-404-cover img {
  object-position: center center;
  filter: grayscale(1) contrast(1.05);
}

[data-seameco-404-page] .seameco-404-copy .-t-title-4 {
  margin-bottom: 0.35rem;
}

[data-seameco-404-page] .seameco-404-actions {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: 1.35rem;
}

[data-seameco-404-page] .seameco-404-actions__row {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.65rem;
  align-items: stretch;
}

[data-seameco-404-page] .seameco-404-actions__row--single .g-cta {
  width: 100%;
  justify-content: center;
}

[data-seameco-404-page] .seameco-404-actions .g-cta,
[data-seameco-404-page] .seameco-404-actions .g-cta span {
  text-decoration: none !important;
}

[data-seameco-404-page] .seameco-404-actions__row:not(.seameco-404-actions__row--single) .g-cta {
  min-width: 0;
  flex: 1 1 0;
  width: auto;
  justify-content: center;
}

@media (max-width: 767px) {
  [data-seameco-404-page] .seameco-404-actions__row:not(.seameco-404-actions__row--single) {
    flex-direction: row;
    flex-wrap: nowrap;
  }

  [data-seameco-404-page] .seameco-404-actions__row:not(.seameco-404-actions__row--single) .g-cta {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    justify-content: center;
  }

  [data-seameco-404-page] .seameco-404-actions__row--single .g-cta {
    width: 100%;
  }
}

/* About — match Services sidebar typography */
.seameco-about-copy,
.seameco-about-copy p {
  text-transform: none !important;
}

.seameco-about-copy .-t-title-4 {
  text-transform: none !important;
  letter-spacing: -0.03em;
  font-size: clamp(2.1rem, 3.6vw, 3.2rem) !important;
  line-height: 1.2 !important;
  color: #000 !important;
}

.seameco-about-copy p {
  margin: 0;
}

.seameco-about-copy p + p {
  margin-top: 1.1rem;
}

.seameco-about-copy .seameco-writeup-body {
  font-size: 15px;
  line-height: 1.2 !important;
  letter-spacing: -0.038em;
  color: #000;
  font-weight: 300;
  margin: 0 0 12px;
}

/* Sidebar writeups sitewide — desktop 15px / mobile 12px */
@media (max-width: 767px) {
  .seameco-about-copy .seameco-writeup-body,
  .seameco-history-writeup,
  .seameco-history-writeup p,
  .seameco-history-writeup .seameco-writeup-body,
  [data-seameco-history-sidebar] .seameco-history-writeup > p:not(:has(.-t-title-4)),
  [data-seameco-history-sidebar] .seameco-history-writeup > p:not(:has(.-t-title-4)) .seameco-writeup-body,
  [data-seameco-resource-sidebar] .seameco-writeup-body,
  [data-seameco-programme-sidebar] .seameco-writeup-body,
  .page-template-page-contact .seameco-contact-copy p:not(:has(.-t-title-4)),
  .page-template-page-contact .seameco-404-copy p:not(:has(.-t-title-4)),
  .page-template-page-contact .seameco-about-copy .seameco-writeup-body {
    font-size: 12px !important;
    font-weight: 300 !important;
  }
}

/* Services — sidebar write-up follows history slides */
[data-seameco-history-sidebar],
[data-seameco-history-sidebar] .seameco-history-writeup,
[data-seameco-history-sidebar] .seameco-history-writeup p,
[data-seameco-history-sidebar] .seameco-writeup-lead,
[data-seameco-history-sidebar] .seameco-writeup-detail {
  text-transform: none !important;
}

[data-seameco-history-sidebar] .-t-title-4 {
  text-transform: none !important;
  letter-spacing: -0.03em;
  font-size: clamp(2.1rem, 3.6vw, 3.2rem) !important;
  line-height: 1.2 !important;
  color: #000 !important;
}

[data-seameco-history-sidebar] {
  position: relative;
  transition: min-height 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  overflow-y: auto;
  padding-right: 0.35rem;
  padding-bottom: 7.5rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

[data-seameco-history-sidebar]::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

[data-seameco-history-sidebar] p {
  margin: 0;
}

[data-seameco-history-sidebar] p + p {
  margin-top: 2.5px;
}

.seameco-history-writeup {
  display: none;
}

/* Only animate on slide change (-from-up/-from-down). Bare -active must not
 * re-run rise — that was the double-paint blink on Services writeups. */
.seameco-history-writeup.-active {
  display: block;
}

.seameco-history-writeup.-active.-from-up {
  animation: seameco-writeup-from-up 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.seameco-history-writeup.-active.-from-down {
  animation: seameco-writeup-from-down 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.seameco-history-writeup,
.seameco-history-writeup p,
.seameco-history-writeup .seameco-writeup-body,
.seameco-about-copy .seameco-writeup-body,
[data-seameco-resource-sidebar] .seameco-writeup-body,
[data-seameco-programme-sidebar] .seameco-writeup-body,
[data-seameco-history-sidebar] .seameco-history-writeup > p:not(:has(.-t-title-4)),
[data-seameco-history-sidebar] .seameco-history-writeup > p:not(:has(.-t-title-4)) .seameco-writeup-body {
  font-size: 15px;
  line-height: 1.2 !important;
  letter-spacing: -0.038em;
  color: #000;
  font-weight: 300 !important;
  margin: 0 0 12px;
}

/* Titles stay bold */
[data-seameco-history-sidebar] .seameco-history-writeup .-t-title-4,
.seameco-history-writeup .-t-title-4 {
  font-weight: 700 !important;
  margin: 0 0 0.65rem;
}

[data-seameco-history-sidebar]:not([data-seameco-expanded]) .seameco-history-writeup > p:not(:has(.-t-title-4)):not(.seameco-writeup-body) {
  opacity: 0;
  visibility: hidden;
}

[data-seameco-history-sidebar][data-seameco-expanded] .seameco-history-writeup > p:not(:has(.-t-title-4)),
[data-seameco-history-sidebar][data-seameco-expanded] .seameco-writeup-body {
  opacity: 1;
  visibility: visible;
}

.seameco-history-writeup .seameco-writeup-body + .seameco-writeup-body {
  margin-top: 0;
}

.seameco-history-writeup .seameco-writeup-detail {
  font-size: 1.02rem;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: #1a1a1a;
}

@keyframes seameco-writeup-rise {
  from {
    opacity: 0;
    transform: translate3d(0, 2rem, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes seameco-writeup-from-up {
  from {
    opacity: 0;
    transform: translate3d(0, -2.25rem, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes seameco-writeup-from-down {
  from {
    opacity: 0;
    transform: translate3d(0, 2.25rem, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Services — image hover caption on history slides */
.g-history__image .g-pop-sidebar-gallery__nav {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 6;
  pointer-events: auto;
}

.g-history__image .g-pop-sidebar-gallery__nav button {
  pointer-events: auto;
  cursor: pointer;
}

.g-history__image .g-pop-sidebar-gallery__caption.seameco-history-hover {
  opacity: 0;
  transform: translate3d(0, 1rem, 0);
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.g-history__image:hover .g-pop-sidebar-gallery__caption.seameco-history-hover,
.g-history__image.-active-section .g-pop-sidebar-gallery__caption.seameco-history-hover {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.seameco-contact-form-wrap {
  padding-top: 0.4rem;
}

.seameco-contact-status {
  min-height: 1.4rem;
  margin: 0.6rem 0 1rem;
  font-size: 1rem;
  line-height: 1.2;
}

.seameco-contact-status:empty {
  display: none;
}

.seameco-trade-field textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 8rem;
  border: 1px solid #000;
  padding: 1rem 1.2rem;
  font: inherit;
  font-size: 1.2rem;
  letter-spacing: -0.02em;
  background: #fff;
  resize: vertical;
  line-height: 1.2;
}

.seameco-trade-field textarea:focus {
  outline: none;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.45);
}

/* Trade account — form in Gufram sidebar */
.seameco-trade-panel-wrap {
  padding-top: 0.4rem;
}

.seameco-trade-tabs {
  display: flex;
  gap: 0;
  margin-bottom: 1.6rem;
  background: #fff;
}

.seameco-trade-tabs__btn {
  flex: 1;
  appearance: none;
  border: 1px solid #000;
  background: #fff;
  color: #000;
  font: inherit;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 0.9rem 1rem;
  cursor: pointer;
}

.seameco-trade-tabs__btn + .seameco-trade-tabs__btn {
  margin-left: -1px;
}

.seameco-trade-tabs__btn.-active {
  background: #000;
  color: #fff;
}

.seameco-trade-field {
  margin-bottom: 0.9rem;
}

.seameco-trade-field input {
  width: 100%;
  box-sizing: border-box;
  height: 4.8rem;
  border: 1px solid #000;
  padding: 0 1.2rem;
  font: inherit;
  font-size: 1.35rem;
  letter-spacing: -0.02em;
  background: #fff;
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
}

.seameco-trade-field input:focus {
  outline: none;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.45);
  background: #fff;
}

.seameco-trade-field input::placeholder {
  color: #888;
  text-transform: none;
}

.seameco-trade-form .g-cta {
  width: 100%;
  margin-top: 0.4rem;
  justify-content: center;
}

.seameco-trade-status {
  min-height: 1.4rem;
  margin: 0.6rem 0 1rem;
  font-size: 1rem;
  line-height: 1.2;
}

.seameco-trade-status:empty {
  display: none;
}

/* Trade account — Index Shop split layout */
body.seameco-auth-page {
  margin: 0;
  background: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

body.seameco-auth-page .g-header,
body.seameco-auth-page .g-preloader,
body.seameco-auth-page .g-cursor,
body.seameco-auth-page .g-blur {
  display: none !important;
}

body.seameco-auth-page .g-container {
  max-width: none;
  padding: 0;
}

.seameco-trade-page {
  width: 100%;
  min-height: 100vh;
}

.seameco-trade-index {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.seameco-trade-index__bar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem clamp(1rem, 3vw, 1.75rem);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.seameco-trade-index__logo {
  display: inline-block;
  text-decoration: none;
  color: #000;
  max-width: 9.375rem;
}

.seameco-trade-index__logo .seameco-logo {
  display: block;
  width: 100%;
  height: auto;
}

.seameco-trade-index__split {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: calc(100vh - 3.75rem);
}

.seameco-trade-index__form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.25rem, 4vw, 2rem) clamp(1.25rem, 5vw, 2.5rem);
  box-sizing: border-box;
}

.seameco-trade-index__form-inner {
  width: 100%;
  max-width: 22.5rem;
  margin: 0 auto;
}

.seameco-trade-index__visual {
  position: relative;
  min-height: 100%;
  background: #f2f0ec;
}

.seameco-trade-index__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.seameco-auth-layout {
  display: contents;
}

.seameco-auth-home {
  display: none;
}

.seameco-auth-card {
  width: 100%;
  margin: 0;
}

.seameco-auth-card__title {
  margin: 0 0 0.35rem;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-align: left;
  color: hsl(0, 0%, 5%);
}

.seameco-auth-card__lead {
  margin: 0 0 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.2;
  color: hsl(0, 0%, 38%);
  text-align: left;
}

.seameco-auth-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.seameco-auth-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0.25rem 0 1rem;
  font-size: 0.875rem;
  line-height: 1.2;
  color: hsl(0, 0%, 32%);
  cursor: pointer;
}

.seameco-auth-consent input {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  margin: 0.15rem 0 0;
  accent-color: #000;
}

.seameco-auth-policy {
  margin: 2.25rem 0 0;
  text-align: center;
  font-size: 0.8125rem;
  color: hsl(0, 0%, 42%);
}

.seameco-auth-policy a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.seameco-auth-form .seameco-trade-field {
  margin-bottom: 1rem;
}

.seameco-auth-form .seameco-trade-field input {
  height: 3rem;
  font-size: 1rem;
  border: 1px solid hsl(0, 0%, 78%);
  border-radius: 0.25rem;
  padding: 0 0.9rem;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.seameco-auth-form .seameco-trade-field input:focus {
  outline: none;
  border-color: hsl(0, 0%, 28%);
  box-shadow: none;
}

.seameco-auth-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 3rem;
  margin-top: 0.15rem;
  border: 0;
  border-radius: 0.25rem;
  background: hsl(0, 0%, 5%);
  color: #fff;
  font: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
  transition: background 0.2s ease;
}

.seameco-auth-submit:hover {
  background: hsl(0, 0%, 18%);
}

.seameco-auth-submit[hidden],
.seameco-auth-field--password[hidden] {
  display: none !important;
}

.seameco-auth-submit--link {
  text-align: center;
}

.seameco-auth-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 3rem;
  border: 1px solid rgba(0, 0, 0, 0.18);
  background: #fff;
  color: #000;
  font: inherit;
  font-size: 0.92rem;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
}

.seameco-auth-switch {
  margin: 1.35rem 0 0;
  text-align: left;
  font-size: 0.92rem;
  color: #444;
}

.seameco-auth-link {
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: inherit;
  color: #000;
  text-decoration: underline;
  text-underline-offset: 0.14em;
  cursor: pointer;
}

.seameco-auth-footer {
  display: none;
}

.seameco-trade-dashboard__actions {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: 1.25rem;
}

.seameco-trade-dashboard__meta {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  line-height: 1.2;
  text-align: left;
  color: #444;
}

@media (max-width: 900px) {
  .seameco-trade-index__split {
    grid-template-columns: 1fr;
  }

  .seameco-trade-index__visual {
    display: none;
  }
}

.seameco-trade-shell {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(320px, 440px);
  gap: clamp(2rem, 5vw, 5rem);
  max-width: 72rem;
  width: 100%;
  margin: 0 auto;
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1.25rem, 4vw, 3rem) 0;
  align-items: start;
  box-sizing: border-box;
}

.seameco-trade-shell--tracking {
  padding-top: clamp(3rem, 6vw, 4.5rem);
}

.seameco-trade-aside {
  padding-top: 0.5rem;
}

.seameco-trade-aside__eyebrow {
  margin: 0 0 1.2rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.seameco-trade-aside__title {
  margin: 0 0 1.2rem;
  font-size: clamp(2rem, 4.5vw, 2.75rem);
  line-height: 1.2;
  letter-spacing: -0.04em;
  font-weight: 700;
}

.seameco-trade-aside__lead {
  margin: 0 0 1.6rem;
  max-width: 34ch;
  font-size: 1.1rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.seameco-trade-aside__back {
  margin: 0;
  font-size: 1rem;
}

.seameco-trade-aside__back a {
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

.seameco-trade-aside__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}

.seameco-trade-aside__list li {
  position: relative;
  padding-left: 1.1rem;
  font-size: 0.98rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.seameco-trade-aside__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: #000;
}

.seameco-trade-shell .seameco-trade-card {
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: #fff;
  padding: 22px;
  box-sizing: border-box;
}

.seameco-trade-shell .seameco-trade-card__head {
  margin-bottom: 1.4rem;
}

.seameco-trade-shell .seameco-trade-card__title {
  margin: 0 0 0.35rem;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.seameco-trade-shell .seameco-trade-card__subtitle {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2;
  color: #444;
}

@media (max-width: 900px) {
  .seameco-trade-shell {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .seameco-trade-aside__lead {
    max-width: none;
  }
}

.seameco-trade-dashboard__meta {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  line-height: 1.2;
}

.seameco-trade-dashboard__actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.4rem;
}

.seameco-trade-dashboard__actions .g-cta {
  width: 100%;
  justify-content: center;
}

.seameco-trade-tracking-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.seameco-trade-tracking-card {
  border: 1px solid rgba(0, 0, 0, 0.12);
  padding: 1.1rem 1.2rem;
  background: #fff;
}

.seameco-trade-tracking-card__ref {
  margin: 0 0 0.35rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-size: 0.92rem;
}

.seameco-trade-tracking-card__status {
  margin: 0 0 0.25rem;
  font-size: 1.05rem;
}

.seameco-trade-tracking-card__meta {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.2;
  color: #444;
}

.seameco-trade-tracking-empty {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.2;
}

/* Contact — right sidebar polish */
.page-template-page-contact .g-sidebar__ul {
  display: flex;
  flex-direction: column;
}

.page-template-page-contact .seameco-contact-copy,
.page-template-page-contact .seameco-404-copy {
  padding-bottom: 1rem;
  margin-bottom: 0;
  border-bottom: none;
}

.page-template-page-contact .seameco-contact-copy p,
.page-template-page-contact .seameco-404-copy p {
  margin: 0;
}

.page-template-page-contact .seameco-contact-copy p + p,
.page-template-page-contact .seameco-404-copy p + p {
  margin-top: 0.65rem;
}

.page-template-page-contact .seameco-contact-copy p:not(:has(.-t-title-4)) {
  font-size: 15px;
  line-height: 1.2 !important;
  letter-spacing: -0.038em;
  color: #000;
  font-weight: 400;
  margin: 0 0 12px;
}

.page-template-page-contact .seameco-404-copy p:not(:has(.-t-title-4)) {
  font-size: 15px;
  line-height: 1.2 !important;
  letter-spacing: -0.038em;
  color: #000;
  font-weight: 300;
  margin: 0 0 12px;
}

.page-template-page-contact .seameco-contact-copy p:not(:has(.-t-title-4)) + p:not(:has(.-t-title-4)),
.page-template-page-contact .seameco-404-copy p:not(:has(.-t-title-4)) + p:not(:has(.-t-title-4)) {
  margin-top: 0.65rem;
}

.page-template-page-contact .seameco-contact-copy .-t-title-4,
.page-template-page-contact .seameco-404-copy .-t-title-4 {
  display: block;
  margin-bottom: 0.15rem;
  letter-spacing: -0.038em;
}

.page-template-page-contact .seameco-contact-form-wrap {
  padding: 0.85rem 0 1rem;
  border-bottom: none;
}

.page-template-page-contact .g-sidebar__text.seameco-contact-meta {
  padding: 0;
  font-size: 15px;
  letter-spacing: -0.038em;
  text-transform: none;
  line-height: 1.2;
  margin-bottom: 18px;
}

.page-template-page-contact .g-sidebar__text.seameco-contact-email {
  padding: 0.2rem 0 0;
  font-size: 15px;
  letter-spacing: -0.038em;
  line-height: 1.2;
}

.page-template-page-contact .g-sidebar__text.seameco-contact-email a {
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 0.14em;
  text-decoration-thickness: 1px;
  border-bottom: none;
}

.page-template-page-contact .g-sidebar__ul > li:has(.seameco-contact-email) {
  margin-bottom: 0;
  padding-bottom: 0;
}

.page-template-page-contact .g-sidebar__ul > li:has(.seameco-contact-meta),
.page-template-page-contact .g-sidebar__ul > li:has(.seameco-contact-email),
.page-template-page-contact .g-sidebar__ul > li.g-sidebar__social,
.page-template-page-contact .g-sidebar__ul > li:has(.seameco-contact-form-wrap) {
  border-bottom: none !important;
  border-top: none !important;
  box-shadow: none !important;
}

.page-template-page-contact .g-sidebar__ul > li:has(.seameco-contact-meta) {
  margin-top: 0.75rem;
  padding-top: 0;
}

.page-template-page-contact .g-sidebar__social {
  margin-top: 24px;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  border-top: none !important;
  border-bottom: none !important;
}

.page-template-page-contact .g-sidebar__social > span {
  display: inline;
  margin: 0;
  font-size: 15px;
  letter-spacing: -0.038em;
  text-transform: none;
  line-height: 1.2;
}

.page-template-page-contact .g-sidebar__social ul {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Product page — bag + kit builder */
.g-sidebar > .seameco-pdp-commerce {
  display: none;
}

.seameco-pdp-commerce {
  padding: 1rem 0 1rem;
}

body.-detail .g-pdp .g-sidebar {
  padding-right: 0.5rem;
}

body.-detail .g-pdp .g-sidebar__ul {
  padding-right: 0;
}

body.seameco-product-shell.-detail .g-pdp[js-detail][data-seameco-rendered]:not(.seameco-pdp-ready),
body.seameco-product-shell.-detail .g-pdp[js-detail].-active:not(.seameco-pdp-ready) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.seameco-product-shell.-detail .g-pdp[js-detail][data-seameco-rendered].seameco-pdp-ready {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: opacity 0.45s cubic-bezier(0.76, 0, 0.24, 1);
}

body.seameco-site.-detail .g-pdp[js-detail].seameco-pdp-ready,
body.seameco-site.-detail .g-pdp[js-detail].-active {
  opacity: 1;
}

/* Product page — Gufram-style full-screen PDP (SPA + direct load) */
body.seameco-product-shell.-detail .g-pdp[js-detail] {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

body.seameco-product-shell.-detail .g-pdp__products {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  border-bottom: 0;
}

body.seameco-product-shell.-detail .g-sidebar {
  position: fixed;
  right: 0;
  top: 0;
  height: 100%;
  padding-right: 26px;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body.seameco-product-shell.-detail .g-sidebar::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

body.seameco-product-shell.-detail .g-switch,
body.seameco-product-shell.-detail .g-flow,
body.seameco-product-shell.-detail .g-grid {
  display: none !important;
}

body.seameco-product-shell.-detail .g-sidebar__author a {
  display: flex;
  justify-content: space-between;
  width: 100%;
  text-decoration: none;
  color: inherit;
  pointer-events: none;
}

body.seameco-product-shell.-detail .g-sidebar__author a span:first-child {
  text-align: left;
  flex: 1 1 auto;
}

body.seameco-product-shell.-detail .g-sidebar__author a span:last-child {
  text-align: right;
  flex: 0 0 auto;
  margin-left: 1rem;
}

body.seameco-product-shell.-detail .g-sidebar__author {
  margin-bottom: 0;
  padding-bottom: 3rem;
  border-bottom: 1px solid #000;
}

body.seameco-product-shell.-detail .g-sidebar__title h1 {
  margin-bottom: 0.35rem;
}

body.seameco-product-shell.-detail .g-sidebar__inline .-t-body-1 p {
  margin: 0 0 0.75rem;
  line-height: 1.2;
}

/* Hide bottom thumb strip — variants live in sidebar only */
body.seameco-product-shell.-detail .g-pdp__products-nav {
  display: none !important;
}

body.seameco-product-shell.-detail .g-sidebar__variants {
  padding: 0;
  margin: 0;
}

body.seameco-product-shell.-detail .g-sidebar__variants .g-sidebar__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: flex-end;
}

/*
 * Search + PDP CTAs — fixed height (no hover height change / edge glitch).
 * Vertical spacing tightened ~6px vs prior 5.6rem box.
 */
.g-header__search-results {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.g-header__search-results a.g-cta.-left {
  height: calc(5.6rem - 12px) !important;
  min-height: calc(5.6rem - 12px) !important;
  max-height: calc(5.6rem - 12px) !important;
  padding: 0 2px !important;
  box-sizing: border-box !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  line-height: 1.2 !important;
  gap: 0.8rem;
  margin: 0 !important;
  overflow: hidden;
  flex-shrink: 0;
  transition:
    padding var(--ease, cubic-bezier(0.76, 0, 0.24, 1)) var(--timing-400, 0.4s),
    color var(--ease, cubic-bezier(0.76, 0, 0.24, 1)) var(--timing-400, 0.4s) !important;
}

.g-header__search-results a.g-cta.-left span,
.g-header__search-results a.g-cta.-left svg {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  transition: none !important;
}

/* Overview / Gallery / Tech Spec — same hover, +8px taller (+16px box) then −12px */
body.seameco-product-shell .g-sidebar__ul > li > a.g-cta.-left {
  border-bottom: 1px solid #000;
  height: calc(5.6rem + 16px - 12px) !important;
  min-height: calc(5.6rem + 16px - 12px) !important;
  max-height: calc(5.6rem + 16px - 12px) !important;
  padding: 0 2px !important;
  box-sizing: border-box !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  overflow: hidden;
  transition:
    padding var(--ease, cubic-bezier(0.76, 0, 0.24, 1)) var(--timing-400, 0.4s),
    color var(--ease, cubic-bezier(0.76, 0, 0.24, 1)) var(--timing-400, 0.4s) !important;
}

body.seameco-product-shell .g-sidebar__ul > li > a.g-cta.-left span,
body.seameco-product-shell .g-sidebar__ul > li > a.g-cta.-left svg {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  transition: none !important;
}

@media (hover: hover) {
  .g-header__search-results a.g-cta:hover.-left,
  .g-header__search-results a.g-cta.-left:hover,
  body.seameco-product-shell .g-sidebar__ul > li > a.g-cta:hover.-left,
  body.seameco-product-shell .g-sidebar__ul > li > a.g-cta.-left:hover {
    padding: 0 1.6rem !important;
  }
}

.g-header__search-results a.g-cta.-left:focus-visible,
body.seameco-product-shell .g-sidebar__ul > li > a.g-cta.-left:focus-visible {
  padding: 0 1.6rem !important;
}

/* Hairline borders only — avoid stacked border + inset ring looking “thicker” */
body.seameco-site .g-cta.-border,
body.seameco-site .g-sidebar__ul > li {
  border-width: 1px;
}

body.seameco-site .g-sidebar__ul > li {
  border-top: none;
  border-bottom: 0;
  box-shadow: none;
}

/* One line under title — don’t stack with variants / first list row */
body.seameco-product-shell.-detail .g-sidebar__author {
  margin-bottom: 0;
  border-bottom: 1px solid #000;
}

body.seameco-product-shell.-detail .g-sidebar__variants {
  border-top: 0 !important;
  border-bottom: 1px solid #000;
}

body.seameco-product-shell.-detail .g-sidebar__ul > li:first-child {
  border-top: 0;
}

/* Hairlines between Overview / Gallery / Technical Specifications */
body.seameco-product-shell.-detail .g-sidebar__ul > li:has(> a.g-cta.-left:not(.seameco-request-sample):not(.seameco-add-project)) {
  border-top: 1px solid #000;
  border-bottom: 0;
  box-shadow: none;
}

/* No hairline above Request Sample / Add to Project */
body.seameco-product-shell .g-sidebar__ul > li.seameco-pdp-commerce {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.seameco-product-shell .seameco-pdp-commerce .g-cta,
body.seameco-product-shell .seameco-pdp-commerce .g-cta.-border {
  border: 1px solid #000 !important;
  box-shadow: none !important;
}

/* Line under Technical Specifications */
body.seameco-product-shell .g-sidebar__ul > li:has(a[href="#technical-specifications"]) {
  border-bottom: 1px solid #000;
}

body.seameco-product-shell.-detail .g-sidebar__variants .g-sidebar__grid button.-active {
  border-bottom: none;
}

.g-pdp__products-nav:not([hidden]) {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.g-sidebar__variants:not([hidden]) {
  display: block;
}

.seameco-pdp-commerce__stack {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.5rem;
}

.seameco-pdp-commerce .g-cta {
  flex: 1 1 0;
  min-width: 0;
  border-radius: 0;
  width: auto;
  justify-content: center;
  transform: translateZ(0);
  backface-visibility: hidden;
  /* +2px top/bottom vs default Gufram CTA */
  padding-top: 2px;
  padding-bottom: 2px;
  box-sizing: border-box;
  height: calc(5.4rem + 4px);
  min-height: calc(5.4rem + 4px);
}

.seameco-pdp-commerce .g-cta:hover {
  opacity: 1;
}

.seameco-pdp-commerce .seameco-add-project {
  background: #fff;
  min-width: 18rem;
  white-space: nowrap;
  justify-content: center;
  padding-left: 1.8rem;
  padding-right: 1.8rem;
}

.seameco-pdp-commerce .seameco-add-project:hover {
  background: #f5f5f5;
}

a.g-cta.seameco-add-project,
button.g-cta.seameco-add-project {
  min-width: 18rem;
  white-space: nowrap;
  justify-content: center;
  padding-left: 1.8rem;
  padding-right: 1.8rem;
  box-sizing: border-box;
}

.seameco-pdp-quote {
  list-style: none;
}

.seameco-pdp-quote__btn {
  width: 100%;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
  text-align: left;
}

.seameco-pdp-quote__btn span,
.seameco-pdp-quote__btn svg {
  position: relative;
  z-index: 1;
  font-weight: 700;
}

/* PDP — sourcing / QC trust strip (sidebar footer) */
.seameco-pdp-trust {
  list-style: none;
  margin: 0;
  padding: 1.35rem 0 1.2rem;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000 !important;
}

.seameco-pdp-trust__row {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 0.95rem 1rem;
  align-items: start;
}

.seameco-pdp-trust__divider {
  width: 1px;
  align-self: stretch;
  background: #000;
  min-height: 100%;
  opacity: 0.18;
}

.seameco-pdp-trust__item {
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  align-items: start;
  column-gap: 0.7rem;
  min-width: 0;
}

.seameco-pdp-trust__icon {
  flex: 0 0 auto;
  width: 2.4rem;
  height: 2.4rem;
  color: #000;
  line-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.05rem;
}

.seameco-pdp-trust__copy {
  min-width: 0;
}

.seameco-pdp-trust__title {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: -0.035em;
  text-transform: uppercase;
  line-height: 1.2;
  color: #000;
}

.seameco-pdp-trust__text {
  margin: 0.4rem 0 0;
  font-size: 1.2rem;
  line-height: 1.2;
  letter-spacing: -0.028em;
  font-weight: 700;
  color: #000;
}

.seameco-pdp-trust__icon svg {
  width: 2.2rem;
  height: 2.2rem;
  display: block;
}

/* Overview / Specs fullscreen text panels */
.seameco-pdp-text-panel {
  background: #fff;
}

.seameco-pdp-text-panel > .g-cta.-only-icon {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  z-index: 5;
  background: #fff;
  border: 1px solid #000;
}

.seameco-pdp-text-panel__inner {
  width: min(52rem, calc(100% - 33px));
  max-height: calc(100vh - 4rem);
  margin: 4.5rem auto 2rem;
  overflow: auto;
  padding: 0 16.5px 2rem;
  box-sizing: border-box;
}

.seameco-pdp-text-panel__eyebrow {
  margin: 0 0 1rem;
  font-size: 1.8rem;
  letter-spacing: -0.30px;
  font-weight: 700;
  line-height: 1.2;
}

.seameco-pdp-text-panel__heading {
  margin: 0 0 1.5rem;
  font-size: clamp(2.7rem, 5.4vw, 4.6rem);
  line-height: 1.2;
  letter-spacing: -0.05em;
  font-weight: 700;
  text-transform: uppercase;
}

.seameco-pdp-text-panel__body {
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.2;
  color: #111;
}

@media (min-width: 768px) {
  .seameco-pdp-text-panel__body {
    font-size: clamp(calc(1.05rem + 3px), calc(1.5vw + 3px), calc(1.25rem + 3px));
  }
}

.seameco-pdp-text-panel__body p {
  margin: 0 0 1.1rem;
}

.seameco-pdp-text-panel__body p:last-child {
  margin-bottom: 0;
}

.seameco-pdp-text-panel__body.is-empty,
.seameco-pdp-text-panel__inner:has(.seameco-pdp-text-panel__empty) {
  position: relative;
  min-height: min(60vh, 32rem);
}

.seameco-pdp-text-panel__empty {
  margin: 0;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  text-align: center;
  font-size: clamp(1.35rem, calc(9vw - 5px), 3.2rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.2;
  color: #111;
  text-transform: uppercase;
  pointer-events: none;
}

@media (max-width: 767px) {
  /*
   * Align close + content to Gufram header band (top:2.4rem, height:5.6rem,
   * side inset:1.6rem) now that the modal covers the header.
   */
  .seameco-pdp-text-panel > .g-cta.-only-icon {
    top: calc(2.4rem + (5.6rem - (4.6rem - 5px)) / 2);
    right: 1.6rem;
    width: calc(4.6rem - 5px) !important;
    max-width: calc(4.6rem - 5px) !important;
    height: calc(4.6rem - 5px) !important;
  }

  .seameco-pdp-text-panel__inner {
    width: 100%;
    max-width: 100%;
    max-height: calc(100dvh - 2.4rem - 5.6rem - 1.5rem);
    margin: calc(2.4rem + 5.6rem + 0.85rem) 0 1.25rem;
    padding: 0 16.5px calc(2.25rem + env(safe-area-inset-bottom, 0px));
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    box-sizing: border-box;
  }

  .seameco-pdp-text-panel__eyebrow {
    font-size: 1.35rem;
    margin-bottom: 0.75rem;
    line-height: 1.2;
  }

  .seameco-pdp-text-panel__heading {
    font-size: clamp(2.2rem, 9vw, 3rem);
    margin-bottom: 1.1rem;
    line-height: 1.2;
    word-break: break-word;
  }

  .seameco-pdp-text-panel__body {
    font-size: 1.45rem;
    line-height: 1.2;
    word-break: break-word;
  }

  .seameco-pdp-text-panel__body.is-empty,
  .seameco-pdp-text-panel__inner:has(.seameco-pdp-text-panel__empty) {
    min-height: min(50vh, 22rem);
  }

  .seameco-pdp-text-panel__empty {
    font-size: clamp(1.5rem, 8vw, 2.4rem);
    font-weight: 500;
    line-height: 1.2;
    padding: 1rem 0.75rem;
  }

  .seameco-pdp-gallery-stack__empty {
    font-size: clamp(1.5rem, 8vw, 2.4rem) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
  }

  /* Gallery on phone: one full-bleed image at a time, swipe sideways */
  .seameco-pdp-gallery > .g-cta.-only-icon {
    top: calc(2.4rem + (5.6rem - (4.6rem - 5px)) / 2);
    right: 1.6rem;
    width: calc(4.6rem - 5px) !important;
    max-width: calc(4.6rem - 5px) !important;
    height: calc(4.6rem - 5px) !important;
  }

  .seameco-pdp-gallery-stack[data-gallery-mode="1"],
  .seameco-pdp-gallery-stack[data-gallery-mode="2"],
  .seameco-pdp-gallery-stack[data-gallery-mode="3"] {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .seameco-pdp-gallery-stack__track[data-count="1"],
  .seameco-pdp-gallery-stack__track[data-count="2"],
  .seameco-pdp-gallery-stack__track[data-count="3"] {
    display: flex !important;
    grid-template-columns: none !important;
    width: max-content !important;
    min-width: 100%;
    height: 100%;
  }

  .seameco-pdp-gallery-stack__track[data-count="1"] .seameco-pdp-gallery-stack__item,
  .seameco-pdp-gallery-stack__track[data-count="2"] .seameco-pdp-gallery-stack__item,
  .seameco-pdp-gallery-stack__track[data-count="3"] .seameco-pdp-gallery-stack__item {
    flex: 0 0 100vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100% !important;
    min-height: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .seameco-pdp-gallery-stack__item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

/* Gallery — ≤3 fill the screen; >3 scroll sideways with seamless loop; no divider lines */
.seameco-pdp-gallery,
.seameco-pdp-gallery *,
.seameco-pdp-gallery .swiper-slide,
.seameco-pdp-gallery .seameco-pdp-gallery-stack__item {
  border: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-top: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.seameco-pdp-gallery {
  background: #fff;
  padding: 0 !important;
}

.seameco-pdp-gallery > .g-cta.-only-icon {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  z-index: 5;
  background: #fff;
  border: 1px solid #000 !important;
  box-shadow: none !important;
}

.seameco-pdp-gallery-stack {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scroll-snap-type: x mandatory;
  background: #fff;
}

/* 1–3 images: fill viewport, no scroll / no dividers */
.seameco-pdp-gallery-stack[data-gallery-mode="1"],
.seameco-pdp-gallery-stack[data-gallery-mode="2"],
.seameco-pdp-gallery-stack[data-gallery-mode="3"] {
  overflow: hidden;
  scroll-snap-type: none;
}

.seameco-pdp-gallery-stack__track {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  gap: 0 !important;
  column-gap: 0 !important;
  border: 0 !important;
  background: #fff;
}

.seameco-pdp-gallery-stack__track[data-count="1"],
.seameco-pdp-gallery-stack__track[data-count="2"],
.seameco-pdp-gallery-stack__track[data-count="3"] {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.seameco-pdp-gallery-stack__track[data-count="1"] {
  grid-template-columns: 1fr;
}

.seameco-pdp-gallery-stack__track[data-count="2"] {
  grid-template-columns: 1fr 1fr;
}

.seameco-pdp-gallery-stack__track[data-count="3"] {
  grid-template-columns: 1fr 1fr 1fr;
}

.seameco-pdp-gallery-stack__track[data-count="scroll"] {
  display: flex;
  width: max-content;
  min-width: 100%;
  height: 100%;
}

.seameco-pdp-gallery-stack__item {
  position: relative;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  flex: 0 0 auto;
  line-height: 0;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  scroll-snap-align: start;
  box-sizing: border-box;
  background: #fff;
}

.seameco-pdp-gallery-stack__track[data-count="1"] .seameco-pdp-gallery-stack__item,
.seameco-pdp-gallery-stack__track[data-count="2"] .seameco-pdp-gallery-stack__item,
.seameco-pdp-gallery-stack__track[data-count="3"] .seameco-pdp-gallery-stack__item {
  width: 100%;
  min-width: 0;
  min-height: 100%;
  height: 100%;
}

.seameco-pdp-gallery-stack__track[data-count="scroll"] .seameco-pdp-gallery-stack__item {
  /* Kill subpixel hairline seams between tiles */
  margin-right: -1px !important;
  flex: 0 0 calc(100vw / 3 + 1px);
  width: calc(100vw / 3 + 1px);
  max-width: calc(100vw / 3 + 1px);
  min-height: 100%;
}

.seameco-pdp-gallery-stack__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  margin: 0;
  padding: 0;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  translate: 0 !important;
  opacity: 1 !important;
}

.seameco-pdp-gallery-stack__empty {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 1rem;
  text-align: center;
  font-size: clamp(1.6rem, calc(9vw - 5px), 4.2rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.2;
  color: #111;
  text-transform: uppercase;
  pointer-events: none;
  background: #fff;
}

.seameco-pdp-gallery-stack__empty[hidden] {
  display: none !important;
}

@media (max-width: 767px) {
  .seameco-pdp-gallery-stack__track[data-count="scroll"] .seameco-pdp-gallery-stack__item {
    margin-right: 0 !important;
    flex: 0 0 100vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}

body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products[data-seameco-lines-drawn="1"]
  .g-grid__lines-h
  span {
  transform: scaleX(1) !important;
}

body.seameco-products-page:not(.-transition):not(.seameco-pdp-transition)
  .g-grid.-type-products[data-seameco-lines-drawn="1"]
  .g-grid__lines-v
  span {
  transform: scaleY(1) !important;
}

@media (max-width: 1100px) {
  .seameco-pdp-trust__row {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .seameco-pdp-trust__divider {
    width: 100%;
    height: 1px;
    min-height: 0;
  }
}

/* Speak to a Specialist — PDP immediate; programme cards after delay (desktop) */
.seameco-specialist-cta {
  position: fixed;
  left: max(1.2rem, env(safe-area-inset-left));
  bottom: max(2.6rem, calc(env(safe-area-inset-bottom) + 1.4rem));
  z-index: 8;
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.45s cubic-bezier(0.77, 0, 0.175, 1);
}

/* Product PDP only (not every -detail page) */
body.seameco-product-shell.-detail .seameco-specialist-cta,
body.seameco-programme-detail-page.seameco-specialist-ready .seameco-specialist-cta {
  display: flex;
  opacity: 1;
  pointer-events: none;
}

body.seameco-programme-detail-page .seameco-specialist-cta {
  display: flex;
  opacity: 0;
  pointer-events: none;
}

body.seameco-programme-detail-page.seameco-specialist-ready .seameco-specialist-cta {
  opacity: 1;
}

/* Never show on resources / packaging / other detail pages */
body.seameco-resource-detail-page .seameco-specialist-cta,
body.seameco-packaging-detail-page .seameco-specialist-cta,
body.seameco-start-page .seameco-specialist-cta,
body.page-template-page-contact:not(.seameco-product-shell) .seameco-specialist-cta,
body.post-type-archive-history:not(.seameco-programme-detail-page):not(.seameco-product-shell) .seameco-specialist-cta {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 1023px) {
  body.seameco-programme-detail-page .seameco-specialist-cta {
    display: none !important;
  }
}

body.-menu-is-open .seameco-specialist-cta,
body.-search-is-open .seameco-specialist-cta,
body.-nl-is-open .seameco-specialist-cta,
body.-transition .seameco-specialist-cta,
body.-detail .g-gallery.-active ~ .seameco-specialist-cta,
body.-detail .g-gallery.-active + .seameco-specialist-cta {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* When any PDP panel gallery is open, keep specialist under / hidden */
body.-detail:has(.g-gallery.-active) .seameco-specialist-cta {
  opacity: 0 !important;
  pointer-events: none !important;
}

.seameco-specialist-cta__main,
.seameco-specialist-cta__sub {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  background: #fff;
  border: 1px solid #000;
  color: #000;
  text-decoration: none;
  box-sizing: border-box;
  transition: none;
}

.seameco-specialist-cta__main {
  min-height: 3.4rem;
  padding: 9px;
  font-size: calc(1.95rem + 3px);
  font-weight: 700;
  letter-spacing: -0.95px;
  line-height: 1.2;
}

.seameco-specialist-cta__dot {
  width: 0.68rem;
  height: 0.68rem;
  border-radius: 50%;
  background: #22c55e;
  flex: 0 0 auto;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.2);
}

.seameco-specialist-cta__sub {
  margin-top: -1px;
  min-height: 2.5rem;
  padding: 6px;
  font-size: calc(1.2rem + 3px);
  font-weight: 500;
  letter-spacing: -0.70px;
  line-height: 1.2;
  align-self: flex-start;
  max-width: 100%;
}

.seameco-specialist-cta__main:hover,
.seameco-specialist-cta__sub:hover {
  background: #fff;
}

@media (max-width: 767px) {
  body.seameco-product-shell .seameco-specialist-cta,
  body.seameco-programme-detail-page .seameco-specialist-cta {
    display: none !important;
  }
  .seameco-specialist-cta {
    left: 0.85rem;
    bottom: calc(0.85rem + 1.2rem);
    max-width: calc(100vw - 1.7rem);
  }

  .seameco-specialist-cta__main {
    font-size: calc(1.1rem + 3px);
    padding: calc(0.7rem + 16px) 0.95rem calc(0.7rem + 8px);
  }

  .seameco-specialist-cta__sub {
    font-size: calc(0.92rem + 3px);
    letter-spacing: -0.03em;
  }
}

/* Keep overview / gallery / specs panels above Speak to a Specialist */
body.seameco-product-shell.-detail .g-gallery,
body.seameco-product-shell.-detail .g-pop-sidebar-wrapper {
  z-index: 40;
}

body.seameco-product-shell.-detail .g-pdp__card {
  position: relative;
}

body.seameco-product-shell.-detail .g-pdp__products .seameco-pdp-slide-caption {
  position: absolute;
  bottom: 2.4rem;
  right: 2.4rem;
  z-index: 4;
  background: #fff;
  padding: 0.55rem 0.85rem;
  border: 1px solid #000;
  max-width: min(40rem, calc(100% - 4.8rem));
  min-height: 0;
  width: max-content;
  display: flex;
  align-items: center;
  font-size: 1.1rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
  box-sizing: border-box;
  pointer-events: none;
}

/* Product page — mobile stack: hero image then sidebar content */
@media (max-width: 1023px) {
  body.seameco-product-shell.-detail .g-pdp[js-detail] {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    z-index: 1;
  }

  body.seameco-product-shell.-detail .g-pdp__products {
    position: relative;
    left: auto;
    top: auto;
    order: 1;
    width: 100% !important;
    max-width: none !important;
    height: calc(min(42vh, 360px) + 10px);
    min-height: 250px;
    max-height: 430px;
    flex-shrink: 0;
    border-bottom: 0;
    background: #fff;
  }

  body.seameco-product-shell.-detail .g-pdp__back {
    position: relative;
    left: auto;
    top: auto;
    order: 0;
    padding: 0.8rem 1rem 0;
    z-index: 3;
  }

  body.seameco-product-shell.-detail .g-pdp__back a {
    font-size: 1.2rem;
  }

  body.seameco-product-shell.-detail .g-pdp__products .swiper,
  body.seameco-product-shell.-detail .g-pdp__products .swiper-wrapper,
  body.seameco-product-shell.-detail .g-pdp__products .swiper-slide,
  body.seameco-product-shell.-detail .g-pdp__products .g-pdp__card {
    height: 100%;
  }

  body.seameco-product-shell.-detail .g-pdp__card {
    position: relative;
  }

  body.seameco-product-shell.-detail .g-pdp__products .swiper-slide img,
  body.seameco-product-shell.-detail .g-pdp__products .g-pdp__card img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    filter: none;
  }

  body.seameco-product-shell.-detail .g-pdp__products .g-pop-sidebar-gallery__caption,
  body.seameco-product-shell.-detail .g-pdp__products .seameco-pdp-slide-caption {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    left: auto;
    z-index: 4;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: none;
    display: flex;
    align-items: center;
  }

  body.seameco-product-shell.-detail .g-sidebar__title h1 {
    font-size: clamp(1.75rem, 7vw, 2.4rem);
    line-height: 1.2;
    margin: 0;
  }

  body.seameco-product-shell.-detail .g-sidebar {
    position: relative;
    right: auto;
    top: auto;
    order: 2;
    width: 100% !important;
    max-width: none !important;
    height: auto;
    min-height: 0;
    /* 16.5px L/R text pad (was 7px / 14px); images stay full-bleed above */
    padding: 1rem 16.5px 2.5rem !important;
    overflow: visible;
    display: flex;
    flex-direction: column;
  }

  body.seameco-product-shell.-detail .g-sidebar__title {
    order: 1;
    width: 100%;
  }

  body.seameco-product-shell.-detail .g-sidebar__author {
    order: 2;
    margin: 0.35rem 0 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #000;
  }

  body.seameco-product-shell.-detail .g-sidebar__author a {
    pointer-events: none;
    justify-content: flex-end;
  }

  body.seameco-product-shell.-detail .g-sidebar__ul {
    order: 3;
    width: 100%;
  }

  body.seameco-product-shell.-detail .g-sidebar__variants .g-sidebar__grid {
    justify-content: flex-start;
    gap: 0.45rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    margin-top: px;
    scrollbar-width: none;
  }

  body.seameco-product-shell.-detail .g-sidebar__variants .g-sidebar__grid::-webkit-scrollbar {
    display: none;
  }

  body.seameco-product-shell.-detail .g-sidebar__variants .g-sidebar__grid button {
    width: calc(2.8rem + 22px);
    height: calc(2.8rem + 22px);
    flex: 0 0 auto;
  }

  body.seameco-product-shell.-detail .g-pdp__products {
    height: calc(min(42vh, 360px) + 10px);
    min-height: 250px;
    max-height: 430px;
    background: #fff;
  }

  body.seameco-product-shell.-detail .g-pdp__products .swiper,
  body.seameco-product-shell.-detail .g-pdp__products .swiper-wrapper {
    height: 100% !important;
  }

  body.seameco-product-shell.-detail .g-pdp__products .swiper-slide {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 100% !important;
  }

  body.seameco-product-shell.-detail .g-pdp__products .g-pdp__card {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  body.seameco-product-shell.-detail .g-pdp__products .swiper-slide img,
  body.seameco-product-shell.-detail .g-pdp__products .g-pdp__card img {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    translate: none !important;
    transform: none !important;
    width: auto !important;
    max-width: 88% !important;
    height: auto !important;
    max-height: 88% !important;
    margin: 0 auto;
    object-fit: contain !important;
    object-position: center center !important;
  }

  body.seameco-product-shell.-detail .g-pdp__products .g-pop-sidebar-gallery__caption,
  body.seameco-product-shell.-detail .g-pdp__products .seameco-pdp-slide-caption {
    position: absolute;
    bottom: 0.75rem;
    right: 0.75rem;
    left: auto !important;
    top: auto !important;
    z-index: 4;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    background: #fff !important;
    border: 1px solid #000 !important;
    color: #000 !important;
    max-width: min(70%, calc(100% - 1.5rem)) !important;
    width: max-content;
    box-sizing: border-box;
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
    padding: 0.5rem 0.7rem !important;
  }

  /* Back always reachable on mobile PDP (incl. request/add wizard) */
  body.seameco-product-shell.-detail .g-pdp__back {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 140 !important;
  }

  body.seameco-product-shell.-detail .g-pdp__back a {
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Not on Overview / Gallery / Tech Spec modals */
  body.seameco-product-shell.-detail:has(.g-gallery.-active) .g-pdp__back,
  body.seameco-product-shell.-detail.-hide-header .g-pdp__back {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.seameco-proj-sidebar-open.seameco-product-shell .g-pdp__back {
    position: fixed !important;
    left: 1rem !important;
    top: calc(1.6rem + 5.6rem + 0.35rem) !important;
    order: 0;
    padding: 0 !important;
  }

  body.seameco-proj-sidebar-open.seameco-product-shell .g-container > .g-cta.-back {
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 150 !important;
    left: 1rem !important;
    top: calc(1.6rem + 5.6rem + 0.35rem) !important;
  }

  /* Keep variant image crossfade stable on mobile */
  body.seameco-product-shell.-detail.-variant-switch .g-pdp__products,
  body.seameco-product-shell.-detail.-variant-switch .g-pdp__swiper,
  body.seameco-product-shell.-detail.-variant-switch .g-sidebar__variants {
    opacity: 1 !important;
    visibility: visible !important;
    translate: none !important;
  }

  body.seameco-product-shell.-detail .g-header {
    position: fixed;
    z-index: 1200;
  }

  body.seameco-product-shell.-detail .g-container[data-pjax="container"] {
    padding-top: calc(2.4rem + 5.6rem);
  }

  body.seameco-product-shell.-detail .g-container > .g-cta.-back {
    display: none !important;
  }

  body.seameco-proj-sidebar-open.seameco-product-shell.-detail .g-container > .g-cta.-back {
    display: flex !important;
  }
}

.seameco-quote-auth {
  position: fixed;
  inset: 0;
  z-index: 121;
  display: grid;
  place-items: center;
  padding: 1rem;
}

.seameco-quote-auth[hidden] {
  display: none;
}

.seameco-quote-auth__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.42);
  backdrop-filter: blur(4px);
}

.seameco-quote-auth__dialog {
  position: relative;
  width: min(26rem, 100%);
  padding: 1.35rem;
  background: #fff;
  border: 1px solid hsl(0, 0%, 88%);
  box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.12);
}

.seameco-quote-auth__title {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
  font-weight: 700;
}

.seameco-quote-auth__text {
  margin: 0 0 1rem;
  font-size: 0.84rem;
  line-height: 1.2;
  color: hsl(0, 0%, 38%);
}

.seameco-quote-auth__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.seameco-quote-auth__actions a,
.seameco-quote-auth__actions button {
  flex: 1 1 8rem;
  padding: 0.72rem 0.85rem;
  border: 1px solid #000;
  background: #000;
  color: #fff;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.seameco-quote-auth__actions .-ghost {
  background: #fff;
  color: #000;
}

/* Services — longer write-ups */
[data-seameco-history-sidebar] .seameco-history-writeup p {
  margin: 0;
}

[data-seameco-history-sidebar] .seameco-history-writeup .seameco-writeup-detail {
  margin-bottom: 0.55rem;
  line-height: 1.2;
  font-size: 1.02rem;
  color: #1a1a1a;
}

[data-seameco-history-sidebar] .seameco-history-writeup .seameco-writeup-lead {
  margin-bottom: 0.75rem;
  font-size: 1.2rem;
  color: #111;
}

[data-seameco-history-sidebar] .seameco-history-writeup p:last-child {
  margin-bottom: 0;
}

.seameco-grid-item-sub {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.78rem;
  line-height: 1.2;
  letter-spacing: 0.01em;
  color: #666;
  text-transform: none;
}

/* Services — restore Gufram top hairline + text padding */
body.post-type-archive-history:not(.seameco-resource-detail-page):not(.seameco-programme-detail-page):not(.seameco-packaging-detail-page)
  .g-history
  .g-sidebar__ul
  > li:first-child {
  border-top: 1px solid #000 !important;
}

body.post-type-archive-history:not(.seameco-resource-detail-page):not(.seameco-programme-detail-page):not(.seameco-packaging-detail-page)
  .g-history
  .g-sidebar__ul
  > li:first-child
  .g-sidebar__text,
body.post-type-archive-history:not(.seameco-resource-detail-page):not(.seameco-programme-detail-page):not(.seameco-packaging-detail-page)
  [data-seameco-history-sidebar] {
  padding-top: 1.6rem !important;
}

/* Services body copy — readable gaps between paragraphs */
body.post-type-archive-history:not(.seameco-resource-detail-page):not(.seameco-programme-detail-page):not(.seameco-packaging-detail-page)
  [data-seameco-history-sidebar]
  .seameco-history-writeup
  > p:has(.-t-title-4) {
  margin: 0 0 1rem !important;
}

body.post-type-archive-history:not(.seameco-resource-detail-page):not(.seameco-programme-detail-page):not(.seameco-packaging-detail-page)
  [data-seameco-history-sidebar]
  .seameco-writeup-body {
  margin: 0 0 12px !important;
}

body.post-type-archive-history:not(.seameco-resource-detail-page):not(.seameco-programme-detail-page):not(.seameco-packaging-detail-page)
  [data-seameco-history-sidebar]
  .seameco-writeup-body:last-child {
  margin-bottom: 12px !important;
}

/* Services — no border under last sidebar block (section nav) */
.post-type-archive-history .g-sidebar__ul li:last-of-type {
  border-bottom: none !important;
}

/* Services section nav — match gallery arrows, always visible, muted at ends */
.seameco-sidebar-section-nav .g-cta.-disabled,
.seameco-sidebar-section-nav .g-cta:disabled {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.seameco-sidebar-section-nav .g-cta.-disabled svg path,
.seameco-sidebar-section-nav .g-cta:disabled svg path {
  stroke: #999 !important;
  opacity: 1 !important;
}

.seameco-sidebar-section-nav .g-cta:not(.-disabled):not(:disabled) {
  color: #000;
}

.seameco-sidebar-section-nav .g-cta:not(.-disabled):not(:disabled) svg path {
  stroke: currentColor !important;
  opacity: 1 !important;
}

/* Contact — form block aligned in right sidebar column */
.page-template-page-contact .g-sidebar__ul {
  align-items: stretch;
}

.page-template-page-contact .g-sidebar__ul > li {
  text-align: left;
}

.page-template-page-contact .g-sidebar__text.seameco-contact-copy,
.page-template-page-contact .g-sidebar__text.seameco-404-copy,
.page-template-page-contact .g-sidebar__text.seameco-about-copy,
.page-template-page-contact .g-sidebar__text.seameco-contact-form-wrap,
.page-template-page-contact .seameco-contact-form {
  width: 100%;
  margin-left: 0;
  text-align: left;
}

.page-template-page-contact .seameco-contact-form input,
.page-template-page-contact .seameco-contact-form textarea,
.page-template-page-contact .seameco-contact-status {
  text-align: left;
}

.page-template-page-contact .seameco-contact-form button.g-cta {
  margin-left: 0;
  margin-right: auto;
}

.page-template-page-contact .g-sidebar__social > span,
.page-template-page-contact .g-sidebar__social ul {
  text-align: left;
}

.page-template-page-contact .g-sidebar__social ul {
  justify-content: flex-end;
}

.page-template-page-contact .g-sidebar__social ul {
  gap: 10px;
}

.g-sidebar__social a.g-cta {
  width: auto;
  min-width: 0;
  height: 2.4rem;
  padding: 0;
  background: transparent;
  border: none !important;
  overflow: hidden;
  position: relative;
}

.g-sidebar__social a.g-cta span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  position: relative;
  z-index: 1;
}

@media (hover: hover) {
  .g-sidebar__social a.g-cta:hover {
    color: #fff;
    border: none !important;
  }

  .g-sidebar__social a.g-cta:hover svg path {
    fill: currentColor;
  }
}

.page-template-page-contact .seameco-contact-form button.g-cta,
.page-template-page-contact .g-sidebar__social a.g-cta {
  border-radius: 0 !important;
}

.page-template-page-contact .seameco-contact-form button.g-cta:hover,
.page-template-page-contact .g-sidebar__social a.g-cta:hover {
  border-radius: 0 !important;
}

.page-template-page-contact .seameco-trade-field input,
.page-template-page-contact .seameco-trade-field textarea {
  border-radius: 0;
}

/* Page navigation — listing→product uses full sidebar stagger */
.g-sidebar > div,
.g-sidebar__ul > li,
.g-pdp__products-nav {
  transition:
    opacity 0.55s cubic-bezier(0.23, 1, 0.32, 1),
    translate 0.55s cubic-bezier(0.23, 1, 0.32, 1);
}

.-transition:not(.seameco-sidebar-swap) .g-sidebar > div,
.-transition:not(.seameco-sidebar-swap) .g-sidebar__ul > li,
.-transition:not(.seameco-sidebar-swap) .g-pdp__products-nav {
  opacity: 0;
  translate: none !important;
}

/* Packaging / resources / programmes: never Gufram li opacity:0 → 0.55s fade
 * (that is the land blink). Keep side copy painted under the veil CSS only. */
body.seameco-packaging-detail-page.-transition .g-sidebar > div,
body.seameco-packaging-detail-page.-transition .g-sidebar__ul > li,
body.seameco-resource-detail-page.-transition .g-sidebar > div,
body.seameco-resource-detail-page.-transition .g-sidebar__ul > li,
body.seameco-programme-detail-page.-transition .g-sidebar > div,
body.seameco-programme-detail-page.-transition .g-sidebar__ul > li,
body[data-seameco-card-detail-kind="packaging"].-transition .g-sidebar > div,
body[data-seameco-card-detail-kind="packaging"].-transition .g-sidebar__ul > li,
body[data-seameco-card-detail-kind="resource"].-transition .g-sidebar > div,
body[data-seameco-card-detail-kind="resource"].-transition .g-sidebar__ul > li,
body[data-seameco-card-detail-kind="programme"].-transition .g-sidebar > div,
body[data-seameco-card-detail-kind="programme"].-transition .g-sidebar__ul > li {
  opacity: 1 !important;
  translate: none !important;
  transition: none !important;
}

/* Beat Gufram .-loading opacity:0 so packaging/start sidebars always show */
body.seameco-packaging-detail-page.-loading .g-sidebar > div,
body.seameco-packaging-detail-page.-loading .g-sidebar__ul > li,
body.seameco-resource-detail-page.-loading .g-sidebar > div,
body.seameco-resource-detail-page.-loading .g-sidebar__ul > li,
body.seameco-programme-detail-page.-loading .g-sidebar > div,
body.seameco-programme-detail-page.-loading .g-sidebar__ul > li {
  opacity: 1 !important;
  visibility: visible !important;
  translate: none !important;
  transition: none !important;
}

/* After land only — never force sidebar visible mid-flight (that blinked) */
body.seameco-packaging-detail-page:not(.-transition):not(.seameco-pdp-transition)
  [data-seameco-packaging-flow],
body.seameco-packaging-detail-page.seameco-clone-landed:not(.-transition)
  [data-seameco-packaging-flow] {
  opacity: 1 !important;
  visibility: visible !important;
}

body.seameco-start-page .seameco-start-sidebar,
body.seameco-start-page .seameco-start-sidebar > .seameco-proj,
body.seameco-start-page.-loading .seameco-start-sidebar,
body.seameco-start-page.-loading .seameco-start-sidebar > .seameco-proj,
body.seameco-start-page.-loading .g-sidebar > div,
body.seameco-start-page.-transition .seameco-start-sidebar,
body.seameco-start-page.-transition .seameco-start-sidebar > .seameco-proj,
body.seameco-start-page.-transition .g-sidebar > div {
  opacity: 1 !important;
  visibility: visible !important;
  translate: none !important;
}

body.seameco-packaging-detail-page:not(.-transition) .g-sidebar > div,
body.seameco-packaging-detail-page:not(.-transition) .g-sidebar__ul > li,
body.seameco-resource-detail-page:not(.-transition) .g-sidebar > div,
body.seameco-resource-detail-page:not(.-transition) .g-sidebar__ul > li,
body.seameco-programme-detail-page:not(.-transition) .g-sidebar > div,
body.seameco-programme-detail-page:not(.-transition) .g-sidebar__ul > li {
  transition: none !important;
}

/* Product PDP only — Gufram sidebar stagger after land */
body:not(.-transition):not(.seameco-packaging-detail-page):not(.seameco-resource-detail-page):not(.seameco-programme-detail-page)
  .g-sidebar
  > div,
body:not(.-transition):not(.seameco-packaging-detail-page):not(.seameco-resource-detail-page):not(.seameco-programme-detail-page)
  .g-sidebar__ul
  > li,
body:not(.-transition) .g-pdp__products-nav {
  transition:
    opacity 0.55s cubic-bezier(0.23, 1, 0.32, 1),
    translate 0.55s cubic-bezier(0.23, 1, 0.32, 1);
}

/*
 * Detail↔detail: keep sidebar shell. Only inner copy / wizard / writeups crossfade.
 */
body.seameco-sidebar-swap .g-sidebar,
body.seameco-sidebar-swap .seameco-start-sidebar,
body.seameco-sidebar-shell-hold .g-sidebar,
body.seameco-sidebar-shell-hold .seameco-start-sidebar,
body.seameco-start-page .g-sidebar.seameco-start-sidebar,
body.seameco-start-page .seameco-start-sidebar,
body.-transition .g-sidebar,
body.-transition .seameco-start-sidebar,
.g-sidebar,
.seameco-start-sidebar {
  /* Same left divider for every sidebar page — never animate colour/width. */
  border-left: 1px solid #000 !important;
  border-left-color: #000 !important;
  border-left-width: 1px !important;
  border-left-style: solid !important;
  box-sizing: border-box;
}

/* During any transition the sidebar box only crossfades/slides — never let a
 * `transition: all` animate the border (a repaint that reads as it "changing"). */
body.-transition .g-sidebar,
body.-transition .seameco-start-sidebar,
body.seameco-sidebar-swap .g-sidebar,
body.seameco-sidebar-swap .seameco-start-sidebar,
body.seameco-sidebar-shell-hold .g-sidebar,
body.seameco-sidebar-shell-hold .seameco-start-sidebar {
  transition-property: opacity, transform, translate !important;
  transition-duration: 0.4s, 0.4s, 0.4s !important;
}

body.seameco-sidebar-swap .g-sidebar,
body.seameco-sidebar-swap .seameco-start-sidebar,
body.seameco-sidebar-shell-hold .g-sidebar,
body.seameco-sidebar-shell-hold .seameco-start-sidebar {
  /* Shell must not fade / slide — only inner copy below */
  opacity: 1 !important;
  visibility: visible !important;
  translate: none !important;
  transform: none;
}

body.seameco-sidebar-swap .g-sidebar__ul > li,
body.seameco-sidebar-swap .g-sidebar > div,
body.seameco-sidebar-swap .g-sidebar__text,
body.seameco-sidebar-swap .g-sidebar__author,
body.seameco-sidebar-swap .seameco-contact-copy,
body.seameco-sidebar-swap .seameco-about-copy,
body.seameco-sidebar-swap .seameco-404-copy,
body.seameco-sidebar-swap .seameco-contact-form-wrap,
body.seameco-sidebar-swap .seameco-contact-form,
body.seameco-sidebar-swap [data-seameco-writeup],
body.seameco-sidebar-swap .seameco-history-writeup,
body.seameco-sidebar-swap .seameco-proj,
body.seameco-sidebar-swap .seameco-pack-wizard,
body.seameco-sidebar-swap [data-seameco-pack-body],
body.seameco-sidebar-swap [data-seameco-packaging-flow],
body.seameco-sidebar-swap .g-pop-sidebar__body,
body.seameco-sidebar-swap .g-sidebar__ul {
  /*
   * Gufram detail↔detail: content hides (opacity 0 + slight rise) while -transition
   * is on, DOM swaps underneath, then -transition drops and content fades/slides in.
   * Matches gufram.it style.css: .-transition .g-sidebar>div / __ul li.
   */
  transition:
    opacity 0.4s cubic-bezier(0.77, 0, 0.175, 1),
    translate 0.4s cubic-bezier(0.77, 0, 0.175, 1);
  will-change: opacity, translate;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

body.seameco-sidebar-swap.-transition .g-pdp__products-nav,
body.seameco-sidebar-swap.-transition .seameco-start-sidebar > a.g-cta {
  opacity: 1 !important;
  translate: none !important;
}

/* Gufram detail↔detail: hide + slight rise, then fade/slide back in */
body.seameco-sidebar-swap.-transition .g-sidebar > div,
body.seameco-sidebar-swap.-transition .g-sidebar__ul > li,
body.seameco-sidebar-swap.-transition .g-sidebar__ul,
body.seameco-sidebar-swap.-transition .g-sidebar__text,
body.seameco-sidebar-swap.-transition .g-sidebar__author,
body.seameco-sidebar-swap.-transition .seameco-contact-copy,
body.seameco-sidebar-swap.-transition .seameco-about-copy,
body.seameco-sidebar-swap.-transition .seameco-404-copy,
body.seameco-sidebar-swap.-transition .seameco-contact-form-wrap,
body.seameco-sidebar-swap.-transition .seameco-contact-form,
body.seameco-sidebar-swap.-transition [data-seameco-writeup],
body.seameco-sidebar-swap.-transition .seameco-history-writeup,
body.seameco-sidebar-swap.-transition .seameco-proj,
body.seameco-sidebar-swap.-transition .seameco-pack-wizard,
body.seameco-sidebar-swap.-transition [data-seameco-pack-body],
body.seameco-sidebar-swap.-transition [data-seameco-packaging-flow],
body.seameco-sidebar-swap.-transition .g-pop-sidebar__body {
  opacity: 0;
  translate: 0 0.75rem;
}

/* After -transition: no-delay smooth fade (not a blink from white) */
@keyframes seameco-soft-reveal {
  from {
    opacity: 0.88;
  }
  to {
    opacity: 1;
  }
}

body.seameco-soft-reveal .g-sidebar > div,
body.seameco-soft-reveal .g-sidebar__ul > li,
body.seameco-soft-reveal .g-sidebar__text,
body.seameco-soft-reveal .seameco-contact-copy,
body.seameco-soft-reveal .seameco-about-copy,
body.seameco-soft-reveal .seameco-proj,
body.seameco-soft-reveal .seameco-pack-wizard,
body.seameco-soft-reveal [data-seameco-pack-body],
body.seameco-soft-reveal [data-seameco-packaging-flow] {
  animation: seameco-soft-reveal 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Card→detail side copy: never soft-reveal (that reads as white paint) */
body.seameco-soft-reveal[data-seameco-card-detail-kind="resource"] [data-seameco-resource-sidebar],
body.seameco-soft-reveal[data-seameco-card-detail-kind="programme"] [data-seameco-programme-sidebar],
body.seameco-soft-reveal[data-seameco-card-detail-kind="packaging"] [data-seameco-packaging-flow],
body.seameco-soft-reveal[data-seameco-card-detail-kind="resource"] .g-sidebar,
body.seameco-soft-reveal[data-seameco-card-detail-kind="programme"] .g-sidebar,
body.seameco-soft-reveal[data-seameco-card-detail-kind="packaging"] .g-sidebar,
body.seameco-soft-reveal[data-seameco-card-detail-kind="resource"] .seameco-history-writeup,
body.seameco-soft-reveal[data-seameco-card-detail-kind="programme"] .seameco-history-writeup {
  animation: none !important;
  opacity: 1 !important;
  transition: none !important;
}

/* Writeups already full in HTML — never soft-reveal (double paint) */
body.seameco-soft-reveal [data-seameco-writeup],
body.seameco-soft-reveal .seameco-history-writeup,
body.seameco-soft-reveal .seameco-writeup-body {
  animation: none !important;
  opacity: 1 !important;
  translate: none !important;
}

/* Keep hero/media fully painted — never dim them in the reveal */
body.seameco-soft-reveal .g-history__media,
body.seameco-soft-reveal [js-transition-target],
body.seameco-soft-reveal .g-history__image {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
}

/* Fade text/content in after swap — Gufram-like, not a hard blink pop */
body.seameco-sidebar-swap:not(.-transition) .g-sidebar > div,
body.seameco-sidebar-swap:not(.-transition) .g-sidebar__ul > li,
body.seameco-sidebar-swap:not(.-transition) .g-sidebar__text,
body.seameco-sidebar-swap:not(.-transition) .seameco-proj,
body.seameco-sidebar-swap:not(.-transition) .seameco-pack-wizard,
body.seameco-sidebar-swap:not(.-transition) [data-seameco-pack-body],
body.seameco-sidebar-swap:not(.-transition) [data-seameco-packaging-flow],
body.seameco-sidebar-swap:not(.-transition) [data-seameco-writeup],
body.seameco-sidebar-swap:not(.-transition) .seameco-history-writeup {
  opacity: 1;
  translate: 0 0;
  visibility: visible;
  transition:
    opacity 0.55s cubic-bezier(0.77, 0, 0.175, 1),
    translate 0.55s cubic-bezier(0.77, 0, 0.175, 1);
}

/* Sidebars / heroes — keep text + images painted after SPA land (no opacity:0 stick) */
body.seameco-booted:not(.-transition):not(.seameco-pdp-transition)
  .g-sidebar
  > div,
body.seameco-booted:not(.-transition):not(.seameco-pdp-transition)
  .g-sidebar__ul
  > li,
body.seameco-booted:not(.-transition):not(.seameco-pdp-transition)
  [data-seameco-packaging-flow],
body.seameco-booted:not(.-transition):not(.seameco-pdp-transition)
  [data-seameco-resource-sidebar],
body.seameco-booted:not(.-transition):not(.seameco-pdp-transition)
  [data-seameco-programme-sidebar] {
  visibility: visible;
}

body.seameco-booted:not(.-transition):not(.seameco-pdp-transition)
  .g-history__media
  img,
body.seameco-booted:not(.-transition):not(.seameco-pdp-transition)
  [data-seameco-packaging-image],
body.seameco-booted:not(.-transition):not(.seameco-pdp-transition)
  [data-seameco-resource-image],
body.seameco-booted:not(.-transition):not(.seameco-pdp-transition)
  [data-seameco-programme-image],
body.seameco-booted:not(.-transition):not(.seameco-pdp-transition)
  .g-pdp__slide.-active
  img {
  opacity: 1;
  visibility: visible;
}
/* Historic Gufram variant veil (seameco 20260718): 0.75rem + --timing-400 / --ease.
 * Must beat the PDP 0.22s rule with !important. Zero delay = one soft rise (exact). */
body.-variant-switch .g-sidebar > div:not(.g-sidebar__variants),
body.-variant-switch .g-sidebar__ul > li {
  opacity: 0 !important;
  translate: 0 0.75rem !important;
  transition:
    opacity var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)),
    translate var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)) !important;
  transition-delay: 0s !important;
}

body.-variant-switch .g-sidebar__variants,
body.-variant-switch .g-pdp__products,
body.-variant-switch .g-pdp__products-nav,
body.-variant-switch .g-pdp__swiper {
  opacity: 1 !important;
  translate: none !important;
  visibility: visible !important;
}

/*
 * Product PDP Request Sample / next-step — same motion as Start wizard:
 * only .seameco-proj chrome fades. Don't blank the whole Gufram sidebar.
 */
body.seameco-product-shell.seameco-proj-sidebar-open.-variant-switch
  .g-sidebar
  > div:not(.seameco-proj):not(.g-sidebar__variants),
body.seameco-product-shell.seameco-proj-sidebar-open.-variant-switch
  .g-sidebar__ul
  > li,
body.seameco-packaging-detail-page.seameco-proj-sidebar-open.-variant-switch
  .g-sidebar
  > div:not(.seameco-proj):not([data-seameco-packaging-flow]),
body.seameco-start-page.-variant-switch .g-sidebar > div:not(.seameco-proj) {
  opacity: 1 !important;
  translate: none !important;
  visibility: visible !important;
}

/* Shared Gufram sidebar-swap token (variant / steps / Sample / ATP) */
body.seameco-product-shell.seameco-proj-sidebar-open.-variant-switch .seameco-proj__head,
body.seameco-product-shell.seameco-proj-sidebar-open.-variant-switch .seameco-proj__body,
body.seameco-product-shell.seameco-proj-sidebar-open.-variant-switch .seameco-proj__foot,
body.seameco-packaging-detail-page.-variant-switch .seameco-proj__head,
body.seameco-packaging-detail-page.-variant-switch .seameco-proj__body,
body.seameco-packaging-detail-page.-variant-switch .seameco-proj__foot,
body.seameco-start-page.-variant-switch .seameco-proj__head,
body.seameco-start-page.-variant-switch .seameco-proj__body,
body.seameco-start-page.-variant-switch .seameco-proj__foot {
  opacity: 0 !important;
  translate: 0 0.75rem !important;
  transition:
    opacity var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)),
    translate var(--timing-400, 0.4s) var(--ease, cubic-bezier(0.77, 0, 0.175, 1)) !important;
  transition-delay: 0s !important;
}

.g-sidebar > div:nth-child(1) {
  transition-delay: 0.1s;
}

.g-sidebar > div:nth-child(2) {
  transition-delay: 0.2s;
}

.g-sidebar > div:nth-child(3) {
  transition-delay: 0.3s;
}

.g-sidebar > div:nth-child(4) {
  transition-delay: 0.4s;
}

.g-sidebar > div:nth-child(5) {
  transition-delay: 0.5s;
}

.g-sidebar > div:nth-child(6) {
  transition-delay: 0.6s;
}

.g-sidebar > div:nth-child(7) {
  transition-delay: 0.7s;
}

.g-sidebar > div:nth-child(8) {
  transition-delay: 0.8s;
}

.g-sidebar > div:nth-child(9) {
  transition-delay: 0.9s;
}

.g-sidebar > div:nth-child(10) {
  transition-delay: 1s;
}

.g-sidebar__ul > li:nth-child(1) {
  transition-delay: 0.1s;
}

.g-sidebar__ul > li:nth-child(2) {
  transition-delay: 0.2s;
}

.g-sidebar__ul > li:nth-child(3) {
  transition-delay: 0.3s;
}

.g-sidebar__ul > li:nth-child(4) {
  transition-delay: 0.4s;
}

.g-sidebar__ul > li:nth-child(5) {
  transition-delay: 0.5s;
}

.g-sidebar__ul > li:nth-child(6) {
  transition-delay: 0.6s;
}

.g-sidebar__ul > li:nth-child(7) {
  transition-delay: 0.7s;
}

.g-sidebar__ul > li:nth-child(8) {
  transition-delay: 0.8s;
}

.g-sidebar__ul > li:nth-child(9) {
  transition-delay: 0.9s;
}

.g-sidebar__ul > li:nth-child(10) {
  transition-delay: 1s;
}

/* Gufram product swiper — creative slide companion styles */
.g-pdp__slide.swiper-slide-prev .g-pdp__card,
.g-pdp__slide.swiper-slide-next .g-pdp__card {
  opacity: 0;
  transform: translateX(20%);
  transition: 1s var(--ease, cubic-bezier(0.23, 1, 0.32, 1));
}

.g-pdp.-active .g-pdp__slide.swiper-slide-prev .g-pdp__card,
.g-pdp.-active .g-pdp__slide.swiper-slide-next .g-pdp__card {
  opacity: 1;
  transform: translateX(0);
}

.g-pdp__slide.swiper-slide-prev .g-pdp__card {
  transform: translateX(-20%);
}

/* Gufram listing-to-detail clone styles (extracted from gufram.it/style.css) */
body.-transition .g-flow:not(.-active),
body.-transition .g-grid:not(.-active) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/*
 * During a sync crossfade both the leaving and entering containers exist, each
 * with its own grid — so the vertical/horizontal lines render twice. Hide the
 * leaving container's lines so only the entering grid draws them once.
 */
body.-transition [data-pjax="container"]:not(:last-of-type) .g-grid__lines-v,
body.-transition [data-pjax="container"]:not(:last-of-type) .g-grid__lines-h,
body.-transition .g-container:not(:last-of-type) .g-grid__lines-v,
body.-transition .g-container:not(:last-of-type) .g-grid__lines-h {
  opacity: 0 !important;
  visibility: hidden !important;
}

.g-flow__card.-clone {
  position: fixed;
  z-index: 2;
  margin: 0;
  pointer-events: none;
}

.g-flow__card.-clone img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  display: block;
}

.g-grid__card.-clone {
  position: fixed;
  z-index: 3;
  margin: 0;
  pointer-events: none;
  overflow: hidden;
  background: transparent !important;
}

.g-grid__card.-clone > div {
  padding-bottom: 0 !important;
  height: 100% !important;
  width: 100% !important;
  position: relative !important;
  overflow: hidden;
  background: transparent !important;
}

.g-grid__card.-clone .g-grid__gallery,
.g-grid__card.-clone .g-grid__gallery > div {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  display: block !important;
}

/*
 * Gufram main.css centers grid imgs with left/top 50% + translate:-50%.
 * Do NOT also set transform:translate — that double-offsets the bitmap
 * outside the clone (only a corner visible mid-flight).
 */
.g-grid__card.-clone img,
.g-flow__card.-clone img {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  transform: none !important;
  translate: none !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
}

.g-grid__card.-clone.-type-authors img,
.g-grid__card.-clone.-type-events img,
.g-flow__card.-clone.-type-history img {
  object-fit: cover !important;
}

.g-grid__card.-clone .g-grid__gallery > div {
  background: transparent;
}

body.seameco-pdp-transition .g-pdp[js-detail].seameco-pdp-ready {
  transition: opacity 0.15s cubic-bezier(0.23, 1, 0.32, 1);
}

.g-pdp[js-detail]:not(.seameco-pdp-ready):not(.-active) {
  opacity: 0;
}

.g-pdp[js-detail].seameco-pdp-ready {
  opacity: 1;
  transition: opacity 0.22s cubic-bezier(0.23, 1, 0.32, 1);
}

/* Arrow CTAs — match gufram.it: gentle padding shift on -left buttons, no svg nudge */
.g-cta.-left svg,
.g-pdp__back a svg,
.seameco-collection-back-link svg,
.g-history__nav .g-cta svg,
.seameco-sidebar-section-nav .g-cta svg {
  transition: fill 0.58s cubic-bezier(0.23, 1, 0.32, 1);
}

.g-pdp .g-sidebar__variants button {
  transition:
    border-color 0.24s ease,
    opacity 0.24s ease,
    transform 0.24s ease;
}

.g-pdp .g-sidebar__variants button.-active {
  transform: scale(1.02);
}

/* Storefront — Gufram owns opacity; CSS transition fights line/fade tweens */
.g-flow[js-flow],
.g-grid[js-grid] {
  transition: none;
}

body.seameco-view-switching .g-flow[js-flow],
body.seameco-view-switching .g-grid[js-grid] {
  transition: none !important;
}

.g-flow[js-flow]:not(.-active),
.g-grid[js-grid]:not(.-active) {
  pointer-events: none;
}

/*
 * Logo → Home into Space view: the enter hook injects the listing (grid) before
 * applyForcedHomeSpace() swaps to the Space/flow, and during the Barba crossfade
 * both containers coexist (body still carries the products classes). Priming
 * hides EVERY product grid + any not-yet-positioned Space image for that whole
 * window so nothing flashes before Space paints. Removed once flow is ready.
 */
body.seameco-space-priming .g-grid,
body.seameco-space-priming .g-grid[js-grid],
body.seameco-space-priming .g-grid.-type-products {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.seameco-space-priming .g-flow .g-flow__panel:not(.-h),
body.seameco-space-priming .g-flow[js-flow] .g-flow__panel:not(.-h) {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Once Space flow is marked ready, never blank product images again */
body.seameco-space-priming .g-flow[data-seameco-flow-ready="1"] .g-flow__panel:not(.-h),
body.seameco-space-priming .g-flow[js-flow][data-seameco-flow-ready="1"] .g-flow__panel:not(.-h),
body.seameco-space-priming .g-flow[data-seameco-flow-ready="1"] .g-flow__card img {
  opacity: 1 !important;
  visibility: visible !important;
}

/*
 * Going home: hide ALL outgoing detail media so a centered product/hero
 * cannot flash before Space settles. Do not force every Space card visible
 * (that looked like a center product flash then “snap back”).
 */
body.seameco-going-home .g-pdp,
body.seameco-going-home .g-pdp__media,
body.seameco-going-home .g-pdp__slide,
body.seameco-going-home .g-pdp__products,
body.seameco-going-home .g-pdp__card,
body.seameco-going-home .g-pdp img,
body.seameco-going-home .g-pop-sidebar-gallery,
body.seameco-going-home .seameco-clone-flight,
body.seameco-going-home a.g-flow__card.-clone,
body.seameco-going-home a.g-grid__card.-clone,
body.seameco-going-home [js-transition-target],
body.seameco-going-home [js-detail],
body.seameco-going-home .g-sidebar,
body.seameco-going-home .g-pop-sidebar,
body.seameco-going-home .g-history:not(.seameco-home-history),
body.seameco-going-home [data-seameco-resource-detail],
body.seameco-going-home [data-seameco-programme-detail],
body.seameco-going-home [data-seameco-packaging-detail],
body.seameco-going-home [data-seameco-resource-image],
body.seameco-going-home .seameco-resource-hero,
body.seameco-going-home .seameco-programme-hero,
body.seameco-going-home .g-grid.-type-products,
body.seameco-going-home .g-grid[js-grid],
body.seameco-going-home .g-grid,
body.seameco-going-home [data-seameco-home-veil="1"],
body.seameco-leaving-products .g-grid[js-grid],
body.seameco-leaving-products .g-grid {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: none !important;
}

/* Keep Space under the veil until ready — then reveal without a center pop */
body.seameco-going-home .g-flow[js-flow]:not([data-seameco-flow-ready="1"]):not([data-seameco-ever-ready="1"]) {
  opacity: 0 !important;
  visibility: hidden !important;
}

body.seameco-going-home .g-flow[js-flow][data-seameco-flow-ready="1"],
body.seameco-going-home .g-flow[js-flow][data-seameco-ever-ready="1"],
body.seameco-leaving-products.home .g-flow[js-flow] {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Services writeups — keep visible when expanded; hide only during atomic inject */
[data-seameco-history-sidebar].seameco-writeups-injecting {
  visibility: hidden !important;
}

.post-type-archive-history [data-seameco-history-sidebar][data-seameco-expanded="1"],
body.seameco-services-page [data-seameco-history-sidebar][data-seameco-expanded="1"] {
  visibility: visible !important;
}

/*
 * Sitewide SPA settle — keep ground stable; avoid white flash while next
 * page content mounts under -transition / soft-reveal.
 */
html.seameco-transitioning,
html.seameco-transitioning body.seameco-site,
body.seameco-site.seameco-going-home,
body.seameco-site.seameco-space-priming {
  background-color: #fafafa !important;
}

/*
 * Logo → Home from a PRODUCT: during the Barba crossfade the outgoing product
 * detail (its large main image / gallery) briefly coexists with the incoming
 * home. Hide that outgoing product media for the whole priming + leaving window
 * so the product image can never flash through before Space paints.
 */
body.seameco-space-priming .g-pdp,
body.seameco-space-priming .g-pdp__media,
body.seameco-space-priming .g-pdp__slide,
body.seameco-space-priming .g-pdp__products,
body.seameco-space-priming .g-pop-sidebar-gallery,
body.seameco-space-priming .seameco-clone-flight,
body.seameco-leaving-products .g-pdp,
body.seameco-leaving-products .g-pdp__media,
body.seameco-leaving-products .g-pdp__slide,
body.seameco-leaving-products .g-pop-sidebar-gallery,
body.seameco-leaving-products .seameco-clone-flight {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.g-switch__btn {
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* Storefront — Gufram-native Space loop (no clipping frame).
 * Do NOT set transform: translate(-50%,-50%) here — Gufram GSAP also sets
 * x/y:"-50%", and stacking both doubles the offset (products sit up/left). */
.g-flow[js-flow] .g-flow__panel {
  will-change: transform;
}

/* First boot only — once ever-ready, never blank panels (land/loop blink) */
.g-flow[js-flow].-active:not([data-seameco-flow-ready="1"]):not([data-seameco-ever-ready="1"])
  .g-flow__panel:not(.-h) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.g-flow[js-flow][data-seameco-ever-ready="1"] .g-flow__panel:not(.-h),
.g-flow[js-flow][data-seameco-flow-ready="1"] .g-flow__panel:not(.-h) {
  visibility: visible;
}

.g-flow.seameco-flow--single .g-flow__panel .g-flow__card img {
  max-height: min(72vh, 820px);
  width: auto;
  object-fit: contain;
}

.g-flow.seameco-flow--single .g-flow__card {
  cursor: pointer;
}

.g-grid.-active .g-grid__info,
.g-grid.-active [js-grid-item-info] {
  pointer-events: none !important;
}

.g-switch,
[js-flow-switch] {
  z-index: 120 !important;
  pointer-events: auto !important;
}

/* Dropdown open — single g-blur covers Space/Grid (no second opacity fade) */
body.-menu-is-open .g-switch,
body.-search-is-open .g-switch,
body.-nl-is-open .g-switch,
body.-menu-is-open [js-flow-switch],
body.-search-is-open [js-flow-switch],
body.-nl-is-open [js-flow-switch] {
  z-index: 90 !important;
  pointer-events: none !important;
}

body.-menu-is-open .g-switch__btn,
body.-search-is-open .g-switch__btn,
body.-nl-is-open .g-switch__btn {
  pointer-events: none !important;
}

/* Space — mask receives hover; image must not block title cursor */
.g-flow.-active .g-flow__mask {
  pointer-events: auto;
  z-index: 2;
}

.g-flow.-active .g-flow__card img {
  pointer-events: none;
}

.g-flow.seameco-flow--single .g-flow__mask {
  pointer-events: auto;
}

.g-flow[js-flow] .g-flow__panel .g-flow__card img {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Grid — variant image cycling on hover */
.-type-products .g-grid__gallery > div.-active {
  display: block !important;
}

.-type-products .g-grid__gallery > div:not(.-active) {
  display: none !important;
}

.g-grid[data-seameco-collections-grid] .seameco-products-empty--collections {
  width: 100%;
  min-height: 55vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.g-grid[data-seameco-collections-grid] .seameco-products-empty--collections .-t-title-2 {
  font-size: clamp(1.5rem, 5vw, 2.25rem);
  letter-spacing: -0.03em;
  text-align: center;
}

.g-grid[data-seameco-collections-grid] .seameco-products-empty,
.g-grid.-type-authors .seameco-products-empty {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 55vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.g-grid[data-seameco-collections-grid] .seameco-products-empty .-t-title-2,
.g-grid[data-seameco-collections-grid] .seameco-products-empty p {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Collections — match products / header white (no gray vs white split) */
body.seameco-site:has([data-seameco-collections-page="1"]),
body.seameco-collections-page,
body.seameco-site .g-container[data-seameco-collections-page="1"],
body.seameco-site .seameco-collections-shell,
body.seameco-site .seameco-collection-products-shell,
body.seameco-site .g-container[data-seameco-collections-page="1"] .g-grid,
body.seameco-site .seameco-collections-shell .g-grid,
body.seameco-site .seameco-collection-products-shell .g-grid,
body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid],
body.seameco-collection-detail.seameco-products-page .g-grid,
body.seameco-collections-page .g-blur,
html:has(body.seameco-collections-page),
html:has(body.seameco-site [data-seameco-collections-page="1"]) {
  background-color: #fff !important;
  background: #fff !important;
}

/* Collections index — no lattice lines on desktop; keep mobile free of lines too */
.g-grid[data-seameco-collections-grid] .g-grid__lines-h,
.g-grid[data-seameco-collections-grid] .g-grid__lines-v,
.g-grid[data-seameco-collections-grid] .g-grid__lines-h span,
.g-grid[data-seameco-collections-grid] .g-grid__lines-v span {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Enquire — visible once .-active; allow sitewide fade (no transition:none snap) */
body.page-template-page-contact .g-article.-active,
body.page-template-page-contact.seameco-booted .g-article[js-detail] {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Only kill Gufram hide while -loading (pre-enter), then let fade play */
body.page-template-page-contact.-loading .g-article,
body.page-template-page-contact.-loading .g-sidebar > div,
body.page-template-page-contact.-loading .g-sidebar__ul > li {
  opacity: 0;
  visibility: visible;
}

.seameco-collections-shell[hidden],
.seameco-collection-products-shell[hidden] {
  display: none !important;
}

/* Collections index — 4 catalog tiles per row (case-studies style) */
.g-grid[data-seameco-collections-grid]:not(.seameco-collections-grid--empty) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.g-grid[data-seameco-collections-grid].seameco-collections-grid--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 14rem);
  width: 100%;
}

@media (max-width: 1100px) {
  .g-grid[data-seameco-collections-grid]:not(.seameco-collections-grid--empty) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .g-grid[data-seameco-collections-grid]:not(.seameco-collections-grid--empty) {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}

body.seameco-collection-detail .seameco-grid-pager {
  display: none !important;
}

body.seameco-collection-detail [js-flow-switch],
body.seameco-collection-detail .g-flow[js-flow],
body.seameco-collection-detail .g-switch {
  display: none !important;
}

/* Collection detail back — exact Gufram white icon CTA (resources/programmes) */
body:not(.seameco-collection-detail) a.g-cta.seameco-collection-back-link {
  display: none !important;
}

/* Match Gufram .g-cta.-only-icon.-back.-border (resources / programmes) + hover fill */
body.seameco-collection-detail a.g-cta.-only-icon.-back.-border.seameco-collection-back-link {
  display: flex !important;
  position: fixed !important;
  z-index: 1000;
  left: 2rem;
  top: 2rem;
  right: auto;
  width: 5.4rem;
  max-width: 4.6rem;
  height: 4.6rem;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #000;
  border-radius: 0;
  color: #000;
  overflow: hidden;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
  visibility: visible !important;
  box-shadow: none;
}

/* Gufram black-fill hover (::after slides up) */
body.seameco-collection-detail a.g-cta.seameco-collection-back-link::after {
  content: "";
  display: block !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  translate: 0 100%;
  background-color: #000;
  z-index: 0;
  will-change: translate;
  transition: translate var(--ease, cubic-bezier(0.77, 0, 0.175, 1)) var(--timing-400, 0.4s);
}

body.seameco-collection-detail a.g-cta.seameco-collection-back-link:hover {
  color: #fff !important;
}

body.seameco-collection-detail a.g-cta.seameco-collection-back-link:hover::after {
  translate: 0;
}

body.seameco-collection-detail a.g-cta.seameco-collection-back-link:hover svg path {
  fill: #fff !important;
}

body.seameco-collection-detail a.g-cta.seameco-collection-back-link span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 2;
}

body.seameco-collection-detail a.g-cta.seameco-collection-back-link svg {
  width: 24px;
  height: 24px;
  display: block;
  margin: 0;
  position: relative;
  z-index: 2;
}

body.seameco-collection-detail a.g-cta.seameco-collection-back-link svg path {
  fill: currentColor;
  transition: fill var(--ease, cubic-bezier(0.77, 0, 0.175, 1)) var(--timing-400, 0.4s);
}

@media (max-width: 1023px) {
  body.seameco-collection-detail a.g-cta.-only-icon.-back.-border.seameco-collection-back-link {
    position: relative !important;
    left: auto;
    top: auto;
    z-index: 5;
    margin: 0.75rem 1rem 0;
  }
}

/* Collection products grid — match home/products.html square cells + Gufram lines */
/* Collection products — avoid double hairline under collection title */
body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__lines-h > span:first-child,
body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__lines-h > span:first-of-type {
  opacity: 0;
  visibility: hidden;
}

body.seameco-collection-detail .seameco-collection-products-shell {
  position: relative;
  min-height: 100vh;
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: visible;
  border-top: 0;
}

body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid],
body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid].-active {
  display: grid !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: relative;
  width: 100%;
  margin: 0;
  /* Gufram products pattern: viewport-tall plane + internal scroll when many products */
  padding-top: 0;
  padding-bottom: 2rem;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  z-index: 1;
  min-height: 100svh;
  height: 100svh !important;
  max-height: 100svh;
  align-items: normal;
  align-content: start;
  justify-items: stretch;
  grid-auto-rows: auto;
}

@media (max-width: 1023px) {
  body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid],
  body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid].-active {
    padding-top: 80px;
    min-height: 100svh;
    height: 100svh !important;
    max-height: 100svh;
  }
}

/* Square product cells — match home products (padding-bottom square) */
body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] > [js-grid-item],
body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] > .g-grid__item {
  aspect-ratio: auto;
  width: 100%;
  height: auto !important;
  max-height: none;
  min-height: auto;
  padding: 5%;
  box-sizing: border-box;
  align-self: auto;
  position: relative;
}

body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__card {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
}

/* Gufram square: padding-bottom 100% — do not force height:100% (collapses grid rows) */
body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__card > div {
  width: 100%;
  display: block;
  position: relative;
  height: 0 !important;
  padding-bottom: 100% !important;
}

body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__gallery,
body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__gallery > div {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Same line layer model as products page (full scroll plane, JS places spans) */
body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__lines-h,
body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__lines-v,
body.seameco-collection-detail.seameco-products-page .g-grid[data-seameco-collection-products-grid] .g-grid__lines-h,
body.seameco-collection-detail.seameco-products-page .g-grid[data-seameco-collection-products-grid] .g-grid__lines-v {
  display: block !important;
  pointer-events: none;
  z-index: 3;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100% !important;
  /* Let site.js set height to the full line plane (viewport or scrollHeight) */
  max-height: none !important;
  inset: unset !important;
}

body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__lines-h span,
body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__lines-v span {
  display: block !important;
  position: absolute !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #000 !important;
}

/* Desktop: product names via cursor; mobile overrides below */
@media (min-width: 768px) {
  body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__info {
    display: none !important;
  }
}

/* Collections index — title under tile on mobile; desktop keeps cursor title */
@media (min-width: 768px) {
  .g-grid[data-seameco-collections-grid] .g-grid__info,
  .seameco-collections-shell .g-grid__info {
    display: none !important;
  }
}

@media (max-width: 767px) {
  /* Collections — full bleed, never clipped by Gufram authors overflow */
  body.seameco-site,
  body.seameco-site .g-container[data-seameco-collections-page="1"],
  body.seameco-site .seameco-collections-shell,
  .g-grid[data-seameco-collections-grid] {
    background-color: #fff !important;
    background: #fff !important;
  }

  body.seameco-site .g-container[data-seameco-collections-page="1"],
  body.seameco-site .seameco-collections-shell,
  .g-grid[data-seameco-collections-grid] {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .g-grid[data-seameco-collections-grid] .g-grid__item,
  .g-grid[data-seameco-collections-grid] .g-grid__item.seameco-admin-collection {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  .g-grid[data-seameco-collections-grid] .g-grid__card {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .g-grid[data-seameco-collections-grid] .g-grid__card > div:first-child {
    position: relative !important;
    padding-bottom: 100% !important;
    overflow: hidden !important;
    flex: 0 0 auto;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Beat Gufram: left:50%; translate:-50% (was cutting collection images in half) */
  .g-grid[data-seameco-collections-grid] .g-grid__card img,
  .g-grid[data-seameco-collections-grid] .g-grid__card > div:first-child img {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    translate: 0 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* Name under collection image */
  .g-grid[data-seameco-collections-grid] .g-grid__info.seameco-collection-caption,
  .g-grid[data-seameco-collections-grid] .g-grid__info,
  .seameco-collections-shell .g-grid__info.seameco-collection-caption,
  .seameco-collections-shell .g-grid__info {
    display: block !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    padding: 0.75rem 0.75rem 1.15rem !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: #111 !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    z-index: 2 !important;
  }

  .g-grid[data-seameco-collections-grid] .g-grid__info.seameco-collection-caption strong,
  .g-grid[data-seameco-collections-grid] .g-grid__info strong,
  .g-grid[data-seameco-collections-grid] .g-grid__info.seameco-collection-caption strong.-t-subtitle-2 {
    display: block !important;
    font-size: clamp(1.55rem, 6.5vw, 2.05rem) !important;
    letter-spacing: -0.045em;
    line-height: 1.2;
    font-weight: 700 !important;
    text-transform: uppercase;
    color: #111 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: break-word;
  }

  .g-grid[data-seameco-collections-grid] .seameco-grid-label {
    display: none !important;
  }

  /* Collections — no lattice on any breakpoint */
  .g-grid[data-seameco-collections-grid] .g-grid__lines-h,
  .g-grid[data-seameco-collections-grid] .g-grid__lines-v,
  .g-grid[data-seameco-collections-grid] .g-grid__lines-h span,
  .g-grid[data-seameco-collections-grid] .g-grid__lines-v span {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
}

.seameco-grid-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.5rem 1rem 2.5rem;
  width: 100%;
}

.seameco-grid-pager__info {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #666;
}

.seameco-grid-pager__btn {
  border: 1px solid #111;
  background: transparent;
  color: #111;
  width: 2.25rem;
  height: 2.25rem;
  font-size: 1rem;
  line-height: 1.2;
  cursor: pointer;
}

.seameco-grid-pager__btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* Storefront — empty product state */
.seameco-products-empty {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 50vh;
  padding: 4rem 2rem;
  text-align: center;
}

.seameco-products-empty .-t-title-2,
.seameco-products-empty p {
  margin: 0;
}

.seameco-products-empty .-t-title-2 {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  letter-spacing: -0.03em;
  margin-bottom: 0.75rem;
}

.seameco-products-empty p {
  color: #000;
  max-width: 90rem;
  font-size: 38px !important;
  line-height: 1.2;
  letter-spacing: -2px;
  text-transform: uppercase;
}

.g-flow .seameco-products-empty {
  width: 100%;
  min-height: 60vh;
}

/* Confirm modal — sign out, enquire & irreversible actions */
.seameco-confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem;
  pointer-events: auto;
  font-family: "The Future", Arial, sans-serif;
}

.seameco-confirm-modal[hidden] {
  display: none !important;
}

.seameco-confirm-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.seameco-confirm-modal__panel,
.seameco-enquire-modal__panel {
  position: relative;
  width: min(100%, 46rem);
  min-height: 0;
  padding: 2.75rem 2.4rem 2.1rem;
  border: 1px solid #000;
  border-radius: 0 !important;
  background: #fff;
  box-shadow: none;
}

.seameco-confirm-modal__title,
.seameco-enquire-modal__title {
  margin: 0 0 0.85rem;
  padding-right: 2.5rem;
  font-family: "The Future", Arial, sans-serif;
  font-size: clamp(2.2rem, 3.2vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.2;
  color: #000;
  text-transform: none;
}

.seameco-confirm-modal__message,
.seameco-enquire-modal__message {
  margin: 0 0 1.75rem;
  max-width: 34rem;
  font-family: "The Future", Arial, sans-serif;
  font-size: clamp(1.2rem, 1.7vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -0.03em;
  font-weight: 400;
  color: #000;
  text-transform: none;
}

.seameco-confirm-modal__close,
.seameco-enquire-modal__close {
  /* Match .g-cta.-only-icon hover/fill, 5px smaller */
  position: absolute !important;
  top: 0.65rem !important;
  right: 0.65rem !important;
  left: auto !important;
  z-index: 5;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: calc(4.6rem - 5px) !important;
  max-width: calc(4.6rem - 5px) !important;
  height: calc(4.6rem - 5px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #000 !important;
  border-color: #000 !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
  background: #fff !important;
  color: #000 !important;
  font-family: "The Future", Arial, sans-serif;
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.2;
  cursor: pointer;
  overflow: hidden;
  transition: color 0.45s cubic-bezier(0.23, 1, 0.32, 1);
}

.seameco-confirm-modal__close::after,
.seameco-enquire-modal__close::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  translate: 0 100% !important;
  background-color: #000 !important;
  z-index: 0 !important;
  pointer-events: none;
  transition: translate 0.45s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

.seameco-confirm-modal__close span,
.seameco-enquire-modal__close span {
  position: relative;
  z-index: 2;
  display: block;
  font-size: 32px !important;
  transform: translateY(-0.05rem);
  color: inherit !important;
}

@media (hover: hover) {
  .seameco-confirm-modal__close:hover,
  .seameco-enquire-modal__close:hover {
    color: #fff !important;
    background: #fff !important;
    border-color: #000 !important;
  }

  .seameco-confirm-modal__close:hover::after,
  .seameco-enquire-modal__close:hover::after {
    translate: 0 !important;
  }
}

.seameco-confirm-modal__actions,
.seameco-enquire-modal__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  width: 100%;
}

.seameco-confirm-modal__btn.g-cta,
.seameco-enquire-modal__btn.g-cta {
  flex: none;
  width: 100%;
  min-height: 4.2rem !important;
  height: 4.2rem !important;
  padding: 0 1.2rem !important;
  border-radius: 0 !important;
  border: 1px solid #000 !important;
  border-color: #000 !important;
  font-family: "The Future", Arial, sans-serif;
  font-size: 1.4rem !important;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
  cursor: pointer;
  text-align: center;
  text-transform: none;
  position: relative;
  overflow: hidden;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-sizing: border-box;
  background: #fff !important;
  color: #000 !important;
  transition: color 0.45s cubic-bezier(0.23, 1, 0.32, 1);
}

.seameco-confirm-modal__btn.g-cta span,
.seameco-enquire-modal__btn.g-cta span {
  position: relative;
  z-index: 2;
  color: inherit !important;
}

/* Gufram fill layer — same as product Request / Add CTAs */
.seameco-confirm-modal__btn.g-cta::after,
.seameco-enquire-modal__btn.g-cta::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  translate: 0 100% !important;
  background-color: #000 !important;
  z-index: 0 !important;
  will-change: translate;
  transition: translate 0.45s cubic-bezier(0.23, 1, 0.32, 1) !important;
  pointer-events: none;
}

/* Keep browsing — white → black on hover */
.seameco-confirm-modal__btn.g-cta.-border,
.seameco-enquire-modal__btn.g-cta.-border {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #000 !important;
}

.seameco-confirm-modal__btn.g-cta.-border::after,
.seameco-enquire-modal__btn.g-cta.-border::after {
  translate: 0 100% !important;
  background-color: #000 !important;
}

/* Enquire — black → white on hover (Gufram -dark) */
.seameco-confirm-modal__btn.g-cta.-dark,
.seameco-enquire-modal__btn.g-cta.-dark {
  background: #000 !important;
  color: #fff !important;
  border: 1px solid #000 !important;
}

.seameco-confirm-modal__btn.g-cta.-dark::after,
.seameco-enquire-modal__btn.g-cta.-dark::after {
  translate: 0 !important;
  background-color: #000 !important;
}

@media (hover: hover) {
  .seameco-confirm-modal__btn.g-cta.-border:hover,
  .seameco-enquire-modal__btn.g-cta.-border:hover {
    color: #fff !important;
  }

  .seameco-confirm-modal__btn.g-cta.-border:hover::after,
  .seameco-enquire-modal__btn.g-cta.-border:hover::after {
    translate: 0 !important;
  }

  .seameco-confirm-modal__btn.g-cta.-dark:hover,
  .seameco-enquire-modal__btn.g-cta.-dark:hover {
    color: #000 !important;
    background: #fff !important;
  }

  .seameco-confirm-modal__btn.g-cta.-dark:hover::after,
  .seameco-enquire-modal__btn.g-cta.-dark:hover::after {
    translate: 0 -110% !important;
  }
}

.seameco-confirm-modal__btn.g-cta.seameco-confirm-modal__btn--danger {
  background: #000 !important;
  color: #fff !important;
  border: 1px solid #000 !important;
}

.seameco-confirm-modal__btn.g-cta.seameco-confirm-modal__btn--danger::after {
  translate: 0 !important;
  background-color: #000 !important;
}

body.seameco-overlay-open,
body.seameco-confirm-open {
  overflow: hidden;
  touch-action: none;
  overscroll-behavior: none;
}

html.seameco-overlay-open,
html.seameco-confirm-open {
  overflow: hidden;
  overscroll-behavior: none;
}

html.seameco-motion-paused *,
body.seameco-overlay-open [data-pjax="wrapper"] *,
body.seameco-confirm-open [data-pjax="wrapper"] *,
body.seameco-overlay-open .g-header *,
body.seameco-confirm-open .g-header * {
  animation-play-state: paused !important;
}

html.seameco-motion-paused .g-flow,
html.seameco-motion-paused .g-flow__panel,
html.seameco-motion-paused .g-flow__card,
body.seameco-space-frozen .g-flow,
body.seameco-space-frozen .g-flow__panel,
body.seameco-space-frozen .g-flow__card,
body.seameco-overlay-open .g-flow,
body.seameco-overlay-open .g-flow__panel,
body.seameco-confirm-open .g-flow,
body.seameco-confirm-open .g-flow__panel {
  transition: none !important;
}

/* Hard-freeze Space cards while enquire/confirm is open */
body.seameco-space-frozen .g-flow,
body.seameco-overlay-open .g-flow,
body.seameco-confirm-open .g-flow {
  pointer-events: none !important;
}

body.seameco-space-frozen .g-flow__panel[data-seameco-frozen-transform="1"],
body.seameco-space-frozen .g-flow__card[data-seameco-frozen-transform="1"],
body.seameco-space-frozen .g-flow__mask[data-seameco-frozen-transform="1"] {
  transition: none !important;
  animation: none !important;
}

body.seameco-overlay-open .seameco-shopify-auth__page,
body.seameco-confirm-open .seameco-shopify-auth__page,
body.seameco-overlay-open .g-header,
body.seameco-confirm-open .g-header,
body.seameco-overlay-open [data-pjax="wrapper"],
body.seameco-confirm-open [data-pjax="wrapper"],
body.seameco-overlay-open .g-preloader,
body.seameco-confirm-open .g-preloader,
body.seameco-overlay-open .g-blur,
body.seameco-confirm-open .g-blur,
body.seameco-overlay-open .g-cursor,
body.seameco-confirm-open .g-cursor,
body.seameco-overlay-open [js-cursor],
body.seameco-confirm-open [js-cursor] {
  pointer-events: none !important;
}

body.seameco-overlay-open .g-cursor,
body.seameco-confirm-open .g-cursor,
body.seameco-overlay-open [js-cursor],
body.seameco-confirm-open [js-cursor] {
  opacity: 0 !important;
  visibility: hidden !important;
}

body.seameco-overlay-open .seameco-confirm-modal,
body.seameco-overlay-open .seameco-enquire-modal,
body.seameco-confirm-open .seameco-confirm-modal,
body.seameco-confirm-open .seameco-enquire-modal {
  pointer-events: auto !important;
}

body.seameco-overlay-open .g-flow,
body.seameco-overlay-open .g-flow__card,
body.seameco-overlay-open .g-flow__mask,
body.seameco-overlay-open .g-grid__card,
body.seameco-confirm-open .g-flow,
body.seameco-confirm-open .g-flow__card,
body.seameco-confirm-open .g-flow__mask,
body.seameco-confirm-open .g-grid__card {
  pointer-events: none !important;
}

/* Enquire + confirm modals — shared shell */
.seameco-enquire-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem;
  pointer-events: auto;
  font-family: "The Future", Arial, sans-serif;
}

.seameco-enquire-modal[hidden] {
  display: none !important;
}

.seameco-enquire-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.seameco-enquire-modal__eyebrow {
  margin: 0 0 0.55rem;
  font-family: "The Future", Arial, sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #000;
}

.seameco-enquire-modal__cta.g-cta {
  display: inline-flex;
  width: 100%;
  margin: 0;
}

/* legacy class — do not hide the Keep browsing CTA */
.seameco-enquire-modal__skip:not(.seameco-enquire-modal__btn) {
  display: none;
}

/* Modal CTAs — keep arrow spacing stable on hover */
.seameco-confirm-modal .g-cta.-left,
.seameco-enquire-modal .g-cta.-left {
  justify-content: center;
  gap: 0.55rem;
}

.seameco-confirm-modal .g-cta,
.seameco-confirm-modal .g-cta span,
.seameco-enquire-modal .g-cta,
.seameco-enquire-modal .g-cta span {
  transition: color 0.45s cubic-bezier(0.23, 1, 0.32, 1),
    background 0.45s cubic-bezier(0.23, 1, 0.32, 1),
    fill 0.45s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

.seameco-confirm-modal .g-cta.-left:hover,
.seameco-confirm-modal .g-cta.-left:focus-visible,
.seameco-enquire-modal .g-cta.-left:hover,
.seameco-enquire-modal .g-cta.-left:focus-visible,
.seameco-confirm-modal button.g-cta.-left:hover,
.seameco-confirm-modal a.g-cta.-left:hover,
.seameco-enquire-modal button.g-cta.-left:hover,
.seameco-enquire-modal a.g-cta.-left:hover {
  padding: 0.7rem 0.85rem !important;
}

@media (max-width: 480px) {
  .g-article__media{
    height:30vh;
    position:relative
  }
  .seameco-confirm-modal,
  .seameco-enquire-modal {
    padding: 0.5rem;
    align-items: center;
  }

  .seameco-confirm-modal__panel,
  .seameco-enquire-modal__panel {
    width: 100%;
    max-width: none;
    padding: 2.1rem 1.4rem 1.6rem;
  }

  .seameco-confirm-modal__title,
  .seameco-enquire-modal__title {
    font-size: 2.1rem;
  }

  .seameco-confirm-modal__message,
  .seameco-enquire-modal__message {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: 400;
  }

  .seameco-confirm-modal__actions,
  .seameco-enquire-modal__actions {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .seameco-confirm-modal__btn.g-cta,
  .seameco-enquire-modal__btn.g-cta {
    min-height: 4.2rem !important;
    height: 4.2rem !important;
    padding: 0 1rem !important;
    font-size: 1.35rem !important;
  }

  .seameco-confirm-modal__close,
  .seameco-enquire-modal__close {
    width: calc(4.6rem - 5px) !important;
    max-width: calc(4.6rem - 5px) !important;
    height: calc(4.6rem - 5px) !important;
    border: 1px solid #000 !important;
    border-color: #000 !important;
    box-shadow: none !important;
  }

  .seameco-confirm-modal .g-cta.-left:hover,
  .seameco-confirm-modal .g-cta.-left:focus-visible,
  .seameco-enquire-modal .g-cta.-left:hover,
  .seameco-enquire-modal .g-cta.-left:focus-visible,
  .seameco-confirm-modal button.g-cta.-left:hover,
  .seameco-confirm-modal a.g-cta.-left:hover,
  .seameco-enquire-modal button.g-cta.-left:hover,
  .seameco-enquire-modal a.g-cta.-left:hover {
    padding: 0 1rem !important;
  }
}

/* Resources detail — Services-style layout without section / gallery arrows */
body.seameco-resource-detail-page .g-history__nav,
body.seameco-resource-detail-page .g-history__mobile-nav,
body.seameco-resource-detail-page .g-pop-sidebar-gallery__nav,
.seameco-resource-history .g-history__nav,
.seameco-resource-history .g-history__mobile-nav {
  display: none !important;
}

.seameco-resource-hero {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.seameco-resource-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.seameco-resource-hero .g-pop-sidebar-gallery__caption,
.seameco-resource-hero [data-seameco-resource-caption] {
  display: none !important;
}

.seameco-resource-actions {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

/* Match PDP “Add to bag” .g-cta: 5.4rem / 1.4rem */
.seameco-resource-actions .g-cta,
.seameco-resource-download.g-cta,
.seameco-resource-share.g-cta {
  height: 5.4rem;
  min-height: 5.4rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  border-radius: 0;
  margin-top: 0;
  padding: 0 1.1rem;
  box-sizing: border-box;
}

.seameco-resource-download.g-cta {
  flex: 1 1 auto;
  width: auto;
  justify-content: center;
}

.seameco-resource-share.g-cta {
  flex: 0 0 6.4rem;
  width: 6.4rem;
  min-width: 6.4rem;
  padding: 0;
  gap: 0;
  justify-content: center;
  background: #fff;
  color: #000;
}

.seameco-resource-share.g-cta svg,
.seameco-resource-share__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  display: block;
}

.seameco-resource-share.g-cta:hover,
.seameco-resource-share.g-cta:focus-visible {
  background: #000;
  color: #fff;
  outline: none;
}

.seameco-resource-share.g-cta:hover svg,
.seameco-resource-share.g-cta:focus-visible svg,
.seameco-resource-share.g-cta:hover .seameco-resource-share__icon,
.seameco-resource-share.g-cta:focus-visible .seameco-resource-share__icon {
  color: #fff;
}

.seameco-resource-share.g-cta:hover svg path,
.seameco-resource-share.g-cta:focus-visible svg path,
.seameco-resource-share.g-cta:hover svg circle,
.seameco-resource-share.g-cta:focus-visible svg circle {
  stroke: currentColor;
}

.seameco-resource-download-note {
  margin: 0.65rem 0 0;
  min-height: 1.1em;
  font-size: 0.75rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #444;
}

/* Resources grid — cursor title + subtitle like Collections */
body.seameco-resources-page .g-grid[data-seameco-resources-grid] .g-grid__info,
body.seameco-resources-page .g-grid.-type-authors .g-grid__info {
  display: none !important;
}

body.seameco-resources-page .g-grid.-type-authors .g-grid__card {
  cursor: pointer;
}

/* Match Services sidebar typography on resource writeups */
[data-seameco-resource-sidebar].g-sidebar__text,
[data-seameco-resource-sidebar] .seameco-resource-writeup,
[data-seameco-resource-sidebar] .seameco-resource-writeup p,
[data-seameco-resource-sidebar] .seameco-writeup-body {
  text-transform: none !important;
}

[data-seameco-resource-sidebar] .-t-title-4 {
  text-transform: none !important;
  letter-spacing: -0.03em;
  font-size: clamp(2.1rem, 3.6vw, 3.2rem) !important;
  line-height: 1.2 !important;
  color: #000 !important;
}

[data-seameco-resource-sidebar] {
  position: relative;
  overflow-y: auto;
  padding-right: 0.35rem;
  padding-bottom: 7.5rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

[data-seameco-resource-sidebar]::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

[data-seameco-resource-sidebar] p {
  margin: 0;
}

[data-seameco-resource-sidebar] p + p {
  margin-top: 2.5px;
}

[data-seameco-resource-sidebar] .seameco-writeup-body {
  font-size: 15px;
  line-height: 1.2 !important;
  letter-spacing: -0.038em;
  color: #000;
  font-weight: 300 !important;
  margin: 0 0 12px;
}

[data-seameco-resource-sidebar] .seameco-writeup-body + .seameco-writeup-body {
  margin-top: 0;
}

/* Resources detail — mobile: hero then writeup (like PDP), keep text visible */
@media (max-width: 1023px) {
  body.seameco-resource-detail-page .g-container[data-seameco-resource-detail] {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.seameco-resource-detail-page .g-cta.-back {
    position: relative;
    z-index: 5;
    margin: 0.75rem 1rem 0;
    align-self: flex-start;
  }

  body.seameco-resource-detail-page .g-history,
  body.seameco-resource-detail-page .seameco-resource-history {
    position: relative !important;
    order: 1;
    display: flex !important;
    flex-direction: column;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 1 1 auto;
  }

  body.seameco-resource-detail-page .g-history__media {
    width: 100% !important;
    max-width: none !important;
    height: 25vh !important;
    min-height: 240px !important;
    max-height: 48vh;
    flex-shrink: 0;
  }

  body.seameco-resource-detail-page .g-history__slider,
  body.seameco-resource-detail-page .g-history__image,
  body.seameco-resource-detail-page .seameco-resource-hero {
    height: 100% !important;
    min-height: 0 !important;
  }

  body.seameco-resource-detail-page .g-history__image img,
  body.seameco-resource-detail-page .seameco-resource-hero img {
    min-height: 0 !important;
    height: 100% !important;
    object-fit: cover;
  }

  body.seameco-resource-detail-page .g-sidebar,
  body.seameco-resource-detail-page .g-history .g-sidebar,
  body.seameco-resource-detail-page .seameco-resource-history .g-sidebar {
    display: block !important;
    position: relative !important;
    order: 2;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #fff;
    border-top: 1px solid #000;
  }

  body.seameco-resource-detail-page .g-sidebar__ul,
  body.seameco-resource-detail-page .g-sidebar__ul > li {
    height: auto !important;
    display: block !important;
  }

  body.seameco-resource-detail-page [data-seameco-history-sidebar],
  body.seameco-resource-detail-page [data-seameco-resource-sidebar] {
    display: block !important;
    padding: 1.35rem 0 calc(2.5rem + env(safe-area-inset-bottom, 0px)) !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.seameco-resource-detail-page [data-seameco-history-sidebar] .-t-title-4,
  body.seameco-resource-detail-page [data-seameco-resource-sidebar] .-t-title-4 {
    font-size: clamp(1.7rem, 7.5vw, 2.35rem) !important;
  }

  body.seameco-resource-detail-page .seameco-resource-actions {
    margin-top: 1.4rem;
    padding-top: 1.1rem;
  }

  body.seameco-resource-detail-page .seameco-resource-share.g-cta {
    flex-basis: 5.6rem;
    width: 5.6rem;
    min-width: 5.6rem;
  }

  body.seameco-resources-page .g-grid.-type-authors {
    padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px));
  }

  body.seameco-resources-page .g-grid.-type-authors .g-grid__item {
    min-width: 0;
  }
}

/* Programmes — mirror Resources (no download/share actions) */
body.seameco-programme-detail-page .g-history__nav,
body.seameco-programme-detail-page .g-history__mobile-nav,
body.seameco-programme-detail-page .g-pop-sidebar-gallery__nav,
.seameco-programme-history .g-history__nav,
.seameco-programme-history .g-history__mobile-nav {
  display: none !important;
}

.seameco-programme-hero {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.seameco-programme-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.seameco-programmes-page .g-grid[data-seameco-programmes-grid] .g-grid__info,
body.seameco-programmes-page .g-grid.-type-authors .g-grid__info {
  display: none !important;
}

body.seameco-programmes-page .g-grid.-type-authors .g-grid__card {
  cursor: pointer;
}

[data-seameco-programme-sidebar].g-sidebar__text,
[data-seameco-programme-sidebar] .seameco-programme-writeup,
[data-seameco-programme-sidebar] .seameco-programme-writeup p,
[data-seameco-programme-sidebar] .seameco-writeup-body {
  text-transform: none !important;
}

[data-seameco-programme-sidebar] .-t-title-4 {
  text-transform: none !important;
  letter-spacing: -0.03em;
  font-size: clamp(2.1rem, 3.6vw, 3.2rem) !important;
  line-height: 1.2 !important;
  color: #000 !important;
}

[data-seameco-programme-sidebar] {
  position: relative;
  overflow-y: auto;
  padding-right: 0.35rem;
  padding-bottom: 7.5rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

[data-seameco-programme-sidebar]::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

[data-seameco-programme-sidebar] p {
  margin: 0;
}

[data-seameco-programme-sidebar] p + p {
  margin-top: 2.5px;
}

[data-seameco-programme-sidebar] .seameco-writeup-body {
  font-size: 15px;
  line-height: 1.2 !important;
  letter-spacing: -0.038em;
  color: #000;
  font-weight: 300 !important;
  margin: 0 0 12px;
}

[data-seameco-programme-sidebar] .seameco-writeup-body + .seameco-writeup-body {
  margin-top: 0;
}

/* Programmes detail — mobile: hero then writeup (match Resources) */
@media (max-width: 1023px) {
  body.seameco-programme-detail-page .g-container[data-seameco-programme-detail] {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.seameco-programme-detail-page .g-cta.-back {
    position: relative;
    z-index: 5;
    margin: 0.75rem 1rem 0;
    align-self: flex-start;
  }

  body.seameco-programme-detail-page .g-history,
  body.seameco-programme-detail-page .seameco-programme-history {
    position: relative !important;
    order: 1;
    display: flex !important;
    flex-direction: column;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 1 1 auto;
  }

  body.seameco-programme-detail-page .g-history__media {
    width: 100% !important;
    max-width: none !important;
    height: 25vh !important;
    min-height: 240px !important;
    max-height: 48vh;
    flex-shrink: 0;
  }

  body.seameco-programme-detail-page .g-history__slider,
  body.seameco-programme-detail-page .g-history__image,
  body.seameco-programme-detail-page .seameco-programme-hero {
    height: 100% !important;
    min-height: 0 !important;
  }

  body.seameco-programme-detail-page .g-history__image img,
  body.seameco-programme-detail-page .seameco-programme-hero img {
    min-height: 0 !important;
    height: 100% !important;
    object-fit: cover;
  }

  body.seameco-programme-detail-page .g-sidebar,
  body.seameco-programme-detail-page .g-history .g-sidebar,
  body.seameco-programme-detail-page .seameco-programme-history .g-sidebar {
    display: block !important;
    position: relative !important;
    order: 2;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #fff;
    border-top: 1px solid #000;
  }

  body.seameco-programme-detail-page .g-sidebar__ul,
  body.seameco-programme-detail-page .g-sidebar__ul > li {
    height: auto !important;
    display: block !important;
  }

  body.seameco-programme-detail-page [data-seameco-history-sidebar],
  body.seameco-programme-detail-page [data-seameco-programme-sidebar] {
    display: block !important;
    padding: 1.35rem 0 calc(2.5rem + env(safe-area-inset-bottom, 0px)) !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.seameco-programme-detail-page [data-seameco-history-sidebar] .-t-title-4,
  body.seameco-programme-detail-page [data-seameco-programme-sidebar] .-t-title-4 {
    font-size: clamp(1.7rem, 7.5vw, 2.35rem) !important;
  }

  body.seameco-programmes-page .g-grid.-type-authors {
    padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px));
  }

  body.seameco-programmes-page .g-grid.-type-authors .g-grid__item {
    min-width: 0;
  }
}

/* Packaging detail — mobile: same hero → writeup stack as Resources */
@media (max-width: 1023px) {
  body.seameco-packaging-detail-page .g-container[data-seameco-packaging-detail] {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.seameco-packaging-detail-page .g-cta.-back {
    position: relative;
    z-index: 10060 !important;
    pointer-events: auto !important;
    margin: 0.75rem 1rem 0;
    align-self: flex-start;
  }

  body.seameco-packaging-detail-page .g-history,
  body.seameco-packaging-detail-page .seameco-packaging-history {
    position: relative !important;
    order: 1;
    display: flex !important;
    flex-direction: column;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 1 1 auto;
  }

  body.seameco-packaging-detail-page .g-history__media {
    width: 100% !important;
    max-width: none !important;
    height: 25vh !important;
    min-height: 240px !important;
    max-height: 48vh;
    flex-shrink: 0;
  }

  body.seameco-packaging-detail-page .g-history__slider,
  body.seameco-packaging-detail-page .g-history__image,
  body.seameco-packaging-detail-page .seameco-packaging-hero {
    height: 100% !important;
    min-height: 0 !important;
  }

  body.seameco-packaging-detail-page .g-history__image img,
  body.seameco-packaging-detail-page .seameco-packaging-hero img {
    min-height: 0 !important;
    height: 100% !important;
    object-fit: cover;
  }

  body.seameco-packaging-detail-page .g-sidebar,
  body.seameco-packaging-detail-page .g-history .g-sidebar,
  body.seameco-packaging-detail-page .seameco-packaging-history .g-sidebar {
    display: block !important;
    position: relative !important;
    order: 2;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #fff;
    border-top: 1px solid #000;
  }

  body.seameco-packaging-detail-page .g-sidebar__ul,
  body.seameco-packaging-detail-page .g-sidebar__ul > li {
    height: auto !important;
    display: block !important;
  }

  body.seameco-packaging-detail-page [data-seameco-history-sidebar],
  body.seameco-packaging-detail-page [data-seameco-packaging-flow] {
    display: block !important;
    padding: 1.35rem 0 calc(2.5rem + env(safe-area-inset-bottom, 0px)) !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 767px) {
  body.seameco-packaging-detail-page [data-seameco-history-sidebar],
  body.seameco-packaging-detail-page [data-seameco-packaging-flow] {
    padding-left: 16.5px !important;
    padding-right: 16.5px !important;
  }
}

/* ——— Start / Create Project page ——— */
body.seameco-start-page {
  background: #fafafa;
  overflow: hidden;
}

html:has(body.seameco-start-page) {
  overflow: hidden;
}

body.seameco-start-page .g-switch,
body.seameco-start-page [js-flow-switch],
body.seameco-start-page .g-grid,
body.seameco-start-page .g-cursor {
  display: none !important;
}

/* Header above blur + sidebar — same stacking as Gufram/index (999 > blur 98) */
body.seameco-start-page .g-blur {
  z-index: 98 !important;
  pointer-events: none !important;
}

body.seameco-start-page.-menu-is-open .g-blur,
body.seameco-start-page.-search-is-open .g-blur,
body.seameco-start-page.-nl-is-open .g-blur {
  pointer-events: auto !important;
}

body.seameco-start-page .g-header {
  z-index: 1200 !important;
}

/* Leaving Start → home: hide Start products immediately (no flash into Space) */
body.seameco-leaving-start .seameco-start-stage,
body.seameco-leaving-start .seameco-start-space,
body.seameco-leaving-start [data-seameco-start-space],
body.seameco-leaving-start .seameco-start-sidebar,
body.seameco-leaving-start .seameco-proj {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Never blank home Space product images while leaving Start */
body.seameco-leaving-start .g-container:not([data-seameco-start-page]) .g-flow,
body.seameco-leaving-start .g-container:not([data-seameco-start-page]) .g-flow__panel,
body.seameco-leaving-start .g-container:not([data-seameco-start-page]) .g-flow__card img {
  opacity: 1 !important;
  visibility: visible !important;
}

body.seameco-leaving-start .g-grid {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Let Gufram own menu/search/nl open+close — no Start pointer-events overrides */

body.seameco-start-page .seameco-start-stage {
  position: fixed;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #fafafa;
  z-index: 1;
  overflow: hidden;
}

body.seameco-start-page .seameco-start-space {
  position: absolute;
  left: 0;
  top: 0;
  width: 60%;
  height: 100%;
  background: #fafafa;
  overflow: hidden;
  pointer-events: none !important;
  user-select: none;
  touch-action: none;
  z-index: 1;
  isolation: isolate;
}

/* Real Gufram space flow — centered in left pane, atmosphere only */
body.seameco-start-page .seameco-start-space .g-flow,
body.seameco-start-page [data-seameco-start-space] {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: calc(70% + 140px) !important;
  transform: translate(-50%, -50%) !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  touch-action: none !important;
  perspective: 1000px;
  transform-style: preserve-3d;
  z-index: 1 !important;
}

/* Panels sized to the left pane (not full viewport) so products sit centered */
body.seameco-start-page .seameco-start-space .g-flow__panel {
  width: 100% !important;
  height: 125% !important;
  max-width: none !important;
  z-index: 1 !important;
}

body.seameco-start-page .seameco-start-space .g-flow__panel,
body.seameco-start-page .seameco-start-space .g-flow__card,
body.seameco-start-page .seameco-start-space .g-flow__mask,
body.seameco-start-page .seameco-start-space img {
  pointer-events: none !important;
  cursor: default !important;
}

body.seameco-start-page .seameco-start-space .g-flow__card {
  cursor: default !important;
}

body.seameco-start-page .seameco-start-space .g-flow__mask {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Sidebar — clear header so wizard title is not clipped */
body.seameco-start-page .g-sidebar.seameco-start-sidebar,
body.seameco-start-page .seameco-start-sidebar {
  position: fixed !important;
  right: 0;
  top: 0;
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  padding: 11.5rem 1.6rem 1.8rem;
  overflow-x: hidden;
  overflow-y: auto;
  background: #fff;
  border-left: 1px solid #000;
  box-sizing: border-box;
  z-index: 20;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body.seameco-start-page .g-sidebar.seameco-start-sidebar::-webkit-scrollbar,
body.seameco-start-page .seameco-start-sidebar::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

/* Keep sidebar under open header panels */
body.seameco-start-page.-menu-is-open .seameco-start-sidebar,
body.seameco-start-page.-search-is-open .seameco-start-sidebar,
body.seameco-start-page.-nl-is-open .seameco-start-sidebar {
  z-index: 10;
  pointer-events: none;
}

body.seameco-start-page.-menu-is-open .g-container > .g-cta.-back,
body.seameco-start-page.-search-is-open .g-container > .g-cta.-back,
body.seameco-start-page.-nl-is-open .g-container > .g-cta.-back {
  pointer-events: auto;
}

body.seameco-start-page.-menu-is-open .seameco-start-sidebar .seameco-proj,
body.seameco-start-page.-search-is-open .seameco-start-sidebar .seameco-proj,
body.seameco-start-page.-nl-is-open .seameco-start-sidebar .seameco-proj {
  pointer-events: none;
}

@media (min-width: 1024px) {
  body.seameco-start-page .g-sidebar.seameco-start-sidebar,
  body.seameco-start-page .seameco-start-sidebar {
    right: 0 !important;
    width: 40% !important;
    max-width: 40% !important;
  }

  body.seameco-start-page .seameco-start-space {
    width: 60% !important;
  }
}

@media (min-width: 1280px) {
  body.seameco-start-page .g-sidebar.seameco-start-sidebar,
  body.seameco-start-page .seameco-start-sidebar {
    right: 0 !important;
    width: 35% !important;
    max-width: 35% !important;
  }

  body.seameco-start-page .seameco-start-space {
    width: 65% !important;
  }
}

@media (min-width: 1680px) {
  body.seameco-start-page .g-sidebar.seameco-start-sidebar,
  body.seameco-start-page .seameco-start-sidebar {
    right: 0 !important;
    width: 25% !important;
    max-width: 25% !important;
  }

  body.seameco-start-page .seameco-start-space {
    width: 75% !important;
  }
}

/* Start icon-back: same left-of-space placement as Services / other detail pages */
body.seameco-start-page .g-container > .g-cta.-back,
body.seameco-start-page .g-container > a[data-seameco-start-back] {
  position: absolute;
  top: 2rem;
  left: 2rem;
  z-index: 40;
  display: flex !important;
  pointer-events: auto !important;
}

/* Foot text Back stays visible (matches product sample sidebar) */
body.seameco-start-page .seameco-proj__foot-row {
  justify-content: space-between;
  align-items: stretch;
  gap: 0.8rem;
}

body.seameco-start-page.seameco-proj-sidebar-open .seameco-specialist-cta {
  display: none !important;
}

body.seameco-start-page .seameco-proj--sidebar {
  min-height: 0;
  max-width: 100%;
  padding: 0 5px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

body.seameco-start-page .seameco-proj__head {
  padding: 0.25rem 0 1.6rem;
  margin-bottom: 1.6rem;
}

body.seameco-start-page .seameco-proj__body {
  padding: 0 0 0.4rem;
  flex: 0 1 auto;
  overflow-x: hidden;
}

body.seameco-start-page .seameco-proj__foot {
  padding: 0.85rem 0 0;
  margin-top: 1.2rem;
}

body.seameco-start-page .seameco-proj__foot-row .seameco-proj__btn {
  flex: 1 1 0;
  min-width: 0;
  white-space: nowrap;
}

body.seameco-start-page .seameco-proj__title {
  letter-spacing: -0.045em;
}

@media (max-width: 1023px) {
  body.seameco-start-page {
    overflow: auto;
    background: #fff;
  }

  html:has(body.seameco-start-page) {
    overflow: auto;
  }

  /* No left space on mobile — wizard only */
  body.seameco-start-page .seameco-start-space {
    display: none !important;
  }

  body.seameco-start-page .seameco-start-stage {
    position: relative;
    height: auto;
    min-height: 100dvh;
    background: #fff;
  }

  body.seameco-start-page .g-sidebar.seameco-start-sidebar,
  body.seameco-start-page .seameco-start-sidebar {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    height: auto;
    min-height: 100dvh;
    padding: 7.5rem 1.1rem 5.5rem !important;
    border-left: 0;
    border-top: 0;
    box-sizing: border-box;
  }

  body.seameco-start-page .seameco-proj--sidebar {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-top: 24px !important;
  }

  body.seameco-start-page .seameco-proj__head,
  body.seameco-start-page .seameco-proj__body,
  body.seameco-start-page .seameco-proj__foot {
    width: 100%;
    box-sizing: border-box;
  }

  body.seameco-start-page .g-header,
  body.seameco-start-page.-detail .g-header,
  body.seameco-start-page.seameco-header-detail-lock .g-header,
  body.seameco-header-detail-lock .g-header,
  body.seameco-start-page.seameco-pdp-transition .g-header,
  body.seameco-start-page.-transition .g-header {
    /* Freeze mobile Start header — keep Gufram right:0 center (never right:auto) */
    width: calc(100vw - 3.2rem) !important;
    max-width: none !important;
    left: auto !important;
    right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: translate3d(-1.6rem, 0, 2500px) !important;
    transition:
      background-color 0.35s ease,
      border-color 0.35s ease,
      height 0s !important;
  }

  /* Mobile Start: no floating icon-back — foot “Back” is enough */
  body.seameco-start-page .g-container > .g-cta.-back,
  body.seameco-start-page .g-container > a[data-seameco-start-back],
  body.seameco-start-page a.g-cta.-only-icon.-back.-border {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}

@media (max-width: 640px) {
  body.seameco-start-page .seameco-proj__title {
    font-size: clamp(1.7rem, 7vw, 2.2rem);
    letter-spacing: -0.04em;
  }

  .seameco-confirm-modal,
  .seameco-enquire-modal {
    padding: 0.45rem;
    align-items: flex-end;
  }

  .seameco-confirm-modal__panel,
  .seameco-enquire-modal__panel {
    width: 100%;
    max-width: none;
    max-height: min(92dvh, 100%);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 1.75rem 1.15rem 1.35rem;
  }

  .seameco-confirm-modal__title,
  .seameco-enquire-modal__title {
    font-size: clamp(1.55rem, 6.5vw, 2rem);
    padding-right: 2.2rem;
  }

  .seameco-confirm-modal__message,
  .seameco-enquire-modal__message {
    font-size: 1.05rem;
    line-height: 1.2;
    margin-bottom: 1.2rem;
  }

  .seameco-confirm-modal__actions,
  .seameco-enquire-modal__actions {
    grid-template-columns: 1fr;
  }
}

/* ——— Packaging ——— */
body.seameco-packaging-page .seameco-packaging-back-link:not([hidden]) {
  display: inline-flex;
}

.seameco-packaging-pdp__media {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
}

.seameco-packaging-pdp__media img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.seameco-packaging-pdp__lead {
  margin: 0.85rem 0 1.1rem;
  font-size: 1.35rem;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #222;
}

.seameco-packaging-routes {
  margin: 0 0 1rem;
  padding: 0.85rem 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

.seameco-packaging-routes__label {
  margin: 0 0 0.65rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.seameco-packaging-routes__opts {
  display: grid;
  gap: 0.45rem;
}

.seameco-packaging-routes__btn {
  appearance: none;
  display: grid;
  gap: 0.55rem;
  width: 100%;
  text-align: left;
  padding: 0.75rem 0.85rem;
  border: 1px solid #000;
  background: #fff;
  color: #000;
  cursor: pointer;
  font: inherit;
  letter-spacing: -0.02em;
  box-sizing: border-box;
}

.seameco-packaging-routes__btn strong {
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.2;
  color: #000;
}

.seameco-packaging-routes__btn span {
  font-size: 1.2rem;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.seameco-packaging-routes__btn.is-selected {
  background: #000;
  border-color: #000;
  color: #fff;
  box-shadow: inset 0 0 0 1px #fff;
}

.seameco-packaging-routes__btn.is-selected strong,
.seameco-packaging-routes__btn.is-selected span {
  color: #fff;
}

.seameco-packaging-pdp .seameco-pdp-commerce {
  display: block;
  padding: 0.75rem 0 0;
}

.seameco-packaging-pdp .seameco-pdp-commerce__stack {
  display: block;
}

.seameco-packaging-pdp .seameco-packaging-add {
  width: 100%;
}

.seameco-packaging-pdp .seameco-packaging-add:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.seameco-packaging-pdp__hint {
  margin: 0.55rem 0 0;
  font-size: 1rem;
  color: #666;
  letter-spacing: -0.02em;
}

/* Packaging flow (detail sidebar) */
.seameco-pack-flow__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #666;
}

.seameco-pack-flow__title {
  margin: 0 0 0.45rem;
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.2;
}

.seameco-pack-flow__caption {
  margin: 0 0 1.25rem;
  font-size: 1.15rem;
  line-height: 1.2;
  color: #444;
}

.seameco-pack-flow__block {
  margin: 0 0 1.25rem;
  padding-top: 0.85rem;
  border-top: 1px solid #000;
}

.seameco-pack-flow__label {
  margin: 0 0 0.55rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.seameco-pack-flow__hint,
.seameco-pack-flow__empty {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
  line-height: 1.2;
  color: #555;
}

/* Packaging uses same seameco-proj typography as Start */
body.seameco-packaging-detail-page .seameco-proj,
body.seameco-packaging-detail-page .seameco-pack-wizard {
  font-family: "The Future", Arial, sans-serif;
  color: #111;
}

body.seameco-packaging-detail-page .seameco-proj__lead,
body.seameco-packaging-detail-page .seameco-proj__title,
body.seameco-packaging-detail-page .seameco-proj__eyebrow,
body.seameco-packaging-detail-page .seameco-proj__sub,
body.seameco-packaging-detail-page .seameco-proj__route,
body.seameco-packaging-detail-page .seameco-proj__product {
  font-family: inherit;
}

/* Packaging / Start wizard — text options keep black fill; product cards keep light border */
body.seameco-packaging-detail-page .seameco-proj__route,
body.seameco-packaging-detail-page .seameco-proj__pick,
body.seameco-start-page .seameco-proj__route,
body.seameco-start-page .seameco-proj__pick {
  border: 1px solid #000 !important;
  box-shadow: none !important;
}

body.seameco-packaging-detail-page .seameco-proj__route.is-selected,
body.seameco-packaging-detail-page .seameco-proj__pick.is-selected,
body.seameco-start-page .seameco-proj__route.is-selected,
body.seameco-start-page .seameco-proj__pick.is-selected {
  background: #000 !important;
  border: 1px solid #000 !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px #fff !important;
}

body.seameco-packaging-detail-page .seameco-proj__product,
body.seameco-start-page .seameco-proj__product {
  border: 1px solid #e5e5e5 !important;
  background: #fff !important;
  color: #000 !important;
  box-shadow: none !important;
  padding: 0.55rem !important;
}

body.seameco-packaging-detail-page .seameco-proj__product.is-selected,
body.seameco-start-page .seameco-proj__product.is-selected {
  background: #fff !important;
  border: 1px solid #000 !important;
  color: #000 !important;
  box-shadow: none !important;
}

body.seameco-packaging-detail-page .seameco-proj__route.is-selected strong,
body.seameco-packaging-detail-page .seameco-proj__route.is-selected span,
body.seameco-packaging-detail-page .seameco-proj__pick.is-selected strong,
body.seameco-packaging-detail-page .seameco-proj__pick.is-selected span,
body.seameco-start-page .seameco-proj__route.is-selected strong,
body.seameco-start-page .seameco-proj__route.is-selected span,
body.seameco-start-page .seameco-proj__pick.is-selected strong,
body.seameco-start-page .seameco-proj__pick.is-selected span {
  color: #fff !important;
}

body.seameco-packaging-detail-page .seameco-proj__product.is-selected span,
body.seameco-start-page .seameco-proj__product.is-selected span {
  color: #000 !important;
}

body.seameco-packaging-detail-page .seameco-proj__route,
body.seameco-packaging-detail-page .seameco-proj__pick,
body.seameco-start-page .seameco-proj__route,
body.seameco-start-page .seameco-proj__pick {
  pointer-events: auto;
  cursor: pointer;
}

body.seameco-packaging-detail-page .seameco-proj button.g-cta.-border,
body.seameco-packaging-detail-page .seameco-proj button.g-cta.-dark,
body.seameco-packaging-detail-page .seameco-proj .seameco-proj__btn {
  border: 1px solid #000 !important;
  box-sizing: border-box;
}

@media (hover: hover) {
  body.seameco-packaging-detail-page .seameco-proj button.g-cta.-border:hover,
  body.seameco-packaging-detail-page .seameco-proj button.g-cta.-dark:hover,
  body.seameco-packaging-detail-page .seameco-proj .seameco-proj__btn:hover {
    border: 1px solid #000 !important;
    box-shadow: inset 0 0 0 1px #fff !important;
  }
}

/* Packaging detail sidebar — same Start / seameco-proj spacing */

/* Desktop restore: pack / resource / programme sidebars keep 2.45rem L/R */
@media (min-width: 768px) {
  body.seameco-packaging-detail-page .g-sidebar,
  body.seameco-packaging-detail-page .seameco-start-sidebar {
    padding-left: 2.45rem !important;
    padding-right: 2.45rem !important;
  }
  body.seameco-resource-detail-page .g-sidebar,
  body.seameco-resource-detail-page [data-seameco-resource-sidebar],
  body.seameco-resource-detail-page [data-seameco-history-sidebar],
  body.seameco-programme-detail-page .g-sidebar,
  body.seameco-programme-detail-page [data-seameco-programme-sidebar],
  body.seameco-programme-detail-page [data-seameco-history-sidebar] {
    padding-left: 2.45rem !important;
    padding-right: 2.45rem !important;
  }
}

body.seameco-packaging-detail-page .g-sidebar,
body.seameco-packaging-detail-page .seameco-start-sidebar {
  padding: 9rem 2.45rem 1.8rem !important;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  pointer-events: auto !important;
}

/* Mobile only: total L/R text inset = 16.5px (kill nested extra pad). Desktop keeps 1.6rem. */
@media (max-width: 767px) {
  body.seameco-packaging-detail-page .g-sidebar,
  body.seameco-packaging-detail-page .seameco-start-sidebar,
  body.seameco-resource-detail-page .g-sidebar,
  body.seameco-programme-detail-page .g-sidebar {
    padding-left: 16.5px !important;
    padding-right: 16.5px !important;
  }

  body.seameco-packaging-detail-page [data-seameco-packaging-flow],
  body.seameco-packaging-detail-page [data-seameco-history-sidebar],
  body.seameco-packaging-detail-page .seameco-proj,
  body.seameco-packaging-detail-page .seameco-proj--sidebar,
  body.seameco-packaging-detail-page .seameco-proj__head,
  body.seameco-packaging-detail-page .seameco-proj__body,
  body.seameco-packaging-detail-page .seameco-proj__foot,
  body.seameco-packaging-detail-page [data-seameco-pack-body],
  body.seameco-resource-detail-page [data-seameco-history-sidebar],
  body.seameco-resource-detail-page [data-seameco-resource-sidebar],
  body.seameco-resource-detail-page .seameco-history-writeup,
  body.seameco-resource-detail-page .seameco-writeup-body,
  body.seameco-programme-detail-page [data-seameco-history-sidebar],
  body.seameco-programme-detail-page [data-seameco-programme-sidebar],
  body.seameco-programme-detail-page .seameco-history-writeup,
  body.seameco-programme-detail-page .seameco-writeup-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

body.seameco-packaging-detail-page [data-seameco-packaging-flow],
body.seameco-packaging-detail-page .seameco-proj {
  opacity: 1 !important;
  visibility: visible !important;
}

body.seameco-packaging-detail-page .g-sidebar::-webkit-scrollbar,
body.seameco-packaging-detail-page .seameco-start-sidebar::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

body.seameco-packaging-detail-page .seameco-proj--sidebar {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
  max-width: 100%;
  padding: 0;
  gap: 0;
}

body.seameco-packaging-detail-page .seameco-proj__title {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.2;
}

body.seameco-packaging-detail-page .seameco-proj__lead {
  margin: 0 0 1.2rem;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
}

body.seameco-packaging-detail-page .seameco-proj__sub {
  margin: 1.3rem 0 0.7rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

body.seameco-packaging-detail-page .seameco-proj__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 0.95rem;
  align-items: center;
}

body.seameco-packaging-detail-page .seameco-proj__head {
  padding: 0.25rem 0 1.6rem;
  margin-bottom: 1.6rem;
}

body.seameco-packaging-detail-page .seameco-proj__body {
  padding: 0 0 0.4rem;
  flex: 0 1 auto;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body.seameco-packaging-detail-page .seameco-proj__body::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

body.seameco-packaging-detail-page .seameco-proj__foot {
  padding: 0.85rem 0 0;
  margin-top: 1.2rem;
}

body.seameco-packaging-detail-page .seameco-proj__foot-row {
  justify-content: space-between;
  align-items: stretch;
  gap: 0.8rem;
}

body.seameco-packaging-detail-page .seameco-proj__foot-row .seameco-proj__btn {
  flex: 1 1 0;
  min-width: 0;
  white-space: nowrap;
}

body.seameco-packaging-detail-page .seameco-proj__product-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  align-items: start;
  max-height: calc(18rem + 180px);
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body.seameco-packaging-detail-page .seameco-proj__product,
body.seameco-start-page .seameco-proj__product {
  align-self: start;
  height: auto;
  min-height: 0;
}

body.seameco-packaging-detail-page .seameco-proj__product img,
body.seameco-packaging-detail-page .seameco-proj__ph,
body.seameco-start-page .seameco-proj__product img,
body.seameco-start-page .seameco-proj__ph {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  background: #f4f4f4;
  display: block;
  opacity: 1 !important;
  visibility: visible !important;
}

body.seameco-packaging-detail-page .seameco-proj__product-list > .seameco-proj__empty,
body.seameco-start-page .seameco-proj__product-list > .seameco-proj__empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 15px 0;
  text-align: center;
  white-space: nowrap;
}

body.seameco-packaging-detail-page .seameco-proj__product-list::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

@media (max-width: 639px) {
  body.seameco-packaging-detail-page .seameco-proj__product-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body.seameco-packaging-detail-page .seameco-packaging-hero {
  width: 100%;
  height: calc(70% + 140px);
  max-height: 100%;
  overflow: hidden;
}

body.seameco-packaging-detail-page .seameco-packaging-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.seameco-pack-flow__product {
  appearance: none;
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: 0.45rem;
  align-items: center;
  padding: 0.4rem;
  border: 1px solid #e5e5e5;
  background: #fff;
  color: #000;
  text-align: left;
  font: inherit;
  font-size: 0.95rem;
  letter-spacing: -0.03em;
  cursor: pointer;
  box-sizing: border-box;
}

.seameco-pack-flow__product img,
.seameco-pack-flow__ph {
  width: 2.5rem;
  height: 2.5rem;
  object-fit: cover;
  background: #f2f2f2;
}

.seameco-pack-flow__product.is-selected {
  background: #fff;
  border: 1px solid #000;
  color: #000;
  box-shadow: none;
}

.seameco-pack-flow__routes,
.seameco-pack-flow__modes {
  display: grid;
  gap: 0.4rem;
}

.seameco-pack-flow__route,
.seameco-pack-flow__mode {
  appearance: none;
  display: grid;
  gap: 0.55rem;
  width: 100%;
  text-align: left;
  padding: 0.75rem 0.85rem;
  border: 1px solid #000;
  background: #fff;
  color: #000;
  cursor: pointer;
  font: inherit;
  letter-spacing: -0.02em;
  box-sizing: border-box;
}

.seameco-pack-flow__route strong,
.seameco-pack-flow__mode strong {
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.2;
  color: #000;
}

.seameco-pack-flow__route span,
.seameco-pack-flow__mode span {
  font-size: 1.2rem;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.seameco-pack-flow__route.is-selected,
.seameco-pack-flow__mode.is-selected {
  background: #000;
  border-color: #000;
  color: #fff;
  box-shadow: inset 0 0 0 1px #fff;
}

.seameco-pack-flow__route.is-selected strong,
.seameco-pack-flow__mode.is-selected strong,
.seameco-pack-flow__route.is-selected span,
.seameco-pack-flow__mode.is-selected span {
  color: #fff;
}

.seameco-pack-flow__cta {
  width: 100%;
  margin-top: 0.35rem;
}

.seameco-pack-flow__cta:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

body.seameco-packaging-page .g-grid.-type-authors {
  min-height: 50vh;
}

/* Cold load: hold grid invisible until site boot finishes (kills packaging flash) */
body.seameco-packaging-page:not(.seameco-booted) [data-seameco-packaging-grid],
body.seameco-resources-page:not(.seameco-booted) [data-seameco-resources-grid],
body.seameco-programmes-page:not(.seameco-booted) [data-seameco-programmes-grid],
body.seameco-packaging-page.-loading [data-seameco-packaging-grid],
body.seameco-resources-page.-loading [data-seameco-resources-grid],
body.seameco-programmes-page.-loading [data-seameco-programmes-grid] {
  opacity: 0 !important;
  visibility: hidden !important;
}

body.seameco-booted.seameco-packaging-page:not(.-loading) [data-seameco-packaging-grid],
body.seameco-booted.seameco-resources-page:not(.-loading) [data-seameco-resources-grid],
body.seameco-booted.seameco-programmes-page:not(.-loading) [data-seameco-programmes-grid] {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Same as resources/programmes: hide Gufram info bars (cursor + corner labels instead).
 * Leaving them visible lets .g-grid__card>div aspect-ratio padding apply to .g-grid__info
 * and doubles every cell height — empty lower half + images sitting wrong. */
body.seameco-packaging-page .g-grid[data-seameco-packaging-grid] .g-grid__info,
body.seameco-packaging-page .g-grid.-type-authors .g-grid__info {
  display: none !important;
}

body.seameco-packaging-page .g-grid.-type-authors .g-grid__card {
  cursor: pointer;
}

/* Aspect box only on the image wrap — never on .g-grid__info */
body.seameco-packaging-page .g-grid.-type-authors .g-grid__card > div.g-grid__info,
body.seameco-resources-page .g-grid.-type-authors .g-grid__card > div.g-grid__info,
body.seameco-programmes-page .g-grid.-type-authors .g-grid__card > div.g-grid__info {
  padding-bottom: 0 !important;
  height: auto !important;
}

/* Enquire workflow — type → form → confirmation */
.seameco-enquire-flow__lead {
  margin: 0 0 1rem;
  font-family: "The Future", Arial, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
}

.seameco-enquire-flow__types {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.55rem;
}

.seameco-enquire-flow__type {
  appearance: none;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid #000;
  background: #fff;
  color: #000;
  text-align: left;
  font: inherit;
  letter-spacing: -0.02em;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  box-sizing: border-box;
}

.seameco-enquire-flow__type strong {
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.2;
  color: #000;
}

.seameco-enquire-flow__type span {
  font-size: 1.2rem;
  line-height: 1.2;
  letter-spacing: -0.025em;
  color: #000;
}

.seameco-enquire-flow__type:hover,
.seameco-enquire-flow__type.is-selected {
  background: #000;
  border-color: #000;
  color: #fff;
  box-shadow: inset 0 0 0 1px #fff;
}

.seameco-enquire-flow__type:hover span,
.seameco-enquire-flow__type.is-selected span,
.seameco-enquire-flow__type:hover strong,
.seameco-enquire-flow__type.is-selected strong {
  color: #fff;
}

.seameco-enquire-flow__back {
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  margin: 0 0 0.85rem;
  font: inherit;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  cursor: pointer;
  color: #111;
  text-align: left;
}

.seameco-enquire-flow__confirm {
  margin: 0 0 1.2rem;
  font-size: 1.4rem;
  line-height: 1.2;
  color: #222;
}

.seameco-enquire-flow__again {
  width: 100%;
  justify-content: center;
}

@media (max-width: 1023px) {
  /* Packaging detail stack padding is set with resources/programmes above —
     keep only contact/title tweaks here */
  body.seameco-contact-page .g-sidebar,
  body.page-template-page-contact .g-sidebar {
    padding: 2.5rem 1.2rem 2.5rem;
  }

  .seameco-enquire-flow__type strong,
  .seameco-pack-flow__route strong,
  .seameco-pack-flow__mode strong,
  .seameco-packaging-routes__btn strong {
    font-size: 1.6rem;
    line-height: 1.2;
  }

  .seameco-enquire-flow__type span,
  .seameco-pack-flow__route span,
  .seameco-pack-flow__mode span,
  .seameco-packaging-routes__btn span {
    font-size: 1.1rem;
    line-height: 1.2;
  }

  .seameco-proj__title {
    font-size: 2.6rem;
  }

  body.seameco-start-page .seameco-proj__title,
  body.seameco-packaging-detail-page .seameco-proj__title {
    font-size: 2.6rem;
  }
}

/* ——— Authors listing mobile: 2-up + permanent black corner label ——— */
.seameco-grid-label {
  display: none;
}

@media (max-width: 767px) {
  /* Products + home Grid + collection products — names stay visible (Gufram hover:hover hides them on iOS) */
  body.seameco-products-page .g-grid.-type-products .g-grid__info,
  body.seameco-products-page .g-grid.-type-products [js-grid-item-info],
  body.home .g-grid.-type-products.-active .g-grid__info,
  body.home .g-grid.-type-products.-active [js-grid-item-info],
  body.page-template-page-homepage .g-grid.-type-products.-active .g-grid__info,
  body.page-template-page-homepage .g-grid.-type-products.-active [js-grid-item-info],
  body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__info,
  body.seameco-collection-detail
    .g-grid[data-seameco-collection-products-grid]
    [js-grid-item-info] {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    position: absolute !important;
    left: 0.45rem !important;
    right: auto !important;
    bottom: 0.45rem !important;
    top: auto !important;
    z-index: 4 !important;
    max-width: calc(100% - 0.9rem);
    margin: 0 !important;
    padding: 0.22rem 0.4rem !important;
    gap: 0 !important;
    background: #fff !important;
    color: #000 !important;
    pointer-events: none !important;
    box-sizing: border-box;
  }

  body.seameco-products-page .g-grid.-type-products .g-grid__info strong,
  body.seameco-products-page .g-grid.-type-products [js-grid-item-info] strong,
  body.home .g-grid.-type-products.-active .g-grid__info strong,
  body.home .g-grid.-type-products.-active [js-grid-item-info] strong,
  body.page-template-page-homepage .g-grid.-type-products.-active .g-grid__info strong,
  body.page-template-page-homepage .g-grid.-type-products.-active [js-grid-item-info] strong,
  body.seameco-collection-detail .g-grid[data-seameco-collection-products-grid] .g-grid__info strong,
  body.seameco-collection-detail
    .g-grid[data-seameco-collection-products-grid]
    [js-grid-item-info]
    strong {
    display: block !important;
    margin: 0 !important;
    font-family: "The Future", Arial, sans-serif;
    font-size: 1.05em !important;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.2;
    text-transform: uppercase;
    color: #000 !important;
  }

  body.seameco-resources-page .g-grid.-type-authors,
  body.seameco-programmes-page .g-grid.-type-authors,
  body.seameco-packaging-page .g-grid.-type-authors,
  body.seameco-resources-page .g-grid[data-seameco-resources-grid],
  body.seameco-programmes-page .g-grid[data-seameco-programmes-grid],
  body.seameco-packaging-page .g-grid[data-seameco-packaging-grid] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding-bottom: calc(1.2rem + env(safe-area-inset-bottom, 0px));
  }

  body.seameco-resources-page .g-grid.-type-authors .g-grid__item,
  body.seameco-programmes-page .g-grid.-type-authors .g-grid__item,
  body.seameco-packaging-page .g-grid.-type-authors .g-grid__item {
    position: relative !important;
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
    flex: none !important;
    transform: none !important;
  }

  body.seameco-resources-page .g-grid.-type-authors .g-grid__item.-clone,
  body.seameco-programmes-page .g-grid.-type-authors .g-grid__item.-clone,
  body.seameco-packaging-page .g-grid.-type-authors .g-grid__item.-clone {
    display: none !important;
  }

  body.seameco-resources-page .g-grid.-type-authors .g-grid__card,
  body.seameco-programmes-page .g-grid.-type-authors .g-grid__card,
  body.seameco-packaging-page .g-grid.-type-authors .g-grid__card {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  body.seameco-resources-page .g-grid.-type-authors .g-grid__card > div:not(.g-grid__info),
  body.seameco-programmes-page .g-grid.-type-authors .g-grid__card > div:not(.g-grid__info),
  body.seameco-packaging-page .g-grid.-type-authors .g-grid__card > div:not(.g-grid__info) {
    position: relative !important;
    padding-bottom: 125% !important;
    overflow: hidden;
  }

  /* Same Gufram img fix as collections — product-card full bleed cover */
  body.seameco-resources-page .g-grid.-type-authors .g-grid__card img,
  body.seameco-programmes-page .g-grid.-type-authors .g-grid__card img,
  body.seameco-packaging-page .g-grid.-type-authors .g-grid__card img,
  body.seameco-resources-page .g-grid[data-seameco-resources-grid] .g-grid__card img,
  body.seameco-programmes-page .g-grid[data-seameco-programmes-grid] .g-grid__card img,
  body.seameco-packaging-page .g-grid[data-seameco-packaging-grid] .g-grid__card img {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    translate: 0 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .seameco-grid-label {
    display: block;
    position: absolute;
    left: 0.45rem;
    bottom: 0.45rem;
    right: auto;
    z-index: 3;
    max-width: calc(100% - 0.9rem);
    margin: 0;
    padding: 0.22rem 0.4rem;
    border: 1px solid #111;
    background: #fff;
    color: #000;
    font-family: "The Future", Arial, sans-serif;
    font-size: 1.05em;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: normal;
    word-break: break-word;
    pointer-events: none;
    box-sizing: border-box;
  }

  /* Hide Gufram full-width info bars — we use the corner label instead */
  body.seameco-resources-page .g-grid.-type-authors .g-grid__info,
  body.seameco-programmes-page .g-grid.-type-authors .g-grid__info,
  body.seameco-packaging-page .g-grid.-type-authors .g-grid__info {
    display: none !important;
  }

  /* Authors → detail morph: full-bleed hero target on phone */
  body.seameco-pdp-transition[data-seameco-card-detail-kind="packaging"] .g-history__media,
  body.seameco-pdp-transition[data-seameco-card-detail-kind="resource"] .g-history__media,
  body.seameco-pdp-transition[data-seameco-card-detail-kind="programme"] .g-history__media,
  body.seameco-packaging-detail-page .g-history__media,
  body.seameco-resource-detail-page .g-history__media,
  body.seameco-programme-detail-page .g-history__media,
  body.seameco-packaging-detail-page .seameco-packaging-hero,
  body.seameco-resource-detail-page .seameco-resource-hero,
  body.seameco-programme-detail-page .seameco-programme-hero {
    width: 100% !important;
    max-width: none !important;
    left: 0 !important;
    right: 0 !important;
  }

  body.seameco-pdp-transition[data-seameco-card-detail-kind="packaging"] .g-history .g-sidebar,
  body.seameco-pdp-transition[data-seameco-card-detail-kind="resource"] .g-history .g-sidebar,
  body.seameco-pdp-transition[data-seameco-card-detail-kind="programme"] .g-history .g-sidebar {
    /* Keep sidebar out of morph plane on phone — hero is full width */
    width: 100% !important;
    max-width: none !important;
  }

  /* Sitewide mobile: keep Gufram header geometry — only tighten chrome that clips */
  .g-header__logo > span[data-page-header-name],
  .g-header__logo > span.-t-subtitle-1 {
    font-size: clamp(1.05rem, 3.6vw, 1.35rem) !important;
    max-width: min(42vw, 11rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* Back arrow — sit a little lower so it clears the header on mobile */
  .g-cta.-back,
  .g-cta.-only-icon.-back,
  body.-detail .g-cta.-back,
  body.seameco-collection-detail a.g-cta.-only-icon.-back,
  body.seameco-product-shell .g-container > .g-cta.-back {
    left: 1.2rem !important;
    top: 2.1rem !important;
    width: 4.4rem !important;
    max-width: 4.4rem !important;
    height: 4.4rem !important;
  }

  /* Packaging/resource/programme: relative in-flow back (not under header) */
  body.seameco-packaging-detail-page .g-cta.-back,
  body.seameco-packaging-detail-page .g-cta.-only-icon.-back,
  body.seameco-resource-detail-page .g-cta.-back,
  body.seameco-resource-detail-page .g-cta.-only-icon.-back,
  body.seameco-programme-detail-page .g-cta.-back,
  body.seameco-programme-detail-page .g-cta.-only-icon.-back {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    z-index: 10060 !important;
    pointer-events: auto !important;
    margin: 0.75rem 1rem 0 !important;
  }

  /* Start: keep icon-back removed on phone */
  body.seameco-start-page .g-container > .g-cta.-back,
  body.seameco-start-page .g-container > a[data-seameco-start-back],
  body.seameco-start-page a.g-cta.-only-icon.-back.-border {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }

  body.seameco-resource-detail-page .g-cta.-back,
  body.seameco-programme-detail-page .g-cta.-back {
    margin-top: 1.35rem !important;
  }

  .g-sidebar {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* Product + pack/resource/programme: exactly 16.5px L/R on mobile — parent only. */
  body.seameco-product-shell.-detail .g-sidebar,
  body.seameco-product-shell.-detail .g-pdp .g-sidebar {
    padding-left: 16.5px !important;
    padding-right: 16.5px !important;
  }

  body.seameco-packaging-detail-page .g-sidebar,
  body.seameco-packaging-detail-page .seameco-start-sidebar,
  body.seameco-resource-detail-page .g-sidebar,
  body.seameco-programme-detail-page .g-sidebar {
    padding-left: 16.5px !important;
    padding-right: 16.5px !important;
  }

  body.seameco-packaging-detail-page [data-seameco-packaging-flow],
  body.seameco-packaging-detail-page [data-seameco-history-sidebar],
  body.seameco-resource-detail-page [data-seameco-resource-sidebar],
  body.seameco-resource-detail-page [data-seameco-history-sidebar],
  body.seameco-programme-detail-page [data-seameco-programme-sidebar],
  body.seameco-programme-detail-page [data-seameco-history-sidebar] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 1.35rem !important;
    padding-bottom: calc(2.5rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.seameco-packaging-detail-page .g-sidebar,
  body.seameco-packaging-detail-page .seameco-start-sidebar {
    padding-top: 1.35rem !important;
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.seameco-start-page .seameco-proj__foot-row {
    flex-wrap: wrap;
    gap: 0.55rem;
  }

  body.seameco-start-page .seameco-proj__btn,
  body.seameco-packaging-detail-page .seameco-proj__btn,
  .seameco-proj-sidebar-host .seameco-proj__btn,
  .seameco-pdp-commerce .seameco-add-project,
  a.g-cta.seameco-add-project,
  button.g-cta.seameco-add-project {
    min-width: 0 !important;
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: 100%;
    padding-left: 0.65rem !important;
    padding-right: 0.65rem !important;
    white-space: nowrap !important;
    font-size: 13px !important;
  }

  /* Product CTAs always one row on mobile — equal share, 13px type */
  body.seameco-product-shell .seameco-pdp-commerce__stack,
  .seameco-pdp-commerce__stack {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0.4rem !important;
    width: 100% !important;
  }

  body.seameco-product-shell .seameco-pdp-commerce .g-cta,
  .seameco-pdp-commerce .g-cta,
  .seameco-pdp-commerce .seameco-request-sample,
  .seameco-pdp-commerce .seameco-add-project {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: 50% !important;
    max-width: none !important;
    font-size: 13px !important;
  }

  body.seameco-product-shell .seameco-pdp-commerce .g-cta span,
  .seameco-pdp-commerce .g-cta span {
    font-size: 13px !important;
  }

  body.seameco-start-page .seameco-proj__title {
    font-size: clamp(2rem, 8vw, 2.6rem) !important;
  }

  body.seameco-start-page .seameco-proj__grid,
  body.seameco-start-page .seameco-proj__pack-text {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
  }

  body.seameco-start-page .seameco-proj__tile {
    padding: 0.85rem 0.55rem;
    font-size: 1.15rem;
    min-height: 0;
  }

  .seameco-proj-sidebar-host {
    width: 100% !important;
    max-width: none !important;
    padding: 6.5rem 0.9rem 1.4rem !important;
  }

  /* Contact / about / services sidebars — less side padding */
  body.page-template-page-contact .g-sidebar,
  body.seameco-about-page .g-sidebar,
  body.seameco-services-page .g-sidebar {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .g-cta.-border > span,
  .g-cta.-dark > span {
    white-space: normal;
  }
}

/* Trade manufacturing workflow */
.seameco-trade-flow{
  list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem 0;align-items:flex-start;
}
.seameco-trade-flow li{
  position:relative;flex:1 1 22%;min-width:4.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;
  font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:#999;font-weight:600;
}
.seameco-trade-flow li:not(:last-child)::after{
  content:"";position:absolute;left:1rem;right:-.35rem;top:.42rem;height:1px;background:rgba(0,0,0,.12);
}
.seameco-trade-flow__dot{
  width:.85rem;height:.85rem;border-radius:50%;border:1.5px solid rgba(0,0,0,.2);background:#fff;position:relative;z-index:1;
}
.seameco-trade-flow li.is-done{color:#111}
.seameco-trade-flow li.is-done .seameco-trade-flow__dot{background:#111;border-color:#111}
.seameco-trade-flow li.is-current{color:#111}
.seameco-trade-flow li.is-current .seameco-trade-flow__dot{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.08)}
.seameco-trade-card__link--primary{
  background:#111;color:#fff!important;border-color:#111;padding:.45rem .85rem;
}
.seameco-trade-card__link--primary:hover{background:#333;border-color:#333}
.seameco-trade-quote-modal[hidden]{display:none!important}
.seameco-trade-quote-modal{
  position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:1.25rem;
}
.seameco-trade-quote-modal__backdrop{position:absolute;inset:0;background:rgba(12,14,18,.45)}
.seameco-trade-quote-modal__panel{
  position:relative;z-index:1;width:min(560px,100%);max-height:min(88vh,720px);overflow:auto;
  background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 24px 80px rgba(0,0,0,.22);
}
.seameco-trade-quote-modal__hd{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.35rem 1.5rem 1rem;border-bottom:1px solid rgba(0,0,0,.08);
}
.seameco-trade-quote-modal__eyebrow{margin:0 0 .25rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#777;font-weight:700}
.seameco-trade-quote-modal__hd h3{margin:0;font-size:1.35rem;letter-spacing:-.02em}
.seameco-trade-quote-modal__close{border:0;background:transparent;font-size:1.6rem;line-height: 1.2;cursor:pointer;color:#333;padding:.1rem .35rem}
.seameco-trade-quote-modal__body{padding:1.15rem 1.5rem 1.4rem}
.seameco-trade-quote-modal__status-row{margin-bottom:.85rem}
.seameco-trade-quote-modal__kv{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1.25rem;margin:1.1rem 0 0;padding:0}
.seameco-trade-quote-modal__kv dt{margin:0;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#777;font-weight:700}
.seameco-trade-quote-modal__kv dd{margin:.2rem 0 0;font-size:1rem;font-weight:600;color:#111}
.seameco-trade-quote-modal__msg{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid rgba(0,0,0,.08)}
.seameco-trade-quote-modal__msg h4{margin:0 0 .45rem;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#777}
.seameco-trade-quote-modal__msg p{margin:0;white-space:pre-wrap;line-height: 1.2;color:#222;font-size:.95rem}
.seameco-trade-quote-modal__foot{
  display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;padding:1rem 1.5rem 1.35rem;border-top:1px solid rgba(0,0,0,.08);background:#fafafa;
}
.seameco-trade-quote-modal__btn{
  border:1px solid rgba(0,0,0,.18);background:#fff;color:#111;padding:.65rem 1rem;font-size:.85rem;font-weight:650;cursor:pointer;
}
.seameco-trade-quote-modal__btn.-ghost{background:transparent}
.seameco-trade-quote-modal__btn.-accept{background:#111;color:#fff;border-color:#111}
.seameco-trade-quote-modal__btn.-decline{color:#7a1f1f;border-color:rgba(122,31,31,.35)}
.seameco-trade-quote-modal__btn:disabled{opacity:.45;cursor:not-allowed}
body.trade-quote-modal-open{overflow:hidden}
@media (max-width:640px){
  .seameco-trade-quote-modal__kv{grid-template-columns:1fr}
  .seameco-trade-flow li{flex:1 1 40%}
}

/* Trade chat name gate (compulsory) */
.seameco-trade-chat__namegate{padding:1.1rem 1.15rem 1.25rem;border-top:1px solid rgba(0,0,0,.08);background:#fafafa}
.seameco-trade-chat__namegate[hidden]{display:none!important}
.seameco-trade-chat__namegate-title{margin:0 0 .25rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.seameco-trade-chat__namegate-copy{margin:0 0 .75rem;font-size:.85rem;color:#555;line-height: 1.2}
.seameco-trade-chat__namegate-input{width:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.18);padding:.7rem .8rem;font-size:.95rem;margin-bottom:.65rem;background:#fff}
.seameco-trade-chat__namegate-btn{width:100%;border:0;background:#111;color:#fff;padding:.75rem 1rem;font-size:.9rem;font-weight:650;cursor:pointer}
.seameco-trade-chat__compose.is-name-locked{display:none!important}


/* Packaging / Resources / Programmes — Gufram authors: 4 per row on desktop */
@media (min-width: 1101px) {
  body.seameco-packaging-page .g-grid.-type-authors,
  body.seameco-resources-page .g-grid.-type-authors,
  body.seameco-programmes-page .g-grid.-type-authors,
  body.seameco-packaging-page .g-grid[data-seameco-packaging-grid],
  body.seameco-resources-page .g-grid[data-seameco-resources-grid],
  body.seameco-programmes-page .g-grid[data-seameco-programmes-grid] {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    min-height: 50vh;
  }
}

body.seameco-packaging-page .g-grid.-type-authors .g-grid__item,
body.seameco-resources-page .g-grid.-type-authors .g-grid__item,
body.seameco-programmes-page .g-grid.-type-authors .g-grid__item {
  position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  transform: none !important;
}

/* Packaging / resources / programmes back — always above header chrome */
body.seameco-packaging-detail-page a.g-cta.-back,
body.seameco-packaging-detail-page a.g-cta.-only-icon.-back,
body.seameco-resource-detail-page a.g-cta.-back,
body.seameco-resource-detail-page a.g-cta.-only-icon.-back,
body.seameco-programme-detail-page a.g-cta.-back,
body.seameco-programme-detail-page a.g-cta.-only-icon.-back {
  z-index: 10060 !important;
  pointer-events: auto !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
  body.seameco-packaging-page .g-grid.-type-authors,
  body.seameco-resources-page .g-grid.-type-authors,
  body.seameco-programmes-page .g-grid.-type-authors,
  body.seameco-packaging-page .g-grid[data-seameco-packaging-grid],
  body.seameco-resources-page .g-grid[data-seameco-resources-grid],
  body.seameco-programmes-page .g-grid[data-seameco-programmes-grid] {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
  }
}

@media (max-width: 767px) {
  body.seameco-packaging-page .g-grid.-type-authors,
  body.seameco-resources-page .g-grid.-type-authors,
  body.seameco-programmes-page .g-grid.-type-authors,
  body.seameco-packaging-page .g-grid[data-seameco-packaging-grid],
  body.seameco-resources-page .g-grid[data-seameco-resources-grid],
  body.seameco-programmes-page .g-grid[data-seameco-programmes-grid] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
  }

  /* Collections index — one tile per row on phone */
  .g-grid[data-seameco-collections-grid].g-grid,
  .g-grid[data-seameco-collections-grid]:not(.seameco-collections-grid--empty) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  /* Packaging / resource / programme back — above header hit target, SPA-clickable */
  body.seameco-packaging-detail-page .g-cta.-back,
  body.seameco-packaging-detail-page .g-cta.-only-icon.-back,
  body.seameco-resource-detail-page .g-cta.-back,
  body.seameco-resource-detail-page .g-cta.-only-icon.-back,
  body.seameco-programme-detail-page .g-cta.-back,
  body.seameco-programme-detail-page .g-cta.-only-icon.-back {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    z-index: 10060 !important;
    pointer-events: auto !important;
    margin: 0.75rem 1rem 0 !important;
    align-self: flex-start;
  }
}

/* Soft fade when detail pages refresh content — never hard blink */
/* Soft detail update — never blank card pages (resource / programme / packaging) */
body.seameco-detail-soft-update.seameco-resource-detail-page .g-sidebar,
body.seameco-detail-soft-update.seameco-programme-detail-page .g-sidebar,
body.seameco-detail-soft-update.seameco-packaging-detail-page .g-sidebar,
body.seameco-detail-soft-update.seameco-resource-detail-page .g-sidebar > div,
body.seameco-detail-soft-update.seameco-programme-detail-page .g-sidebar > div,
body.seameco-detail-soft-update.seameco-packaging-detail-page .g-sidebar > div,
body.seameco-detail-soft-update.seameco-resource-detail-page .g-sidebar__ul > li,
body.seameco-detail-soft-update.seameco-programme-detail-page .g-sidebar__ul > li,
body.seameco-detail-soft-update.seameco-packaging-detail-page .g-sidebar__ul > li,
body.seameco-detail-soft-update [data-seameco-packaging-flow],
body.seameco-detail-soft-update [data-seameco-resource-sidebar],
body.seameco-detail-soft-update [data-seameco-programme-sidebar],
body.seameco-detail-soft-update .seameco-proj,
body.seameco-detail-soft-update .seameco-packaging-hero,
body.seameco-detail-soft-update .seameco-resource-hero,
body.seameco-detail-soft-update .seameco-programme-hero,
body.seameco-detail-soft-update .g-history__media,
body.seameco-detail-soft-update [js-transition-target],
body.seameco-detail-soft-update[data-seameco-card-detail-kind="resource"] .g-sidebar,
body.seameco-detail-soft-update[data-seameco-card-detail-kind="programme"] .g-sidebar,
body.seameco-detail-soft-update[data-seameco-card-detail-kind="packaging"] .g-sidebar {
  animation: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
}

/* Card pages: never blank the incoming pjax container */
body.seameco-plain-authors-nav [data-pjax="container"],
body.seameco-plain-authors-nav .g-container,
body[data-seameco-card-detail-kind="resource"] [data-pjax="container"],
body[data-seameco-card-detail-kind="programme"] [data-pjax="container"],
body[data-seameco-card-detail-kind="packaging"] [data-pjax="container"],
body.seameco-resource-detail-page [data-pjax="container"],
body.seameco-programme-detail-page [data-pjax="container"],
body.seameco-packaging-detail-page [data-pjax="container"] {
  opacity: 1 !important;
  visibility: visible !important;
}

/* During plain authors leave: hide ONLY destination hero until settle — keep sidebar painted */
body.seameco-plain-authors-nav.-transition .g-history__media,
body.seameco-plain-authors-nav.-transition .seameco-resource-hero,
body.seameco-plain-authors-nav.-transition .seameco-programme-hero,
body.seameco-plain-authors-nav.-transition .seameco-packaging-hero,
body.seameco-plain-authors-nav.seameco-pdp-transition:not(.seameco-clone-landed) .g-history__media,
body.seameco-plain-authors-nav.seameco-pdp-transition:not(.seameco-clone-landed) .seameco-resource-hero,
body.seameco-plain-authors-nav.seameco-pdp-transition:not(.seameco-clone-landed) .seameco-programme-hero,
body.seameco-plain-authors-nav.seameco-pdp-transition:not(.seameco-clone-landed) .seameco-packaging-hero {
  opacity: 0 !important;
  visibility: hidden !important;
}
body.seameco-plain-authors-nav.-transition .g-sidebar,
body.seameco-plain-authors-nav.-transition [data-seameco-packaging-flow],
body.seameco-plain-authors-nav.-transition [data-seameco-resource-sidebar],
body.seameco-plain-authors-nav.-transition [data-seameco-programme-sidebar],
body.seameco-plain-authors-nav.seameco-pdp-transition .g-sidebar,
body.seameco-plain-authors-nav.seameco-pdp-transition [data-seameco-packaging-flow],
body.seameco-plain-authors-nav.seameco-pdp-transition [data-seameco-resource-sidebar],
body.seameco-plain-authors-nav.seameco-pdp-transition [data-seameco-programme-sidebar] {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
}

/* Mobile authors/pack/resource/programme: fade listing → fade detail in (no flying clone / double image) */
body.seameco-plain-authors-nav a.g-grid__card.-clone,
body.seameco-plain-authors-nav a.g-flow__card.-clone,
body.seameco-plain-authors-nav .seameco-clone-flight {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: none !important;
}
/* During leave: keep destination hero invisible (no double), listing soft-fades via sibling rules */
body.seameco-plain-authors-nav.-transition .g-history__media,
body.seameco-plain-authors-nav.-transition .seameco-resource-hero,
body.seameco-plain-authors-nav.-transition .seameco-programme-hero,
body.seameco-plain-authors-nav.-transition .seameco-packaging-hero,
body.seameco-plain-authors-nav.seameco-pdp-transition:not(.seameco-clone-landed) .g-history__media,
body.seameco-plain-authors-nav.seameco-pdp-transition:not(.seameco-clone-landed) .seameco-resource-hero,
body.seameco-plain-authors-nav.seameco-pdp-transition:not(.seameco-clone-landed) .seameco-programme-hero,
body.seameco-plain-authors-nav.seameco-pdp-transition:not(.seameco-clone-landed) .seameco-packaging-hero,
body.seameco-plain-authors-nav.-transition [js-transition-target],
body.seameco-plain-authors-nav.-transition [data-seameco-resource-image],
body.seameco-plain-authors-nav.-transition [data-seameco-programme-image],
body.seameco-plain-authors-nav.-transition [data-seameco-packaging-image] {
  opacity: 0 !important;
  visibility: hidden !important;
}
/* After leave / on settle: soft-fade destination in */
body.seameco-plain-authors-nav:not(.-transition) .g-history__media,
body.seameco-plain-authors-nav:not(.-transition) .seameco-resource-hero,
body.seameco-plain-authors-nav:not(.-transition) .seameco-programme-hero,
body.seameco-plain-authors-nav:not(.-transition) .seameco-packaging-hero,
body.seameco-plain-authors-nav.seameco-clone-landed .g-history__media,
body.seameco-plain-authors-nav.seameco-clone-landed .seameco-resource-hero,
body.seameco-plain-authors-nav.seameco-clone-landed .seameco-programme-hero,
body.seameco-plain-authors-nav.seameco-clone-landed .seameco-packaging-hero,
body.seameco-plain-authors-nav:not(.-transition) [js-transition-target],
body.seameco-plain-authors-nav:not(.-transition) [data-seameco-resource-image],
body.seameco-plain-authors-nav:not(.-transition) [data-seameco-programme-image],
body.seameco-plain-authors-nav:not(.-transition) [data-seameco-packaging-image],
body.seameco-plain-authors-nav:not(.-transition) .g-history__media img,
body.seameco-plain-authors-nav:not(.-transition) .seameco-resource-hero img,
body.seameco-plain-authors-nav:not(.-transition) .seameco-programme-hero img,
body.seameco-plain-authors-nav:not(.-transition) .seameco-packaging-hero img {
  opacity: 1 !important;
  visibility: visible !important;
  transition: opacity 0.42s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* ==== MOBILE TEXT INSET: exactly 16.5px L/R (beats Gufram 2.4rem / 1.6rem) ==== */
@media (max-width: 1023px) {
  body.seameco-resource-detail-page .g-sidebar,
  body.seameco-programme-detail-page .g-sidebar,
  body.seameco-packaging-detail-page .g-sidebar,
  body.seameco-packaging-detail-page .seameco-start-sidebar {
    padding: 1.35rem 16.5px calc(2.5rem + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
  }
  body.seameco-resource-detail-page [data-seameco-resource-sidebar],
  body.seameco-resource-detail-page [data-seameco-history-sidebar],
  body.seameco-programme-detail-page [data-seameco-programme-sidebar],
  body.seameco-programme-detail-page [data-seameco-history-sidebar],
  body.seameco-packaging-detail-page [data-seameco-packaging-flow],
  body.seameco-packaging-detail-page [data-seameco-history-sidebar],
  body.seameco-resource-detail-page .g-sidebar__text,
  body.seameco-programme-detail-page .g-sidebar__text,
  body.seameco-packaging-detail-page .g-sidebar__text,
  body.seameco-resource-detail-page .g-sidebar__ul,
  body.seameco-programme-detail-page .g-sidebar__ul,
  body.seameco-packaging-detail-page .g-sidebar__ul,
  body.seameco-resource-detail-page .g-sidebar__ul > li,
  body.seameco-programme-detail-page .g-sidebar__ul > li,
  body.seameco-packaging-detail-page .g-sidebar__ul > li,
  body.seameco-packaging-detail-page .seameco-proj,
  body.seameco-packaging-detail-page .seameco-proj--sidebar,
  body.seameco-packaging-detail-page .seameco-proj__head,
  body.seameco-packaging-detail-page .seameco-proj__body,
  body.seameco-packaging-detail-page .seameco-proj__foot,
  body.seameco-packaging-detail-page [data-seameco-pack-body],
  body.seameco-resource-detail-page .seameco-writeup-body,
  body.seameco-programme-detail-page .seameco-writeup-body,
  body.seameco-resource-detail-page .seameco-history-writeup,
  body.seameco-programme-detail-page .seameco-history-writeup,
  body.seameco-resource-detail-page .seameco-resource-writeup,
  body.seameco-programme-detail-page .seameco-programme-writeup {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media (min-width: 1024px) {
  body.seameco-packaging-detail-page .g-sidebar,
  body.seameco-packaging-detail-page .seameco-start-sidebar,
  body.seameco-resource-detail-page .g-sidebar,
  body.seameco-programme-detail-page .g-sidebar {
    padding-left: 2.45rem !important;
    padding-right: 2.45rem !important;
  }
  body.seameco-resource-detail-page [data-seameco-resource-sidebar],
  body.seameco-resource-detail-page [data-seameco-history-sidebar],
  body.seameco-programme-detail-page [data-seameco-programme-sidebar],
  body.seameco-programme-detail-page [data-seameco-history-sidebar],
  body.seameco-packaging-detail-page [data-seameco-packaging-flow],
  body.seameco-packaging-detail-page [data-seameco-history-sidebar] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Desktop sidebars — 2.45rem L/R site-wide */
@media (min-width: 1024px) {
  body.-detail .g-sidebar,
  body.seameco-product-shell.-detail .g-sidebar,
  body.seameco-product-shell.-detail .g-pdp .g-sidebar,
  body.post-type-archive-history .g-sidebar,
  body.seameco-services-page .g-sidebar,
  body.page-template-page-contact .g-sidebar,
  body.seameco-about-page .g-sidebar,
  body.seameco-packaging-detail-page .g-sidebar,
  body.seameco-packaging-detail-page .seameco-start-sidebar,
  body.seameco-resource-detail-page .g-sidebar,
  body.seameco-programme-detail-page .g-sidebar,
  body.seameco-start-page .g-sidebar,
  body.seameco-start-page .seameco-start-sidebar {
    padding-left: 2.45rem !important;
    padding-right: 2.45rem !important;
    box-sizing: border-box !important;
  }
}

/* Turnstile — full width on contact forms (desktop + mobile) */
.seameco-turnstile-wrap,
.seameco-contact-form .cf-turnstile {
  display: block;
  width: 100% !important;
  max-width: 100%;
  margin: 12px 0 10px;
  min-height: 65px;
  box-sizing: border-box;
  overflow: hidden;
}
.seameco-turnstile-wrap > div,
.seameco-contact-form .cf-turnstile > div {
  width: 100% !important;
  max-width: 100% !important;
}
.seameco-turnstile-wrap iframe,
.seameco-contact-form .cf-turnstile iframe {
  width: 100% !important;
  max-width: 100% !important;
}
@media (max-width: 640px) {
  .seameco-turnstile-wrap,
  .seameco-contact-form .cf-turnstile {
    min-height: 70px;
    margin: 10px 0 12px;
  }
  .seameco-contact-form .seameco-trade-field input,
  .seameco-contact-form .seameco-trade-field textarea {
    font-size: 16px; /* avoid iOS zoom */
  }
}
