/* Category pages. Measurements taken from the live category pages (18 Oct 2026). */

body.tax-product_cat { background: var(--yms-surface-warm); }
.yms-category { color: var(--yms-grey-900); padding-bottom: 3rem; }

/* Heading */
.yms-category .yms-breadcrumb { margin: 1rem 0 0.9rem; }
.yms-category--brand .yms-breadcrumb li + li::before { content: "/"; }
.yms-category--brand .yms-breadcrumb { margin-bottom: 1.6rem; }
.yms-category__hero { padding-bottom: 2.2rem; border-bottom: 1px solid #e5e2dd; margin-bottom: 0; }
.yms-category__hero h1 { margin: 0 0 1.1rem; color: var(--yms-ink); font-size: 2rem; font-weight: 600; line-height: 1.15; letter-spacing: 0; }
.yms-category__hero p { max-width: 60rem; margin: 0; color: #655f70; font-size: 1.125rem; line-height: 1.5; }

/* Filters + results */
.yms-catalog { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; padding-top: 2.5rem; }
@media (min-width: 990px) {
  .yms-catalog { grid-template-columns: 15rem minmax(0, 1fr); gap: 0 1.6rem; }
  .yms-filters { padding-right: 1.5rem; border-right: 1px solid #e5e2dd; }
}
.yms-filters__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.6rem; }
.yms-filters__head h2 { display: flex; align-items: center; gap: 0.6rem; margin: 0; color: var(--yms-grey-900); font-size: 1.125rem; font-weight: 700; }
.yms-filters__head .icon { width: 1.2rem; height: 1.2rem; }
.yms-filters__close { display: none; }
.yms-filter { padding: 0 0 1.25rem; margin: 0 0 1.25rem; border-bottom: 1px solid #e5e2dd; }
.yms-filter summary {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.9rem;
  color: #34353c; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; list-style: none;
}
.yms-filter summary::-webkit-details-marker { display: none; }
.yms-filter:not([open]) { padding-bottom: 1rem; }
.yms-filter:not([open]) summary { margin-bottom: 0; }
.yms-filter summary .icon { width: 0.7rem; height: 0.5rem; transition: transform 0.15s ease; }
.yms-filter[open] summary .icon { transform: rotate(180deg); }
@media (min-width: 990px) { .yms-filter summary .icon { display: none; } .yms-filter summary { pointer-events: none; } }
.yms-filter ul { margin: 0; padding: 0; list-style: none; }
.yms-filter label { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.7rem; padding: 0.5rem 0; color: #55535d; font-size: 0.8125rem; line-height: 1.35; cursor: pointer; }
.yms-filter label:hover span { color: var(--yms-grey-900); }
.yms-filter input[type="checkbox"] { width: 1rem; height: 1rem; margin: 0; accent-color: var(--yms-grey-900); }
.yms-filter small { color: #8e8a93; font-size: 0.75rem; }

.yms-price-range__values { display: flex; justify-content: space-between; margin-bottom: 0.4rem; color: var(--yms-grey-900); font-size: 0.8125rem; font-weight: 600; }
.yms-price-range__track { position: relative; height: 2rem; margin: 0 0.6rem 0.75rem; }
.yms-price-range__track::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: var(--yms-grey-800); transform: translateY(-50%); }
.yms-price-range__track input { position: absolute; inset: 0 -0.6rem; width: calc(100% + 1.2rem); margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.yms-price-range__track input::-webkit-slider-thumb { -webkit-appearance: none; width: 1.15rem; height: 1.15rem; border: 2px solid var(--yms-grey-800); border-radius: 50%; background: #fff; pointer-events: auto; cursor: pointer; }
.yms-price-range__track input::-moz-range-thumb { width: 1.15rem; height: 1.15rem; border: 2px solid var(--yms-grey-800); border-radius: 50%; background: #fff; pointer-events: auto; cursor: pointer; }
.yms-price-range__track input::-webkit-slider-runnable-track { background: none; }
.yms-price-range__note { margin: 0 0 0.75rem; color: #8e8a93; font-size: 0.8125rem; }
.yms-price-range__inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.yms-price-range__inputs label { display: grid; gap: 0.35rem; justify-items: center; color: #55535d; font-size: 0.8125rem; }
.yms-price-range__inputs input { width: 100%; height: 2.4rem; padding: 0 0.5rem; border: 1px solid #c9c6cf; border-radius: 2px; background: #fff; font: inherit; }

.yms-filters__sort { display: grid; gap: 0.5rem; margin-bottom: 1rem; }
.yms-filters__sort label { color: #34353c; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.yms-filters__sort select { height: 2.5rem; padding: 0 0.5rem; border: 1px solid #c9c6cf; border-radius: 2px; background: #fff; font: inherit; font-size: 0.875rem; }
.yms-filters__count { margin: 0; color: #8e8a93; font-size: 0.8125rem; text-align: right; }
.yms-filters__actions { display: none; }
html:not(.js) .yms-filters__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }

/* Toolbar (phones) and selected filters */
.yms-toolbar { display: none; }
.yms-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: 0 0 1.5rem; font-size: 0.8125rem; }
.yms-chips > span { color: #77737b; font-weight: 600; margin-right: 0.25rem; }
.yms-chip { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.3rem 0.75rem; border: 1px solid #d8d4cd; border-radius: 999px; background: #fff; color: var(--yms-grey-900); text-decoration: none; }
.yms-chip:hover { border-color: var(--yms-grey-900); color: var(--yms-grey-900); }
.yms-chips__clear { margin-left: 0.25rem; color: var(--yms-grey-800); }

/* Grid */
.yms-results { min-width: 0; }
.yms-card-grid--catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.125rem; margin-bottom: 2.5rem; }
.yms-series-heading {
  margin: 0 0 2.4rem; padding: 0 0 0.9rem 1rem; border-bottom: 1px solid #e5e2dd; position: relative;
  color: var(--yms-grey-900); font-size: 1.625rem; font-weight: 600; line-height: 1.3;
}
.yms-series-heading::before { content: ""; position: absolute; left: 0; top: 0.1em; bottom: 1.2rem; width: 4px; border-radius: 2px; background: var(--yms-gold); }
.yms-results > .yms-series-heading:first-of-type { margin-top: 0; }
.yms-card__cta { display: flex; justify-content: space-between; margin-top: 0.5rem; padding-top: 0.9rem; border-top: 1px solid #ece9e4; color: #55535d; font-size: 0.8125rem; text-decoration: none; }
.yms-card__cta:hover { color: var(--yms-grey-900); }

.yms-empty { padding: 3rem 0; text-align: center; }

/* Pages */
.yms-pagination ul { display: flex; justify-content: center; align-items: center; gap: 0.5rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.yms-pagination a, .yms-pagination span { display: grid; place-items: center; min-width: 2.75rem; height: 2.75rem; color: var(--yms-grey-900); font-size: 0.9375rem; text-decoration: none; }
.yms-pagination [aria-current] { text-decoration: underline; text-underline-offset: 0.4em; }
.yms-pagination a:hover { text-decoration: underline; }
.yms-pagination__arrow .icon { width: 0.75rem; height: 0.5rem; transform: rotate(-90deg); }
.yms-pagination__arrow--prev .icon { transform: rotate(90deg); }

/* Brand stores */
.yms-brand-hero {
  display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem 2rem 2rem 2.1rem;
  border: 1px solid #e7e1d9; border-left: 4px solid var(--yms-gold); border-radius: 8px; background: #f6f5f2;
}
.yms-brand-hero__eyebrow { margin: 0 0 0.6rem; color: #55535d; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.yms-brand-hero h1 { margin: 0 0 0.9rem; color: #29252d; font-size: 2.3rem; font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; }
.yms-brand-hero p { margin: 0; color: #55535d; font-size: 1rem; }
.yms-brand-hero .yms-brand-logo img { width: 9.5rem; padding: 0.9rem 1.2rem; }
.yms-category--brand .yms-catalog { padding-top: 2rem; }
@media (min-width: 990px) {
  .yms-category--brand .yms-catalog { grid-template-columns: 13.75rem minmax(0, 1fr); gap: 0 1.85rem; }
  .yms-category--brand .yms-filters { padding: 1.3rem 1.1rem; border: 1px solid #e7e1d9; border-radius: 8px; background: #fff; align-self: start; }
}
.yms-category--brand .yms-filters__head h2 { font-size: 1.125rem; }
.yms-category--brand .yms-filter:last-of-type { border-bottom: 0; }
.yms-category--brand .yms-card-grid--catalog { gap: 1.25rem; }
.yms-brand-empty { padding: 2.5rem; border: 1px solid #e7e1d9; border-radius: 8px; background: #fff; }
.yms-brand-empty h2 { margin: 0 0 0.6rem; font-size: 1.4rem; }

/* Tablets and phones: filters in a panel */
@media (max-width: 989px) {
  .yms-card-grid--catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.125rem 0.75rem; }
  .yms-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; }
  .yms-toolbar__filters { display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.7rem 1rem; border: 1px solid #c9c6cf; border-radius: 6px; background: #fff; color: var(--yms-grey-900); font: 600 0.875rem var(--yms-font); cursor: pointer; }
  .yms-toolbar__filters .icon { width: 1.1rem; height: 1.1rem; }
  .yms-toolbar__count { margin: 0; color: #77737b; font-size: 0.875rem; }
  .yms-catalog { padding-top: 1.5rem; gap: 0; }
  .yms-filters { position: fixed; inset: 0; z-index: 210; display: none; }
  .yms-filters.is-open { display: block; }
  .yms-filters::before { content: ""; position: absolute; inset: 0; background: rgba(var(--yms-ink-rgb), 0.5); }
  .yms-filters__form {
    position: absolute; inset: 0 0 0 auto; width: min(24rem, 92vw); display: flex; flex-direction: column;
    background: #fff; box-shadow: var(--yms-shadow);
  }
  .yms-filters__head { margin: 0; padding: 1rem 1.25rem; border-bottom: 1px solid #e5e2dd; }
  .yms-filters__close { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; border: 0; background: none; cursor: pointer; }
  .yms-filters__close .icon { width: 1.25rem; height: 1.25rem; }
  .yms-filters__body { flex: 1; overflow-y: auto; padding: 1.25rem; }
  .yms-filters__count { display: none; }
  .yms-filters__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; padding: 1rem 1.25rem; border-top: 1px solid #e5e2dd; }
  .js .yms-filters .yms-filters__apply, .yms-filters__apply { display: block; height: 2.9rem; border: 0; background: var(--yms-grey-800); color: #fff; font: 600 0.9375rem var(--yms-font); cursor: pointer; }
  .yms-filters__clear { display: grid; place-items: center; color: var(--yms-grey-900); font-size: 0.9375rem; }
  body.filters-open { overflow: hidden; }
  .yms-brand-hero { flex-direction: column-reverse; align-items: flex-start; padding: 1.5rem; }
}
@media (max-width: 749px) {
  .yms-category__hero h1 { font-size: 1.75rem; }
  .yms-category__hero p { font-size: 1rem; }
  .yms-series-heading { font-size: 1.375rem; margin-bottom: 1.5rem; }
  .yms-brand-hero h1 { font-size: 1.9rem; }
}

/* Store with no products yet */
.yms-catalog.yms-catalog--empty { display: block; }
