.catalog-data-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 12px 0 16px;
  padding: 12px 14px;
  border: 1px solid rgba(245, 130, 32, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 8px 22px rgba(40, 40, 40, 0.05);
  min-height: 64px;
  box-sizing: border-box;
}
.catalog-data-bar__status {
  display: block;
  min-width: 0;
  color: #5f5f5f;
  font-size: 0.9rem;
  line-height: 1.35;
}
.catalog-data-bar__status strong { color: var(--ctm-orange); }
.catalog-data-bar__controls {
  display: flex;
  align-items: center;
  min-height: 34px;
  gap: 6px;
}
.catalog-data-select {
  height: 34px;
  min-height: 34px;
  padding: 0 29px 0 10px;
  border: 1px solid rgba(232, 119, 27, 0.3);
  border-radius: 11px;
  color: var(--ctm-dark);
  background-color: rgba(255, 253, 249, 0.96);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 3px 9px rgba(232, 119, 27, 0.06);
  font: inherit;
  font-size: 0.86rem;
  box-sizing: border-box;
  cursor: pointer;
  max-width: 100%;
  transition: width 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}
.catalog-data-select:hover {
  border-color: rgba(232, 119, 27, 0.55);
  background-color: #fffaf3;
}
.catalog-data-select:focus-visible {
  border-color: var(--ctm-orange, #f58220);
  outline: none;
  box-shadow: 0 0 0 3px rgba(245, 130, 32, 0.13);
}
#catalogSort {
  width: auto;
  min-width: 112px;
  max-width: 250px;
  appearance: none;
  -webkit-appearance: none;
  padding-right: 34px;
  background-image: linear-gradient(45deg, transparent 50%, #6a4a2a 50%), linear-gradient(135deg, #6a4a2a 50%, transparent 50%);
  background-position: right 14px center, right 10px center;
  background-size: 4px 4px;
  background-repeat: no-repeat;
}
#catalogPageSize {
  width: auto;
  min-width: 50px;
  max-width: 80px;
  flex: 0 0 auto;
  appearance: none;
  -webkit-appearance: none;
  padding: 0 18px 0 8px;
  background-image: linear-gradient(45deg, transparent 50%, #555 50%), linear-gradient(135deg, #555 50%, transparent 50%);
  background-position: right 11px center, right 7px center;
  background-size: 4px 4px;
  background-repeat: no-repeat;
  text-align: center;
  text-align-last: center;
}
#catalogPageSize option { text-align: center; }

/* Width follows the occupied grid tracks, not the wider .catalog-main. */
.page-catalog .catalog-main > .catalog-data-bar,
.page-catalog .catalog-main > .catalog-toolbar,
.page-catalog .catalog-main > .catalog-pagination-bottom {
  width: var(--catalog-track-width, 100%);
  max-width: 100%;
  box-sizing: border-box;
}
.page-catalog .catalog-data-bar { flex-wrap: wrap; }
.page-catalog .catalog-data-bar__status { flex: 1 1 300px; }
.page-catalog .catalog-data-bar__controls { flex-wrap: wrap; margin-left: auto; }
@media (max-width: 720px) {
  .page-catalog .catalog-data-bar__status { flex: 0 1 auto; }
  .page-catalog .catalog-data-bar__controls { margin-left: 0; }
}
.catalog-runtime-state {
  display: grid;
  place-items: center;
  min-height: 240px;
  padding: 35px;
  border: 1px dashed rgba(245, 130, 32, 0.35);
  border-radius: 16px;
  color: #6f6f6f;
  background: rgba(255, 255, 255, 0.72);
  text-align: center;
}
.catalog-runtime-state strong { display: block; margin-bottom: 7px; color: var(--ctm-dark); font-size: 1.05rem; }
.catalog-runtime-state--error { color: #8a3a30; background: #fff6f4; }
.product-code-line { margin-top: 7px; color: #777; font-size: 0.78rem; }
.product-row .meta { margin-top: 7px; color: #777; font-size: 0.85rem; line-height: 1.35; }
.product-cell__img .product-image-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 110px;
  border-radius: 12px;
  color: #999;
  background: #f4f4f4;
  font-size: 0.76rem;
  text-align: center;
}
.fav-btn__star { display: inline-grid; place-items: center; width: 34px; height: 34px; color: #aaa; font-size: 26px; line-height: 1; }
.product-row.is-favorited .fav-btn__star { color: var(--ctm-orange); text-shadow: 0 3px 10px rgba(245, 130, 32, 0.25); }
.catalog-pagination { flex-wrap: wrap; }
.catalog-page[disabled] { opacity: 0.38; cursor: default; }
.catalog-page.catalog-page--dots { border-color: transparent; background: transparent; cursor: default; }
.catalog-page-size-label {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  color: #777;
  font-size: 0.78rem;
}
.catalog-loading-dot::after { content: ""; animation: catalogDots 1.2s steps(4, end) infinite; }
@keyframes catalogDots { 0% { content: ""; } 25% { content: "."; } 50% { content: ".."; } 75%, 100% { content: "..."; } }

/* «Показать ещё» и пагинация используют поверхность кнопок из корзины. */
.catalog-pagination-bottom {
  align-items: center;
  flex-direction: column;
  gap: 11px;
}
.catalog-load-more,
.catalog-page:not(.catalog-page--dots) {
  --catalog-button-brand: var(--brand-orange-2, #f39e32);
  --catalog-button-light: #ffc273;
  --catalog-button-deep: var(--brand-orange, #e8771b);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(34, 34, 34, 0.08);
  background:
    radial-gradient(circle at 50% 0%, rgba(243, 158, 50, 0.23), transparent 58%),
    linear-gradient(180deg, #fffaf3, #f1f2f4);
  box-shadow:
    0 12px 24px rgba(31, 35, 40, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
  color: var(--brand-dark, #2c2c2c);
  font-weight: 750;
  transform: translateZ(0);
  transition:
    transform 0.34s cubic-bezier(0.2, 0.78, 0.2, 1),
    border-color 0.34s ease,
    box-shadow 0.38s ease,
    color 0.34s ease,
    background 0.34s ease;
}
.catalog-page:not(.catalog-page--dots) {
  min-width: 38px;
  height: 38px;
  padding: 0 11px;
  border-radius: 14px;
}
.catalog-load-more {
  min-width: 190px;
  min-height: 48px;
  padding: 9px 20px;
  border-color: rgba(211, 117, 11, 0.32);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.34), transparent 52%),
    linear-gradient(145deg, var(--catalog-button-light), var(--catalog-button-brand) 55%, var(--catalog-button-deep));
  color: #fff;
  font-size: 0.9rem;
  text-shadow: 0 1px 7px rgba(117, 58, 0, 0.24);
  cursor: pointer;
}
.catalog-load-more::after,
.catalog-page:not(.catalog-page--dots)::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(112deg, transparent 18%, rgba(255, 255, 255, 0.88) 42%, transparent 63%);
  opacity: 0;
  transform: translateX(-145%) skewX(-16deg);
  pointer-events: none;
}
.catalog-load-more:hover,
.catalog-load-more:focus-visible,
.catalog-page:not(.catalog-page--dots):hover,
.catalog-page:not(.catalog-page--dots):focus-visible {
  border-color: rgba(243, 158, 50, 0.45);
  color: #b96200;
  outline: none;
  transform: translateY(-2px) scale(1.01);
  box-shadow:
    0 20px 34px rgba(86, 53, 13, 0.16),
    0 0 0 4px rgba(243, 158, 50, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.98);
}
.catalog-load-more:hover,
.catalog-load-more:focus-visible,
.catalog-page.is-active,
.catalog-page.is-active:hover,
.catalog-page.is-active:focus-visible {
  border-color: rgba(211, 117, 11, 0.45);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.42), transparent 52%),
    linear-gradient(145deg, #ffcc8a, #f5a544 55%, #e8771b);
  color: #fff;
  text-shadow: 0 1px 7px rgba(117, 58, 0, 0.24);
}

/* v268: пагинация сливается с фоном страницы; выделена только текущая страница. */
.catalog-pagination,
.catalog-pagination-bottom {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
/* v269: полностью плоский блок номеров без остаточной тени. */
.catalog-pagination,
.catalog-pagination-bottom {
  background-image: none !important;
  filter: none !important;
}
.catalog-pagination::before,
.catalog-pagination::after,
.catalog-pagination-bottom::before,
.catalog-pagination-bottom::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* v270: убрана только внешняя тень кнопок пагинации. */
.catalog-pagination .catalog-page,
.catalog-pagination .catalog-page:hover,
.catalog-pagination .catalog-page:focus-visible,
.catalog-pagination .catalog-page:active,
.catalog-pagination .catalog-page:disabled {
  box-shadow: none !important;
}
.catalog-load-more:hover::after,
.catalog-load-more:focus-visible::after,
.catalog-page:not(.catalog-page--dots):hover::after,
.catalog-page:not(.catalog-page--dots):focus-visible::after {
  opacity: 1;
  animation: catalogPaginationShine 0.85s ease both;
}
.catalog-load-more:active,
.catalog-page:not(.catalog-page--dots):active {
  transform: translateY(0) scale(0.97);
  transition-duration: 0.08s;
}
.catalog-load-more:disabled,
.catalog-page:disabled {
  cursor: not-allowed;
  opacity: 0.48;
  transform: none;
  box-shadow: none;
}
.catalog-page.catalog-page--dots {
  height: 38px;
  padding: 0 3px;
  box-shadow: none;
}
@keyframes catalogPaginationShine {
  from { transform: translateX(-145%) skewX(-16deg); }
  to { transform: translateX(145%) skewX(-16deg); }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-load-more,
  .catalog-load-more::after,
  .catalog-page,
  .catalog-page::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
@media (max-width: 720px) {
  .catalog-data-bar { align-items: stretch; flex-direction: column; }
  .catalog-data-bar__controls { justify-content: space-between; }
  .catalog-data-select { flex: 1; min-width: 0; }
  #catalogSort,
  #catalogPageSize { width: auto; }
}


/* v136: публичные статусы остатков без показа количества */
.product-card-stock-line { display:flex; align-items:center; min-height:30px; margin:9px 0 3px; }
.product-stock { display:inline-flex; align-items:center; gap:7px; width:max-content; padding:7px 11px; border:1px solid currentColor; border-radius:999px; font-size:.75rem; font-weight:800; line-height:1; white-space:nowrap; }
.product-stock i { width:9px; height:9px; flex:0 0 9px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px rgba(0,0,0,.04); }
.product-stock--many { color:#168441; background:#effaf3; border-color:rgba(22,132,65,.28); }
.product-stock--enough { color:#d5740c; background:#fff7e9; border-color:rgba(213,116,12,.3); }
.product-stock--none { color:#c43030; background:#fff1f1; border-color:rgba(196,48,48,.28); }
.product-stock--unknown { color:#6b7280; background:#f3f4f6; border-color:rgba(107,114,128,.24); }
#modalStock { margin-top:2px; }

/* v173: crawlable product URL without changing the existing title appearance */
.product-detail-link{color:inherit;text-decoration:none;}
.product-detail-link:hover,.product-detail-link:focus-visible{color:inherit;text-decoration:none;}
