/* ==========================================================================
   Fonteam — светлая редакционная тема.
   Красный работает только как акцент бренда, действия — синие,
   исходы прогнозов — зелёный и красный. Слой поверх app.css / custom.css.
   ========================================================================== */

/* ------------------------------ ТОКЕНЫ ---------------------------------- */
:root{
  /* нейтрали уведены в тёплый серый — под красный акцент, а не в чистый графит */
  --bg:#F6F5F5;
  --surface:#FFFFFF;
  --surface-2:#F1EEEF;
  --surface-3:#E8E4E5;
  --ink:#1A1718;
  --ink-2:#5F585A;
  --ink-3:#948C8E;
  --line:#E5E1E2;
  --line-2:#D4CDCF;

  --red:#C0122B;            /* бренд: логотип, рубрики, активный пункт меню */
  --red-soft:#FBEDEF;
  --red-ink:#9B0E22;

  --blue:#1C4FA1;           /* действия: кнопки, ссылки */
  --blue-hover:#173F82;
  --blue-soft:#EDF1F9;
  --on-blue:#FFFFFF;

  --green:#0F7A55;          /* положительный исход */
  --green-soft:#E9F4EF;

  --shadow:0 1px 1px rgba(26,23,24,.04);
  --shadow-lift:0 2px 4px rgba(26,23,24,.05),0 12px 28px -14px rgba(26,23,24,.18);

  --r:10px; --r-sm:7px;
  --font-d:"Golos Text",system-ui,sans-serif;
  --font-b:"Onest",system-ui,-apple-system,sans-serif;
  --font-s:"PT Serif",Georgia,serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#141213; --surface:#1B1819; --surface-2:#231F20; --surface-3:#2C2728;
    --ink:#F0ECED; --ink-2:#ADA4A6; --ink-3:#7C7375;
    --line:#2C2728; --line-2:#3A3435;
    --red:#F0455C; --red-soft:#2A1418; --red-ink:#F5798A;
    --blue:#6C9BEC; --blue-hover:#89B0F2; --blue-soft:#16202F; --on-blue:#0A1220;
    --green:#3FBE8C; --green-soft:#12261E;
    --shadow:0 1px 1px rgba(0,0,0,.5);
    --shadow-lift:0 2px 4px rgba(0,0,0,.5),0 12px 28px -14px rgba(0,0,0,.75);
  }
}
:root[data-theme="dark"]{
  --bg:#141213; --surface:#1B1819; --surface-2:#231F20; --surface-3:#2C2728;
  --ink:#F0ECED; --ink-2:#ADA4A6; --ink-3:#7C7375;
  --line:#2C2728; --line-2:#3A3435;
  --red:#F0455C; --red-soft:#2A1418; --red-ink:#F5798A;
  --blue:#6C9BEC; --blue-hover:#89B0F2; --blue-soft:#16202F; --on-blue:#0A1220;
  --green:#3FBE8C; --green-soft:#12261E;
  --shadow:0 1px 1px rgba(0,0,0,.5);
  --shadow-lift:0 2px 4px rgba(0,0,0,.5),0 12px 28px -14px rgba(0,0,0,.75);
}

/* ------------------------------ БАЗА ------------------------------------ */
html{background:var(--bg)!important}
body{
  background:var(--bg)!important;
  color:var(--ink)!important;
  font-family:var(--font-b)!important;
  font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--red);color:#fff}
a{color:var(--ink);text-decoration:none;transition:color .16s}
a:hover{color:var(--blue)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

h1,h2,h3,h4,h5{
  font-family:var(--font-d)!important;
  font-weight:800!important;
  letter-spacing:-.02em;
  line-height:1.14;
  text-transform:none;
  text-wrap:balance;
  color:var(--ink)!important;
}
h1{font-size:clamp(27px,3.4vw,40px);letter-spacing:-.028em}
h2{font-size:clamp(21px,2.6vw,29px)}
h3{font-size:clamp(17px,2vw,21px)}

/* ---------------------------- ШАПКА ------------------------------------- */
.header{
  background:color-mix(in srgb,var(--surface) 88%,transparent)!important;
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line)!important;
  position:sticky; top:0; z-index:1030;
  height:auto!important; padding:0!important;
}
.header .navbar,.header .navbar.bg-dark{background:transparent!important;padding:.5rem 0!important}
.header .container-fluid{padding-left:0;padding-right:0;gap:8px}
.navbar-brand{padding:4px 0!important}
.navbar-brand img{height:30px;width:auto;display:block}
/* логотип двухцветный: «FON» красный, «team» белый — на светлом фоне
   вторая половина пропадала, поэтому в светлой теме подменяем на тёмный вариант */
.navbar-brand img{content:url('/build/images/header-logo-dark.png')}
:root[data-theme="dark"] .navbar-brand img{content:url('/build/images/header-logo.png')}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .navbar-brand img{content:url('/build/images/header-logo.png')}
}

.header .nav-link{
  font-family:var(--font-b)!important;
  font-weight:500!important;
  font-size:15px!important;
  color:var(--ink-2)!important;
  padding:8px 2px!important;
  margin:0 14px;
  border-radius:0;
  position:relative;
  transition:color .16s;
}
.header .nav-link::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--red);border-radius:2px;
  transform:scaleX(0);transform-origin:left;transition:transform .2s ease-out;
}
.header .nav-link:hover{color:var(--ink)!important;background:transparent}
.header .nav-link:hover::after{transform:scaleX(1)}
.header .nav-link.active{color:var(--ink)!important;font-weight:600!important;background:transparent}
.header .nav-link.active::after{transform:scaleX(1)}

.navbar-toggler{border:1px solid var(--line-2)!important;border-radius:var(--r-sm);padding:7px 9px!important}
.navbar-toggler:focus{box-shadow:none!important}
.navbar-toggler-icon{background-image:none!important;position:relative;width:19px;height:13px;display:block}
.navbar-toggler-icon::before,.navbar-toggler-icon::after,.navbar-toggler-icon i{
  content:"";position:absolute;left:0;right:0;height:1.8px;border-radius:2px;background:var(--ink);
}
.navbar-toggler-icon::before{top:0}
.navbar-toggler-icon::after{bottom:0}
.navbar-toggler-icon i{top:5.6px}

.theme-toggle{
  width:36px;height:36px;border-radius:var(--r-sm);
  border:1px solid var(--line);background:var(--surface);color:var(--ink-2);
  display:inline-grid;place-items:center;cursor:pointer;
  transition:all .16s;margin-left:12px;flex-shrink:0;
}
.theme-toggle:hover{color:var(--blue);border-color:var(--blue)}
.theme-toggle svg{width:17px;height:17px}

@media (max-width: 991.98px){
  .header .navbar-collapse{
    background:var(--surface);border:1px solid var(--line);
    border-radius:var(--r);margin-top:10px;padding:6px 12px;
  }
  .header .nav-link{margin:0;padding:11px 0!important}
}

/* -------------------------- КАРТОЧКИ ------------------------------------ */
.news,.video,.resident-item{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  overflow:hidden;
  height:100%;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.news:hover,.video:hover,.resident-item:hover{
  border-color:var(--line-2);
  box-shadow:var(--shadow-lift);
  transform:translateY(-2px);
}
.news__image,.video__image-bg{border-radius:0!important;overflow:hidden;background:var(--surface-3)}
.news__image img,.video__image-bg img{
  width:100%;height:auto;display:block;
  transition:transform .45s cubic-bezier(.2,.8,.3,1);
}
.news:hover .news__image img,.video:hover .video__image-bg img{transform:scale(1.03)}
.news-info,.video-info{padding:15px 17px 17px}

.news__link,.video__link{
  font-family:var(--font-d)!important;
  font-weight:700!important;
  font-size:16.5px!important;
  line-height:1.26!important;
  letter-spacing:-.017em;
  color:var(--ink)!important;
  display:block;
}
.news__link:hover,.video__link:hover{color:var(--blue)!important}
.news__extract{
  color:var(--ink-2)!important;
  font-size:14.5px!important;
  line-height:1.52;
  font-family:var(--font-b)!important;
}
.news__date,.video__date,.video__digest{
  font-size:12.5px!important;
  color:var(--ink-3)!important;
  font-family:var(--font-b)!important;
  font-variant-numeric:tabular-nums;
  font-weight:500;
}
/* рубрика — единственное место, где красный работает как метка */
.news__category{
  font-family:var(--font-b)!important;
  font-weight:700!important;
  font-size:11.5px!important;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--red)!important;
  background:transparent!important;
  padding:0!important;
}
.news__link-more{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-b)!important;font-weight:600!important;
  font-size:13.5px!important;color:var(--blue)!important;letter-spacing:0;text-transform:none;
}
.news__link-more::after{content:"→";transition:transform .18s;display:inline-block}
.news__link-more:hover::after{transform:translateX(3px)}

/* ------------------------ ЗАГОЛОВКИ СЕКЦИЙ ------------------------------ */
.section-header{
  font-family:var(--font-d)!important;
  font-weight:800!important;
  font-size:clamp(19px,2.3vw,25px)!important;
  letter-spacing:-.022em;
  text-transform:none!important;
  color:var(--ink)!important;
  display:flex;align-items:center;gap:12px;
  margin-bottom:18px!important;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.section-header::before{
  content:"";flex-shrink:0;width:3px;height:1.05em;
  border-radius:2px;background:var(--red);
}

/* --------------------------- РЕЗИДЕНТЫ ---------------------------------- */
.resident-item__image{border-radius:0!important;overflow:hidden}
.resident-item__image img{width:100%;height:auto;display:block}
.resident-item__name{
  font-family:var(--font-d)!important;font-weight:700!important;
  font-size:16px!important;letter-spacing:-.015em;text-transform:none;
  color:var(--ink)!important;
}
.resident-item__status{
  display:inline-block;
  font-family:var(--font-b)!important;font-weight:600!important;
  font-size:11.5px!important;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink-3)!important;background:transparent;border:none;
  padding:0;margin-top:4px;
}

/* ------------------------------ ТЕГИ ------------------------------------ */
.tags__link{
  display:inline-block;
  font-family:var(--font-b)!important;font-weight:500!important;
  font-size:13px!important;letter-spacing:0;text-transform:none;
  color:var(--ink-2)!important;background:var(--surface-2);
  border:1px solid transparent;border-radius:999px;
  padding:5px 13px;margin:0 6px 6px 0;transition:all .16s;
}
.tags__link:hover{color:var(--blue)!important;background:var(--blue-soft)}

/* ------------------------- СТРАНИЦА НОВОСТИ ------------------------------ */
.news-view,
.news-last-block,
.result-table,
.forecast-view,
.resident-view,
.podcast-view,
.page-content{
  background:var(--surface)!important;
  color:var(--ink)!important;
  border:1px solid var(--line);
  border-radius:var(--r);
  box-shadow:var(--shadow);
}
.news-view h1{margin-bottom:12px}
/* длинный текст — с засечками: так статья читается как редакционный материал */
.news-view p,.news-view li{
  font-family:var(--font-s)!important;
  font-size:17.5px;line-height:1.68;color:var(--ink);
}
.news-view a{color:var(--blue);border-bottom:1px solid color-mix(in srgb,var(--blue) 35%,transparent)}
.news-view a:hover{border-bottom-color:var(--blue)}
.news-view img{max-width:100%;height:auto;border-radius:var(--r-sm)}
.news-view blockquote{
  border-left:2px solid var(--red);
  background:transparent;border-radius:0;
  padding:4px 0 4px 20px;margin:24px 0;
}
.news-view blockquote,
.news-view blockquote p,
.news-view blockquote span,
.news-view blockquote strong{color:var(--ink)!important;font-family:var(--font-s)!important}
.news__image-caption{
  color:var(--ink-3)!important;font-size:13px!important;
  font-family:var(--font-b)!important;font-style:normal;
}
.author__image{border-radius:50%;object-fit:cover}
.author__name{font-family:var(--font-b)!important;font-weight:600!important;color:var(--ink)!important}
.author__status{color:var(--ink-3)!important;font-size:13px}

/* кнопка-ссылка из редактора — основное действие, синяя */
.knop{
  display:inline-block;
  background:var(--blue)!important;
  border-radius:var(--r-sm)!important;
  padding:11px 22px!important;
  margin-left:0!important;
  box-shadow:none;
  transition:background .16s;
}
.knop:hover{background:var(--blue-hover)!important}
.knop a,
.news-view blockquote .knop a{
  color:var(--on-blue)!important;
  font-family:var(--font-b)!important;font-weight:600!important;
  letter-spacing:.01em;text-transform:none;font-size:14.5px;border:none!important;
}

/* --------------------------- КНОПКИ ------------------------------------- */
.btn,button.btn,a.btn,input[type="submit"]{
  font-family:var(--font-b);font-weight:600;font-size:14.5px;
  border-radius:var(--r-sm);padding:10px 20px;min-height:40px;
  border:1px solid transparent;transition:all .16s;
}
.btn-primary,.btn.btn-primary{background:var(--blue)!important;border-color:var(--blue)!important;color:var(--on-blue)!important}
.btn-primary:hover{background:var(--blue-hover)!important;border-color:var(--blue-hover)!important}
.btn-secondary,.btn-outline-primary{
  background:var(--surface)!important;border-color:var(--line-2)!important;color:var(--ink)!important;
}
.btn-secondary:hover,.btn-outline-primary:hover{border-color:var(--blue)!important;color:var(--blue)!important}
.btn-success{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important}

/* --------------------- ТАБЛИЦЫ ТУРНИРНЫХ ПОЛОЖЕНИЙ ---------------------- */
.result-table table{width:100%;border-collapse:collapse}
.result-table th,.result-table th *{
  font-family:var(--font-b)!important;font-weight:600!important;
  font-size:11.5px!important;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-3)!important;background:transparent!important;
}
.result-table th{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line)}
.result-table td,.result-table td *{
  color:var(--ink)!important;font-size:14.5px;font-family:var(--font-b)!important;
}
.result-table td{padding:11px 12px;border-bottom:1px solid var(--line)}
.result-table tr:last-child td{border-bottom:none}
.result-table td:last-child{font-weight:600;font-variant-numeric:tabular-nums}

/* ------------------------------ ФУТЕР ----------------------------------- */
.footer{
  background:var(--surface)!important;
  border-top:1px solid var(--line);
  color:var(--ink-2)!important;
  margin-top:56px;padding:36px 0 28px!important;
}
.footer a{color:var(--ink-2)!important}
.footer a:hover{color:var(--blue)!important}
.copyright-text{color:var(--ink-3)!important;font-size:13px}
.social-icons__icon{
  width:36px!important;height:36px!important;
  border:1px solid var(--line);border-radius:var(--r-sm);
  display:inline-grid!important;place-items:center;transition:all .16s;
}
.social-icons__icon:hover{border-color:var(--blue)}
.footer img[src*="footer-logo"]{content:url('/build/images/header-logo-dark.png');height:28px;width:auto}
:root[data-theme="dark"] .footer img[src*="footer-logo"]{content:url('/build/images/footer-logo.png')}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .footer img[src*="footer-logo"]{content:url('/build/images/footer-logo.png')}
}

/* ---------------- НАСЛЕДИЕ СТАРОЙ ТЁМНОЙ ВЁРСТКИ ------------------------- */
/* секции, где фон был жёстко чёрным, и блоки, где он был жёстко белым */
.homepage > .container,
.section-youtube-digest,
.section-fonteam,
.news-section{
  background:var(--surface)!important;
  border:1px solid var(--line);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  padding:22px!important;
}
.fonteam-residents,.section-main-desktop__wrapper,.swiper-main{
  background:transparent!important;border:none;box-shadow:none;padding:0!important;
}
.homepage > .container{margin-bottom:24px}
.section-main-desktop__wrapper .news,.swiper-main .news{box-shadow:none}
.fblic{
  background:var(--surface-2)!important;color:var(--ink-3)!important;
  border-radius:var(--r-sm);padding:14px 16px;font-size:12px;line-height:1.5;
}
.news-view *,.news-last-block *,.result-table *{border-color:var(--line)}
.news-last-block .news{box-shadow:none;border-radius:var(--r-sm)}

/* заголовки поверх изображений — читаемость независимо от темы */
.news__image-bg,.video__image-bg{position:relative;display:block}
.news__image-bg::after,.video__image-bg::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(14,11,12,.86) 0%,rgba(14,11,12,.4) 45%,rgba(14,11,12,0) 78%);
}
.news__image-bg > *,.video__image-bg > *{position:relative;z-index:1}
.news__image-bg .news__link,.video__image-bg .video__link,
.news__image-bg .news__date,.video__image-bg .video__date{
  color:#fff!important;text-shadow:0 1px 10px rgba(0,0,0,.45);
}

/* ------------------------- РЕКЛАМНЫЕ БЛОКИ ------------------------------ */
section.bgmobileadv{text-align:center;margin:0 0 -2px}
/* нулевая высота контейнера заставляет SDK AdFox считать его скрытым */
div[id^="adfox_"]{min-height:1px}
section.bgmobileadv:empty{min-height:0;margin:0}

/* ------------------------------ ПРОЧЕЕ ---------------------------------- */
.container{max-width:1180px}
hr{border-color:var(--line)}
.swiper-slide{height:auto}
.swiper-pagination-bullet{background:var(--line-2);opacity:1}
.swiper-pagination-bullet-active{background:var(--red)}
.embed-responsive-item,.ratio > *{border-radius:var(--r-sm)}
input,textarea,select{
  background:var(--surface);color:var(--ink);
  border:1px solid var(--line-2);border-radius:var(--r-sm);
  padding:10px 14px;font-family:var(--font-b);
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--blue)}
::placeholder{color:var(--ink-3)}
