body.catalog-page, body.product-page { background: #fffdfb; }

.catalog-main, .product-main {
  width: min(var(--shell), calc(100% - 48px));
  margin: 18px auto 56px;
}
.catalog-breadcrumbs { min-width: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0 0 14px; color: #9b8b83; font-size: .74rem; }
.catalog-breadcrumbs a { color: #6e5d55; text-decoration: none; }
.catalog-breadcrumbs a:hover { color: var(--red); }
.catalog-breadcrumbs span { min-width: 0; overflow-wrap: anywhere; }

.catalog-intro {
  position: relative; overflow: hidden;
  padding: 28px 32px; margin-bottom: 18px;
  display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,250px); align-items: end; gap: 24px;
  border: 1px solid #f0e1d9; border-radius: 18px;
  background: linear-gradient(125deg,#fff8f3 0%,#f8e5da 56%,#fff 100%);
  box-shadow: 0 10px 28px rgba(91,53,36,.05);
}
.catalog-intro::after { content: ""; position: absolute; right: 42px; top: -72px; width: 176px; height: 176px; border: 1px solid rgba(217,75,62,.10); border-radius: 50%; transform: rotate(16deg); pointer-events: none; }
.catalog-intro__copy { position: relative; z-index: 1; max-width: 760px; }
.catalog-intro__eyebrow { display: inline-block; margin-bottom: 8px; color: var(--red); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.catalog-intro h1 { margin: 0; font: 400 clamp(2.15rem,3.8vw,3.45rem)/1 var(--font-serif); letter-spacing: -.04em; }
.catalog-intro p { max-width: 720px; margin: 12px 0 0; color: #675a54; font-size: .92rem; line-height: 1.58; }
.catalog-intro__note { position: relative; z-index: 1; max-width: 230px; padding: 11px 13px; border: 1px solid rgba(234,223,216,.7); border-radius: 13px; background: rgba(255,255,255,.78); color: #74554a; font: .92rem/1.35 var(--font-script); transform: rotate(-2deg); text-align: center; }

.catalog-category-section { margin-bottom: 18px; }
.catalog-category-section__head { margin-bottom: 9px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.catalog-category-section__head h2 { margin: 0; font: 400 1.22rem/1.1 var(--font-serif); }
.catalog-category-strip { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,180px)); justify-content: start; gap: 9px; }
.catalog-category-pill { min-width: 0; padding: 8px; display: flex; flex-direction: column; gap: 7px; border: 1px solid #eee3dc; border-radius: 13px; background: #fff; color: #443630; text-decoration: none; transition: transform .18s,box-shadow .18s,border-color .18s,background .18s; }
.catalog-category-pill:hover, .catalog-category-pill.is-active { transform: translateY(-2px); border-color: #e2b7ac; box-shadow: 0 9px 22px rgba(73,42,30,.08); }
.catalog-category-pill.is-active { background: #fff7f3; color: var(--red-dark); }
.catalog-category-pill__image { aspect-ratio: 1.42/1; overflow: hidden; display: grid; place-items: center; border-radius: 10px; background: #f7efe9; color: #ca9385; font: 1.9rem var(--font-serif); }
.catalog-category-pill__image img { width: 100%; height: 100%; object-fit: cover; }
.catalog-category-pill span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .75rem; font-weight: 800; text-align: center; }
.catalog-category-pill--all { justify-content: center; min-height: 106px; background: linear-gradient(135deg,#fbf0ea,#fff); }
.catalog-category-pill--all .catalog-category-pill__image { aspect-ratio: auto; height: 48px; background: transparent; color: var(--red); }

.catalog-workspace { display: grid; grid-template-columns: 238px minmax(0,1fr); gap: 18px; align-items: start; }
.catalog-filter-toggle { display: none; }
.catalog-filter-panel { position: sticky; top: 146px; min-width: 0; }
.catalog-filter-backdrop { display: none; }
.catalog-filter-card { overflow: hidden; border: 1px solid #eee3dc; border-radius: 15px; background: #fff; box-shadow: 0 8px 22px rgba(69,38,28,.045); }
.catalog-filter-head { min-height: 50px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #f0e7e2; }
.catalog-filter-head h2 { margin: 0; font: 400 1.1rem var(--font-serif); }
.catalog-filter-close { display: none; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #f8f0eb; font-size: 1.4rem; cursor: pointer; }
.catalog-filter-form { padding: 7px 15px 15px; }
.catalog-filter-group { padding: 13px 0; border-bottom: 1px solid #f2ebe6; }
.catalog-filter-group:last-of-type { border-bottom: 0; }
.catalog-filter-group h3 { margin: 0 0 9px; color: #4a3b35; font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; }
.catalog-filter-search > label { display: block; margin-bottom: 8px; color: #4a3b35; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.catalog-filter-search__control { position: relative; }
.catalog-filter-search__control input { width: 100%; height: 40px; padding: 0 34px 0 11px; border: 1px solid #e8ddd7; border-radius: 9px; background: #fffdfa; color: var(--ink); }
.catalog-filter-search__control input:focus { outline: 0; border-color: #d8aaa2; box-shadow: 0 0 0 3px rgba(217,75,62,.07); }
.catalog-filter-search__control span { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: #9c8278; font-size: 1.05rem; pointer-events: none; }
.catalog-filter-option { min-height: 34px; display: flex; align-items: center; gap: 8px; cursor: pointer; color: #655750; font-size: .8rem; }
.catalog-filter-option input { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; accent-color: var(--red); }
.catalog-filter-option span { flex: 1; min-width: 0; }
.catalog-filter-option small { flex: 0 0 auto; color: #aa9b94; }
.catalog-filter-prices { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.catalog-filter-prices input { width: 100%; min-width: 0; height: 39px; padding: 0 10px; border: 1px solid #e8ddd7; border-radius: 9px; background: #fffdfa; }
.catalog-filter-actions { padding-top: 13px; display: grid; gap: 7px; }
.catalog-filter-actions .button { width: 100%; min-height: 41px; border-radius: 10px; }
.catalog-filter-actions .catalog-reset { display: grid; place-items: center; background: #f8f1ec; color: #62534d; }

.catalog-results { min-width: 0; }
.catalog-toolbar { min-height: 54px; margin-bottom: 11px; padding: 7px 10px 7px 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid #eee4de; border-radius: 13px; background: #fff; }
.catalog-results-count { min-width: 0; color: #6d5f58; font-size: .79rem; }
.catalog-results-count strong { color: var(--ink); font-size: .96rem; }
.catalog-sort-wrap { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; color: #7a6b64; font-size: .75rem; }
.catalog-sort-wrap select { height: 37px; min-width: 184px; padding: 0 32px 0 10px; border: 1px solid #e8ddd7; border-radius: 9px; background: #fff; color: #3c302b; }

.catalog-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; align-items: stretch; }
.catalog-product-grid .product-card { height: 100%; position: relative; }
.catalog-product-grid .product-image img { aspect-ratio: 1.22/1; }
.catalog-product-grid .product-body { min-height: 205px; }
.catalog-product-grid .product-body h3 { min-height: 42px; }
.catalog-product-meta { min-height: 17px; margin: -1px 0 6px; overflow: hidden; color: #9b8b84; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.catalog-product-description { min-height: 37px; margin: 0 0 8px; overflow: hidden; color: #7d6f68; font-size: .7rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.product-price-line { min-height: 27px; display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; }
.product-price-line strong { font-size: .98rem; }
.product-price-line del { color: #ab9b94; font-size: .73rem; }
.catalog-product-grid .add-button { margin-top: auto; opacity: 1; transform: none; }

.catalog-empty { min-height: 340px; padding: 50px 22px; display: grid; place-items: center; text-align: center; border: 1px dashed #e4d7d0; border-radius: 17px; background: linear-gradient(180deg,#fff,#fff9f5); }
.catalog-empty > div { max-width: 410px; }
.catalog-empty i { width: 64px; height: 64px; margin: 0 auto 15px; display: grid; place-items: center; border-radius: 50%; background: #f8e9e1; color: var(--red); font: 1.9rem var(--font-serif); }
.catalog-empty h1, .catalog-empty h2 { margin: 0 0 8px; font: 400 1.6rem var(--font-serif); }
.catalog-empty p { margin: 0 0 17px; color: #776a63; }

.catalog-pagination { margin: 20px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.catalog-pagination a, .catalog-pagination span { min-width: 39px; height: 39px; padding: 0 10px; display: grid; place-items: center; border: 1px solid #eadfd8; border-radius: 9px; background: #fff; color: #5d4e48; text-decoration: none; font-size: .79rem; }
.catalog-pagination .is-active { border-color: var(--red); background: var(--red); color: #fff; }
.catalog-pagination a:hover { border-color: #ddb3a9; color: var(--red); }
body.catalog-filter-open { overflow: hidden; }

/* Product */
.product-detail { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(360px,.98fr); gap: clamp(26px,3.5vw,48px); align-items: start; }
.product-gallery { min-width: 0; }
.product-main-image { overflow: hidden; aspect-ratio: 1/1; border-radius: 19px; background: #f7efe9; }
.product-main-image img { width: 100%; height: 100%; object-fit: cover; }
.product-thumbnails { display: flex; gap: 8px; margin-top: 9px; overflow-x: auto; padding-bottom: 4px; }
.product-thumbnails button { flex: 0 0 72px; width: 72px; height: 72px; padding: 0; overflow: hidden; border: 1px solid #eadfd9; border-radius: 11px; background: #fff; cursor: pointer; }
.product-thumbnails button:focus-visible { border-color: var(--red); }
.product-thumbnails img { width: 100%; height: 100%; object-fit: cover; }
.product-detail-copy { min-width: 0; padding-top: 7px; }
.product-detail-copy h1 { margin: 7px 0 10px; font: 400 clamp(2rem,3.7vw,3.35rem)/1.04 var(--font-serif); letter-spacing: -.035em; overflow-wrap: anywhere; }
.product-sku { color: #9a8a82; font-size: .75rem; }
.product-detail-price { display: flex; align-items: baseline; gap: 11px; margin: 15px 0 8px; }
.product-detail-price strong { font: 800 1.45rem/1.1 var(--font-sans); }
.product-detail-price del { color: #a7978f; }
.product-stock { margin: 0 0 15px; font-size: .78rem; font-weight: 800; }
.product-stock--in_stock { color: #5f7f45; }
.product-short-description { max-width: 600px; color: #675a54; line-height: 1.65; }
.product-detail-actions { display: flex; gap: 9px; flex-wrap: wrap; margin: 19px 0; }
.product-detail-actions .add-button { width: auto; min-width: 200px; min-height: 45px; margin: 0; padding: 0 19px; }
.product-favorite-button { position: static; width: auto; height: 45px; padding: 0 16px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #e7dad3; border-radius: 10px; background: #fff; color: #554640; box-shadow: none; font: inherit; }
.product-description { margin-top: 24px; padding-top: 20px; border-top: 1px solid #eee4df; }
.product-description h2 { margin: 0 0 9px; font: 400 1.38rem var(--font-serif); }
.product-description p { margin: 0; color: #665953; line-height: 1.68; }
.product-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 18px; }
.product-tags a { padding: 6px 9px; border-radius: 999px; background: #f8efea; color: #7e5b51; text-decoration: none; font-size: .69rem; }
.product-related { margin-top: 48px; }
.product-related .section-heading { margin-bottom: 14px; }
.product-related .catalog-product-grid { grid-template-columns: repeat(auto-fit,minmax(230px,300px)); justify-content: center; }

@media (max-width: 1220px) {
  .catalog-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .product-related .catalog-product-grid { grid-template-columns: repeat(auto-fit,minmax(220px,300px)); }
}
@media (max-width: 980px) {
  .catalog-main, .product-main { width: min(100% - 32px,var(--shell)); }
  .catalog-workspace { grid-template-columns: 210px minmax(0,1fr); }
  .catalog-filter-panel { top: 138px; }
  .catalog-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-related .catalog-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-detail { grid-template-columns: minmax(0,1fr) minmax(315px,.9fr); gap: 24px; }
}
@media (max-width: 760px) {
  .catalog-main, .product-main { width: min(100% - 24px,var(--shell)); margin-top: 13px; margin-bottom: 40px; }
  .catalog-intro { padding: 21px 19px; grid-template-columns: 1fr; gap: 14px; border-radius: 16px; }
  .catalog-intro h1 { font-size: 2.25rem; }
  .catalog-intro__note { justify-self: start; max-width: none; }
  .catalog-category-strip { grid-auto-flow: column; grid-auto-columns: minmax(132px,42vw); grid-template-columns: none; overflow-x: auto; padding: 2px 2px 9px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .catalog-category-pill { scroll-snap-align: start; }
  .catalog-workspace { grid-template-columns: 1fr; gap: 9px; }
  .catalog-filter-toggle { min-height: 45px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #eadfd9; border-radius: 12px; background: #fff; font-weight: 800; cursor: pointer; }
  .catalog-filter-panel { position: fixed; z-index: 80; inset: 0; display: block; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .18s,visibility .18s; }
  .catalog-filter-panel.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
  .catalog-filter-backdrop { display: block; position: absolute; inset: 0; border: 0; background: rgba(44,28,22,.42); backdrop-filter: blur(2px); }
  .catalog-filter-card { position: absolute; left: 0; right: 0; bottom: 0; max-height: min(84dvh,720px); overflow: auto; border-radius: 20px 20px 0 0; transform: translateY(20px); transition: transform .18s; }
  .catalog-filter-panel.is-open .catalog-filter-card { transform: translateY(0); }
  .catalog-filter-head { position: sticky; top: 0; z-index: 2; background: #fff; }
  .catalog-filter-close { display: grid; place-items: center; }
  .catalog-filter-form { padding-bottom: max(22px,env(safe-area-inset-bottom)); }
  .catalog-toolbar { min-height: 49px; padding: 7px 8px 7px 11px; }
  .catalog-sort-wrap span { display: none; }
  .catalog-sort-wrap select { min-width: 0; max-width: 168px; }
  .catalog-product-grid, .product-related .catalog-product-grid { gap: 9px; }
  .catalog-product-grid .product-body { min-height: 166px; }
  .catalog-product-description { display: none; }
  .product-detail { grid-template-columns: 1fr; gap: 20px; }
  .product-main-image { border-radius: 16px; }
  .product-detail-copy { padding-top: 0; }
  .product-detail-copy h1 { font-size: 2.1rem; }
  .product-detail-actions { display: grid; grid-template-columns: 1fr; }
  .product-detail-actions .add-button, .product-favorite-button { width: 100%; min-height: 45px; justify-content: center; }
  .product-related { margin-top: 36px; }
}
@media (max-width: 430px) {
  .catalog-breadcrumbs { font-size: .68rem; }
  .catalog-intro h1 { font-size: 1.98rem; }
  .catalog-intro p { font-size: .86rem; }
  .catalog-toolbar { align-items: stretch; flex-direction: column; gap: 7px; }
  .catalog-sort-wrap, .catalog-sort-wrap select { width: 100%; max-width: none; }
  .catalog-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-related .catalog-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-product-grid .product-body { min-height: 155px; padding: 8px; }
  .catalog-product-grid .product-body h3 { min-height: 43px; font-size: .78rem; }
  .catalog-product-badge { left: 5px; top: 5px; padding: 4px 6px; font-size: .55rem; }
  .product-price-line { min-height: 23px; }
  .product-price-line strong { font-size: .88rem; }
  .catalog-product-grid .rating { font-size: .68rem; }
  .product-detail-copy h1 { font-size: 1.85rem; }
  .product-thumbnails button { flex-basis: 62px; width: 62px; height: 62px; }
}
@media (max-width: 360px) {
  .catalog-main, .product-main { width: calc(100% - 16px); }
  .catalog-product-grid, .product-related .catalog-product-grid { gap: 7px; }
  .catalog-product-grid .product-body { padding-left: 7px; padding-right: 7px; }
  .catalog-toolbar { padding-left: 8px; padding-right: 8px; }
}

/* V7 catalog page identities */
.catalog-intro__note{display:grid;gap:2px;transform:none;font-family:var(--font-sans);text-align:left}.catalog-intro__note strong{font:700 2.35rem/.95 var(--font-serif);color:#513d36}.catalog-intro__note span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}.catalog-intro__note small{margin-top:7px;color:#7f6c64;font-size:.72rem;line-height:1.4}
.catalog-page--kitchen .catalog-intro{background:linear-gradient(125deg,#fff8f2,#f4e6d8 58%,#fff 100%)}
.catalog-page--textile .catalog-intro{min-height:260px;align-items:center;background:linear-gradient(135deg,#faf6f1,#eee7df)}.catalog-page--textile .catalog-intro::after{content:"";width:230px;height:230px;border:1px solid rgba(126,101,87,.12);border-radius:50%;top:-85px;right:40px}
.catalog-page--decor .catalog-intro{background:linear-gradient(130deg,#f5f1e9,#eee8dc 55%,#fbf8f2)}.catalog-page--decor .catalog-intro::after{content:"";width:160px;height:160px;border:1px solid rgba(100,83,67,.13);border-radius:32px;transform:rotate(18deg);top:-54px;right:42px}
.catalog-page--new .catalog-intro{background:linear-gradient(130deg,#fff6f1,#f8ded7)}.catalog-page--new .catalog-intro__eyebrow,.catalog-page--new .catalog-intro__note span{color:#b83d31}
.catalog-page--sale .catalog-intro{background:linear-gradient(130deg,#f7e6e2,#f0d7d2)}.catalog-page--sale .catalog-intro::after{content:"%";font-family:var(--font-sans);font-weight:800}.catalog-page--sale .catalog-intro__note{border-color:rgba(217,75,62,.18);background:rgba(255,255,255,.86)}
.catalog-page--kitchen .catalog-workspace,.catalog-page--textile .catalog-workspace,.catalog-page--decor .catalog-workspace{margin-top:24px}
@media(max-width:760px){.catalog-intro__note{width:100%;grid-template-columns:auto 1fr;align-items:end;column-gap:8px}.catalog-intro__note small{grid-column:1/-1}.catalog-intro__note strong{font-size:2rem}.catalog-page--textile .catalog-intro{min-height:0}}

.catalog-filter-toggle__icon{width:22px;height:22px;display:grid;place-items:center}.catalog-filter-toggle__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.catalog-filter-close{display:none;place-items:center}.catalog-filter-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.catalog-related{margin-top:clamp(30px,4vw,52px)}.catalog-related__head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.catalog-related__head h2{margin:0;font:500 clamp(28px,4vw,42px)/1.05 var(--font-serif)}.catalog-related__head p{max-width:520px;margin:0;color:var(--muted,#786f69)}.catalog-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.catalog-related__card{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;padding:14px;border:1px solid #eadfd9;border-radius:18px;background:#fff;text-decoration:none;color:inherit;transition:transform .22s ease,border-color .22s ease}.catalog-related__card:hover{transform:translateY(-2px);border-color:#d9c9c0}.catalog-related__media{width:72px;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#f5efeb;display:grid;place-items:center}.catalog-related__media img{width:100%;height:100%;object-fit:cover}.catalog-related__media svg{width:25px;height:25px}.catalog-related__card strong{display:block;font-size:15px}.catalog-related__card small{display:block;margin-top:5px;color:var(--muted,#786f69)}@media(max-width:768px){.catalog-related__grid{grid-template-columns:1fr}.catalog-related__head{display:block}.catalog-related__head p{margin-top:7px}}
/* Catalog full-page audit fixes */
.catalog-results{
  width:100%;
  min-width:0;
}
.catalog-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}
.catalog-toolbar .catalog-filter-toggle{
  display:none;
}
.catalog-results-count{
  min-width:0;
}
.catalog-results-count strong{
  font-variant-numeric:tabular-nums;
}
.catalog-sort-wrap{
  justify-self:end;
}
.catalog-sort-wrap select{
  max-width:220px;
}
.catalog-uniform-grid .product-card{
  overflow:hidden;
  height:100%;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(58,35,26,.04);
}
.catalog-uniform-grid .product-image{
  border-bottom:1px solid #f1e8e3;
  background:#f5efeb;
}
.catalog-uniform-grid .product-image img{
  aspect-ratio:1.08/1;
  object-fit:cover;
}
.catalog-uniform-grid .product-body{
  min-height:228px;
  background:#fff;
}
.catalog-uniform-grid .product-price-line{margin-top:4px}
.catalog-uniform-grid .favorite-button{box-shadow:0 3px 10px rgba(50,28,20,.09)}
.catalog-uniform-grid .add-button{
  position:relative;
  overflow:hidden;
  min-height:40px;
  margin-top:auto;
  border:0;
  border-radius:10px;
  background:linear-gradient(180deg,#df574b 0%,#cf4339 100%);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 5px 13px rgba(183,60,50,.16);
  font-weight:800;
  transition:transform .16s ease,filter .18s ease,box-shadow .18s ease;
}
.catalog-uniform-grid .add-button:hover{
  filter:brightness(.96);
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 7px 17px rgba(183,60,50,.20);
}
.catalog-uniform-grid .add-button:active{transform:scale(.985)}
.catalog-uniform-grid .add-button:focus-visible{
  outline:3px solid rgba(207,67,57,.18);
  outline-offset:2px;
}
.catalog-uniform-grid .product-card.has-variants .add-button{
  border:0;
  background:linear-gradient(180deg,#68866c 0%,#58745d 100%);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 5px 13px rgba(70,105,79,.15);
}
.catalog-uniform-grid .product-card.has-variants .add-button:hover{
  filter:brightness(.95);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 7px 17px rgba(70,105,79,.18);
}
.catalog-page .small-items-related{
  margin-top:22px;
}
body.catalog-page .stage6-scene--front,
body.catalog-page .catalog-workspace::after{
  display:none!important;
}

@media(max-width:760px){
  .catalog-filter-close{display:grid}
  .catalog-main{
    margin-top:10px;
  }
  .catalog-breadcrumbs{
    margin-bottom:10px;
  }
  .catalog-intro{
    margin-bottom:12px;
    padding:18px 16px;
    gap:10px;
  }
  .catalog-intro h1{
    font-size:1.9rem;
  }
  .catalog-intro p{
    max-width:33rem;
    margin-top:7px;
    font-size:.8rem;
    line-height:1.42;
  }
  .catalog-intro__note{
    width:auto!important;
    max-width:100%;
    justify-self:start;
    padding:8px 10px;
    grid-template-columns:auto auto;
    column-gap:7px;
    row-gap:1px;
    align-items:end;
  }
  .catalog-intro__note strong{
    font-size:1.7rem;
  }
  .catalog-intro__note span{
    font-size:.63rem;
  }
  .catalog-intro__note small{
    grid-column:1/-1;
    margin-top:3px;
    font-size:.64rem;
  }

  .catalog-workspace{
    gap:0;
  }
  .catalog-toolbar{
    min-height:0;
    margin-bottom:8px;
    padding:8px;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:7px;
    border-radius:12px;
  }
  .catalog-results-count{
    grid-column:1/-1;
    padding:1px 2px 2px;
    color:#74675f;
    font-size:.7rem;
  }
  .catalog-results-count strong{
    color:#463831;
    font-size:.86rem;
  }
  .catalog-toolbar .catalog-filter-toggle{
    min-height:44px;
    padding:0 11px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    border:1px solid #e7dad3;
    border-radius:10px;
    background:#fff;
    color:#473a34;
    font-size:.74rem;
    font-weight:800;
    box-shadow:none;
  }
  .catalog-toolbar .catalog-filter-toggle__icon{
    flex:0 0 20px;
    width:20px;
    height:20px;
  }
  .catalog-sort-wrap{
    width:100%;
    justify-self:stretch;
  }
  .catalog-sort-wrap span{
    display:none;
  }
  .catalog-sort-wrap select{
    width:100%;
    max-width:none;
    min-height:44px;
    height:44px;
    padding-inline:10px 32px;
    border-radius:10px;
    font-size:.74rem;
  }

  .catalog-uniform-grid .product-card{
    border-radius:12px;
  }
  .catalog-uniform-grid .catalog-product-badge{
    left:6px;
    top:6px;
    padding:3px 6px;
    border-radius:999px;
    font-size:.5rem;
  }
  .catalog-uniform-grid .favorite-button{
    width:32px;
    height:32px;
  }
  .catalog-uniform-grid .product-body{
    padding:8px!important;
  }

  /* The full-page capture showed decorative flowers crossing the first product
     and another floating alone in the large empty gap. Keep mobile catalog clean. */
  body.catalog-page .stage6-scene{
    display:none!important;
  }
}

@media(max-width:430px){
  .catalog-main{
    width:calc(100% - 14px);
  }
  .catalog-intro{
    padding:16px 14px;
    border-radius:14px;
  }
  .catalog-intro h1{
    font-size:1.78rem;
  }
  .catalog-toolbar{
    padding:7px;
    gap:6px;
  }
  .catalog-toolbar .catalog-filter-toggle,
  .catalog-sort-wrap select{
    min-height:42px;
    height:42px;
  }
}


/* V32 — variant preview on grouped product cards */
.product-card-variant-strip{display:flex;align-items:center;gap:4px;margin:8px 0 2px;min-height:20px}
.product-card-variant-dot{width:17px;height:17px;display:inline-block;border:1px solid rgba(0,0,0,.14);border-radius:50%;background:var(--variant-color,#d9d1c7);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.72)}
.product-card-variant-more{margin-left:2px;color:#7c746b;font-size:10px}
.catalog-page .product-card.has-variants .add-button{background:linear-gradient(180deg,#68866c 0%,#58745d 100%);color:#fff;border:0}


/* V40 — catalog composition polish */
.catalog-page .catalog-workspace{
  grid-template-columns:220px minmax(0,1fr);
  gap:16px;
}
.catalog-page .catalog-filter-card{
  border-color:#eee5df;
  border-radius:14px;
  box-shadow:0 7px 20px rgba(69,38,28,.035);
}
.catalog-page .catalog-filter-head{
  min-height:46px;
  padding:0 13px;
}
.catalog-page .catalog-filter-head h2{
  font-size:1.04rem;
}
.catalog-page .catalog-filter-form{
  padding:5px 13px 13px;
}
.catalog-page .catalog-filter-group{
  padding:11px 0;
}
.catalog-page .catalog-filter-group h3,
.catalog-page .catalog-filter-search>label{
  margin-bottom:7px;
  color:#645650;
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.015em;
  text-transform:none;
}
.catalog-page .catalog-filter-option{
  min-height:31px;
  font-size:.76rem;
}
.catalog-page .catalog-filter-search__control input,
.catalog-page .catalog-filter-prices input{
  height:38px;
}
.catalog-page .catalog-filter-actions{
  padding-top:11px;
  gap:6px;
}
.catalog-page .catalog-filter-actions .button{
  min-height:39px;
  border-radius:9px;
  font-size:.72rem;
}

.catalog-page .catalog-uniform-grid--compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}
.catalog-page .catalog-uniform-grid--compact .product-image img{
  aspect-ratio:1.12/1;
}
.catalog-page .catalog-uniform-grid--compact .product-body{
  min-height:218px;
  padding:11px;
}
.catalog-page .catalog-uniform-grid--compact .product-body h3{
  min-height:40px;
  font-size:.82rem;
  line-height:1.28;
}
.catalog-page .catalog-uniform-grid--compact .catalog-product-description{
  min-height:39px;
  font-size:.72rem;
  line-height:1.42;
}
.catalog-page .catalog-uniform-grid--compact .product-price-line strong{
  font-size:1.02rem;
}
.catalog-page .catalog-uniform-grid--compact .catalog-product-meta{
  font-size:.65rem;
}
.catalog-page .catalog-uniform-grid--compact .rating{
  font-size:.7rem;
}
.catalog-page .catalog-uniform-grid--compact .add-button{
  min-height:42px;
  font-size:.74rem;
}

.catalog-page .catalog-related{
  margin-top:38px;
}
.catalog-page .catalog-related__head{
  margin-bottom:14px;
}
.catalog-page .catalog-related__head p{
  max-width:420px;
  font-size:.8rem;
  line-height:1.45;
}
.catalog-page .catalog-related__card{
  padding:12px;
  border-radius:15px;
  gap:12px;
}
.catalog-page .catalog-related__media{
  width:64px;
  border-radius:12px;
}

@media(max-width:1220px){
  .catalog-page .catalog-workspace{
    grid-template-columns:210px minmax(0,1fr);
  }
  .catalog-page .catalog-uniform-grid--compact{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:980px){
  .catalog-page .catalog-workspace{
    grid-template-columns:190px minmax(0,1fr);
  }
  .catalog-page .catalog-uniform-grid--compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .catalog-page .catalog-workspace{
    grid-template-columns:1fr;
  }
  .catalog-page .catalog-uniform-grid--compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .catalog-page .catalog-uniform-grid--compact .product-body{
    min-height:166px;
    padding:8px;
  }
  .catalog-page .catalog-uniform-grid--compact .product-body h3{
    min-height:38px;
    font-size:.76rem;
  }
  .catalog-page .catalog-uniform-grid--compact .catalog-product-description{
    display:none;
  }
  .catalog-page .catalog-related{
    margin-top:26px;
  }
}
