/* Каталог: список товаров, разделы и страница товара.
   Подключается после style.css и news.css — цвета, шрифты, крошки
   и заголовки блоков берутся оттуда. */

.visually-hidden{
  position:absolute !important;
  width:1px;height:1px;
  margin:-1px;padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

.nw{white-space:nowrap}

.catalog .container,
.pd-page .container{max-width:var(--content)}

/* ------------------------------------------------------------------
   Шапка каталога
   ------------------------------------------------------------------ */

.cat-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(16px,1.4vw,28px) 0 clamp(26px,2.4vw,48px);
  color:var(--ink);
  background:#F4F4F4 url("../images/catalog-hero.jpg") no-repeat right center / auto 100%;
  border-bottom:1px solid #E6EAF1;
}
/* светлая дымка слева — под текст; справа остаётся бутылка AMSOIL */
.cat-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,#F4F4F4 0%,#F4F4F4 38%,rgba(244,244,244,.82) 52%,rgba(244,244,244,0) 72%);
  pointer-events:none;
}

.cat-hero__row{
  display:grid;
  grid-template-columns:minmax(0,780px);
  gap:clamp(18px,2vw,34px);
  margin-top:clamp(18px,2vw,40px);
}

.cat-hero__title{
  margin:clamp(8px,.8vw,16px) 0 0;
  font-family:var(--font-head);
  font-weight:900;
  font-style:italic;
  text-transform:uppercase;
  font-size:clamp(32px,4vw,74px);
  line-height:1;
  letter-spacing:-.01em;
  color:var(--blue);
  text-wrap:balance;
}
.cat-hero__lead{
  max-width:640px;
  margin-top:clamp(12px,1.1vw,22px);
  font-size:clamp(14px,1vw,18px);
  line-height:1.6;
  color:var(--body);
}

/* четыре равные колонки; на узких экранах — ровная сетка 2×2 (ниже) */
.cat-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:780px;
}
.cat-stat{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  padding:2px clamp(12px,1.4vw,28px);
  border-left:1px solid #D9DEE6;
}
.cat-stat:first-child{padding-left:0;border-left:0}
.cat-stat b{
  font-family:var(--font-head);
  font-weight:900;
  font-style:italic;
  font-size:clamp(26px,2.2vw,42px);
  line-height:1;
  color:var(--red);
}
.cat-stat span{
  line-height:1.35;
  font-size:clamp(11px,.72vw,13px);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

/* Плитки разделов */

.cat-sections{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:clamp(8px,.7vw,14px);
  margin-top:clamp(24px,2.6vw,52px);
}
.cat-tile{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  padding:clamp(12px,1vw,20px);
  border:1px solid #E3E7EE;
  border-radius:6px;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  color:var(--ink);
  box-shadow:0 14px 30px -26px rgba(17,20,24,.55);
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.cat-tile:hover{
  border-color:rgba(213,37,44,.45);
  box-shadow:0 22px 40px -30px rgba(17,20,24,.65);
  transform:translateY(-2px);
}
.cat-tile.is-active{background:var(--blue);border-color:var(--blue);color:#fff}
.cat-tile.is-active::after{
  content:"";
  position:absolute;
  left:clamp(12px,1vw,20px);right:clamp(12px,1vw,20px);bottom:-1px;
  height:3px;
  background:var(--red);
}

.cat-tile__icon{
  display:grid;
  place-items:center;
  width:clamp(44px,3.4vw,64px);
  aspect-ratio:1;
  margin-bottom:4px;
  padding:4px;
  color:#fff;
  background:var(--blue);
  border-radius:8px;
  transition:background .25s ease;
}
.cat-tile__icon img{width:100%;height:100%;object-fit:contain}
.cat-tile__icon svg{width:62%;height:62%}
.cat-tile:hover .cat-tile__icon{background:var(--red)}
.cat-tile.is-active .cat-tile__icon{background:var(--red)}

.cat-tile__title{
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(14px,.98vw,18px);
  line-height:1.15;
}
.cat-tile__count{
  margin-top:auto;
  font-size:clamp(11.5px,.74vw,13px);
  color:var(--muted);
}
.cat-tile.is-active .cat-tile__count{color:rgba(255,255,255,.7)}

/* ------------------------------------------------------------------
   Фильтры
   ------------------------------------------------------------------ */

.cat-body{
  padding:clamp(22px,2.2vw,44px) 0 clamp(44px,4vw,84px);
  background:#F5F7FA;
}

.cat-tools{
  display:grid;
  /* minmax(0,…) — иначе ряд чипсов на телефоне растягивает панель шире экрана */
  grid-template-columns:minmax(0,1fr);
  min-width:0;
  gap:clamp(12px,1vw,18px);
  margin-bottom:clamp(16px,1.6vw,30px);
  padding:clamp(14px,1.3vw,26px);
  background:#fff;
  border:1px solid #E6EAF1;
  border-radius:6px;
}

.cat-search{position:relative;display:block}
.cat-search__ico{
  position:absolute;
  left:16px;top:50%;
  width:20px;height:20px;
  transform:translateY(-50%);
  color:var(--muted);
  pointer-events:none;
}
.cat-search__input{
  width:100%;
  height:clamp(48px,3.4vw,58px);
  padding:0 16px 0 48px;
  font:inherit;
  font-size:clamp(14px,.95vw,17px);
  color:var(--ink);
  background:#F5F7FA;
  border:1px solid var(--line);
  border-radius:4px;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.cat-search__input::placeholder{color:#9AA4B2}
.cat-search__input:focus{
  outline:0;
  background:#fff;
  border-color:var(--blue-light);
  box-shadow:0 0 0 3px rgba(44,90,168,.14);
}

.cat-filter{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:clamp(10px,1vw,20px);
}
.cat-filter__label{
  flex:none;
  width:clamp(74px,6vw,110px);
  padding-top:9px;
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(11px,.74vw,13px);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.cat-filter__chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}

.chip{
  display:inline-flex;
  align-items:center;
  height:36px;
  padding:0 14px;
  font:inherit;
  font-size:clamp(12.5px,.8vw,14px);
  font-weight:600;
  white-space:nowrap;
  color:var(--ink);
  background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,color .2s ease;
}
.chip:hover{border-color:var(--blue-light);color:var(--blue)}
.chip.is-active{color:#fff;background:var(--blue);border-color:var(--blue)}

.cat-tools__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:clamp(10px,.9vw,16px);
  border-top:1px solid #EEF1F5;
}
.cat-count{font-size:clamp(12.5px,.84vw,14.5px);color:var(--muted)}
.cat-count b{color:var(--ink)}
.cat-reset{
  padding:0;
  font:inherit;
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(11px,.76vw,13.5px);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--red);
  background:none;
  border:0;
  cursor:pointer;
}
.cat-reset:hover{color:var(--red-dark)}
.cat-reset[hidden]{display:none}

.cat-empty{
  padding:clamp(30px,3vw,60px);
  text-align:center;
  color:var(--muted);
  background:#fff;
  border:1px dashed var(--line);
  border-radius:6px;
}
.cat-empty[hidden]{display:none}

/* ------------------------------------------------------------------
   Карточки товаров
   ------------------------------------------------------------------ */

.cat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(10px,1.1vw,22px);
}

.cat-card{
  display:flex;
  min-width:0;
  background:#fff;
  border:1px solid #E6EAF1;
  border-radius:6px;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.cat-card[hidden]{display:none}
.cat-card:hover{
  border-color:rgba(213,37,44,.45);
  box-shadow:0 22px 40px -30px rgba(17,20,24,.65);
  transform:translateY(-2px);
}
.cat-card__link{display:flex;flex-direction:column;width:100%;color:inherit}

.cat-card__media{
  position:relative;
  display:grid;
  place-items:center;
  aspect-ratio:1;
  padding:clamp(12px,1.2vw,26px);
  border-bottom:1px solid #F0F2F6;
}
.cat-card__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
  transition:transform .6s cubic-bezier(.22,.72,.24,1);
}
.cat-card:hover .cat-card__media img{transform:scale(1.04)}

.cat-card__visc{
  position:absolute;
  top:clamp(10px,.8vw,14px);
  left:clamp(10px,.8vw,14px);
  padding:5px 9px 4px;
  font-family:var(--font-head);
  font-weight:900;
  font-style:italic;
  font-size:clamp(12px,.8vw,14.5px);
  letter-spacing:.02em;
  line-height:1;
  color:#fff;
  background:var(--blue);
  border-radius:2px;
}

.cat-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:8px;
  padding:clamp(12px,1.1vw,22px);
}
.cat-card__label{
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(10.5px,.7vw,12.5px);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--red);
}
.cat-card__title{
  margin:0;
  font-size:clamp(15px,1.02vw,19px);
  font-weight:700;
  line-height:1.22;
  letter-spacing:-.01em;
  color:var(--ink);
}
.cat-card__text{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:clamp(13px,.84vw,15px);
  line-height:1.5;
  color:var(--body);
}
.cat-card__vols{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.vol{
  padding:4px 8px;
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  color:var(--gray);
  background:#F2F4F8;
  border-radius:3px;
}
.cat-card__more{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:auto;
  padding-top:8px;
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(11px,.74vw,13.5px);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
}
.cat-card__more .arr{width:1.7em;color:var(--red);transition:transform .25s ease}
.cat-card:hover .cat-card__more{color:var(--red)}
.cat-card:hover .cat-card__more .arr{transform:translateX(4px)}

/* ------------------------------------------------------------------
   Страница товара
   ------------------------------------------------------------------ */

.pd{padding:clamp(16px,1.4vw,28px) 0 clamp(36px,3.6vw,72px)}

.pd__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  gap:clamp(24px,4vw,90px);
  margin-top:clamp(18px,1.8vw,34px);
}

.pd__gallery{position:sticky;top:calc(var(--header-h) + 20px)}
.pd__stage{
  --stage-pad:clamp(18px,3vw,60px);
  position:relative;
  aspect-ratio:1;
  background:#fff;
  border:1px solid #E6EAF1;
  border-radius:6px;
}
.pd__photo{
  position:absolute;
  inset:var(--stage-pad);
  width:calc(100% - 2 * var(--stage-pad));
  height:calc(100% - 2 * var(--stage-pad));
  object-fit:contain;
  transition:opacity .25s ease;
}
.pd__photo.is-swapping{opacity:0}
.pd__visc{
  position:absolute;
  top:clamp(12px,1.2vw,22px);
  left:clamp(12px,1.2vw,22px);
  padding:7px 12px 6px;
  font-family:var(--font-head);
  font-weight:900;
  font-style:italic;
  font-size:clamp(15px,1.2vw,22px);
  line-height:1;
  color:#fff;
  background:var(--blue);
  border-radius:2px;
}

.pd__thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.pd__thumb{
  width:clamp(64px,5.4vw,92px);
  aspect-ratio:1;
  padding:6px;
  background:#fff;
  border:1px solid #E6EAF1;
  border-radius:4px;
  cursor:pointer;
  transition:border-color .2s ease;
}
.pd__thumb img{width:100%;height:100%;object-fit:contain}
.pd__thumb:hover{border-color:var(--blue-light)}
.pd__thumb.is-active{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}

.pd__info{min-width:0}
.pd__title{
  margin:clamp(8px,.8vw,14px) 0 0;
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(28px,2.6vw,50px);
  line-height:1.05;
  letter-spacing:-.01em;
  color:var(--ink);
  text-wrap:balance;
}
.pd__lead{
  margin-top:clamp(12px,1.1vw,20px);
  font-size:clamp(15px,1.05vw,19px);
  line-height:1.6;
  color:var(--body);
}

.pd__facts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  margin:clamp(18px,1.8vw,32px) 0 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.pd__fact{padding:clamp(12px,1vw,18px) clamp(12px,1vw,18px) clamp(12px,1vw,18px) 0}
.pd__fact + .pd__fact{padding-left:clamp(12px,1vw,18px);border-left:1px solid var(--line)}
.pd__fact dt{
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(10.5px,.7vw,12.5px);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.pd__fact dd{
  margin:6px 0 0;
  font-weight:600;
  font-size:clamp(14px,.95vw,16.5px);
  line-height:1.3;
  color:var(--ink);
}
.pd__fact dd a{color:var(--blue);transition:color .2s ease}
.pd__fact dd a:hover{color:var(--red)}

.pd__volumes{margin-top:clamp(18px,1.8vw,30px)}
.pd__label{
  display:block;
  margin-bottom:10px;
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(11px,.74vw,13px);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.pd__vol-list{display:flex;flex-wrap:wrap;gap:8px}
.pd-vol{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  min-width:clamp(110px,8vw,140px);
  min-height:58px;
  padding:8px 16px;
  font:inherit;
  text-align:left;
  background:#fff;
  border:1.5px solid var(--line);
  border-radius:4px;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease;
}
.pd-vol:hover{border-color:var(--blue-light)}
.pd-vol.is-active{border-color:var(--red);background:#FFF6F6}
.pd-vol__value{
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(16px,1.1vw,20px);
  line-height:1;
  color:var(--ink);
}
.pd-vol.is-active .pd-vol__value{color:var(--red)}
.pd-vol__note{font-size:12px;color:var(--muted)}

.pd__buy{
  margin-top:clamp(18px,1.8vw,30px);
  padding:clamp(16px,1.5vw,28px);
  background:#F5F7FA;
  border-radius:6px;
}
.pd__actions{display:flex;flex-wrap:wrap;gap:10px}
.pd__order{flex:1 1 260px}
.pd__shop{flex:1 1 100%}
.pd__order.btn--outline{min-width:0}
.pd__order.btn--outline .pd__wa-ico{color:#1EBE5B}
.pd__wa-ico{width:1.5em;height:1.5em;flex:none}
.pd__call.btn--outline{min-width:0;flex:0 1 auto}
.pd__call-num{font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--muted)}
.pd__note{
  margin-top:12px;
  font-size:clamp(12.5px,.82vw,14px);
  line-height:1.5;
  color:var(--muted);
}

.pd__where{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px 20px;
  margin-top:clamp(14px,1.2vw,20px);
  padding-top:clamp(14px,1.2vw,20px);
  border-top:1px solid #E3E7EE;
}
/* без кнопок в блоке остаются только «Где заменить» и маркетплейсы */
.pd__buy--bare .pd__where{margin-top:0;padding-top:0;border-top:0}

.pd__where-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0;
  background:none;
  border:0;
  cursor:pointer;
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(11px,.78vw,14px);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
}
.pd__where-link .arr{width:1.7em;color:var(--red);transition:transform .25s ease}
.pd__where-link:hover{color:var(--red)}
.pd__where-link:hover .arr{transform:translateX(4px)}
.pd__market{display:flex;align-items:center;gap:10px}
.pd__market-label{font-size:12.5px;color:var(--muted)}
.pd__market-logo{
  display:grid;
  place-items:center;
  height:34px;
  padding:0 10px;
  background:#fff;
  border:1px solid #E3E7EE;
  border-radius:4px;
  transition:border-color .2s ease;
}
.pd__market-logo:hover{border-color:var(--red)}
.pd__market-logo img{height:20px;width:auto}

.pd__trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(10px,1vw,18px);
  margin-top:clamp(18px,1.8vw,30px);
}
.pd__trust li{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-left:14px;
  border-left:2px solid var(--red);
}
.pd__trust b{font-size:clamp(13px,.86vw,15px);font-weight:700;color:var(--ink)}
.pd__trust span{font-size:clamp(12px,.78vw,13.5px);line-height:1.4;color:var(--muted)}

.pd__price{
  margin:0 0 12px;
  font-family:var(--font-head);
  font-weight:900;
  font-style:italic;
  font-size:clamp(26px,2vw,38px);
  line-height:1;
  color:var(--ink);
}
.pd__price[hidden]{display:none}

.cat-card__price{
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(15px,1vw,18px);
  color:var(--ink);
}

/* Характеристики */

.pd-specs{
  padding:clamp(36px,3.6vw,72px) 0 0;
  background:#fff;
  border-top:1px solid #EEF1F5;
}
.pd-specs + .pd-about{border-top:0}
.pd-specs__table{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(20px,3vw,64px);
  margin:0;
}
.pd-specs__row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
  gap:16px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.pd-specs__row dt{font-size:clamp(13px,.86vw,15px);color:var(--muted)}
.pd-specs__row dd{margin:0;font-size:clamp(13.5px,.9vw,15.5px);font-weight:600;color:var(--ink)}

/* Описание */

.pd-about{
  padding:clamp(36px,3.6vw,72px) 0;
  background:#fff;
  border-top:1px solid #EEF1F5;
}
.pd-about__lang{margin:-6px 0 18px;font-size:13.5px;color:var(--muted)}
.pd-about__intro{max-width:960px;margin-bottom:clamp(20px,2vw,36px)}

.pd-features{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(12px,1.2vw,24px);
}
.pd-feature{
  position:relative;
  padding:clamp(18px,1.8vw,34px);
  background:#F7F8FA;
  border-radius:6px;
}
.pd-feature__num{
  position:absolute;
  top:clamp(14px,1.4vw,26px);
  right:clamp(16px,1.6vw,30px);
  font-family:var(--font-head);
  font-weight:900;
  font-style:italic;
  font-size:clamp(26px,2.2vw,42px);
  line-height:1;
  color:rgba(213,37,44,.16);
}
.news-rich .pd-feature__title,
.pd-feature__title{
  margin:0 0 .7em;
  padding-right:56px;
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(18px,1.3vw,24px);
  line-height:1.15;
  color:var(--ink);
}
.pd-feature > * + *{margin-top:.6em}
.pd-feature .pd-feature__title + *{margin-top:0}

.pd-related .cat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.pd-related .cat-card__text{-webkit-line-clamp:2}

/* ------------------------------------------------------------------
   Адаптив
   ------------------------------------------------------------------ */

@media (max-width:1200px){
  .cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pd-related .cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pd-related .cat-card:nth-child(4){display:none}
  .pd__trust{grid-template-columns:minmax(0,1fr)}

  /* плитки разделов — лентой с прокруткой */
  .cat-sections{
    display:flex;
    margin-left:calc(-1 * var(--pad));
    margin-right:calc(-1 * var(--pad));
    padding:0 var(--pad) 14px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .cat-sections::-webkit-scrollbar{display:none}
  .cat-tile{flex:0 0 clamp(150px,30vw,200px);scroll-snap-align:start}
}

@media (max-width:1024px){
  .cat-hero::before{background:linear-gradient(90deg,#F4F4F4 0%,#F4F4F4 50%,rgba(244,244,244,.75) 70%,rgba(244,244,244,.2) 100%)}
  .cat-hero__row{grid-template-columns:minmax(0,1fr);align-items:start}

  .pd__grid{grid-template-columns:minmax(0,1fr)}
  .pd__gallery{position:static;max-width:640px;width:100%;margin:0 auto}
  .pd__trust{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:760px){
  .cat-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}
  .cat-stat:nth-child(odd){padding-left:0;border-left:0}
}

@media (max-width:900px){
  .cat-grid,
  .pd-related .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-related .cat-card:nth-child(4){display:flex}
  .pd-features{grid-template-columns:minmax(0,1fr)}
  .pd-specs__table{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:640px){
  .cat-hero__title{font-size:clamp(30px,9vw,44px)}
  /* на телефоне бутылка лишь угадывается справа, текст читается поверх */
  .cat-hero{background-position:72% center}
  .cat-hero::before{background:linear-gradient(90deg,rgba(244,244,244,.97) 0%,rgba(244,244,244,.9) 60%,rgba(244,244,244,.55) 100%)}
  .cat-stat{padding-right:8px}
  .cat-stat b{font-size:26px}
  .cat-stat span{font-size:10.5px;letter-spacing:.05em}
  .cat-sections{margin-top:22px}

  .cat-filter{flex-direction:column;gap:8px}
  .cat-filter__label{width:auto;padding-top:0}
  /* чипы — одной строкой с прокруткой, чтобы фильтры не занимали пол-экрана */
  .cat-filter__chips{width:100%}
  .chip{height:34px;padding:0 12px}
  /* вязкостей много — лента с прокруткой и затуханием у края, что ряд листается */
  .cat-filter--scroll .cat-filter__chips{
    flex-wrap:nowrap;
    padding-bottom:2px;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);
    mask-image:linear-gradient(90deg,#000 85%,transparent);
  }
  .cat-filter--scroll .cat-filter__chips::-webkit-scrollbar{display:none}
  .cat-filter--scroll.is-end .cat-filter__chips{-webkit-mask-image:none;mask-image:none}

  .cat-card__body{padding:12px;gap:6px}
  .cat-card__text{display:none}
  .cat-card__title{font-size:14.5px}
  .vol{font-size:11px;padding:3px 6px}
  .cat-card__more{font-size:10.5px;letter-spacing:.1em}

  .pd__stage{aspect-ratio:5/4;--stage-pad:14px}
  .pd .crumbs__item span{max-width:none;white-space:normal}
  .pd__thumb{width:56px}
  /* на узких телефонах длинные надписи кнопок переносятся, а не вылезают за экран */
  .pd__actions .btn{
    flex:1 1 100%;
    height:auto;
    min-height:52px;
    padding:10px 16px;
    white-space:normal;
    text-align:center;
    letter-spacing:.06em;
  }
  .pd__call-num{display:none}
  .pd__trust{grid-template-columns:minmax(0,1fr)}
  /* фасовки и факты — ровными рядами, без «висящего» последнего элемента */
  .pd__vol-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
  .pd-vol{min-width:0;padding:8px 12px}
  .pd__facts{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
  .pd__fact{padding-right:8px}
  .pd__fact + .pd__fact{padding-left:8px}
  .pd__fact dd{font-size:13.5px;overflow-wrap:anywhere}
}

@media (max-width:360px){
  .cat-grid{grid-template-columns:minmax(0,1fr)}
}
