/* Approved catalog: three text navigation rows and a capacity rail. */
.ccp-catalog-browser.ccp-product-listing.ccp-catalog-template {
 box-sizing: border-box;
 max-width: var(--ccp-page-container-width);
 padding: var(--ccp-space-4) var(--ccp-page-gutter) var(--ccp-space-16);
 width: 100%;
}
.ccp-catalog-browser .ccp-catalog-heading-visually-hidden {
 clip: rect(0, 0, 0, 0);
 clip-path: inset(50%);
 height: 1px;
 overflow: hidden;
 position: absolute;
 white-space: nowrap;
 width: 1px;
}
.ccp-catalog-browser .ccp-catalog-browse { border-top: 0; }
.ccp-catalog-browser .ccp-catalog-browse__group {
 display: block;
 border-bottom: 1px solid var(--ccp-color-border);
 min-width: 0;
 padding-block: var(--ccp-space-1);
}
.ccp-catalog-browser .ccp-catalog-browse__disclosure {
 column-gap: var(--ccp-space-6);
 display: grid;
 grid-template-columns: minmax(11.5rem, 14%) minmax(0, 1fr);
 min-width: 0;
}
.ccp-catalog-browser .ccp-catalog-browse__label {
 color: var(--ccp-color-ink);
 font-family: var(--ccp-font-ui);
 font-size: var(--ccp-type-label);
 font-weight: 600;
 letter-spacing: 0.08em;
 line-height: 1.4;
 text-transform: uppercase;
}
.ccp-catalog-browser .ccp-catalog-browse__disclosure > .ccp-catalog-browse__label {
 align-items: center;
 cursor: pointer;
 display: flex;
 grid-column: 1;
 justify-content: space-between;
 list-style: none;
 min-height: var(--ccp-tap-target);
}
.ccp-catalog-browser .ccp-catalog-browse__disclosure > .ccp-catalog-browse__label::-webkit-details-marker { display: none; }
.ccp-catalog-browser .ccp-catalog-browse__disclosure > .ccp-catalog-browse__label::after {
 border-bottom: 1px solid currentColor;
 border-right: 1px solid currentColor;
 content: "";
 flex: 0 0 0.4rem;
 height: 0.4rem;
 margin: 0 0.25rem 0 var(--ccp-space-2);
 transform: rotate(45deg);
}
.ccp-catalog-browser .ccp-catalog-browse__disclosure[open] > .ccp-catalog-browse__label::after {
 transform: rotate(225deg);
}
.ccp-catalog-browser .ccp-catalog-browse__selected { display: none; }
.ccp-catalog-browser .ccp-catalog-browse__links,
.ccp-catalog-browser .ccp-product-filter-options {
 align-items: center;
 column-gap: var(--ccp-space-4);
 display: flex;
 flex-wrap: wrap;
 min-width: 0;
}
.ccp-catalog-browser .ccp-catalog-browse__disclosure > .ccp-catalog-browse__links,
.ccp-catalog-browser .ccp-catalog-browse__disclosure > .ccp-product-filter-options { grid-column: 2; }
.ccp-catalog-browser .ccp-catalog-browse__links > a,
.ccp-catalog-browser .ccp-product-filter-choice {
 align-items: center;
 color: var(--ccp-color-muted);
 display: inline-flex;
 font-family: var(--ccp-font-ui);
 font-size: var(--ccp-type-small);
 font-weight: 500;
 letter-spacing: .05em;
 line-height: 1.4;
 min-height: var(--ccp-tap-target);
 min-width: var(--ccp-tap-target);
 text-decoration: none;
 text-underline-offset: .5em;
}
.ccp-catalog-browser .ccp-catalog-browse__links > a,
.ccp-catalog-browser .ccp-product-filters .ccp-product-filter-choice {
 font-weight: 400;
 letter-spacing: 0;
}
.ccp-catalog-browser .ccp-catalog-browse__links > a.is-current,
.ccp-catalog-browser .ccp-product-filter-choice.is-current {
 color: var(--ccp-color-cinnabar);
 text-decoration: underline;
 text-decoration-color: var(--ccp-color-cinnabar);
 text-decoration-thickness: 2px;
}
.ccp-catalog-browser .ccp-catalog-browse__links > a:hover,
.ccp-catalog-browser .ccp-product-filter-choice:hover {
 color: var(--ccp-color-cinnabar);
 text-decoration: underline;
 text-decoration-color: var(--ccp-color-cinnabar);
}
.ccp-catalog-browser a:focus-visible,
.ccp-catalog-browser summary:focus-visible {
 outline: var(--ccp-focus-width) solid var(--ccp-color-ink-strong);
 outline-offset: var(--ccp-focus-offset);
}
.ccp-catalog-browser .ccp-product-filters {
 gap: 0 var(--ccp-space-6);
 grid-template-columns: minmax(11.5rem, 14%) minmax(0, 1fr);
 margin: 0 0 var(--ccp-space-6);
}
.ccp-catalog-browser .ccp-product-filter-choice span { white-space: nowrap; }
.ccp-catalog-browser .ccp-catalog-results-layout {
 align-items: start;
 column-gap: var(--ccp-space-6);
 display: grid;
 grid-template-columns: 13rem minmax(0, 1fr);
 margin: 0;
}
.ccp-catalog-browser .ccp-catalog-sidebar {
 border-right: 1px solid var(--ccp-color-border);
 display: block;
 min-width: 0;
 padding: 0 var(--ccp-space-6) 0 0;
 position: static;
}
.ccp-catalog-browser .ccp-catalog-sidebar__panel > summary {
 align-items: center;
 color: var(--ccp-color-ink);
 cursor: pointer;
 display: flex;
 font-family: var(--ccp-font-display);
 font-size: var(--ccp-type-catalog-filter-label);
 font-weight: 400;
 justify-content: space-between;
 line-height: 1.2;
 list-style: none;
 margin: 0 0 var(--ccp-space-3);
 min-height: var(--ccp-tap-target);
}
.ccp-catalog-browser .ccp-catalog-sidebar__panel > summary::-webkit-details-marker { display: none; }
.ccp-catalog-browser .ccp-catalog-sidebar__panel > summary::after {
 border-bottom: 1px solid currentColor;
 border-right: 1px solid currentColor;
 content: "";
 flex: 0 0 0.4rem;
 height: 0.4rem;
 margin-left: var(--ccp-space-3);
 transform: rotate(45deg);
}
.ccp-catalog-browser .ccp-catalog-sidebar__panel[open] > summary::after { transform: rotate(225deg); }
.ccp-catalog-browser .ccp-catalog-sidebar__selection { display: none; }
.ccp-catalog-browser .ccp-catalog-sidebar__compact-weight { display: none; }
.ccp-catalog-browser .ccp-catalog-sidebar .ccp-product-filter-options {
 align-items: stretch;
 flex-direction: column;
}
.ccp-catalog-browser .ccp-catalog-sidebar__weight-heading {
 border-top: 1px solid var(--ccp-color-border);
 color: var(--ccp-color-ink);
 font-family: var(--ccp-font-display);
 font-size: var(--ccp-type-catalog-filter-label);
 font-weight: 400;
 line-height: 1.2;
 margin: var(--ccp-space-2) 0 0;
 padding-top: var(--ccp-space-4);
 width: 100%;
}
.ccp-catalog-browser .ccp-catalog-results-main { min-width: 0; }
.ccp-catalog-browser .ccp-product-results {
 clip-path: inset(50%);
 height: 1px;
 margin: -1px;
 overflow: hidden;
 padding: 0;
 position: absolute;
 white-space: nowrap;
 width: 1px;
}
.ccp-catalog-browser .ccp-product-grid {
 column-gap: var(--ccp-space-4);
 display: grid;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 margin: 0;
 row-gap: var(--ccp-space-8);
}
.ccp-catalog-browser .ccp-product-card,
.ccp-catalog-browser .ccp-product-card:first-child {
 background: transparent;
 border: 0;
 border-radius: 0;
 box-shadow: none;
 grid-column: auto;
 grid-row: auto;
 min-width: 0;
 padding: 0;
 transform: none;
}
.ccp-catalog-browser .ccp-product-card__media,
.ccp-catalog-browser .ccp-product-card:first-child .ccp-product-card__media {
 aspect-ratio: 1 / 1;
 background: var(--ccp-color-cream);
 border-radius: var(--ccp-radius-sm);
 display: block;
 overflow: hidden;
}
.ccp-catalog-browser .ccp-product-card__media::after { content: none; }
.ccp-catalog-browser .ccp-product-card__image {
 background: var(--ccp-color-cream);
 height: 100%;
 object-fit: contain;
 transition: transform var(--ccp-motion-standard);
 width: 100%;
}
.ccp-catalog-browser .ccp-product-card__media:hover .ccp-product-card__image { transform: scale(1.025); }
.ccp-catalog-browser .ccp-product-card__body { background: transparent; border: 0; padding: var(--ccp-space-3) 0 0; text-align: left; }
.ccp-catalog-browser .ccp-product-card__category { display: none; }
.ccp-catalog-browser .ccp-product-card__title {
 display: block;
 font-family: var(--ccp-font-ui);
 font-size: var(--ccp-type-small);
 font-weight: 500;
 letter-spacing: 0;
 line-height: 1.4;
 height: auto;
 margin: 0;
 min-height: 4.2em;
 overflow: visible;
 text-align: left;
}
.ccp-catalog-browser .ccp-product-card__title a {
 color: var(--ccp-color-ink);
 display: -webkit-box;
 font: inherit;
 height: auto;
 margin: 0;
 overflow: hidden;
 text-decoration: none;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 3;
}
.ccp-catalog-browser .ccp-product-card__title a:hover { text-decoration: underline; text-underline-offset: .2em; }
.ccp-catalog-browser .ccp-product-card__details {
 align-items: center;
 align-self: start;
 border-bottom: 1px solid var(--ccp-color-brass);
 color: var(--ccp-color-ink-strong);
 display: inline-flex;
 font-size: var(--ccp-type-label);
 gap: var(--ccp-space-2);
 margin-top: var(--ccp-space-3);
 min-height: var(--ccp-tap-target);
 letter-spacing: 0;
 padding: 0 0 2px;
 text-decoration: none;
 text-transform: none;
 width: fit-content;
}
.ccp-catalog-browser .ccp-product-empty { color: var(--ccp-color-muted); margin: 0; padding: var(--ccp-space-8) 0; }
.ccp-catalog-browser .ccp-product-listing__cta { margin-inline: 0; }
@media (min-width: 768px) and (max-width: 1279px) {
 .ccp-catalog-browser .ccp-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1399px) {
 .ccp-catalog-browser .ccp-catalog-browse__links,
 .ccp-catalog-browser .ccp-product-filters .ccp-product-filter-options {
  flex-wrap: wrap;
  overflow: visible;
  row-gap: var(--ccp-space-2);
 }
 .ccp-catalog-browser .ccp-catalog-browse__links > a,
 .ccp-catalog-browser .ccp-product-filters .ccp-product-filter-choice { flex-shrink: 0; white-space: nowrap; }
}
@media (max-width: 1023px) {
 .ccp-catalog-browser .ccp-catalog-results-layout { grid-template-columns: minmax(0, 1fr); }
 .ccp-catalog-browser .ccp-catalog-sidebar {
  border: 0;
  border-bottom: 1px solid var(--ccp-color-border);
  margin-bottom: var(--ccp-space-6);
  padding: 0 0 var(--ccp-space-3);
 }
 .ccp-catalog-browser .ccp-catalog-sidebar__panel > summary { margin-bottom: 0; }
 .ccp-catalog-browser .ccp-catalog-sidebar__panel[open] > summary { margin-bottom: var(--ccp-space-3); }
 .ccp-catalog-browser .ccp-catalog-sidebar__selection { color: var(--ccp-color-ink-strong); display: block; font-family: var(--ccp-font-ui); font-size: var(--ccp-type-small); margin-top: var(--ccp-space-2); }
 .ccp-catalog-browser .ccp-catalog-sidebar .ccp-product-filter-options { align-items: center; flex-direction: row; }
 .ccp-catalog-browser .ccp-catalog-sidebar__compact-weight { display: inline; }
}
@media (max-width: 767px) {
 .ccp-catalog-browser.ccp-product-listing.ccp-catalog-template { padding-top: var(--ccp-space-4); padding-bottom: var(--ccp-space-12); }
 .ccp-catalog-browser .ccp-catalog-browse__disclosure { grid-template-columns: minmax(0, 1fr); row-gap: var(--ccp-space-2); }
 .ccp-catalog-browser .ccp-catalog-browse__selected { color: var(--ccp-color-muted); display: inline; flex: 0 1 auto; font-family: var(--ccp-font-ui); font-size: var(--ccp-type-small); margin-left: auto; max-width: 30vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
 .ccp-catalog-browser .ccp-catalog-browse__links,
 .ccp-catalog-browser .ccp-product-filter-options { column-gap: var(--ccp-space-4); }
 .ccp-catalog-browser .ccp-catalog-browse__links,
 .ccp-catalog-browser .ccp-product-filters .ccp-product-filter-options {
  flex-wrap: wrap;
  overflow: visible;
 }
 .ccp-catalog-browser .ccp-catalog-browse__links > a,
 .ccp-catalog-browser .ccp-product-filters .ccp-product-filter-choice { white-space: normal; }
 .ccp-catalog-browser .ccp-product-grid { column-gap: var(--ccp-space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--ccp-space-6); }
}
@media (prefers-reduced-motion: reduce) {
 .ccp-catalog-browser .ccp-product-card__image { transition: none; }
}
