/* Dreamcore shop branding — Claude SAMPLE SHOP chrome on the LIVE Woo grid.
   Tokens match SAMPLE NAV. Restyles chrome only.
   Does not replace product titles, ACF specs, prices, Composite Products, or filters.
   No Vanta. No invented timer. No HTML $88 block (hero is a baked cover image). */

:root {
  --dc-ink: #0A0814;
  --dc-purple: #3B1A66;
  --dc-cyan: #0FA8D2;
  --dc-mist: #F7F5FC;
  --dc-violet: #6B3FCC;
  --dc-deep: #1A0A3D;
  --dc-font: "Space Grotesk", system-ui, sans-serif !important;
  --dc-mono: "JetBrains Mono", ui-monospace, monospace !important;
  --dc-line: rgba(10, 8, 20, 0.1);
}

/* HurryTimer hole stays in header.php. Do not invent a bar. Collapse leftover chrome. */
.dc-hurry:empty,
.dc-hurry:not(:has(*)),
.dc-hurry:has([style*="display: none"]),
.dc-hurry:has([style*="display:none"]) {
  display: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: none !important;
}

body.dc-shop,
body.tax-product_cat,
body.post-type-archive-product,
.dc-shop,
.product_archive {
  font-family: var(--dc-font);
  color: var(--dc-ink);
  background: #fff;
}

/* Cover = baked 8.8 banner image (same as home). Chrome around it only. */
.product-archive__cover,
.dc-shop-cover,
.product-archive__cover img,
.dc-shop-cover img {
  display: block;
  width: 100%;
}
.product-archive__cover img,
.dc-shop-cover img {
  height: auto;
  max-height: 560px;
  object-fit: cover;
  object-position: center;
}

/* Live Dream Build strip (category / plugin HTML). Recolor chrome, keep copy. */
.dc-shop-description,
.woocommerce-archive-description,
.term-description {
  font-family: var(--dc-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* H1 — Woo page title ("Dream Builds") */
.dc-shop .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header {
  max-width: 1472px;
  margin: 0 auto;
  padding: 28px 20px 8px;
}
.dc-shop .woocommerce-products-header__title,
.dc-shop h1.page-title,
.tax-product_cat h1.page-title,
.woocommerce-products-header__title.page-title {
  font-family: var(--dc-font) !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em;
  color: var(--dc-ink) !important;
  margin: 0 0 8px;
  text-align: left;
}

/* Archive layout chrome */
.dc-shop .product_archive,
.archive .product_archive {
  padding-block: 8px 48px;
}
.dc-shop-loop {
  width: 100%;
}

/* Sidebar filters — Claude mockup on live Filter Everything.
   Plain sidebar. No mist/lavender cards. JetBrains Mono uppercase labels.
   Price = catalog-range slider + two min/max inputs. Checkbox + label rows.
   Sort dropdown is next to the product grid (.dc-shop-toolbar), not here. */

body.dc-shop .sidebar,
body.tax-product_cat .sidebar,
body.post-type-archive-product .sidebar,
body.dc-shop #left-sidebar,
body.tax-product_cat #left-sidebar {
  font-family: var(--dc-font);
  background: transparent !important;
  box-shadow: none !important;
}

/* Kill lavender / mist boxed widgets */
body.dc-shop .sidebar .widget,
body.tax-product_cat .sidebar .widget,
body.dc-shop .wpc-filters-section,
body.tax-product_cat .wpc-filters-section,
body.dc-shop .widget.widget_wpc_filters_widget,
body.tax-product_cat .widget.widget_wpc_filters_widget,
body.dc-shop .wpc-filters-widget-wrapper,
body.dc-shop .wpc-filters-widget-containers-wrapper,
body.dc-shop .wpc-filter-content,
body.dc-shop .wpc-filters-widget-top-container,
body.tax-product_cat .wpc-filters-widget-wrapper,
body.tax-product_cat .wpc-filter-content,
.archive .wpc-filters-section,
.archive .widget.widget_wpc_sorting_widget,
.archive .widget.widget_wpc_filters_widget {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

body.dc-shop .wpc-filters-section,
body.tax-product_cat .wpc-filters-section,
.archive .wpc-filters-section {
  margin: 0 0 28px !important;
}

/* Price query must not hide sibling filter groups. FE may add
   wpc-filter-request / empty-term classes; keep the sections painted. */
body.dc-shop .wpc-filters-section,
body.tax-product_cat .wpc-filters-section,
body.dc-shop.wpc-filter-request .wpc-filters-section,
body.tax-product_cat .wpc-filters-widget-wrapper .wpc-filters-section,
.archive .wpc-filters-widget-wrapper .wpc-filters-section {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
}

/* JetBrains Mono uppercase group labels */
body.dc-shop .widget-title.wpc-filter-title,
body.dc-shop .wpc-filter-title,
body.tax-product_cat .widget-title.wpc-filter-title,
body.tax-product_cat .wpc-filter-title,
body.dc-shop .wpc-filter-header .wpc-filter-title,
.wpc-filter-title,
.archive .widget-title.wpc-filter-title {
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(10, 8, 20, 0.5) !important;
  font-weight: 500 !important;
  width: 100% !important;
  text-align: left !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Price slider is VISIBLE. Catalog min/max bar + synced inputs.
   Clean thin track — not the old 26px lavender pill card. */
body.dc-shop .wpc-filters-range-slider-wrapper,
body.tax-product_cat .wpc-filters-range-slider-wrapper,
.archive .wpc-filters-range-slider-wrapper {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  min-height: 28px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 10px 6px !important;
  overflow: visible !important;
  pointer-events: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.dc-shop .wpc-filters-range-inputs .ui-slider,
body.tax-product_cat .wpc-filters-range-inputs .ui-slider,
body.dc-shop .wpc-filters-range-inputs .ui-slider-horizontal,
body.tax-product_cat .wpc-filters-range-inputs .ui-slider-horizontal,
.archive .wpc-filters-range-inputs .ui-slider-horizontal {
  display: block !important;
  visibility: visible !important;
  position: relative !important;
  height: 4px !important;
  min-height: 4px !important;
  width: 100% !important;
  margin: 10px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: rgba(10, 8, 20, 0.12) !important;
  pointer-events: auto !important;
  overflow: visible !important;
}

body.dc-shop .wpc-filters-range-inputs .ui-slider-range,
body.tax-product_cat .wpc-filters-range-inputs .ui-slider-range,
.archive .wpc-filters-range-inputs .ui-slider-range {
  display: block !important;
  visibility: visible !important;
  height: 4px !important;
  min-height: 4px !important;
  background: #3B1A66 !important;
  border: 0 !important;
  border-radius: 4px !important;
}

body.dc-shop .wpc-filters-range-inputs .ui-slider-handle,
body.tax-product_cat .wpc-filters-range-inputs .ui-slider-handle,
body.dc-shop .ui-slider-handle.ui-corner-all.ui-state-default,
body.tax-product_cat .ui-slider-handle.ui-corner-all.ui-state-default {
  display: block !important;
  visibility: visible !important;
  width: 16px !important;
  height: 16px !important;
  top: 50% !important;
  margin-top: -8px !important;
  margin-left: -8px !important;
  border: 2px solid #3B1A66 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(10, 8, 20, 0.18) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  outline: none !important;
}

body.dc-shop .ui-slider-handle.ui-corner-all.ui-state-default:nth-of-type(1),
body.dc-shop .ui-slider-handle.ui-corner-all.ui-state-default:nth-of-type(2),
body.tax-product_cat .ui-slider-handle.ui-corner-all.ui-state-default:nth-of-type(1),
body.tax-product_cat .ui-slider-handle.ui-corner-all.ui-state-default:nth-of-type(2) {
  margin-left: -8px !important;
}

/* Hide leftover "Sort by Price: 1600 — 11550" readout under the inputs.
   FE prints it in .wpc-filters-range-values-wrapper when the slider is off.
   Also hide range-reader / selected-values / caption clones. */
body.dc-shop .wpc-filters-range-values-wrapper,
body.tax-product_cat .wpc-filters-range-values-wrapper,
.archive .wpc-filters-range-values-wrapper,
body.dc-shop .wpc-filters-range-values-wrapper p,
body.tax-product_cat .wpc-filters-range-values-wrapper p,
body.dc-shop .wpc-filters-range-reader,
body.tax-product_cat .wpc-filters-range-reader,
body.dc-shop .wpc-filters-range-caption,
body.tax-product_cat .wpc-filters-range-caption,
body.dc-shop .wpc-filters-selected-values,
body.tax-product_cat .wpc-filters-selected-values,
body.dc-shop .wpc-filter-selected-values,
body.tax-product_cat .wpc-filter-selected-values,
body.dc-shop .wpc-selected-values,
body.tax-product_cat .wpc-selected-values,
.archive .wpc-filters-range-reader,
.archive .wpc-filters-range-caption,
.archive .wpc-filter-selected-values {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border: 0 !important;
}

/* Two equal min/max inputs on one row. FE default is max-width:47% + 3% gap. */
body.dc-shop .wpc-filters-range-inputs,
body.tax-product_cat .wpc-filters-range-inputs,
body.dc-shop form.wpc-filter-range-form,
body.tax-product_cat form.wpc-filter-range-form {
  display: block !important;
  width: 100% !important;
}

body.dc-shop .wpc-filters-range-wrapper,
body.tax-product_cat .wpc-filters-range-wrapper,
.archive .wpc-filters-range-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 220px !important;
}

body.dc-shop .wpc-filters-range-column,
body.tax-product_cat .wpc-filters-range-column,
body.dc-shop .wpc-filters-range-min-column,
body.dc-shop .wpc-filters-range-max-column,
body.tax-product_cat .wpc-filters-range-min-column,
body.tax-product_cat .wpc-filters-range-max-column,
.archive .wpc-filters-range-min-column,
.archive .wpc-filters-range-max-column {
  flex: 0 0 96px !important;
  width: 96px !important;
  max-width: 96px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.dc-shop input.wpc-filters-range-min,
body.dc-shop input.wpc-filters-range-max,
body.tax-product_cat input.wpc-filters-range-min,
body.tax-product_cat input.wpc-filters-range-max,
.archive input.wpc-filters-range-min,
.archive input.wpc-filters-range-max,
body.dc-shop .wpc-filters-range-wrapper input[type="number"],
body.tax-product_cat .wpc-filters-range-wrapper input[type="number"] {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  border-radius: 8px !important;
  border: 1.5px solid rgba(10, 8, 20, 0.18) !important;
  font-family: var(--dc-font) !important;
  font-size: 13px !important;
  color: var(--dc-ink) !important;
  background: #fff !important;
  padding: 8px 10px !important;
}

body.dc-shop input.wpc-filters-range-min::placeholder,
body.dc-shop input.wpc-filters-range-max::placeholder,
body.tax-product_cat input.wpc-filters-range-min::placeholder,
body.tax-product_cat input.wpc-filters-range-max::placeholder {
  color: rgba(10, 8, 20, 0.38) !important;
  font-family: "Space Grotesk", system-ui, sans-serif !important;
  font-weight: 400 !important;
}

/* Sidebar sort widget stays in the DOM for FE, but is not shown.
   Woo catalog_ordering is rendered next to the product grid. */
body.dc-shop .widget.widget_wpc_sorting_widget,
body.tax-product_cat .widget.widget_wpc_sorting_widget,
.archive .widget.widget_wpc_sorting_widget {
  display: none !important;
}

/* Checkbox + label rows. Not outlined chips. Radios painted as squares. */
body.dc-shop .wpc-filters-main-wrap li.wpc-term-item,
body.tax-product_cat .wpc-filters-main-wrap li.wpc-term-item,
body.dc-shop .wpc-filter-content li.wpc-term-item {
  list-style: none !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}

body.dc-shop .wpc-term-item-content-wrapper,
body.tax-product_cat .wpc-term-item-content-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 0 !important;
  background: transparent !important;
}

body.dc-shop .wpc-term-item-content-wrapper label,
body.tax-product_cat .wpc-term-item-content-wrapper label,
body.dc-shop ul.wpc-filters-ul-list.wpc-filters-checkboxes .wpc-checkbox-item.wpc-term-item.wpc-has-children > .wpc-term-item-content-wrapper label,
body.tax-product_cat ul.wpc-filters-ul-list.wpc-filters-checkboxes .wpc-checkbox-item.wpc-term-item.wpc-has-children > .wpc-term-item-content-wrapper label,
body.dc-shop .wpc-filters-chips a,
body.dc-shop .wpc-term-item a,
body.tax-product_cat .wpc-term-item a,
.wpc-filters-main-wrap .wpc-term-item-content-wrapper label,
.wpc-chip,
.wpc-filters-chips .wpc-chip,
ul.wpc-filters-ul-list.wpc-filters-checkboxes .wpc-checkbox-item.wpc-term-item.wpc-has-children > .wpc-term-item-content-wrapper label {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-family: var(--dc-font) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  color: var(--dc-ink) !important;
  cursor: pointer;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.dc-shop ul.wpc-filters-ul-list.wpc-filters-checkboxes .wpc-checkbox-item.wpc-term-item.wpc-has-children > .wpc-term-item-content-wrapper label:before,
body.dc-shop ul.wpc-filters-ul-list.wpc-filters-checkboxes .wpc-checkbox-item.wpc-term-item.wpc-has-children > .wpc-term-item-content-wrapper label:after,
body.tax-product_cat ul.wpc-filters-ul-list.wpc-filters-checkboxes .wpc-checkbox-item.wpc-term-item.wpc-has-children > .wpc-term-item-content-wrapper label:before,
body.tax-product_cat ul.wpc-filters-ul-list.wpc-filters-checkboxes .wpc-checkbox-item.wpc-term-item.wpc-has-children > .wpc-term-item-content-wrapper label:after,
ul.wpc-filters-ul-list.wpc-filters-checkboxes .wpc-checkbox-item.wpc-term-item.wpc-has-children > .wpc-term-item-content-wrapper label:before,
ul.wpc-filters-ul-list.wpc-filters-checkboxes .wpc-checkbox-item.wpc-term-item.wpc-has-children > .wpc-term-item-content-wrapper label:after {
  display: none !important;
  content: none !important;
}

/* Theme hid parent-term checkboxes to fake outlined chips — put them back */
body.dc-shop ul.wpc-filters-ul-list.wpc-filters-checkboxes .wpc-checkbox-item.wpc-term-item.wpc-has-children > .wpc-term-item-content-wrapper input,
body.tax-product_cat ul.wpc-filters-ul-list.wpc-filters-checkboxes .wpc-checkbox-item.wpc-term-item.wpc-has-children > .wpc-term-item-content-wrapper input,
body.dc-shop .wpc-term-item-content-wrapper input,
body.tax-product_cat .wpc-term-item-content-wrapper input {
  display: inline-block !important;
  visibility: visible !important;
  position: static !important;
  opacity: 1 !important;
}

body.dc-shop .wpc-filters-main-wrap li.wpc-term-item input[type="checkbox"],
body.dc-shop .wpc-filters-main-wrap li.wpc-term-item input[type="radio"],
body.tax-product_cat .wpc-filters-main-wrap li.wpc-term-item input[type="checkbox"],
body.tax-product_cat .wpc-filters-main-wrap li.wpc-term-item input[type="radio"],
.wpc-filters-main-wrap li.wpc-term-item input[type="checkbox"],
.wpc-filters-main-wrap li.wpc-term-item input[type="radio"] {
  -webkit-appearance: checkbox !important;
  appearance: checkbox !important;
  accent-color: #3B1A66 !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  min-height: 15px !important;
  border-radius: 2px !important;
  border: 1.5px solid rgba(10, 8, 20, 0.35) !important;
  background: #fff !important;
  margin: 0 !important;
  flex: 0 0 15px;
  box-shadow: none !important;
}

body.dc-shop .wpc-filters-main-wrap li.wpc-term-item input[type="checkbox"]::after,
body.dc-shop .wpc-filters-main-wrap li.wpc-term-item input[type="radio"]::after,
.wpc-filters-main-wrap li.wpc-term-item input[type="checkbox"]::after,
.wpc-filters-main-wrap li.wpc-term-item input[type="radio"]::after {
  display: none !important;
  background: none !important;
}

/* Labels view (Graphics/Processors were bare text) — checkbox square + label */
body.dc-shop .wpc-filters-labels li.wpc-term-item > a,
body.dc-shop ul.wpc-filters-ul-list.wpc-filters-labels .wpc-term-item a,
body.dc-shop .wpc-filters-ul-list.wpc-filter-has-no-inputs .wpc-term-item a {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 14px !important;
  color: var(--dc-ink) !important;
  text-decoration: none !important;
}
body.dc-shop .wpc-filters-labels li.wpc-term-item > a::before,
body.dc-shop ul.wpc-filters-ul-list.wpc-filters-labels .wpc-term-item a::before,
body.dc-shop .wpc-filters-ul-list.wpc-filter-has-no-inputs .wpc-term-item a::before {
  content: "" !important;
  display: inline-block !important;
  width: 15px !important;
  height: 15px !important;
  border: 1.5px solid rgba(10, 8, 20, 0.35) !important;
  border-radius: 2px !important;
  background: #fff !important;
  flex: 0 0 15px;
}

body.dc-shop .wpc-filter-chips-list .wpc-filter-chip a,
body.dc-shop .wpc-chip {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Clear all filters — text link, not a purple button */
body.dc-shop .wpc-chip-reset-all a,
body.dc-shop .wpc-filters-widget-controls-item > a,
body.dc-shop a.wpc-filters-reset-button,
body.dc-shop .dc-shop-clear-filters,
.archive .wpc-filters-widget-containers-wrapper .wpc-filters-widget-top-container .wpc-chip-reset-all a {
  background: none !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #6B3FCC !important;
  font-family: var(--dc-font) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  padding: 0 !important;
  width: auto !important;
  box-shadow: none !important;
  text-align: left !important;
}
body.dc-shop .wpc-chip-reset-all a .wpc-chip-content::before,
.archive .wpc-chip-reset-all a .wpc-chip-content::before {
  content: "Clear all filters" !important;
  position: static !important;
  transform: none !important;
  color: #6B3FCC !important;
}

body.dc-shop .wpc-toggle-children-list,
body.tax-product_cat .wpc-toggle-children-list {
  position: static !important;
  width: auto !important;
  height: auto !important;
}

body.dc-shop .wpc-term-count,
body.tax-product_cat .wpc-term-count {
  color: rgba(10, 8, 20, 0.45);
  font-size: 13px;
}

/* Toolbar: sort next to the product grid */
.dc-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin: 0 0 24px;
  padding: 0 0 16px;
  border-bottom: 1px solid rgba(10, 8, 20, 0.1);
}
.dc-shop-toolbar__count,
.dc-shop-toolbar .woocommerce-result-count {
  font-size: 14px;
  color: rgba(10, 8, 20, 0.6);
  margin: 0;
}
.dc-shop-toolbar__sort {
  display: flex;
  align-items: center;
  gap: 10px;
}
.dc-shop-toolbar__sort-label {
  font-size: 13.5px;
  color: rgba(10, 8, 20, 0.5);
}
.dc-shop-toolbar .woocommerce-ordering {
  margin: 0;
}
.dc-shop-toolbar select.orderby,
.dc-shop .woocommerce-ordering select,
.dc-shop .wpc-orderby-select {
  padding: 9px 14px !important;
  border-radius: 8px !important;
  border: 1.5px solid rgba(10, 8, 20, 0.18) !important;
  font-family: var(--dc-font) !important;
  font-size: 13.5px !important;
  background: #fff !important;
  color: var(--dc-ink) !important;
}

.dc-shop-clear-filters {
  display: inline-block;
  margin-top: 8px;
  color: #6B3FCC !important;
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none !important;
}

body.dc-shop .woocommerce-products-filters__open-button {
  font-family: var(--dc-font);
  font-weight: 600;
  border-radius: 6px;
  border-color: var(--dc-purple);
  color: var(--dc-purple);
}

/* Product cards — photo first, name under photo, ACF specs, purple price, Configure Now.
   Must beat theme.min.css (.woocommerce ul.products li.product .woocommerce-loop-product__title
   { text-align:center; padding:24px 16px!important } and .price { background:#592b82 }).
   Targets .dc-shop AND .tax-product_cat AND Filter Everything wrappers. */

body.dc-shop ul.products,
body.tax-product_cat ul.products,
body.post-type-archive-product ul.products,
body.woocommerce ul.products,
.wpc-filters-main-wrap ul.products,
.wpc-products-container ul.products,
.wpc-filter-content ul.products,
.dc-shop-loop ul.products {
  gap: 16px !important;
}

body.dc-shop ul.products li.product,
body.tax-product_cat ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.woocommerce ul.products li.product.dc-shop-card,
.wpc-filters-main-wrap ul.products li.product,
.woocommerce ul.products li.product.dc-shop-card,
.archive .product.type-product {
  background: #fff !important;
  border: 1px solid var(--dc-line) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  transition: border-color 0.16s ease;
  transform: none !important;
}

body.dc-shop ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover,
body.woocommerce ul.products li.product.dc-shop-card:hover,
.archive .product.type-product:hover {
  border-color: var(--dc-violet) !important;
  transform: none !important;
}

/* li.product > a is a flex column so CSS order can paint approved anatomy
   even if a cached template still emits title-before-photo. */
body.dc-shop ul.products li.product > a,
body.tax-product_cat ul.products li.product > a,
body.post-type-archive-product ul.products li.product > a,
body.woocommerce ul.products li.product .woocommerce-loop-product__link,
.dc-shop-card .woocommerce-loop-product__link,
.wpc-filters-main-wrap ul.products li.product > a,
.archive .product_archive .woocommerce-loop-product__link {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  text-decoration: none !important;
  color: var(--dc-ink) !important;
}

/* order: media 1, title 2, specs/body 3, foot (price+cfg) 4 */
body.dc-shop ul.products li.product .dc-shop-card__media,
body.tax-product_cat ul.products li.product .dc-shop-card__media,
body.woocommerce ul.products li.product .dc-shop-card__media,
body.dc-shop ul.products li.product > a > img,
body.tax-product_cat ul.products li.product > a > img {
  order: 1 !important;
}

body.dc-shop ul.products li.product .woocommerce-loop-product__title,
body.dc-shop ul.products li.product .dc-shop-card__title,
body.dc-shop ul.products li.product .dc-shop-card__name,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .dc-shop-card__title,
body.dc-shop ul.products li.product .dc-shop-card__name,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product.dc-shop-card .woocommerce-loop-product__title,
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .h3,
.wpc-filters-main-wrap ul.products li.product .woocommerce-loop-product__title {
  order: 2 !important;
}

body.dc-shop ul.products li.product .dc-shop-card__body,
body.tax-product_cat ul.products li.product .dc-shop-card__body,
body.dc-shop ul.products li.product .c-product-default-components,
body.tax-product_cat ul.products li.product .c-product-default-components,
body.dc-shop ul.products li.product .dc-shop-card__specs,
.wpc-filters-main-wrap ul.products li.product .c-product-default-components {
  order: 3 !important;
}

body.dc-shop ul.products li.product .dc-shop-card__foot,
body.tax-product_cat ul.products li.product .dc-shop-card__foot,
body.dc-shop ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.dc-shop ul.products li.product .dc-shop-card__cfg,
body.dc-shop ul.products li.product a.btn,
body.tax-product_cat ul.products li.product a.btn,
.wpc-filters-main-wrap ul.products li.product .price,
.wpc-filters-main-wrap ul.products li.product .btn {
  order: 4 !important;
}

/* 20260901go photo: contain, no 180px lock, badge sits in padding */
body.dc-shop ul.products li.product .dc-shop-card__media,
body.tax-product_cat ul.products li.product .dc-shop-card__media,
.woocommerce ul.products li.product.dc-shop-card .dc-shop-card__media {
  height: auto !important;
  max-height: none !important;
  overflow: visible;
  background: var(--dc-mist);
  position: relative;
  margin: 0 !important;
  padding: 16px !important;
  box-sizing: border-box;
}

body.dc-shop ul.products li.product .dc-shop-card__media img,
body.tax-product_cat ul.products li.product .dc-shop-card__media img,
body.dc-shop ul.products li.product img.attachment-woocommerce_thumbnail,
body.dc-shop ul.products li.product img.woocommerce-placeholder,
body.dc-shop ul.products li.product a img,
body.tax-product_cat ul.products li.product a img,
body.woocommerce ul.products li.product.dc-shop-card img,
.wpc-filters-main-wrap ul.products li.product img,
.archive .product.type-product img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  margin: 0 !important;
}

/* Title is a NAME under the photo — 14.5px / 600 / left / ink.
   NOT the live purple full-width uppercase banner. */
body.dc-shop ul.products li.product .woocommerce-loop-product__title,
body.dc-shop ul.products li.product .dc-shop-card__title,
body.dc-shop ul.products li.product .dc-shop-card__name,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .dc-shop-card__title,
body.dc-shop ul.products li.product .dc-shop-card__name,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product.dc-shop-card .woocommerce-loop-product__title,
body.woocommerce ul.products li.product .h3,
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.wpc-filters-main-wrap ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--dc-font) !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  text-align: left !important;
  color: var(--dc-ink) !important;
  background: transparent !important;
  background-color: transparent !important;
  padding: 16px 16px 0 !important;
  margin: 0 !important;
  width: auto !important;
  display: block !important;
}

/* ACF product_default_components — keep existing rows, no invented fields */
body.dc-shop ul.products li.product .dc-shop-card__body,
body.tax-product_cat ul.products li.product .dc-shop-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

body.dc-shop .c-product-default-components,
body.tax-product_cat .c-product-default-components,
.dc-shop-card__specs,
.dc-shop-card__specs .c-product-default-components,
.wpc-filters-main-wrap .c-product-default-components {
  background: transparent !important;
  padding: 12px 16px 16px !important;
  font-family: var(--dc-font) !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  flex: 1 1 auto;
  color: var(--dc-ink);
}

body.dc-shop .c-product-default-components p,
body.tax-product_cat .c-product-default-components p,
.wpc-filters-main-wrap .c-product-default-components p {
  color: var(--dc-ink) !important;
  margin: 0 0 7px !important;
  font-weight: 500 !important;
  font-size: 12.5px !important;
}

body.dc-shop .c-product-default-components p:last-child,
body.tax-product_cat .c-product-default-components p:last-child {
  margin-bottom: 0 !important;
}

/* Purple #3B1A66 price bar, white type, struck at 55% opacity */
body.dc-shop ul.products li.product .dc-shop-card__foot,
body.tax-product_cat ul.products li.product .dc-shop-card__foot {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  width: 100%;
}

body.dc-shop ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price,
body.woocommerce ul.products li.product .price,
body.woocommerce ul.products li.product.dc-shop-card .price,
.dc-shop-card__foot .price,
.wpc-filters-main-wrap ul.products li.product .price {
  background: #3B1A66 !important;
  background-color: #3B1A66 !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  text-align: center !important;
  border-radius: 0 !important;
  font-family: var(--dc-font) !important;
  width: 100% !important;
}

body.dc-shop ul.products li.product .price del,
body.dc-shop ul.products li.product .price del .woocommerce-Price-amount,
body.tax-product_cat ul.products li.product .price del,
body.woocommerce ul.products li.product .price del,
body.woocommerce ul.products li.product .price del * {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  opacity: 1 !important;
}

body.dc-shop ul.products li.product .price ins,
body.dc-shop ul.products li.product .price ins .woocommerce-Price-amount,
body.tax-product_cat ul.products li.product .price ins,
body.woocommerce ul.products li.product .price ins,
body.woocommerce ul.products li.product .price ins * {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  background: transparent !important;
}

body.dc-shop ul.products li.product .price > .woocommerce-Price-amount,
body.dc-shop ul.products li.product .price > .amount,
body.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 600 !important;
}

/* Configure Now — mist bar, purple uppercase, existing permalink */
body.dc-shop ul.products li.product .btn,
body.dc-shop ul.products li.product a.btn,
body.dc-shop ul.products li.product .dc-shop-card__cfg,
body.tax-product_cat ul.products li.product .btn,
body.tax-product_cat ul.products li.product a.btn,
body.woocommerce ul.products li.product .btn,
.archive .product.type-product .btn,
.wpc-filters-main-wrap ul.products li.product .btn {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  background: #F7F5FC !important;
  background-color: #F7F5FC !important;
  color: #3B1A66 !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--dc-font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  box-shadow: none !important;
}

body.dc-shop ul.products li.product .btn:hover,
body.tax-product_cat ul.products li.product .btn:hover,
.dc-shop-card__cfg:hover {
  background: #efeaf8 !important;
  color: #3B1A66 !important;
}

/* Hide leftover sale/rating chrome on the card */
body.dc-shop ul.products li.product .onsale,
body.dc-shop ul.products li.product .star-rating,
body.tax-product_cat ul.products li.product .onsale {
  display: none !important;
}

/* Hide Woo numbered pager. Keep the nav in the DOM for next-page href. */
body.dc-shop .woocommerce-pagination,
body.tax-product_cat .woocommerce-pagination,
body.post-type-archive-product .woocommerce-pagination,
body.dc-shop nav.woocommerce-pagination,
body.tax-product_cat nav.woocommerce-pagination {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

.dc-shop-infinite-sentinel {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  pointer-events: none;
  background: transparent;
}

.dc-shop-infinite-status {
  display: none;
  text-align: center;
  padding: 20px 8px 4px;
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 13px;
  color: rgba(10, 8, 20, 0.45);
}

.dc-shop-infinite-status[hidden] {
  display: none !important;
}

body.dc-shop-infinite-loading .dc-shop-infinite-status,
body.dc-shop-infinite-loading .dc-shop-infinite-status[hidden] {
  display: block !important;
  visibility: visible !important;
}

/* Pagination (hidden; kept only as unused fallback) */
body.dc-shop .woocommerce-pagination ul.page-numbers,
body.tax-product_cat .woocommerce-pagination ul.page-numbers {
  border-radius: 8px;
  overflow: hidden;
  border-color: var(--dc-line);
}
body.dc-shop .woocommerce-pagination .page-numbers,
body.tax-product_cat .woocommerce-pagination .page-numbers {
  font-family: var(--dc-font);
  font-weight: 600;
  width: 38px;
  height: 38px;
}
body.dc-shop .woocommerce-pagination .page-numbers.current,
body.tax-product_cat .woocommerce-pagination .page-numbers.current {
  background: var(--dc-purple) !important;
  color: #fff !important;
}

body.dc-shop .woocommerce-notices-wrapper,
body.dc-shop .woocommerce-info {
  font-family: var(--dc-font);
}

/* 20260901go2 cols: phone<992=1. Sidebar-visible >=992 FLOOR 3 (never 1 or 2). 1600+=4. Beat Woo .columns-N 1fr leak. */
html body.dc-shop ul.products,
html body.tax-product_cat ul.products,
html body.post-type-archive-product ul.products,
html body.archive ul.products,
html body.woocommerce ul.products,
html body.woocommerce ul.products[class*="columns-"],
html body.dc-shop ul.products[class*="columns-"],
html body.tax-product_cat ul.products[class*="columns-"],
html body.woocommerce ul.products.columns-1,
html body.woocommerce ul.products.columns-2,
html body.woocommerce ul.products.columns-3,
html body.woocommerce ul.products.columns-4,
html body.woocommerce ul.products.columns-5,
html body.woocommerce ul.products.columns-6,
.wpc-filters-main-wrap ul.products,
.wpc-products-container ul.products,
.dc-shop-loop ul.products {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}
html body.dc-shop ul.products li.product,
html body.tax-product_cat ul.products li.product,
html body.woocommerce ul.products li.product,
html body.woocommerce ul.products[class*="columns-"] li.product,
.wpc-filters-main-wrap ul.products li.product {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  flex: none !important;
  clear: none !important;
}
@media (min-width: 992px) {
  html body.dc-shop ul.products,
  html body.tax-product_cat ul.products,
  html body.post-type-archive-product ul.products,
  html body.archive ul.products,
  html body.woocommerce ul.products,
  html body.woocommerce ul.products[class*="columns-"],
  html body.dc-shop ul.products[class*="columns-"],
  html body.tax-product_cat ul.products[class*="columns-"],
  html body.woocommerce ul.products.columns-1,
  html body.woocommerce ul.products.columns-2,
  html body.woocommerce ul.products.columns-3,
  html body.woocommerce ul.products.columns-4,
  html body.woocommerce ul.products.columns-5,
  html body.woocommerce ul.products.columns-6,
  .wpc-filters-main-wrap ul.products,
  .wpc-products-container ul.products,
  .dc-shop-loop ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1600px) {
  html body.dc-shop ul.products,
  html body.tax-product_cat ul.products,
  html body.post-type-archive-product ul.products,
  html body.archive ul.products,
  html body.woocommerce ul.products,
  html body.woocommerce ul.products[class*="columns-"],
  html body.dc-shop ul.products[class*="columns-"],
  html body.tax-product_cat ul.products[class*="columns-"],
  html body.woocommerce ul.products.columns-1,
  html body.woocommerce ul.products.columns-2,
  html body.woocommerce ul.products.columns-3,
  html body.woocommerce ul.products.columns-4,
  .wpc-filters-main-wrap ul.products,
  .wpc-products-container ul.products,
  .dc-shop-loop ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}


/* ========== 20260819f shop: Space Grotesk + labeled specs + edition overlay ========== */
body.dc-shop,
body.tax-product_cat,
body.post-type-archive-product,
body.woocommerce,
body.dc-shop *,
body.tax-product_cat .product_archive,
body.dc-shop .woocommerce-products-header__title,
body.dc-shop h1, body.dc-shop h2, body.dc-shop h3,
body.dc-shop .btn, body.dc-shop button {
  font-family: "Space Grotesk", system-ui, sans-serif !important;
}

body.dc-shop a { color: #0FA8D2; }

/* Keep the baked 8.8 image. Restyle the strip/cover chrome. */
body.dc-shop .product-archive__cover,
body.tax-product_cat .product-archive__cover,
body.dc-shop .dc-shop-cover,
body.tax-product_cat .dc-shop-cover {
  display: block !important;
  width: 100% !important;
  background: #0A0814;
}
body.dc-shop .product-archive__cover img,
body.tax-product_cat .product-archive__cover img,
body.dc-shop .dc-shop-cover img {
  width: 100% !important;
  height: auto !important;
  max-height: none;
  object-fit: cover;
}

body.dc-shop .dc-shop-description,
body.tax-product_cat .dc-shop-description,
body.dc-shop .woocommerce-archive-description,
body.dc-shop .term-description {
  background: #0A0814;
  color: #fff;
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
}

/* Edition wordmark overlay on the photo */
body.dc-shop .dc-shop-card__media,
body.tax-product_cat .dc-shop-card__media {
  position: relative !important;
}
body.dc-shop .dc-shop-card__edition,
body.tax-product_cat .dc-shop-card__edition,
body.woocommerce .dc-shop-card__edition,
.dc-shop-card__media .dc-shop-card__edition {
  position: absolute !important;
  top: 10px !important;
  left: auto !important;
  right: 10px !important;
  z-index: 3;
  background: rgba(255, 255, 255, 0.92);
  color: #3B1A66 !important;
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 9px;
  border-radius: 999px;
  font-weight: 500;
  pointer-events: none;
  line-height: 1.2;
  text-align: right !important;
}

/* Labeled ACF spec rows */
body.dc-shop .dc-shop-card__specs,
body.tax-product_cat .dc-shop-card__specs,
body.dc-shop .c-product-default-components.dc-shop-card__specs {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  padding: 12px 16px 16px !important;
}
.dc-shop-card__spec {
  display: flex;
  gap: 8px;
  font-size: 12.5px;
  margin: 0 !important;
  color: #0A0814;
  align-items: flex-start;
}
.dc-shop-card__spec span {
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-size: 9.5px !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(10, 8, 20, 0.4);
  min-width: 36px;
  flex: 0 0 36px;
  padding-top: 2px;
}
.dc-shop-card__spec b {
  font-family: "Space Grotesk", system-ui, sans-serif !important;
  font-weight: 500 !important;
  color: #0A0814;
}

body.dc-shop .c-product-default-components p {
  display: none !important;
}


/* ========== 20260820ab shop band +15% ==========
   Centered 1472 band, 20px air both sides (even), sidebar 240, 40px gap.
   Do not stretch the filter column to fill the hole. Hero stays full-bleed. */
@media (min-width: 992px) {
  body.dc-shop .product_archive > .row,
  body.tax-product_cat .product_archive > .row,
  body.post-type-archive-product .product_archive > .row {
    display: grid !important;
    grid-template-columns: 240px minmax(0, 1fr) !important;
    column-gap: 40px !important;
    row-gap: 0 !important;
    align-items: start !important;
    max-width: 1472px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
  }

  body.dc-shop #left-sidebar,
  body.tax-product_cat #left-sidebar,
  body.post-type-archive-product #left-sidebar,
  body.dc-shop .product_archive > .row > .sidebar,
  body.tax-product_cat .product_archive > .row > .sidebar {
    width: 240px !important;
    max-width: 240px !important;
    min-width: 0 !important;
    flex: 0 0 240px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: sticky;
    top: 96px;
  }

  body.dc-shop .product_archive > .row > #primary,
  body.dc-shop .product_archive > .row > .content-area,
  body.tax-product_cat .product_archive > .row > #primary,
  body.tax-product_cat .product_archive > .row > .content-area,
  body.post-type-archive-product .product_archive > .row > #primary {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

body.dc-shop .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header {
  max-width: 1472px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* Dual-handle track must keep a real height. height:auto collapses
   absolutely-positioned handles and kills drag. */
body.dc-shop .wpc-filters-range-slider-wrapper,
body.tax-product_cat .wpc-filters-range-slider-wrapper,
.archive .wpc-filters-range-slider-wrapper {
  overflow: visible !important;
  pointer-events: auto !important;
  min-height: 28px !important;
  padding: 12px 8px !important;
}

body.dc-shop .wpc-filters-range-inputs .ui-slider,
body.tax-product_cat .wpc-filters-range-inputs .ui-slider,
body.dc-shop .wpc-filters-range-inputs .ui-slider-horizontal,
body.tax-product_cat .wpc-filters-range-inputs .ui-slider-horizontal,
.archive .wpc-filters-range-inputs .ui-slider-horizontal {
  height: 4px !important;
  min-height: 4px !important;
  max-height: 4px !important;
  pointer-events: auto !important;
  overflow: visible !important;
  cursor: pointer !important;
}

body.dc-shop .wpc-filters-range-inputs .ui-slider-handle,
body.tax-product_cat .wpc-filters-range-inputs .ui-slider-handle,
body.dc-shop .ui-slider-handle.ui-corner-all.ui-state-default,
body.tax-product_cat .ui-slider-handle.ui-corner-all.ui-state-default {
  pointer-events: auto !important;
  touch-action: none !important;
  z-index: 5 !important;
  cursor: pointer !important;
}


/* Price chips: never show raw meta key "_price" */
body.dc-shop .wpc-filter-chip.wpc-chip-_price-min__price .wpc-filter-chip-name,
body.dc-shop .wpc-filter-chip.wpc-chip-_price-max__price .wpc-filter-chip-name,
body.tax-product_cat .wpc-filter-chip.wpc-chip-_price-min__price .wpc-filter-chip-name,
body.tax-product_cat .wpc-filter-chip.wpc-chip-_price-max__price .wpc-filter-chip-name {
  /* text rewritten by dc-shop.js / wpc_chips_term_name */
}
