/* Catalog surfaces. Native WooCommerce and CommerceKit controls keep their behaviour. */
body.archive.woocommerce .woocommerce-products-header {
  display: block;
  padding: 32px 0 30px;
  margin: 0 0 28px;
  background: transparent;
  border-bottom: 1px solid var(--sg-border, #d9dadd);
  color: var(--sg-text, #222831);
}
body.archive.woocommerce .fn-catalog-eyebrow {
  margin: 0 0 14px;
  font: 600 11px/1.5 var(--sg-body, Inter, sans-serif);
  letter-spacing: .22em;
  text-transform: uppercase;
}
body.archive.woocommerce .woocommerce-products-header h1 {
  float: none;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  color: inherit;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(38px, 4.5vw, 60px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}
body.archive.woocommerce .fn-catalog-lead,
body.archive.woocommerce .brand-archive-description {
  float: none;
  width: auto;
  max-width: 760px;
  margin: 18px 0 0;
  padding: 0;
  font: 400 15px/1.7 var(--sg-body, Inter, sans-serif);
  color: var(--sg-muted, #49505c);
}
body.archive.woocommerce .brand-archive-faq {
  max-width: 760px;
  margin-top: 24px;
  padding-top: 20px;
}
body.archive.woocommerce .brand-archive-faq__question {
  min-height: 44px;
}
/* A catalog introduction should leave room for the products themselves. */
@media (min-width: 993px) {
  body.archive.woocommerce .woocommerce-products-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 10px 48px;
    padding: 16px 0 22px;
    margin-bottom: 20px;
  }
  body.archive.woocommerce .fn-catalog-eyebrow { grid-column: 1 / -1; margin: 0; }
  body.archive.woocommerce .woocommerce-products-header h1 { grid-column: 1 / -1; font-size: clamp(38px, 4.2vw, 52px); }
  body.archive.woocommerce .woocommerce-products-header:has(> .fn-catalog-lead, > .brand-archive-description) h1 { grid-column: 1; }
  body.archive.woocommerce .fn-catalog-lead,
  body.archive.woocommerce .brand-archive-description { grid-column: 2; grid-row: 2; margin: 0; }
  body.archive.woocommerce .brand-archive-faq { grid-column: 1 / -1; }
}
body.archive.woocommerce .shoptimizer-sorting {
  padding: 14px;
  background: #fff;
  border: 1px solid var(--sg-border, #d9dadd);
  gap: 12px;
  margin-bottom: 24px;
}
body.archive.woocommerce .shoptimizer-sorting.sorting-end { display: none; }
body.archive.woocommerce .shoptimizer-sorting select.orderby {
  min-height: 44px;
  font-size: 14px;
  background-color: #fff;
}
body.archive.woocommerce .fragnatium-gender-filter__card,
body.archive.woocommerce .fragnatium-brand-filter__toggle {
  min-height: 44px;
}
body.archive.woocommerce .fragnatium-filters__chips { margin-top: -10px; }
body.archive.woocommerce .fragnatium-filters__chip,
body.archive.woocommerce .fragnatium-filters__clear { min-height: 44px; }
body.archive.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin-left: 0;
}
body.archive.woocommerce ul.products li.product.product {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 20px 20px 24px;
  border: 1px solid var(--sg-border, #d9dadd);
  background: #fff;
  align-self: stretch;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body.archive.woocommerce ul.products li.product.product:hover,
body.archive.woocommerce ul.products li.product.product:focus-within {
  border-color: #a1a6ae;
  box-shadow: 0 6px 20px rgb(34 40 49 / 5%);
}
body.archive.woocommerce ul.products li.product .woocommerce-image__wrapper {
  margin-bottom: 20px;
}
body.archive.woocommerce ul.products li.product .woocommerce-card__header {
  padding-inline: 0;
}
body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 20px;
  line-height: 1.35;
  overflow-wrap: anywhere;
  display: block;
  -webkit-line-clamp: unset;
  max-height: none;
  overflow: visible;
}
body.archive.woocommerce ul.products li.product .price {
  font-size: 14px;
  line-height: 1.6;
}
body.archive.woocommerce ul.products li.product .cgkit-attribute-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
body.archive.woocommerce ul.products li.product .cgkit-attribute-swatch {
  margin: 0;
}
body.archive.woocommerce ul.products li.product button.cgkit-swatch {
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 6px;
}
body.archive.woocommerce ul.products li.product a:focus-visible,
body.archive.woocommerce ul.products li.product button:focus-visible,
body.archive.woocommerce .brand-archive-faq summary:focus-visible {
  outline: 3px solid var(--sg-text, #222831);
  outline-offset: 3px;
}
@media (min-width: 640px) and (max-width: 1099px) {
  body.archive.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.archive.woocommerce ul.products li.product.product { padding: 16px; }
}
@media (max-width: 639px) {
  body.archive.woocommerce .woocommerce-products-header { padding: 20px 0 24px; margin-bottom: 20px; }
  body.archive.woocommerce .woocommerce-products-header h1 { font-size: 38px; }
  body.archive.woocommerce .fn-catalog-lead,
  body.archive.woocommerce .brand-archive-description { font-size: 14px; margin-top: 16px; }
  body.archive.woocommerce .shoptimizer-sorting { padding: 10px; gap: 8px; }
  body.archive.woocommerce .shoptimizer-sorting select.orderby { font-size: 16px; }
  body.archive.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body.archive.woocommerce ul.products li.product.product { padding: 12px 10px 16px; }
  body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px; }
  body.archive.woocommerce ul.products li.product .price { font-size: 13px; }
  body.archive.woocommerce ul.products li.product .woocommerce-image__wrapper { margin-bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  body.archive.woocommerce ul.products li.product.product { transition: none; }
}

/* Discovery Sets: a custom set is a separate choice above the curated grid. */
body.term-discovery-sets .fn-sbe-card {
  margin: 0 0 24px;
  padding: 24px 28px;
  gap: 24px 36px;
  background: #fff;
  border: 1px solid var(--sg-border, #d9dadd);
  border-left: 3px solid var(--sg-text, #222831);
}
body.term-discovery-sets .fn-sbe-card__body {
  display: grid;
  gap: 12px;
}
body.term-discovery-sets .fn-sbe-card__h {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.25;
}
body.term-discovery-sets .fn-sbe-card__lead { order: 1; font-size: 14px; line-height: 1.6; }
body.term-discovery-sets .fn-sbe-card__ladder { order: 2; gap: 8px; margin: 0; }
body.term-discovery-sets .fn-sbe-card__ladder li:not(.fn-sbe-card__cap) {
  padding: 4px 8px;
  background: var(--sg-surface, #eee);
  font-size: 13px;
}
body.term-discovery-sets .fn-sbe-card__cap { align-self: center; margin-right: 4px; }
body.term-discovery-sets .fn-sbe-card__cta.sg-btn {
  min-height: 48px;
  padding: 14px 24px;
  background: var(--sg-text, #222831);
  color: #fff;
  border: 1px solid var(--sg-text, #222831);
  box-shadow: none;
}
body.term-discovery-sets .fn-sbe-card__cta.sg-btn:hover { background: #393e46; }
body.term-discovery-sets .fn-sbe-card__cta.sg-btn:focus-visible { outline: 3px solid #222831; outline-offset: 4px; }
body.term-discovery-sets .fn-curated-heading { margin: 32px 0 22px; }
body.term-discovery-sets .fn-curated-heading h2 {
  margin: 0 0 10px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.25;
  color: var(--sg-text, #222831);
}
body.term-discovery-sets .fn-curated-heading p { max-width: 680px; margin: 0; font-size: 14px; line-height: 1.65; }
@media (max-width: 767px) {
  body.term-discovery-sets .fn-sbe-card { padding: 20px; gap: 20px; }
  body.term-discovery-sets .fn-sbe-card__h { font-size: 23px; }
  body.term-discovery-sets .fn-sbe-card__cap { display: none; }
  body.term-discovery-sets .fn-curated-heading h2 { font-size: 26px; }
  body.term-discovery-sets .shoptimizer-sorting { display: flex; flex-wrap: wrap; }
  body.term-discovery-sets .shoptimizer-sorting .woocommerce-ordering,
  body.term-discovery-sets .fragnatium-discovery-set-archive-notice { flex: 1 0 100%; width: 100%; }
  body.term-discovery-sets .fragnatium-discovery-set-archive-notice { margin: 4px 0 0; line-height: 1.6; }
}

/* Compare actual size prices before choosing; CommerceKit still owns selection. */
body.archive.woocommerce ul.products li.product .cgkit-swatch-form.fn-priced-sizes .cgkit-attribute-swatches {
  display: grid;
  grid-template-columns: repeat(3, minmax(44px, 1fr));
  gap: 4px;
}
body.archive.woocommerce ul.products li.product .fn-priced-sizes .cgkit-attribute-swatch { min-width: 0; margin: 0; }
body.archive.woocommerce ul.products li.product .fn-priced-sizes button.cgkit-swatch {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-width: 44px;
  min-height: 54px;
  padding: 5px 2px;
  font-size: 13px;
  line-height: 1.35;
  letter-spacing: 0;
}
body.archive.woocommerce ul.products li.product .fn-priced-sizes .fn-swatch-price {
  display: block;
  margin-top: 2px;
  color: inherit;
  font: 500 12px/1.35 var(--sg-body, Inter, sans-serif);
  white-space: nowrap;
  pointer-events: none;
}
@media (max-width: 767px) {
  body.archive.woocommerce .woocommerce-products-header { padding: 16px 0; margin-bottom: 14px; }
  body.archive.woocommerce .fn-catalog-eyebrow { display: none; }
  body.archive.woocommerce .fn-catalog-lead,
  body.archive.woocommerce .brand-archive-description { margin-top: 10px; font-size: 14px; line-height: 1.55; }
  body.archive.woocommerce .fn-ship-banner--archive { padding: 12px 14px; margin-bottom: 18px; font-size: 13px; line-height: 1.5; }
  body.archive.woocommerce .fn-ship-banner--archive .fn-ship-banner__link { margin-top: 4px; }
  body.archive.woocommerce .fn-ship-banner--archive .fn-ship-banner__text { font-size: 13px; line-height: 1.5; }
  body.archive.woocommerce .fn-ship-banner--archive .fn-ship-banner__customs { font-size: 12px; line-height: 1.5; }
  body.archive.woocommerce .shoptimizer-sorting { padding: 10px; margin-bottom: 18px; }
}
@media (max-width: 359px) {
  body.archive.woocommerce ul.products li.product .cgkit-swatch-form.fn-priced-sizes .cgkit-attribute-swatches { grid-template-columns: repeat(2, minmax(44px, 1fr)); }
}

/* Three-digit amounts need a little more room than the usual size price. */
body.archive.woocommerce ul.products li.product .cgkit-swatch-form.fn-priced-sizes--wide .cgkit-attribute-swatches {
  grid-template-columns: repeat(auto-fit, minmax(54px, 1fr));
}
