/* ============================================================
   Рефреш публичных разделов v2 (2026-08): конкурсы / услуги /
   новости / объявления / поддержка — списки и деталки.
   Дизайн-система теней и карточек — по образцу Kirson
   (BuildAggregator, packages/ui/kit.tsx):
     тень покоя:  0 1px 2px rgba(16,24,40,.04),
                  0 12px 28px -18px rgba(16,24,40,.18)
     тень ховера: 0 1px 2px rgba(16,24,40,.05),
                  0 22px 44px -24px rgba(13,71,161,.35)
     радиус 16px, рамка нейтральная, ховер: подъём + брендовая рамка,
     значки в мягких цветных квадратах 44px.
   Палитра сайта прежняя (base.css). ЛК (/cabinet/) не трогаем.
   Подключается ПОСЛЕ pages.css/components.css и переопределяет их.
   ============================================================ */

:root {
  --sr-border: #E4EAF1;
  --sr-border-hover: #BBD4EE;
  --sr-radius: 16px;
  /* тень с синим оттенком (в тон hero-баннеру), деликатная — по просьбе 29.08 */
  --sr-shadow: 0 1px 2px rgba(13, 71, 161, .05), 0 14px 30px -18px rgba(13, 71, 161, .22);
  --sr-shadow-hover: 0 1px 2px rgba(13, 71, 161, .06), 0 22px 44px -24px rgba(13, 71, 161, .38);
  --sr-ink-2: #475569;
  --sr-muted: #94A3B8;
}

/* ---------- фон везде белый ---------- */
body,
.section,
.section--alt,
main {
  background: #fff;
}

/* ---------- hero-полоса раздела ---------- */
.sect-hero {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(132deg, #0A2540 0%, #0D47A1 58%, #1565C0 100%);
  color: #fff;
  padding: clamp(28px, 4vw, 48px) clamp(22px, 4vw, 52px);
  margin-bottom: clamp(24px, 3.4vw, 40px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .22),
    0 24px 50px -28px rgba(10, 37, 64, .55);
}
.sect-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, .06) 0 26%, transparent 26.5%),
    linear-gradient(115deg, transparent 0 32%, rgba(255, 255, 255, .045) 32.5% 46%, transparent 46.5%),
    radial-gradient(120% 90% at 108% -10%, rgba(0, 166, 214, .28), transparent 55%);
  pointer-events: none;
}
.sect-hero > * { position: relative; }

.sect-hero .breadcrumbs { margin-bottom: 16px; }
.sect-hero .breadcrumbs a { color: rgba(255, 255, 255, .72); }
.sect-hero .breadcrumbs a:hover { color: #fff; }
.sect-hero .breadcrumbs span { color: #fff; }
.sect-hero .breadcrumbs .icon { color: rgba(255, 255, 255, .45); }

.sect-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .82);
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  padding: 6px 14px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  margin-bottom: 14px;
}
.sect-hero__title {
  margin: 0 0 8px;
  font-size: clamp(26px, 3.4vw, 38px);
  line-height: 1.15;
  font-weight: 800;
  color: #fff;
}
.sect-hero__sub {
  margin: 0;
  max-width: 660px;
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: 1.55;
  color: rgba(255, 255, 255, .78);
}

/* стат-плитки hero — стекло */
.sect-hero__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-top: 22px;
}
.sect-stat {
  display: flex;
  align-items: center;
  gap: 13px;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .20);
  border-radius: 16px;
  padding: 14px 16px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
  transition: background-color .2s ease, border-color .2s ease;
}
.sect-stat:hover { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .3); }
/* важно: селекторы адресные — генерический `.sect-stat span` ломал
   сам квадрат иконки (он тоже span), из-за чего иконки «съезжали» */
.sect-stat .sect-stat__ico {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: none;
  margin: 0;
  border-radius: 12px;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
  font-size: 0;
}
.sect-stat .sect-stat__ico .icon { width: 19px; height: 19px; color: #fff; opacity: .92; }
.sect-stat > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.sect-stat > div strong,
.sect-stat > strong {
  display: block;
  font-size: clamp(19px, 2.2vw, 24px);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.sect-stat > div > span,
.sect-stat > strong + span {
  display: block;
  margin-top: 2px;
  font-size: 12.5px;
  color: rgba(255, 255, 255, .72);
}

/* ---------- поиск в hero — как на референсе, единый во всех разделах ---------- */
.sect-search {
  display: flex;
  gap: 7px;
  align-items: center;
  max-width: 560px;
  margin-top: 22px;
  padding: 7px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .38);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 24px 56px -24px rgba(4, 20, 45, .5);
}
.sect-search__input {
  flex: 1;
  min-width: 0;
  height: 46px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 15.5px;
  font-family: inherit;
  outline: none;
}
.sect-search__input::placeholder { color: rgba(255, 255, 255, .55); }
.sect-search__input::-webkit-search-cancel-button { filter: invert(1); }
.sect-search__btn {
  flex: none;
  height: 46px;
  padding: 0 24px;
  border: 0;
  border-radius: 12px;
  background: #fff;
  color: #0D47A1;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(4, 20, 45, .35), inset 0 1px 0 #fff;
  transition: transform .15s ease, box-shadow .15s ease;
}
.sect-search__btn:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(4, 20, 45, .4), inset 0 1px 0 #fff; }
@media (max-width: 479px) { .sect-search__btn { padding: 0 16px; } }

/* фильтры: обычные и внутри hero */
.filter-bar { margin: 0 0 22px; border: 0; padding: 0; }
.sect-hero .filter-bar { margin: 20px 0 0; border: 0; padding: 0; }
.filter-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-pill {
  border: 1px solid var(--sr-border);
  background: #fff;
  color: var(--color-text, #1A1A1A);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.filter-pill:hover { border-color: var(--sr-border-hover); }
.filter-pill.is-active {
  background: var(--color-primary, #1565C0);
  border-color: var(--color-primary, #1565C0);
  color: #fff;
  box-shadow: 0 6px 16px -8px rgba(21, 101, 192, .7);
}
.sect-hero .filter-pill {
  background: rgba(255, 255, 255, .10);
  border-color: rgba(255, 255, 255, .25);
  color: rgba(255, 255, 255, .85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.sect-hero .filter-pill:hover { background: rgba(255, 255, 255, .18); color: #fff; }
.sect-hero .filter-pill.is-active {
  background: #fff;
  border-color: #fff;
  color: var(--color-primary-dark, #0D47A1);
  box-shadow: 0 8px 20px -10px rgba(0, 0, 0, .5);
}

/* ---------- базовая карточка (Kirson) ---------- */
.tender-card,
.news-card,
.service-card,
.contact-card,
.kv-card {
  background: #fff;
  border: 1px solid var(--sr-border);
  border-radius: var(--sr-radius);
  box-shadow: var(--sr-shadow);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
a.tender-card:hover,
a.news-card:hover,
a.service-card:hover,
.news-card:hover,
.service-card:hover,
.tender-card:hover,
.contact-card:hover {
  transform: translateY(-2px);
  border-color: var(--sr-border-hover);
  box-shadow: var(--sr-shadow-hover);
}

/* ---------- сетки ---------- */
.tenders-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 1099px) { .tenders-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 679px)  { .tenders-grid { grid-template-columns: 1fr; } }
.news-grid, .services-grid { gap: 18px; }

/* ---------- значок-квадрат (Kirson tint) ---------- */
.tc-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: none;
  border-radius: 12px;
  background: #E3F2FD;
  color: #1565C0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}
.tc-icon .icon { width: 22px; height: 22px; }
.tc-icon--amber { background: #FFF3E0; color: #E65100; }
.tc-icon--green { background: #E8F5E9; color: #2E7D32; }
/* сплошной синий — как значок в шапке деталки объявления */
.tc-icon--solid {
  background: linear-gradient(160deg, #1976D2, #0D47A1);
  color: #fff;
  box-shadow: 0 8px 18px -10px rgba(21, 101, 192, .65), inset 0 1px 0 rgba(255, 255, 255, .25);
}

/* ---------- чипы на карточках — мягкие пилюли как у Kirson:
     без рамок, без капса, спокойные заливки ---------- */
.glass-chip,
.tender-card__status,
.tender-card__category,
.tender-card .tc-chips span,
.ads-card .glass-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--sr-ink-2);
  background: #F1F5F9;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.glass-chip .icon { width: 14px; height: 14px; }
.glass-chip--blue { color: #1D4ED8; background: #EFF6FF; }
.glass-chip--warn { color: #C2410C; background: #FFF7ED; }
.glass-chip--green { color: #15803D; background: #F0FDF4; }

.tender-card__category { color: #1D4ED8; background: #EFF6FF; }

.tender-card__status--open { color: #15803D; background: #F0FDF4; }
.tender-card__status--open::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22C55E;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .16);
}
.tender-card__status--review { color: #C2410C; background: #FFF7ED; }
.tender-card__status--completed { color: #64748B; background: #F1F5F9; }

/* ---------- карточка конкурса: насыщенный вид ---------- */
.tender-card { display: flex; flex-direction: column; padding: 22px; }
.tender-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}
.tc-chips { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.tc-chips--top { justify-content: flex-start; margin-bottom: 14px; }

/* identity-ряд: значок в паре с заголовком (анатомия карточки Kirson) */
.tc-id { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 12px; }
.tc-id .tc-icon { width: 42px; height: 42px; margin-top: 2px; }
.tc-id__txt { min-width: 0; flex: 1; }
.tc-id__txt .tender-card__title { margin-bottom: 5px; }
.tc-id__txt .tender-card__org { margin-bottom: 0; }
.tender-card__title {
  margin: 0 0 8px;
  font-size: 16.5px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: -.01em;
  color: #0F172A;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tender-card__org {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: var(--sr-muted);
  margin-bottom: 10px;
}
.tender-card__org .icon { width: 15px; height: 15px; flex: none; }
.tender-card__excerpt {
  margin: 0 0 14px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--sr-ink-2);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* метрики — один контейнер с вертикальными разделителями (как у Kirson),
   число сверху, подпись снизу; прижаты к низу карточки, чтобы линия
   метрик и кнопка стояли на одном уровне во всём ряду */
.tc-meta {
  display: flex;
  border: 1px solid #EEF2F7;
  border-radius: 12px;
  overflow: hidden;
  margin-top: auto;
}
/* когда метрики есть — кнопке фиксированный отступ (auto уже съела мета) */
.tc-meta ~ .tc-btn { margin-top: 14px; }
.tc-meta__cell {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 11px 8px;
  background: #fff;
  border: 0;
  border-radius: 0;
  text-align: center;
}
.tc-meta__cell + .tc-meta__cell { border-left: 1px solid #EEF2F7; }
.tc-meta__label {
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--sr-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.tc-meta__value {
  font-size: 15px;
  font-weight: 700;
  color: #0F172A;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
/* «Подробнее» — глянцево-синяя кнопка «под стекло», как активная
   «Мои заявки» в личном кабинете (просьба 29.08): градиент + внутренний
   блик + мягкая синяя тень */
.tc-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  flex: none;
  /* кнопка всегда прижата к низу карточки — весь ряд на одной линии */
  margin-top: auto;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(180deg, #1E7CE8 0%, #1565C0 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .32), 0 8px 18px -8px rgba(21, 101, 192, .55);
  transition: box-shadow .2s ease, transform .2s ease, filter .2s ease;
}
a.tender-card:hover .tc-btn,
a.ads-card:hover .tc-btn {
  filter: brightness(1.07);
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 12px 24px -10px rgba(21, 101, 192, .65);
}
/* гарантированный зазор между последним контентом и кнопкой */
.tender-card > *:nth-last-child(2),
.ads-card > *:nth-last-child(2) { margin-bottom: 14px; }

/* заголовки карточек НЕ синеют ни на ховере, ни у посещённых ссылок */
a.tender-card .tender-card__title,
a.tender-card:hover .tender-card__title,
a.tender-card:visited .tender-card__title { color: #0F172A; }
a.ads-card .news-card__title,
a.ads-card:hover .news-card__title,
a.ads-card:visited .news-card__title { color: #1E293B; }
a.news-card .news-card__title,
a.news-card:hover .news-card__title,
a.news-card:visited .news-card__title { color: #1E293B; }
a.service-card:visited .service-card__title,
a.service-card:hover .service-card__title { color: #0F172A; }

/* выделение текста — нейтральное, без синей заливки (все 4 раздела) */
.tenders-grid ::selection,
.news-grid ::selection,
.services-grid ::selection,
.ads-grid ::selection,
.sect-hero ::selection,
.article ::selection,
.service-block ::selection {
  background: rgba(148, 163, 184, .28);
  color: inherit;
}

/* ---------- карточка объявления ---------- */
/* объявления — своя сетка 3 в ряд (перебивает вертикальный стек news-grid) */
.ads-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 1099px) { .ads-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 679px)  { .ads-grid { grid-template-columns: 1fr; } }
.ads-card { display: flex; flex-direction: column; padding: 22px 22px 16px; }
.ads-card .news-card__title {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ads-card__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
/* чипы дат объявлений — нейтральное стекло без синевы (просьба 29.08) */
.ads-card .glass-chip,
.ads-card .glass-chip--blue,
.ads-card .glass-chip--warn {
  color: #475569;
  background: rgba(241, 245, 249, .72);
  border: 1px solid rgba(203, 213, 225, .75);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 2px 6px -4px rgba(15, 23, 42, .18);
}
.ads-card .glass-chip .icon { color: #64748B; }
.ads-card .glass-chip--warn { color: #334155; background: rgba(226, 232, 240, .78); }
.ads-card .news-card__title {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 600;
  color: #1E293B;
}
.ads-card .news-card__excerpt {
  margin: 0 0 14px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--sr-ink-2);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ads-card__footer { margin-top: auto; }

/* ---------- деталки: блоки как карточки ---------- */
.service-block,
.payment-details {
  background: #fff;
  border: 1px solid var(--sr-border);
  border-radius: var(--sr-radius);
  box-shadow: var(--sr-shadow);
}
.service-block { padding: clamp(18px, 2.4vw, 26px); }

/* статья (новости/объявления) — БЕЗ рамки-коробки: чистая центрированная
   колонка читабельной ширины; карточками остаются таблицы и галерея */
.article {
  background: transparent;
  border: 0;
  box-shadow: none;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
.article__back { max-width: 940px; margin-left: auto; margin-right: auto; }

/* деталка конкурса/услуги — не растягиваем колонку на весь экран */
.service-layout { max-width: 1280px; margin-left: auto; margin-right: auto; }

/* таблицы в деталках — карточный вид: скругление, шапка, зебра */
.article__body table,
.service-block table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--sr-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(13, 71, 161, .05), 0 10px 22px -16px rgba(13, 71, 161, .2);
  font-size: 14.5px;
  margin: 16px 0;
}
.article__body table th,
.service-block table th {
  background: #F4F8FD;
  color: var(--color-text, #1A1A1A);
  font-weight: 700;
  text-align: left;
  padding: 12px 16px;
  border-bottom: 1px solid var(--sr-border);
}
.article__body table td,
.service-block table td {
  padding: 11px 16px;
  border-bottom: 1px solid var(--color-border-light, #F0F2F5);
  color: var(--sr-ink-2);
  background: #fff;
}
.article__body table tr:nth-child(even) td,
.service-block table tr:nth-child(even) td { background: #FBFDFF; }
.article__body table tr:last-child td,
.service-block table tr:last-child td { border-bottom: none; }
.service-block + .service-block { margin-top: 18px; }
.service-block__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border-light, #F0F2F5);
  margin-bottom: 16px;
}
.service-block__title .icon { color: var(--color-primary, #1565C0); }

/* типографика текста в блоках деталок («Описание конкурса» и т.п.) */
.service-block p,
.article__body p {
  color: var(--sr-ink-2);
  font-size: 15.5px;
  line-height: 1.7;
  margin: 0 0 12px;
}
.service-block p:last-child { margin-bottom: 0; }
.service-block ul,
.service-block ol,
.article__body ul,
.article__body ol {
  color: var(--sr-ink-2);
  font-size: 15.5px;
  line-height: 1.7;
  padding-left: 22px;
  margin: 0 0 12px;
}
.service-block li { margin-bottom: 6px; }

/* мета-значки деталок («Дата публикации», номер, просмотры…) — стекло */
.service-header__meta { display: flex; flex-wrap: wrap; gap: 8px; }
.article__meta { margin: 2px 0 20px; gap: 8px; }
.ad-header__meta { gap: 8px; }
.service-header__meta-item,
.article__meta-item,
.ad-header__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 13px;
  border-radius: 999px;
  border: 1px solid rgba(187, 212, 238, .8);
  background: rgba(244, 248, 253, .72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-size: 13px;
  font-weight: 600;
  color: var(--sr-ink-2);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 2px 6px -3px rgba(16, 24, 40, .25);
}
.service-header__meta-item .icon,
.article__meta-item .icon,
.ad-header__meta-item .icon { color: var(--color-primary, #1565C0); width: 15px; height: 15px; }

/* требования / строки реквизитов */
.requirement {
  border: 1px solid var(--sr-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 18px -14px rgba(16, 24, 40, .2);
}
.payment-details__row { border-bottom: 1px solid var(--color-border-light, #F0F2F5); }
.payment-details__row:last-child { border-bottom: none; }

/* галерея новости */
.news-gallery__item,
.news-gallery img,
.article__hero img,
.article__hero {
  border-radius: 14px;
}
.news-gallery__item {
  border: 0;
  box-shadow: 0 1px 2px rgba(13, 71, 161, .05), 0 14px 30px -18px rgba(13, 71, 161, .22);
  overflow: hidden;
}

/* ---------- контакты: «Поддержка» и деталка конкурса ---------- */
.contact-card { text-align: center; padding: clamp(20px, 2.6vw, 30px) 20px; }
.contact-card__icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  color: var(--color-primary, #1565C0);
  background: linear-gradient(160deg, #E3F2FD, #F4F8FD);
  border: 1px solid var(--sr-border);
  box-shadow: inset 0 1px 0 #fff, 0 8px 18px -12px rgba(21, 101, 192, .5);
}
.contact-card__title { margin: 0 0 6px; font-size: 15px; font-weight: 800; }
.contact-card__value { font-size: 19px; font-weight: 800; }
.contact-card__value a { color: var(--color-primary-dark, #0D47A1); text-decoration: none; }
.contact-card__value a:hover { color: var(--color-primary, #1565C0); }
.contact-card__hours { margin-top: 6px; font-size: 12.5px; color: var(--color-text-muted, #6B7280); }

.operator-contact__item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 14px;
  border: 1px solid var(--sr-border);
  border-radius: 12px;
  background: linear-gradient(180deg, #FBFDFF, #F4F8FD);
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 18px -14px rgba(16, 24, 40, .2);
}
.operator-contact__item + .operator-contact__item { margin-top: 10px; }
.operator-contact__item-label {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--color-text-muted, #6B7280);
}
.operator-contact__item-value { font-size: 15px; font-weight: 700; }
.operator-contact__item-value a { color: var(--color-primary-dark, #0D47A1); text-decoration: none; }
.operator-contact__item-value a:hover { color: var(--color-primary, #1565C0); }

/* ---------- блочная деталка объявления (эталон netchess /about/) ---------- */
/* работаем на всей ширине контейнера: основная колонка + сайдбар */
.article--blocks { max-width: none; }
.ad-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 22px;
  align-items: start;
}
.ad-layout--single { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1023px) { .ad-layout { grid-template-columns: minmax(0, 1fr); } }
/* sticky убран (29.08): при сайдбаре выше вьюпорта прилипание срезало
   шапку первого блока — колонка обычная */
.ad-side { min-width: 0; }
.ad-main { min-width: 0; }

/* сетка пронумерованных условий — карточки с номерами */
.ad-crit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 12px;
  margin-top: 4px;
}
.ad-crit {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 16px;
  border: 1px solid #E6EEF7;
  border-radius: 12px;
  background: #FBFDFF;
}
.ad-crit__n {
  flex: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #E3F2FD;
  color: #0D47A1;
  font-weight: 800;
  font-size: 14px;
  display: grid;
  place-items: center;
}
.ad-crit__t { font-size: 14.5px; line-height: 1.6; color: #1E293B; }
.ad-block {
  background: #fff;
  border: 1px solid #E6EEF7;
  border-radius: 18px;
  box-shadow: 0 2px 4px rgba(13, 71, 161, .06), 0 18px 38px -18px rgba(13, 71, 161, .28);
  margin-bottom: 18px;
  overflow: hidden;
}
.ad-block__head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 22px;
  background: #E3F2FD;
  border-bottom: 1px solid #D2E5F7;
  font-size: 16px;
  font-weight: 800;
  color: #0E2440;
}
.ad-block__head .icon { width: 18px; height: 18px; color: #0D47A1; flex: none; }
.ad-block__body { padding: 20px 22px; }
.ad-block__body > :first-child { margin-top: 0; }
.ad-block__body > :last-child { margin-bottom: 0; }
.ad-block__body p {
  color: #1E293B;
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 14px;
}
.ad-block__body li { color: #1E293B; }
.ad-side .ad-block__body p { font-size: 14.5px; line-height: 1.65; margin-bottom: 10px; color: #334155; }
.ad-side .ad-block__head { font-size: 15px; padding: 13px 18px; }
.ad-side .ad-block__body { padding: 16px 18px; }
.ad-side .ad-block { margin-bottom: 16px; }
/* таблица внутри блока — карточная: рамка, шапка, зебра, ховер строк */
.ad-block__body table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #E6EEF7;
  border-radius: 12px;
  overflow: hidden;
  font-size: 14.5px;
  margin: 0;
}
/* !important: контент из ворда несёт инлайновые чёрные бордеры на td —
   гасим их принудительно, оформление только наше */
.ad-block__body table td,
.ad-block__body table th {
  padding: 11px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid #F0F2F5 !important;
  color: var(--sr-ink-2);
  background: #fff;
  vertical-align: top;
}
.ad-block__body table td + td,
.ad-block__body table th + th { border-left: 1px solid #F4F6F9 !important; }
.ad-block__body table tr:last-child td { border-bottom: 0 !important; }
.ad-def b { color: #0F172A; font-weight: 700; }
.ad-block__body table tr:nth-child(even) td { background: #FBFDFF; }
.ad-block__body table tr:hover td { background: #F4F8FD; }
/* строка-шапка (нашли по «№»/«Наименование») */
.ad-block__body table tr.t-head td,
.ad-block__body table th {
  background: #F4F8FD !important;
  color: #0F172A;
  font-weight: 700;
  font-size: 13.5px;
}
/* строки до шапки (technические из исходного документа) — тихая подпись */
.ad-block__body table tr.t-pre td {
  background: #fff !important;
  color: #94A3B8;
  font-size: 12.5px;
  font-weight: 600;
  border-bottom: 1px solid #F0F2F5;
}
/* первая колонка перечней (№) — узкая, по центру, приглушённая */
.ad-block__body .ad-table-scroll table td:first-child {
  width: 64px;
  min-width: 48px;
  text-align: center;
  color: #94A3B8;
  font-variant-numeric: tabular-nums;
}
.ad-block__body .ad-table-scroll table tr.t-head td:first-child { color: #0F172A; }
.ad-table-scroll { overflow-x: auto; border-radius: 12px; }

/* блок «Документы»: список ссылок как файловые ряды */
.ad-block--files ul,
.ad-block--files ol { list-style: none; padding: 0; margin: 0; }
.ad-block--files li + li { margin-top: 10px; }
.ad-block--files p { margin: 0 0 10px; }
.ad-block--files p:last-child { margin-bottom: 0; }
.ad-block--files li a,
.ad-block--files p > a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  border: 1px solid #E6EEF7;
  border-radius: 12px;
  background: #FBFDFF;
  color: #0D47A1;
  font-weight: 600;
  font-size: 14.5px;
  text-decoration: none;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.ad-block--files li a::before,
.ad-block--files p > a::before {
  content: '';
  flex: none;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231565C0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9l-6-6z'/%3E%3Cpath d='M14 3v6h6M16 13H8M16 17H8'/%3E%3C/svg%3E");
}
.ad-block--files li a:hover,
.ad-block--files p > a:hover {
  border-color: #BBD4EE;
  background: #F0F7FF;
  box-shadow: 0 8px 18px -12px rgba(13, 71, 161, .35);
}

/* ---------- пагинация ---------- */
.news-pagination a,
.news-pagination span,
.modern-pager a,
.modern-pager span {
  border: 1px solid var(--sr-border);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 6px 14px -10px rgba(16, 24, 40, .25);
}

/* ---------- поиск в услугах ---------- */
.search-form input,
.search-form .input {
  border: 1.5px solid var(--sr-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 18px -14px rgba(16, 24, 40, .2);
}
.search-form input:focus { border-color: var(--color-primary, #1565C0); box-shadow: 0 0 0 4px rgba(21, 101, 192, .12); }

/* ---------- мелочи ---------- */
.page-title__h1 { font-weight: 800; }
.btn { border-radius: 12px; }
.btn--primary { box-shadow: 0 10px 22px -12px rgba(21, 101, 192, .65), inset 0 1px 0 rgba(255, 255, 255, .25); }

@media (max-width: 639px) {
  .sect-hero { border-radius: 16px; }
  .sect-hero__stats { grid-template-columns: repeat(2, 1fr); }
  .tender-card__head { flex-direction: column; }
  .tc-chips { justify-content: flex-start; }
}


/* ==================================================================
   SPKREFRESH v16 — разделы как на spk.netchess.ru
   (баннер: фото города + фирменный оверлей; карточки: единый стандарт)
   ================================================================== */

/* ---------- баннер разделов: фон 1:1 с баннером spk ---------- */
.sect-hero{
  background:linear-gradient(115deg,rgba(8,27,58,.95) 0%,rgba(13,71,161,.86) 55%,rgba(30,136,229,.62) 100%),
    url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat,#0D47A1;
}

/* ---------- карточки: единая рамка/тень ---------- */
.news-card,.tender-card,.service-card{
  border:1px solid #E6EEF7;border-radius:18px;
  box-shadow:0 10px 30px -12px rgba(15,23,42,.12);
  transition:box-shadow .25s ease,transform .2s ease;
}
.news-card:hover,.tender-card:hover,.service-card:hover{box-shadow:0 16px 42px -14px rgba(15,23,42,.17)}

/* ---------- статус-чипы: стандарт spk ---------- */
.tender-card__status,.service-card__status{
  display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;
  font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;
}
.tender-card__status--open,.service-card__status--open{color:#15803D;background:#F0FDF4}
.tender-card__status--open::before,.service-card__status--open::before{
  content:"";width:7px;height:7px;border-radius:50%;background:#22C55E;
  box-shadow:0 0 0 3px rgba(34,197,94,.16);animation:v16pulse 1.6s ease-in-out infinite;
}
.tender-card__status--completed,.service-card__status--completed{color:#64748B;background:#F1F5F9}
@keyframes v16pulse{0%,100%{opacity:1}50%{opacity:.45}}

/* тип-чип («Конкурс» и т.п.) */
.tender-card__category{
  display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;
  font-size:12px;font-weight:600;color:#475569;background:#F1F5F9;border:0;
}

/* ---------- даты/метрики: стеклянные блоки в один ряд ---------- */
.tc-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.tc-meta__cell{background:rgba(21,101,192,.05);border:1px solid #E1EDF9;border-radius:12px;padding:9px 12px}
.tc-meta__cell:only-child{grid-column:1/-1}
.tc-meta__label{font-size:11px;color:#4a6685;margin-bottom:2px}
.tc-meta__value{font-size:12.5px;font-weight:700;color:#0e2440}

/* объявления: чипы-даты -> стеклянные блоки с подписями */
.ads-card__chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.ads-card__chips .glass-chip{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;white-space:normal;
  background:rgba(21,101,192,.05);border:1px solid #E1EDF9;border-radius:12px;
  padding:9px 12px;font-size:12px;color:#0e2440;font-weight:700;
}
.ads-card__chips .glass-chip:only-child{grid-column:1/-1}
.ads-card__chips .glass-chip--blue,.ads-card__chips .glass-chip--warn{color:#0e2440;background:rgba(21,101,192,.05)}
.ads-card__chips .glass-chip svg,.ads-card__chips .glass-chip .icon{order:-2;width:14px;height:14px;color:#1565C0;flex:none}
.ads-card__chips .glass-chip--blue::before{content:"Дата публикации:";order:-1;font-weight:400;color:#4a6685}
.ads-card__chips .glass-chip--warn::before{content:"Дата завершения:";order:-1;font-weight:400;color:#4a6685}

/* ---------- организация ---------- */
.tender-card__org,.service-card__org{
  display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#94A3B8;
}
.tender-card__org svg,.service-card__org svg,.tender-card__org .icon,.service-card__org .icon{
  width:14px;height:14px;color:#1565C0;flex:none;
}

/* ---------- прижатый низ карточек ---------- */
.tender-card{display:flex;flex-direction:column}
.tender-card .tc-btn{margin-top:auto;align-self:flex-start}
.tender-card .tc-meta{margin-top:auto}
.tender-card .tc-meta+.tc-btn{margin-top:12px}

.news-card.ads-card{display:flex;flex-direction:column}
.news-card.ads-card .news-card__title{order:1}
.news-card.ads-card .ads-card__chips{order:2;margin-top:auto;padding-top:12px}
.news-card.ads-card .tc-btn{order:3;align-self:flex-start}

.service-card{display:flex;flex-direction:column}
.service-card:has(.service-card__dates) .service-card__dates{order:97;margin-top:auto;padding-top:12px}
.service-card:has(.service-card__dates) .service-card__org{order:98;margin-top:12px}
.service-card:not(:has(.service-card__dates)) .service-card__org{margin-top:auto;padding-top:12px}

/* даты услуг — тот же стеклянный блок */
.service-card__dates{display:grid;grid-template-columns:1fr;gap:8px}
.service-card__date-item{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;
  background:rgba(21,101,192,.05);border:1px solid #E1EDF9;border-radius:12px;
  padding:9px 12px;font-size:12px;color:#4a6685;
}
.service-card__date-icon{width:14px;height:14px;color:#1565C0;flex:none}
.service-card__date-value{font-weight:700;color:#0e2440}


/* ==================================================================
   SPKREFRESH v17 — баннер на всю ширину экрана (как на spk)
   ================================================================== */
html, body { overflow-x: clip; }
.section:has(.sect-hero) { padding-top: 0; }
.sect-hero{
  border-radius: 0;
  margin-top: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50% + clamp(22px, 4vw, 52px));
  padding-right: calc(50vw - 50% + clamp(22px, 4vw, 52px));
}
@media (max-width: 639px) {
  .sect-hero { border-radius: 0; }
}


/* ==================================================================
   SPKREFRESH v18 — объявления: чипы статуса/типа, даты 2-строчные,
   организация; кнопка «Подробнее» нормального размера
   ================================================================== */

/* отмена v16-правил для старых чипов-дат (теперь чипы = статус/тип) */
.ads-card__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.ads-card__chips .glass-chip{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  background:#F1F5F9;border:0;border-radius:999px;padding:5px 11px;
  font-size:12px;font-weight:600;color:#475569;
}
.ads-card__chips .glass-chip::before{content:none}
.ads-card__chips .glass-chip--green{color:#15803D;background:#F0FDF4}
.ads-card__chips .glass-chip--green::before{
  content:"";width:7px;height:7px;border-radius:50%;background:#22C55E;
  box-shadow:0 0 0 3px rgba(34,197,94,.16);animation:v16pulse 1.6s ease-in-out infinite;
}
.ads-card__chips .glass-chip--done{color:#64748B;background:#F1F5F9}

/* даты: два стеклянных блока, ВСЕГДА две строки (подпись / дата) */
.ads-card__dates{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:12px}
.ads-card__dates .adc{
  display:block;background:rgba(21,101,192,.05);border:1px solid #E1EDF9;
  border-radius:12px;padding:8px 12px;font-size:12px;color:#4a6685;line-height:1.45;
}
.ads-card__dates .adc .icon{width:14px;height:14px;vertical-align:-3px;margin-right:6px;color:#1565C0}
.ads-card__dates .adc b{display:block;margin-top:2px;font-size:12.5px;color:#0e2440}
.ads-card__dates .adc:only-child{grid-column:1/-1}

/* организация */
.ads-card__org{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#94A3B8;margin:12px 0 0}
.ads-card__org .icon{width:14px;height:14px;color:#1565C0;flex:none}

/* порядок/низ: DOM уже правильный — сброс v16-order */
.news-card.ads-card .news-card__title{order:0}
.news-card.ads-card .ads-card__chips{order:0;margin-top:0;padding-top:0}
.news-card.ads-card .tc-btn{order:0}

/* кнопка «Подробнее»: стандарт spk (не сжатая) */
.news-card .tc-btn,.tender-card .tc-btn,.service-card .tc-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:34px;padding:0 18px;border-radius:10px;font-size:13.5px;
  margin-top:12px;align-self:flex-start;
}


/* ==================================================================
   SPKREFRESH v19 — тип-чип на услугах; чипы услуг в строку
   ================================================================== */
.service-card__category{
  display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;
  font-size:12px;font-weight:600;color:#475569;background:#F1F5F9;border:0;
}
.service-card__main .service-card__status,
.service-card__main .service-card__category{margin-right:6px;margin-bottom:8px;vertical-align:middle}


/* ==================================================================
   SPKREFRESH v20 — деталка объявления: сайдбар СЛЕВА (Пресс-центр,
   приём заявок, контакты, документы), текст СПРАВА по блокам
   ================================================================== */
.ad-layout{grid-template-columns:340px minmax(0,1fr)}
.ad-layout--single{grid-template-columns:minmax(0,1fr)}
.ad-side{order:1}
.ad-main{order:2}
@media (max-width:1023px){
  .ad-layout{grid-template-columns:minmax(0,1fr)}
  .ad-main{order:1}   /* на мобиле сначала текст объявления */
  .ad-side{order:2}
}

/* Пресс-центр: строки контактов */
.ad-press .ad-contact{
  display:flex;align-items:center;gap:12px;
  padding:11px 0;border-bottom:1px solid #EEF3F9;
}
.ad-press .ad-contact:last-of-type{border-bottom:0}
.ad-contact__ico{
  flex:none;width:36px;height:36px;border-radius:11px;
  background:#E3F2FD;color:#0D47A1;display:grid;place-items:center;
}
.ad-contact__ico .icon{width:16px;height:16px}
.ad-contact__txt{min-width:0;display:block}
.ad-contact__label{
  display:block;font-size:11px;font-weight:700;color:#94A3B8;
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:1px;
}
.ad-contact__txt a,.ad-contact__txt b{
  font-size:14.5px;font-weight:700;color:#0E2440;text-decoration:none;
  overflow-wrap:anywhere;
}
.ad-contact__txt a:hover{color:#0D47A1;text-decoration:underline}

/* Пресс-центр: соцсети */
.ad-social{display:flex;gap:8px;margin-top:14px}
.ad-social a{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:rgba(21,101,192,.07);border:1px solid #E1EDF9;color:#0D47A1;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.ad-social a svg{width:17px;height:17px}
.ad-social a:hover{background:#0D47A1;color:#fff;transform:translateY(-2px)}


/* ==================================================================
   SPKREFRESH v25 — услуги: чипы как у конкурсов; деталка объявления:
   светлая шапка ad-lite; деталка новости: Пресс-центр слева;
   шрифты шапки деталки услуг
   ================================================================== */

/* услуги: строка чипов сверху карточки */
.service-card__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;width:100%}
.service-card__chips .service-card__status,
.service-card__chips .service-card__category{margin:0}

/* деталка объявления: светлая шапка-полоса (в стиле деталки услуг) */
.section:has(.ad-lite){overflow-x:clip}
.section:has(.ad-lite) > .container > .breadcrumbs{display:none}
.ad-lite{padding:24px 0 26px;background:linear-gradient(135deg,#E3F2FD 0%,#FFFFFF 100%);border-bottom:1px solid #E0E6ED;
  width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;margin-bottom:20px}
.ad-lite__crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:#6B7280;margin-bottom:16px}
.ad-lite__crumbs a{color:#1565C0;text-decoration:none}
.ad-lite__crumbs a:hover{text-decoration:underline}
.ad-lite__crumbs .icon{width:14px;height:14px;color:#9CA3AF;flex:none}
.ad-lite__top{display:flex;gap:20px;align-items:center}
.ad-lite__icon{width:56px;height:56px;border-radius:12px;background:#fff;color:#1565C0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 3px rgba(13,71,161,.10)}
.ad-lite__icon svg{width:30px;height:30px}
.ad-lite__body{min-width:0;flex:1}
.ad-lite__org{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#6B7280;margin-bottom:8px}
.ad-lite__org .icon{width:14px;height:14px;color:#1565C0;flex:none}
.ad-lite__title{font-size:clamp(20px,3vw,32px);font-weight:800;line-height:1.25;letter-spacing:-.01em;color:#0E2440;margin:0}
.ad-lite__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ad-lite__meta span{display:inline-flex;align-items:center;gap:6px;background:rgba(21,101,192,.05);border:1px solid #E1EDF9;border-radius:12px;padding:8px 13px;font-size:12.5px;color:#4a6685}
.ad-lite__meta .icon{width:14px;height:14px;color:#1565C0;flex:none}
.ad-lite__meta b{color:#0e2440;font-weight:700}
.ad-lite__meta span.ad-lite__chip--end{background:#FFF7ED;border-color:#FED7AA;color:#9A3412}
.ad-lite__meta span.ad-lite__chip--end .icon{color:#C2410C}
.ad-lite__meta span.ad-lite__chip--end b{color:#7C2D12}
@media(max-width:639px){.ad-lite__top{flex-direction:column;align-items:flex-start;gap:12px}}

/* деталка новости: раскладка с Пресс-центром слева */
.nd-layout{margin-top:6px}
.nd-layout .article{max-width:none;margin:0}

/* деталка услуги: шрифт заголовка и выравнивание шапки */
.service-header__title{font-weight:800;letter-spacing:-.01em;line-height:1.25}
@media(min-width:768px){.service-header__top{align-items:center}}


/* ---- v26: карточка услуги — grid-область для строки чипов (иначе сетка ломается) ---- */
.service-card{grid-template-areas:"chips chips" "icon main" "desc desc" "org org" "date date"}
.service-card__chips{grid-area:chips;width:auto}


/* ---- v28: сетка карточки услуг — специфичнее компонентного style.css (он грузится позже) ---- */
.services-grid .service-card,
#services-catalog .service-card,
#services-catalog1 .service-card{grid-template-areas:"chips chips" "icon main" "desc desc" "org org" "date date"}
.services-grid .service-card__chips,
#services-catalog .service-card__chips,
#services-catalog1 .service-card__chips{grid-area:chips;width:auto}


/* ---- v33: Пресс-центр закреплён при прокрутке (сайдбар деталок) ---- */
.ad-side{position:sticky;top:96px}
@media(max-width:1023px){.ad-side{position:static}}


/* ==================================================================
   SPKREFRESH v34 — новости и деталки: единый блочный стиль
   (селекторы усилены: css компонентов грузится позже этого файла)
   ================================================================== */

/* ---- раздел новостей: сетка и карточки ---- */
.news-grid.news-grid--c4,.news-grid.news-grid--c3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:1099px){.news-grid.news-grid--c4,.news-grid.news-grid--c3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:679px){.news-grid.news-grid--c4,.news-grid.news-grid--c3,.news-grid.news-grid--c2{grid-template-columns:1fr}}
.news-grid .news-card{border-radius:18px;border:1px solid #E6EEF7;background:#fff;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 2px 4px rgba(13,71,161,.06),0 18px 38px -18px rgba(13,71,161,.28);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.news-grid .news-card:hover{transform:translateY(-3px);border-color:#1565C0;box-shadow:0 24px 48px -30px rgba(10,37,64,.45)}
.news-grid .news-card__image{aspect-ratio:16/9;height:auto;background-size:cover;background-position:center;background-color:#E3F2FD;transition:transform .35s ease}
.news-grid .news-card:hover .news-card__image{transform:scale(1.03)}
.news-grid .news-card__body{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.news-grid .news-card__date{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:rgba(21,101,192,.05);border:1px solid #E1EDF9;border-radius:10px;padding:5px 10px;font-size:12px;font-weight:600;color:#4a6685;margin:0 0 10px}
.news-grid .news-card__date .icon{width:13px;height:13px;color:#1565C0;flex:none}
.news-grid .news-card__title{font-size:16px;font-weight:700;line-height:1.45;color:#0E2440;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-grid .news-card__excerpt{font-size:13.5px;line-height:1.6;color:#64748B;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-grid .news-card__more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:#1565C0;transition:gap .15s ease}
.news-grid .news-card__more .icon{width:14px;height:14px;flex:none}
.news-grid .news-card:hover .news-card__more{gap:9px}

/* пагинация новостей (bx-pagination) */
.news-pagination{display:flex;justify-content:center;margin-top:28px}
.news-pagination .bx-pagination-container{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:center}
.news-pagination li{list-style:none;margin:0}
.news-pagination .bx-pagination-container li a,.news-pagination .bx-pagination-container li span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border-radius:11px;border:1px solid #E0E6ED;background:#fff;font-size:14px;font-weight:600;color:#4a6685;text-decoration:none;transition:.15s;text-transform:none;letter-spacing:0}
.news-pagination .bx-pagination-container li a:hover{border-color:#1565C0;color:#1565C0;background:#F4F8FB;transform:none}
.news-pagination .bx-pagination-container li.bx-active span{background:linear-gradient(135deg,#1565C0,#1E88E5);border-color:transparent;color:#fff;box-shadow:0 4px 12px rgba(21,101,192,.3)}
.news-pagination .bx-pagination-container li.bx-pag-ellipsis span{border:0;background:none;min-width:24px}

/* ---- деталка новости ---- */
.nd-layout .article__title{font-size:clamp(22px,2.6vw,32px);font-weight:800;letter-spacing:-.01em;line-height:1.25;color:#0E2440;margin:0 0 14px}
.nd-layout .article__meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.nd-layout .article__meta-item{display:inline-flex;align-items:center;gap:6px;background:rgba(21,101,192,.05);border:1px solid #E1EDF9;border-radius:10px;padding:6px 11px;font-size:12.5px;font-weight:600;color:#4a6685}
.nd-layout .article__meta-item .icon{width:13px;height:13px;color:#1565C0;flex:none}
.nd-layout .article__hero{aspect-ratio:16/9;max-height:440px;background-size:cover;background-position:center;border-radius:18px;border:1px solid #E6EEF7;margin:0 0 18px}
.nd-layout .news-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
@media(max-width:679px){.nd-layout .news-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nd-layout .news-gallery__item{display:block;border-radius:12px;overflow:hidden;border:1px solid #E6EEF7;aspect-ratio:4/3}
.nd-layout .news-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.nd-layout .news-gallery__item:hover img{transform:scale(1.05)}

/* лайтбокс */
.nlb{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:4vh 20px;
  background:rgba(4,10,20,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.nlb.open{display:flex}
.nlb img{max-width:min(1100px,94vw);max-height:90vh;border-radius:14px;box-shadow:0 40px 120px -20px rgba(0,0,0,.7)}
.nlb__x{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.15s}
.nlb__x svg{width:18px;height:18px}
.nlb__x:hover{background:rgba(255,255,255,.22)}

/* ---- деталки услуг/конкурсов: service-block карточками ---- */
.service-content .service-main .service-block{background:#fff;border:1px solid #E6EEF7;border-radius:18px;overflow:hidden;
  box-shadow:0 2px 4px rgba(13,71,161,.06),0 18px 38px -18px rgba(13,71,161,.28);padding:18px 22px 20px}
.service-content .service-main .service-block + .service-block{margin-top:18px}
.service-content .service-main .service-block .service-block__title{background:#E3F2FD;border-bottom:1px solid #D2E5F7;border-top:0;
  margin:-18px -22px 16px;padding:14px 22px;border-radius:0;font-size:16px;font-weight:800;color:#0E2440;letter-spacing:-.01em}
.service-content .service-main .service-block + .service-block .service-block__title{border-top:0;padding-top:14px}

/* шаги «Как получить услугу» */
.service-content .process-steps{display:flex;flex-direction:column;position:relative}
.service-content .process-step{display:flex;gap:14px;position:relative;padding:0 0 18px}
.service-content .process-step:last-child{padding-bottom:0}
.service-content .process-step::before{content:"";position:absolute;left:16px;top:38px;bottom:0;width:2px;background:#E3F2FD}
.service-content .process-step:last-child::before{display:none}
.service-content .process-step__num{flex:none;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#1565C0,#1E88E5);color:#fff;font-weight:800;font-size:14px;display:grid;place-items:center;box-shadow:0 4px 10px rgba(21,101,192,.3);position:relative;z-index:1}
.service-content .process-step__title{font-size:14.5px;font-weight:700;color:#0E2440;margin:6px 0 4px}
.service-content .process-step__text{font-size:13.5px;line-height:1.6;color:#64748B;margin:0}

/* требования/документы-строки */
.service-content .requirement{display:flex;gap:10px;align-items:flex-start;background:#FBFDFF;border:1px solid #E6EEF7;border-radius:12px;padding:12px 14px}
.service-content .requirement + .requirement{margin-top:10px}
.service-content .requirement .requirement__icon{color:#1565C0;flex:none;width:18px;height:18px;margin-top:1px}
.service-content .requirement__text{font-size:14px;line-height:1.55;color:#1E293B}

/* таблицы внутри блоков — единый стандарт */
.service-content .service-main table:not(.lots-table):not(.kv-table):not(.ren-table){border-collapse:collapse;width:100%;font-size:14px}
.service-content .service-main table:not(.lots-table):not(.kv-table):not(.ren-table) td,
.service-content .service-main table:not(.lots-table):not(.kv-table):not(.ren-table) th{border:1px solid #EEF3F9;padding:10px 13px;text-align:left;vertical-align:top}
.service-content .service-main table:not(.lots-table):not(.kv-table):not(.ren-table) th,
.service-content .service-main table:not(.lots-table):not(.kv-table):not(.ren-table) thead td{background:#E3F2FD;font-weight:700;color:#0E2440;border-color:#D2E5F7}
.service-content .service-main table:not(.lots-table):not(.kv-table):not(.ren-table) tbody tr:nth-child(even) td{background:#FBFDFF}
.service-content .payment-details .payment-details__row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #EEF3F9;font-size:14px}
.service-content .payment-details .payment-details__row:last-child{border-bottom:0}
.service-content .payment-details__label{color:#64748B}
.service-content .payment-details__value{font-weight:700;color:#0E2440;text-align:right;overflow-wrap:anywhere;word-break:normal}

/* сайдбар: карточка заявки и мета */
.service-layout .service-aside .app-card{border-radius:18px;border:1px solid #E6EEF7;box-shadow:0 2px 4px rgba(13,71,161,.06),0 18px 38px -18px rgba(13,71,161,.28)}
.service-layout .app-card__meta-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.service-layout .app-card__meta-label{flex:0 0 46%;max-width:46%}
.service-layout .app-card__meta-value{word-break:normal;overflow-wrap:anywhere;text-align:right}
.service-layout .service-aside{position:sticky;top:96px;align-self:start}
@media(max-width:1023px){.service-layout .service-aside{position:static}}
.service-layout .service-aside .ad-press{margin-top:16px}

/* ---- компактные шапки деталок ---- */
section.service-header{padding:18px 0 20px}
section.service-header .service-header__title{font-size:clamp(19px,2.4vw,28px)}
.ad-lite{padding:18px 0 20px}
.ad-lite__title{font-size:clamp(19px,2.4vw,28px)}

/* ==== v35: единый баннер разделов (перенос 1-в-1 с spk.netchess, pagehead--hero) ==== */
.pagehead{padding:clamp(30px,3.4vw,50px) 0 clamp(8px,1vw,10px)}
.pagehead h1{font-size:clamp(26px,2.6vw,42px);max-width:26ch;margin:0}
.pagehead .plead{color:#64748B;font-size:16px;margin:12px 0 0;max-width:760px}
.crumbs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;font-weight:600;color:#64748B;margin-bottom:14px}
.crumbs a{color:inherit;text-decoration:none}
.crumbs svg{width:12px;height:12px;opacity:.55}
.pagehead--hero{position:relative;overflow:hidden;background:linear-gradient(115deg,rgba(8,27,58,.95) 0%,rgba(13,71,161,.86) 55%,rgba(30,136,229,.62) 100%),url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat,#0D47A1;padding:clamp(30px,3.6vw,52px) 0;margin-bottom:clamp(20px,2.6vw,32px)}
.pagehead--hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 400' preserveAspectRatio='none'%3E%3Cpath d='M0 0 L560 0 L400 400 L0 400 Z' fill='%23fff' fill-opacity='0.03'/%3E%3Cpath d='M0 0 L480 0 L320 400 L0 400 Z' fill='%23fff' fill-opacity='0.03'/%3E%3Cpath d='M0 300 Q360 268 720 290 Q1080 312 1440 280 L1440 400 L0 400 Z' fill='%23fff' fill-opacity='0.05'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.pagehead--hero>.container{position:relative}
.pagehead--hero h1{color:#fff}
.pagehead--hero .plead{color:rgba(255,255,255,.78)}
.pagehead--hero .plead a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.pagehead--hero .crumbs{color:rgba(255,255,255,.68)}
.pagehead--hero .crumbs a{color:rgba(255,255,255,.68)}
.pagehead--hero .crumbs a:hover{color:#fff}
.pagehead--hero .crumbs b{color:#fff;font-weight:700}
.pagehead--hero .crumbs svg{opacity:.5}
.pagehead--hero .eyebrow{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#BBDEFB;margin-bottom:10px}
.phgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:clamp(24px,4vw,56px);align-items:center}
/* стеклянный поиск */
.ads-search{display:flex;align-items:center;gap:10px;border:1px solid #E4EAF1;border-radius:13px;margin:0 0 14px;max-width:560px;transition:.15s}
.ads-search>svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ads-search input{flex:1;border:none;outline:none;background:none;font:inherit;font-size:15px;min-width:0}
.pagehead--hero .ads-search{margin:22px 0 0;max-width:640px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:5px 5px 5px 14px}
.pagehead--hero .ads-search:focus-within{border-color:rgba(255,255,255,.6);box-shadow:0 0 0 4px rgba(255,255,255,.1)}
.pagehead--hero .ads-search>svg{color:rgba(255,255,255,.8)}
.pagehead--hero .ads-search input{color:#fff;padding:9px 0}
.pagehead--hero .ads-search input::placeholder{color:rgba(255,255,255,.62)}
.btn-srch{flex:none;height:36px;padding:0 20px;border:none;border-radius:10px;background:#fff;color:#0D47A1;font-weight:700;font-size:14.5px;cursor:pointer;font-family:inherit;transition:background-color .15s}
.btn-srch:hover{background:#EAF1FF}
/* стеклянные стат-блоки */
.ph-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:20px 0 0;max-width:620px}
.ph-stat{display:flex;align-items:center;gap:12px;min-height:66px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);border-radius:16px;padding:10px 14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.ph-stat .ph-si{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18)}
.ph-si svg{width:20px;height:20px;display:block;color:#fff;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ph-st{min-width:0}
.ph-st b{display:block;font-size:19px;line-height:1;color:#fff;letter-spacing:-.01em}
.ph-st span{display:block;font-size:12px;line-height:1.3;color:rgba(255,255,255,.72);margin-top:4px}
/* правая стеклянная панель «Свежие …» */
.hnews{width:100%;border-radius:22px;padding:22px 22px 14px;position:relative;z-index:2;background:rgba(10,25,50,.5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.22);box-shadow:0 40px 90px -36px rgba(3,18,40,.65)}
.pagehead--hero .hnews{justify-self:end;max-width:none}
.hnews-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:6px}
.hnews-top b{color:#fff;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.hnews ul{list-style:none;margin:0;padding:0}
.hnews li{border-bottom:1px solid rgba(255,255,255,.12)}
.hnews li:last-child{border-bottom:none}
.hnews a.hn{display:flex;gap:10px;padding:11px 2px;font-size:14px;line-height:1.45;color:rgba(255,255,255,.92);transition:.15s;text-decoration:none}
.hnews a.hn:hover{color:#fff;transform:translateX(3px)}
.hnews a.hn svg{flex:none;width:15px;height:15px;margin-top:3px;color:#BBDEFB;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pagehead--hero .hn span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* фильтр-пилюли конкурсов внутри тёмного баннера */
.pagehead--hero .filter-bar{margin:18px 0 0}
.pagehead--hero .filter-pill{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.pagehead--hero .filter-pill:hover{border-color:rgba(255,255,255,.5);color:#fff}
.pagehead--hero .filter-pill.is-active{background:#fff;border-color:transparent;color:#0D47A1;box-shadow:0 8px 18px -8px rgba(4,20,45,.55)}
@media(max-width:1023px){.phgrid{grid-template-columns:minmax(0,1fr)}.pagehead--hero .hnews{display:none}}
@media(max-width:767px){.ads-search input{font-size:16px}}


/* ================= V36-ETALON: «Контакты для СМИ» в баннере новостей (spk.netchess) ================= */
.ph-media{max-width:760px;margin:18px 0 0;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);
  border-radius:16px;padding:12px 16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.ph-media-t{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:6px}
.ph-media-t svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ph-media p{margin:0 0 9px;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.75)}
.ph-media-rows{display:flex;flex-wrap:wrap;gap:8px}
.ph-media-rows>*{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:#fff}
.ph-media-rows svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
a.pm-l:hover{background:rgba(255,255,255,.24)}

/* ==== v38: нетчесс-эталон — карточки новостей, белые шапки, Пресс-центр справа, стеклянные плашки ==== */
/* внутренности карточек (эталон spk.netchess v46) */
.ads-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}
.ads-title{margin:0 0 10px;font-size:15px;line-height:1.5;font-weight:600;color:#1E293B;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ads-title a{color:inherit;text-decoration:none}
.ads-title a:hover{color:#0D47A1}
.ads-desc{margin:0 0 12px;font-size:13.5px;line-height:1.6;color:#64748B;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ads-dates{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.ads-dates>span{display:inline-flex;align-items:center;gap:6px;background:rgba(21,101,192,.05);border:1px solid #E1EDF9;border-radius:12px;padding:9px 13px;font-size:12.5px;color:#4a6685;box-shadow:0 4px 10px -7px rgba(13,71,161,.28)}
.ads-dates .ic,.ads-org .ic{width:14px;height:14px;color:#1565C0;flex:none}
.ads-dates b{color:#0e2440;font-weight:700}
.ads-org{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#94A3B8;margin:0 0 14px}
.news-card.ads-card{display:flex;flex-direction:column}
.news-card.ads-card .ads-bot{margin-top:auto;display:flex;flex-direction:column}
.news-card.ads-card .tc-btn{margin-top:0}
/* шапка деталки конкурса/услуги: белая карточка с тенью, без вырывания на 100vw */
section.service-header{width:auto;position:static;left:auto;right:auto;margin:0 0 22px;padding:22px 26px;
  background:#fff;border:1px solid #E4EAF1;border-radius:20px;
  box-shadow:0 1px 2px rgba(13,71,161,.05),0 14px 30px -18px rgba(13,71,161,.22)}
section.service-header .service-header__icon{background:#E3F2FD;color:#1565C0;box-shadow:none}
/* шапка деталки объявления: та же белая карточка */
.ad-lite{width:auto;position:static;left:auto;right:auto;margin:0 0 22px;padding:22px 26px;
  background:#fff;border:1px solid #E4EAF1;border-radius:20px;
  box-shadow:0 1px 2px rgba(13,71,161,.05),0 14px 30px -18px rgba(13,71,161,.22)}
.ad-lite__icon{background:#E3F2FD;box-shadow:none}
/* шапки блоков: белые с мягкой нижней тенью (эталон .ob-head netchess v40) */
.ad-block__head{background:#fff;border-bottom:1px solid #EEF3F9;position:relative;box-shadow:0 10px 24px -18px rgba(13,71,161,.45)}
.ad-side .ad-block__head{background:#fff}
.service-content .service-main .service-block .service-block__title{background:#fff;border-bottom:1px solid #EEF3F9;position:relative;box-shadow:0 10px 24px -18px rgba(13,71,161,.45)}
/* сайдбар (Пресс-центр) справа в деталках объявлений и новостей */
.ad-layout{grid-template-columns:minmax(0,1fr) 340px}
.ad-layout>.ad-side{order:2}
.ad-layout--single{grid-template-columns:minmax(0,1fr)}
@media (max-width:1023px){.ad-layout{grid-template-columns:minmax(0,1fr)}}
/* стеклянная плашка-eyebrow на баннерах (эталон netchess v35) */
.pagehead--hero .eyebrow{display:inline-block;padding:5px 16px;border-radius:999px;color:#fff;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* v38.1: главная колонка деталки всегда слева (в css есть старые order-пары, где у main тоже order:2) */
.ad-layout>*:not(.ad-side){order:1}

/* v38.2: сетка новостей 3 колонки — компонентный style.css грузится позже и перебивал .ads-grid */
.news-grid.ads-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:1099px){.news-grid.ads-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:679px){.news-grid.ads-grid{grid-template-columns:1fr}}
