/*
 * Filament design system (owner-approved redesign, 22 Oct 2026).
 * Loaded last on every filament page (root, PLA+/PETG, 1/3 kg, spools, products) and on the volunteer page,
 * so it is the single source of truth for the section. Presentation only: URLs, H1, products, prices, stock and
 * SEO text are owned elsewhere.
 *
 * System rules
 *  1. One accent per page: PLA+ cobalt, PETG turquoise, root/spools ink (body.em26-fil--pla / --petg).
 *  2. A coloured top stripe marks identity only: material cards and the product gallery/summary. Nothing else.
 *  3. Magenta means money and urgency only: add to cart, sale. Saffron marks colour guidance and deep panels.
 *  4. Three surfaces: paper (page), surface (cards, panels), deep ink (palette, guides, picker answer).
 *  5. One control language: 44 px pills for filters, a segmented control for weight, tabs for navigation.
 *  6. One type scale for section headings; one card radius, one shadow pair, one gap scale.
 */

/* ===================== tokens ===================== */
body.em26-category--filament,
body.em26-product--filament,
body.page-id-20193 {
  --fl-ink: var(--em26-ink, #16353d);
  --fl-paper: var(--em26-paper, #f7f4ec);
  --fl-surface: var(--em26-surface, #fffefa);
  --fl-sunk: #efebe1;
  --fl-muted: var(--em26-muted, #5d7075);
  --fl-line: rgba(22, 53, 61, 0.14);
  --fl-line-strong: rgba(22, 53, 61, 0.3);
  --fl-cobalt: var(--em26-cobalt, #1d5dbb);
  --fl-turq: var(--em26-turquoise, #129a9a);
  --fl-turq-ink: #0b6e6e;
  --fl-saffron: var(--em26-saffron, #f2b632);
  --fl-magenta: var(--em26-magenta, #b31368);
  --fl-deep: #16353d;
  --fl-deep-2: #1f4752;
  --fl-on-deep: #f7f4ec;
  --fl-on-deep-muted: rgba(247, 244, 236, 0.74);
  --fl-on-deep-line: rgba(247, 244, 236, 0.22);
  --fl-accent: var(--fl-ink);
  --fl-accent-ink: var(--fl-ink);
  --fl-accent-soft: #eef0ee;
  --fl-accent-line: rgba(22, 53, 61, 0.4);
  --fl-r-card: 0.875rem;
  --fl-r-control: 0.625rem;
  --fl-e1: 0 1px 2px rgba(22, 53, 61, 0.05), 0 10px 28px rgba(22, 53, 61, 0.07);
  --fl-e2: 0 2px 4px rgba(22, 53, 61, 0.06), 0 22px 44px rgba(22, 53, 61, 0.13);
  --fl-gap: 1.25rem;
  --fl-section: clamp(3rem, 6vw, 5rem);
  --fl-mono: var(--em26-font-mono, "IBM Plex Mono", ui-monospace, monospace);
  --fl-h2: clamp(1.85rem, 1.35rem + 1.6vw, 2.75rem);
}

body.em26-fil--pla {
  --fl-accent: var(--fl-cobalt);
  --fl-accent-ink: var(--fl-cobalt);
  --fl-accent-soft: #edf2fa;
  --fl-accent-line: rgba(29, 93, 187, 0.45);
}

body.em26-fil--petg {
  --fl-accent: var(--fl-turq);
  --fl-accent-ink: var(--fl-turq-ink);
  --fl-accent-soft: #e9f5f4;
  --fl-accent-line: rgba(18, 154, 154, 0.5);
}

body.em26-category--filament,
body.em26-product--filament { overflow-x: clip; }

body.em26-category--filament :focus-visible,
body.em26-product--filament :focus-visible,
body.page-id-20193 :focus-visible {
  outline: 3px solid var(--fl-accent-ink);
  outline-offset: 3px;
}

/* ===================== type scale ===================== */
body.em26-category--filament .em26-section-heading { max-width: 46rem; }

body.em26-category--filament .em26-section-heading h2,
body.em26-category--filament .em26-filament-root .em26-section-heading h2,
body.em26-category--filament .em26-filament-packaging .em26-section-heading h2,
body.em26-category--filament .em26-filament-guides .em26-section-heading h2 {
  max-width: 22ch;
  margin: 0.5rem 0 0;
  font-size: var(--fl-h2);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

body.em26-category--filament .em26-section-heading > p:not(.em26-eyebrow) {
  max-width: 62ch;
  margin: 0.85rem 0 0;
  color: var(--fl-muted);
  font-size: 1.02rem;
  line-height: 1.6;
}

body.em26-category--filament .em26-eyebrow::before,
body.em26-product--filament .em26-eyebrow::before { background: var(--fl-accent); }

/* ===================== hero ===================== */
body.em26-category--filament .em26-category-hero.em26-fil-hero {
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 18rem);
  align-items: center;
  column-gap: clamp(2rem, 5vw, 4.5rem);
  row-gap: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.em26-fil-hero__main { min-width: 0; }
.em26-fil-hero__main h1 { text-wrap: balance; }
.em26-fil-hero__main .em26-category-hero__lead { max-width: 40rem; }

.em26-fil-hero__brand {
  align-self: center;
  padding-left: clamp(1.5rem, 4vw, 3rem);
  border-left: 1px solid var(--fl-line-strong);
}

.em26-fil-hero__brand img { display: block; width: 100%; height: auto; }

.em26-fil-hero__edge { grid-column: 1 / -1; margin-top: 2.25rem; }

.em26-fil-edge {
  display: flex;
  height: 2.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  box-shadow: 0 0 0 1px rgba(22, 53, 61, 0.16), 0 10px 24px rgba(22, 53, 61, 0.1);
}

.em26-fil-edge i {
  flex: 1 1 0;
  min-width: 0;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0) 45%, rgba(0, 0, 0, 0.16));
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.22);
}

.em26-fil-edge i.is-off { opacity: 1; } /* real colours only; stock is in the caption */
.em26-fil-edge i.is-clear { background-color: #e8edf0; }
.em26-fil-edge--sm { height: 1.25rem; border-radius: 0.375rem; box-shadow: 0 0 0 1px rgba(22, 53, 61, 0.14); }

.em26-fil-edge-cap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.35rem 2rem;
  margin: 0.7rem 0 0;
  color: var(--fl-muted);
  font-family: var(--fl-mono);
  max-width: none;
  font-size: 0.74rem;
  line-height: 1.5;
}

.em26-fil-edge-cap span:last-child { text-align: right; }

.em26-fil-hero__facts {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 1.75rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--fl-line);
  border-bottom: 3px solid var(--fl-accent);
}

.em26-fil-hero__facts li {
  display: block;
  min-width: 0;
  padding: 1.15rem 1.1rem;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.35;
}

.em26-fil-hero__facts li:first-child { padding-left: 0; }
.em26-fil-hero__facts li + li { border-left: 1px solid var(--fl-line); }

.em26-fil-hero__facts small {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--fl-muted);
  font-family: var(--fl-mono);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* links keep the text baseline; the 44 px hit area is padding that overlaps the cell */
.em26-fil-hero__facts a {
  display: inline;
  padding-block: 0.75rem;
  color: var(--fl-ink);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.em26-fil-hero__facts a:hover { color: var(--fl-accent-ink); }

@media (max-width: 47.99rem) {
  body.em26-category--filament .em26-category-hero.em26-fil-hero { grid-template-columns: minmax(0, 1fr); }
  .em26-fil-hero__brand { order: -1; width: 9.5rem; margin-bottom: 1.25rem; padding-left: 0; border-left: 0; }
  body.em26-category--filament:not(.term-698) .em26-fil-hero__brand { width: 7rem; margin-bottom: 1rem; }
  .em26-fil-hero__edge { margin-top: 1.75rem; }
  .em26-fil-edge { height: 2.25rem; }
  .em26-fil-edge-cap { grid-template-columns: minmax(0, 1fr); }
  .em26-fil-edge-cap span:last-child { text-align: left; }
  .em26-fil-hero__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .em26-fil-hero__facts li { padding: 0.9rem 0.9rem; }
  .em26-fil-hero__facts li:nth-child(odd) { padding-left: 0; border-left: 0; }
  .em26-fil-hero__facts li:nth-child(n + 3) { border-top: 1px solid var(--fl-line); }
}

/* ===================== section navigation: tabs ===================== */
body.em26-category--filament .em26-filament-family-nav {
  display: flex;
  gap: 0.25rem;
  margin: 2rem 0 1.75rem;
  padding: 0;
  overflow-x: auto;
  border-bottom: 1px solid var(--fl-line-strong);
  scrollbar-width: none;
}

body.em26-category--filament .em26-filament-family-nav::-webkit-scrollbar { display: none; }

body.em26-category--filament .em26-filament-family-nav a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  padding: 0 1rem;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--fl-muted);
  font-size: 0.9rem;
  font-weight: 750;
  text-decoration: none;
  box-shadow: inset 0 -3px 0 transparent;
}

body.em26-category--filament .em26-filament-family-nav a:hover { background: none; color: var(--fl-ink); box-shadow: inset 0 -3px 0 var(--fl-line-strong); }
body.em26-category--filament .em26-filament-family-nav a[aria-current="page"] { background: none; color: var(--fl-ink); box-shadow: inset 0 -3px 0 var(--fl-accent); }
body.em26-category--filament .em26-filament-family-nav a:nth-last-child(2) { margin-left: auto; }
body.em26-category--filament .em26-filament-family-nav a:nth-last-child(-n + 2) { color: var(--fl-accent-ink); }

/* ===================== shared controls ===================== */
.em26-fil-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.55rem 1.1rem;
  border: 1px solid var(--fl-ink);
  border-radius: var(--fl-r-control);
  background: var(--fl-ink);
  color: var(--fl-paper);
  font-size: 0.9rem;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.em26-fil-btn:hover { border-color: var(--fl-accent-ink); background: var(--fl-accent-ink); color: #fff; }
.em26-fil-btn--ghost { border-color: var(--fl-line-strong); background: var(--fl-surface); color: var(--fl-ink); }
.em26-fil-btn--ghost:hover { border-color: var(--fl-accent-ink); background: var(--fl-surface); color: var(--fl-accent-ink); }

body.em26-category--filament .em26-fil-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0.4rem 0.95rem;
  border: 1px solid var(--fl-line-strong);
  border-radius: 999px;
  background: var(--fl-surface);
  color: var(--fl-ink);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 750;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

body.em26-category--filament .em26-fil-chip:hover { border-color: var(--fl-ink); }

body.em26-category--filament .em26-fil-chip i {
  display: inline-grid;
  place-items: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: var(--fl-sunk);
  color: var(--fl-ink);
  font-family: var(--fl-mono);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 600;
}

body.em26-category--filament .em26-fil-chip[aria-pressed="true"] { border-color: var(--fl-ink); background: var(--fl-ink); color: var(--fl-paper); }
body.em26-category--filament .em26-fil-chip[aria-pressed="true"] i { background: rgba(255, 255, 255, 0.2); color: inherit; }

/* panels: filters on listings and on the palette share one shape */
body.em26-category--filament .em26-fil-filters,
.em26-fil-palette__filters {
  display: grid;
  gap: 0.9rem;
  margin: 0 0 1.25rem;
  padding: 1.25rem 1.4rem;
  border: 1px solid var(--fl-line);
  border-radius: var(--fl-r-card);
  background: var(--fl-surface);
  box-shadow: var(--fl-e1);
}

body.em26-category--filament .em26-fil-filters__top { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; }
body.em26-category--filament .em26-fil-filters__top > .em26-fil-wtabs { margin: 0; }
body.em26-category--filament .em26-fil-filters__meta { display: flex; align-items: center; gap: 0.25rem 0.75rem; margin-left: auto; }
body.em26-category--filament .em26-fil-filters__search { position: relative; display: grid; flex: 1 1 16rem; max-width: 26rem; margin: 0; }
/* the placeholder already says what to type; the label stays for screen readers, so the field lines up with the first row of chips */
body.em26-category--filament .em26-fil-filters__search span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

body.em26-category--filament .em26-fil-filters__search input {
  width: 100%;
  min-height: 2.75rem;
  padding: 0.5rem 0.95rem;
  border: 1px solid var(--fl-line-strong);
  border-radius: 999px;
  background: var(--fl-paper);
  color: var(--fl-ink);
  font: inherit;
  font-size: 0.92rem;
}

body.em26-category--filament .em26-fil-filters__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; padding-top: 1rem; border-top: 1px solid var(--fl-line); }
body.em26-category--filament .em26-fil-filters__reset { min-height: 2.75rem; padding: 0 0.6rem; border: 0; background: none; color: var(--fl-accent-ink); font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
body.em26-category--filament .em26-fil-filters__status { margin: 0; color: var(--fl-muted); font-size: 0.85rem; }

body.em26-category--filament .em26-fil-filters__legend {
  max-width: none;
  margin: 0;
  padding-top: 0;
  border-top: 0;
  color: var(--fl-muted);
  font-size: 0.85rem;
}

body.em26-category--filament .em26-fil-filters__legend span { color: #b8860b; }

body.em26-category--filament .woocommerce-result-count { margin: 0 0 1rem; color: var(--fl-muted); font-size: 0.875rem; line-height: 2.75rem; }
body.em26-category--filament .woocommerce-ordering { margin: 0 0 1.25rem; }
/* the filter panel already shows the count; WooCommerce's own line would say the same thing twice */
body.em26-category--filament .em26-fil-filters ~ .woocommerce-result-count { display: none; }

body.em26-category--filament .woocommerce-ordering select {
  min-height: 2.75rem;
  padding: 0.5rem 2.5rem 0.5rem 1rem;
  border: 1px solid var(--fl-line-strong);
  border-radius: 999px;
  background-color: var(--fl-surface);
  color: var(--fl-ink);
  font-size: 0.9rem;
  font-weight: 700;
}

@media (max-width: 47.99rem) {
  body.em26-category--filament .em26-fil-filters { grid-template-columns: minmax(0, 1fr); padding: 1rem; }
  body.em26-category--filament .em26-fil-filters__search { flex-basis: 100%; max-width: none; }
  body.em26-category--filament .em26-fil-filters__top > .em26-fil-wtabs { display: flex; width: 100%; }
  body.em26-category--filament .em26-fil-filters__top > .em26-fil-wtabs a { flex: 1 1 0; justify-content: center; }
  body.em26-category--filament .em26-fil-filters__meta { width: 100%; margin-left: 0; justify-content: space-between; }
  /* chips scroll sideways on phones instead of stacking five rows above the products */
  body.em26-category--filament .em26-fil-filters > *,
  body.em26-category--filament .em26-fil-filters__top > * { min-width: 0; }
  body.em26-category--filament .em26-fil-filters__chips { flex-wrap: nowrap; width: calc(100% + 2rem); margin-inline: -1rem; padding: 0.85rem 1rem 0.15rem; overflow-x: auto; scrollbar-width: none; }
  body.em26-category--filament .em26-fil-filters__chips::-webkit-scrollbar { display: none; }
  body.em26-category--filament .em26-fil-filters__chips .em26-fil-chip { flex: 0 0 auto; }
}

/* ===================== weight switch on 1 / 3 kg listings: segmented control ===================== */
.em26-fil-wtabs {
  display: inline-flex;
  gap: 0.25rem;
  margin: 0 0 1rem;
  padding: 0.25rem;
  border: 1px solid var(--fl-line);
  border-radius: 999px;
  background: var(--fl-sunk);
}

.em26-fil-wtabs a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0 1.25rem;
  border: 0;
  border-radius: 999px;
  background: none;
  color: var(--fl-muted);
  font-weight: 800;
  text-decoration: none;
}

.em26-fil-wtabs a:hover { color: var(--fl-ink); }
.em26-fil-wtabs a[aria-current="page"] { background: var(--fl-surface); color: var(--fl-ink); box-shadow: 0 1px 2px rgba(22, 53, 61, 0.12), 0 4px 10px rgba(22, 53, 61, 0.08); }
.em26-fil-wtabs small { color: var(--fl-muted); font-family: var(--fl-mono); font-size: 0.75rem; font-weight: 600; }

/* ===================== cards ===================== */
/* material cards (root) */
.em26-fil-materials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--fl-gap); margin-top: 1.75rem; }

.em26-fil-material {
  display: grid;
  gap: 1rem;
  align-content: start;
  padding: 1.6rem;
  border: 1px solid var(--fl-line);
  border-top: 4px solid var(--fl-cobalt);
  border-radius: var(--fl-r-card);
  background: var(--fl-surface);
  box-shadow: var(--fl-e1);
}

.em26-fil-material--petg { border-top-color: var(--fl-turq); }
.em26-fil-material__top { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.em26-fil-material h3 { margin: 0; font-size: clamp(1.75rem, 1.4rem + 1vw, 2.3rem); font-weight: 800; line-height: 1; letter-spacing: -0.03em; }
.em26-fil-material h3 a { display: inline-flex; align-items: center; min-height: 2.75rem; color: inherit; text-decoration: none; }
.em26-fil-material h3 a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.em26-fil-material__from { color: var(--fl-muted); font-size: 0.9rem; font-weight: 700; white-space: nowrap; }
.em26-fil-material p { margin: 0; color: var(--fl-muted); line-height: 1.55; }
.em26-fil-material__facts { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.em26-fil-material__facts li { padding: 0.28rem 0.7rem; border-radius: 999px; background: var(--fl-sunk); font-size: 0.78rem; font-weight: 750; }
.em26-fil-material--pla .em26-fil-material__facts li { background: #edf2fa; }
.em26-fil-material--petg .em26-fil-material__facts li { background: #e9f5f4; }
.em26-fil-material .em26-fil-edge-cap { grid-template-columns: minmax(0, 1fr); margin: -0.35rem 0 0; font-family: inherit; font-size: 0.82rem; }
.em26-fil-edge-cap--single span:last-child { text-align: left; }
.em26-fil-material__actions { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 0.5rem; margin-top: 0.25rem; }
.em26-fil-material--pla .em26-fil-btn:not(.em26-fil-btn--ghost):hover { border-color: var(--fl-cobalt); background: var(--fl-cobalt); }
.em26-fil-material--petg .em26-fil-btn:not(.em26-fil-btn--ghost):hover { border-color: var(--fl-turq-ink); background: var(--fl-turq-ink); }

.em26-fil-hint { max-width: 46rem; margin: 1.25rem 0 0; color: var(--fl-muted); line-height: 1.6; }
.em26-fil-hint strong { color: var(--fl-ink); }

/* weight cards (PLA+ / PETG) */
.em26-fil-weights { padding-top: 0.5rem; }
.em26-fil-weights__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--fl-gap); margin-top: 1.25rem; }

.em26-fil-weight {
  position: relative;
  display: grid;
  gap: 0.3rem;
  align-content: start;
  min-height: 7rem;
  padding: 1.3rem 1.4rem;
  border: 1px solid var(--fl-line);
  border-radius: var(--fl-r-card);
  background: var(--fl-surface);
  box-shadow: var(--fl-e1);
  color: var(--fl-ink);
  text-decoration: none;
  transition: box-shadow 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.em26-fil-weight:hover { border-color: var(--fl-accent-line); box-shadow: var(--fl-e2); transform: translateY(-2px); }
.em26-fil-weight b { font-size: 1.75rem; font-weight: 800; letter-spacing: -0.03em; }
.em26-fil-weight span { color: var(--fl-muted); font-size: 0.92rem; }
.em26-fil-weight i { position: absolute; top: 1.1rem; right: 1.2rem; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--fl-accent-soft); color: var(--fl-accent-ink); font-style: normal; font-weight: 800; }
.em26-fil-weight--accessory { background: var(--fl-sunk); box-shadow: none; }
.em26-fil-weight--accessory b { font-size: 1.2rem; letter-spacing: -0.01em; }

/* catalogue product cards */
body.em26-category--filament ul.products:not(:has(> li.product-category)) { gap: var(--fl-gap) !important; }

body.em26-category--filament li.product:not(.product-category) {
  border: 1px solid var(--fl-line);
  border-radius: var(--fl-r-card);
  background: var(--fl-surface);
  box-shadow: var(--fl-e1);
}

body.em26-category--filament li.product:not(.product-category):hover { border-color: var(--fl-accent-line); box-shadow: var(--fl-e2); transform: translateY(-2px); }
body.em26-category--filament li.product:not(.product-category) .woocommerce-loop-product__title { min-height: 0; padding: 1rem 1.1rem 0.35rem !important; font-size: 1rem !important; font-weight: 800; letter-spacing: -0.01em; }
body.em26-category--filament li.product:not(.product-category) .star-rating { margin: 0.1rem 1.1rem 0.25rem !important; }
body.em26-category--filament li.product:not(.product-category) .price { padding: 0.6rem 1.1rem 0.9rem !important; font-size: 1.05rem !important; }
body.em26-category--filament li.product:not(.product-category) a.button { margin: 0 1.1rem 1.1rem !important; border-radius: var(--fl-r-control) !important; }
body.em26-category--filament li.product:not(.product-category) a.button:hover { border-color: var(--fl-accent-ink) !important; background: var(--fl-accent-ink) !important; }

.em26-fil-card-ref {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.15rem 1.1rem 0;
  color: var(--fl-muted);
  font-family: var(--fl-mono);
  font-size: 0.72rem;
  line-height: 1.4;
}

.em26-fil-card-ref i { flex: 0 0 auto; width: 1.25rem; height: 0.75rem; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(22, 53, 61, 0.2); }
.em26-fil-card-ref i.is-clear { background: repeating-conic-gradient(#e8edf0 0 25%, #fff 0 50%) 0 0 / 6px 6px; }

.em26-fil-fmt {
  display: grid;
  gap: 0.25rem;
  margin: 0.7rem 1.1rem 0;
  padding-top: 0.6rem;
  border-top: 1px dashed var(--fl-line-strong);
  font-size: 0.8rem;
  line-height: 1.35;
}

.em26-fil-fmt__row { display: flex; justify-content: space-between; gap: 0.5rem; }
.em26-fil-fmt__row > span:first-child { color: var(--fl-ink); }
.em26-fil-fmt__row > span:last-child { flex: 0 0 auto; font-weight: 800; }
.em26-fil-fmt__row.is-in > span:last-child { color: var(--fl-turq-ink); }
.em26-fil-fmt__row.is-out > span:first-child,
.em26-fil-fmt__row.is-out > span:last-child { color: var(--fl-muted); font-weight: 500; }
.em26-fil-fmt__row small { display: inline-block; margin-left: 0.35rem; padding: 0 0.35rem; border: 1px solid var(--fl-line-strong); border-radius: 3px; color: var(--fl-muted); font-family: var(--fl-mono); font-size: 0.62rem; vertical-align: 1px; }

/* one vertical rhythm in every card (title, shade, rating, formats are siblings of the photo link inside li):
   photo, title, shade, rating, formats, then price and button on a shared baseline */
body.em26-category--filament ul.products li.product:not(.product-category) > .woocommerce-loop-product__title { order: 1; }
body.em26-category--filament ul.products li.product:not(.product-category) > .em26-fil-card-ref { order: 2; }
body.em26-category--filament ul.products li.product:not(.product-category) > .star-rating { order: 3; }
body.em26-category--filament ul.products li.product:not(.product-category) > .em26-fil-fmt { order: 4; }
body.em26-category--filament ul.products li.product:not(.product-category) > .price { order: 5; margin-top: auto !important; }
body.em26-category--filament ul.products li.product:not(.product-category) > a.button { order: 6; }
body.em26-category--filament ul.products li.product:not(.product-category) > :not(.woocommerce-loop-product__title):not(.em26-fil-card-ref):not(.star-rating):not(.em26-fil-fmt):not(.price):not(.button) { order: 0; }

/* out of stock: the primary and the hover photo are stacked, so opacity mixed them into a ghost image.
   Desaturate instead of fading; the photo stays solid and the hover photo keeps working. */
body.em26-category--filament ul.products li.product.outofstock:not(.product-category) img { filter: none; } /* colour stays true when out of stock */
body.em26-category--filament ul.products li.product.outofstock:not(.product-category) img:not(.secondary-image) { opacity: 1 !important; }
body.em26-category--filament ul.products li.product.outofstock:not(.product-category) img.secondary-image { opacity: 0 !important; }
body.em26-category--filament ul.products li.product.outofstock:not(.product-category):hover img.secondary-image { opacity: 1 !important; }
html body.em26-product--filament div.product :is(.related, .upsells) li.product.outofstock img:not(.secondary-image) { opacity: 1 !important; filter: none; }

/* refill star and sale: never both (owner decision 22 Oct) */
body.em26-category--filament li.product.sale .sky-product-badges,
body.em26-category--filament li.product.sale .em26-fil-badges { display: none; }
body.em26-category--filament ul.products li.product.sale:not(.product-category) .onsale { top: 0.6rem !important; right: auto !important; left: 0.6rem !important; }

@media (max-width: 47.99rem) {
  body.em26-category--filament li.product:not(.product-category) .woocommerce-loop-product__title { padding: 0.8rem 0.75rem 0.3rem !important; font-size: 0.88rem !important; }
  .em26-fil-card-ref { margin-inline: 0.75rem; font-size: 0.66rem; }
  .em26-fil-fmt { margin-inline: 0.75rem; font-size: 0.72rem; }
  body.em26-category--filament li.product:not(.product-category) .star-rating { margin-inline: 0.75rem !important; }
  body.em26-category--filament li.product:not(.product-category) .price { padding: 0.5rem 0.75rem 0.75rem !important; font-size: 0.95rem !important; }
  body.em26-category--filament li.product:not(.product-category) a.button { margin: 0 0.75rem 0.75rem !important; }
}

/* ===================== root: spool picker ===================== */
body.em26-category--filament .em26-filament-root.em26-fil-root { padding-bottom: 0; }
.em26-fil-picker { margin-top: var(--fl-section); }

.em26-fil-picker__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: var(--fl-gap);
  margin-top: 1.75rem;
  padding: 1.4rem;
  border: 1px solid var(--fl-line);
  border-radius: var(--fl-r-card);
  background: var(--fl-surface);
  box-shadow: var(--fl-e1);
}

.em26-fil-picker fieldset { display: grid; gap: 0.5rem; min-width: 0; margin: 0; padding: 0; border: 0; }

.em26-fil-opt {
  display: grid;
  grid-template-columns: 1.25rem 1fr;
  align-items: center;
  gap: 0.15rem 0.85rem;
  min-height: 3.5rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--fl-line);
  border-radius: var(--fl-r-control);
  background: var(--fl-surface);
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease;
}

.em26-fil-opt:hover { border-color: var(--fl-line-strong); }
.em26-fil-opt input { width: 1.15rem; height: 1.15rem; margin: 0; accent-color: var(--fl-ink); }
.em26-fil-opt b { font-size: 0.98rem; }
.em26-fil-opt small { grid-column: 2; color: var(--fl-muted); font-size: 0.82rem; line-height: 1.35; }
.em26-fil-opt:has(input:checked) { border-color: var(--fl-ink); background: var(--fl-paper); box-shadow: inset 4px 0 0 var(--fl-ink); }
.em26-fil-opt:has(input:focus-visible) { outline: 3px solid var(--fl-cobalt); outline-offset: 2px; }

.em26-fil-answer {
  display: none;
  gap: 0.85rem;
  align-content: start;
  padding: 1.5rem;
  border-radius: var(--fl-r-control);
  background: var(--fl-deep);
  color: var(--fl-on-deep);
}

.em26-fil-answer--none { display: grid; }
.em26-fil-picker__body:has(input:checked:not([value="none"])) .em26-fil-answer--none { display: none; }
.em26-fil-picker__body:has(input[value="bambu"]:checked) .em26-fil-answer--bambu,
.em26-fil-picker__body:has(input[value="v3"]:checked) .em26-fil-answer--v3,
.em26-fil-picker__body:has(input[value="v2"]:checked) .em26-fil-answer--v2 { display: grid; }

.em26-fil-answer .em26-eyebrow { color: var(--fl-saffron); }
body.em26-category--filament .em26-fil-answer .em26-eyebrow::before { background: var(--fl-saffron); }
.em26-fil-answer h3 { margin: 0; font-size: 1.5rem; font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; }
.em26-fil-answer p { margin: 0; color: var(--fl-on-deep-muted); font-size: 0.97rem; line-height: 1.55; }
.em26-fil-answer ul { display: grid; gap: 0.4rem; margin: 0; padding: 0; list-style: none; font-size: 0.92rem; }
.em26-fil-answer li { display: flex; gap: 0.55rem; }
.em26-fil-answer li::before { content: "→"; color: var(--fl-saffron); font-weight: 800; }
.em26-fil-answer__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.25rem; }
.em26-fil-answer .em26-fil-btn { border-color: var(--fl-on-deep); background: var(--fl-on-deep); color: var(--fl-ink); }
.em26-fil-answer .em26-fil-btn:hover { border-color: var(--fl-saffron); background: var(--fl-saffron); color: var(--fl-ink); }
.em26-fil-answer .em26-fil-btn--ghost { border-color: var(--fl-on-deep-line); background: transparent; color: var(--fl-on-deep); }
.em26-fil-answer .em26-fil-btn--ghost:hover { border-color: var(--fl-on-deep); background: transparent; color: var(--fl-on-deep); }

/* accessories and bot: one strip style */
.em26-fil-accessories,
body.em26-category--filament .em26-filament-utility > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: none;
  grid-template-areas: "eyebrow action" "title action" "text action";
  align-items: center;
  gap: 0.35rem 2rem;
  min-height: 0;
  margin-top: var(--fl-gap);
  padding: 1.4rem 1.6rem;
  border: 1px solid var(--fl-line);
  border-radius: var(--fl-r-card);
  background: var(--fl-surface);
  box-shadow: var(--fl-e1);
  color: var(--fl-ink);
  text-decoration: none !important;
  transition: box-shadow 180ms ease, border-color 180ms ease;
}

.em26-fil-accessories:hover,
body.em26-category--filament .em26-filament-utility > a:hover { border-color: var(--fl-line-strong); background: var(--fl-surface); color: var(--fl-ink); box-shadow: var(--fl-e2); }
.em26-fil-accessories .em26-eyebrow,
body.em26-category--filament .em26-filament-utility > a .em26-eyebrow { grid-area: eyebrow; margin: 0; }
.em26-fil-accessories strong,
body.em26-category--filament .em26-filament-utility strong { grid-area: title; max-width: none; font-size: 1.3rem; font-weight: 800; line-height: 1.2; text-decoration: none; }
.em26-fil-accessories small,
body.em26-category--filament .em26-filament-utility small { grid-area: text; max-width: 62ch; color: var(--fl-muted); font-size: 0.95rem; line-height: 1.5; }
body.em26-category--filament .em26-filament-utility > a:hover small { color: var(--fl-muted); }

.em26-fil-accessories b,
body.em26-category--filament .em26-filament-utility b {
  grid-area: action;
  display: inline-flex;
  align-items: center;
  align-self: center;
  min-height: 2.75rem;
  padding: 0 1.1rem;
  border: 1px solid var(--fl-ink);
  border-radius: var(--fl-r-control);
  color: var(--fl-ink);
  font-size: 0.9rem;
  font-weight: 800;
  white-space: nowrap;
}

.em26-fil-accessories:hover b,
body.em26-category--filament .em26-filament-utility > a:hover b { background: var(--fl-ink); color: var(--fl-paper); }

body.em26-category--filament .em26-filament-utility { display: block; margin-top: 0; }
body.em26-category--filament .em26-filament-utility__bot { border-top: 1px solid var(--fl-line) !important; background: var(--fl-surface) !important; }

@media (max-width: 47.99rem) {
  .em26-fil-materials,
  .em26-fil-weights__grid { grid-template-columns: minmax(0, 1fr); }
  .em26-fil-material { padding: 1.25rem; }
  .em26-fil-material__actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .em26-fil-material__actions .em26-fil-btn:first-child { grid-column: 1 / -1; }
  .em26-fil-picker__body { grid-template-columns: minmax(0, 1fr); padding: 1rem; }
  .em26-fil-answer { padding: 1.25rem; }
  .em26-fil-answer__actions .em26-fil-btn { flex: 1 1 100%; }
  .em26-fil-accessories,
  body.em26-category--filament .em26-filament-utility > a { grid-template-columns: minmax(0, 1fr); grid-template-areas: "eyebrow" "title" "text" "action"; padding: 1.25rem; }
  .em26-fil-accessories b,
  body.em26-category--filament .em26-filament-utility b { justify-self: stretch; justify-content: center; margin-top: 0.5rem; white-space: normal; text-align: center; }
}

/* ===================== root: packaging ===================== */
body.em26-category--filament .em26-filament-packaging { margin-top: var(--fl-section); }
body.em26-category--filament .em26-filament-packaging__grid { gap: var(--fl-gap); margin-top: 1.75rem; }

body.em26-category--filament .em26-filament-pack {
  border: 1px solid var(--fl-line) !important;
  border-radius: var(--fl-r-card);
  background: var(--fl-surface);
  box-shadow: var(--fl-e1);
}

body.em26-category--filament .em26-filament-pack__tag { background: var(--fl-sunk) !important; color: var(--fl-ink) !important; }
body.em26-category--filament .em26-filament-pack li::before { background: var(--fl-ink) !important; }
body.em26-category--filament .em26-filament-pack__link { display: inline-flex; align-items: center; min-height: 2.75rem; }

/* ===================== deep panels: guides and the palette ===================== */
body.em26-category--filament .em26-filament-guides {
  margin-top: var(--fl-section);
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 0;
  border-radius: var(--fl-r-card);
  background: var(--fl-deep);
  color: var(--fl-on-deep);
}

body.em26-category--filament .em26-filament-guides .em26-eyebrow { color: var(--fl-on-deep); }
body.em26-category--filament .em26-filament-guides .em26-eyebrow::before { background: var(--fl-saffron); }
body.em26-category--filament .em26-filament-guides .em26-section-heading > p:not(.em26-eyebrow) { color: var(--fl-on-deep-muted); }
body.em26-category--filament .em26-filament-guides__grid { gap: 0.75rem; margin-top: 1.75rem; border: 0; }

body.em26-category--filament .em26-filament-guides__grid a {
  min-height: 10rem;
  padding: 1.25rem;
  border: 1px solid var(--fl-on-deep-line);
  border-radius: var(--fl-r-control);
  background: var(--fl-deep-2);
  color: var(--fl-on-deep);
  text-decoration: none !important;
  transition: background-color 160ms ease, border-color 160ms ease;
}

body.em26-category--filament .em26-filament-guides__grid a:hover { border-color: var(--fl-saffron); background: var(--fl-deep-2); }
body.em26-category--filament .em26-filament-guides__grid strong { padding-right: 2rem; text-decoration: none; }
body.em26-category--filament .em26-filament-guides__grid a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
body.em26-category--filament .em26-filament-guides__grid b { top: 1.1rem; right: 1.1rem; color: var(--fl-saffron); }

/* SEO text block: same card language, text untouched */
body.em26-category--filament .em26-category-editorial {
  margin-top: var(--fl-section);
  border: 1px solid var(--fl-line) !important;
  border-radius: var(--fl-r-card);
  background: var(--fl-surface);
  box-shadow: var(--fl-e1);
}

/* ===================== PLA+ / PETG: palette on a deep panel ===================== */
.em26-fil-palette {
  margin-top: var(--fl-section);
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: var(--fl-r-card);
  background: var(--fl-deep);
  color: var(--fl-on-deep);
}

.em26-fil-palette .em26-eyebrow { color: var(--fl-on-deep); }
body.em26-category--filament .em26-fil-palette .em26-eyebrow::before { background: var(--fl-saffron); }
body.em26-category--filament .em26-fil-palette .em26-section-heading h2 { color: var(--fl-on-deep); }
body.em26-category--filament .em26-fil-palette .em26-section-heading > p:not(.em26-eyebrow) { color: var(--fl-on-deep-muted); }

.em26-fil-how {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 1.75rem 0 1.25rem;
}

.em26-fil-how div {
  padding: 1rem 1.1rem;
  border: 1px solid var(--fl-on-deep-line);
  border-radius: var(--fl-r-control);
  color: var(--fl-on-deep-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.em26-fil-how b { display: block; margin-bottom: 0.25rem; color: var(--fl-on-deep); font-size: 0.95rem; }
.em26-fil-how i { display: grid; place-items: center; width: 1.6rem; height: 1.6rem; margin-bottom: 0.6rem; border-radius: 50%; background: var(--fl-saffron); color: var(--fl-ink); font-family: var(--fl-mono); font-size: 0.75rem; font-style: normal; font-weight: 600; }

.em26-fil-palette .em26-fil-palette__filters { border-color: var(--fl-on-deep-line); background: var(--fl-deep-2); box-shadow: none; }
.em26-fil-palette__filters[hidden] { display: none; }
.em26-fil-frow { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; }
.em26-fil-frow > span { min-width: 5.5rem; color: var(--fl-on-deep-muted); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.em26-fil-seg { display: inline-flex; flex-wrap: wrap; gap: 0.35rem; }

body.em26-category--filament .em26-fil-palette .em26-fil-chip { border-color: var(--fl-on-deep-line); background: transparent; color: var(--fl-on-deep); }
body.em26-category--filament .em26-fil-palette .em26-fil-chip:hover { border-color: var(--fl-on-deep); }
body.em26-category--filament .em26-fil-palette .em26-fil-chip[aria-pressed="true"] { border-color: var(--fl-on-deep); background: var(--fl-on-deep); color: var(--fl-ink); }

.em26-fil-status { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin: 0; color: var(--fl-on-deep-muted); font-size: 0.85rem; }
.em26-fil-status:has(span:empty):has(button[hidden]) { display: none; }
.em26-fil-status button { min-height: 2.75rem; padding: 0 0.5rem; border: 0; background: none; color: var(--fl-saffron); font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

.em26-fil-palette__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr)); gap: 0.85rem; margin-top: 1rem; }

.em26-fil-tile {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--fl-r-control);
  background: var(--fl-surface);
  color: var(--fl-ink);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.em26-fil-tile:hover { transform: translateY(-3px); box-shadow: 0 0 0 2px var(--fl-saffron), 0 18px 36px rgba(0, 0, 0, 0.3); }
.em26-fil-tile[hidden] { display: none; }
/* Out of stock never changes the colour (owner, 22 Oct 18:43: dimmed swatches read as other colours — Гелловін looked
   skin-tone, PETG red pink, blue light blue). Stock is told by the status row of the tile. */
.em26-fil-tile.is-out .em26-fil-sw { opacity: 1; }

.em26-fil-sw { position: relative; display: block; height: 6.5rem; box-shadow: inset 0 -1px 0 rgba(22, 53, 61, 0.14); }
.em26-fil-sw.is-clear { background: repeating-conic-gradient(#e8edf0 0 25%, #fff 0 50%) 0 0 / 12px 12px; }
.em26-fil-sw.is-silk { background-image: linear-gradient(115deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0) 42%, rgba(255, 255, 255, 0.38) 68%, rgba(255, 255, 255, 0)); }
.em26-fil-sw.is-marble { background-image: linear-gradient(100deg, transparent 38%, rgba(255, 255, 255, 0.4) 39%, transparent 41%), linear-gradient(72deg, transparent 58%, rgba(0, 0, 0, 0.14) 59%, transparent 60.5%), linear-gradient(130deg, transparent 70%, rgba(255, 255, 255, 0.3) 71%, transparent 72.5%); }

.em26-fil-sw__ref {
  position: absolute;
  left: 0.55rem;
  bottom: 0.5rem;
  max-width: calc(100% - 1.1rem);
  padding: 0.14rem 0.45rem;
  overflow: hidden;
  border-radius: 3px;
  background: rgba(255, 254, 250, 0.94);
  color: var(--fl-ink);
  font-family: var(--fl-mono);
  font-size: 0.68rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.em26-fil-tile__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 0.15rem; padding: 0.75rem 0.85rem 0.85rem; }
.em26-fil-tile__body .em26-fil-avail { margin-top: auto; }
.em26-fil-tile__body > :nth-last-child(3) { margin-bottom: 0.5rem; }
.em26-fil-tile__body b { font-size: 0.95rem; line-height: 1.25; }
.em26-fil-tile__price { color: var(--fl-muted); font-size: 0.78rem; font-weight: 700; }
.em26-fil-tile__price .woocommerce-Price-amount { font: inherit; }
.em26-fil-tile__photo { margin-top: 0.5rem; color: var(--fl-accent-ink); font-size: 0.78rem; font-weight: 800; }

.em26-fil-avail { display: grid; gap: 0.3rem; margin-top: 0.6rem; padding-top: 0.6rem; border-top: 1px dashed var(--fl-line-strong); font-size: 0.78rem; }
.em26-fil-avail__row { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.em26-fil-avail em { min-width: 2.6rem; font-style: normal; font-weight: 800; }

.em26-fil-st { display: inline-flex; gap: 0.3rem; }
.em26-fil-st span { padding: 0.1rem 0.45rem; border: 1px solid var(--fl-line); border-radius: 3px; color: var(--fl-muted); font-family: var(--fl-mono); font-size: 0.66rem; }
.em26-fil-st span.is-in { border-color: var(--fl-turq); background: #e9f5f4; color: var(--fl-turq-ink); font-weight: 600; }
.em26-fil-st span.is-na { opacity: 0.4; text-decoration: line-through; }

.em26-fil-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; margin: 1.1rem 0 0; color: var(--fl-on-deep-muted); font-size: 0.8rem; }
.em26-fil-legend .em26-fil-st span { background: var(--fl-surface); }
.em26-fil-palette .em26-fil-empty { margin: 1rem 0 0; padding: 1.5rem; border: 1px dashed var(--fl-on-deep-line); border-radius: var(--fl-r-control); color: var(--fl-on-deep-muted); text-align: center; }
.em26-fil-palette .em26-fil-empty[hidden] { display: none; }

@media (max-width: 47.99rem) {
  .em26-fil-how { grid-template-columns: minmax(0, 1fr); }
  .em26-fil-palette { padding: 1.25rem 1rem; }
  .em26-fil-palette .em26-fil-palette__filters { padding: 1rem; }
  .em26-fil-palette__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
  .em26-fil-sw { height: 5rem; }
  .em26-fil-tile__body { padding: 0.65rem 0.7rem 0.75rem; }
  .em26-fil-st span { padding: 0.1rem 0.3rem; font-size: 0.62rem; }
  .em26-fil-frow > span { min-width: 100%; }
}

@media (max-width: 26rem) {
  .em26-fil-palette { padding-inline: 0.75rem; }
  .em26-fil-palette__grid { gap: 0.5rem; }
  .em26-fil-avail__row { flex-wrap: wrap; gap: 0.2rem 0.4rem; }
  .em26-fil-st { gap: 0.2rem; }
  .em26-fil-tile__photo { font-size: 0.72rem; }
}

/* ===================== product page ===================== */
body.em26-product--filament #commercegurus-pdp-gallery-wrapper.images,
body.em26-product--filament .summary.entry-summary { border-top-color: var(--fl-accent) !important; }

body.em26-product--filament .summary.entry-summary,
body.em26-product--filament #commercegurus-pdp-gallery-wrapper.images { border-radius: var(--fl-r-card); box-shadow: var(--fl-e1); }

body.em26-product--filament .summary form.variations_form {
  border: 1px solid var(--fl-line) !important;
  border-radius: var(--fl-r-card) !important;
  background: var(--fl-accent-soft) !important;
}

body.em26-product--filament .iconic-was-swatch,
body.em26-product--filament .cgkit-swatch { border-radius: var(--fl-r-control) !important; color: var(--fl-ink); font-weight: 700; }

body.em26-product--filament .cg-thumb-swiper .swiper-slide.swiper-slide-thumb-active,
body.em26-product--filament .cg-thumb-swiper .swiper-wrapper:not(:has(.swiper-slide-thumb-active)) > .swiper-slide:first-child { outline-color: var(--fl-accent); border-radius: var(--fl-r-control); }

/* the weight attribute has one value on each product (1 kg or 3 kg live in separate products): the row only repeated
   what the weight switch above already says. The select keeps its single, preselected value; nothing is removed. */
body.em26-product--filament table.variations tr:has(select[name="attribute_pa_vaga"]):has(.cgkit-attribute-swatches > li:only-child) { display: none; }

/* add to cart before a format is chosen: clearly "not yet", not a faded magenta */
body.em26-product--filament .single_add_to_cart_button.disabled,
body.em26-product--filament .single_add_to_cart_button:disabled {
  border-color: var(--fl-line-strong) !important;
  background: var(--fl-sunk) !important;
  color: var(--fl-muted) !important;
  opacity: 1 !important;
}

.em26-fil-weight-switch,
.em26-fil-look { display: grid; gap: 0.55rem; margin: 0 0 1.25rem; }
body.em26-product--filament .summary > .em26-fil-weight-switch { order: 2; }
body.em26-product--filament .summary > .em26-fil-compat,
body.em26-product--filament .summary > .em26-fil-look { order: 3; }

.em26-fil-weight-switch > b,
.em26-fil-look > b { color: var(--fl-ink); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }

.em26-fil-weight-switch div { display: inline-flex; flex-wrap: wrap; justify-self: start; gap: 0.25rem; padding: 0.25rem; border: 1px solid var(--fl-line); border-radius: 999px; background: var(--fl-sunk); }

.em26-fil-weight-switch a,
.em26-fil-weight-switch span {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0 1.2rem;
  border-radius: 999px;
  color: var(--fl-muted);
  font-weight: 800;
  text-decoration: none;
}

.em26-fil-weight-switch span { background: var(--fl-surface); color: var(--fl-ink); box-shadow: 0 1px 2px rgba(22, 53, 61, 0.12), 0 4px 10px rgba(22, 53, 61, 0.08); }
.em26-fil-weight-switch a:hover { color: var(--fl-ink); }

.em26-fil-compat {
  margin: -0.5rem 0 1.25rem;
  padding: 0.95rem 1.1rem;
  border-left: 4px solid var(--fl-turq);
  border-radius: 0 var(--fl-r-control) var(--fl-r-control) 0;
  background: #e9f5f4;
  font-size: 0.92rem;
  line-height: 1.5;
}

.em26-fil-compat[hidden],
.em26-fil-compat div[hidden] { display: none; }
.em26-fil-compat nav { display: flex; flex-wrap: wrap; gap: 0 1.25rem; margin-top: 0.25rem; }
.em26-fil-compat nav a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--fl-turq-ink); font-weight: 800; text-underline-offset: 3px; }

.em26-fil-look {
  grid-template-columns: minmax(0, 1fr) 7.5rem;
  align-items: start;
  padding: 1.1rem 1.2rem;
  border: 1px solid var(--fl-line);
  border-left: 4px solid var(--fl-saffron);
  border-radius: 0 var(--fl-r-control) var(--fl-r-control) 0;
  background: var(--fl-surface);
  font-size: 0.9rem;
  line-height: 1.5;
}

.em26-fil-look > b { grid-column: 1 / -1; }
.em26-fil-look ol { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; counter-reset: look; }
.em26-fil-look li { display: grid; grid-template-columns: 1.5rem 1fr; gap: 0.4rem; counter-increment: look; }
.em26-fil-look li::before { content: counter(look); color: #9a6b00; font-family: var(--fl-mono); font-weight: 600; }
.em26-fil-look .em26-fil-sw { height: 4.5rem; border-radius: var(--fl-r-control); box-shadow: inset 0 0 0 1px rgba(22, 53, 61, 0.18); }
.em26-fil-look .em26-fil-sw__ref { font-size: 0.6rem; }

/* short description (owner text, unchanged): darker body copy, clear headings, links in the accent */
body.em26-product--filament .woocommerce-product-details__short-description { color: #2f4a51; font-size: 0.97rem; line-height: 1.65; }
body.em26-product--filament .woocommerce-product-details__short-description :is(strong, b) { color: var(--fl-ink); }
body.em26-product--filament .woocommerce-product-details__short-description a { color: var(--fl-accent-ink); text-underline-offset: 3px; }

body.em26-product--filament .em26-filament-delivery { border-radius: 0 var(--fl-r-control) var(--fl-r-control) 0; }
body.em26-product--filament .em26-filament-product-context { border-color: var(--fl-line) !important; border-radius: var(--fl-r-card); background: var(--fl-accent-soft) !important; }
body.em26-product--filament .em26-filament-product-context nav a:hover { border-color: var(--fl-accent-ink); color: var(--fl-accent-ink); }
body.em26-product--filament .em26-filament-product-context nav a { min-height: 2.75rem; }

body.em26-product--filament .woocommerce-tabs ul.tabs { gap: 0.25rem; border-bottom: 1px solid var(--fl-line-strong) !important; }
body.em26-product--filament .woocommerce-tabs ul.tabs li { border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: inset 0 -3px 0 transparent; }
body.em26-product--filament .woocommerce-tabs ul.tabs li.active { background: none !important; box-shadow: inset 0 -3px 0 var(--fl-accent); }
body.em26-product--filament .woocommerce-tabs ul.tabs li a { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 3rem; padding: 0 1rem !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; color: var(--fl-muted) !important; font-weight: 800 !important; }
body.em26-product--filament .woocommerce-tabs ul.tabs li a:hover { color: var(--fl-ink) !important; }
body.em26-product--filament .woocommerce-tabs ul.tabs li.active a { color: var(--fl-ink) !important; -webkit-text-fill-color: var(--fl-ink) !important; }
body.em26-product--filament .woocommerce-tabs ul.tabs li a { -webkit-text-fill-color: currentColor !important; }
body.em26-product--filament .woocommerce-Tabs-panel { border-top: 1px solid var(--fl-line) !important; border-radius: var(--fl-r-card); box-shadow: var(--fl-e1); }

/* related products: the same card as the catalogue */
body.em26-product--filament :is(.related, .upsells) > h2 { margin: 0 0 1.25rem; font-size: var(--fl-h2); font-weight: 800; letter-spacing: -0.035em; }
body.em26-product--filament :is(.related, .upsells) ul.products { gap: var(--fl-gap) !important; }

body.em26-product--filament :is(.related, .upsells) ul.products > li.product {
  position: relative;
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid var(--fl-line);
  border-radius: var(--fl-r-card);
  background: var(--fl-surface);
  box-shadow: var(--fl-e1);
  transition: box-shadow 180ms ease, border-color 180ms ease, transform 180ms ease;
}

body.em26-product--filament :is(.related, .upsells) ul.products > li.product:hover { border-color: var(--fl-accent-line); box-shadow: var(--fl-e2); transform: translateY(-2px); }
body.em26-product--filament :is(.related, .upsells) li.product > a.woocommerce-LoopProduct-link { position: relative; display: block; color: var(--fl-ink); text-decoration: none; }
body.em26-product--filament :is(.related, .upsells) li.product img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 1; margin: 0 !important; object-fit: cover; }
body.em26-product--filament :is(.related, .upsells) li.product img.secondary-image { display: none; }
body.em26-product--filament :is(.related, .upsells) li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0.9rem 1.1rem 0.3rem !important; color: var(--fl-ink); font-size: 0.98rem !important; font-weight: 800; line-height: 1.3; }
body.em26-product--filament :is(.related, .upsells) li.product .price { order: 5; margin-top: auto !important; padding: 0.5rem 1.1rem 0.9rem !important; color: var(--fl-ink) !important; font-size: 1.05rem !important; font-weight: 800; }
body.em26-product--filament :is(.related, .upsells) li.product .price * { color: inherit !important; }

body.em26-product--filament :is(.related, .upsells) li.product a.button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  margin: 0 1.1rem 1.1rem !important;
  padding: 0.6rem 0.8rem !important;
  border: 1px solid var(--fl-ink) !important;
  border-radius: var(--fl-r-control) !important;
  background: var(--fl-ink) !important;
  color: var(--fl-paper) !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.em26-product--filament :is(.related, .upsells) li.product a.button { order: 6; align-self: stretch; width: auto !important; }
body.em26-product--filament :is(.related, .upsells) li.product .woocommerce-loop-product__title { order: 1; }
html body.em26-product--filament div.product :is(.related, .upsells) ul.products li.product.outofstock a.button { background: transparent !important; color: var(--fl-ink) !important; }
body.em26-product--filament :is(.related, .upsells) li.product a.button:hover { border-color: var(--fl-accent-ink) !important; background: var(--fl-accent-ink) !important; }
body.em26-product--filament :is(.related, .upsells) li.product .onsale { position: absolute; z-index: 2; top: 0.6rem !important; left: 0.6rem !important; right: auto !important; min-width: 0; min-height: 0; margin: 0; padding: 0.25rem 0.65rem; border-radius: 999px; background: var(--fl-magenta) !important; color: #fff; font-size: 0.72rem; font-weight: 800; line-height: 1.3; }
body.em26-product--filament :is(.related, .upsells) li.product .sky-product-badges { position: absolute; z-index: 2; top: 0.6rem; left: 0.6rem; margin: 0; pointer-events: none; }
body.em26-product--filament :is(.related, .upsells) li.product .sky-badge-star { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.25rem 0.6rem 0.25rem 0.45rem; border-radius: 999px; background: rgba(255, 254, 250, 0.94); box-shadow: 0 1px 3px rgba(22, 53, 61, 0.18); color: var(--fl-ink); font-size: 0.72rem; font-weight: 800; line-height: 1.2; }
body.em26-product--filament :is(.related, .upsells) li.product .sky-badge-star::after { content: "рефіл"; }
body.em26-product--filament :is(.related, .upsells) li.product.sale .sky-product-badges { display: none; }
body.em26-product--filament :is(.related, .upsells) li.product .commercekit-wishlist { position: absolute; z-index: 3; top: 0.5rem; right: 0.5rem; }

@media (max-width: 26rem) {
  .em26-fil-weight-switch div { flex-wrap: nowrap; max-width: 100%; }
  .em26-fil-weight-switch a,
  .em26-fil-weight-switch span { padding: 0 0.8rem; font-size: 0.85rem; white-space: nowrap; }
}

@media (max-width: 47.99rem) {
  .em26-fil-look { grid-template-columns: minmax(0, 1fr); }
  .em26-fil-look .em26-fil-sw { height: 2.75rem; }
}


/* ===================== product page: one tight structure (owner round 22 Oct 12:57) ===================== */
/* top area: gallery + summary in their own row (wrapper from filament-product.js); the sticky photo stops where the
   summary ends, so the description below never slides over it. Without JS the photo simply does not stick. */
body.em26-product--filament div.product > #commercegurus-pdp-gallery-wrapper.images { position: relative !important; top: auto !important; }

body.em26-product--filament .em26-fil-pdp-top {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
}

body.em26-product--filament .em26-fil-pdp-top > #commercegurus-pdp-gallery-wrapper.images,
body.em26-product--filament .em26-fil-pdp-top > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; width: auto !important; margin: 0 !important; }
body.em26-product--filament .em26-fil-pdp-top > .summary { grid-column: 2; grid-row: 1; width: auto !important; margin: 0 !important; }

@media (min-width: 64rem) {
  body.em26-product--filament .em26-fil-pdp-top > #commercegurus-pdp-gallery-wrapper.images { position: sticky !important; top: 1.5rem !important; }
}

@media (max-width: 63.99rem) {
  body.em26-product--filament .em26-fil-pdp-top { grid-template-columns: minmax(0, 1fr); }
  body.em26-product--filament .em26-fil-pdp-top > .summary { grid-column: 1; grid-row: 2; }
}

/* summary: one rhythm (gap), no stray margins; blocks in buying order */
body.em26-product--filament .summary.entry-summary { gap: 1.1rem; padding: clamp(1.25rem, 2.6vw, 2rem) !important; }
body.em26-product--filament .summary.entry-summary > * { margin: 0 !important; }
body.em26-product--filament .summary > .product_title { order: 1; font-size: clamp(1.9rem, 1.35rem + 1.7vw, 2.75rem) !important; line-height: 1.04 !important; letter-spacing: -0.035em; }
body.em26-product--filament .summary > .em26-fil-video-chip { order: 2; }
body.em26-product--filament .summary > :is(.sky-single-product-badges, .woocommerce-product-rating) { order: 3; }
body.em26-product--filament .summary > p.price { order: 4; padding-bottom: 1.1rem; border-bottom: 1px solid var(--fl-line); font-size: clamp(1.4rem, 1.2rem + 0.6vw, 1.75rem) !important; }
body.em26-product--filament .summary > .em26-fil-weight-switch { order: 5; }
body.em26-product--filament .summary > form.cart { order: 6; }
body.em26-product--filament .summary > .em26-fil-compat { order: 7; }
body.em26-product--filament .summary > .em26-filament-delivery { order: 8; }
body.em26-product--filament .summary > .em26-fil-look { order: 9; }
body.em26-product--filament .summary > .woocommerce-product-details__short-description { order: 10; }
body.em26-product--filament .summary > .em26-filament-product-context { order: 11; }
body.em26-product--filament .summary > .commercekit-wishlist { order: 12; }
body.em26-product--filament .summary > .product_meta { order: 13; }

body.em26-product--filament .summary > .sky-single-product-badges { display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.85rem; font-weight: 700; }
body.em26-product--filament .summary > .sky-single-product-badges + .woocommerce-product-rating,
body.em26-product--filament .summary > .woocommerce-product-rating { margin-top: -0.55rem !important; font-size: 0.85rem; }
/* section labels inside the summary: one style (Опис, Як оцінити колір, Корисні матеріали, Вага) */
body.em26-product--filament .em26-filament-product-context > .em26-eyebrow { margin: 0 0 0.35rem; color: var(--fl-ink); font-family: inherit; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
body.em26-product--filament .em26-filament-product-context > .em26-eyebrow::before { display: none; }

.em26-fil-video-chip {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0 1.1rem 0 0.9rem;
  border: 1px solid var(--fl-accent-line);
  border-radius: 999px;
  background: var(--fl-accent-soft);
  color: var(--fl-accent-ink);
  font-size: 0.9rem;
  font-weight: 800;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
}

.em26-fil-video-chip span { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--fl-accent); color: #fff; font-size: 0.6rem; }
.em26-fil-video-chip:hover { background: var(--fl-accent-ink); color: #fff; }
.em26-fil-video-chip:hover span { background: #fff; color: var(--fl-accent-ink); }

/* notes share one shape: 4 px stripe, soft fill, same radius and padding */
body.em26-product--filament .summary > :is(.em26-fil-compat, .em26-filament-delivery, .em26-fil-look) { padding: 0.95rem 1.1rem !important; border-radius: 0 var(--fl-r-control) var(--fl-r-control) 0 !important; }
body.em26-product--filament .summary > .em26-filament-delivery { border-left: 4px solid var(--fl-turq) !important; background: #e9f5f4 !important; }
body.em26-product--filament .em26-filament-delivery > span { font-size: 1.1rem; }

/* owner's description: a titled section, text untouched */
body.em26-product--filament .summary > .woocommerce-product-details__short-description { padding-top: 1.25rem; border-top: 1px solid var(--fl-line); }
body.em26-product--filament .summary > .woocommerce-product-details__short-description::before { content: "Опис"; display: block; margin-bottom: 0.6rem; color: var(--fl-ink); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
body.em26-product--filament .woocommerce-product-details__short-description p { margin: 0 0 0.7rem; }
body.em26-product--filament .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

body.em26-product--filament .summary > .commercekit-wishlist { padding-top: 1rem; border-top: 1px solid var(--fl-line); font-size: 0.9rem; }
body.em26-product--filament .summary > .product_meta { padding-top: 0 !important; border-top: 0 !important; color: var(--fl-muted); font-size: 0.82rem; line-height: 1.6; }

/* below the fold: the description tabs start clearly after the top row */
body.em26-product--filament div.product > .woocommerce-tabs { margin-top: clamp(2.5rem, 5vw, 4rem) !important; }
body.em26-product--filament .woocommerce-Tabs-panel { padding: clamp(1.25rem, 3vw, 2.5rem) !important; background: var(--fl-surface) !important; }
body.em26-product--filament .woocommerce-Tabs-panel > * { max-width: 72ch; }

@media (max-width: 47.99rem) {
  body.em26-product--filament .summary.entry-summary { gap: 0.95rem; }
  body.em26-product--filament .summary > .product_title { font-size: clamp(1.7rem, 7vw, 2.1rem) !important; }
}

/* ===================== volunteer page (existing URL, text unchanged) ===================== */
/* aligned to the header and breadcrumbs: same container edges, no narrow centred column */
body.page-id-20193 .em26-entry--page {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

body.page-id-20193 .em26-entry__title {
  max-width: 18ch;
  margin-bottom: 2rem;
  padding-bottom: 0;
  border-bottom: 0 !important;
  font-size: clamp(2.2rem, 1.6rem + 2.4vw, 3.6rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

body.page-id-20193 .em26-entry__title::after { content: ""; display: block; width: 4rem; height: 4px; margin-top: 1.25rem; border-radius: 2px; background: var(--fl-turq); }

body.page-id-20193 .em26-entry__content {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  column-gap: clamp(1.5rem, 4vw, 3.5rem);
  row-gap: 1rem;
  align-items: start;
  max-width: none;
  color: var(--fl-ink);
  font-size: 1rem;
  line-height: 1.6;
}

body.page-id-20193 .em26-entry__content > * { grid-column: 1; min-width: 0; max-width: none; margin: 0; }
body.page-id-20193 .em26-entry__content > p:first-child { grid-column: 1 / -1; }

body.page-id-20193 .em26-entry__content > p:first-child {
  padding: 1.4rem 1.6rem;
  border: 1px solid var(--fl-line);
  border-radius: var(--fl-r-card);
  background: var(--fl-surface);
  box-shadow: var(--fl-e1);
  font-size: 1.05rem;
}

body.page-id-20193 .em26-entry__content > p:nth-child(2) { margin-top: 0.5rem; font-size: 1.35rem; font-weight: 800; }
body.page-id-20193 .em26-entry__content > ol { display: grid; gap: 0.6rem; padding: 0; list-style: none; counter-reset: v; }

body.page-id-20193 .em26-entry__content > ol > li {
  position: relative;
  min-width: 0;
  padding: 0.95rem 1.1rem 0.95rem 3.6rem;
  border: 1px solid var(--fl-line);
  border-radius: var(--fl-r-control);
  background: var(--fl-surface);
  counter-increment: v;
  overflow-wrap: break-word;
}

body.page-id-20193 .em26-entry__content > ol > li::before { content: counter(v); position: absolute; left: 1rem; top: 0.85rem; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--fl-ink); color: var(--fl-paper); font-family: var(--fl-mono); font-size: 0.85rem; font-weight: 600; }
body.page-id-20193 .em26-entry__content > p:nth-child(4) { color: var(--fl-muted); }

/* right column (desktop): the price conditions read as one card beside the steps. Left column: heading, steps,
   promo-code note; the steps span the free rows so the right card never pushes them down. Text and order unchanged. */
@media (min-width: 64rem) {
  body.page-id-20193 .em26-entry__content { grid-template-rows: repeat(16, auto); grid-auto-flow: row dense; row-gap: 0; }
  body.page-id-20193 .em26-entry__content > p:first-child { grid-row: 1; margin-bottom: 1.5rem; }
  body.page-id-20193 .em26-entry__content > :nth-child(2) { grid-row: 2; margin-bottom: 0.75rem; }
  body.page-id-20193 .em26-entry__content > :nth-child(3) { grid-row: 3 / 16; align-self: start; }
  body.page-id-20193 .em26-entry__content > :nth-child(4) { grid-row: 16; margin-top: 1rem; }
  body.page-id-20193 .em26-entry__content > :nth-child(n + 5) { grid-column: 2; align-self: stretch; }
  body.page-id-20193 .em26-entry__content > :nth-child(n + 6) { margin-top: 0; }
}

body.page-id-20193 .em26-entry__content > :nth-child(n + 5) {
  padding: 0.45rem 1.6rem;
  border-inline: 1px solid var(--fl-line);
  background: var(--fl-surface);
}

body.page-id-20193 .em26-entry__content > :nth-child(5) { padding-top: 1.4rem; border-top: 4px solid var(--fl-turq); border-radius: var(--fl-r-card) var(--fl-r-card) 0 0; font-size: 1.15rem; font-weight: 800; }
body.page-id-20193 .em26-entry__content > :nth-child(6) { font-weight: 800; }
body.page-id-20193 .em26-entry__content > :last-child { padding-bottom: 1.4rem; border-bottom: 1px solid var(--fl-line); border-radius: 0 0 var(--fl-r-card) var(--fl-r-card); }

@media (max-width: 63.99rem) {
  body.page-id-20193 .em26-entry__content { grid-template-columns: minmax(0, 1fr); }
  body.page-id-20193 .em26-entry__content > :nth-child(5) { margin-top: 0.75rem; }
  body.page-id-20193 .em26-entry__content > :nth-child(n + 6) { margin-top: -1rem; }
}

body.page-id-20193 .em26-entry__content a { color: var(--fl-cobalt); text-underline-offset: 3px; }
body.page-id-20193 .em26-entry__content a:hover { color: var(--fl-magenta); }

@media (max-width: 47.99rem) {
  body.page-id-20193 .em26-entry__content > :nth-child(n + 5) { padding-inline: 1.1rem; }
  body.page-id-20193 .em26-entry__content > p:first-child { padding: 1.1rem; }
  body.page-id-20193 .em26-entry__content > ol > li { padding-left: 3.2rem; }
  body.page-id-20193 .em26-entry__content > ol > li::before { left: 0.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .em26-fil-weight,
  .em26-fil-tile,
  body.em26-category--filament li.product:not(.product-category) { transition: none; }
  .em26-fil-weight:hover,
  .em26-fil-tile:hover,
  body.em26-category--filament li.product:not(.product-category):hover { transform: none; }
}
