/* ============================================================
   GREEN BADGER — WooCommerce SHOP
   "SHOP = THE CASE" (2026-08-22 conference, FINAL): HOME is the theater,
   SHOP is the quiet specimen case. Consumes HOME's ratified tokens
   (--dm-text, --dm-primary, --gb-font-en, --gb-font-ja, --gb-action-paper-ink)
   from sections.css instead of a private palette/type scale. Green Badger
   scope only. Native Woo query/pagination stay authoritative.
   ============================================================ */

body.dm-commerce-archive.dm-gb-shop {
  --gb-shop-bg:#0a0b0c;
  --gb-shop-line:#1c1f22;
  --gb-shop-line-2:#2a2e32;
  --gb-shop-gold:var(--dm-primary, #b89a5b);
  --gb-shop-fg:var(--dm-text, #f4f1e8);
  --gb-shop-fg-2:#9a948b;
  --gb-shop-fg-3:#625e57;
  --gb-shop-serif:var(--gb-font-en, "Cormorant Garamond", Georgia, serif);
  --gb-shop-sans:var(--gb-font-ja, "Noto Sans JP", "Hiragino Kaku Gothic ProN", system-ui, sans-serif);
  --gb-shop-ui:var(--gb-font-ui, var(--gb-shop-serif));
  --gb-shop-ease:cubic-bezier(.37,0,.63,1);
  --gb-shop-pad:60px;

  /* SHOP Composer — real region defaults. Admin overrides only these vars. */
  --gb-shop-header-bg:transparent;
  --gb-shop-header-kicker:var(--gb-shop-gold);
  --gb-shop-header-title:var(--gb-shop-fg);
  --gb-shop-header-intro:var(--gb-shop-fg-2);
  --gb-shop-header-pad-top:44px;
  --gb-shop-header-pad-bottom:28px;
  --gb-shop-header-mb:30px;
  --gb-shop-header-title-size:clamp(52px,6vw,88px);
  --gb-shop-header-intro-size:14px;

  --gb-shop-cats-bg:transparent;
  --gb-shop-cats-text:var(--gb-shop-fg-3);
  --gb-shop-cats-active:var(--gb-shop-fg);
  --gb-shop-cats-accent:var(--gb-shop-gold);
  --gb-shop-cats-count:var(--gb-shop-fg-3);
  --gb-shop-cats-gap:34px;
  --gb-shop-cats-pad-top:20px;
  --gb-shop-cats-pad-bottom:34px;
  --gb-shop-cats-size:12px;
  --gb-shop-cats-line-w:1px;

  --gb-shop-featured-bg:transparent;
  --gb-shop-featured-border:var(--gb-shop-line);
  --gb-shop-featured-art-bg:#0d0e10;
  --gb-shop-featured-title:var(--gb-shop-fg);
  --gb-shop-featured-accent:var(--gb-shop-gold);
  --gb-shop-featured-price:var(--gb-shop-fg);
  --gb-shop-featured-link:var(--gb-shop-fg);
  --gb-shop-featured-mb:70px;
  --gb-shop-featured-meta-pad:40px;
  --gb-shop-featured-title-size:clamp(34px,3.6vw,52px);
  --gb-shop-featured-image-radius:0px;
  --gb-shop-featured-border-w:1px;

  --gb-shop-grid-bg:transparent;
  --gb-shop-grid-name:var(--gb-shop-fg);
  --gb-shop-grid-price:var(--gb-shop-fg-2);
  --gb-shop-grid-accent:var(--gb-shop-gold);
  --gb-shop-grid-note:var(--gb-shop-fg-2);
  --gb-shop-grid-image-bg:#0d0e10;
  --gb-shop-grid-cols:3;
  --gb-shop-grid-cols-tablet:2;
  --gb-shop-grid-cols-mobile:2;
  --gb-shop-grid-gap-x:18px;
  --gb-shop-grid-gap-y:36px;
  --gb-shop-grid-max:1180px;
  --gb-shop-grid-image-radius:0px;
  --gb-shop-grid-name-size:15px;
  --gb-shop-grid-price-size:12.5px;
  --gb-shop-grid-meta-pad:14px;
  --gb-shop-grid-head-pad:22px;
  --gb-shop-grid-head-mb:30px;
  --gb-shop-grid-note-size:13px;
  background:var(--gb-shop-bg);
  color:var(--gb-shop-fg);
  font-family:var(--gb-shop-sans);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}

body.dm-commerce-archive.dm-gb-shop .site-content,
body.dm-commerce-archive.dm-gb-shop #content,
body.dm-commerce-archive.dm-gb-shop .content-area,
body.dm-commerce-archive.dm-gb-shop main.site-main {
  background:var(--gb-shop-bg);
}
body.dm-commerce-archive.dm-gb-shop .site-content > .ast-container {
  width:100%;
  max-width:none;
  padding-left:0;
  padding-right:0;
}
body.dm-commerce-archive.dm-gb-shop #primary {
  width:100%;
  margin:0;
  padding:0;
  border:0;
}
body.dm-commerce-archive.dm-gb-shop #secondary { display:none; }

body.dm-commerce-archive.dm-gb-shop .dm-page-pattern--product-archive {
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  padding:0 var(--gb-shop-pad) 92px;
  overflow:clip;
  color:var(--gb-shop-fg);
  box-sizing:border-box;
}

body.dm-commerce-archive.dm-gb-shop .dm-page-pattern--product-archive > * { position:relative; z-index:1; }

body.dm-commerce-archive.dm-gb-shop a { color:inherit; }

/* reveal — quiet and continuous, never pop */
body.dm-commerce-archive.dm-gb-shop .gb-shop-rv {
  opacity:0;
  transform:translateY(6px);
  transition:opacity .7s var(--gb-shop-ease),transform .7s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-rv.is-in { opacity:1; transform:none; }

/* masthead — compact identity, no cream reversal. Matches V3 .masthead. */
body.dm-commerce-archive.dm-gb-shop .dm-page-pattern__slot--archive-header {
  margin:0;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-kicker {
  font:400 12px/1.4 var(--gb-shop-sans);
  letter-spacing:.22em;
  color:var(--gb-shop-gold);
  margin:0 0 16px;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-title {
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  padding:var(--gb-shop-header-pad-top) 0 var(--gb-shop-header-pad-bottom);
  margin:0 0 var(--gb-shop-header-mb);
  background:var(--gb-shop-header-bg);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-title__head .gb-shop-kicker { margin-bottom:16px; color:var(--gb-shop-header-kicker); }
body.dm-commerce-archive.dm-gb-shop .gb-shop-title__heading {
  margin:0;
  color:var(--gb-shop-header-title);
  font:400 var(--gb-shop-header-title-size)/.82 var(--gb-shop-serif);
  letter-spacing:-.035em;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-title__sub {
  margin:0 0 4px;
  color:var(--gb-shop-header-intro);
  font:300 var(--gb-shop-header-intro-size)/1.8 var(--gb-shop-sans);
  text-align:right;
}

/* category index — restrained row, no pills/tabs */
body.dm-commerce-archive.dm-gb-shop .gb-shop-filters {
  display:flex;
  gap:var(--gb-shop-cats-gap);
  align-items:center;
  padding:var(--gb-shop-cats-pad-top) 0 var(--gb-shop-cats-pad-bottom);
  background:var(--gb-shop-cats-bg);
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-filters::-webkit-scrollbar { display:none; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-filter {
  position:relative;
  flex:none;
  padding:0 0 8px;
  color:var(--gb-shop-cats-text);
  font:400 var(--gb-shop-cats-size)/1.4 var(--gb-shop-sans);
  letter-spacing:.17em;
  text-decoration:none;
  transition:color .45s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-filter::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:var(--gb-shop-cats-line-w);
  background:var(--gb-shop-cats-accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .6s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-filter:hover,
body.dm-commerce-archive.dm-gb-shop .gb-shop-filter.is-active { color:var(--gb-shop-cats-active); }
body.dm-commerce-archive.dm-gb-shop .gb-shop-filter.is-active::after,
body.dm-commerce-archive.dm-gb-shop .gb-shop-filter:hover::after { transform:scaleX(1); }
body.dm-commerce-archive.dm-gb-shop .gb-shop-filter__count {
  margin-left:6px;
  color:var(--gb-shop-cats-count);
  font-family:var(--gb-shop-serif);
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-filter.is-active .gb-shop-filter__count { color:var(--gb-shop-cats-accent); }

/* generic archive description / toolbar are intentionally not part of GB SHOP */
body.dm-commerce-archive.dm-gb-shop .dm-page-pattern__slot--archive-description,
body.dm-commerce-archive.dm-gb-shop .dm-page-pattern__slot--archive-result-count,
body.dm-commerce-archive.dm-gb-shop .dm-page-pattern__slot--archive-ordering {
  display:none;
  margin:0;
}

/* catalog section head — kicker + title left, note right, hairline below */
body.dm-commerce-archive.dm-gb-shop .gb-shop-catalog-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  padding-bottom:var(--gb-shop-grid-head-pad);
  margin:0 0 var(--gb-shop-grid-head-mb);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-catalog-head .gb-shop-kicker { margin-bottom:0; color:var(--gb-shop-grid-accent); }
body.dm-commerce-archive.dm-gb-shop .gb-shop-catalog-head__note {
  margin:0 0 5px;
  color:var(--gb-shop-grid-note);
  font:300 var(--gb-shop-grid-note-size)/1.4 var(--gb-shop-sans);
}

/* best seller — compact editorial strip: asymmetric art + meta, not a hero */
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured {
  display:block;
  margin:0 0 var(--gb-shop-featured-mb);
  background:var(--gb-shop-featured-bg);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card {
  display:grid;
  grid-template-columns:minmax(0,clamp(320px,40vw,480px)) minmax(260px,1fr);
  align-items:center;
  border-top:var(--gb-shop-featured-border-w) solid var(--gb-shop-featured-border);
  text-decoration:none;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__art {
  position:relative;
  display:block;
  overflow:hidden;
  background:var(--gb-shop-featured-art-bg);
  border-radius:var(--gb-shop-featured-image-radius);
  width:100%;
  aspect-ratio:1;
  max-height:480px;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__art img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.72) brightness(.86) contrast(1.01);
  transition:filter .72s var(--gb-shop-ease),opacity .72s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__art .gb-shop-shot__secondary { opacity:0; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__meta {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0 0 0 var(--gb-shop-featured-meta-pad);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__name {
  display:block;
  margin:0 0 20px;
  color:var(--gb-shop-featured-title);
  font:400 var(--gb-shop-featured-title-size)/.92 var(--gb-shop-serif);
  letter-spacing:-.025em;
  transition:color .72s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__bottom {
  margin-top:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  max-width:340px;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-link {
  font:400 12px/1.4 var(--gb-shop-sans);
  letter-spacing:.16em;
  border-bottom:1px solid var(--gb-shop-featured-accent);
  padding-bottom:5px;
  color:var(--gb-shop-featured-link);
}

/* product name — the ratified Green Badger "product name" UI role
   (sections.css §D), not an invented in-between size. */
body.dm-commerce-archive.dm-gb-shop .gb-shop-name {
  display:block;
  margin:0 0 6px;
  color:var(--gb-shop-grid-name);
  font-family:var(--gb-shop-ui);
  font-weight:600;
  font-size:var(--gb-shop-grid-name-size);
  line-height:1.5;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:color .4s var(--gb-shop-ease);
}

/* cards */
body.dm-commerce-archive.dm-gb-shop ul.products li.dm-product-card.gb-shop-card {
  display:block;
  min-width:0;
  margin:0;
  padding:0;
  overflow:visible;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
  text-align:left;
  transform:none;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link,
body.dm-commerce-archive.dm-gb-shop a.gb-shop-card {
  display:block;
  color:inherit;
  text-decoration:none;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-shot {
  position:relative;
  display:block;
  aspect-ratio:1;
  overflow:hidden;
  background:var(--gb-shop-grid-image-bg);
  border-radius:var(--gb-shop-grid-image-radius);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-shot img,
body.dm-commerce-archive.dm-gb-shop ul.products li.dm-product-card .gb-shop-shot img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  margin:0;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:0;
  transform:none;
  filter:saturate(.62) brightness(.86) contrast(1.01);
  transition:filter .72s var(--gb-shop-ease),opacity .72s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-shot__secondary { opacity:0; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-shot__veil {
  position:absolute;
  inset:0;
  background:rgba(4,5,5,.11);
  pointer-events:none;
  transition:opacity .72s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__art .gb-shop-shot__veil { background:rgba(5,5,4,.10); }

body.dm-commerce-archive.dm-gb-shop .gb-shop-meta {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding-top:var(--gb-shop-grid-meta-pad);
  position:relative;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-meta::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:var(--gb-shop-grid-accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .72s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-price,
body.dm-commerce-archive.dm-gb-shop .gb-shop-price .amount {
  color:var(--gb-shop-grid-price);
  font:400 var(--gb-shop-grid-price-size)/1.45 var(--gb-shop-sans);
  font-variant-numeric:tabular-nums;
  transition:color .72s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__price,
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__bottom .gb-shop-price,
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__bottom .gb-shop-price .amount { color:var(--gb-shop-featured-price); font-size:14.5px; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-price del { color:var(--gb-shop-fg-3); opacity:.72; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-price ins { color:inherit; background:none; text-decoration:none; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-stock {
  margin-top:8px;
  color:var(--gb-shop-grid-accent);
  font:400 var(--gb-type-ui-size-sm, 12px)/1.4 var(--gb-shop-sans);
  letter-spacing:.18em;
}
body.dm-commerce-archive.dm-gb-shop .gb-shop-marker {
  display:block;
  margin-bottom:10px;
  color:var(--gb-shop-featured-accent);
  font:400 var(--gb-type-ui-size-sm, 12px)/1.4 var(--gb-shop-sans);
  letter-spacing:.28em;
}

/* Actual Woo loop: three quiet borderless editorial columns. */
body.dm-commerce-archive.dm-gb-shop .dm-page-pattern__slot--archive-products ul.products {
  display:grid;
  grid-template-columns:repeat(var(--gb-shop-grid-cols),minmax(0,1fr));
  max-width:var(--gb-shop-grid-max);
  gap:var(--gb-shop-grid-gap-y) var(--gb-shop-grid-gap-x);
  margin:0;
  border:0;
  background:var(--gb-shop-grid-bg);
}
body.dm-commerce-archive.dm-gb-shop .dm-page-pattern__slot--archive-products ul.products::before,
body.dm-commerce-archive.dm-gb-shop .dm-page-pattern__slot--archive-products ul.products::after { display:none; }

/* Hover belongs to a mouse. No fake hover on touch. Darkroom reveal + crossfade only —
   no lift/zoom/shadow/glow; the name may shift toward gold. */
@media (hover:hover) and (pointer:fine) {
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card:hover .gb-shop-featured-card__art img,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card:focus-visible .gb-shop-featured-card__art img { filter:saturate(1) brightness(1) contrast(1); }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card:hover .gb-shop-featured-card__art .gb-shop-shot__veil,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card:focus-visible .gb-shop-featured-card__art .gb-shop-shot__veil,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card:hover .gb-shop-featured-card__art .gb-shop-shot__secondary,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card:focus-visible .gb-shop-featured-card__art .gb-shop-shot__secondary { opacity:1; }

  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:hover .gb-shop-shot img,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:focus-visible .gb-shop-shot img,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:hover .gb-shop-shot img,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:focus-visible .gb-shop-shot img { filter:saturate(1) brightness(1) contrast(1); }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:hover .gb-shop-shot__veil,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:focus-visible .gb-shop-shot__veil,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:hover .gb-shop-shot__veil,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:focus-visible .gb-shop-shot__veil { opacity:0; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:hover .gb-shop-shot__secondary,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:focus-visible .gb-shop-shot__secondary,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:hover .gb-shop-shot__secondary,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:focus-visible .gb-shop-shot__secondary { opacity:1; }

  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:hover .gb-shop-meta::before,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:focus-visible .gb-shop-meta::before,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:hover .gb-shop-meta::before,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:focus-visible .gb-shop-meta::before { transform:scaleX(1); }

  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:hover .gb-shop-name,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:focus-visible .gb-shop-name,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:hover .gb-shop-name,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:focus-visible .gb-shop-name { color:var(--gb-shop-grid-accent); }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:hover .gb-shop-price,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card:focus-visible .gb-shop-price,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:hover .gb-shop-price,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:focus-visible .gb-shop-price { color:var(--gb-shop-fg); }
}

body.dm-commerce-archive.dm-gb-shop .gb-shop-card:focus-visible,
body.dm-commerce-archive.dm-gb-shop .gb-shop-card__link:focus-visible,
body.dm-commerce-archive.dm-gb-shop .gb-shop-filter:focus-visible {
  outline:1px solid var(--gb-shop-gold);
  outline-offset:4px;
}

/* Woo pagination, reduced to the same hairline language. */
body.dm-commerce-archive.dm-gb-shop .dm-page-pattern__slot--archive-pagination { margin-top:54px; }
body.dm-commerce-archive.dm-gb-shop nav.woocommerce-pagination ul { display:flex; justify-content:center; gap:18px; margin:0; border:0; }
body.dm-commerce-archive.dm-gb-shop nav.woocommerce-pagination ul li { border:0; }
body.dm-commerce-archive.dm-gb-shop nav.woocommerce-pagination ul li a.page-numbers,
body.dm-commerce-archive.dm-gb-shop nav.woocommerce-pagination ul li span.page-numbers {
  min-width:28px;
  padding:4px 2px;
  background:none;
  border:0;
  border-radius:0;
  color:var(--gb-shop-fg-3);
  font:400 12px/1.4 var(--gb-shop-sans);
}
body.dm-commerce-archive.dm-gb-shop nav.woocommerce-pagination ul li a.page-numbers:hover { background:none; color:var(--gb-shop-fg); }
body.dm-commerce-archive.dm-gb-shop nav.woocommerce-pagination ul li span.page-numbers.current {
  background:none;
  color:var(--gb-shop-gold);
  border-bottom:1px solid var(--gb-shop-gold);
}

@media (max-width:1024px) {
  body.dm-commerce-archive.dm-gb-shop { --gb-shop-pad:38px; }
  body.dm-commerce-archive.dm-gb-shop .dm-page-pattern__slot--archive-products ul.products { grid-template-columns:repeat(var(--gb-shop-grid-cols-tablet),minmax(0,1fr)); max-width:var(--gb-shop-grid-max); }
}

@media (max-width:782px) {
  body.dm-commerce-archive.dm-gb-shop { --gb-shop-pad:18px; }
  body.dm-commerce-archive.dm-gb-shop .dm-page-pattern--product-archive { padding-bottom:68px; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-title { padding:var(--gb-shop-header-pad-top) 0 var(--gb-shop-header-pad-bottom); margin-bottom:var(--gb-shop-header-mb); align-items:flex-end; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-title__heading { font-size:var(--gb-shop-header-title-size); }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-title__sub { display:none; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-filters { gap:var(--gb-shop-cats-gap); padding:var(--gb-shop-cats-pad-top) 0 var(--gb-shop-cats-pad-bottom); }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-filter { padding-bottom:10px; }

  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card { grid-template-columns:1fr; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__art { aspect-ratio:16/11; max-height:none; width:100%; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__meta { padding:22px 0 26px; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__name { font-size:var(--gb-shop-featured-title-size); margin-bottom:14px; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__bottom { margin-top:18px; max-width:none; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured { margin-bottom:var(--gb-shop-featured-mb); }

  body.dm-commerce-archive.dm-gb-shop .gb-shop-catalog-head { padding-bottom:var(--gb-shop-grid-head-pad); margin-bottom:var(--gb-shop-grid-head-mb); }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-catalog-head__title { font-size:36px; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-catalog-head__note { display:none; }

  body.dm-commerce-archive.dm-gb-shop .dm-page-pattern__slot--archive-products ul.products { grid-template-columns:repeat(var(--gb-shop-grid-cols-mobile),minmax(0,1fr)); gap:var(--gb-shop-grid-gap-y) var(--gb-shop-grid-gap-x); }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-meta { display:block; padding-top:var(--gb-shop-grid-meta-pad); }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-meta::before { display:none; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-name { font-size:var(--gb-shop-grid-name-size); margin-bottom:6px; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-price,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-price .amount { font-size:var(--gb-shop-grid-price-size); }
  body.dm-commerce-archive.dm-gb-shop .dm-page-pattern__slot--archive-pagination { margin-top:40px; }

  /* touch screens are never visually treated as disabled — darkroom eases off */
  body.dm-commerce-archive.dm-gb-shop .gb-shop-shot img,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__art img { filter:saturate(.9) brightness(.94) contrast(1); }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-shot__veil,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__art .gb-shop-shot__veil { background:rgba(4,5,5,.04); }
}

@media (prefers-reduced-motion:reduce) {
  body.dm-commerce-archive.dm-gb-shop .gb-shop-rv { opacity:1; transform:none; transition:none; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-shot img,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-card__art img,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-shot__veil,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-meta::before,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-price,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-name,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-filter::after { transition:none; }
}

/* ============================================================
   GREEN BADGER — PRODUCT SEARCH RESULTS
   Search mechanics remain native WordPress/WooCommerce. This is
   presentation only, plus deterministic related-term links derived
   from the products already returned by the native query.
   ============================================================ */
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head {
  padding:42px 0 30px;
  margin:0 0 34px;
  border-bottom:1px solid var(--gb-shop-line);
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head__top {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,430px);
  gap:48px;
  align-items:end;
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head__copy { min-width:0; }
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head__copy .gb-shop-kicker { margin-bottom:14px; }
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head__title {
  margin:0;
  max-width:840px;
  overflow-wrap:anywhere;
  color:var(--gb-shop-fg);
  font:400 clamp(48px,6.4vw,90px)/.88 var(--gb-shop-serif);
  letter-spacing:-.04em;
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head__quote { color:var(--gb-shop-gold); }
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head__count {
  margin:18px 0 0;
  color:var(--gb-shop-fg-3);
  font:400 11px/1.4 var(--gb-shop-sans);
  letter-spacing:.18em;
  font-variant-numeric:tabular-nums;
}

body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  border-bottom:1px solid var(--gb-shop-line-2);
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form input[type="search"] {
  min-width:0;
  height:52px;
  margin:0;
  padding:0 18px 0 0;
  border:0;
  border-radius:0;
  outline:0;
  box-shadow:none;
  background:transparent;
  color:var(--gb-shop-fg);
  font:300 14px/1.4 var(--gb-shop-sans);
  letter-spacing:.04em;
  appearance:none;
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form input[type="search"]::-webkit-search-cancel-button { display:none; }
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form input[type="search"]::placeholder {
  color:var(--gb-shop-fg-3);
  opacity:1;
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form:focus-within { border-bottom-color:var(--gb-shop-gold); }
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form button {
  height:52px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--gb-shop-fg);
  font:400 11px/1.4 var(--gb-shop-sans);
  letter-spacing:.16em;
  cursor:pointer;
  transition:color .35s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form button span { margin-left:8px; color:var(--gb-shop-gold); }
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form button:hover,
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form button:focus-visible { color:var(--gb-shop-gold); }
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form button:focus-visible,
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related a:focus-visible,
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-shop-all:focus-visible {
  outline:1px solid var(--gb-shop-gold);
  outline-offset:4px;
}

body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related {
  display:flex;
  align-items:flex-start;
  gap:28px;
  margin-top:30px;
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related__label {
  flex:none;
  padding-top:3px;
  color:var(--gb-shop-gold);
  font:400 10px/1.4 var(--gb-shop-sans);
  letter-spacing:.22em;
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related__terms {
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related a {
  position:relative;
  padding:0 0 5px;
  color:var(--gb-shop-fg-2);
  font:400 12px/1.4 var(--gb-shop-sans);
  letter-spacing:.08em;
  text-decoration:none;
  transition:color .35s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related a::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:var(--gb-shop-gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s var(--gb-shop-ease);
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related a:hover { color:var(--gb-shop-fg); }
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related a:hover::after,
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related a:focus-visible::after { transform:scaleX(1); }

body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-shop-all {
  display:inline-block;
  margin-top:28px;
  padding-bottom:5px;
  border-bottom:1px solid var(--gb-shop-gold);
  color:var(--gb-shop-fg);
  font:400 11px/1.4 var(--gb-shop-sans);
  letter-spacing:.14em;
  text-decoration:none;
}

/* Product-only search does not inherit the SHOP category strip. */
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-shop-filters { display:none; }
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-catalog-head {
  margin-top:0;
  padding-bottom:18px;
  margin-bottom:28px;
  border-bottom:1px solid var(--gb-shop-line);
}

/* Native Woo no-results output stays authoritative; only its presentation changes. */
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .woocommerce-info,
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .woocommerce-message,
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .woocommerce-error {
  margin:8px 0 0;
  padding:22px 0;
  border:0;
  border-top:1px solid var(--gb-shop-line);
  border-bottom:1px solid var(--gb-shop-line);
  border-radius:0;
  background:transparent;
  color:var(--gb-shop-fg-2);
  font:300 13px/1.7 var(--gb-shop-sans);
  box-shadow:none;
}
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .woocommerce-info::before,
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .woocommerce-message::before,
body.dm-commerce-archive.dm-gb-shop.dm-gb-search .woocommerce-error::before { display:none; }

/* No implementation/vendor/plugin identity is rendered by this search skin. */

@media (max-width:1024px) {
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head__top {
    grid-template-columns:minmax(0,1fr) minmax(280px,360px);
    gap:34px;
  }
}

@media (max-width:782px) {
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head {
    padding:28px 0 22px;
    margin-bottom:24px;
  }
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head__top {
    display:block;
  }
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head__title {
    font-size:clamp(42px,13vw,58px);
    line-height:.92;
  }
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-head__count { margin-top:13px; }
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form { margin-top:26px; }
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form input[type="search"],
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form button { height:48px; }
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related {
    display:block;
    margin-top:22px;
  }
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related__label {
    display:block;
    margin-bottom:12px;
    padding-top:0;
  }
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related__terms {
    gap:10px 18px;
  }
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related a { font-size:11px; }
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-catalog-head {
    margin-bottom:20px;
    padding-bottom:14px;
  }
}

@media (prefers-reduced-motion:reduce) {
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-form button,
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related a,
  body.dm-commerce-archive.dm-gb-shop.dm-gb-search .gb-search-related a::after { transition:none; }
}


/* ============================================================ Duck Mark SHOP SYSTEM runtime v11
 * Saved Inspector layout/motion settings are real frontend behaviour, not preview-only. */
body.dm-commerce-archive.dm-gb-shop .gb-shop-title--centered { display:block; text-align:center; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-title--centered .gb-shop-title__sub { max-width:680px; margin:20px auto 0; text-align:center; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-title--minimal { align-items:center; padding-top:22px; padding-bottom:18px; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-title--minimal .gb-shop-title__heading { font-size:clamp(38px,4vw,58px); }
body.dm-commerce-archive.dm-gb-shop .gb-shop-title--minimal .gb-shop-title__sub { max-width:440px; }

body.dm-commerce-archive.dm-gb-shop .gb-shop-filters--boxed { gap:8px; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-filters--boxed .gb-shop-filter { border:1px solid color-mix(in srgb,var(--gb-shop-cats-text) 35%,transparent); padding:8px 12px; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-filters--boxed .gb-shop-filter::after { display:none; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-filters--minimal .gb-shop-filter { padding-bottom:2px; letter-spacing:.10em; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-filters--minimal .gb-shop-filter::after { display:none; }

body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--split-right .gb-shop-featured-card { grid-template-columns:minmax(260px,1fr) minmax(0,clamp(320px,40vw,480px)); }
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--split-right .gb-shop-featured-card__art { order:2; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--split-right .gb-shop-featured-card__meta { order:1; padding-left:0; padding-right:var(--gb-shop-featured-meta-pad); }
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--stacked .gb-shop-featured-card { display:block; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--stacked .gb-shop-featured-card__art { aspect-ratio:16/7; max-height:none; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--stacked .gb-shop-featured-card__meta { padding:28px 0 0; max-width:760px; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--compact .gb-shop-featured-card { grid-template-columns:minmax(0,280px) minmax(220px,1fr); }
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--compact .gb-shop-featured-card__art { max-height:280px; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--compact .gb-shop-featured-card__name { font-size:clamp(26px,3vw,38px); }
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-label--off .gb-shop-marker,
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-price--off .gb-shop-price,
body.dm-commerce-archive.dm-gb-shop .gb-shop-featured-cta--off .gb-shop-link { display:none !important; }

body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell { min-width:0; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--magazine .dm-page-pattern__slot--archive-products ul.products > li:first-child { grid-column:span 2; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--magazine .dm-page-pattern__slot--archive-products ul.products > li:first-child .gb-shop-shot { aspect-ratio:16/9; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--compact .dm-page-pattern__slot--archive-products ul.products { --gb-shop-grid-cols:4; --gb-shop-grid-gap-x:12px; --gb-shop-grid-gap-y:24px; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--compact .gb-shop-name { font-size:12px; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--compact .gb-shop-meta { padding-top:9px; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--list .dm-page-pattern__slot--archive-products ul.products { grid-template-columns:1fr; gap:0; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--list ul.products li.gb-shop-card { border-top:1px solid color-mix(in srgb,var(--gb-shop-fg-3) 30%,transparent); padding:18px 0; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--list .gb-shop-card__link { display:grid; grid-template-columns:minmax(120px,220px) minmax(0,1fr); gap:24px; align-items:center; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--list .gb-shop-shot { aspect-ratio:4/3; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-ratio--portrait .gb-shop-shot { aspect-ratio:4/5; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-ratio--landscape .gb-shop-shot { aspect-ratio:4/3; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-price--off .gb-shop-price { display:none !important; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-stock--off .gb-shop-stock { display:none !important; }
body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-hover--static .gb-shop-shot__secondary { display:none !important; }

@media (max-width:1024px) {
  body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--compact .dm-page-pattern__slot--archive-products ul.products { --gb-shop-grid-cols:var(--gb-shop-grid-cols-tablet); }
}
@media (max-width:700px) {
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--split-right .gb-shop-featured-card,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--compact .gb-shop-featured-card { grid-template-columns:1fr; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--split-right .gb-shop-featured-card__art,
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--split-right .gb-shop-featured-card__meta { order:initial; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-featured--split-right .gb-shop-featured-card__meta { padding:22px 0 0; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--magazine .dm-page-pattern__slot--archive-products ul.products > li:first-child { grid-column:auto; }
  body.dm-commerce-archive.dm-gb-shop .gb-shop-grid-shell--list .gb-shop-card__link { grid-template-columns:110px minmax(0,1fr); gap:16px; }
}
