/* ═══════════════════════════════════════════════════════
   PULSUN — Каталог
   ═══════════════════════════════════════════════════════ */
.catalog-page {
  padding: 18px 0 90px;
  background: var(--bg-cream);
  transition: opacity .16s ease;
}
.catalog-page.is-loading { opacity:.56; cursor:progress; }
.catalog-page.is-loading .catalog-flavor-tools,
.catalog-page.is-loading .pulsun-flavorbar--meta,
.catalog-page.is-loading .catalog-grid,
.catalog-page.is-loading .catalog-pagination { pointer-events:none; }

/* Хлебные крошки */
.catalog-breadcrumbs {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-muted);
  padding: 16px 0 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.catalog-breadcrumbs a { color: var(--text-secondary); text-decoration: none; }
.catalog-breadcrumbs a:hover { color: var(--accent); }
.catalog-breadcrumbs__sep { opacity: 0.5; }

.catalog-title {
  font-family: var(--font-heading);
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 900;
  color: var(--text-primary);
  margin: 12px 0 24px;
  letter-spacing: -0.01em;
  line-height: 1;
}

/* ═══ Чипы категорий ═══ */
.catalog-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(58,37,25,0.08);
}
.catalog-chip {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  background: var(--bg-card);
  border: 1px solid rgba(58,37,25,0.12);
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
}
.catalog-chip:hover { border-color: var(--accent); color: var(--accent); }
.catalog-chip.is-active {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg-card);
}

/* ═══ Сетка товаров ═══ */
.catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.catalog-pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 36px; }
.catalog-pagination a, .catalog-pagination span { min-width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; font-size: 14px; }
.catalog-pagination a { background: #fff; border: 1px solid var(--border); }
.catalog-pagination a:hover, .catalog-pagination a[aria-current="page"] { background: var(--accent); color: #fff; border-color: var(--accent); }

/* ═══ Карточка товара ═══ */
.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--bg-card);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(58,37,25,0.06);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(58,37,25,0.08);
}
.product-card.is-out-of-stock {
  background: #f7f2eb;
  border-color: rgba(58,37,25,.1);
  box-shadow: none;
}
.product-card.is-out-of-stock:hover { transform: none; box-shadow: none; }
.product-card.is-out-of-stock .product-card__img img {
  opacity: .58;
  filter: saturate(.38) contrast(.92);
}
.product-card.is-out-of-stock .product-card__body { opacity: .7; }
.product-card.is-out-of-stock .product-card__fav { opacity: .65; }

.product-card__img {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--bg-cream-2);
}
.product-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.product-card:hover .product-card__img img { transform: scale(1.04); }

.product-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 56px;
  opacity: 0.4;
}

.product-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 4px 10px;
  border-radius: 999px;
  color: var(--bg-card);
  z-index: 2;
}
.product-card__badge--discount { background: #C0392B; }
.product-card__badge--new { background: var(--success); top: 12px; left: auto; right: 12px; }

.product-card__fav {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.9);
  border: 0;
  cursor: pointer;
  color: var(--text-primary);
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all 0.15s ease;
}
.product-card.has-new-badge .product-card__fav { top: 52px; }
.product-card__fav:hover { background: var(--bg-card); color: #C0392B; }
.product-card__fav.is-active { color: #C0392B; }

.product-card__body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.product-card__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--text-secondary);
}
.product-card__rating-stars span { color: var(--accent-cream); font-size: 12px; }
.product-card__rating-stars span.is-filled { color: #F59E0B; }
.product-card__rating-value { font-weight: 600; color: var(--text-primary); }
.product-card__rating-count { color: var(--text-muted); }

.product-card__category {
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.product-card__title {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--text-primary);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 38px;
}
.product-card__title a { color: inherit; text-decoration: none; }
.product-card__title a:hover { color: var(--accent); }

.product-card__brand {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--text-secondary);
}

.product-card__price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 4px;
}
.product-card__price-old {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-muted);
  text-decoration: line-through;
}
.product-card__price-current {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
}

/* ═══ Список (list view) ═══ */
.catalog-grid--list {
  grid-template-columns: 1fr !important;
  gap: 12px;
}
.catalog-grid--list .product-card {
  flex-direction: row;
  border-radius: 14px;
}
.catalog-grid--list .product-card__img {
  width: 180px;
  min-width: 180px;
  aspect-ratio: 1 / 1;
}
.catalog-grid--list .product-card__body {
  padding: 20px 24px;
  justify-content: center;
}

/* ═══ Пустая выдача ═══ */
.catalog-empty {
  text-align: center;
  padding: 80px 20px;
  background: var(--bg-card);
  border-radius: 20px;
  border: 1px solid rgba(58,37,25,0.06);
}
.catalog-empty__icon { font-size: 56px; margin-bottom: 16px; opacity: 0.5; }
.catalog-empty p { color: var(--text-secondary); font-family: var(--font-body); margin: 0 0 20px; }

/* ═══ Адаптив ═══ */
@media (max-width: 1100px) {
  .catalog-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .catalog-toolbar__filters-btn { display: inline-flex; }

  .catalog-layout { grid-template-columns: 1fr; }

  .catalog-sidebar {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 1000;
    max-width: 340px;
    border-radius: 0;
    border: 0;
    box-shadow: 0 0 60px rgba(0,0,0,.25);
    overflow-y: auto;
    padding: 24px;
  }
  .catalog-sidebar.is-open { display: block; }
  .catalog-sidebar__close { display: block; }

  .catalog-toolbar__total { margin-left: 0; order: 10; width: 100%; }
  .catalog-toolbar__view { display: none; }
}
@media (max-width: 600px) {
  .catalog-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .product-card__body { padding: 10px 12px 14px; }
  .product-card__title { font-size: 13px; min-height: 34px; }
  .product-card__price-current { font-size: 16px; }
  .product-card__price-old { font-size: 12px; }
  .product-card__fav { width: 32px; height: 32px; font-size: 16px; }
  .catalog-chips { gap: 6px; }
  .catalog-chip { padding: 6px 12px; font-size: 12px; }
}

/* Modern PULSUN catalog layer */
.catalog-heading--modern { display:block; padding:24px 0 24px; }
.catalog-heading--modern .catalog-title { max-width:none; margin:8px 0 15px; font-size:clamp(48px,7vw,88px); letter-spacing:-.045em; }
.catalog-heading__eyebrow { color:#9b754a; font-size:11px; font-weight:700; letter-spacing:.18em; }
.catalog-heading__lead { max-width:650px; margin:0; color:#746154; font-size:16px; line-height:1.65; }
.catalog-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:20px; }
.catalog-benefits span { display:flex; min-height:42px; align-items:center; justify-content:center; padding:9px 14px; border:1px dashed rgba(107,87,73,.34); border-radius:999px; background:rgba(255,255,255,.68); color:#6b5749; font-size:12px; text-align:center; }
.product-card { border-radius:22px; box-shadow:0 3px 0 rgba(58,37,25,.025); }
.product-card__img { aspect-ratio:4/4.45; }
.product-card__body { padding:17px 18px 18px; gap:8px; }
.product-card__title { font-size:16px; min-height:42px; }
.product-card__promise { display:flex; flex-wrap:wrap; gap:5px; }
.product-card__promise span { padding:4px 8px; border-radius:999px; background:#f5ede4; color:#856b58; font-size:10px; }
.product-card__price-current { font-size:22px; }
.product-card__saving { padding:4px 7px; border-radius:7px; background:#e9f2df; color:#52723b; font-size:10px; font-weight:700; }
.product-card__fav svg { width:19px; fill:none; stroke:currentColor; stroke-width:1.8; }
.product-card__fav.is-active svg,.product-card__fav.active svg { fill:#bd6559; stroke:#bd6559; }
.product-card__footer { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-top:5px; }
.product-card__stock { color:#71805e; font-size:11px; }
.product-card__cart { min-height:40px; padding:0 14px; border:0; border-radius:999px; background:#312117; color:#fff; font:600 12px var(--font-body); cursor:pointer; display:flex; align-items:center; gap:8px; transition:.2s ease; }
.product-card__cart:hover { background:#ac7f4c; transform:translateX(2px); }
.product-card__cart svg { width:15px; fill:none; stroke:currentColor; stroke-width:1.8; }

@media (max-width:700px) {
  .catalog-page { padding-top:28px; }
  .catalog-heading--modern { grid-template-columns:1fr; padding:25px 0 24px; }
  .catalog-heading--modern .catalog-title { font-size:47px; }
  .catalog-benefits { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
  .catalog-benefits { display:flex; }
  .catalog-benefits span { flex:0 0 auto; min-height:38px; }
  .pulsun-flavorbar__chips { flex-wrap:nowrap!important; overflow-x:auto; scrollbar-width:none; }
  .product-card { border-radius:16px; }
  .product-card__body { padding:12px; }
  .product-card__promise span:nth-child(2) { display:none; }
  .product-card__stock { display:none; }
  .product-card__cart { width:42px; padding:0; justify-content:center; }
  .product-card__cart span { display:none; }
  .product-card__price { gap:5px; flex-wrap:wrap; }
  .product-card__price-current { font-size:18px; }
}


/* ═══════════════════════════════════════════════════════
   CATALOG — чипы фильтров строкой
   ═══════════════════════════════════════════════════════ */
.catalog-filters-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 28px;
}

.catalog-filter-chip {
  position: relative;
}
.catalog-filter-chip__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  background: var(--bg-card);
  border: 1px solid rgba(58, 37, 25, 0.12);
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.catalog-filter-chip__btn:hover {
  border-color: var(--accent);
  color: var(--accent);
}
.catalog-filter-chip.is-open .catalog-filter-chip__btn {
  background: var(--accent);
  color: var(--bg-card);
  border-color: var(--accent);
}
.catalog-filter-chip.is-open .catalog-filter-chip__btn svg { transform: rotate(180deg); }
.catalog-filter-chip__btn svg { transition: transform 0.15s ease; }
.catalog-filter-chip__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C0392B;
}

.catalog-filter-chip__dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 240px;
  background: var(--bg-card);
  border: 1px solid rgba(58, 37, 25, 0.08);
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(58, 37, 25, 0.12);
  padding: 12px;
  z-index: 100;
}
.catalog-filter-chip.is-open .catalog-filter-chip__dropdown { display: block; }

.catalog-filter-chip__item {
  display: block;
  padding: 9px 12px;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--text-primary);
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.15s ease;
}
.catalog-filter-chip__item:hover { background: var(--bg-cream-2); }
.catalog-filter-chip__item.is-active { background: var(--accent); color: var(--bg-card); }

.catalog-filter-chip__check {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--text-primary);
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.15s ease;
}
.catalog-filter-chip__check:hover { background: var(--bg-cream-2); }
.catalog-filter-chip__check input { accent-color: var(--accent); }

.catalog-filter-chip__price {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 8px;
  align-items: center;
}
.catalog-filter-chip__price input {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid rgba(58, 37, 25, 0.12);
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-primary);
  background: var(--bg-cream);
  box-sizing: border-box;
}
.catalog-filter-chip__price input:focus { outline: none; border-color: var(--accent); }
.catalog-filter-chip__price span { color: var(--text-muted); font-size: 13px; }
.catalog-filter-chip__price button {
  grid-column: 1 / -1;
  margin-top: 4px;
  padding: 9px;
  background: var(--accent);
  color: var(--bg-card);
  border: 0;
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.catalog-filter-chip__price button:hover { background: #A17E4A; }

.catalog-filter-chip__submit {
  width: 100%;
  margin-top: 8px;
  padding: 9px;
  background: var(--accent);
  color: var(--bg-card);
  border: 0;
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.catalog-filter-chip__submit:hover { background: #A17E4A; }

.catalog-filter-chip__reset {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 14px;
  color: var(--text-muted);
  font-family: var(--font-body);
  font-size: 13px;
  text-decoration: none;
  transition: color 0.15s ease;
}
.catalog-filter-chip__reset:hover { color: #C0392B; }

/* ═══ Toolbar — обновлённые стили ═══ */
.catalog-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 16px 0;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.catalog-toolbar__left {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.catalog-toolbar__right {
  display: flex;
  align-items: center;
  gap: 20px;
}
.catalog-toolbar__filters-btn { display: none; }

/* ═══ Сетка ═══ */
.catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* ═══ Адаптив ═══ */
@media (max-width: 1100px) {
  .catalog-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .catalog-toolbar__filters-btn { display: inline-flex; }
  .catalog-toolbar__total { display: none; }
  .catalog-toolbar__view { display: none; }
  .catalog-filter-chip__dropdown {
    position: fixed;
    top: auto; bottom: 0; left: 0; right: 0;
    max-height: 70vh;
    overflow-y: auto;
    border-radius: 20px 20px 0 0;
    padding: 20px;
    min-width: 0;
  }
}
@media (max-width: 600px) {
  .catalog-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .catalog-filters-row { gap: 6px; }
  .catalog-filter-chip__btn { padding: 7px 12px; font-size: 12px; }
  .catalog-toolbar__sort label { display: none; }
}


/* ═══ Финальная полировка каталога PULSUN ═══ */
.catalog-heading {
  display:flex; align-items:flex-end; justify-content:space-between; gap:32px;
  padding:28px 0 22px; border-bottom:0;
}
.catalog-heading__eyebrow {
  font:700 11px/1.2 var(--font-body); letter-spacing:.14em; color:var(--accent); margin-bottom:10px;
}
.catalog-heading .catalog-title { margin:0 0 10px; }
.catalog-heading__lead {
  margin:0; max-width:650px; color:var(--text-secondary); font:400 15px/1.55 var(--font-body);
}
.catalog-heading__link {
  flex:0 0 auto; color:var(--text-primary); text-decoration:none; font:600 13px/1 var(--font-body);
  padding-bottom:3px; border-bottom:1px solid rgba(42,26,15,.35);
}
.catalog-toolbar__filters-btn {
  align-items:center; gap:7px; border:1px solid rgba(58,37,25,.12); background:#fff;
  color:var(--text-primary); border-radius:999px; padding:9px 14px; font:600 13px var(--font-body); cursor:pointer;
}
.catalog-toolbar__filters-count {
  min-width:18px; height:18px; padding:0 5px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px; background:var(--accent); color:#fff; font-size:10px;
}
.catalog-toolbar__sort { display:flex; align-items:center; gap:8px; color:var(--text-muted); font:13px var(--font-body); }
.catalog-toolbar__sort-select {
  appearance:none; border:0; background:transparent; color:var(--text-primary); font:600 13px var(--font-body);
  padding:8px 24px 8px 4px; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);
  background-position:calc(100% - 8px) 50%,calc(100% - 4px) 50%; background-size:4px 4px,4px 4px; background-repeat:no-repeat;
}
.catalog-toolbar__sort-select:focus { outline:1px solid var(--accent); outline-offset:3px; border-radius:5px; }
.catalog-toolbar__total { color:var(--text-muted); font:13px var(--font-body); white-space:nowrap; }
.catalog-toolbar__view { display:flex; gap:4px; }
.catalog-view-btn {
  width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(58,37,25,.10);
  background:#fff; color:var(--text-muted); border-radius:9px; cursor:pointer;
}
.catalog-view-btn.is-active { color:var(--text-primary); border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); }

.product-card__media { position:relative; }
.product-card__media .product-card__fav { position:absolute; }
.product-card__body { flex:1; }
.product-card__footer {
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; padding-top:12px;
  border-top:1px solid rgba(58,37,25,.07);
}
.product-card__stock { font:500 11px var(--font-body); color:var(--text-muted); white-space:nowrap; }
.product-card__stock.is-in { color:#5E7651; }
.product-card__stock.is-out { color:var(--text-muted); }
.product-card__cart {
  border:0; border-radius:999px; padding:8px 13px; background:var(--text-primary); color:#fff;
  font:600 12px var(--font-body); cursor:pointer; transition:transform .15s ease, background .15s ease;
}
.product-card__cart:hover { background:var(--accent); transform:translateY(-1px); }
.product-card__cart:disabled { opacity:.65; cursor:default; transform:none; }
.catalog-grid--list .product-card__media { width:180px; min-width:180px; }
.catalog-grid--list .product-card__img { width:100%; min-width:0; }
.catalog-grid--list .product-card__body { flex:1; }
.catalog-grid--list .product-card__footer { max-width:360px; }

@media (max-width:900px) {
  .catalog-heading { align-items:flex-start; padding-top:20px; }
  .catalog-heading__link { display:none; }
  .catalog-toolbar { gap:10px; margin-bottom:12px; }
  .catalog-toolbar__left { width:100%; justify-content:space-between; gap:10px; }
  .catalog-filters-row {
    overflow-x:auto; flex-wrap:nowrap; padding:2px 0 8px; scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  .catalog-filters-row::-webkit-scrollbar { display:none; }
  .catalog-filter-chip { flex:0 0 auto; scroll-snap-align:start; }
}
@media (max-width:600px) {
  .catalog-page { padding-top:8px; padding-bottom:48px; }
  .catalog-breadcrumbs { padding-top:8px; }
  .catalog-heading { padding:16px 0 12px; }
  .catalog-heading__eyebrow { font-size:9px; margin-bottom:7px; }
  .catalog-heading .catalog-title { font-size:30px; margin-bottom:7px; }
  .catalog-heading__lead { font-size:13px; line-height:1.45; }
  .catalog-toolbar { padding:10px 0; }
  .catalog-toolbar__sort { margin-left:auto; }
  .product-card { border-radius:13px; }
  .product-card__footer { align-items:stretch; flex-direction:column; }
  .product-card__cart { width:100%; padding:9px 8px; }
  .product-card__stock { display:none; }
  .catalog-grid--list .product-card__media { width:120px; min-width:120px; }
  .catalog-grid--list .product-card__body { padding:12px; }
  .catalog-grid--list .product-card__footer { flex-direction:row; }
}


/* ═══ PULSUN catalog: компактный брендовый верх ═══ */
.catalog-heading--simple {
  padding: 18px 0 20px;
  border-bottom: 0;
  align-items: flex-start;
}
.catalog-heading--simple .catalog-title {
  font-size: clamp(34px, 4vw, 54px);
  margin-bottom: 8px;
}
.catalog-heading--simple .catalog-heading__lead {
  font-size: 15px;
}
.pulsun-flavorbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 0 22px;
  margin-bottom: 22px;
  border-bottom: 1px solid rgba(58,37,25,.09);
}
.pulsun-flavorbar--meta {
  justify-content: flex-end;
  padding: 4px 0 16px;
  margin-bottom: 18px;
}
.catalog-flavor-tools {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 12px;
}
.catalog-flavor-filters {
  display:flex;
  min-width:0;
  gap:7px;
  overflow-x:auto;
  padding:2px;
  scrollbar-width:none;
}
.catalog-flavor-filters::-webkit-scrollbar { display:none; }
.catalog-flavor-filters a {
  flex:0 0 auto;
  padding:8px 13px;
  border:1px solid #dfcfbb;
  border-radius:999px;
  background:#fdf9f4;
  color:#6c513c;
  font:600 12px/1 var(--font-body);
  text-decoration:none;
  transition:.18s ease;
}
.catalog-flavor-filters a span { margin-left:4px; color:#9c836d; font-size:10px; }
.catalog-flavor-filters a:hover { border-color:#bc8a50; }
.catalog-flavor-filters a.is-active { border-color:#a86c25; background:#a86c25; color:#fffaf4; }
.catalog-flavor-filters a.is-active span { color:#f5e6d5; }
.catalog-flavor-search {
  display:flex;
  width:190px;
  min-width:190px;
  align-items:center;
  gap:7px;
  padding:0 12px;
  border:1px solid #dfcfbb;
  border-radius:999px;
  background:#fdf9f4;
}
.catalog-flavor-search svg { width:16px; height:16px; flex:0 0 16px; fill:none; stroke:#9a7048; stroke-linecap:round; stroke-width:1.8; }
.catalog-flavor-search input { width:100%; height:34px; border:0; outline:0; background:transparent; color:#342216; font:500 12px/1 var(--font-body); }
.catalog-flavor-search input::placeholder { color:#9d8b7b; }
.pulsun-flavorbar__chips {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}
.pulsun-flavor {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 15px;
  border: 1px solid rgba(58,37,25,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #5E4939;
  text-decoration: none;
  font: 500 13px/1 var(--font-body);
  transition: .15s ease;
}
.pulsun-flavor:hover {
  border-color: var(--accent);
  color: #8C6B3F;
  background: #fff;
}
.pulsun-flavor.is-active {
  background: var(--text-primary);
  border-color: var(--text-primary);
  color: #fff;
}
.pulsun-flavorbar__meta {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 18px;
}
.pulsun-flavorbar__count {
  color: var(--text-muted);
  font: 500 12px var(--font-body);
  white-space: nowrap;
}
.pulsun-sort {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--text-muted);
  font: 12px var(--font-body);
  white-space: nowrap;
}
.pulsun-sort .catalog-toolbar__sort-select {
  font-size: 12px;
  padding-top: 6px;
  padding-bottom: 6px;
}
@media (max-width: 900px) {
  .catalog-flavor-tools { align-items:stretch; flex-direction:column; }
  .catalog-flavor-search { width:100%; min-width:0; }
  .pulsun-flavorbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .pulsun-flavorbar__chips {
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 3px;
    scrollbar-width: none;
  }
  .pulsun-flavorbar__chips::-webkit-scrollbar { display:none; }
  .pulsun-flavor { flex:0 0 auto; }
  .pulsun-flavorbar__meta { width:100%; justify-content:space-between; }
}
@media (max-width:600px) {
  .catalog-heading--simple { padding: 12px 0 12px; }
  .catalog-heading--simple .catalog-title { font-size: 32px; }
  .catalog-heading--simple .catalog-heading__lead { font-size: 13px; }
  .pulsun-flavorbar { padding: 8px 0 14px; margin-bottom: 14px; }
  .pulsun-flavorbar--meta { padding-top:0; }
  .pulsun-sort > span { display:none; }
  .pulsun-flavor { min-height:34px; padding:7px 13px; font-size:12px; }
}
