/* Figma Desktop 6 (33:120) and Desktop 5 (33:2), rechecked 2026-11-10.
   Shared cards opt in through acd2-page or ac-product-surface. */
.acd2-page, .ac-product-surface {
  --acd2-content: 1410px;
  --acd2-ink: #070707;
  --acd2-paper: #f5f5f5;
  --acd2-orange: #ff8d28;
  --acd2-card-width: 250px;
  --acd2-card-min-height: 399.805px;
  --acd2-image-width: 220px;
  --acd2-image-height: 259.874px;
  --acd2-title-width: 191px;
  --acd2-button-height: 35.992px;
  --acd2-badge-width: 70px;
  --acd2-badge-height: 20px;
  box-sizing: border-box;
  color: var(--acd2-ink);
  font-family: var(--wp--preset--font-family--body, Inter, sans-serif);
  background: var(--acd2-paper);
}
:is(.acd2-page, .ac-product-surface) * { box-sizing: border-box; }
.acd2-page.acd2-page.acd2-page {
  width: auto;
  max-width: none;
  margin-block: 0;
  padding: 8px max(14px, calc((100% - 1410px) / 2 - 1px)) 52px max(16px, calc((100% - 1410px) / 2 + 1px));
}
.acd2-page > :is(.acd1-section, .acd1-hero) {
  width: 100%;
  max-width: 1410px;
  margin-inline: auto;
}
.acd2-page > .acd1-section { margin-block: 40px 0; }
:is(.acd2-page .acd1-header, .ac-product-section-header) { align-items: baseline; margin-bottom: 22px; }
.acd2-page :is(.acd1-header .wp-block-heading, .acd2-shop-title), .ac-product-section-header .wp-block-heading {
  margin: 0;
  font: 900 58px/58px var(--wp--preset--font-family--body, Inter, sans-serif);
  font-size: 48px;
  letter-spacing: 0;
  color: var(--acd2-ink);
}
:is(.acd2-page .acd1-header .acd1-section-link, .ac-product-section-link) { font-size: 14px; line-height: 17px; }
.acd2-page .acd1-hero, .acd2-page .acd1-hero > .acd1-slide { height: 560px; min-height: 560px; }
.acd2-page .acd1-slide.acd1-slide > .wp-block-cover__inner-container {
  top: 252px; left: 10%; width: min(542.445px, 75%); max-width: 542.445px;
}
.acd2-page .acd1-slide .acd1-slide-content { max-width: 542.445px !important; }
.acd2-page .acd1-slide .acd1-slide-category { font: 400 12px/15px var(--wp--preset--font-family--body, Inter, sans-serif); margin-bottom: 15px !important; }
.acd2-page .acd1-slide .acd1-slide-title {
  max-width: 542.445px; height: 70px; min-height: 70px; margin-bottom: 20px !important;
  font-size: 32px; font-weight: 900; line-height: normal; letter-spacing: 0;
}
.acd2-page .acd1-slide .wp-block-button__link { min-width: 141px; min-height: 50px; }
.acd2-page .acd1-hero-controls { top: 213.115px; right: calc(10% - 12.041px); }
.acd2-page .acd1-hero-controls button:not(.acd1-hero-toggle) { height: 33.693px; }
.acd2-page .acd1-hero-controls button:not(.acd1-hero-toggle)::after { width: 9.922px; height: 9.922px; }
.acd2-page .acd1-posts .wp-block-post-template { column-gap: 27.629px !important; row-gap: 25px !important; }
.acd2-page .acd1-posts .acd1-post-copy { left: 40px; right: auto; width: min(520px, calc(100% - 80px)); bottom: 42px; }
.acd2-page .acd1-posts .wp-block-post:first-child .acd1-post-copy { width: min(492.433px, calc(100% - 80px)); bottom: 43px; }
.acd2-page .acd1-posts .wp-block-post-terms { font-size: 12px; line-height: 15px; margin-bottom: 13px !important; }
.acd2-page .acd1-posts .wp-block-post-title { min-height: 70px; font-size: 28px; font-weight: 900; line-height: normal; letter-spacing: 0; margin-bottom: 9px !important; }
.acd2-page .acd1-posts .wp-block-post:first-child .wp-block-post-terms { margin-bottom: 15px !important; }
.acd2-page .acd1-posts .wp-block-post:first-child .wp-block-post-title { margin-bottom: 19px !important; }
.acd2-page .acd1-events-grid { gap: 32.496px; }
.acd2-page .acd1-event > .wp-block-cover__inner-container { top: 215px; left: 10%; right: 10%; width: 80%; }
.acd2-page .acd1-event .wp-block-heading { display: flex; justify-content: center; align-items: center; min-height: 102px; margin: 0 !important; font-size: 28px; font-weight: 900; line-height: normal; letter-spacing: 0; }
.acd2-page .acd1-event p { display: flex; align-items: center; justify-content: center; min-height: 53px; margin-top: -22px !important; font-size: 14px; font-weight: 500; line-height: 18px; }
.acd2-page .acd1-event a::after { inset: -215px -12.5% -160px; }

/* One component, two measured sizes: 250px home / 257px shop. */
:is(.acd2-page, .ac-product-surface) .wc-block-product-template > li.wc-block-product.ac-product-card {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  flex: 0 0 var(--acd2-card-width) !important;
  width: var(--acd2-card-width) !important;
  min-width: var(--acd2-card-width) !important;
  max-width: var(--acd2-card-width) !important;
  min-height: var(--acd2-card-min-height);
  height: auto;
  margin: 0 !important;
  padding: 14px 14px 9px;
  gap: 0;
  border: 1px solid #f7f7f7;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 10px 1px rgb(0 0 0 / 5%);
}
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card > :is(.acd1-product-card, .acd2-card-body) { display: contents; }
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card :is(.ac-card-image, .wc-block-components-product-image) {
  flex: none;
  width: var(--acd2-image-width) !important;
  height: var(--acd2-image-height) !important;
  aspect-ratio: auto;
  align-self: center;
  margin: 0 0 10px !important;
  border-radius: 8px;
}
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card .wp-block-post-title {
  flex: none;
  width: min(100%, var(--acd2-title-width));
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: normal !important;
  letter-spacing: 0;
}
/* Repeated scope outranks the legacy shared card selectors without changing them.
   Auto margins use actual rendered content height. A hidden/absent history has no
   footprint; both del + ins stay in the same centered price block automatically.
   Do not infer this from sale status or reserve an invisible title/history row. */
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card .wp-block-woocommerce-product-price {
  flex: none;
  width: 100%;
  margin: auto 0 !important;
  padding-block: 2px;
  font-size: 18px !important;
  font-weight: 900;
  line-height: normal;
  color: var(--acd2-orange);
}
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card .wc-block-components-product-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
  gap: 2px 6px;
  margin: 0 !important;
}
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card .wc-block-components-product-price > del { order: 2; }
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card .wc-block-components-product-price > ins { order: 1; }
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card del { margin: 0; color: #4b4b4b; font-size: 8px; font-weight: 400; }
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card ins { color: var(--acd2-orange); font-size: 18px; font-weight: 900; }
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card .wc-price-history.lowest {
  flex: 0 0 100%;
  order: 3;
  width: 100%;
  margin: 1px 0 0;
  color: #4b4b4b;
  font-size: 8px;
  font-weight: 400;
  line-height: 11px;
}
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card :is(.wp-block-woocommerce-product-button, .wp-block-button__link) { flex: none; }
:is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface):is(.acd2-page, .ac-product-surface) li.ac-product-card .wp-block-button__link {
  width: 100% !important;
  min-height: var(--acd2-button-height);
  height: var(--acd2-button-height);
  border-radius: 6px;
  font-size: 12px !important;
  font-weight: 500;
  line-height: normal;
}
:is(.acd2-page, .ac-product-surface) .ac-product-badges { gap: 6px; }
:is(.acd2-page, .ac-product-surface) .ac-product-badges > .ac-product-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--acd2-badge-width);
  height: var(--acd2-badge-height);
  padding: 0 7px;
  border-radius: 4px;
  font-size: 8px;
  font-weight: 500;
  line-height: 10px;
  white-space: nowrap;
}
:is(.acd2-page, .ac-product-surface) .ac-product-badges > .ac-product-badge--custom { background: #ff383c; order: 0; }
:is(.acd2-page, .ac-product-surface) .ac-product-badges > .ac-product-badge--sale { background: #34c759; order: 1; padding-inline: 10px; }

/* 5 x 250 + 5 x 16 + 80px of the sixth = 1410px viewport. */
.acd2-page .acd1-products.acd1-products { width: 100% !important; max-width: 1410px; }
.acd2-page .acd1-products .wc-block-product-template.is-product-collection-layout-carousel {
  display: flex !important;
  align-items: stretch !important;
  gap: 16px !important;
  padding: 0 0 14px !important;
  overflow-x: auto;
  scrollbar-width: none;
}
.acd2-page .acd1-products > .acd1-product-controls { bottom: -44px; }

/* Desktop 5: 257px sidebar + 30px gap + four 257px cards with 31px gaps. */
.acd2-shop {
  --acd2-card-width: 257px;
  --acd2-card-min-height: 411px;
  --acd2-image-width: 226.16px;
  --acd2-image-height: 267.15px;
  --acd2-title-width: 196.348px;
  --acd2-button-height: 37px;
  --acd2-badge-width: 71.96px;
  --acd2-badge-height: 20.55px;
}
.acd2-shop.acd2-shop.acd2-shop { padding-top: 0; }
.acd2-shop .acd2-shop-collection { position: relative; width: 100%; max-width: 1410px; margin: 0 auto; }
.acd2-page.acd2-shop .acd2-shop-title { margin-bottom: 47px; }
.acd2-shop .acd2-catalog-layout { display: grid; grid-template-columns: 257px minmax(0, 1121px); gap: 30px; margin: 0; }
.acd2-shop .acd2-sidebar, .acd2-shop .acd2-results { min-width: 0; margin: 0; }
.acd2-shop .acd2-results .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(4, 257px) !important;
  grid-auto-rows: 1fr;
  gap: 23px 31px !important;
  justify-content: start;
  margin: 0;
  padding: 0;
}
.acd2-shop .acd2-filter-set .wc-block-product-filters__content { gap: 0; }
.acd2-shop .acd2-filter-set { margin: 7px 0 0; display: block; }
.acd2-shop .acd2-sort-title, .acd2-shop .acd2-filter-group > summary {
  margin: 0;
  font-family: inherit;
  font-size: 22px;
  font-weight: 900;
  line-height: 27px;
  letter-spacing: 0;
}
.acd2-shop .wc-block-product-filter-checkbox-list__text-wrapper { font-size: 14px; line-height: 28px; }
.acd2-shop .wc-block-product-filter-checkbox-list__input-wrapper::before { display: none; }
.acd2-shop .acd2-filter-group { border: 0; padding: 0; margin: 12px 0 0; }
.acd2-shop .acd2-filter-group > summary { display: list-item; cursor: pointer; list-style: none; }
.acd2-shop .acd2-filter-group > summary::-webkit-details-marker { display: none; }
.acd2-shop .acd2-filter-group > summary::after { display: inline-block; content: '›'; margin-left: 5px; font-family: inherit; font-size: 22px; font-weight: 400; line-height: 27px; transform: rotate(0); }
.acd2-shop .acd2-filter-group[open] > summary::after { transform: rotate(90deg); }
.acd2-shop .acd2-filter-group > :not(summary) { margin-top: 6px; }
.acd2-shop .acd2-sort { margin: 6px 0 0; font-family: inherit; }
.acd2-shop .acd2-sort .woocommerce-ordering { display: block; float: none; margin: 0; width: 100%; }
.acd2-shop .acd2-sort select { width: 147px; max-width: 100%; height: 25px; min-height: 25px; padding: 1px 16px 1px 5px; border: 1px solid #d9d9d9; border-radius: 6px; background-color: transparent; color: var(--acd2-ink); font: 400 14px/20px var(--wp--preset--font-family--body, Inter, sans-serif); }
.acd2-shop .wc-block-product-filter-checkbox-list { margin: 0; }
.acd2-shop .wc-block-product-filter-checkbox-list__item { min-height: 28px; margin: 0; padding: 0; font-size: 14px; line-height: 28px; }
.acd2-shop .wc-block-product-filter-checkbox-list input.wc-block-product-filter-checkbox-list__input { width: 14px; height: 14px; border: 1px solid #d9d9d9; border-radius: 3px; accent-color: #070707; }
.acd2-shop .wc-block-product-filter-checkbox-list label { gap: 5px; font-size: 14px; line-height: 28px; }
.acd2-shop .acd2-active-filters { position: absolute; top: 18px; left: 499px; right: 0; margin: 0; }
.acd2-shop .wc-block-product-filter-removable-chips__items .wc-block-product-filter-removable-chips__item { min-height: 25px; padding: 0 5px; border: 1px solid #d9d9d9; border-radius: 6px; background: transparent; font-size: 14px; line-height: 23px; }
.acd2-shop .acd2-result-count { margin: 20px 0 0; font-size: 14px; line-height: 28px; }
.acd2-shop .acd2-result-count .woocommerce-result-count { float: none; margin: 0; font: inherit; }
.acd2-shop .wp-block-query-pagination { margin-top: 20px; }
.acd2-shop .acd2-empty-brands { font-size: 12px; line-height: 18px; color: #4b4b4b; }
.acd2-shop .acd2-brands:has(input) .acd2-empty-brands { display: none; }
.acd2-shop .acd2-no-results { padding-block: 30px; }
.acd2-shop .acd2-no-results .wp-block-heading { font: 700 22px/28px var(--wp--preset--font-family--body, Inter, sans-serif); }

/* Overflow protection; the full mobile composition remains a separate project. */
@media (max-width: 1439px) {
  .acd2-shop .acd2-catalog-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 24px; }
  .acd2-shop .acd2-results .wc-block-product-template { grid-template-columns: repeat(auto-fit, 257px) !important; justify-content: center; }
}
@media (max-width: 1000px) {
  .acd2-shop .acd2-active-filters { position: static; margin-bottom: 20px; }
  .acd2-shop .acd2-shop-title { margin-bottom: 20px; }
}
@media (max-width: 640px) {
  .acd2-shop .acd2-catalog-layout { grid-template-columns: minmax(0, 1fr); }
  .acd2-shop .acd2-shop-title { font-size: 32px; line-height: 40px; }
}
.editor-styles-wrapper .acd2-page .acd1-hero { height: auto; }
.editor-styles-wrapper .acd2-shop .acd2-active-filters { position: static; }

/* Public archives and recommendations use the same measured card component. */
.ac-product-catalog main.ac-public-catalog.ac-public-catalog {
  width: auto;
  max-width: none;
  margin-inline: 0 !important;
  --wp--style--global--content-size: 1410px;
  --wp--style--global--wide-size: 1410px;
}
.ac-public-catalog .acd2-shop-title { max-width: 499px; }
.ac-public-catalog > .wp-block-woocommerce-breadcrumbs,
.ac-public-catalog > .wp-block-term-description,
.ac-public-catalog > .wp-block-woocommerce-store-notices { max-width: 1410px; margin-inline: auto; }
.ac-public-catalog > .wp-block-term-description:empty { display: none; }
:is(.single-product, .ac-product-catalog) .wp-block-woocommerce-breadcrumbs {
  font: 400 14px/20px var(--wp--preset--font-family--body, Inter, sans-serif);
  color: #070707;
  margin-block: 20px 24px;
}
:is(.single-product, .ac-product-catalog) .woocommerce-breadcrumb { color: inherit; font: inherit; margin: 0; }
:is(.single-product, .ac-product-catalog) .woocommerce-breadcrumb a { color: inherit; text-underline-offset: 2px; }
.single-product .ac-related-products {
  width: min(1410px, calc(100vw - 30px));
  max-width: none !important;
  margin: 40px calc(50% - min(1410px, calc(100vw - 30px)) / 2 - 1px) 40px calc(50% - min(1410px, calc(100vw - 30px)) / 2 + 1px) !important;
  padding: 0;
}
.ac-product-section-header { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.ac-product-section-link { margin: 0; flex: none; }
.ac-product-section-link a { color: #070707; text-decoration: none; }
.ac-product-section-link a:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 3px; }
.ac-related-products .wc-block-product-template {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 0 14px !important;
  overflow-x: auto;
  scrollbar-width: none;
}
.ac-related-products .ac-product-controls { justify-content: flex-end; margin: 0; gap: 8px; }
.ac-related-products .ac-product-controls[hidden] { display: none; }
.ac-product-unavailable { cursor: default !important; }
.ac-product-unavailable:hover { background: #070707 !important; color: #fff !important; }
