@layer catalog {
  .catalog-main { background: var(--sab-color-ivory); padding-block-end: var(--sab-space-6); }
  .catalog-hero { background: var(--sab-color-blush); padding-block: clamp(2.5rem, 7vw, 5rem); text-align: center; }
  .catalog-hero .woocommerce-breadcrumb { color: var(--sab-color-muted); font-size: .78rem; }
  .catalog-kicker { color: var(--sab-color-mauve); font-size: .72rem; font-weight: 750; letter-spacing: .15em; }
  .catalog-hero h1 { margin: 0; font-family: Georgia, var(--sab-font-arabic), serif; font-weight: 500; }
  .catalog-toolbar { display: flex; align-items: center; justify-content: space-between; min-block-size: 5rem; border-block-end: 1px solid rgb(50 26 61 / 10%); }
  .catalog-toolbar__meta { display: flex; align-items: center; gap: var(--sab-space-4); }
  .catalog-toolbar p { margin: 0; color: var(--sab-color-muted); font-size: .82rem; }
  .catalog-filter-toggle { display: none; }
  .catalog-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); padding-block-start: var(--sab-space-5); }
  .catalog-filter-head { display: flex; align-items: center; justify-content: space-between; }
  .catalog-filter-head h2 { margin: 0; font-size: var(--sab-step-1); }
  .catalog-filter-head button { display: none; border: 0; background: transparent; color: var(--sab-color-aubergine); font-size: 1.7rem; padding: 0; }
  .catalog-filter-group { margin: 0; border: 0; border-block-end: 1px solid rgb(50 26 61 / 10%); padding: var(--sab-space-4) 0; }
  .catalog-filter-group legend { inline-size: 100%; color: var(--sab-color-aubergine); font-size: .92rem; font-weight: 700; }
  .catalog-filter-group > label { display: flex; align-items: center; gap: .55rem; margin-block-start: .65rem; font-size: .85rem; }
  .catalog-filter-group label small { margin-inline-start: auto; color: var(--sab-color-muted); }
  .catalog-filter-group input[type="checkbox"] { inline-size: 1.05rem; block-size: 1.05rem; min-block-size: 0; accent-color: var(--sab-color-mauve); }
  .price-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-block-start: .75rem; }
  .price-fields span { display: block; color: var(--sab-color-muted); font-size: .7rem; }
  .price-fields input { inline-size: 100%; min-block-size: 2.5rem; padding: .4rem; }
  .catalog-filter-actions { display: grid; gap: .7rem; padding-block-start: var(--sab-space-4); text-align: center; }
  .catalog-results ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.75rem, 2vw, 1.4rem); margin: 0; padding: 0; list-style: none; }
  .catalog-card { min-inline-size: 0; margin: 0 !important; inline-size: auto !important; float: none !important; }
  .catalog-card__media { position: relative; overflow: hidden; background: var(--sab-color-blush); }
  .catalog-card__media img { inline-size: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
  .catalog-card__secondary { position: absolute; inset: 0; opacity: 0; transition: opacity 300ms ease; }
  .catalog-card__media:hover .catalog-card__secondary { opacity: 1; }
  .catalog-card__badges { position: absolute; inset-block-start: .65rem; inset-inline-start: .65rem; display: grid; gap: .3rem; }
  .catalog-card__badges span { background: var(--sab-color-mauve); color: white; padding: .25rem .45rem; font-size: .65rem; font-weight: 700; }
  .catalog-wishlist { position: absolute; inset-block-start: .6rem; inset-inline-end: .6rem; display: grid; place-items: center; min-inline-size: 2.5rem; min-block-size: 2.5rem; border: 0; border-radius: 50%; background: rgb(255 255 255 / 90%); color: var(--sab-color-aubergine); font-size: 1.25rem; padding: 0; }
  .catalog-wishlist[aria-pressed="true"] { background: var(--sab-color-aubergine); color: white; }
  .catalog-card__body { padding-block: .9rem 1.5rem; }
  .catalog-card h2 { margin-block-end: .35rem; font-size: .95rem; }
  .catalog-card h2 a { color: var(--sab-color-charcoal); text-decoration: none; }
  .catalog-card__price { color: var(--sab-color-aubergine); font-size: .92rem; font-weight: 700; }
  .catalog-card__terms { display: flex; flex-wrap: wrap; gap: .35rem; margin-block-start: .65rem; }
  .catalog-card__colors > span { inline-size: .9rem; block-size: .9rem; border: 2px solid white; border-radius: 50%; background: var(--swatch); box-shadow: 0 0 0 1px rgb(50 26 61 / 24%); }
  .catalog-card__sizes > span { color: var(--sab-color-muted); font-size: .68rem; }
  .catalog-card__action .button { inline-size: 100%; margin-block-start: .8rem; text-align: center; }
  .catalog-empty { max-inline-size: 38rem; margin: var(--sab-space-6) auto; text-align: center; }
  .catalog-filter-scrim { position: fixed; z-index: 108; inset: 0; background: rgb(36 16 45 / 48%); }
  .search-suggestions { position: relative; z-index: 3; max-inline-size: 44rem; max-block-size: 28rem; overflow-y: auto; margin-inline: auto; background: white; box-shadow: var(--sab-shadow-soft); padding: .5rem; }
  .search-suggestions a { display: grid; grid-template-columns: 3.5rem 1fr; align-items: center; gap: .8rem; padding: .55rem; color: var(--sab-color-charcoal); text-decoration: none; }
  .search-suggestions img { inline-size: 3.5rem; block-size: 4.4rem; object-fit: cover; }
  .search-suggestions span { display: grid; }
}
@media (max-width: 62rem) {
  .catalog-filter-toggle { display: inline-flex; }
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-sidebar { position: fixed; z-index: 109; inset-block: 0; inset-inline-start: 0; inline-size: min(88vw, 23rem); overflow-y: auto; background: var(--sab-color-ivory); padding: var(--sab-space-4); transform: translateX(-105%); transition: transform var(--sab-duration); }
  [dir="rtl"] .catalog-sidebar { inset-inline-start: auto; inset-inline-end: 0; transform: translateX(105%); }
  .catalog-sidebar.is-open { transform: none; }
  .catalog-filter-head button { display: grid; }
  body.filters-open { overflow: hidden; }
}
@media (max-width: 40rem) {
  .catalog-results ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
  .catalog-toolbar__meta { align-items: flex-end; flex-direction: column-reverse; gap: .35rem; }
}
@media (hover: none) { .catalog-card__secondary { display: none; } }
@media (prefers-reduced-motion: reduce) { .catalog-card__secondary, .catalog-sidebar { transition: none; } }
