/*!
Theme Name: Mivon Child
Theme URI: https://bslthemes.com/
Author: bslthemes
Author URI: https://themeforest.net/user/bslthemes
Description: Mivon - Creative Agency & Portfolio WordPress Theme
Version: 1.0.0
License: General Public License
License URI: http://www.gnu.org/licenses/gpl.html
Template: mivon
Text Domain: mivon-child
Tags: full-width-template, editor-style, featured-images, sticky-post, threaded-comments, translation-ready, theme-options
*/

/* ============================================================
   Кириллические шрифты

   Родительская тема набрана Funnel Display (и грузит Mona Sans) —
   у обеих гарнитур только латиница, поэтому русский текст
   подменялся системным шрифтом и выпадал из стиля.

   Onest — ближайший по рисунку к Funnel Display: та же геометрия,
   круглые овалы, схожие пропорции, полная кириллица.
   Inter — ближайший к Mona Sans, для мелкого текста и интерфейса.
   ============================================================ */

:root {
  --ns-font: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ns-font-text: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

body {
  font-family: var(--ns-font);
}

/* Явные обращения к латинским гарнитурам — на случай, если тема или
   виджеты зададут их по имени в инлайновых стилях. */
[style*="Funnel Display"],
[style*="Mona Sans"] {
  font-family: var(--ns-font) !important;
}

/* Мелкий служебный текст читается лучше нейтральным гротеском. */
.mivon-menu-btn,
.copyright,
small,
figcaption {
  font-family: var(--ns-font-text);
}

/* Кириллица в Onest немного плотнее латиницы — компенсируем трекинг
   у крупных заголовков, чтобы держать исходный ритм макета. */
h1,
h2,
.h1,
.h2 {
  letter-spacing: -0.02em;
}

/* Всплывающая картинка в блоке наград.

   Родительская тема задаёт бокс 210x250 (пропорция 0.84) с background-size:
   cover, а сами дипломы — 848x1200, то есть 0.707. Cover подгоняет картинку
   по ширине, высота уходит за 250px, и диплом срезается сверху и снизу.
   Приводим бокс к пропорции изображения: 210 / 0.707 = 297. Тогда cover
   ничего не режет, и при этом не появляется пустых полей по бокам, как было
   бы с contain. */
.awards-reval .hover-reveal-item .award-reveal-img {
  width: 210px;
  height: 297px;
}

/* Заголовок блока отзывов (testim-style3).

   В родительской теме у .tobotm стоит margin-bottom: -30px — заголовок
   намеренно заезжает под карточки. Заказчику нужен обычный отступ вниз. */
.testim-style3 .tobotm {
  margin-bottom: 40px;
}

/* Блок услуг: всплывающее фото поверх текста.

   В родительской теме строка с текстом получает z-index: 9999999999, а
   картинка — всего 9, поэтому фото уезжает под заголовки. Заказчику нужно
   наоборот. Просто поднять z-index у картинки нельзя: 9999999999 больше
   32-битного предела и браузер всё равно приведёт его к 2147483647,
   поэтому опускаем саму строку. */
.services-reval .item-row > .row {
  z-index: 1;
}
.services-reval .hover-reveal-item .award-reveal-img {
  z-index: 10;
}

/* Скроллбар страницы. Геометрию берём из ocifrovka (тема bizmaster):
   ширина 10px, ползунок без скругления, слегка подкрашенная дорожка.

   Цвет ползунка: чёрный в тёмной теме, белый в светлой. Тему переключает
   класс `light` на body (тёмная — состояние по умолчанию), поэтому правила
   вешаем на body, а не на html: html класс не получает, и через него
   переключение цвета не сделать. Для документа Chrome берёт стили с body,
   если у html их нет — так же поступает и исходная тема. */
body::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
body::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.06);
}
body::-webkit-scrollbar-thumb {
  background: #000;
  border-radius: 0;
}

body.light::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.06);
}
body.light::-webkit-scrollbar-thumb {
  background: #fff;
}

/* Firefox — своя пара свойств, псевдоэлементы он не понимает. */
/* Стандартные свойства — только для браузеров без ::-webkit-scrollbar
   (Firefox). Chrome их тоже понимает, но при их наличии полностью
   игнорирует webkit-псевдоэлементы, и оформление слетает на системное. */
@supports not selector(::-webkit-scrollbar) {
  body {
    scrollbar-width: thin;
    scrollbar-color: #000 rgba(255, 255, 255, 0.06);
  }
  body.light {
    scrollbar-color: #fff rgba(0, 0, 0, 0.06);
  }
}

/* Скроллбар окна: правила должны висеть на html.

   У body в родительской теме стоит overflow-x: hidden, поэтому оформление
   скроллбара окна браузер берёт с html, а не с body — правила выше на body
   до окна не доходили. Класс темы `light` при этом висит на body, до html
   он не поднимается, поэтому светлый вариант ловим через :has(). */
html::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
html::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.06);
}
html::-webkit-scrollbar-thumb {
  background: #000;
  border-radius: 0;
}
html:has(body.light)::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.06);
}
html:has(body.light)::-webkit-scrollbar-thumb {
  background: #fff;
}

@supports not selector(::-webkit-scrollbar) {
  html {
    scrollbar-width: thin;
    scrollbar-color: #000 rgba(255, 255, 255, 0.06);
  }
  html:has(body.light) {
    scrollbar-color: #fff rgba(0, 0, 0, 0.06);
  }
}

/* Соцсети в выпадающем меню: без «магнита» под курсором.

   scripts.js вешает на каждый .hover-this обработчик mousemove и пишет
   вложенной ссылке инлайновый transform: translate(±25px) — строки уезжают
   за курсором. Обработчик снять нельзя, не трогая тему, поэтому гасим сам
   сдвиг: инлайновый стиль перебивается только !important. Ссылка остаётся
   кликабельной, подсветка при наведении работает как прежде. */
.hamenu ul.rest li.hover-this .hover-anim {
  transform: none !important;
}

/* Команда: должности скрыты по просьбе заказчика.

   Виджет mivon-team-card печатает роль в .info рядом с именем. Прячем
   блок, а не стираем текст в Elementor: вернуть достаточно удалением
   этого правила. */
.team-style1 .info .mil-text.opacity-5 {
  display: none;
}
