/*
Theme Name: Лыжная статистика
Theme URI: https://example.ru/
Author: Для сайта лыжных гонок Наро-Фоминска
Description: Современная тема для сайта лыжных гонок: тёмно-синяя шапка,
 слайдер, три колонки на главной, боковая панель и подвал. Полностью
 совместима с прежней темой: те же меню, виджеты и настройки.
Version: 1.0
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lyzhnya
Tags: sports, blog, custom-logo, custom-menu, featured-images, translation-ready
*/

/* ==========================================================
   1. ПЕРЕМЕННЫЕ И БАЗА
   ========================================================== */
:root{
  --navy:#0b2239;
  --navy-2:#123a5e;
  --brand:#1f5c9e;
  --brand-2:#2f7fd1;
  --ice:#eaf2fb;
  --ice-2:#f6f9fd;
  --line:#dbe6f3;
  --ink:#16263a;
  --ink-2:#5d7291;
  --gold:#e0a51b;
  --red:#c0392b;
  --shadow:0 1px 2px rgba(11,34,57,.06),0 10px 28px rgba(11,34,57,.10);
  --radius:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ice-2);color:var(--ink);
  font-family:'Segoe UI','PT Sans',system-ui,-apple-system,Arial,sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand-2);text-decoration:underline}
h1,h2,h3,h4{font-weight:700;line-height:1.25;color:var(--navy);margin:0 0 .5em}
h1{font-size:2rem}
h2{font-size:1.5rem}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.clear{clear:both}
.screen-reader-text{position:absolute!important;width:1px;height:1px;
  overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* ==========================================================
   2. ОБЁРТКА
   ========================================================== */
#body-content-wrapper{min-height:100vh;display:flex;flex-direction:column}
#main-content-wrapper{max-width:1200px;width:100%;margin:0 auto;
  padding:26px 20px 40px;display:flex;gap:28px;align-items:flex-start;flex:1}
#main-content{flex:1 1 auto;min-width:0}
#sidebar{flex:0 0 320px;max-width:320px}
@media(max-width:960px){
  #main-content-wrapper{flex-direction:column;padding:18px 14px 30px}
  #sidebar{flex:1 1 auto;max-width:100%}
}

/* ==========================================================
   3. ШАПКА
   ========================================================== */
#header-main-fixed{background:linear-gradient(135deg,#0b2239,#123a5e 55%,#1f5c9e);
  color:#fff;box-shadow:0 2px 14px rgba(11,34,57,.25);position:relative;z-index:50}
#header-main-fixed:after{content:'';display:block;height:4px;
  background:linear-gradient(90deg,var(--gold),#f0c445 40%,var(--gold));}
#header-content-wrapper{max-width:1200px;margin:0 auto;padding:14px 20px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap}
#header-logo{display:flex;align-items:center;gap:14px;margin:0}
#header-logo .custom-logo-link img{max-height:60px;width:auto;display:block}
#site-identity{min-width:0}
#site-identity h1,#site-identity .entry-title{margin:0;line-height:1.15}
#site-identity h1 a,#site-identity .entry-title a{
  color:#fff;font-size:1.55rem;font-weight:700;letter-spacing:.01em}
#site-identity strong{display:block;font-weight:400;font-size:.82rem;
  color:#a9c6e6;margin-top:3px;letter-spacing:.02em}
#navmain{margin-left:auto}
#navmain ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
  align-items:center;gap:4px}
#navmain li{position:relative;margin:0;padding:0}
#navmain a{display:block;padding:9px 13px;border-radius:10px;color:#dbe8f7;
  font-size:.94rem;font-weight:400;white-space:nowrap;transition:.15s}
#navmain a:hover,#navmain .current-menu-item>a,#navmain .current_page_item>a{
  background:rgba(255,255,255,.14);color:#fff;text-decoration:none}
#navmain .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:210px;
  background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:8px;
  flex-direction:column;z-index:60}
#navmain li:hover>.sub-menu{display:flex}
#navmain .sub-menu a{color:var(--ink);border-radius:8px}
#navmain .sub-menu a:hover{background:var(--ice);color:var(--navy)}
.nav-toggle{display:none;margin-left:auto;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:10px;
  padding:9px 14px;font:inherit;cursor:pointer}
@media(max-width:860px){
  #header-content-wrapper{padding:12px 14px;gap:12px}
  #navmain{display:none;width:100%;margin-left:0}
  #navmain.open{display:block}
  #navmain ul{flex-direction:column;align-items:stretch}
  #navmain .sub-menu{position:static;display:block;box-shadow:none;
    background:rgba(255,255,255,.08);margin:2px 0 6px}
  #navmain .sub-menu a{color:#dbe8f7}
  .nav-toggle{display:block}
}

/* ==========================================================
   4. СЛАЙДЕР
   ========================================================== */
.slider-wrapper{max-width:1200px;margin:0 auto;padding:0 20px}
.ei-slider{position:relative;width:100%;height:420px;overflow:hidden;
  border-radius:var(--radius);margin:20px 0 6px;background:var(--navy)}
.ei-slider-large{position:relative;height:100%;margin:0;padding:0;list-style:none}
.ei-slider-large li{position:absolute;top:0;left:0;width:100%;height:100%;
  overflow:hidden;list-style:none}
.ei-slider-large li img{width:100%;height:100%;object-fit:cover;display:block}
.ei-slider-thumbs{list-style:none;margin:10px 0 0;padding:0;display:flex;gap:8px;
  justify-content:center}
.ei-slider-thumbs li{list-style:none;width:74px;height:46px;overflow:hidden;
  border-radius:8px;opacity:.55;cursor:pointer;transition:.2s;position:relative}
.ei-slider-thumbs li.ei-slider-element,.ei-slider-thumbs li:hover{opacity:1}
.ei-slider-thumbs li img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:860px){.ei-slider{height:230px}
  .ei-slider-thumbs li{width:52px;height:34px}}

/* ==========================================================
   5. ГЛАВНАЯ: ТРИ КОЛОНКИ
   ========================================================== */
#home-cols{max-width:1200px;margin:22px auto 0;padding:0 20px}
#home-cols-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
#home-cols .col3a,#home-cols .col3b,#home-cols .col3c{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 20px 8px;box-shadow:var(--shadow)}
#home-cols .sidebar-title{font-size:1.1rem;margin:0 0 12px;color:var(--navy);
  padding-bottom:10px;border-bottom:2px solid var(--ice)}
@media(max-width:960px){#home-cols-inner{grid-template-columns:1fr}}
.sidebar-after-title{display:none}

/* ==========================================================
   6. ЗАПИСИ
   ========================================================== */
article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 24px;margin-bottom:20px;box-shadow:var(--shadow)}
article .entry-title{margin:0 0 10px;font-size:1.45rem}
article .entry-title a{color:var(--navy)}
article .entry-title a:hover{color:var(--brand);text-decoration:none}
.before-content{display:none}
article .content img{border-radius:10px}
.after-content{margin-top:14px;padding-top:12px;border-top:1px solid var(--ice);
  font-size:.85rem;color:var(--ink-2)}
.after-content a{color:var(--ink-2)}
.post-links{margin-top:16px;padding-top:12px;border-top:1px solid var(--ice);
  display:flex;justify-content:space-between;gap:12px;font-size:.9rem}
.pagination,.page-links{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.pagination .page-numbers,.page-links a,.page-links>span{display:inline-block;
  padding:7px 13px;border-radius:10px;background:#fff;border:1px solid var(--line);
  color:var(--brand);font-size:.9rem}
.pagination .current,.page-links>span{background:var(--brand);color:#fff;
  border-color:var(--brand)}

/* ==========================================================
   7. БОКОВАЯ ПАНЕЛЬ И ПОДВАЛ
   ========================================================== */
#sidebar .widget{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;margin-bottom:18px;box-shadow:var(--shadow)}
#sidebar .sidebar-title{font-size:1.05rem;margin:0 0 12px;color:var(--navy);
  padding-bottom:10px;border-bottom:2px solid var(--ice)}
#sidebar ul{list-style:none;margin:0;padding:0}
#sidebar li{padding:6px 0;border-bottom:1px dashed var(--line);font-size:.93rem}
#sidebar li:last-child{border-bottom:0}
#footer-main{background:var(--navy);color:#b9cde3;margin-top:40px}
#footer-content-wrapper{max-width:1200px;margin:0 auto;padding:36px 20px 20px}
#footer-cols-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
#footer-cols .footer-title{color:#fff;font-size:1.02rem;margin:0 0 12px}
#footer-cols a{color:#b9cde3}
#footer-cols a:hover{color:#fff}
#footer-cols ul{list-style:none;margin:0;padding:0}
#footer-cols li{padding:5px 0;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.07)}
#footer-menu{margin:26px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
#footer-menu ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;flex-wrap:wrap}
#footer-menu a{color:#b9cde3;font-size:.9rem}
#copyright{margin-top:18px;font-size:.82rem;color:#7e98b8}
#copyright a{color:#9db6d3}
.scrollup{display:none}
@media(max-width:860px){#footer-cols-inner{grid-template-columns:1fr}}

/* ==========================================================
   8. ВИДЖЕТЫ, ФОРМЫ, ПОИСК
   ========================================================== */
input[type=text],input[type=search],input[type=email],input[type=url],
textarea,select{width:100%;padding:10px 12px;border:1px solid var(--line);
  border-radius:10px;font:inherit;font-size:.95rem;background:#fff;color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand-2);
  box-shadow:0 0 0 3px rgba(47,127,209,.15)}
button,input[type=submit]{background:var(--brand);color:#fff;border:0;
  border-radius:10px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer}
button:hover,input[type=submit]:hover{background:var(--navy-2)}
.search-form{display:flex;gap:8px}
.widget{margin-bottom:18px}

/* ==========================================================
   9. ТАБЛИЦЫ (если в записи есть таблица)
   ========================================================== */
article table{width:100%;border-collapse:collapse;font-size:.92rem;margin:0 0 1em}
article th,article td{padding:8px 10px;border:1px solid var(--line);text-align:left}
article th{background:var(--ice)}

/* ==========================================================
   10. СПИСКИ ЗАПИСЕЙ: ТОЛЬКО ЗАГОЛОВКИ
   В «Протоколах» записи — это файлы, анонс не нужен.
   В списке остаётся заголовок-ссылка, оформленный как плашка.
   ========================================================== */
ul.archive-list{display:block}
/* Карточка записи в списке: белое окно с синими полосами СВЕРХУ и СНИЗУ.
   Полосы — через box-shadow, чтобы не сдвигать рамку и отступы. */
#main-content > article,
.archive-list-item{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:
    0 -4px 0 0 var(--brand),
    0 4px 0 0 var(--brand),
    0 4px 14px rgba(11,34,57,.08);
  padding:10px 0 10px 22px;
  margin:0 0 18px 0;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
#main-content > article:hover,
.archive-list-item:hover{
  background:var(--ice);transform:translateX(3px);
  box-shadow:
    0 -4px 0 0 var(--brand),
    0 4px 0 0 var(--brand),
    0 8px 20px rgba(11,34,57,.16)}
#main-content > article h2.entry-title,
.archive-list-item h2.entry-title{
  /* заголовок опускаем от верхней полосы */
  margin:0;padding:10px 18px 10px 0;font-size:1.02rem;font-weight:600;line-height:1.35}
#main-content > article h2.entry-title a,
.archive-list-item h2.entry-title a{color:var(--navy);display:block}
#main-content > article h2.entry-title a:hover,
.archive-list-item h2.entry-title a:hover{color:var(--brand);text-decoration:none}
/* внутри списка прячем всё лишнее, если оно когда-то появится */
.archive-list-item .content,
.archive-list-item .after-content,
.archive-list-item .before-content{display:none!important}
@media(max-width:760px){
  #main-content > article h2.entry-title,
  .archive-list-item h2.entry-title{padding:8px 14px 8px 0;font-size:.98rem}
  #main-content > article,
  .archive-list-item{padding-left:16px;padding-top:9px;padding-bottom:9px}
}

/* ==========================================================
   11. СТРАНИЦЫ СО СПИСКОМ СЕЗОНОВ
   ==========================================================
   На странице «Протоколы гонок» текст введён вручную:
   сезон, ссылки на протоколы и кубковую таблицу, разделители <hr>.
   Оформляем так, чтобы каждый сезон читался отдельной карточкой.
   ========================================================== */

/* размер текста на страницах-списках */
.page .content,article.page .content{font-size:1rem;line-height:1.65}

/* голая ссылка со словом «Протоколы гонок сезона …» — крупная карточка */
.page .content a[href*="category/"],
.page .content a[href*="/category/"]{
  display:block;
  margin:0 0 6px;
  padding:14px 20px 14px 22px;
  background:linear-gradient(135deg,var(--navy-2),var(--brand) 90%);
  color:#fff!important;
  font-size:1.12rem;
  font-weight:700;
  line-height:1.3;
  border-radius:12px;
  box-shadow:0 3px 10px rgba(11,34,57,.20);
  text-decoration:none;
  transition:transform .12s ease,box-shadow .12s ease}
.page .content a[href*="/category/"]:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(11,34,57,.28)}

/* ссылки на кубковые таблицы — в виде кнопок-плашек */
.page .content a[href$=".pdf"],
.page .content a[href$=".xlsx"],
.page .content a[href$=".docx"]{
  display:inline-block;
  margin:2px 0 12px;
  padding:8px 16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--navy);
  font-size:.92rem;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 1px 2px rgba(11,34,57,.06)}
.page .content a[href$=".pdf"]:hover,
.page .content a[href$=".xlsx"]:hover,
.page .content a[href$=".docx"]:hover{
  background:var(--ice);color:var(--brand);text-decoration:none}

/* текст «Кубок не проводился…» — тише и под ссылкой */
.page .content br + br + br{display:none}
.page .content p{color:var(--ink-2)}

/* Разделители <hr> между сезонами.
   У Ивана их по два подряд — рисуем из пары один крупный зимний разделитель:
   жирная синяя линия с ромбом посередине. Видно сразу. */
.page .content hr{
  border:0;
  height:0;
  margin:0 auto;
  background:none}
.page .content hr + hr{
  display:block;
  position:relative;
  height:26px;
  margin:30px 0;
  border:0;
  background:
    linear-gradient(90deg,transparent,var(--brand) 12%,var(--brand-2) 50%,var(--brand) 88%,transparent)
    center/100% 3px no-repeat;
  border-radius:2px}
.page .content hr + hr:after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:14px;
  margin:-7px 0 0 -7px;
  background:var(--brand);
  border:3px solid #fff;
  transform:rotate(45deg);
  box-shadow:0 0 0 2px var(--brand)}
/* одиночный <hr> — та же линия, но тоньше */
.page .content hr:first-of-type:not(hr + hr){
  display:block;
  height:3px;
  margin:30px 0;
  border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--brand) 12%,var(--brand-2) 50%,var(--brand) 88%,transparent)}
/* второй hr из пары прячем — их было по два подряд */
.page .content hr + hr + hr{display:none}

/* Сезоны отделены ещё и отступом — между-блоками воздуха больше */
.page .content > p{margin:0 0 4px}
.page .content > a[href*="/category/"]{margin-top:6px}

/* ==========================================================
   11.1. КАРТОЧКА СЕЗОНА (если текст страницы размечен)
   Используется в протоколы_сезоны.html: <div class="season-card">
   ========================================================== */
.season-card{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-top:5px solid var(--brand);
  border-radius:14px;
  padding:18px 22px 16px;
  margin:0 0 18px;
  box-shadow:0 4px 14px rgba(11,34,57,.09)}
.season-card h2{
  margin:0 0 10px;
  font-size:1.22rem;
  line-height:1.3}
.season-card h2 a{
  color:var(--navy);
  text-decoration:none;
  display:inline-block;
  border-bottom:2px solid transparent;
  transition:border-color .15s ease,color .15s ease}
.season-card h2 a:hover{
  color:var(--brand);
  border-bottom-color:var(--brand-2);
  text-decoration:none}
.season-card p{margin:0 0 6px}
.season-card p:last-child{margin-bottom:0}
.season-card .season-file{
  display:inline-block;
  padding:8px 16px;
  background:var(--ice-2);
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--navy);
  font-size:.93rem;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 1px 2px rgba(11,34,57,.06)}
.season-card .season-file:hover{
  background:var(--ice);color:var(--brand);text-decoration:none}
.season-card .season-note{
  color:var(--ink-2);font-size:.92rem;font-style:italic}
@media(max-width:760px){
  .season-card{padding:15px 15px 13px;margin-bottom:14px;border-radius:12px}
  .season-card h2{font-size:1.08rem}
  .season-card .season-file{font-size:.88rem;padding:7px 12px}
}

/* ==========================================================
   12. МОБИЛЬНАЯ ШЛИФОВКА
   ========================================================== */
@media(max-width:760px){
  body{font-size:15px}
  h1{font-size:1.6rem} h2{font-size:1.3rem}
  article{padding:16px 15px;border-radius:12px}
  #header-logo .custom-logo-link img{max-height:44px}
  #site-identity h1 a,#site-identity .entry-title a{font-size:1.2rem}
  #main-content-wrapper{padding:14px 12px 26px}
  #home-cols{padding:0 12px}
  .slider-wrapper{padding:0 12px}
  #footer-content-wrapper{padding:26px 14px 16px}
  .page .content a[href*="/category/"]{font-size:1rem;padding:12px 14px}
  .page .content a[href$=".pdf"],.page .content a[href$=".xlsx"],
  .page .content a[href$=".docx"]{font-size:.88rem;padding:7px 12px}
  .page .content hr{margin:18px 0}
}

/* ==========================================================
   13. МОБИЛЬНАЯ ШАПКА: ОДНА ПОЛОСА
   ==========================================================
   На телефоне сверху одна строка: логотип слева, кнопка «Меню» справа.
   Три пустые колонки, которые идут под шапкой, на телефоне не рисуем —
   именно они давали три толстые белые полосы.
   ========================================================== */
@media(max-width:860px){
  #header-content-wrapper{
    flex-wrap:nowrap;
    align-items:center;
    padding:10px 14px;
    gap:10px}

  /* логотип-картинка, если он задан */
  #header-logo{flex:1 1 auto;min-width:0;gap:10px;margin:0}
  #header-logo .custom-logo-link{display:flex;align-items:center;flex:0 0 auto}
  #header-logo .custom-logo-link img{max-height:38px;width:auto}
  #header-logo #site-identity,
  #header-logo > a.custom-logo-link{float:none;margin:0}
  #site-identity{flex:0 0 auto}

  #site-identity h1,
  #site-identity .entry-title{margin:0;line-height:1.1}
  #site-identity h1 a,#site-identity .entry-title a{
    font-size:1.05rem;
    letter-spacing:.01em;
    white-space:nowrap}
  #site-identity strong{display:none}

  /* кнопка «Меню» не уезжает: держим справа, не даём растянуть */
  .nav-toggle{
    display:inline-block;
    flex:0 0 auto;
    margin-left:auto;
    position:static;
    float:none;
    order:2}

  /* меню раскрывается под строкой во всю ширину */
  #navmain{
    display:none;
    width:100%;
    order:3;
    margin:0;
    float:none;
    flex-basis:100%}
  #navmain.open{display:block}
  #header-content-wrapper:has(#navmain.open){flex-wrap:wrap}

  /* три пустые колонки под шапкой — убираем совсем */
  #home-cols{display:none!important}
}

/* ==========================================================
   14. УБИРАЕМ ПОИСК
   Поиск на сайте не нужен — виджет «Поиск» только занимает место.
   ========================================================== */
.widget_search,
#search-2,
.widget.widget_search,
form.search-form{display:none!important}
#sidebar:has(.widget_search):not(:has(.widget:not(.widget_search))){
  display:none}
/* если в боковой колонке больше ничего нет — не оставляем пустую колонку */
@media(min-width:961px){
  #main-content-wrapper:has(#sidebar > .widget_search:only-child){
    justify-content:center}
}
