/* ==========================================================================
   БизнесСтат — премиум-тема поверх Bootstrap 5.3
   ========================================================================== */

:root {
  /* Бренд */
  --bst-forest: #0A6B45;
  --bst-forest-hover: #08573A;
  --bst-forest-light: #12805A;
  --bst-forest-tint: #E8F0EB;
  --bst-deep: #0A2A1E;
  --bst-champagne: #C9A96E;
  --bst-champagne-hover: #B8955A;
  --bst-brass: #A8834A;       /* только декор: линии, иконки */
  --bst-brass-text: #7F602F;  /* мелкий текст на светлом */

  /* Нейтральные */
  --bst-ivory: #F7F5EF;
  --bst-sand: #ECE7DA;
  --bst-line: #E4E0D6;
  --bst-line-soft: #EFECE4;
  --bst-ink: #13201A;
  --bst-text: #26332D;
  --bst-muted: #5E6862;
  --bst-on-dark: #C3D1CA;
  --bst-on-dark-muted: #A9BDB3;

  /* Чёрный и тёмные поверхности (шапка, первый экран) */
  --bst-black: #111512;
  --bst-black-hover: #2A312C;
  --bst-night: #101511;
  --bst-night-raised: #161C18;
  --bst-green-on-dark: #3DB57A;  /* светлый оттенок фирменного зелёного: 7:1 на --bst-night */

  /* Графики: палитра проверена (контраст ≥ 3:1, различимость при дальтонизме) */
  --chart-surface: #fff;
  --chart-ink: var(--bst-ink);
  --chart-muted: var(--bst-muted);
  --chart-grid: #ECE9E1;
  --chart-fact: #74827A;
  --chart-accent: var(--bst-forest);
  --chart-accent-stripe: #2E9E66;
  --chart-zone: rgba(10, 107, 69, .05);
  --chart-up: var(--bst-forest);
  --chart-down: #B4502F;
  --chart-other: #B7BFBA;
  --chart-c1: #0A6B45;
  --chart-c2: #2F6DB5;
  --chart-c3: #C08A2E;
  --chart-c4: #8A5A9E;
  --chart-c5: #C4623F;

  --bst-font-display: "Onest", "Golos Text", system-ui, sans-serif;
  --bst-font-body: "Golos Text", "PT Sans", system-ui, sans-serif;

  --bst-radius-lg: 20px;
  --bst-radius: 12px;
  --bst-shadow-soft: 0 20px 40px -30px rgba(10, 42, 30, 0.25);

  /* Переопределение переменных Bootstrap */
  --bs-body-font-family: var(--bst-font-body);
  --bs-body-font-size: 1.125rem;
  --bs-body-line-height: 1.55;
  --bs-body-color: var(--bst-text);
  --bs-body-bg: var(--bst-ivory);
  --bs-emphasis-color: var(--bst-ink);
  --bs-secondary-color: var(--bst-muted);
  --bs-border-color: var(--bst-line);
  --bs-border-radius: var(--bst-radius);
  --bs-border-radius-lg: var(--bst-radius-lg);
  --bs-link-color: var(--bst-forest);
  --bs-link-color-rgb: 10, 107, 69;
  --bs-link-hover-color: var(--bst-forest-hover);
  --bs-link-hover-color-rgb: 8, 87, 58;
  --bs-primary: var(--bst-forest);
  --bs-primary-rgb: 10, 107, 69;
  --bs-focus-ring-color: rgba(10, 107, 69, 0.35);
  --bs-heading-color: var(--bst-ink);
}

@media (max-width: 575.98px) {
  :root { --bs-body-font-size: 1.0625rem; }
}

h1, h2, h3, .h1, .h2, .h3, .display-font {
  font-family: var(--bst-font-display);
  font-weight: 700;
  letter-spacing: -0.01em;
}

a { text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Подвал у нижнего края окна, если контента меньше высоты экрана */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}
#main { flex: 1 0 auto; }

:focus-visible {
  outline: 3px solid var(--bst-champagne);
  outline-offset: 2px;
}

.skip-link {
  position: absolute; left: 1rem; top: -100px; z-index: 2000;
  background: var(--bst-deep); color: #fff; padding: .75rem 1rem; border-radius: var(--bst-radius);
}
.skip-link:focus { top: 1rem; }

/* ---------- Кнопки ---------- */
.btn { font-family: var(--bst-font-display); font-weight: 600; }
.btn:hover, .btn:focus { text-decoration: none; } /* кнопки-ссылки не подчёркиваются, как и обычные кнопки */
.btn-lg { --bs-btn-padding-y: .9rem; --bs-btn-padding-x: 1.75rem; --bs-btn-font-size: 1.0625rem; --bs-btn-border-radius: var(--bst-radius); }

.btn-primary {
  --bs-btn-bg: var(--bst-forest);
  --bs-btn-border-color: var(--bst-forest);
  --bs-btn-hover-bg: var(--bst-forest-hover);
  --bs-btn-hover-border-color: var(--bst-forest-hover);
  --bs-btn-active-bg: var(--bst-forest-hover);
  --bs-btn-active-border-color: var(--bst-forest-hover);
  --bs-btn-disabled-bg: var(--bst-forest);
  --bs-btn-disabled-border-color: var(--bst-forest);
  --bs-btn-focus-shadow-rgb: 10, 107, 69;
}
.btn-outline-primary {
  --bs-btn-color: var(--bst-forest);
  --bs-btn-border-color: var(--bst-forest);
  --bs-btn-hover-bg: var(--bst-forest);
  --bs-btn-hover-border-color: var(--bst-forest);
  --bs-btn-active-bg: var(--bst-forest-hover);
  --bs-btn-active-border-color: var(--bst-forest-hover);
  --bs-btn-focus-shadow-rgb: 10, 107, 69;
  border-width: 1.5px;
  background: #fff;
}
.btn-champagne {
  --bs-btn-color: var(--bst-deep);
  --bs-btn-bg: var(--bst-champagne);
  --bs-btn-border-color: var(--bst-champagne);
  --bs-btn-hover-color: var(--bst-deep);
  --bs-btn-hover-bg: var(--bst-champagne-hover);
  --bs-btn-hover-border-color: var(--bst-champagne-hover);
  --bs-btn-active-color: var(--bst-deep);
  --bs-btn-active-bg: var(--bst-champagne-hover);
  --bs-btn-active-border-color: var(--bst-champagne-hover);
}
.btn-outline-light-soft {
  --bs-btn-color: #fff;
  --bs-btn-border-color: rgba(255, 255, 255, .35);
  --bs-btn-hover-color: var(--bst-deep);
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #fff;
}
.btn-outline-champagne {
  --bs-btn-color: var(--bst-champagne);
  --bs-btn-border-color: rgba(201, 169, 110, .6);
  --bs-btn-hover-color: var(--bst-deep);
  --bs-btn-hover-bg: var(--bst-champagne);
  --bs-btn-hover-border-color: var(--bst-champagne);
}
.btn-icon {
  width: 44px; height: 44px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--bst-line); border-radius: 10px; background: #fff;
  color: var(--bst-brass);
}
.btn-icon:hover, .btn-icon.active { color: var(--bst-forest); border-color: var(--bst-forest); }

/* ---------- Шапка ---------- */
.site-header { background: #fff; border-bottom: 1px solid var(--bst-line); }
.site-header__main { min-height: 100px; }
.site-logo img { width: 180px; height: auto; }
.search-tabs .nav-link { color: var(--bst-muted); font-size: 1rem; }
.search-tabs .nav-link.active { color: var(--bst-forest); border-bottom-color: var(--bst-forest); }
.search-hit h3 a { color: var(--bst-ink); text-decoration: none; }
.search-hit h3 a:hover { color: var(--bst-forest); text-decoration: underline; }
.search-hit__snippet { font-size: 1rem; }
.search-hit mark { background: var(--bst-forest-tint); color: inherit; padding: 0 .1em; border-radius: 3px; }
.search-regions .badge { font-size: .8125rem; padding: .35em .7em; }
.search-regions__remove { width: .55em; height: .55em; padding: 0; background-size: .55em; opacity: .55; }
.search-regions__remove:hover { opacity: 1; }

.search-group {
  border: 2px solid var(--bst-black); border-radius: 12px;
  overflow: hidden; background: #fff; height: 52px;
  transition: box-shadow .15s ease;
}
.search-group:focus-within { box-shadow: 0 0 0 4px rgba(17, 21, 18, .12); }
.search-group .form-select {
  flex: 0 0 auto; width: auto; border: 0; border-right: 1px solid var(--bst-line);
  border-radius: 0; background-color: #fff; font-size: 1rem; font-weight: 500;
  color: var(--bst-black); box-shadow: none; cursor: pointer;
}
.search-group .form-control {
  border: 0; border-radius: 0; background-color: #fff; font-size: 1.0625rem; color: var(--bst-black); box-shadow: none;
}
.search-group .form-control::placeholder { color: #7A847E; }
.search-group .btn-search {
  display: inline-flex; align-items: center; gap: .5rem; padding: 0 1.75rem;
  border: 0; border-radius: 0; background: var(--bst-black); color: #fff;
  font-size: 1.0625rem; font-weight: 700;
}
.search-group .btn-search .bi { display: none; font-size: 1.125rem; }
.search-group .btn-search:hover,
.search-group .btn-search:focus-visible { background: var(--bst-black-hover); color: #fff; }
@media (max-width: 575.98px) {
  .search-group .btn-search { padding: 0 1.125rem; }
  .search-group .btn-search .bi { display: inline-block; }
  .search-group .btn-search__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}

.header-phones a { font-family: var(--bst-font-display); font-weight: 700; font-size: 1.0625rem; color: var(--bst-black); }
.header-phones a:hover { color: var(--bst-forest); text-decoration: none; }
.header-phones span { font-family: var(--bst-font-display); font-weight: 700; font-size: 1.0625rem; color: var(--bst-black); }
.header-phones .header-email { font-family: inherit; font-weight: 500; font-size: .875rem; color: var(--bst-forest); }
.header-phones .header-email:hover { text-decoration: underline; }
.cart-link {
  width: 64px; height: 64px; border: 1px solid var(--bst-line); border-radius: 14px;
  color: var(--bst-black); font-size: .75rem; font-weight: 500; line-height: 1.2;
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
}
.cart-link i { font-size: 1.35rem; color: var(--bst-black); }
.cart-link:hover { text-decoration: none; border-color: var(--bst-black); color: var(--bst-black); }
.cart-link .badge { background: var(--bst-forest); color: #fff; }

.site-nav { border-top: 1px solid var(--bst-line-soft); }
.site-nav .nav-link {
  position: relative; color: var(--bst-black); font-weight: 500; font-size: 1rem; padding: .9rem 0;
}
.site-nav .nav-link::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 2px;
  background: var(--bst-forest); transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
}
.site-nav .nav-link:hover,
.site-nav .nav-link.active { color: var(--bst-black); text-decoration: none; }
.site-nav .nav-link:hover::after,
.site-nav .nav-link.active::after { transform: scaleX(1); }
.site-nav .nav-link.active { font-weight: 600; }

/* Липкая шапка (как в Metary): после прокрутки за шапку она фиксируется
   и мягко выезжает сверху в компактном виде (вместе со строкой меню). Высоту в потоке держит
   .site-header-holder, чтобы контент не прыгал. JS — main.js. */
.site-header.is-fixed {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1030;
  border-bottom-color: transparent;
  box-shadow: 0 10px 30px -18px rgba(10, 42, 30, .45);
  animation: site-header-in .45s cubic-bezier(.22, .61, .36, 1) both;
}
.site-header.is-fixed .site-header__main { min-height: 72px; padding-block: .625rem !important; }
.site-header.is-fixed .site-logo img { width: 150px; }
.site-header.is-fixed .cart-link { width: 52px; height: 52px; border-radius: 12px; font-size: 0; gap: 0; }
.site-header.is-fixed .cart-link i { font-size: 1.35rem; }
.site-header.is-fixed .cart-link .badge { font-size: .6875rem; }
.site-header.is-fixed .search-group { height: 46px; }
.site-header.is-fixed .site-nav .nav-link { padding-block: .625rem; }
@keyframes site-header-in { from { transform: translateY(-100%); } to { transform: none; } }

/* ---------- Первый экран ---------- */
.hero {
  background:
    radial-gradient(50% 70% at 88% 18%, rgba(46, 158, 102, .16) 0%, rgba(46, 158, 102, 0) 70%),
    radial-gradient(45% 80% at 0% 100%, rgba(10, 107, 69, .22) 0%, rgba(10, 107, 69, 0) 70%),
    var(--bst-night);
  color: #fff;
  --hero-h: 600px;
}
/* Высота фиксирована по брейкпоинтам — слайды разной длины не двигают страницу */
.hero:not(:has(.carousel)),
.hero .carousel-item { height: var(--hero-h); padding-block: 3.5rem; box-sizing: border-box; }
.hero:not(:has(.carousel)) { display: flex; align-items: center; }
.hero .carousel-item.active,
.hero .carousel-item-next,
.hero .carousel-item-prev { display: flex !important; align-items: center; }
.hero .carousel-item > .container-xxl,
.hero > .container-xxl { width: 100%; height: 100%; }

.hero__slide {
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  gap: 3.5rem; align-items: center; height: 100%;
}
.hero__copy { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
.hero__eyebrow {
  font-size: .875rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--bst-green-on-dark);
}
.hero__title {
  margin: 0; font-weight: 800; font-size: clamp(2.25rem, 4.1vw, 3.75rem);
  line-height: 1.04; letter-spacing: -.03em; color: #fff; text-wrap: balance;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden;
}
.hero__lead {
  margin: 0; max-width: 36rem; font-size: 1.1875rem; line-height: 1.5; color: var(--bst-on-dark);
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
}
.hero-stats { display: flex; flex-wrap: wrap; gap: .75rem 3rem; margin: .5rem 0 .25rem; }
.hero-stats__item { display: flex; flex-direction: column; gap: .25rem; }
.hero-stats__value {
  font-family: var(--bst-font-display); font-weight: 700; font-size: clamp(1.75rem, 2.4vw, 2.25rem);
  line-height: 1.05; letter-spacing: -.02em; color: var(--bst-green-on-dark); white-space: nowrap;
}
.hero-stats__label { margin: 0; font-size: .9375rem; color: var(--bst-on-dark-muted); }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .5rem; }
.hero .btn-primary {
  --bs-btn-bg: #12805A; --bs-btn-border-color: #12805A;
  --bs-btn-hover-bg: #179366; --bs-btn-hover-border-color: #179366;
  --bs-btn-active-bg: #179366; --bs-btn-active-border-color: #179366;
}

.hero__media { position: relative; height: 100%; min-width: 0; display: flex; align-items: center; justify-content: flex-end; }
.hero__image { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
.hero__chart { width: 100%; max-width: 560px; }

@media (min-width: 1400px) {
  .hero { --hero-h: 640px; }
}
@media (max-width: 991.98px) {
  .hero { --hero-h: 560px; }
  .hero:not(:has(.carousel)),
  .hero .carousel-item { padding-block: 2.5rem 3rem; }
  .hero__slide { grid-template-columns: minmax(0, 1fr); }
  .hero__media { display: none; }
  .hero__copy { gap: 1rem; }
  .hero__title { -webkit-line-clamp: 3; }
}
@media (max-width: 575.98px) {
  .hero { --hero-h: 600px; }
  .hero__lead { font-size: 1.0625rem; }
  .hero-stats { gap: .75rem 1.75rem; }
  .hero-stats__label { font-size: .875rem; }
  .hero__actions .btn { flex: 1 1 100%; }
}

/* индикаторы лежат в нижнем поле, не сдвигают контент */
.hero .carousel-indicators-wrap {
  position: absolute; left: 0; right: 0; bottom: 1.1rem; z-index: 2;
  pointer-events: none;
}
.hero .carousel-indicators-wrap button { pointer-events: auto; }
.hero .carousel-indicators { position: static; justify-content: flex-start; margin: 0; }
.hero .carousel-indicators [data-bs-target] {
  width: 16px; height: 4px; border-radius: 2px; border: 0; margin: 0 8px 0 0;
  background: rgba(255, 255, 255, .3); opacity: 1; transition: width .25s ease;
}
.hero .carousel-indicators .active { width: 32px; background: var(--bst-green-on-dark); }

.carousel-nav {
  position: absolute; top: 50%; z-index: 3; transform: translateY(-50%);
  width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35);
  background: rgba(255, 255, 255, .12); color: #fff; backdrop-filter: blur(6px);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.25rem; line-height: 1; cursor: pointer; transition: background .2s, border-color .2s;
}
.carousel-nav:hover { background: rgba(255, 255, 255, .22); border-color: rgba(255, 255, 255, .55); color: #fff; }
.carousel-nav--prev { left: 1rem; }
.carousel-nav--next { right: 1rem; }
@media (min-width: 1400px) {
  .carousel-nav--prev { left: 1.5rem; }
  .carousel-nav--next { right: 1.5rem; }
}
#teamCarousel,
#reviewsCarousel { position: relative; padding-inline: 3.5rem; }
#teamCarousel .carousel-nav,
#reviewsCarousel .carousel-nav {
  border-color: var(--bst-line); background: #fff; color: var(--bst-forest);
  box-shadow: var(--bst-shadow-soft);
}
#teamCarousel .carousel-nav:hover,
#reviewsCarousel .carousel-nav:hover {
  border-color: var(--bst-forest); background: var(--bst-forest-tint); color: var(--bst-forest);
}
#teamCarousel .carousel-nav--prev,
#reviewsCarousel .carousel-nav--prev { left: 0; }
#teamCarousel .carousel-nav--next,
#reviewsCarousel .carousel-nav--next { right: 0; }
@media (max-width: 575.98px) {
  #teamCarousel,
  #reviewsCarousel { padding-inline: 2.75rem; }
  .carousel-nav { width: 40px; height: 40px; font-size: 1.05rem; }
}

.home-feed-nav { display: inline-flex; align-items: center; gap: .5rem; }
.home-feed-nav__btn {
  width: 40px; height: 40px; padding: 0; border-radius: 50%;
  border: 1px solid var(--bst-line); background: #fff; color: var(--bst-forest);
  box-shadow: var(--bst-shadow-soft);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.05rem; line-height: 1; cursor: pointer;
}
.home-feed-nav__btn:hover {
  border-color: var(--bst-forest); background: var(--bst-forest-tint); color: var(--bst-forest);
}
.home-feed-nav__btn:disabled { opacity: .45; cursor: default; pointer-events: none; }

/* ---------- Секции ---------- */
.section { padding-block: 4.5rem; }
.section-title { font-size: clamp(1.75rem, 3vw, 2.25rem); margin: 0; }
.eyebrow { color: var(--bst-brass-text); font-size: .875rem; }

.panel {
  background: #fff; border: 1px solid var(--bst-line); border-radius: 22px;
  box-shadow: var(--bst-shadow-soft);
}

/* Каталог по отраслям */
.cat-link {
  display: flex; justify-content: space-between; align-items: center; gap: .75rem;
  padding: 1.25rem 0; border-bottom: 1px solid var(--bst-line-soft); height: 100%;
}
.cat-link:hover { text-decoration: none; }
.cat-link:hover .cat-link__name { color: var(--bst-forest); }
.cat-link__name { font-family: var(--bst-font-display); font-weight: 600; font-size: 1.125rem; line-height: 1.3; color: var(--bst-ink); }
.cat-link__count { font-size: .875rem; color: var(--bst-muted); }
.cat-link i { color: var(--bst-brass); }

/* Обзоры по отраслям: сетка плиток с иконками */
.industries-section { padding-block: 4rem 3rem; background: #F1F4EF; border-bottom: 1px solid var(--bst-line); }
.link-more { font-family: var(--bst-font-display); font-weight: 600; color: var(--bst-forest); }
.industry-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem;
  list-style: none; padding: 0; margin: 0;
}
.industry-grid > li { display: flex; }
/* Плитка 4 × 3: двухтоновая иконка на плашке 56 px, при наведении — заливка плашки и стрелка */
.industry-tile {
  flex: 1; display: grid; grid-template-columns: 56px minmax(0, 1fr) 1.25rem; align-items: center; gap: 1rem;
  padding: 1.25rem; border: 1px solid var(--bst-line); border-radius: 16px;
  background: #fff; color: inherit;
  transition: border-color .15s ease, box-shadow .2s ease, transform .2s ease;
}
.industry-tile:hover {
  text-decoration: none; border-color: var(--bst-forest); transform: translateY(-2px);
  box-shadow: 0 18px 36px -26px rgba(10, 42, 30, .4);
}
.industry-tile__icon {
  --industry-icon-fill: #C4DFCD;
  width: 56px; height: 56px; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--bst-forest-tint); color: var(--bst-forest);
  transition: background-color .15s ease, color .15s ease;
}
.industry-icon {
  width: 32px; height: 32px; display: block;
}
.industry-icon__fill { fill: var(--industry-icon-fill, #C4DFCD); transition: fill .15s ease; }
.industry-icon__stroke {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.industry-tile:hover .industry-tile__icon { --industry-icon-fill: rgba(255, 255, 255, .18); background: var(--bst-forest); color: #fff; }
.industry-tile__text { min-width: 0; }
.industry-tile__name {
  display: block; font-family: var(--bst-font-display); font-weight: 600; font-size: 1.0625rem;
  line-height: 1.25; color: var(--bst-black);
}
.industry-tile__count { display: block; margin-top: .25rem; font-size: .8125rem; color: var(--bst-muted); }
.industry-tile__go { color: var(--bst-forest); font-size: 1.25rem; opacity: 0; transform: translateX(-4px); transition: opacity .15s ease, transform .15s ease; }
.industry-tile:hover .industry-tile__go { opacity: 1; transform: none; }
@media (max-width: 1199.98px) { .industry-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px)  { .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px)  {
  .industry-grid { grid-template-columns: 1fr; gap: .625rem; }
  .industry-tile { grid-template-columns: 48px minmax(0, 1fr) 1.25rem; padding: .875rem 1rem; }
  .industry-tile__icon { width: 48px; height: 48px; }
  .industry-tile__go { opacity: 1; transform: none; }
}

/* Карточка отчёта */
.report-card { background: #fff; border: 1px solid var(--bst-line); border-radius: var(--bst-radius-lg); padding: 1.75rem; }
.report-card + .report-card { margin-top: 1.25rem; }
.report-card__title { font-size: 1.4375rem; font-weight: 600; line-height: 1.3; }
.report-card__title a { color: var(--bst-ink); }
.report-card__title a:hover { color: var(--bst-forest); }
.report-card__meta { font-size: 1rem; color: var(--bst-muted); }
.report-card__meta b { font-weight: 500; color: var(--bst-text); }
.report-card__tags a { font-size: .9375rem; }
.report-card__buy { border-left: 1px solid var(--bst-line-soft); }
.report-card__price { font-family: var(--bst-font-display); font-weight: 700; font-size: 1.875rem; color: var(--bst-ink); white-space: nowrap; }
.badge-soft {
  font-size: .875rem; font-weight: 600; padding: .35rem .75rem; border-radius: 999px;
  background: var(--bst-forest-tint); color: var(--bst-forest);
}

.report-cover {
  width: 130px; height: 174px; padding: 0; border-radius: 10px; overflow: hidden;
  display: flex; flex-direction: column; background: #fff;
  border: 1px solid var(--bst-line);
  box-shadow: 0 10px 20px -14px rgba(10, 42, 30, .35);
}
.report-cover__media {
  flex: 1 1 auto; min-height: 0; background: linear-gradient(170deg, var(--bst-ivory) 0%, var(--bst-sand) 100%);
  overflow: hidden;
}
.report-cover__media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  color: transparent; /* обложка не загрузилась — без простыни alt-текста */
}
.report-cover__stripe {
  flex: 0 0 auto; height: 18px; background: var(--bst-forest);
}
.report-cover__mark {
  flex: 0 0 auto; height: 36px; display: flex; align-items: center; justify-content: flex-end;
  padding: 0 10px; background: #fff;
}
.report-cover__mark img { width: 28px; height: auto; display: block; }
.report-cover--dark .report-cover__media {
  background: linear-gradient(165deg, var(--bst-forest-light) 0%, var(--bst-deep) 100%);
}
@media (max-width: 575.98px) {
  .report-cover { width: 96px; height: 128px; }
  .report-cover__stripe { height: 14px; }
  .report-cover__mark { height: 28px; padding: 0 8px; }
  .report-cover__mark img { width: 22px; }
  .report-card { padding: 1.25rem; }
  .report-card__title { font-size: 1.1875rem; }
}

@media (max-width: 991.98px) {
  .report-card__buy { border-left: 0; border-top: 1px solid var(--bst-line-soft); padding-top: 1.25rem; }
}

.data-section { background: #fff; border-block: 1px solid var(--bst-line); }

/* Блог */
.post-card {
  background: #fff; border: 1px solid var(--bst-line); border-radius: 18px; overflow: hidden;
  display: flex; flex-direction: column; height: 100%; color: inherit;
}
.post-card:hover { text-decoration: none; border-color: var(--bst-forest); }
.post-card__chart {
  height: 150px; padding: 1.5rem 1.75rem 0; display: flex; align-items: flex-end; gap: 10px;
  background: linear-gradient(180deg, #F2EEE3 0%, #fff 100%); border-bottom: 1px solid var(--bst-line-soft);
}
.post-card__chart span { flex: 1 1 0; height: var(--h); border-radius: 4px 4px 0 0; background: var(--bst-forest); }
.post-card__chart .is-muted { background: #D6D1C4; }
.post-card__chart .is-accent { background: var(--bst-champagne); }
.post-card__placeholder {
  height: 150px; display: flex; align-items: center; justify-content: center;
  background:
    radial-gradient(55% 85% at 10% 10%, rgba(10, 107, 69, .75) 0%, rgba(10, 107, 69, 0) 62%),
    radial-gradient(45% 70% at 92% 95%, rgba(18, 128, 90, .45) 0%, rgba(18, 128, 90, 0) 60%),
    radial-gradient(28% 40% at 75% 8%, rgba(201, 169, 110, .22) 0%, rgba(201, 169, 110, 0) 70%),
    var(--bst-deep);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.post-card__placeholder img {
  width: 56px; height: auto; filter: brightness(0) invert(1); opacity: .92;
}
.post-card__body { padding: 1.375rem 1.5rem 1.625rem; }
.post-card__title { font-family: var(--bst-font-display); font-weight: 600; font-size: 1.125rem; line-height: 1.35; color: var(--bst-ink); margin-bottom: .75rem; }
.post-card__text { font-size: 1rem; color: var(--bst-muted); margin: 0; }

/* Отзывы клиентов */
.reviews-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem;
  list-style: none; padding: 0; margin: 0;
}
.reviews-grid li {
  background: #fff; border: 1px solid var(--bst-line); border-radius: 18px; overflow: hidden;
  display: flex; flex-direction: column; min-width: 0;
}
.reviews-grid figure { margin: 0; display: flex; flex-direction: column; height: 100%; }
.reviews-grid img {
  width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: top center;
  background: var(--bst-ivory); display: block;
}
.reviews-grid figcaption {
  padding: .875rem 1rem 1rem; font-family: var(--bst-font-display); font-weight: 600;
  font-size: .9375rem; line-height: 1.3; color: var(--bst-ink);
}
@media (max-width: 991.98px) { .reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px)  { .reviews-grid { grid-template-columns: 1fr; } }

/* Клиенты (legacy grid kept for compatibility) */
.clients-grid {
  display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px;
  background: var(--bst-line); border: 1px solid var(--bst-line); border-radius: 18px; overflow: hidden;
  list-style: none; padding: 0; margin: 0;
}
.clients-grid li {
  min-height: 96px; background: #fff; display: flex; align-items: center; justify-content: center;
  padding: .75rem; text-align: center;
  font-family: var(--bst-font-display); font-weight: 700; font-size: .9375rem; letter-spacing: .04em; color: #6F7A74;
}
/* реальные логотипы: <img> в оттенках серого, цвет по наведению */
.clients-grid img { max-width: 100%; max-height: 48px; filter: grayscale(1); opacity: .7; transition: filter .2s, opacity .2s; }
.clients-grid li:hover img { filter: none; opacity: 1; }
@media (max-width: 1199.98px) { .clients-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 767.98px)  { .clients-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 459.98px)  { .clients-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Цифры */
.stats {
  background:
    radial-gradient(45% 90% at 0% 0%, rgba(10, 107, 69, .6) 0%, rgba(10, 107, 69, 0) 65%),
    radial-gradient(30% 60% at 100% 100%, rgba(201, 169, 110, .16) 0%, rgba(201, 169, 110, 0) 70%),
    var(--bst-deep);
}
.stat { padding-left: 1.5rem; border-left: 1px solid rgba(201, 169, 110, .4); }
.stat__value { font-family: var(--bst-font-display); font-weight: 700; font-size: clamp(2.25rem, 4vw, 3.25rem); line-height: 1.1; color: #fff; }
.stat__value--accent { color: var(--bst-champagne); }
.stat__label { font-size: 1.0625rem; color: var(--bst-on-dark); margin: .5rem 0 0; }

/* Команда */
.team-photo {
  aspect-ratio: 4 / 3.2; border-radius: 18px; overflow: hidden;
  background: linear-gradient(180deg, var(--bst-sand) 0%, #DDD6C4 100%);
  display: flex; align-items: flex-end; justify-content: center;
}
.team-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.team-photo svg { width: 55%; height: auto; }
.team-name { font-family: var(--bst-font-display); font-weight: 600; font-size: 1.25rem; color: var(--bst-ink); margin: 1rem 0 .25rem; }
.team-role { font-size: 1rem; color: var(--bst-muted); margin: 0; }

/* Команда на главной: портреты 3:4 одной сеткой, ч/б — цветные при наведении */
.home-team__lead { margin: 0; max-width: 560px; color: var(--bst-muted); font-size: 1rem; }
.home-team__grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(var(--team-cols, 6), minmax(0, 1fr)); gap: 1.25rem;
}
.home-team__card { display: flex; flex-direction: column; color: var(--bst-ink); text-decoration: none; }
.home-team__card:hover { text-decoration: none; }
.home-team__photo {
  position: relative; display: flex; align-items: flex-end; justify-content: center;
  aspect-ratio: 3 / 4; border-radius: 16px; overflow: hidden; background: #E9E6DF;
}
.home-team__photo::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--bst-champagne);
}
.home-team__grid > li:nth-child(3n + 2) .home-team__photo::after { background: var(--bst-green-on-dark); }
.home-team__grid > li:nth-child(3n) .home-team__photo::after { background: var(--bst-forest-tint); }
.home-team__photo img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 12%;
  filter: grayscale(1) contrast(1.02); transition: filter .35s ease, transform .5s cubic-bezier(.2, .7, .2, 1);
}
.home-team__photo svg { width: 60%; height: auto; }
.home-team__card:hover .home-team__photo img { filter: none; transform: scale(1.04); }
.home-team__name { margin-top: .875rem; font-family: var(--bst-font-display); font-weight: 600; font-size: 1.0625rem; line-height: 1.25; transition: color .15s; }
.home-team__card:hover .home-team__name { color: var(--bst-forest); }
.home-team__role {
  margin-top: .25rem; font-size: .8125rem; line-height: 1.4; color: var(--bst-muted);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
@media (hover: none) { .home-team__photo img { filter: none; } }
@media (max-width: 991.98px) { .home-team__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 575.98px) {
  .home-team__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; }
  .home-team__grid > li { flex: 0 0 62%; scroll-snap-align: start; }
}

/* Отзывы на главной: лента карточек-цитат, по 3 в ряд, листается кнопками и свайпом */
.home-reviews { background: #fff; border-top: 1px solid var(--bst-line); }
.home-reviews__track {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * 1.25rem) / 3); gap: 1.25rem;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
}
.home-reviews__track::-webkit-scrollbar { display: none; }
.home-reviews__track > li { scroll-snap-align: start; display: flex; }
.home-reviews__card {
  margin: 0; width: 100%; display: flex; flex-direction: column; gap: 1.125rem;
  background: #FBFAF6; border: 1px solid var(--bst-line); border-radius: 18px; padding: 1.625rem 1.625rem 1.375rem;
}
.home-reviews__head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 44px; }
.home-reviews__company {
  display: inline-flex; align-items: center; height: 44px; padding: 0 .875rem; border-radius: 10px;
  background: #fff; border: 1px solid var(--bst-line-soft);
  font-family: var(--bst-font-display); font-size: 1.0625rem; font-weight: 800; letter-spacing: -.01em; color: var(--bst-ink);
}
.home-reviews__year { font-size: .8125rem; color: var(--bst-muted); }
.home-reviews__logo { display: block; max-width: 160px; max-height: 40px; width: auto; height: auto; object-fit: contain; object-position: left center; }
.home-reviews__quote {
  position: relative; flex: 1; margin: 0; padding-top: 1.125rem;
  font-size: 1rem; line-height: 1.55; color: var(--bst-text);
}
.home-reviews__quote::before {
  content: "\201C"; position: absolute; left: -4px; top: -14px;
  font-family: var(--bst-font-display); font-size: 3.5rem; line-height: 1; color: var(--bst-champagne);
}
.home-reviews__author { display: flex; flex-direction: column; padding-top: 1rem; border-top: 1px solid var(--bst-line); }
.home-reviews__name { font-weight: 600; color: var(--bst-ink); font-size: .9375rem; }
.home-reviews__role { margin-top: .125rem; font-size: .8125rem; line-height: 1.4; color: var(--bst-muted); }
@media (max-width: 991.98px) { .home-reviews__track { grid-auto-columns: calc((100% - 1.25rem) / 2); } }
@media (max-width: 575.98px) { .home-reviews__track { grid-auto-columns: 86%; } }
@media (prefers-reduced-motion: reduce) { .home-reviews__track { scroll-behavior: auto; } }

/* SEO */
.seo-text { max-width: 960px; color: var(--bst-muted); font-size: 1.0625rem; line-height: 1.7; }

/* Подвал */
.site-footer { background: var(--bst-deep); color: #E6EDE9; font-size: 1rem; }
.site-footer a { color: #E6EDE9; }
.site-footer a:hover { color: var(--bst-champagne); }
.footer-logo { width: 220px; height: auto; }
.footer-sub label { color: var(--bst-on-dark); line-height: 1.5; }
.footer-sub .input-group { height: 52px; border: 1px solid rgba(255, 255, 255, .2); border-radius: var(--bst-radius); overflow: hidden; }
.footer-sub .form-control { background: rgba(255, 255, 255, .06); border: 0; color: #fff; font-size: 1rem; }
.footer-sub .form-control::placeholder { color: var(--bst-on-dark-muted); }
.footer-sub .form-control:focus { box-shadow: none; background: rgba(255, 255, 255, .1); }
.footer-sub .btn { width: 56px; border: 0; border-radius: 0; background: var(--bst-champagne); color: var(--bst-deep); }
.footer-sub .btn:hover { background: var(--bst-champagne-hover); }
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: .75rem; }
.footer-phone { font-family: var(--bst-font-display); font-weight: 600; font-size: 1.25rem; color: #fff !important; }
.footer-mail { color: var(--bst-champagne) !important; }
.footer-address { font-size: .9375rem; color: var(--bst-on-dark-muted); }
.pay-chip { height: 32px; padding: 0 .75rem; display: inline-flex; align-items: center; border-radius: 6px; background: rgba(255, 255, 255, .08); font-size: .8125rem; color: var(--bst-on-dark); }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .12); font-size: .875rem; color: var(--bst-on-dark-muted); }
.footer-bottom a { color: var(--bst-on-dark-muted); }
.footer-link-btn { padding: 0; border: 0; background: none; color: var(--bst-on-dark-muted); font: inherit; }
.footer-link-btn:hover { color: var(--bst-champagne); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 575.98px) { .footer-links { columns: 1; } }

/* Раскладка шапки */
.header-search { flex: 1 1 100%; order: 10; }
@media (min-width: 992px) {
  .header-search { flex: 1 1 auto; order: 0; }
  .report-card__buy { width: 280px; }
}

/* Мобильное меню */
.offcanvas-catalog { --bs-offcanvas-bg: #fff; }
.offcanvas-catalog .list-group-item { border-color: var(--bst-line-soft); font-size: 1.0625rem; padding-block: .9rem; color: var(--bst-black); }
.offcanvas-catalog__icon {
  --industry-icon-fill: #C4DFCD;
  width: 1.5rem; height: 1.5rem;
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto;
  color: var(--bst-forest);
}
.offcanvas-catalog__icon .industry-icon { width: 1.25rem; height: 1.25rem; }
.offcanvas-menu-link { color: var(--bst-black); font-weight: 500; }
.offcanvas-menu-link:hover { color: var(--bst-black); }

/* ---------- Внутренние страницы ---------- */
.breadcrumb {
  --bs-breadcrumb-divider-color: var(--bst-muted);
  --bs-breadcrumb-item-active-color: var(--bst-muted);
  font-size: .9375rem;
  margin-bottom: 0;
}
.breadcrumb-item a { color: var(--bst-forest); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--bst-muted); }

.catalog-nav a { text-decoration: none; }
.catalog-nav a:hover { color: var(--bst-forest) !important; }

/* Дерево каталога: значок раскрывает ветку, название ведёт в раздел */
.catalog-tree { font-size: .9375rem; line-height: 1.35; }
.catalog-tree__sub { margin-left: 1.125rem; padding-top: .25rem; font-size: .875rem; }
.catalog-tree__item + .catalog-tree__item { margin-top: .25rem; }
.catalog-tree__row { display: flex; align-items: flex-start; gap: .25rem; }
.catalog-tree__toggle {
  flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; margin-top: .05rem;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0; border: 0; border-radius: 4px; background: none; color: var(--bst-muted);
}
.catalog-tree__toggle:hover { color: var(--bst-forest); background: var(--bst-forest-tint); }
.catalog-tree__toggle .bi { font-size: .7rem; transition: transform .15s ease; }
.catalog-tree__toggle:not(.collapsed) .bi { transform: rotate(90deg); }
.catalog-tree__link { color: var(--bst-text); text-decoration: none; }
.catalog-tree__link:hover { color: var(--bst-forest); }
.catalog-tree__link.is-current { color: var(--bst-forest); font-weight: 600; }

/* Категории каталога прилипают под шапкой */
@media (min-width: 992px) {
  .catalog-sticky {
    position: sticky; top: calc(var(--site-header-offset, 0px) + 1rem);
    max-height: calc(100vh - var(--site-header-offset, 0px) - 2rem); overflow-y: auto;
    overscroll-behavior: contain; scrollbar-width: thin;
    transition: top .3s ease, max-height .3s ease;
  }
}

.catalog-seo-top .seo-text, .catalog-seo-bottom .seo-text { max-width: none; font-size: 1rem; }

/* Над выдачей: фильтр стран, выбранные страны, счётчик.
   Прилипает под шапкой, чтобы выбранные страны всегда были на виду;
   .is-stuck (main.js) — фон на всю ширину колонки и тень. */
.catalog-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; margin-bottom: 1.25rem;
  position: sticky; top: var(--site-header-offset, 0px); z-index: 6;
  margin-inline: -.75rem; padding: .625rem .75rem;
  background: var(--bst-ivory); border-radius: 0 0 var(--bst-radius) var(--bst-radius);
  transition: top .3s ease, box-shadow .2s ease;
}
.catalog-toolbar.is-stuck { box-shadow: 0 10px 20px -16px rgba(10, 42, 30, .5); }
.catalog-toolbar__count { margin: 0 0 0 auto; font-size: .9375rem; color: var(--bst-muted); white-space: nowrap; }

/* «Основные / Смежные рынки» в панели: выделено то, что сейчас на экране (main.js) */
.catalog-tiers {
  display: inline-flex; gap: 2px; margin-left: auto; padding: 4px;
  background: #fff; border: 1.5px solid var(--bst-line); border-radius: 999px;
}
.catalog-tiers__item {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 2.25rem; padding: 0 1rem; border-radius: 999px;
  font-size: .9375rem; font-weight: 600; color: var(--bst-text); text-decoration: none; white-space: nowrap;
  transition: background-color .2s ease, color .2s ease;
}
.catalog-tiers__item:hover { background: var(--bst-forest-tint); color: var(--bst-forest); }
.catalog-tiers__item:focus-visible { outline: 0; box-shadow: 0 0 0 .2rem rgba(10, 107, 69, .25); }
.catalog-tiers__item.is-active { background: var(--bst-forest); color: #fff; }
.catalog-tiers__count {
  padding: 1px .45rem; border-radius: 999px; background: var(--bst-sand);
  font-size: .8125rem; font-weight: 500; color: var(--bst-text);
  transition: background-color .2s ease, color .2s ease;
}
.catalog-tiers__item.is-active .catalog-tiers__count { background: rgba(255, 255, 255, .2); color: #fff; }

/* Якорь #related-reports — под шапкой и липкой панелью */
.catalog-related-heading { scroll-margin-top: calc(var(--site-header-h, 0px) + var(--catalog-toolbar-h, 5rem) + 1rem); }

.region-filter__toggle {
  display: inline-flex; align-items: center; gap: .75rem; min-width: 240px;
  padding: .5rem .875rem .5rem .5rem; text-align: left;
  background: #fff; border: 1.5px solid var(--bst-line); border-radius: 999px; color: var(--bst-ink);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.region-filter__toggle:hover,
.region-filter__toggle[aria-expanded="true"] { border-color: var(--bst-forest); box-shadow: 0 6px 18px -12px rgba(10, 42, 30, .5); }
.region-filter__toggle:focus-visible { outline: 0; box-shadow: 0 0 0 .2rem rgba(10, 107, 69, .25); }
.region-filter__icon {
  flex: 0 0 auto; width: 2.25rem; height: 2.25rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--bst-forest-tint); color: var(--bst-forest); font-size: 1.05rem;
}
.region-filter__toggle.is-active .region-filter__icon { background: var(--bst-forest); color: #fff; }
.region-filter__text { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; line-height: 1.2; }
.region-filter__caption { font-size: .75rem; color: var(--bst-muted); text-transform: uppercase; letter-spacing: .04em; }
.region-filter__value { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 16rem; }
.region-filter__chevron { font-size: .8rem; color: var(--bst-muted); transition: transform .15s ease; }
.region-filter__toggle[aria-expanded="true"] .region-filter__chevron { transform: rotate(180deg); }

.region-filter__menu {
  width: 320px; max-width: calc(100vw - 2rem); padding: 0; margin-top: .5rem !important;
  border: 1px solid var(--bst-line); border-radius: var(--bst-radius);
  box-shadow: 0 24px 48px -20px rgba(10, 42, 30, .35); overflow: hidden;
}
.region-filter__search {
  display: flex; align-items: center; gap: .5rem; margin: .75rem; padding: 0 .75rem;
  border: 1.5px solid var(--bst-line); border-radius: 10px; color: var(--bst-muted);
}
.region-filter__search:focus-within { border-color: var(--bst-forest); }
.region-filter__search input { flex: 1 1 auto; min-width: 0; padding: .55rem 0; border: 0; outline: 0; background: none; color: var(--bst-ink); }
.region-filter__list {
  list-style: none; margin: 0; padding: 0 .375rem .375rem; max-height: 300px; overflow-y: auto;
  overscroll-behavior: contain; scrollbar-width: thin;
}
.region-filter__option {
  display: flex; align-items: center; gap: .625rem; margin: 0; padding: .45rem .5rem;
  border-radius: 8px; cursor: pointer; font-size: .9375rem;
}
.region-filter__option:hover, .region-filter__option:focus-within { background: var(--bst-ivory); }
.region-filter__option .form-check-input { margin: 0; flex: 0 0 auto; }
.region-filter__option .form-check-input:checked { background-color: var(--bst-forest); border-color: var(--bst-forest); }
.region-filter__option:has(:checked) { font-weight: 600; }
.region-filter__empty { margin: 0; padding: .25rem 1rem 1rem; font-size: .9375rem; color: var(--bst-muted); }
.region-filter__footer {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .75rem; border-top: 1px solid var(--bst-line-soft); background: var(--bst-ivory);
}
.region-filter__reset { font-size: .9375rem; font-weight: 500; }

.region-filter__chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
/* Бейдж выбранной страны: кликабелен только крестик */
.region-filter__chip {
  display: inline-flex; align-items: center; gap: .25rem; padding: .25rem .25rem .25rem .75rem;
  border-radius: 999px; background: var(--bst-forest-tint); color: var(--bst-forest);
  font-size: .875rem; font-weight: 600;
}
.region-filter__chip-remove {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.5rem; height: 1.5rem; border-radius: 50%; color: inherit; text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}
.region-filter__chip-remove:hover, .region-filter__chip-remove:focus-visible { background: var(--bst-forest); color: #fff; outline: 0; }
.region-filter__chip-remove .bi { font-size: 1.05rem; line-height: 1; }

@media (max-width: 575.98px) {
  .region-filter, .region-filter__toggle { width: 100%; }
  .catalog-toolbar__count { margin-left: 0; }
  .catalog-tiers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; margin-left: 0; }
  .catalog-tiers__item { padding: 0 .5rem; font-size: .875rem; }
}

/* Карточка обзора в выдаче каталога: обложка | описание и теги | цена и кнопки */
/* Выдача каталога по макету «Страница отрасли», вариант A: строки подряд — один белый блок с линиями между ними, без анимации */
.catalog-list { gap: 0 !important; }
.catalog-list > :not(.catalog-card) { margin-bottom: 1rem; }
.catalog-list > .catalog-card + :not(.catalog-card) { margin-top: 1.5rem; }
.catalog-card {
  position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr) 176px; gap: 20px; align-items: center;
  padding: 14px 18px; background: #fff;
  border: 1px solid var(--bst-line); border-top: 0; border-radius: 0;
  transition: background-color .12s ease;
}
.catalog-card:not(.catalog-card + .catalog-card) { border-top: 1px solid var(--bst-line); border-radius: 16px 16px 0 0; }
.catalog-card + .catalog-card { border-top: 1px solid var(--bst-line-soft); }
.catalog-card:not(:has(+ .catalog-card)) { border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; }
.catalog-card:hover { background: #FBFAF6; }
.catalog-card:hover .catalog-card__title a { color: var(--bst-forest); }

.catalog-card__cover { display: block; line-height: 0; }
.catalog-card .report-cover { width: 96px; height: 128px; }
.catalog-card .report-cover-light--sm { width: 96px; }

.catalog-card__body { display: flex; flex-direction: column; min-width: 0; }
.catalog-card__region {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 5px; margin-bottom: 7px;
  padding: 3px 10px; border-radius: 999px; background: var(--bst-forest-tint);
  font-size: .75rem; font-weight: 600; letter-spacing: .02em; color: var(--bst-forest);
}
.catalog-card__region .bi { font-size: .6875rem; }
.catalog-card__title {
  margin: 0 0 8px; font-family: var(--bst-font-display); font-size: 1.0625rem; font-weight: 500; line-height: 1.3;
}
.catalog-card__title a { color: var(--bst-ink); text-decoration: none; }
.catalog-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 0; } /* вся строка кликабельна */
.catalog-card__facts {
  display: flex; flex-wrap: wrap; gap: 4px 16px; list-style: none; margin: 0; padding: 0;
  font-size: .8125rem; color: var(--bst-muted);
}
.catalog-card__fresh { display: inline-flex; align-items: center; gap: 6px; color: var(--bst-forest); font-weight: 600; }
.catalog-card__fresh::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

.catalog-card__tags {
  position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: .5rem;
  list-style: none; margin: auto 0 0; padding: 1rem 0 0;
}
.catalog-card__tags::before {
  content: ""; flex: 0 0 100%; height: 0; margin-bottom: .25rem; border-top: 1px dashed var(--bst-line);
}
.catalog-tag {
  display: inline-flex; align-items: center; gap: .125rem; padding: .3rem .75rem;
  border: 1px solid var(--bst-line); border-radius: 999px; background: var(--bst-ivory);
  font-size: .8125rem; font-weight: 500; color: var(--bst-text); text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.catalog-tag span { color: var(--bst-brass); font-weight: 600; }
.catalog-tag:hover { border-color: var(--bst-forest); background: var(--bst-forest); color: #fff; }
.catalog-tag:hover span { color: var(--bst-champagne); }

.catalog-card__buy {
  position: relative; z-index: 1; display: flex; flex-direction: column; gap: 8px;
  padding: 12px; border-radius: 14px; background: #F3F6F2;
}
.catalog-card__price-box { display: flex; flex-direction: column; margin-bottom: 2px; }
.catalog-card__price {
  font-family: var(--bst-font-display); font-weight: 700; font-size: 1.1875rem; line-height: 1.2;
  color: var(--bst-ink); white-space: nowrap;
}
.catalog-card__buy form { display: flex; flex-direction: column; }
.catalog-card__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  height: 38px; padding: 0 .75rem; border-radius: 10px; font-size: .84375rem; font-weight: 600;
}
.catalog-card__buy .btn-outline-primary.catalog-card__btn { background: #fff; }

@media (max-width: 991.98px) {
  .catalog-card { grid-template-columns: 96px minmax(0, 1fr); }
  .catalog-card__buy { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; }
  .catalog-card__buy > form, .catalog-card__buy > .btn { flex: 1 1 0; }
  .catalog-card__price-box { flex: 1 1 100%; margin: 0; }
}
@media (max-width: 575.98px) {
  .catalog-card { grid-template-columns: 80px minmax(0, 1fr); gap: 1rem; padding: 1rem; }
  .catalog-card .report-cover-light--sm { width: 80px; }
  .catalog-card__title { font-size: 1rem; }
}

.checkout-option {
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.checkout-option:hover { border-color: var(--bst-forest); }
.checkout-option.is-selected {
  border-color: var(--bst-forest);
  box-shadow: 0 0 0 1px var(--bst-forest);
}

.faq-accordion .accordion-item {
  border: 1px solid var(--bst-line);
  border-radius: var(--bst-radius) !important;
  overflow: hidden;
  margin-bottom: .75rem;
  background: #fff;
}
.faq-accordion .accordion-item:last-child { margin-bottom: 0; }
.faq-accordion .accordion-button {
  font-family: var(--bst-font-display);
  font-weight: 600;
  color: var(--bst-ink);
  background: #fff;
  box-shadow: none;
}
.faq-accordion .accordion-button:not(.collapsed) {
  color: var(--bst-forest);
  background: var(--bst-forest-tint);
  box-shadow: none;
}
.faq-accordion .accordion-button:focus { box-shadow: none; border-color: transparent; }
.faq-accordion .accordion-body { color: var(--bst-text); line-height: 1.65; }

.card-media { overflow: hidden; }
.card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card__media {
  height: 150px; overflow: hidden;
  background: linear-gradient(180deg, #F2EEE3 0%, #fff 100%);
  border-bottom: 1px solid var(--bst-line-soft);
}
.post-card__media .card-media,
.post-card__media img { height: 100%; }
.news-cover-image { background: #fff; }
.news-cover-image .card-media img { object-fit: contain; }

/* Новости на главной: обложка 7:4 (пропорция старых картинок и графика), заголовок и дата */
.home-news .post-card {
  border-radius: 16px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.home-news .post-card:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -24px rgba(10, 42, 30, .35); }
.home-news .post-card__media,
.home-news .news-cover-chart,
.home-news .post-card__chart { height: auto; aspect-ratio: 7 / 4; border-bottom: 1px solid #E8ECE6; }
.home-news .news-cover-chart { background: #F3F6F2; }
.home-news .news-cover-image { background: #fff; }
.home-news .post-card__body { display: flex; flex-direction: column; flex: 1; gap: .75rem; padding: 1rem 1.25rem 1.25rem; }
.home-news .post-card__title {
  font-size: 1rem; line-height: 1.4; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.home-news .post-card:hover .post-card__title { color: var(--bst-forest); }
.post-card__date { margin-top: auto; font-size: .8125rem; color: var(--bst-muted); }

/* Обложка записи блога: картинка вписывается целиком, без картинки — фирменная */
.blog-cover { position: relative; overflow: hidden; background: #fff; }
.blog-cover--image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; }
.blog-cover--dark { background: var(--bst-deep); color: #fff; }
.blog-cover--light { background: var(--bst-forest-tint); color: var(--bst-ink); }
.blog-cover__art { position: absolute; inset: 0; width: 100%; height: 100%; }
.blog-cover__inner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 2rem; }
.blog-cover__cat {
  font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600;
  padding: .3rem .65rem; border-radius: 999px; border: 1px solid currentColor;
}
.blog-cover--dark .blog-cover__cat { color: var(--bst-champagne); border-color: rgba(201, 169, 110, .5); }
.blog-cover--light .blog-cover__cat { color: var(--bst-forest); border-color: rgba(10, 107, 69, .4); }
.blog-cover__title {
  margin-top: auto; max-width: 70%;
  font-family: var(--bst-font-display); font-weight: 700; font-size: clamp(1.5rem, 2.4vw, 2.125rem); line-height: 1.1; letter-spacing: -.01em;
}
.blog-cover__logo { height: 22px; width: auto; margin-top: 1.25rem; opacity: .85; }
.blog-cover--sm .blog-cover__inner { padding: .625rem; }
.blog-cover--sm .blog-cover__cat { font-size: .5625rem; letter-spacing: .12em; padding: 0; border: 0; }
.blog-cover--sm .blog-cover__logo { margin-top: auto; height: 12px; }

/* Блог на главной: главная запись 7/12, справа три карточки ровно по её высоте */
.home-blog__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 1.75rem; }
.home-blog__grid--single { grid-template-columns: minmax(0, 1fr); }
.home-blog .post-card { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.home-blog .post-card:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -24px rgba(10, 42, 30, .35); }
.home-blog__lead .blog-cover { aspect-ratio: 16 / 9; border-bottom: 1px solid var(--bst-line-soft); }
.home-blog__lead-body { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.25rem; padding: 1.375rem 1.625rem 1.625rem; flex: 1; }
.home-blog__lead-text { display: flex; flex-direction: column; gap: .5rem; min-width: 0; }
.home-blog__lead .post-card__title,
.home-blog__lead .post-card__text { margin: 0; }
.home-blog__more { flex-shrink: 0; font-weight: 600; color: var(--bst-forest); font-size: .9375rem; }
.home-blog__list { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: .875rem; }
.home-blog__item {
  display: grid; grid-template-columns: minmax(0, 9fr) minmax(0, 11fr); gap: 1rem; align-items: stretch;
  flex-direction: row; height: 100%; min-height: 0; padding: .625rem; border-radius: 14px;
}
.home-blog__item .blog-cover { height: 100%; min-height: 96px; border-radius: 9px; border: 1px solid var(--bst-line-soft); }
.home-blog__item-body { display: flex; flex-direction: column; justify-content: center; gap: .375rem; min-width: 0; padding-right: .5rem; }
.home-blog__item-title {
  margin: 0; font-family: var(--bst-font-display); font-weight: 600; font-size: 1rem; line-height: 1.35; color: var(--bst-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.home-blog__item-text {
  margin: 0; font-size: .8125rem; line-height: 1.45; color: var(--bst-muted);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.home-blog__item-body .post-card__date { margin-top: 0; }
.home-blog .post-card:hover .post-card__title,
.home-blog .post-card:hover .home-blog__item-title { color: var(--bst-forest); }
@media (max-width: 991.98px) {
  .home-blog__grid { grid-template-columns: minmax(0, 1fr); }
  .home-blog__list { grid-template-rows: none; }
}
@media (max-width: 575.98px) {
  .home-blog__item { grid-template-columns: 112px minmax(0, 1fr); }
  .home-blog__lead-body { flex-direction: column; align-items: flex-start; }
}

.content-cover {
  border-radius: var(--bst-radius-lg);
  border: 1px solid var(--bst-line);
}

.prose { line-height: 1.7; color: var(--bst-text); }
.prose p:last-child { margin-bottom: 0; }
.prose img { max-width: 100%; height: auto; border-radius: var(--bst-radius); }
.prose h2, .prose h3, .prose h4 { margin-top: 1.5rem; }

.report-cover img[src*="/media/"],
.report-cover img[src*="/storage/"] {
  width: 100%; height: 100%; object-fit: cover; border-radius: 0;
}

.pagination {
  --bs-pagination-color: var(--bst-forest);
  --bs-pagination-hover-color: var(--bst-forest-hover);
  --bs-pagination-hover-bg: var(--bst-forest-tint);
  --bs-pagination-hover-border-color: var(--bst-line);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: var(--bst-forest);
  --bs-pagination-active-border-color: var(--bst-forest);
  --bs-pagination-disabled-color: var(--bst-muted);
  --bs-pagination-disabled-bg: #fff;
  --bs-pagination-disabled-border-color: var(--bst-line);
  --bs-pagination-bg: #fff;
  --bs-pagination-border-color: var(--bst-line);
  --bs-pagination-focus-box-shadow: 0 0 0 .2rem rgba(10, 107, 69, .25);
  --bs-pagination-border-radius: 8px;
}
.pagination .page-link:hover,
.pagination .page-link:focus { text-decoration: none; }
@media (max-width: 575.98px) {
  .pagination {
    --bs-pagination-padding-x: .5rem;
    --bs-pagination-padding-y: .25rem;
    --bs-pagination-font-size: .875rem;
  }
}

/* ==========================================================================
   Корзина и оформление заказа
   ========================================================================== */

/* Карточка обзора в корзине: обложка · название и данные · цена справа */
.cart-list { display: flex; flex-direction: column; gap: .75rem; }
.cart-item {
  position: relative;
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; column-gap: 1.25rem;
  background: #fff; border: 1px solid var(--bst-line); border-radius: var(--bst-radius-lg);
  padding: 1rem 1.25rem;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.cart-item:hover { border-color: #D3CDBE; box-shadow: 0 14px 28px -24px rgba(10, 42, 30, .45); }
.cart-item__cover.report-cover { width: 64px; height: 86px; border-radius: 8px; box-shadow: 0 8px 14px -12px rgba(10, 42, 30, .4); }
.cart-item__cover .report-cover__stripe { height: 9px; }
.cart-item__cover .report-cover__mark { height: 20px; padding: 0 6px; }
.cart-item__cover .report-cover__mark img { width: 15px; }
.cart-item__body { min-width: 0; }
.cart-item__title {
  margin: 0 0 .375rem; font-size: 1.0625rem; font-weight: 600; line-height: 1.35;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
.cart-item__title a { color: var(--bst-ink); text-decoration: none; }
.cart-item__title a:hover { color: var(--bst-forest); }
.cart-item__meta { display: flex; flex-wrap: wrap; column-gap: 1.25rem; row-gap: .125rem; font-size: .875rem; color: var(--bst-muted); }
.cart-item__meta b { font-weight: 500; color: var(--bst-text); }
.cart-item__price {
  align-self: stretch; min-width: 10rem; padding: 0 2.25rem 0 1.25rem;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: .125rem;
  border-left: 1px solid var(--bst-line-soft);
}
.cart-item__amount { font-family: var(--bst-font-display); font-weight: 700; font-size: 1.375rem; line-height: 1.2; color: var(--bst-ink); white-space: nowrap; }
.cart-item__old { font-size: .875rem; color: var(--bst-muted); text-decoration: line-through; white-space: nowrap; }
.cart-item__remove { position: absolute; top: .5rem; right: .5rem; margin: 0; }

/* Тихая кнопка удаления: заметна, но не спорит с ценой */
.btn-remove {
  width: 28px; height: 28px; padding: 0; border: 0; border-radius: 8px; background: transparent;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .8125rem; color: #9AA29D; transition: color .15s ease, background-color .15s ease;
}
.btn-remove:hover { color: #A63D2A; background: #F8ECE8; }
.btn-remove:focus-visible { outline: 2px solid var(--bst-forest); outline-offset: 1px; }
.btn-remove--sm { width: 24px; height: 24px; font-size: .6875rem; border-radius: 6px; }

@media (max-width: 575.98px) {
  .cart-item { grid-template-columns: auto minmax(0, 1fr); align-items: start; column-gap: .875rem; padding: .875rem 1rem; }
  .cart-item__cover { grid-row: span 2; }
  .cart-item__cover.report-cover { width: 52px; height: 70px; }
  .cart-item__body { padding-right: 1.5rem; }
  .cart-item__title { font-size: 1rem; -webkit-line-clamp: 3; }
  .cart-item__meta { font-size: .8125rem; }
  .cart-item__meta span:not(:last-child) { display: none; }
  .cart-item__price {
    grid-column: 2; min-width: 0; padding: 0; margin-top: .5rem; border-left: 0;
    flex-direction: row; align-items: baseline; justify-content: flex-start; gap: .625rem;
  }
  .cart-item__amount { font-size: 1.1875rem; }
  .cart-item__remove { top: .375rem; right: .375rem; }
}

/* Блок заказа справа: один и тот же на обоих шагах, липнет под шапкой */
.order-summary { padding: 1.5rem; }
@media (min-width: 992px) {
  .order-summary { position: sticky; top: calc(var(--site-header-offset, 0px) + 1.5rem); transition: top .3s ease; }
}
.order-summary__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1rem; }
.order-summary__title { margin: 0; font-size: 1.25rem; font-weight: 600; color: var(--bst-ink); }
.order-summary__edit { font-size: .875rem; font-weight: 500; }
.order-summary__items { list-style: none; margin: 0 0 1rem; padding: 0; border-top: 1px solid var(--bst-line-soft); }
@media (min-width: 992px) {
  .order-summary__items {
    max-height: max(9rem, calc(100vh - var(--site-header-offset, 0px) - 23rem));
    overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin;
  }
}
.order-line {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; column-gap: .625rem;
  padding: .625rem 0; border-bottom: 1px solid var(--bst-line-soft);
}
.order-line__cover.report-cover { width: 30px; height: 40px; border-radius: 4px; box-shadow: none; }
.order-line__cover .report-cover__stripe { height: 5px; }
.order-line__cover .report-cover__mark { display: none; }
.order-line__title {
  font-size: .8125rem; line-height: 1.35; color: var(--bst-text);
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
.order-line__title:hover { color: var(--bst-forest); text-decoration: none; }
.order-line__price { font-size: .875rem; font-weight: 600; color: var(--bst-ink); white-space: nowrap; }
.order-summary__row { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .5rem; font-size: .9375rem; color: var(--bst-muted); }
.order-summary__row--discount span:last-child { color: var(--bst-forest); font-weight: 600; }
.order-summary__total {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem;
  padding-top: 1rem; margin-bottom: 1.25rem; border-top: 1px solid var(--bst-line);
}
.order-summary__total-label { font-weight: 600; color: var(--bst-ink); line-height: 1.2; }
.order-summary__total-count { font-size: .8125rem; color: var(--bst-muted); }
.order-summary__total-amount { font-family: var(--bst-font-display); font-weight: 700; font-size: 1.75rem; line-height: 1.1; color: var(--bst-ink); white-space: nowrap; }
.order-summary__continue { display: block; margin-top: .875rem; text-align: center; font-size: .875rem; }
.order-summary__toggle {
  display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem;
  margin: 0 0 .75rem; padding: .625rem 0; border: 0; border-top: 1px solid var(--bst-line-soft); background: none;
  font-size: .9375rem; color: var(--bst-text);
}
.order-summary__toggle { font-weight: 500; color: var(--bst-forest); }
.order-summary__toggle .bi { transition: transform .2s ease; }
.order-summary__toggle[aria-expanded="true"] .bi { transform: rotate(180deg); }
@media (max-width: 991.98px) {
  .order-summary__items:not(.is-open) { display: none; }
  .order-summary__total { margin-bottom: 0; }
}

/* Главная кнопка шага: крупная, действие слева, сумма справа */
.btn-pay {
  width: 100%; min-height: 60px; padding: .875rem 1.25rem;
  align-items: center; justify-content: space-between; gap: 1rem;
  font-size: 1.0625rem; font-weight: 600;
}

/* Разделы формы оформления */
.checkout-section + .checkout-section { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--bst-line-soft); }
.checkout-section__title,
.checkout-section legend.h5 { margin-bottom: 1.25rem; font-size: 1.25rem; font-weight: 600; color: var(--bst-ink); }
.checkout-section > fieldset:last-of-type { margin-bottom: 0 !important; }

/* Телефон: сумма и главная кнопка всегда внизу экрана */
@media (max-width: 991.98px) {
  .has-order-bar { padding-bottom: 6.5rem !important; }
  .order-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1020;
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom));
    background: #fff; border-top: 1px solid var(--bst-line);
    box-shadow: 0 -12px 24px -16px rgba(10, 42, 30, .35);
  }
  .order-bar__total { display: flex; flex-direction: column; line-height: 1.2; }
  .order-bar__label { font-size: .8125rem; color: var(--bst-muted); }
  .order-bar__amount { font-family: var(--bst-font-display); font-weight: 700; font-size: 1.25rem; color: var(--bst-ink); white-space: nowrap; }
  .order-bar .btn { flex-shrink: 0; min-height: 48px; padding-inline: 1.5rem; font-weight: 600; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   Страница отчёта (/catalog/id…)
   ========================================================================== */

.report-page__crumbs .breadcrumb-item.active {
  max-width: 48ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
@media (max-width: 767.98px) {
  /* Одна строка с горизонтальной прокруткой вместо пяти строк */
  .report-page__crumbs { margin-inline: -1rem; overflow-x: auto; scrollbar-width: none; }
  .report-page__crumbs::-webkit-scrollbar { display: none; }
  .report-page__crumbs .breadcrumb { flex-wrap: nowrap; padding-inline: 1rem; white-space: nowrap; font-size: .875rem; }
  .report-page__crumbs .breadcrumb-item { flex-shrink: 0; }
  .report-page__crumbs .breadcrumb-item.active { max-width: 24ch; }
  .report-hero__stock { white-space: nowrap; }
}

/* --- Две колонки; на мобильных: заголовок → покупка → описание --- */
.report-layout { --bs-gutter-y: 0; }
.report-layout__main > * + * { margin-top: 1.5rem; }

@media (max-width: 991.98px) {
  .report-layout { --bs-gutter-x: 0; }
  .report-layout__main { display: contents; }
  .report-layout__main > * { flex-shrink: 0; width: 100%; max-width: 100%; }
  .report-layout__main > .report-hero { order: 1; }
  .report-layout__aside { order: 2; margin-top: 1.25rem; }
  .report-layout__main > .report-tabs { order: 3; margin-top: 1.5rem; }
}

/* --- Обложка, крупный вариант --- */
.report-cover--lg { width: 220px; height: 294px; border-radius: 14px; box-shadow: 0 24px 40px -26px rgba(10, 42, 30, .55); }
.report-cover--lg .report-cover__mark { height: 46px; }
.report-cover--lg .report-cover__mark img { width: 34px; }
.report-cover--generated.report-cover--lg .report-cover__media {
  display: flex; align-items: flex-start; justify-content: flex-start; padding: 1.25rem 1.125rem;
  background:
    radial-gradient(70% 60% at 85% 20%, rgba(10, 107, 69, .14) 0%, rgba(10, 107, 69, 0) 70%),
    linear-gradient(170deg, #fff 0%, var(--bst-ivory) 100%);
}
.report-cover__logo { width: 112px !important; height: auto !important; object-fit: contain !important; }
.report-cover--generated.report-cover--lg .report-cover__stripe {
  height: auto; min-height: 18px; padding: .75rem 1rem;
}
.report-cover__title {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden;
  font-family: var(--bst-font-display); font-weight: 600; font-size: .8125rem; line-height: 1.3; color: #fff;
}

/* --- Верхний блок: обложка + заголовок + характеристики --- */
.report-hero {
  display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 1.75rem 2.5rem; align-items: start;
  background: #fff; border: 1px solid var(--bst-line); border-radius: 22px; padding: 2rem;
  box-shadow: var(--bst-shadow-soft);
}
/* Обложка «Свет» на всю ширину колонки (размеры внутри в cqw — масштабируется целиком);
   текстовая колонка тянется на высоту обложки, характеристики прижаты к её низу */
.report-hero__cover .report-cover-light { width: 100%; }
.report-hero__body { align-self: stretch; display: flex; flex-direction: column; }
.report-hero__body > .report-facts { margin-top: auto; }
.report-hero__body > .report-hero__stock { align-self: flex-start; }
@media (min-width: 992px) and (max-width: 1199.98px) {
  .report-hero { grid-template-columns: 240px minmax(0, 1fr); gap: 1.5rem 2rem; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .report-hero { grid-template-columns: 260px minmax(0, 1fr); }
}
.report-hero__title {
  font-size: clamp(1.625rem, 2.4vw, 2.375rem); line-height: 1.14; letter-spacing: -.02em;
  margin: 0 0 1rem; text-wrap: balance;
}
.report-hero__stock {
  display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 1.5rem;
  padding: .375rem .875rem .375rem .625rem; border-radius: 999px;
  background: var(--bst-forest-tint); color: var(--bst-forest);
  font-size: .9375rem; font-weight: 600;
}
.report-facts {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; margin: 0;
}
.report-facts__item { padding: .875rem 0; border-top: 1px solid var(--bst-line-soft); }
.report-facts dt { font-weight: 400; font-size: .9375rem; color: var(--bst-muted); margin-bottom: .1875rem; }
.report-facts dd { margin: 0; font-size: 1.1875rem; font-weight: 500; color: var(--bst-ink); }
.report-hero__demo { margin-top: 1.5rem; }

/* Что входит в обзор: «Отчет (PDF) + табличная версия (Excel)» — плитки с цветной плашкой формата */
.report-formats { grid-column: 1 / -1; padding-top: 1.5rem; border-top: 1px solid var(--bst-line-soft); }
.report-formats__title {
  margin: 0 0 .75rem; font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: var(--bst-muted);
}
.report-formats__list {
  display: flex; flex-wrap: wrap; align-items: center; gap: .875rem; list-style: none; margin: 0; padding: 0;
}
.report-formats__item {
  flex: 1 1 14rem; display: flex; align-items: center; gap: .875rem; min-width: 0;
  padding: .875rem 1.125rem; border: 1px solid var(--bst-line); border-radius: 16px; background: #fff;
}
.report-formats__badge {
  flex: 0 0 auto; padding: .1875rem .5rem; border-radius: 6px; color: #fff;
  font-family: var(--bst-font-display); font-weight: 600; font-size: .875rem; line-height: 1.2; letter-spacing: .02em;
}
.report-formats__badge--pdf { background: #D2453B; }
.report-formats__badge--xls { background: #1F7A4A; }
.report-formats__label {
  font-family: var(--bst-font-display); font-weight: 500; font-size: 1.0625rem; line-height: 1.25; color: var(--bst-ink);
}
.report-formats__plus {
  flex: 0 0 auto; display: grid; place-items: center; width: 2rem; height: 2rem;
  border-radius: 50%; background: var(--bst-forest-tint); color: var(--bst-forest);
  font-size: 1.125rem; line-height: 1;
}
@media (max-width: 575.98px) {
  .report-formats__list { flex-direction: column; align-items: stretch; gap: .5rem; }
  .report-formats__item { flex-basis: auto; }
  .report-formats__plus { align-self: center; width: 1.75rem; height: 1.75rem; }
}

/* Обложка «Свет» (страница обзора): сетка 300 × 400, все размеры в cqw — 1cqw = 3 единицы сетки */
.report-cover-light {
  position: relative; width: 220px; aspect-ratio: 3 / 4; overflow: hidden; container-type: inline-size;
  border-radius: 4px 8px 8px 4px; background: #FBFAF6; color: var(--bst-ink);
  box-shadow: 0 0 0 1px rgba(19, 32, 26, .06), 0 24px 40px -26px rgba(10, 42, 30, .55);
}
.report-cover-light__art { position: absolute; inset: 0; width: 100%; height: 100%; }
.report-cover-light__emblem {
  --industry-icon-fill: var(--cover-tint);
  position: absolute; left: 51.75cqw; top: 24.42cqw; width: 33.83cqw; aspect-ratio: 1;
  display: grid; place-items: center; border-radius: 50%;
  background: rgba(255, 255, 255, .72); color: var(--cover-accent);
}
.report-cover-light__emblem .industry-icon { width: 19.33cqw; height: 19.33cqw; }
.report-cover-light__logo { position: absolute; left: 8.67cqw; top: 8cqw; height: 6cqw; width: auto; }
.report-cover-light__body {
  position: absolute; left: 8.67cqw; right: 8.67cqw; top: 77.67cqw;
  display: flex; flex-direction: column; gap: 3.33cqw;
}
.report-cover-light__eyebrow {
  font-size: 3cqw; line-height: 1.3; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--cover-accent);
}
.report-cover-light__title {
  font-family: var(--bst-font-display); font-weight: 700; font-size: 7.67cqw; line-height: 1.1; letter-spacing: -.01em;
}
.report-cover-light__foot {
  position: absolute; left: 8.67cqw; right: 8.67cqw; top: 120.67cqw;
  display: flex; justify-content: space-between; align-items: baseline; gap: 2cqw;
  font-size: 3.33cqw; color: var(--bst-muted);
}
.report-cover-light__foot b { font-family: var(--bst-font-display); font-size: 4cqw; color: var(--bst-forest); }

/* Мелкая «Свет» (списки): сетка 130 × 174, 1cqw = 1,3 единицы сетки */
.report-cover-light--sm { width: 116px; aspect-ratio: 130 / 174; border-radius: 3px 6px 6px 3px; box-shadow: 0 0 0 1px rgba(19, 32, 26, .06), 0 12px 22px -12px rgba(10, 42, 30, .55); }
.report-cover-light--sm .report-cover-light__emblem { left: 43.56cqw; top: 29.71cqw; width: 39.04cqw; }
.report-cover-light--sm .report-cover-light__emblem .industry-icon { width: 22.3cqw; height: 22.3cqw; }
.report-cover-light__mark { position: absolute; left: 7.69cqw; top: 6.92cqw; width: 24.6cqw; height: auto; }
.report-cover-light--sm .report-cover-light__title { position: absolute; left: 9.23cqw; right: 7.69cqw; bottom: 11.54cqw; line-height: 1.15; }

/* Строка обзора в списке: обложка · текст · плашка покупки */
.report-list { background: #fff; border: 1px solid var(--bst-line); border-radius: 16px; overflow: hidden; }
.report-row {
  display: grid; grid-template-columns: 116px minmax(0, 1fr) 200px; gap: 1.5rem; align-items: center;
  padding: .875rem 1.25rem;
}
.report-row + .report-row { border-top: 1px solid var(--bst-line-soft); }
.report-row__cover { display: block; line-height: 0; }
.report-row__title { margin: 0 0 .75rem; max-width: 720px; font-family: var(--bst-font-display); font-size: 1.25rem; font-weight: 500; line-height: 1.3; }
.report-row__title a { color: var(--bst-ink); }
.report-row__title a:hover { color: var(--bst-forest); text-decoration: none; }
.report-row__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1.125rem; font-size: .875rem; color: var(--bst-muted); }
/* Регион — тот же буллит, что в карточках каталога (.catalog-card__region) */
.report-row__body { display: flex; flex-direction: column; min-width: 0; }
.report-row__fresh { display: inline-flex; align-items: center; gap: .375rem; color: var(--bst-forest); font-weight: 600; }
.report-row__fresh::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.report-row__tags { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: .875rem 0 0; padding: 0; }
.report-row__tags a {
  display: inline-flex; align-items: center; height: 28px; padding: 0 .75rem; border-radius: 999px;
  background: #F3F6F2; border: 1px solid #E1E9E3; color: var(--bst-text); font-size: .8125rem; font-weight: 500;
  transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}
.report-row__tags a span { color: var(--bst-forest); margin-right: 2px; }
.report-row__tags a:hover { background: var(--bst-forest-tint); border-color: var(--bst-forest); color: var(--bst-forest); text-decoration: none; }
.report-row__buy { display: flex; flex-direction: column; gap: .5rem; padding: .875rem; border-radius: 14px; background: #F3F6F2; }
.report-row__price { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; min-height: 28px; margin-bottom: .25rem; }
.report-row__vat { margin: -.125rem 0 .5rem; }
.report-row__amount { font-family: var(--bst-font-display); font-size: 1.3125rem; font-weight: 700; color: var(--bst-ink); white-space: nowrap; }
.report-row__discount { display: inline-flex; align-items: baseline; gap: .375rem; white-space: nowrap; font-size: .75rem; color: var(--bst-muted); }
.report-row__discount-badge { padding: 2px 6px; border-radius: 999px; background: #B4502F; color: #fff; font-size: .6875rem; font-weight: 700; }
.report-row__btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; height: 40px; padding: 0 .75rem; border-radius: 10px; font-size: .875rem; font-weight: 600; }
.report-row__demo { background: #fff; }
@media (max-width: 991.98px) {
  .report-row { grid-template-columns: 116px minmax(0, 1fr); }
  .report-row__buy { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
  .report-row { grid-template-columns: 84px minmax(0, 1fr); gap: 1rem; padding: 1rem; }
  .report-row .report-cover-light--sm { width: 84px; }
  .report-row__title { font-size: 1.0625rem; }
}

@media (max-width: 767.98px) {
  .report-cover-light:not(.report-cover-light--sm) { width: 104px; border-radius: 3px 6px 6px 3px; }
  .report-hero { grid-template-columns: 104px minmax(0, 1fr); gap: 1rem 1.25rem; padding: 1.25rem; border-radius: 18px; }
  .report-hero__cover { grid-row: span 2; }
  .report-hero__body { display: contents; }
  .report-hero__title { font-size: 1.375rem; margin: 0; }
  .report-hero__stock { margin: 0; align-self: start; justify-self: start; font-size: .8125rem; }
  .report-facts, .report-hero__demo { grid-column: 1 / -1; }
  .report-hero__demo { margin-top: 0; justify-self: stretch; }
  .report-cover--lg { width: 104px; height: 139px; border-radius: 8px; }
  .report-cover--lg .report-cover__mark { height: 26px; padding: 0 8px; }
  .report-cover--lg .report-cover__mark img { width: 20px; }
  .report-cover--generated.report-cover--lg .report-cover__media { padding: .625rem; }
  .report-cover__logo { width: 64px !important; }
  .report-cover--generated.report-cover--lg .report-cover__stripe { padding: .375rem .5rem; }
  .report-cover__title { font-size: .5625rem; -webkit-line-clamp: 3; }
}
@media (max-width: 419.98px) {
  .report-facts { grid-template-columns: 1fr; }
}

/* --- Вкладки --- */
.report-tabs {
  background: #fff; border: 1px solid var(--bst-line); border-radius: 22px;
  box-shadow: var(--bst-shadow-soft);
  scroll-margin-top: var(--site-header-h, 0px);
}
/* Без overflow: hidden у .report-tabs — иначе sticky у полосы вкладок не работает */
.report-tabs__nav-wrap {
  position: sticky; top: var(--site-header-offset, 0px); z-index: 5;
  background: var(--bst-ivory); border-bottom: 1px solid var(--bst-line);
  border-radius: 21px 21px 0 0;
  overflow-x: auto; scrollbar-width: none;
  transition: top .3s ease, border-radius .2s ease, box-shadow .2s ease;
}
.report-tabs__nav-wrap.is-stuck { border-radius: 0; box-shadow: 0 10px 20px -16px rgba(10, 42, 30, .5); }
.report-tabs__nav-wrap::-webkit-scrollbar { display: none; }
.report-tabs__nav { flex-wrap: nowrap; gap: 2.25rem; padding-inline: 2.25rem; }
.report-tabs__nav .nav-link {
  position: relative; display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap;
  padding: 1.125rem 0; border: 0; background: none;
  font-family: var(--bst-font-display); font-weight: 600; font-size: 1.0625rem; color: var(--bst-muted);
}
.report-tabs__nav .nav-link::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0;
  background: var(--bst-forest); transform: scaleX(0); transition: transform .2s ease;
}
.report-tabs__nav .nav-link:hover { color: var(--bst-ink); text-decoration: none; }
.report-tabs__nav .nav-link.active { color: var(--bst-ink); }
.report-tabs__nav .nav-link.active::after { transform: scaleX(1); }
.report-tabs__count {
  min-width: 1.75rem; padding: .0625rem .5rem; border-radius: 999px; text-align: center;
  background: var(--bst-sand); color: var(--bst-brass-text); font-size: .8125rem; font-weight: 600;
}
.report-tabs__nav .nav-link.active .report-tabs__count { background: var(--bst-forest-tint); color: var(--bst-forest); }
.report-tabs__content { padding: 2rem 2.25rem 2.5rem; }

@media (max-width: 767.98px) {
  .report-tabs { border-radius: 18px; }
  .report-tabs__nav-wrap { border-radius: 17px 17px 0 0; }
  .report-tabs__nav { gap: 1.5rem; padding-inline: 1.25rem; }
  .report-tabs__nav .nav-link { font-size: 1rem; padding-block: 1rem; }
  .report-tabs__content { padding: 1.5rem 1.25rem 1.75rem; }
}

/* --- Текст аннотации / содержания --- */
.report-prose { max-width: 75ch; color: var(--bst-text); line-height: 1.7; }
.report-prose > :first-child { margin-top: 0 !important; }
.report-prose > :last-child { margin-bottom: 0; }
.report-prose h2, .report-prose h3, .report-prose h4, .report-prose h5 {
  display: block; font-family: var(--bst-font-display); font-weight: 600;
  font-size: 1.25rem; line-height: 1.3; letter-spacing: -.01em; color: var(--bst-ink);
  margin: 2rem 0 .625rem;
}
.report-prose ul, .report-prose ol { padding-left: 1.25rem; margin-bottom: 1rem; }
.report-prose li { margin-bottom: .375rem; padding-left: .25rem; }
.report-prose li::marker { color: var(--bst-forest); }
.report-prose img { max-width: 100%; height: auto; border-radius: var(--bst-radius); }
.report-prose table { width: 100%; margin-bottom: 1rem; border-collapse: collapse; font-size: 1rem; }
.report-prose td, .report-prose th { padding: .5rem .75rem; border-bottom: 1px solid var(--bst-line-soft); vertical-align: top; }

/* Оглавление и списки таблиц — плотнее, с иерархией */
.report-prose--toc, .report-prose--tables { font-size: 1rem; line-height: 1.55; }
.report-prose--toc ol ol, .report-prose--toc ul ul,
.report-prose--toc ol ul, .report-prose--toc ul ol { margin: .375rem 0 .5rem; color: var(--bst-muted); }
.report-prose--toc > ol > li, .report-prose--toc > ul > li { margin-bottom: .625rem; }
.report-prose--tables p, .report-prose--tables li { margin-bottom: .25rem; }

/* --- Блок покупки --- */
@media (min-width: 992px) {
  .report-aside { position: sticky; top: calc(var(--site-header-offset, 0px) + 1.5rem); transition: top .3s ease; }
}
.buy-card {
  border: 1px solid var(--bst-line); border-radius: 22px; overflow: hidden; background: #fff;
  box-shadow: 0 30px 50px -36px rgba(10, 42, 30, .55);
}
.buy-card__head {
  padding: 1.75rem 1.75rem 1.25rem; color: #fff;
  background:
    radial-gradient(80% 90% at 0% 0%, rgba(10, 107, 69, .85) 0%, rgba(10, 107, 69, 0) 70%),
    radial-gradient(60% 70% at 100% 100%, rgba(201, 169, 110, .18) 0%, rgba(201, 169, 110, 0) 70%),
    var(--bst-deep);
}
.buy-card__price-row { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .75rem; }
.buy-card__price {
  font-family: var(--bst-font-display); font-weight: 700; font-size: clamp(2rem, 2.6vw, 2.5rem);
  line-height: 1.1; letter-spacing: -.02em; color: #fff; white-space: nowrap;
}
.buy-card__vat { margin: .25rem 0 1.25rem; font-size: .875rem; color: var(--bst-on-dark-muted); }
/* Сумма НДС под ценой на карточках — шаблон из настроек сайта */
.catalog-card__vat, .report-card__vat, .report-row__vat { display: block; font-size: .75rem; line-height: 1.3; color: var(--bst-muted); }
.report-card__vat { font-size: .8125rem; }
.buy-card__buy { --bs-btn-font-size: 1.1875rem; box-shadow: 0 12px 24px -14px rgba(201, 169, 110, .9); }
.buy-card__cart { margin: .875rem 0 0; text-align: center; }
.buy-card__cart-btn, .buy-card__cart-link {
  display: inline-flex; align-items: center; gap: .5rem; padding: .375rem .25rem;
  border: 0; background: none; font-family: var(--bst-font-display); font-weight: 600; font-size: 1rem;
}
.buy-card__cart-btn { color: #fff; }
.buy-card__cart-btn span { border-bottom: 1.5px dashed rgba(201, 169, 110, .8); padding-bottom: 1px; }
.buy-card__cart-btn:hover span { border-bottom-style: solid; border-color: var(--bst-champagne); }
.buy-card__cart-btn i { color: var(--bst-champagne); font-size: 1.125rem; }
.buy-card__cart-btn.is-loading { opacity: .6; cursor: progress; }
.buy-card__cart-link { color: var(--bst-champagne); }
.buy-card__cart-link:hover { color: #fff; }
.buy-card__cart-link i { font-size: 1.125rem; }
.buy-card__cart-link:not([hidden]) { animation: buy-card-added .35s ease-out; }
@keyframes buy-card-added { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

.buy-card__body { padding: .25rem 1.75rem 1.5rem; }
.buy-card__section { padding-top: 1.25rem; }
.buy-card__section + .buy-card__section { margin-top: 1.25rem; border-top: 1px solid var(--bst-line-soft); }
.buy-card__label { font-family: var(--bst-font-display); font-weight: 600; font-size: 1rem; color: var(--bst-ink); margin: 0 0 .625rem; letter-spacing: 0; }
.buy-card__list { list-style: none; padding: 0; margin: 0 0 .875rem; font-size: .9375rem; }
.buy-card__list li { position: relative; padding-left: 1.125rem; margin-bottom: .25rem; }
.buy-card__list li::before {
  content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 50%;
  background: var(--bst-forest);
}
.pay-badges { display: flex; flex-wrap: wrap; gap: .375rem; list-style: none; padding: 0; margin: 0; }
.pay-badges li {
  padding: .1875rem .5rem; border: 1px solid var(--bst-line); border-radius: 6px; background: var(--bst-ivory);
  font-family: var(--bst-font-display); font-weight: 700; font-size: .75rem; color: var(--bst-muted);
}
.buy-card__delivery { display: flex; gap: .625rem; font-size: .9375rem; color: var(--bst-text); }
.buy-card__delivery > i { color: var(--bst-forest); font-size: 1.125rem; line-height: 1.4; }
.buy-card__date {
  padding: 0; border: 0; background: none; cursor: help;
  font-weight: 600; color: var(--bst-ink); border-bottom: 1.5px dotted var(--bst-brass);
}
.buy-card__date:hover { color: var(--bst-forest); border-bottom-color: var(--bst-forest); }

.report-popover { --bs-popover-max-width: 300px; --bs-popover-border-color: var(--bst-line); --bs-popover-header-bg: var(--bst-ivory); font-size: .9375rem; }
.report-popover .popover-header { font-family: var(--bst-font-display); font-weight: 600; color: var(--bst-ink); }

/* --- Дополнительные действия --- */
.report-actions {
  list-style: none; padding: .375rem; margin: 1rem 0 0;
  background: var(--bst-sand); border-radius: 18px;
}
.report-actions__btn {
  width: 100%; display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem;
  border: 0; border-radius: 12px; background: none; text-align: left;
  font-size: 1rem; font-weight: 500; color: var(--bst-ink);
}
.report-actions__btn i { color: var(--bst-forest); font-size: 1.125rem; }
.report-actions__btn:hover { background: #fff; }

/* Счётчик корзины в шапке: короткий отклик после добавления */
.cart-link .badge.is-bumped { animation: cart-badge-bump .4s ease-out; }
@keyframes cart-badge-bump { 0% { transform: translate(-50%, -50%) scale(1); } 40% { transform: translate(-50%, -50%) scale(1.35); } 100% { transform: translate(-50%, -50%) scale(1); } }

/* --- Уведомление о cookie --- */
.cookie-notice {
  position: fixed; left: 1.5rem; bottom: 1.5rem; z-index: 1050;
  width: min(30rem, calc(100vw - 3rem)); max-height: calc(100vh - 3rem); overflow-y: auto;
  padding: 1.5rem; background: #fff; border: 1px solid var(--bst-line); border-radius: var(--bst-radius-lg);
  box-shadow: 0 24px 48px -20px rgba(10, 42, 30, .35);
  animation: cookie-notice-in .3s ease-out;
}
.cookie-notice[hidden] { display: none; }
.cookie-notice__title { font-size: 1.25rem; margin-bottom: .5rem; }
.cookie-notice__text { font-size: .9375rem; line-height: 1.5; color: var(--bst-text); margin-bottom: 1.25rem; }
.cookie-notice__text a { text-decoration: underline; text-underline-offset: 3px; }
.cookie-notice__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.cookie-notice__actions .btn { flex: 1 1 auto; --bs-btn-padding-y: .65rem; --bs-btn-border-radius: var(--bst-radius); }
@keyframes cookie-notice-in { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .cookie-notice { animation: none; } }
@media (max-width: 575.98px) {
  .cookie-notice { left: 1rem; right: 1rem; bottom: 1rem; width: auto; max-height: calc(100vh - 2rem); padding: 1.25rem; }
  .cookie-notice__actions { flex-direction: column; }
}

/* --- Мессенджеры: значки в правом нижнем углу (ТЗ 5.6) --- */
.site-messengers {
  position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 1040;
  display: flex; flex-direction: column; gap: .75rem;
  transition: bottom .2s ease-out;
}
.site-messengers__link {
  display: inline-flex; align-items: center; justify-content: center;
  width: 3.25rem; height: 3.25rem; border-radius: 50%;
  color: #fff; background: var(--bst-forest);
  box-shadow: 0 12px 24px -10px rgba(10, 42, 30, .55);
  transition: background-color .2s, transform .2s, box-shadow .2s;
}
.site-messengers__link:hover {
  color: #fff; background: var(--bst-forest-hover);
  transform: translateY(-2px); box-shadow: 0 16px 28px -10px rgba(10, 42, 30, .6);
}
.site-messengers__link:focus-visible { outline: 3px solid var(--bst-champagne); outline-offset: 3px; }
.site-messengers__link svg { width: 1.5rem; height: 1.5rem; }
@media (max-width: 575.98px) {
  /* Плашка cookie на телефоне во всю ширину — значки поднимаются над ней (высоту ставит main.js) */
  .site-messengers { right: 1rem; bottom: calc(1rem + var(--cookie-notice-offset, 0px)); gap: .5rem; }
  .site-messengers__link { width: 2.875rem; height: 2.875rem; }
  .site-messengers__link svg { width: 1.375rem; height: 1.375rem; }
}

/* --- Печать --- */
/* Страница обзора печатается без шапки, подвала, покупки и вкладок: обложка, название, факты и все разделы подряд. */
@page { margin: 15mm 14mm; }
@media print {
  body { background: #fff; font-size: 11pt; }
  .skip-link, .site-header, .site-header-holder, .site-preview-banner, .offcanvas, .site-footer, .modal, .modal-backdrop,
  .popover, .tooltip, .toast-container, .cookie-notice, .site-messengers, .order-bar,
  .report-page__crumbs, .report-layout__aside, .report-tabs__nav-wrap, .report-hero__demo { display: none !important; }
  .report-page { max-width: none; padding: 0 !important; }
  .report-layout { margin: 0; }
  .report-layout__main { width: 100% !important; flex: 0 0 100%; max-width: 100%; display: block; padding: 0; }
  .report-hero { break-inside: avoid; }
  .report-prose h2, .report-prose h3, .report-tabs__print-title { break-after: avoid; }
  .report-prose table, .report-prose figure, .report-prose img { break-inside: avoid; }
  .report-prose a { color: inherit; text-decoration: none; }
  .report-hero, .report-tabs { border: 0; box-shadow: none; padding: 0; border-radius: 0; }
  .report-tabs__content { padding: 0; }
  .tab-content > .tab-pane { display: block !important; opacity: 1 !important; margin-top: 1.5rem; }
  .report-tabs__print-title { font-size: 16pt; margin: 1.5rem 0 .75rem; }
  .report-prose { max-width: none; }
  a[href]::after { content: none !important; }
}
