@import url("/assets/css/ge-fonts-raleway.css");
@import url("/assets/css/ge-fonts-jost.css");
@import url("/assets/css/ge-fonts-montserrat.css");
/* NEWS: простыня и карточки — всё из пресета theme-news */
html body.theme-news .wrap > section.grid { 
  background: var(--page-inner-bg) !important;
  min-height: var(--page-min-h) !important;
}
html body.theme-news .wrap #news-grid > .card{
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}
html body.theme-news .wrap #news-grid .tile,
html body.theme-news .wrap #news-grid .panel,
html body.theme-news .wrap #news-grid .card .card{
  border-radius: var(--inner-radius) !important;
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
}

html body.theme-news .wrap,
html body.theme-news main,
html body.theme-news .site-header,
html body.theme-news .site-footer{
  max-width: var(--main-max-width) !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Парфюмерия — основная и внутренние карточки */
html body.theme-catalog .wrap > main > section:first-of-type,
html body.theme-catalog .wrap > section.card:first-of-type {
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}
html body.theme-catalog .wrap .tile,
html body.theme-catalog .wrap .panel {
  border-radius: var(--inner-radius) !important;
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
}

/* Сотрудничество — min-height */
html body.theme-partners-join .wrap > main,
html body.theme-partners-join .wrap > section.grid {
  min-height: var(--page-min-h) !important;
}

/* Для партнёров — сетка карточек */
.cards-3{
  display:grid; gap:16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px){
  .cards-3{ grid-template-columns: 1fr; }
}
.portal-card{ padding:16px; display:block; border-radius:var(--inner-radius); }

/* Единый футер с подложкой-«простынёй» */
html body .wrap > .site-footer{
  background: var(--page-inner-bg) !important;
}
/* Парфюмерия: основная и внутренние карточки */
html body.theme-catalog .wrap > main > section:first-of-type,
html body.theme-catalog .wrap > section.card:first-of-type {
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}
html body.theme-catalog .wrap .tile,
html body.theme-catalog .wrap .panel {
  border-radius: var(--inner-radius) !important;
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
}

/* Стать партнёром — основная карточка + высота */
html body.theme-partners-join .wrap > main > section:first-of-type,
html body.theme-partners-join .wrap > section.card:first-of-type {
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}
html body.theme-partners-join .wrap > main,
html body.theme-partners-join .wrap > section.grid {
  min-height: var(--page-min-h) !important;
}

/* Для партнёров — основная карточка + внутренние плитки */
html body.theme-partners-portal .wrap > main > section:first-of-type,
html body.theme-partners-portal .wrap > section.card:first-of-type {
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}
html body.theme-partners-portal .wrap .tile,
html body.theme-partners-portal .wrap .panel {
  border-radius: var(--inner-radius) !important;
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
}

/* === Парфюмерия (общая тема сайта) === */
html body .wrap > section.card#catalog{
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
  padding: 16px !important;
}
/* Стать партнёром — карточка-контейнер и прозрачный фон под кнопкой */
html body .wrap > section.card.partner-join,
html body .wrap > main > section.partner-join{
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}
html body .wrap .apply-cta-wrap{
  background: transparent !important;
}
#catalog .catalog-toc{
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px;
  margin: 0 0 12px 0;
}
#catalog .catalog-toc a{
  display:block; padding:6px 10px; border-radius:10px;
  background: color-mix(in oklab, var(--inner-bg) 35%, transparent);
  border: 1px solid var(--inner-border); text-decoration:none;
}
#catalog .catalog-grid{
  display:grid; gap:16px;
  grid-template-columns: 1fr 1fr;
}
#catalog .product-card{
  border-radius: var(--inner-radius);
  background: var(--inner-bg);
  border: 1px solid var(--inner-border);
  padding: 12px;
}
@media (max-width: 880px){
  #catalog .catalog-toc{ grid-template-columns: 1fr; }
  #catalog .catalog-grid{ grid-template-columns: 1fr; }
}

/* Футер повторяет цвет «простыни» */
html body .site-footer{
  background: var(--page-inner-bg) !important;
  border-top: 1px solid var(--main-border) !important;
  padding: .8rem 16px !important;
}
html body .site-footer > div{
  font-size: .9rem; opacity: .9;
}
/*
Файл: /assets/css/ge-tune.css (v3)
Назначение: единая «панель управления» внешним видом:
  — баннер/шапка, подложка, «плашка» вокруг меню, кнопки,
  — основная карточка страницы и внутренние карточки,
  — «простыня» (внутренний фон области контента).
Как пользоваться:
  1) Меняй значения переменных ниже (все цвета — rgb).
  2) Для страницы «Новости» свои значения переопределены в body.theme-news.
  3) Ничего в HTML менять не нужно.
*/

/* =====================================================================
   # 1. ПЕРЕМЕННЫЕ (по умолчанию для всех страниц)
   ------------------------------------------------------------------ */

:root,
body.theme-default {
  /* === Шапка / баннер === */
  /*  1. Отступ баннера сверху (− поднимает, + опускает) */
  --banner-top:               -6px;
  /*  2. Зазор между баннером и подложкой (+ больше зазор) */
  --underlay-gap-top:         -21px;
  /*  3. Минимальная высота подложки под шапкой */
  --underlay-min-height:      54px;
  /*  4. Радиус подложки */
  --underlay-radius:          16px;
  /*  5. Цвет фона подложки (rgba) */
  --underlay-bg:              rgba(221, 188, 174, 0.95);
  /*  6. Цвет рамки подложки (rgba) */
  --underlay-border:          rgba(214, 120, 65, 0.9);

  /* === Плашка вокруг группы кнопок === */
  /*  7. Сдвиг плашки внутри подложки (− вверх, + вниз) */
  --rail-shift-top:           0px;
  /*  8. «Толщина» плашки по вертикали */
  --rail-pad-y:               6px;
  /*  9. Радиус плашки */
  --rail-radius:              14px;
  /* 10. Цвет фона плашки (rgb) */
  --rail-bg:                  rgb(221, 188, 174);
  /* 11. Цвет рамки плашки (rgb) */
  --rail-border:              rgb(221, 188, 174);

  /* === Кнопки навигации === */
  /* 12. Высота кнопки */
  --btn-height:               36px;
  /* 13. Радиус кнопки */
  --btn-radius:               12px;
  /* 14. Цвет рамки кнопки (rgba) */
  --btn-border:               rgba(214, 120, 65, 0.8);
  /* 15. Цвет фона кнопки (обычное) */
  --btn-bg:                   rgb(239, 214, 209);
  /* 16. Цвет фона при наведении */
  --btn-bg-hover:             rgb(236, 180, 158);

  /* === ОСНОВНАЯ карточка страницы === */
  /* 17. Отступ основной карточки сверху (от подложки) */
  --main-gap-top:             18px;
  /* 18. Максимальная ширина основной карточки */
  --main-max-width:           1220px;
  /* 19. Радиус основной карточки */
  --main-radius:              14px;
  /* 20. Цвет фона основной карточки (rgb) */
  --main-bg:                  rgb(221, 188, 174);   /* фиолетово-синий */
  /* 21. Цвет рамки основной карточки (rgb) */
  --main-border:              rgb(214, 120, 65);

  /* === Внутренние карточки (внутри основной) === */
  /* 22. Радиус внутренних карточек */
  --inner-radius:             12px;
  /* 23. Цвет фона внутренних карточек (rgb) */
  --inner-bg:                 rgb(230, 205, 199); /* розово-лиловый */
  /* 24. Цвет рамки внутренних карточек (rgb) */
  --inner-border:             rgb(214, 120, 65);

  /* === Фоны страницы === */
  /* 25. Общий фон всей страницы («края», за пределами .wrap) */
  --page-bg:                  rgb(239, 214, 209);
  /* 26. ВНУТРЕННЯЯ «простыня» — фон внутри .wrap (под основной карточкой) */
  --page-inner-bg:            rgb(239, 214, 209); /* светлая простыня */

  /* Доп. горизонтали + тени */
  --btn-pad-x:                14px;
  --rail-pad-x:               10px;
  --underlay-shadow:          0 2px 10px rgba(0, 0, 0, 0.06);

  /* 27. Минимальная высота контента (vh), чтобы пустые страницы не сжимались */
  --page-min-h:               72vh;
}

/* =====================================================================
   # 1.1. ПРЕСЕТ ДЛЯ СТРАНИЦЫ «НОВОСТИ»
   — здесь переопределяем только отличающиеся параметры.
   ------------------------------------------------------------------ */

/* -------------------------------------------------------------
   1.2 ПРЕСЕТ ДЛЯ СТРАНИЦЫ «НОВОСТИ»
   Управляет ТОЛЬКО страницей с <body class="theme-news">
   Простыня, основная карточка, внутренние карточки.
----------------------------------------------------------------*/




  /* === NEWS: контейнер и карточки — реальная ширина и цвета из пресета === */
  html body.theme-news .wrap > section.grid{
    background: var(--page-inner-bg) !important;
    min-height: var(--page-min-h) !important;
  }

  html body.theme-news .wrap,
  html body.theme-news .wrap > section.grid,
  html body.theme-news .site-header,
  html body.theme-news .site-footer{
    max-width: var(--main-max-width) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  html body.theme-news #news-grid > .card:first-child{
    margin: var(--main-gap-top) auto 24px !important;
    max-width: var(--main-max-width) !important;
    border-radius: var(--main-radius) !important;
    background: var(--main-bg) !important;
    border: 1px solid var(--main-border) !important;
  }

  html body.theme-news #news-grid .tile,
  html body.theme-news #news-grid .panel,
  html body.theme-news #news-grid .card .card{
    border-radius: var(--inner-radius) !important;
    background: var(--inner-bg) !important;
    border: 1px solid var(--inner-border) !important;
  }

/* =====================================================================
   # 2. ПРИВЯЗКА К РАЗМЕТКЕ (усиленная специфичность + !important)
   ------------------------------------------------------------------ */

/* === Баннер (картинка в шапке) === */
html body .wrap > header .header-image img{
  margin-top: var(--banner-top) !important;
  border-radius: 12px !important;
  display:block !important;
  width:100% !important; height:auto !important;
}

/* -------------------------------------------------------------
   2.x NEWS: сильное связывание разметки Новостей с переменными
   Цели:
   - простыня под основной карточкой
   - основная карточка (первая .card в #news-grid)
   - внутренние карточки (tile/panel внутри ленты)
----------------------------------------------------------------*/

/* Простыня под карточкой Новостей */
html body.theme-news .wrap > section.grid {
  background: var(--page-inner-bg) !important;
  min-height: var(--page-min-h) !important;
}

/* Основная карточка Новостей (сам большой блок ленты) */
html body.theme-news .wrap #news-grid > .card {
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}

/* Внутренние карточки Новостей (плашки внутри ленты) */
html body.theme-news .wrap #news-grid .tile,
html body.theme-news .wrap #news-grid .panel,
html body.theme-news .wrap #news-grid .card .card {
  border-radius: var(--inner-radius) !important;
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
}

/* -------------------------------------------------------------
   2.y ОБЩЕЕ: «основная карточка» для других страниц
   Цели:
   - там где верстка не помечена .card — ловим первый контентный
     контейнер и применяем к нему стили основной карточки.
   Применится только когда на странице нет нормальной .card.
----------------------------------------------------------------*/
html body .wrap > main > section.card:first-of-type,
html body .wrap > section.card:first-of-type,
html body .wrap > section.grid > .card:first-of-type,
/* fallback для страниц, где контент без .card */
html body .wrap > main > section:first-of-type:not(.head-row):not(.header-underlay),
html body .wrap > .box:first-of-type {
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}

/* Внутренние карточки на «обычных» страницах (плитки/панели) */
html body .wrap .card .card,
html body .wrap .content .tile,
html body .wrap .content .panel {
  border-radius: var(--inner-radius) !important;
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
}

/* === Подложка под шапкой (блок с меню и заголовком) === */
html body .wrap > header .head-row{
  background: var(--underlay-bg) !important;
  border: 1px solid var(--underlay-border) !important;
  border-radius: var(--underlay-radius) !important;
  box-shadow: var(--underlay-shadow) !important;

  margin: var(--underlay-gap-top) auto 12px !important;
  min-height: var(--underlay-min-height) !important;

  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  column-gap: 12px !important;
  padding: 8px 14px !important;
}

/* Заголовок справа */
html body .wrap > header .head-row h1{
  grid-column: 3 !important;
  margin: 0 0 0 auto !important;
  white-space: nowrap !important;
}

/* === Группа кнопок — «плашка без воздуха» === */
html body .wrap > header .head-row .nav.nav--new{
  grid-column: 1 !important;

  position: relative !important;
  top: var(--rail-shift-top) !important;
  margin-left: 14px !important;

  display: inline-flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  width: max-content !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  z-index: 0 !important;
}

/* Плашка вокруг кнопок */
html body .wrap > header .head-row .nav.nav--new::before{
  content: "";
  position: absolute;
  z-index: -1;
  top:    calc(-1 * var(--rail-pad-y));
  bottom: calc(-1 * var(--rail-pad-y));
  left:   calc(-1 * var(--rail-pad-x));
  right:  calc(-1 * var(--rail-pad-x));
  background: var(--rail-bg);
  border: 1px solid var(--rail-border);
  border-radius: var(--rail-radius);
}

/* Сами кнопки */
html body .wrap > header .head-row .nav.nav--new a{
  display: inline-flex !important;
  align-items: center !important;
  height: var(--btn-height) !important;
  min-height: var(--btn-height) !important;
  padding: 0 var(--btn-pad-x) !important;
  border-radius: var(--btn-radius) !important;
  background: var(--btn-bg) !important;
  border: 1px solid var(--btn-border) !important;
  text-decoration: none !important;
  line-height: 1 !important;
}
html body .wrap > header .head-row .nav.nav--new a:hover{
  background: var(--btn-bg-hover) !important;
}

/* === «Простыня» — фон области контента внутри .wrap === */
html body .wrap{
  background: var(--page-inner-bg) !important;
}

/* === Контент: минимальная высота, чтобы не «обрывалось» === */
html body .wrap > section.grid{
  min-height: var(--page-min-h) !important;
}

/* === ОСНОВНАЯ КАРТОЧКА (унифицированные селекторы для всех страниц) ===
   Ловим основные случаи разметки сайта. */
main .card,
.content .card,
.content > .card,
.page-content .card,
.page-content > .card,
.grid > .card,
section.grid > .card,
section.card,
html body .wrap .page-content > .panel:first-child, /* если основная — это .panel на уровне страницы */
html body .wrap .content      > .panel:first-child {
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}

/* === ВНУТРЕННИЕ КАРТОЧКИ (внутри основной) === */
.card .card,
.card .tile,
.card .panel,
.content .tile,
.content .panel,
.card > .tile,
.card > .panel,
.card > .card,
.card .card {
  border-radius: var(--inner-radius) !important;
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
}

/* === Общий фон всей страницы (за пределами .wrap) === */
html body{ background: var(--page-bg) !important; }

/* Если вдруг два .nav подряд — показываем только первый */
html body .wrap > header .head-row > .nav.nav--new ~ .nav.nav--new{
  display: none !important;
}

/* === Точечный фикс ширины для Новости, если где-то пережимает overrides.css === */
html body.theme-news .wrap,
html body.theme-news main,
html body.theme-news .site-header,
html body.theme-news .site-footer{
  max-width: var(--main-max-width) !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* === HOTFIX 2025-09-XX: layout + theming === */

/* Footer = цвет простыни */
html body .site-footer{
  background: var(--page-inner-bg) !important;
  border-top: 1px solid var(--main-border) !important;
  padding: .8rem 16px !important;
}
html body .site-footer > div{ font-size:.9rem; opacity:.9 }

/* Новости: ширина и цвета из пресета */
html body.theme-news .wrap > section.grid{
  background: var(--page-inner-bg) !important;
  min-height: var(--page-min-h) !important;
}
html body.theme-news .wrap,
html body.theme-news .wrap > section.grid,
html body.theme-news .site-header,
html body.theme-news .site-footer{
  max-width: var(--main-max-width) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}
html body.theme-news #news-grid > .card:first-child{
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}
html body.theme-news #news-grid .tile,
html body.theme-news #news-grid .panel,
html body.theme-news #news-grid .card .card{
  border-radius: var(--inner-radius) !important;
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
}

/* Сотрудничество/прочие: не обрывать страницу */
html body .wrap > section.grid,
html body .wrap > main > section{
  min-height: var(--page-min-h) !important;
}

/* Для партнёров: три карточки в ряд + одинаковая высота */
html body .cards-3{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
}
html body .cards-3 > .card{
  display: flex; flex-direction: column;
  border-radius: var(--inner-radius);
  background: var(--inner-bg);
  border: 1px solid var(--inner-border);
  padding: 14px;
}

/* Парфюмерия: если нет .card — оформить первый <section> как основную карточку */
html body .wrap > main > section:first-of-type{
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
  padding: 16px !important;
}
/* END HOTFIX 2025-09-XX */

/* =======================================================================
   PERFUME PAGE — привязка к «основному» пресету
   Управляется переменными раздела "Основная карточка" и "Внутренние карточки":
   --main-gap-top, --main-max-width, --main-radius, --main-bg, --main-border
   --inner-radius, --inner-bg, --inner-border
   ----------------------------------------------------------------------- */

/* 1) Контейнер страницы: ширина и высота */
html body.theme-perfume .wrap{
  max-width: var(--main-max-width) !important; /* ширина как в пресете */
  margin-left: auto !important;
  margin-right: auto !important;
}
html body.theme-perfume .wrap > section.grid{
  min-height: var(--page-min-h) !important;    /* чтобы «пустые» страницы не сжимались */
}

/* 2) ОСНОВНАЯ КАРТОЧКА страницы Парфюмерии */
html body.theme-perfume #perfume-grid > .card,
html body.theme-perfume #perfume-grid > .card.card--main{
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}

/* 3) ВНУТРЕННИЕ КАРТОЧКИ внутри основной */
html body.theme-perfume #perfume-grid .card .card,
html body.theme-perfume #perfume-grid .tile,
html body.theme-perfume #perfume-grid .panel{
  border-radius: var(--inner-radius) !important;
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
}

/* 4) Баннер и подложка берутся из общих правил ge-tune.css,
      дополнительных переопределений для Парфюмерии не требуется. */

/* ===== Парфюмерия/Правила: одна ОСНОВНАЯ карточка + сетка 2 колонки ===== */

/* Делаем саму секцию «главной карточкой» */
html body.theme-rules .wrap > section#rules-grid{
  max-width: var(--main-max-width) !important;
  width: 100% !important;
  margin: var(--main-gap-top) auto 24px !important;
  min-height: var(--page-min-h) !important;

  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
  border-radius: var(--main-radius) !important;
  padding: 16px !important;

  display: grid !important;
  gap: 16px !important;
  grid-template-columns: 1fr !important;    /* мобилка */
}

/* Десктоп: две колонки */
@media (min-width: 992px){
  html body.theme-rules .wrap > section#rules-grid{
    grid-template-columns: 1fr 1fr !important;
  }
}

/* Прямые дети секции — внутренние карточки одинакового вида */
html body.theme-rules section#rules-grid > .card,
html body.theme-rules section#rules-grid > .tile,
html body.theme-rules section#rules-grid > .panel,
html body.theme-rules section#rules-grid > article,
html body.theme-rules section#rules-grid > div:not([class*="head"]):not([id*="head"]){
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
  border-radius: var(--inner-radius) !important;
  padding: 16px !important;
}

/* Первая карточка (Вступление) — на всю ширину */
html body.theme-rules section#rules-grid > *:first-child{
  grid-column: 1 / -1 !important;
}

/* =======================================================================
   NEWS FINAL WIDTH NORMALIZER (авторитетный финишер для страницы "Новости")
   Цель: уравнять ширину/отступы с базовыми из overrides.css.
   Если понадобится другое значение — меняйте 1200 → нужное.
   ----------------------------------------------------------------------- */
html body.theme-news .wrap,
html body.theme-news main,
html body.theme-news .site-header,
html body.theme-news .site-footer{
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}
/* ======================================================================= */

/* 98. Partners — CTA под кнопкой:
   убираем белую полосу, фон как у «простыни» (внутренний фон wrap) */
html body .apply-cta-wrap,
html body .apply-cta,
html body .partners-cta,
html body .cta-apply,
html body .apply-cta-row,
html body [data-cta="apply"],
html body #apply-cta {
  background: var(--page-inner-bg) !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* 98a. Partners (tim-1) — убрать белую полосу под CTA
   Делаем фон под блоком CTA таким же, как «простыня» на странице.
   Специфичность выше, чем у старого правила с transparent. */
html[data-slug="tim-1"] body .wrap .apply-cta-wrap,
html[data-slug="tim-1"] body .wrap .apply-cta,
html[data-slug="tim-1"] body .wrap .partners-cta,
html[data-slug="tim-1"] body .wrap .cta-apply,
html[data-slug="tim-1"] body .wrap .apply-cta-row,
html[data-slug="tim-1"] body .wrap [data-cta="apply"],
html[data-slug="tim-1"] body .wrap #apply-cta{
  background: var(--page-inner-bg) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 98b. Guides view — верхняя карточка с CTA: прозрачный фон, без рамки/тени */
html body:not(.theme-news) .wrap > .card:first-of-type{ background: transparent !important; border:0 !important; box-shadow:none !important; }
/* 99. Guides view — контент как «внутренняя карточка» внутри основной */
html body .card.guide-article #guide-body{
  display:block !important;
  margin: 0 !important;
  border-radius: var(--inner-radius) !important;
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
  padding: 16px !important;
}
html body .card.guide-article #guide-body > :first-child{ margin-top: 0 !important; }
html body .card.guide-article #guide-body > :last-child{  margin-bottom: 0 !important; }
/* 99a. Guides view — .card.guide-article = «основная карточка» */
html body .wrap > .card.guide-article{
  margin: var(--main-gap-top) auto 24px !important;
  max-width: var(--main-max-width) !important;
  border-radius: var(--main-radius) !important;
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
  padding: 16px !important;
}
/* 99b. Guides view — скрыть встроенные формы регистрации внизу текста */
html body .card.guide-article #guide-body #ev-form,
html body .card.guide-article #guide-body #partner-apply-form,
html body .card.guide-article #guide-body form[data-apply-form],
html body .card.guide-article #guide-body form[action*="partner-apply"],
html body .card.guide-article #guide-body form[action*="apply"]{
  display: none !important;
}
html body .card.guide-article #guide-body #ev-subtitle{ display:none !important; }

/* Если после скрытия остался одиночный заголовок — убираем нижний отступ */
html body .card.guide-article #guide-body h3:last-child{ margin-bottom: 0 !important; }
/* 99c. Guides view — скрываем встроенную форму регистрации внизу текста (НЕ модалку) */

/* Прячем все формы внутри текста гайда */
html body .card.guide-article #guide-body form{
  display: none !important;
}

/* Если форма в отдельной карточке — прячем всю карточку/секцию */
html body .card.guide-article #guide-body .card:has(form),
html body .card.guide-article #guide-body section.card:has(form){
  display: none !important;
}

/* Служебный подзаголовок формы */
html body .card.guide-article #guide-body #ev-subtitle{
  display: none !important;
}
/* 99d. Guides view — подвал и промежутки */

/* 1) Убираем лишний зазор: основная карточка ↔ подвал */
html body .wrap > .card.guide-article{ margin-bottom: 8px !important; }
html body .wrap > .site-footer{ margin-top: 6px !important; }

/* Перестраховка: если после карточки есть разделитель — скрыть */
html body .wrap > .card.guide-article + .hr,
html body .wrap > .card.guide-article + .line,
html body .wrap > .card.guide-article + .separator,
html body .wrap > .card.guide-article + hr{ display:none !important; }

/* 2) Сжимаем расстояние вокруг верхней CTA-карточки (кнопка «Подать заявку») */
html body .wrap > header + .card:first-of-type{
  margin-top: 6px !important;   /* было 12+ */
  margin-bottom: 8px !important;/* было 12 */
  padding: 6px 10px !important; /* чуть компактнее */
}

/* safety: цвет под любой тонкой «полосой» берём как у «простыни» */
html body .wrap > .hr,
html body .wrap > .line,
html body .wrap > .separator,
html body .wrap > hr{
  background: var(--page-inner-bg) !important;
  border: 0 !important;
  height: 0 !important;
}
/* 99e. Guides view — полосы/подвал и плотнее CTA */

/* A) Подвал: убираем «белую полосу» над ним и любые псевдо-подложки */
html body .wrap > footer,
html body .wrap > footer.site-footer{
  background: var(--page-inner-bg) !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-top: 6px !important;
  padding: .8rem 16px !important;
}
html body .wrap > footer::before,
html body .wrap > footer::after{ content:none !important; display:none !important; }

/* Соседние разделители не показывать вообще */
html body .wrap > footer + .hr,
html body .wrap > footer + .line,
html body .wrap > footer + .separator,
html body .wrap > footer + hr{ display:none !important; height:0 !important; }

/* B) Сжимаем расстояние вокруг верхней CTA-карточки ещё на ~20px */
html body .wrap > header .head-row{ margin-bottom: 4px !important; }       /* было 12px */
html body .wrap > header + .card:first-of-type{
  margin-top: 0 !important;          /* было 6–12px */
  margin-bottom: 4px !important;     /* стало плотнее к основной карточке */
  padding: 4px 8px !important;       /* компактнее сама плашка с кнопкой */
}

/* Основная карточка чуть ближе к CTA */
html body .wrap > .card.guide-article{
  margin-top: 10px !important;       /* вместо 18px по пресету */
  margin-bottom: 8px !important;
}
/* === 99f. Partners view — низ страницы и CTA === */

/* A) Подвал: цвет «простыни», без линий/подложек */
html body .wrap > footer,
html body .wrap > footer.site-footer{
  background: var(--page-inner-bg) !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-top: 6px !important;
  padding: .8rem 16px !important;
}
html body .wrap > footer::before,
html body .wrap > footer::after{ content:none !important; display:none !important; }

/* Соседние разделители возле подвала — скрыть */
html body .wrap > footer + .hr,
html body .wrap > footer + .line,
html body .wrap > footer + .separator,
html body .wrap > footer + hr{ display:none !important; height:0 !important; }

/* B) Если какая-то «полоска» рисуется последним элементом — гасим её.
   (подойдут pad-fix/spacer/line/hr/separator и т.п.) */
html body .wrap > :is(.hr,.line,.separator,hr,.spacer,.bottom-spacer,.bottom-gap,#pad-fix,[data-pad-fix],[data-role="spacer"],.pad-fix):last-child{
  display:none !important; height:0 !important; border:0 !important; box-shadow:none !important; background:transparent !important;
}

/* C) CTA-карточка — ещё плотнее кверху/вниз (~5 мм вверх, ~2 мм вниз) */
html body .wrap > header .head-row{ margin-bottom: 0 !important; }
html body .wrap > header + .card:first-of-type{
  margin-top: -20px !important;   /* было 0 → поднимаем на ~5 мм */
  margin-bottom: 0 !important;    /* ещё -4px от нашего прошлого значения */
  padding: 4px 8px !important;
}
/* Основная карточка ближе к CTA (ещё -2 мм) */
html body .wrap > .card.guide-article{ margin-top: 2px !important; }
/* 99g. CTA — опустить на ~4мм (≈15px) от предыдущего положения */
html body .wrap > header + .card:first-of-type{
  margin-top: -5px !important;   /* было -20px */
  /* нижний отступ оставляем как есть (0) */
}
/* 99h. CTA — приподнять на ~2мм (≈8px) от текущего положения */
html body .wrap > header + .card:first-of-type{
  margin-top: -13px !important;  /* было -5px; -13px ≈ +2мм вверх */
}
/* 99i. CTA — опустить примерно на 1 мм (~4px) */
html body .wrap > header + .card:first-of-type{
  margin-top: -9px !important;   /* было -13px */
}
/* 99k. Guides title — показать заголовок на одной линии с кнопками (справа) */
html body .wrap > header .head-row #page-title{
  display: block !important;
  grid-column: 3 !important;      /* правая колонка сетки head-row */
  align-self: center !important;
  margin: 0 0 0 auto !important;  /* прижать вправо */
  white-space: nowrap !important; /* не переносить на 2 строки на десктопе */
  font-weight: 600 !important;
}
/* Мобилка: под кнопками, можно переносить */
@media (max-width: 880px){
  html body .wrap > header .head-row #page-title{
    grid-column: 1 / -1 !important;
    margin: 6px 0 0 0 !important;
    white-space: normal !important;
  }
}
/* 99k-1. Guides title — жирный заголовок */
html body .wrap > header .head-row #page-title{
  font-weight: 700 !important; /* bold */
}
/* 99j. Home — две окантовки и зазор ~7–8 мм */
html body .wrap #home-main{
  /* зазор между внешней рамкой (основной карточки) и внутренней карточкой */
  padding: 28px !important; /* ≈ 7–8 мм */
  box-shadow: none !important;
}
html body .wrap #home-main > .card{
  margin: 0 !important;
  border: 1px solid var(--inner-border) !important;
  border-radius: var(--inner-radius) !important;
  background: var(--inner-bg) !important;
  box-shadow: none !important;
}

/* глушим возможные «третьи» рамки/линии внутри внутренней карточки */
html body .wrap #home-main > .card > .card,
html body .wrap #home-main > .card > .panel,
html body .wrap #home-main > .card > .tile,
html body .wrap #home-main > .card > .box,
html body .wrap #home-main > .card > .content,
html body .wrap #home-main > .card > .page-content{
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
html body .wrap #home-main .hr,
html body .wrap #home-main .line,
html body .wrap #home-main hr{
  display: none !important;
  height: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* 99j.2 Home — коррекция зазора между рамками до ~5 мм */
html body .wrap #home-main{ padding: 20px !important; }  /* ≈ 5 мм */
/* 99j.3 Home — зазор между рамками ≈4 мм */
html body .wrap #home-main{ padding: 16px !important; }

/* 99k. About page — зазор между рамками ≈4 мм */
html body .wrap #about-main{ padding:16px !important; }

/* 99m. Guides index — растянуть простыню и описания в карточках */
html body .wrap > section#guides-portal{
  min-height: var(--page-min-h) !important;  /* тянем «простыню» */
  padding-bottom: 12px !important;
}
html body .wrap #guides-portal .muted{
  display:block !important;
  margin-top: 8px !important;               /* компактный отступ под заголовком */
  opacity: .95;
}

/* === GE partners index: stretch sheet, not the card === */
html body .wrap{
  min-height: var(--page-min-h) !important;  /* «простыня» на весь экран */
}

/* если где-то задавали min-height самой карточке списка — снимем */
html body .wrap > #guides-portal{
  min-height: auto !important;
}

/* компактный абзац-описание в кнопках */
.guides-desc{
  margin: 6px 0 0 0 !important;
  line-height: 1.35 !important;
  font-size: 0.95rem !important;
}
/* === Guides index (Сотрудничество) === */
/* убрать заголовок "Список гайдов" */
html body #guides-portal > h2{ display:none !important; }

/* зазор между рамками (внешняя карточка ↔ внутренние) ~4 мм */
html body #guides-portal{
  padding: 14px !important;          /* ~ 4 мм */
}

/* на всякий случай — одинаковый промежуток между двумя плитками */
html body #guides-portal .guide-list{
  gap: 14px !important;
}
/* === Guides index: hover highlight for cards === */
html body #guides-portal a.card.guide-card{
  cursor: pointer !important;
  transition:
    background-color .15s ease,
    border-color .15s ease,
    box-shadow .15s ease,
    transform .12s ease !important;
}

/* Наведение мышью и фокус с клавиатуры */
html body #guides-portal a.card.guide-card:hover,
html body #guides-portal a.card.guide-card:focus-visible{
  background: color-mix(in oklab, var(--inner-bg) 90%, transparent) !important;
  border-color: color-mix(in oklab, var(--inner-border) 60%, var(--main-border)) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.12) !important;
  transform: translateY(-2px);
  text-decoration: none !important;
  outline: none !important;
}

/* Уважение reduce-motion */
@media (prefers-reduced-motion: reduce){
  html body #guides-portal a.card.guide-card{
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease !important;
  }
  html body #guides-portal a.card.guide-card:hover,
  html body #guides-portal a.card.guide-card:focus-visible{
    transform: none;
  }
}

/* === 99j. Guides index (guides-index) — hide H2, stretch sheet, stronger hover === */
html[data-slug="guides-index"] body #guides-portal > h2{ display:none !important; }

/* не раздуваем карточку — тянем именно простыню */
html[data-slug="guides-index"] body .wrap{ min-height: var(--page-min-h) !important; }

/* зазор между рамками (внешняя ↔ внутренняя) */
html[data-slug="guides-index"] body #guides-portal{ padding: 14px !important; }

/* компактный абзац внутри карточek */
.guides-desc{ margin: 6px 0 0 0 !important; line-height: 1.35 !important; font-size: .95rem !important; }

/* усиленная подсветка карточек */
html[data-slug="guides-index"] body #guides-portal a.card.guide-card{
  cursor: pointer !important;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .12s ease !important;
}
html[data-slug="guides-index"] body #guides-portal a.card.guide-card:hover,
html[data-slug="guides-index"] body #guides-portal a.card.guide-card:focus-visible{
  background: color-mix(in oklab, var(--inner-bg) 100%, transparent) !important;
  border-color: color-mix(in oklab, var(--inner-border) 85%, var(--main-border)) !important;
  box-shadow: 0 8px 26px rgba(0,0,0,.20) !important;
  transform: translateY(-3px);
  text-decoration: none !important; outline: none !important;
}
/* === pamytka-svd: партнёрская страница — безопасные правки только CSS === */

/* 1) Спрятать вступительный блок (первая card над плитками) */
html[data-slug="pamytka-svd"] #guide-body > section.card:first-of-type{
  display:none !important;
}

/* 2) Три компактные плитки с ховером и иконкой на одной строке с заголовком */
@media (max-width: 860px){
}
html[data-slug="pamytka-svd"] #guide-body .cards-3 .card:hover,

/* 3) Таблицы: убрать рамки, фон — как у карточки; caption — скрыть */
html[data-slug="pamytka-svd"] #events-offline caption,
html[data-slug="pamytka-svd"] #events-online  caption{
  display:none !important;
}
html[data-slug="pamytka-svd"] #guide-body table.events-table{
  border-collapse:separate !important;
  border:0 !important;
  width:100%;
}
html[data-slug="pamytka-svd"] #guide-body table.events-table thead th{
  background: var(--ge-card) !important;
  border:0 !important;
}
html[data-slug="pamytka-svd"] #guide-body table.events-table th,
html[data-slug="pamytka-svd"] #guide-body table.events-table td{
  background: var(--ge-card) !important;
  border:0 !important;
  vertical-align:top;
}

/* 3.1) Фикс-ширины столбцов (в ch), остальное — «Описание» */
html[data-slug="pamytka-svd"] #events-offline .events-table th:nth-child(1),
html[data-slug="pamytka-svd"] #events-offline .events-table td:nth-child(1),
html[data-slug="pamytka-svd"] #events-online  .events-table th:nth-child(1),
html[data-slug="pamytka-svd"] #events-online  .events-table td:nth-child(1){
  width:16ch !important; white-space:nowrap;
}
html[data-slug="pamytka-svd"] #events-offline .events-table th:nth-child(2),
html[data-slug="pamytka-svd"] #events-offline .events-table td:nth-child(2){
  width:16ch !important; white-space:nowrap;
}
html[data-slug="pamytka-svd"] #events-online  .events-table th:nth-child(2),
html[data-slug="pamytka-svd"] #events-online  .events-table td:nth-child(2){
  width:16ch !important; white-space:nowrap;
}
html[data-slug="pamytka-svd"] #events-offline .events-table th:nth-child(3),
html[data-slug="pamytka-svd"] #events-offline .events-table td:nth-child(3),
html[data-slug="pamytka-svd"] #events-online  .events-table th:nth-child(3),
html[data-slug="pamytka-svd"] #events-online  .events-table td:nth-child(3){
  width:16ch !important;
}
html[data-slug="pamytka-svd"] #events-offline .events-table th:nth-child(5),
html[data-slug="pamytka-svd"] #events-offline .events-table td:nth-child(5),
html[data-slug="pamytka-svd"] #events-online  .events-table th:nth-child(5),
html[data-slug="pamytka-svd"] #events-online  .events-table td:nth-child(5){
  width:12ch !important; text-align:center; white-space:nowrap;
}
/* Описание — эластичное, переносим всё что угодно */
html[data-slug="pamytka-svd"] #guide-body .events-table td:nth-child(4){
  overflow-wrap:anywhere;
}
/* === pamytka-svd — доп. правки карточек и таблиц (без изменения разметки) === */

/* 0) Быть поувереннее: эта тема только на странице pamytka-svd */
:root{ /* ничего */ }

/* 1) Плитки (3 шт.) — компактнее, одинаковая высота/ширина, окантовка и заметный hover */
@media (max-width: 860px){
}
@media (max-width: 860px){
}

html[data-slug="pamytka-svd"] #guide-body .cards-3 .card:hover,

/* 2) Таблицы — фон как у внутренней карточки, без разделительных линий */
html[data-slug="pamytka-svd"] #guide-body .table-wrap{ background: transparent !important; }
html[data-slug="pamytka-svd"] #guide-body table.events-table{
  table-layout: fixed !important;       /* фиксируем ширины колонок */
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border:0 !important;
}
html[data-slug="pamytka-svd"] #guide-body table.events-table caption{ display:none !important; }

/* очистить любые рамки/тени внутри таблиц */
html[data-slug="pamytka-svd"] #guide-body table.events-table *,
html[data-slug="pamytka-svd"] #guide-body table.events-table th,
html[data-slug="pamytka-svd"] #guide-body table.events-table td{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background: rgb(239,214,209) !important;  /* тот же цвет */
}

/* 2.1) Фикс-ширины столбцов (16ch / 12ch) и обрезка, остальное — «Описание» */
html[data-slug="pamytka-svd"] #events-offline .events-table th:nth-child(1),
html[data-slug="pamytка-svd"] #events-offline .events-table td:nth-child(1),
html[data-slug="pamytka-svd"] #events-online  .events-table th:nth-child(1),
html[data-slug="pamytка-svd"] #events-online  .events-table td:nth-child(1){
  width:16ch !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html[data-slug="pamytка-svd"] #events-offline .events-table th:nth-child(2),
html[data-slug="pamytка-svd"] #events-offline .events-table td:nth-child(2){
  width:16ch !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html[data-slug="pamytка-svd"] #events-online  .events-table th:nth-child(2),
html[data-slug="pamytка-svd"] #events-online  .events-table td:nth-child(2){
  width:16ch !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html[data-slug="pamytка-svd"] #events-offline .events-table th:nth-child(3),
html[data-slug="pamytка-svd"] #events-offline .events-table td:nth-child(3),
html[data-slug="pamytка-svd"] #events-online  .events-table th:nth-child(3),
html[data-slug="pamytка-svd"] #events-online  .events-table td:nth-child(3){
  width:16ch !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html[data-slug="pamytка-svd"] #events-offline .events-table th:nth-child(5),
html[data-slug="pamytка-svd"] #events-offline .events-table td:nth-child(5),
html[data-slug="pamytка-svd"] #events-online  .events-table th:nth-child(5),
html[data-slug="pamytка-svd"] #events-online  .events-table td:nth-child(5){
  width:12ch !important; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* колонка «Описание» (4-я) — тянется и переносит как угодно */
html[data-slug="pamytка-svd"] #guide-body .events-table td:nth-child(4){
  overflow-wrap:anywhere;
}
/* === pamytka-svd: доп. выравнивание карточек и таблиц (fix #2) === */

/* 1) Карточки: одинаковая компоновка и зазор между h3 и p */

/* 2) Таблицы: перенос слов вместо троеточий + ширины колонок */
html[data-slug="pamytка-svd"] #guide-body .events-table th,
html[data-slug="pamytка-svd"] #guide-body .events-table td{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;   /* главный переключатель переноса */
}

/* фикс-ширины как просили + расширяем «Регистрацию» на ~5 символов */
html[data-slug="pamytка-svd"] #events-offline .events-table th:nth-child(1),
html[data-slug="pamytка-svd"] #events-offline .events-table td:nth-child(1),
html[data-slug="pamytка-svd"] #events-online  .events-table th:nth-child(1),
html[data-slug="pamytка-svd"] #events-online  .events-table td:nth-child(1){
  width:16ch !important;
}
html[data-slug="pamytка-svd"] #events-offline .events-table th:nth-child(2),
html[data-slug="pamytка-svd"] #events-offline .events-table td:nth-child(2),
html[data-slug="pamytка-svd"] #events-online  .events-table th:nth-child(2),
html[data-slug="pamytка-svd"] #events-online  .events-table td:nth-child(2){
  width:16ch !important;
}
html[data-slug="pamytка-svd"] #events-offline .events-table th:nth-child(3),
html[data-slug="pamytка-svd"] #events-offline .events-table td:nth-child(3),
html[data-slug="pamytка-svd"] #events-online  .events-table th:nth-child(3),
html[data-slug="pamytка-svd"] #events-online  .events-table td:nth-child(3){
  width:16ch !important;
}
html[data-slug="pamytка-svd"] #events-offline .events-table th:nth-child(5),
html[data-slug="pamytка-svd"] #events-offline .events-table td:nth-child(5),
html[data-slug="pamytка-svd"] #events-online  .events-table th:nth-child(5),
html[data-slug="pamytка-svd"] #events-online  .events-table td:nth-child(5){
  width:17ch !important;               /* было 12ch → стало +5ch */
  text-align:center !important;
  white-space:nowrap !important;
}

/* 3) Кнопка «Подать заявку» — контурная + hover */
html[data-slug="pamytка-сvd"] #guide-body .events-table td:last-child .btn{
  background:transparent !important;
  border:1px solid color-mix(in oklab, #000 22%, transparent) !important;
  color:inherit !important;
  padding:6px 10px !important;
  border-radius:12px !important;
  transition:background-color .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}
html[data-slug="pamytка-сvd"] #guide-body .events-table td:last-child .btn:hover,
html[data-slug="pamytка-сvd"] #guide-body .events-table td:last-child .btn:focus-visible{
  background: color-mix(in oklab, #fff 30%, transparent) !important;
  border-color: color-mix(in oklab, #000 45%, transparent) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.14) !important;
  text-decoration:none !important;
  outline:none !important;
}

/* 4) Шапка таблиц — убрать белый фон, сделать как у страницы */
html[data-slug="pamytка-сvd"] #guide-body table.events-table thead th{
  background: var(--inner-bg, rgb(239,214,209)) !important;
  color: inherit !important;
  border:0 !important;
}
/* === pamytka-svd: карточки-кнопки — выравнивание и компоновка === */

/* === pamytka-svd: заголовки секций + иконки перед ними === */
html[data-slug="pamytка-сvd"] #events-offline > h3{
  font-size:1.35rem !important;     /* визуально как h2 темы */
  font-weight:700 !important;
  line-height:1.25 !important;
}
html[data-slug="pamytка-сvd"] #events-offline > h3::before{
  content:"📅 ";                     /* NBSP после значка */
}
html[data-slug="pamytка-сvd"] #events-online  > h2::before{
  content:"💻 ";
}

/* === pamytka-svd: иконки в колонке «Наименование» таблиц === */
html[data-slug="pamytка-сvd"] #events-offline .events-table td:nth-child(3)::before{
  content:"📅 ";
}
html[data-slug="pamytка-сvd"] #events-online  .events-table td:nth-child(3)::before{
  content:"💻 ";
}
/* === 99z.pamytka-svd — карточки-кнопки: одинаковая компоновка, без пустот снизу === */

/* Hover — заметнее: светлее фон, окантовка насыщеннее, лёгкий подъём */
html[data-slug="pamytка-сvd"] #guide-body .cards-3 .card:hover,
@media (prefers-reduced-motion: reduce){
}

/* Таблицы в этом гайде — перенос слов и без белой шапки (на всякий случай) */
html[data-slug="pamytка-сvd"] #guide-body table.events-table th,
html[data-slug="pamytка-сvd"] #guide-body table.events-table td{
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}
html[data-slug="pamytка-сvd"] #guide-body table.events-table thead th{
  background: var(--page-inner-bg, transparent) !important; /* убрать ярко-белую полоску */
}

/* Кнопка «Подать заявку» в таблице — компактная рамка + hover */
html[data-slug="pamytка-сvd"] #guide-body table.events-table .btn{
  border:1px solid #c7a097 !important;
  background: rgba(239,214,209,.25) !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;
}
html[data-slug="pamytка-сvd"] #guide-body table.events-table .btn:hover{
  border-color:#b88c83 !important;
  background: rgba(239,214,209,.55) !important;
}

/* === 99zz. pamytka-svd: жёсткое выравнивание карточек наверх и одинаковая высота === */

/* Hover заметнее */
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > .card:hover,
@media (prefers-reduced-motion: reduce){
}
/* === pamytka-svd compact cards v2 — одинаковая компоновка, без пустоты снизу === */
/* pamytка-svd cards compact fix */
/* pamytка-svd — финишная подрезка пустоты */
/* === pamytка-svd — подрезаем пустоту под описанием в карточках === */
/* на всякий случай — сетка тоже не растягивает элементы вниз */
/* === pamytка-svd — FINAL trim: убираем весь низ внутри карточек === */
/* === pamytка-svd (FINAL compact) — 3 в ряд, без «пустоты» внутри карточки === */
html[data-slug="pamytка-сvd"] #guide-body .cards-3{
  display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start !important;
}
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card{
  /* компактная сетка внутри карточки: [иконка][заголовок] + описание */
  display:grid !important;
  grid-template-columns:22px 1fr !important;
  grid-auto-rows:min-content !important;
  gap:4px 8px !important;

  /* визуал */
  padding:10px 12px 6px !important;  /* низ короче */
  margin:0 !important;
  border:1px solid #c7a097 !important;
  background:rgba(239,214,209,.35) !important;
  box-shadow:none !important;

  /* ключевое: НИЧЕГО не тянем по высоте строки */
  height:auto !important;
  align-self:start !important;
}
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card .p-icon{
  line-height:1 !important; margin:0 !important; font-size:18px !important;
}
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card h3{
  margin:0 !important; align-self:center !important;
}
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card p{
  margin:2px 0 0 0 !important; line-height:1.30 !important;
}
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card > :last-child{
  margin-bottom:0 !important;
}
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card:hover,
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card:focus-visible{
  background:rgba(239,214,209,.65) !important; border-color:#b88c83 !important;
  box-shadow:0 3px 14px rgba(0,0,0,.16) !important; transform:translateY(-1px);
  text-decoration:none !important; outline:none !important;
}
@media (prefers-reduced-motion: reduce){
  html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card{ transform:none !important; }
}
/* pamytка-svd: описание карточек в одну строку, на всю ширину */
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card{
  display: grid !important;
  grid-template-columns: 22px 1fr !important;  /* [иконка][заголовок] */
}
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card .p-icon{ grid-column:1; grid-row:1; }
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card h3     { grid-column:2; grid-row:1; }
html[data-slug="pamytка-сvd"] #guide-body .cards-3 > a.card.portal-card p{
  grid-column: 1 / -1;          /* описание на всю ширину, под шапкой */
  grid-row: 2;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  margin: 2px 0 0 0 !important;
}
/* === media archive page (Архив мероприятий) ============================ */
#media-outer{
  background: var(--page-inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
}
#media-outer #media-list{
  display: grid;
  grid-template-columns: repeat(2, minmax(320px,1fr));
  gap: 16px;
}
@media (max-width: 980px){
  #media-outer #media-list{ grid-template-columns: 1fr; }
}
#media-outer #media-list > .card{
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
  border-radius: var(--inner-radius) !important;
  padding: 12px;
}
#media-outer .media-thumb{ aspect-ratio:16/9; overflow:hidden; border-radius:12px; background:#000; }
#media-outer .media-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
#media-outer iframe{ width:100% !important; max-width:100% !important; border-radius:12px; }
/* ===================================================================== */
CSS

echo "Done. Backups:"
echo " - $PAGE.bak.$TS"
echo " - $CSS.bak.$TS"
/* === /pages/media.html — Архив мероприятий === */

/* Сетка внутренних карточек: 2 колонки, на узких — 1 */

/* Внутренние карточки */

/* Превью/видео */
#media-outer .media-thumb{ aspect-ratio:16/9; overflow:hidden; border-radius:12px; background:#000; }
#media-outer .media-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Кнопки — без артефактов подложки */
#media-outer #media-list .btn{ white-space:nowrap; }
/* === /pages/media.html — Архив мероприятий (v2) === */
#media-outer{
  background: var(--page-inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
  border-radius: var(--radius, 12px) !important;
  padding: 12px 14px !important;
}

/* Равные колонки, без минимальной ширины, одинаковое распределение */
#media-outer #media-list{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
}
@media (max-width: 980px){
  #media-outer #media-list{ grid-template-columns: 1fr !important; }
}

/* Внутренние карточки («внутренний» пресет) */
#media-outer #media-list > .card{
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
  border-radius: var(--inner-radius, 12px) !important;
  padding: 12px !important;
  height: 100%;
  display: flex; flex-direction: column;
}

/* Превью/видео */
#media-outer .media-thumb{ aspect-ratio:16/9; overflow:hidden; border-radius:12px; background:#000; }
#media-outer .media-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
#media-outer iframe{ width:100% !important; max-width:100% !important; border-radius:12px; }

/* Кнопки — без фоновой подложки, не переносятся */
#media-outer #media-list .btn{ white-space:nowrap; }
#media-outer #media-list .btn,
#media-outer #media-list .buttons,
#media-outer #media-list .actions{ background:transparent !important; box-shadow:none !important; }
CSSBLOCK

echo "Готово. Бэкапы:"
echo " - $PAGE.bak.$TS"
echo " - $CSS.bak.$TS"
/* === media.html — финальная раскладка: внешняя=основная, внутренние=внутренние === */
html body .wrap > section.card#media-outer{
  /* ВНЕШНЯЯ карточка = основной пресет (простыня) */
  background: var(--page-inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
  border-radius: var(--radius,12px) !important;
  padding: 12px 14px !important;
}

/* Сетка: 2 равные колонки (на узких — 1), элементы тянутся по высоте строки */
html body .wrap > section.card#media-outer #media-list{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

/* ВНУТРЕННИЕ карточки = внутренний пресет */
html body .wrap > section.card#media-outer #media-list > .card{
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
  border-radius: var(--inner-radius,12px) !important;
  padding: 12px !important;

  /* Чтобы плитки одной строки визуально были одного роста */
  height: 100% !important;
  display: flex; flex-direction: column;
}

/* Кнопки без фоновой подложки */
html body .wrap > section.card#media-outer #media-list > .card .buttons,
html body .wrap > section.card#media-outer #media-list > .card .actions{
  background: transparent !important; box-shadow: none !important;
}

/* === media.html — финальный оверрайд =============================== */
/* 1) ВНЕШНЯЯ карточка должна быть «основной», а не прозрачной */
.wrap > .card:first-of-type#media-outer,
#media-outer {
  background: var(--page-inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
  border-radius: var(--radius, 12px) !important;
  padding: 12px 14px !important;
}

/* 2) Сетка: две равные колонки, элементы — одной высоты строки */
#media-outer #media-list{
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
@media (max-width: 980px){
  #media-outer #media-list{ grid-template-columns: 1fr !important; }
}

/* 3) Внутренние карточки — «внутренний» пресет + растянуться по высоте */
#media-outer #media-list > .card{
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
  border-radius: var(--inner-radius, 12px) !important;
  padding: 12px !important;
  display: flex; flex-direction: column; height: 100% !important;
}

/* 4) Превью одинаково по пропорции */
#media-outer .media-thumb{ aspect-ratio:16/9; overflow:hidden; border-radius:12px; background:#000; }
#media-outer .media-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
#media-outer iframe{ width:100% !important; max-width:100% !important; border-radius:12px; }

/* 5) Кнопки — вниз карточки, без фоновой подложки и лишних отступов */
#media-outer #media-list > .card :where(.actions,.buttons){ 
  margin-top: auto !important; 
  background: transparent !important; 
  box-shadow: none !important; 
  padding-bottom: 0 !important;
}
#media-outer #media-list > .card > :last-child{ margin-bottom: 0 !important; }
/* =================================================================== */

/* === media.html — финальный фикс ==================================== */
/* Внешняя карточка: именно «основная» палитра (main), перебиваем
   правило "первую карточку сделать прозрачной" для гайдов. */
html body .wrap > .card:first-of-type#media-outer,
html body .wrap > section.card#media-outer{
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
  border-radius: var(--radius, 12px) !important;
  padding: 12px 14px !important;
}

/* Сетка: 2 равные колонки; элементы растягиваются по высоте строки. */
#media-outer #media-list{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
@media (max-width: 980px){
  #media-outer #media-list{ grid-template-columns: 1fr !important; }
}

/* Внутренние карточки: внутренняя палитра + «растяжка» */
#media-outer #media-list > .card{
  background: var(--inner-bg) !important;
  border: 1px solid var(--inner-border) !important;
  border-radius: var(--inner-radius, 12px) !important;
  padding: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;    /* чтобы в одной строке были одинаковой высоты */
  box-sizing: border-box !important;
}

/* Превью одинаковой пропорции */
#media-outer .media-thumb{ aspect-ratio:16/9; overflow:hidden; border-radius:12px; background:#000; }
#media-outer .media-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
#media-outer iframe{ width:100% !important; max-width:100% !important; border-radius:12px; }

/* Кнопки — без подложки, прижимаем к низу карточки, без «хвоста» */
#media-outer #media-list > .card :where(.actions,.buttons){
  margin-top: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-bottom: 0 !important;
}
#media-outer #media-list > .card > :last-child{ margin-bottom: 0 !important; }
/* ==================================================================== */

/* === media.html — кнопки и “хвост” под ними ======================== */
/* карточка без внешних margin (grid сам даёт gap) */
#media-outer #media-list > .card{ margin:0 !important; }

/* контейнер кнопок — прижат к низу, без лишних внутренних/внешних отступов */
#media-outer #media-list > .card :where(.actions,.buttons){
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1 !important;
}
/* внутри контейнера у последнего элемента не даём “хвоста” */
#media-outer #media-list > .card :where(.actions,.buttons) > :last-child{
  margin-bottom: 0 !important;
}

/* сами кнопки — плотные, без нижнего “просвета” */
#media-outer #media-list .btn{
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
  margin: 0 8px 0 0 !important;   /* между кнопками */
  white-space: nowrap !important;

  background: rgb(239,214,209) !important;   /* основной цвет */
  border-color: rgb(182,150,139) !important;
  color: var(--ge-ink, #2b1a16) !important;   /* тёмный читаемый текст */
}
#media-outer #media-list .btn:hover,
#media-outer #media-list .btn:focus{
  background: rgb(182,150,139) !important;   /* hover */
  border-color: rgb(182,150,139) !important;
  color: var(--ge-ink, #1d0f0b) !important;
}
/* =================================================================== */
/* === theme-news-first-card-fix: не давать первой карточке становиться прозрачной === */
html body.theme-news .wrap > .card:first-of-type{
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
}

/* === main-card-restore-v1 ============================================
   Возвращаем «основную» карточку на обычных страницах (theme-default),
   не затрагивая новости (theme-news).
   ==================================================================== */
html body.theme-default:not(.theme-news) .wrap > .card:first-of-type,
html body.theme-default:not(.theme-news) .wrap > section.card:first-of-type{
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
  border-radius: var(--main-radius, 12px) !important;
  box-shadow: var(--main-shadow, none) !important;
}

/* Иногда вместо .card внешним контейнером выступает .grid */
html body.theme-default:not(.theme-news) .wrap > section.grid:first-of-type{
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
  border-radius: var(--main-radius, 12px) !important;
}

/* ====================================================================
   main-card-restore-v3
   Возвращаем «основную» карточку на всех страницах, КРОМЕ страницы
   просмотра гайда (там присутствует .card.guide-article).
   Это перекрывает раннюю «прозрачку» first-of-type.
   -------------------------------------------------------------------- */
html body:not(.theme-news):not(:has(.card.guide-article)) .wrap > .card:first-of-type,
html body:not(.theme-news):not(:has(.card.guide-article)) .wrap > section.card:first-of-type,
html body:not(.theme-news):not(:has(.card.guide-article)) .wrap > main > section.card:first-of-type,
html body:not(.theme-news):not(:has(.card.guide-article)) .wrap > section.grid:first-of-type,
html body:not(.theme-news):not(:has(.card.guide-article)) .wrap > main > section.grid:first-of-type{
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
  border-radius: var(--main-radius, 12px) !important;
}

/* Fallback по конкретным ID (на случай старых браузеров без :has()):
   Главная, О компании, Портал гайдов (index), — точно «основные». */
html body .wrap > section.card#home-main,
html body .wrap > section.card#about-main,
html body .wrap > section.card#guides-portal{
  background: var(--main-bg) !important;
  border: 1px solid var(--main-border) !important;
  border-radius: var(--main-radius, 12px) !important;
}

/* ==================================================================== */

/* ==================================================================== */
/* ===================================================================== */


/* ==================================================================== */

html body.theme-news{
  /* гасим любые «подложечные» бордеры токенами */
  --underlay-border: transparent !important;
  --rail-border:     transparent !important;
  --btn-border:      var(--ge-border) !important; /* кнопки не трогаем визуально */
}

/* каркас страницы новостей — без рамок/теней и боковых паддингов */
html body.theme-news .wrap,
html body.theme-news .wrap::before,
html body.theme-news .wrap::after,
html body.theme-news .site-header,
html body.theme-news .site-footer{
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* секция-обёртка ленты — тоже без собственных рамок/теней */
html body.theme-news .wrap > section.grid#news-grid,
html body.theme-news #news-grid{
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* РАМКИ ТОЛЬКО У КАРТОЧЕК */
html body.theme-news #news-grid > .card{
  border: 1px solid var(--main-border) !important;
  border-radius: var(--main-radius,12px) !important;
  box-shadow: none !important;
  background-clip: padding-box !important;
}
html body.theme-news #news-grid .cards-1 > .card{
  border: 1px solid var(--inner-border) !important;
  box-shadow: none !important;
}
/* ==================================================================== */

/* ===========================================================
 * NEWS: Single-stroke border fix (2025-09-25)
 * Цель: на странице Новости внешняя .card.card--wide имеет
 *       одну тонкую рамку 1px без «удвоения»/теней/outline.
 * =========================================================== */
html body.theme-news .wrap #news-grid > .card.card--wide{
  /* 1) Оставляем один внешний штрих 1px */
  box-sizing: border-box !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--main-border, var(--ge-border, #e8d7cd)) !important;

  /* 2) Гасим источники второй «линии» */
  outline: 0 !important;
  box-shadow: none !important;
  background-clip: padding-box !important; /* граница не смешивается с фоном краёв */
}

/* Подстраховка: если где-то задана спец-рамка первому элементу */
html body.theme-news #news-grid > .card:first-child{
  outline: 0 !important;
  box-shadow: none !important;
}

/* Чтобы внутренняя сетка карточек визуально не «слипалась» с внешней рамкой */
html body.theme-news .wrap #news-grid > .card.card--wide > .cards-1{
  margin-top: 8px !important;
}

/* Внутренние карточки оставляем с 1px, но фиксируем цвет как «внутренний» */
html body.theme-news .wrap #news-grid .card .card{
  border-color: var(--inner-border, var(--ge-border, #e8d7cd)) !important;
}
/* ===========================================================
 * NEWS: wrap--news border-dedupe (2025-09-25)
 * Причина: body=theme-default ⇒ ранние vars из body.theme-news не срабатывают,
 *          у контейнера #news-grid остаётся underlay-рамка (даёт эффект «утолщения»).
 * Решение: отключаем рамку контейнера и оставляем одинарный 1px у карточки.
 * =========================================================== */
html body .wrap.wrap--news #news-grid{
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background-clip: padding-box !important;
}
html body .wrap.wrap--news #news-grid > .card{
  box-sizing: border-box !important;
  border-width: 1px !important;
  border-style: solid !important;
  /* Цвет берётся из общих правил .card → var(--ge-border). */
}
/* === GE FINAL (pamytka-svd) — баннер↔панель в касание, 5мм до первой карточки === */
html[data-slug="pamytka-svd"] body .wrap > header{
  gap:0 !important; row-gap:0 !important; column-gap:0 !important;
  margin-bottom:0 !important; padding-bottom:0 !important;
}
html[data-slug="pamytka-svd"] body .wrap > header .header-image,
html[data-slug="pamytка-сvd"] body .wrap > header .header-image img{
  display:block !important; margin:0 !important; padding:0 !important;
}
html[data-slug="pamytка-сvd"] body .wrap > header .head-row{
  margin:0 !important; padding:0 !important;
}
/* 5 мм до первой карточки сразу под шапкой:
   если первой идёт «Подать заявку» (узкая .card) — даём ей 5мм;
   если её нет и первая — .card.guide-article, даём 5мм ей. */
html[data-slug="pamytка-сvd"] body .wrap > header + .card:first-of-type{ margin-top:5mm !important; }
html[data-slug="pamytка-сvd"] body .wrap > header + .card + .card.guide-article{ margin-top:5mm !important; }
/* === GE FINAL v3 (pamytka-сvd) — 1мм вниз от баннера + паддинги капсулы === */
html[data-slug="pamytка-сvd"] body .wrap > header .head-row{
  /* опускаем панель на 1мм, при этом сохраняем «5мм до карточки» из предыдущего блока */
  margin-top: 1mm !important;

  /* чтобы текст и кнопки не прилипали к краям светлой капсулы */
  padding-left: 8px !important;
  padding-right: 10px !important;

  /* подчистим возможные собственные отступы */
  margin-bottom: 0 !important;
}

/* заголовок справа — небольшой внутренний отступ, без сдвига сетки */
html[data-slug="pamytка-сvd"] body .wrap > header .head-row h1{
  margin: 0 !important;
  padding-right: 8px !important;
}
/* === GE FINAL v3.1 (pamytka-сvd) — поднять панель на 1мм (почти в касание) === */
html[data-slug="pamytка-сvd"] body .wrap > header{
  gap:0 !important; row-gap:0 !important; column-gap:0 !important;
}
html[data-slug="pamytка-сvd"] body .wrap > header .header-image,
html[data-slug="pamytка-сvd"] body .wrap > header .header-image img{
  margin:0 !important; padding:0 !important; display:block !important;
}
html[data-slug="pamytка-сvd"] body .wrap > header .head-row{
  margin-top:0 !important;        /* было 1mm */
  margin-bottom:0 !important;
  padding-left:8px !important;
  padding-right:10px !important;
}
/* 5 мм под панелью до первой карточки — без изменений */
html[data-slug="pamytка-сvd"] body .wrap > header + .card:first-of-type{
  margin-top:5mm !important;
}
/* === GE FINAL (px-based) for pamytka-svd === */
:root{
  /* Подвинуть панель под баннером: 0–5px, шаг 1px */
  --ge-pam-panel-top: 1px;    /* ← меняйте здесь: 0px, 1px, 2px... */
  /* Зазор до первой карточки (5 мм ≈ 18.9 px → 19px) */
  --ge-pam-card-gap: 19px;
}

html[data-slug="pamytка-сvd"] body .wrap > header{
  gap:0 !important; row-gap:0 !important; column-gap:0 !important;
}
html[data-slug="pamytка-сvd"] body .wrap > header .header-image,
html[data-slug="pamytка-сvd"] body .wrap > header .header-image img{
  margin:0 !important; padding:0 !important; display:block !important;
}
html[data-slug="pamytка-сvd"] body .wrap > header .head-row{
  margin-top: var(--ge-pam-panel-top) !important;  /* пиксельный шаг */
  margin-bottom:0 !important;
  padding-left:8px !important;
  padding-right:10px !important;
}
html[data-slug="pamytка-сvd"] body .wrap > header + .card:first-of-type{
  margin-top: var(--ge-pam-card-gap) !important;
}

/* === GE FONT OVERRIDE v1 ===
   Purpose: enable local Montserrat (400/600/700 + italic 400) as the UI font
=== */
:root{ --font-ui: "Raleway", system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Helvetica Neue", "Liberation Sans", sans-serif; }
body{  font-family: var(--font-ui); }
/* === END GE FONT OVERRIDE v1 === */
/* === GE NUMERIC FIX FOR RALEWAY v1 ===
   Purpose: убрать «вылезание» цифр за счёт lining-nums; дать класс для табличного выравнивания.
=== */
body, h1,h2,h3,h4,h5,h6, .btn, .menu a, .price, .badge, .card, input, textarea {
  /* Везде — прямые пропорциональные цифры */
  font-variant-numeric: lining-nums proportional-nums;
  font-feature-settings: "lnum" 1, "pnum" 1;
}

/* Для цен/таблиц — моноширинные цифры по требованию */
.tabular-nums, .price-list .amount, .price-list .price {
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1, "tnum" 1;
}
/* === END GE NUMERIC FIX FOR RALEWAY v1 === */
/* === GE LETTERSPACING v1 ===
   Purpose: слегка «разрядить» текст на сайте.
   Как работает: задаём переменную и применяем её от body (свойство наследуется).
=== */
:root{ --ge-letter-spacing: 0.3px; }   /* ← если захочешь 0.5px — поменяем здесь */

body{ letter-spacing: var(--ge-letter-spacing); }

/* На случай локальных переопределений — явно наследуем */
h1,h2,h3,h4,h5,h6,
.menu a,.nav a,.btn,.badge,.card,
input,textarea,select,button { letter-spacing: inherit; }
/* === END GE LETTERSPACING v1 === */

/* =========================================================
   === GE COLOR SYSTEM v4 (универсальный пресет цветов) ===
   Меняй rgb(...) ниже — вся тема подтянется автоматически.
   Важно: держать этот блок последним в файле.
   ========================================================= */
:root{
  /* 1) Основной цвет ТЕКСТА (параграфы и базовые элементы) */
  --ge-color-text:            rgb(94, 54, 46);        /* ← основной цвет шрифта */

  /* 2) Заголовки (если хочешь одинаково с текстом — поставь var(--ge-color-text)) */
  --ge-color-headings:        rgb(106, 60, 50);

  /* 3) Брендовый primary (кнопки/бейджи/ключевые метки) */
  --ge-color-primary:         rgb(226, 180, 165);
  /* Текст на фоне primary (обычно белый) */
  --ge-color-on-primary:      rgb(130, 28, 132);

  /* 4) Ссылки */
  --ge-color-link:            rgb(130, 28, 132);
  --ge-color-link-hover:      rgb(106, 18, 110);
  --ge-color-link-visited:    rgb(96, 28, 146);

  /* 5) Меню/навигация */
  --ge-color-nav:             var(--ge-color-text);      /* обычные пункты */
  --ge-color-nav-active:      var(--ge-color-primary);   /* активный пункт */

  /* 6) Вспомогательные */
  --ge-color-muted:           rgb(196, 111, 74);    /* приглушённый текст */
  --ge-color-border:          rgb(215 215 215);    /* тонкие рамки/разделители */

  /* --- Маппинг на переменные темы (чтобы всё стыковалось) --- */
  --accent:                   var(--ge-color-primary);
  --accent-ink:               var(--ge-color-on-primary);
  --bs-primary:               var(--ge-color-primary);
}

/* === Применение пресета ================================= */

/* Базовый текст и заголовки */
body{ color: var(--ge-color-text) !important; }
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.title,.section-title{
  color: var(--ge-color-headings) !important;
}

/* Ссылки */
a{ color: var(--ge-color-link) !important; }
a:hover, a:focus{ color: var(--ge-color-link-hover) !important; }
a:visited{ color: var(--ge-color-link-visited) !important; }

/* Навигация / меню */
.nav a{ color: var(--ge-color-nav) !important; }
.nav a.active, .nav a[aria-current="page"]{
  color: var(--ge-color-nav-active) !important;
  border-color: var(--ge-color-nav-active) !important; /* если есть «пилюля» с рамкой */
}

/* Кнопки/бейджи/теги «primary» */
:where(.btn-primary,.button.primary,.badge.primary,.tag.primary,
       .btn[data-variant="primary"],.button[data-variant="primary"]){
  background: var(--ge-color-primary) !important;
  border-color: var(--ge-color-primary) !important;
  color: var(--ge-color-on-primary) !important;
}

/* Если нужно единообразно окрасить и «простые» .btn/.button — добавь класс .use-primary */
:where(.btn.use-primary,.button.use-primary){
  background: var(--ge-color-primary) !important;
  border-color: var(--ge-color-primary) !important;
  color: var(--ge-color-on-primary) !important;
}

/* Приглушённые подписи/метки — по желанию можно использовать этот токен */
.muted,.text-muted{ color: var(--ge-color-muted) !important; }

/* Тонкие рамки/разделители */
.hr, hr, .divider, .border, .card{ border-color: var(--ge-color-border) !important; }

/* =========================================================
   === END GE COLOR SYSTEM v4 ============================== */

/* === GE COLOR PRESET OVERRIDE (guaranteed primary color) === */
:root {
  --accent: var(--ge-color-primary);
  --accent-ink: #fff;
}

:where(.btn, .button, .badge, .tag) {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--accent-ink) !important;
}

:where(.btn:hover, .button:hover, .badge:hover, .tag:hover) {
  filter: brightness(0.92);
}

:where(.nav a.active, .nav a[aria-current="page"]) {
  color: var(--accent) !important;
  border-color: var(--accent) !important;
}

/* Перекрытие для .nav--new a (если фон задан жёстко) */
.nav--new a {
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
  border-color: var(--accent) !important;
}

/* Для inline-стилей на кнопках (если появятся) */
[class*="btn"], [class*="button"] {
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
  border-color: var(--accent) !important;
}

/* === Fix: PF lightbox — поверх всего, тёмный фон, картинка в полном размере === */
.pf-lightbox{
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(0,0,0,.86) !important;
  padding: 40px 24px;
  display: none;
  overflow: auto;
}

.pf-lightbox:target{ display:block; }

.pf-lightbox__backdrop{
  position: fixed; inset: 0;
  display: block;
  cursor: zoom-out;
  z-index: 0;
}

.pf-lightbox__content{
  position: relative;
  z-index: 1;
  width: max-content;
  margin: 0 auto;
}

/* PF lightbox — показываем крупно, по ширине окна, с возможностью вертикальной прокрутки */
.pf-lightbox__content img{
  display:block;
  width: clamp(700px, 92vw, 1600px) !important; /* тянем по ширине вьюпорта */
  height: auto !important;
  max-width: none !important;   /* никаких ограничений снизу по “100%” */
  max-height: none !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
  border-radius: 8px;
}

.pf-lightbox__close{
  position: sticky; top: 0;
  margin: 0 0 12px auto;
  display: inline-block;
  font: 700 22px/1 system-ui, sans-serif;
  color:#fff; text-decoration:none;
  background: rgba(0,0,0,.35);
  padding: 6px 10px; border-radius: 8px;
}

/* Perfume page: сжатые отступы и строки в первом (верхнем) блоке категорий */
body.theme-rules #rules-grid > .card:first-child h3{
  margin: 0 0 6px !important;   /* убираем верхний отступ, снизу компактно */
  line-height: 1.15 !important;
}

body.theme-rules #rules-grid > .card:first-child ul{
  margin: 0 !important;         /* убираем лишние внешние отступы у UL */
  padding-left: 18px;            /* оставляем аккуратные маркеры */
}

body.theme-rules #rules-grid > .card:first-child li{
  margin: 0 !important;
  line-height: 1.25 !important;  /* компактные строки в списках */
}

/* ==== Perfume: якоря останавливаются выше, с запасом ==== */
/* Регулируемый «зазор» сверху для ПАРФЮМ-страницы */
:root{ --pf-anchor-offset: 0px; }          /* по умолчанию для других страниц */
body.theme-rules{ --pf-anchor-offset: 230px; }  /* подгони: 80–140px */

/* Главный трюк: смещаем стоп у переходов по якорям на уровне вьюпорта */
html{ scroll-padding-top: var(--pf-anchor-offset); }

/* Подстраховка: если браузер возьмёт offset с элемента-цели */
[id^="pf-"], .pf-card{ scroll-margin-top: var(--pf-anchor-offset); }


/* === pamytka-svd: портальные карточки + отступы + скрыть верхнюю кнопку === */
html[data-slug="pamytka-svd"] .wrap > a.btn:first-of-type{
  display: none !important; /* скрываем верхнюю лишнюю кнопку только здесь */
}

html[data-slug="pamytka-svd"] #guide-body #events-portals{
  margin-top: 8px !important;         /* ближе к верху */
  margin-bottom: 10px !important;     /* ближе к разделу «Мероприятия» */
}

html[data-slug="pamytka-svd"] #guide-body #events-portals.grid.cards-3{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important; /* равные доли на всю ширину */
  gap: 10px !important;
  align-items: stretch !important;
}
@media (max-width: 900px){
  html[data-slug="pamytka-svd"] #guide-body #events-portals.grid.cards-3{
    grid-template-columns: 1fr !important; /* на узких — столбиком */
  }
}
html[data-slug="pamytka-svd"] #guide-body #events-portals .card{
  width: auto !important;
  max-width: none !important;  /* чтобы ничего не ограничивало ширину */
  margin: 0 !important;
}

/* Заголовки секций — как просили, покрупнее и компактнее */
html[data-slug="pamytka-svd"] #events-offline > h2,
html[data-slug="pamytka-svd"] #events-online > h2{
  font-size: 1.5rem !important;
  line-height: 1.2 !important;
  margin: 0 0 8px !important;
}

/* GE: hide top single CTA only on 'pamytka-svd' (guides/view.html header card) */
html[data-slug="pamytka-svd"] .wrap > .card:has(> a[href="#partner-apply"]) {
  display: none !important;
}

/* === GE portals highlight for pamytka-svd (no transform) ================== */
html[data-slug="pamytka-svd"] #guide-body #events-portals > a.card.portal-card{
  /* базовое состояние — лёгкий объём и центрирование */
  text-align:center !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.10) !important;
  border-color: rgba(0,0,0,.18) !important;
  transition: box-shadow .18s ease, filter .18s ease, border-color .18s ease !important;
  transform: none !important;
}

html[data-slug="pamytka-svd"] #guide-body #events-portals > a.card.portal-card:hover,
html[data-slug="pamytka-svd"] #guide-body #events-portals > a.card.portal-card:focus-visible{
  /* ховер/фокус — ярче тень, без подъёма */
  transform: none !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.20) !important;
  filter: brightness(1.02) !important;
  outline: 2px solid #d3a57c;   /* обводка под палитру сайта */
  outline-offset: 2px;
}

html[data-slug="pamytka-svd"] #guide-body #events-portals > a.card.portal-card:active{
  /* актив — лёгкая «вжимка» внутренней тенью */
  transform: none !important;
  box-shadow: inset 0 3px 10px rgba(0,0,0,.15), 0 4px 14px rgba(0,0,0,.18) !important;
  filter: brightness(.99) !important;
}

/* EDU: центрированный плеер фиксированной ширины (16:9) */
.edu-player { display: flex; justify-content: center; margin-top: 10px; }
.edu-player .edu-frame {
  width: min(100%, 960px);   /* поменяй 960px, если нужна другая «целевуха» */
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
}
.edu-player .edu-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
}

/* ============================
   Education page theme (scoped)
   ============================ */

/* Пресет (RGB) — меняй эти 6 строк */
.page-education {
  --edu-btn-bg:        rgb(199, 124, 109);
  --edu-btn-fg:        rgb(255, 255, 255);
  --edu-btn-br:        rgb(235, 231, 231);

  --edu-btn-bg-hover:  rgb(239, 214, 209);
  --edu-btn-fg-hover:  rgb(94, 54, 46);
  --edu-btn-br-hover:  rgb(185, 143, 134);
}

/* Кнопка-аккордеон в шапке урока */
.page-education #education-outer .edu-head > .btn.edu-toggle,
.page-education #education-outer .edu-head > .btn.edu-toggle:visited {
  /* на всякий случай гасим чужие градиенты/тени */
  background: none !important;
  background-color: var(--edu-btn-bg) !important;
  color: var(--edu-btn-fg) !important;
  border: 1px solid var(--edu-btn-br) !important;
  box-shadow: none !important;
}

/* Ховер/фокус */
.page-education #education-outer .edu-head > .btn.edu-toggle:hover,
.page-education #education-outer .edu-head > .btn.edu-toggle:focus,
.page-education #education-outer .edu-head > .btn.edu-toggle:focus-visible {
  background: none !important;
  background-color: var(--edu-btn-bg-hover) !important;
  color: var(--edu-btn-fg-hover) !important;
  border-color: var(--edu-btn-br-hover) !important;
  box-shadow: none !important;
}

/* пресет только для страницы обучения */
.page-education{
  /* ...тут уже есть цветовые переменные... */

  /* пресет шрифта для кнопок уроков */
  --edu-btn-font-family: inherit;                /* или "ВашШрифт", Arial, sans-serif */
  --edu-btn-font-size:   16px;
  --edu-btn-font-weight: 200;
  --edu-btn-letter:      0.3px;
}

/* Шрифт кнопок-заголовков уроков — жестко перекрываем базовые .btn */
.page-education .edu-head .edu-toggle{
  font-family:   var(--edu-btn-font-family, inherit) !important;
  font-size:     var(--edu-btn-font-size, 16px) !important;
  font-weight:   var(--edu-btn-font-weight, 600) !important;
  letter-spacing:var(--edu-btn-letter, 0.2px) !important;
  line-height:   1.25 !important;
}