/* ============================================================
   ok-partners.css — SHARED стили блока «Наши партнёры» (.ok-partners).
   ОДИН файл на все поверхности блока: Главная/ГЕО (каскад okna_home_is_template) и
   «О компании» (/o-kompanii/, tpl-about). Ранее секция [PARTNERS] жила в ok-home-w4.css;
   вынесена сюда как общий слой — главная и /o-kompanii/ читают ОДИН файл, не две копии.

   Разметка: okna_partners_section_render() (inc/partners-slider.php) — Главная
   (blocks/partners-home.php) и «О компании» (blocks/about/partners.php). Слайдер
   (окна-part__*) на визитках tpl-partner и B2B-посадках использует базовые стили
   design.css (глобально) — этот файл нужен только там, где есть полная секция .ok-partners.
   JS слайдера — assets/partners-slider.js (единый, грузится на всех страницах с .okna-part__slider).

   Подключается:
     · Главная/ГЕО — в shell-цепочке оболочки (functions.php);
     · «О компании» — на tpl-about (functions.php), после ok-about.css.
   Заголовочный блок (.gv-head/.gv-eyebrow/.gv-head h2/.gv-head__sub) — канон
   glavnaya.css (грузится сквозно), здесь только точные подстройки блока.
   ============================================================ */


/* ── ШАПКА СЕКЦИИ (.gv-head) — вынесена из ok-home-w4.css ([CERTIFICATES]-раздел,
   где была объединена с .ok-certificates; здесь — только .ok-partners). ───────── */
.ok-partners .gv-head h2{
  position:relative;
  margin:0;
  padding-bottom:14px;
  font-family:var(--ok-font);
  font-size:var(--ok-fs-h2);                 /* 34px */
  font-weight:var(--ok-fw-black);
  line-height:normal;
  letter-spacing:var(--ok-ls-h2);            /* −.01em */
  color:var(--ok-ink);
}
.ok-partners .gv-head h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:44px;                                /* мастер: 44×3, у канона сайта 52×3 */
  height:3px;
  border-radius:0;                           /* мастер: прямые торцы (канон — 999px) */
  background:var(--ok-red);
}
.ok-partners .gv-head__sub{
  margin:0;
  font-size:var(--ok-fs-intro);              /* 16.5px */
  font-weight:var(--ok-fw-regular);
  line-height:var(--ok-lh-body);             /* 1.55 */
  color:var(--ok-text-2);
  max-width:var(--ok-content-narrow);        /* 760px */
}
/* Мастер: у партнёров подзаголовок на всю ширину и на полкегля мельче. */
.ok-partners .gv-head__sub{ font-size:var(--ok-fs-body); }   /* 16px */
.ok-partners .gv-head__sub{ max-width:none; }
/* Эйброу-пилюля. */
.ok-partners .gv-head .gv-eyebrow{
  display:inline-block;
  margin:0 0 14px;
  padding:7px 13px;
  border-radius:var(--ok-radius-pill);
  background:var(--ok-tint-blue);
  color:var(--ok-blue);
  font-size:var(--ok-fs-eyebrow);            /* 12.5px */
  font-weight:var(--ok-fw-black);
  line-height:1.25;
  letter-spacing:var(--ok-ls-eyebrow);       /* .06em */
  text-transform:uppercase;
}
/* Блок-обёртка шапки. .gv-head в glavnaya.css ограничен 780px и отбит на 38px —
   в мастере шапка занимает всю ширину контейнера, а отступ задаёт H2/подзаголовок. */
.ok-partners .gv-head{
  max-width:none;
  margin:0 0 30px;
  text-align:left;
}


/* ██████████████████████████████████████████████████████████████████████████████
   [PARTNERS] · HC-12 · 17.1 «Наши партнёры»
   ------------------------------------------------------------------------------
   Разметка: inc/partners-slider.php::okna_partners_slider() (НЕ ТРОГАЕМ — тот же
             компонент рендерится на визитках tpl-partner; к нему привязан
             assets/partners-slider.js: страницы, свайп, счётчик, progress-bar).
   Секцию печатает blocks/partners-home.php: <section class="ok-partners ok-scope">.
   Данные:   okna_home_data('partners-home') → okna_partners_data() — ВЕСЬ реестр.

   ★★★ ЛОВУШКА ПАКЕТА (и почему тут слайдер, а не «сетка 6 как в мастере»).
     В реестре 10 партнёров, 8 из них — со СВОИМИ страницами /partnery/<slug>/.
     В мастере нарисовано 6 карточек. Свёрстанная «в лоб» сетка на 6 выкинула бы
     4 партнёров и 4 живые ссылки. Поэтому оставлен рабочий слайдер: в кадре
     ровно 6 карточек (=картинка мастера), остальные 4 доступны стрелками/свайпом,
     счётчик показывает «01 — 06 / 10». Ни один партнёр и ни одна ссылка не
     потеряны. Стрелки и счётчик — отклонение от мастера, ЦЕНА сохранности данных.

   ★ ЗАМЕР МАСТЕРА · ДЕСКТОП vp1440 ───────────────────────────────────────────
     секция ........ bg #ffffff · padding 72px 0 · h 566.8
     сетка ......... repeat(6,1fr) · gap 14 (карточка 191×146)
     карточка ...... bg #fff · 1px #e8ecf2 · r 16 · padding 18
                     flex column · align center · gap 8 · text-center
     лого-бокс ..... height 56 · картинка max-width 120 · max-height 48
     плашка (без лого) height 56 · 17px/800 #123d87
     название ...... 14px/700 #123d87 · роль 12px #8a94a6
     плашка снизу .. mt 22 · bg #f5f8fd · 1px #e8ecf2 · r 16 · padding 18 22
                     flex gap 16 · иконка-щит 26×30 · b 15px/700 #1d2433
                     p 14px/1.5 #526173 (mt 4)
   ★ ЗАМЕР МАСТЕРА · МОБАЙЛ 390 ───────────────────────────────────────────────
     секция ........ bg #fff · padding 44 0 48 · эйброу/H2 с полями 16
     лента ......... flex gap 10 · overflow-x auto · padding 2 16 10
     карточка ...... flex 0 0 150 · padding 14 · r 16 · gap 6
     лого-бокс ..... height 44 · картинка max-w 100 · max-h 38
     название ...... 12.5px/700 #1d2433 · роль 11px #8a94a6
     плашка ........ margin 14 16 0 · padding 14 16 · gap 12
   ████████████████████████████████████████████████████████████████████████████ */

html body .ok-partners{
  max-width:none;
  margin-inline:0;
  padding-block:var(--ok-section-space-desktop);   /* 72px */
  background:var(--ok-section-a);
  color:var(--ok-text);
  font-family:var(--ok-font);
}

.ok-partners .okna-part__slider{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:0;
}
.ok-partners .okna-part__track{ gap:14px; }
/* Ровно 6 карточек в кадре — как в мастере. Формула та же, что у канона, но
   вынесена сюда: от неё зависит и счётчик (partners-slider.js меряет карточку). */
.ok-partners .okna-part__card{
  flex:0 0 calc((100% - 5 * 14px) / 6);
  gap:8px;
  padding:18px;
  border:1px solid var(--ok-border);
  border-radius:var(--ok-radius-card);             /* 16 (у канона 12) */
  background:var(--ok-section-a);
  text-align:center;
}
.ok-partners a.okna-part__card:hover{
  border-color:var(--ok-blue);
  box-shadow:var(--ok-shadow-soft);
}
.ok-partners .okna-part__logo{
  height:56px;
  width:100%;
  max-width:120px;
}
.ok-partners .okna-part__logo img{ max-height:48px; }
/* Карточка БЕЗ файла лого (Volga Line / EuroBus / Дилижанс). Канон рисует голубую
   плашку с рамкой, мастер — просто жирное название 17px/800. Берём мастер. */
.ok-partners .okna-part__logo--plate{
  padding:0;
  border:0;
  border-radius:0;
  background:none;
}
.ok-partners .okna-part__logo--plate b{
  font-size:17px;
  font-weight:var(--ok-fw-black);
  line-height:1.2;
  color:var(--ok-ink);
}
.ok-partners .okna-part__name{
  margin-top:0;
  font-size:14px;
  font-weight:var(--ok-fw-bold);
  line-height:1.35;
  color:var(--ok-ink);
}
.ok-partners .okna-part__role{
  font-size:12px;
  line-height:1.4;
  color:var(--ok-text-muted);
}

.ok-partners .okna-part__meta{ margin-top:18px; }
.ok-partners .okna-part__counter{ font-size:13px; color:var(--ok-text-muted); }
.ok-partners .okna-part__counter b{ color:var(--ok-ink); }

/* Нижняя плашка. У канона она голубая с белым кружком под иконкой — мастер даёт
   светло-серую карточку и «голую» иконку-щит. */
.ok-partners .okna-part__note{
  gap:16px;
  align-items:flex-start;
  margin-top:22px;
  padding:18px 22px;
  border:1px solid var(--ok-border);
  border-radius:var(--ok-radius-card);
  background:var(--ok-section-b);
}
.ok-partners .okna-part__note-ic{
  flex:0 0 auto;
  width:auto;
  height:auto;
  border-radius:0;
  background:none;
  display:block;
}
.ok-partners .okna-part__note b{
  margin-bottom:0;
  font-size:15px;
  font-weight:var(--ok-fw-bold);
  line-height:1.4;
  color:var(--ok-text);
}
.ok-partners .okna-part__note p{
  margin-top:4px;
  font-size:14px;
  line-height:1.5;
  color:var(--ok-text-2);
}

/* ── [PARTNERS] РЕСПОНСИВ ─────────────────────────────────────────────────── */
@media (max-width:1024px){
  html body .ok-partners{ padding-block:var(--ok-section-space-tablet); }
  .ok-partners .okna-part__card{ flex-basis:calc((100% - 3 * 14px) / 4); }
}

@media (max-width:768px){
  .ok-partners .gv-head{ margin-bottom:16px; }
  .ok-partners .gv-head .gv-eyebrow{ margin-bottom:10px; padding:6px 11px; font-size:11.5px; }
  .ok-partners .gv-head h2{ padding-bottom:12px; }
  .ok-partners .gv-head__sub{ font-size:14px; }
  .ok-partners .okna-part__card{ flex-basis:150px; padding:14px; gap:6px; }
  .ok-partners .okna-part__logo{ height:44px; max-width:100px; }
  .ok-partners .okna-part__logo img{ max-height:38px; }
  .ok-partners .okna-part__logo--plate b{ font-size:14px; }   /* мастер-мобайл: 14px/800 */
  .ok-partners .okna-part__name{ font-size:12.5px; color:var(--ok-text); }
  .ok-partners .okna-part__role{ font-size:11px; }
  /* design.css @768 разворачивает плашку в колонку по центру — мастер оставляет
     строку «щит + текст» и на мобилке. Специфичность (0,2,0) > (0,1,0). */
  .ok-partners .okna-part__note{
    flex-direction:row;
    text-align:left;
    margin-top:14px;
    padding:14px 16px;
    gap:12px;
  }
  .ok-partners .okna-part__note b{ font-size:14px; }
  .ok-partners .okna-part__note p{ font-size:13px; }
}

@media (max-width:600px){
  html body .ok-partners{ padding-block:var(--ok-section-space-mobile) 48px; }
  /* MOBM-02: зазор ленты по макету #02 (стр.1794) = 10px, не 14 (десктопный calc-шаг).
     Карточка на мобилке фикс.150px — сужение gap её ширину не трогает. */
  .ok-partners .okna-part__track{ gap:10px; }
  /* Мастер отдаёт ленте всю ширину экрана. Стрелки НЕ прячем (это контрол, а не
     декор) — переносим их под ленту, ряд получает полную ширину как в мастере. */
  .ok-partners .okna-part__slider{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    column-gap:8px;
    row-gap:12px;
    align-items:center;
  }
  .ok-partners .okna-part__viewport{ grid-column:1 / -1; grid-row:1; }
  .ok-partners .okna-part__nav--prev{ grid-column:2; grid-row:2; }
  .ok-partners .okna-part__nav--next{ grid-column:3; grid-row:2; }
  .ok-partners .okna-part__meta{ margin-top:12px; }
}

