/*
Theme Name: dds_mai-exler.ru
Author: Артём Звягин
Description: Информационно-образовательный портал об инженерном образовании в аэрокосмической отрасли. Тема «Схема полёта».
Version: 1.1
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: aeropath
*/

/* ============================================================
   ПЕРЕМЕННЫЕ / RESET
   ============================================================ */
:root{
    --bg:#F4F7FC;
    --bg-alt:#E8EDF5;
    --head:#0B132B;
    --foot:#070C1D;
    --side:#FFFFFF;
    --ink:#1C2A44;
    --accent:#00B4D8;
    --accent-dk:#0096B8;
    --amber:#FFB703;
    --muted:#6C7A99;
    --line:#DCE4F0;
    --card-sh:0 8px 20px rgba(11,19,43,.08);
    --font-h:'Inter','Manrope',system-ui,'Segoe UI',sans-serif;
    --font-b:'Roboto','Source Sans Pro',system-ui,'Segoe UI',sans-serif;
    --wrap:min(92%,1180px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
    margin:0;
    font-family:var(--font-b);
    font-size:17px;
    line-height:1.7;
    color:var(--ink);
    background-color:var(--bg);
    background-image:radial-gradient(rgba(28,42,68,.06) 1px,transparent 1.6px);
    background-size:30px 30px;
    overflow-x:hidden;
}
/* «Индикатор» — навигационная полоса вдоль левого края */
body::before{
    content:"";position:fixed;left:0;top:0;bottom:0;width:2px;
    background:linear-gradient(180deg,var(--accent),var(--accent-dk));
    z-index:1200;
}
img{max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-h);color:var(--head);line-height:1.2;letter-spacing:-.01em;font-weight:800}
h1{font-size:3.2rem;margin:.2em 0 .5em}
h2{font-size:2rem;margin:0 0 .6em}
h3{font-size:1.4rem}
p{margin:0 0 1.1em}
.shell{width:var(--wrap);margin-inline:auto}

/* контентные текстовые ссылки — анимированное подчёркивание слева-направо */
.entry a:not(.btn),.widget a,.card-title a,.crumbs a{position:relative}
.entry a:not(.btn)::after{
    content:"";position:absolute;left:0;bottom:-2px;height:1px;width:100%;
    background:currentColor;transform:scaleX(0);transform-origin:left;
    transition:transform .28s ease;
}
.entry a:not(.btn):hover::after{transform:scaleX(1)}

/* ============================================================
   КНОПКИ
   ============================================================ */
.btn{
    display:inline-block;font-family:var(--font-h);font-weight:700;font-size:.98rem;
    padding:.72em 1.5em;border-radius:4px;border:2px solid var(--accent);
    background:var(--accent);color:#fff;cursor:pointer;
    transition:transform .18s ease,background .18s ease,color .18s ease;
}
.btn:hover{transform:translateY(2px);background:var(--accent-dk);border-color:var(--accent-dk);color:#fff}
.btn--ghost{background:transparent;color:var(--accent)}
.btn--ghost:hover{background:var(--accent);color:#fff;transform:translateY(2px)}
.btn--amber{background:var(--amber);border-color:var(--amber);color:#0B132B;box-shadow:0 0 22px rgba(255,183,3,.35)}
.btn--amber:hover{background:#e6a300;border-color:#e6a300;color:#0B132B}

/* ============================================================
   ШАПКА
   ============================================================ */
.site-header{background:var(--head);color:#fff;position:relative;overflow:hidden}
.site-header::after{ /* след траектории */
    content:"";position:absolute;right:-60px;top:-40px;width:420px;height:220px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='220'%3E%3Cpath d='M-20 200 C120 120 260 160 440 20' fill='none' stroke='%2300B4D8' stroke-width='2' stroke-dasharray='2 8' opacity='.5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;pointer-events:none;
}
.head-top{display:flex;align-items:center;gap:22px;padding:22px 0;position:relative;z-index:2}
.brand{display:flex;align-items:center;gap:16px;min-width:0}
.brand-logo{width:56px;height:56px;flex:0 0 auto}
.brand-text{min-width:0}
.brand-title{display:block;font-family:var(--font-h);font-weight:800;font-size:1.18rem;color:#fff;line-height:1.25}
.brand-title a{color:#fff}
.brand-desc{display:block;color:#aeb9d4;font-size:.82rem;line-height:1.35;margin-top:3px}
.site-nav{background:#111c3d;position:relative;z-index:2}
.menu-toggle{display:none}
.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.nav-list li{position:relative}
.nav-list a{display:block;color:#dfe6f5;font-family:var(--font-h);font-weight:600;font-size:.96rem;padding:15px 20px;transition:color .2s,background .2s}
.nav-list a:hover,.nav-list .current-menu-item>a{color:#fff;background:rgba(0,180,216,.16)}
.nav-list .current-menu-item>a{box-shadow:inset 0 -3px 0 var(--accent)}

/* ============================================================
   ХЛЕБНЫЕ КРОШКИ
   ============================================================ */
.crumbs-bar{background:var(--bg-alt);border-bottom:1px solid var(--line)}
.breadcrumbs{padding:12px 0;font-size:.86rem;color:var(--muted)}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--accent)}
.breadcrumbs .sep{margin:0 .5em;color:var(--accent)}
.breadcrumbs span{color:var(--ink)}

/* ============================================================
   ОСНОВНОЙ МАКЕТ
   ============================================================ */
.site-main{padding:40px 0 56px}
.layout-with-sidebar{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);
    gap:44px;align-items:start;
}
.layout-single{max-width:85%;margin-inline:auto}
.content-area{min-width:0}
@media(max-width:960px){
    .layout-with-sidebar{grid-template-columns:1fr;gap:34px}
    .layout-single{max-width:100%}
}

/* ============================================================
   ЗАГОЛОВКИ СЕКЦИЙ / «БОРТОВОЙ НОМЕР»
   ============================================================ */
.sec-head{position:relative;margin-bottom:1.6rem;padding-left:0}
.sec-num{
    display:inline-block;font-family:var(--font-h);font-weight:800;font-size:.95rem;
    color:var(--accent);letter-spacing:.08em;margin-bottom:.35em;
}
.sec-title{display:flex;align-items:center;gap:14px;margin:0}
.sec-title::before{content:"";width:10px;height:10px;background:var(--amber);flex:0 0 auto}
.sec-title::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}
.sec-title.on-dark{color:#fff}

/* левый бордер-вариант для заголовков внутри статьи */
.entry h2{border-left:4px solid var(--accent);padding-left:14px;margin-top:1.6em}

/* ============================================================
   КАРТОЧКИ ЗАПИСЕЙ
   ============================================================ */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px}
.card{
    display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
    border-radius:8px;overflow:hidden;box-shadow:var(--card-sh);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;min-width:0;
}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(11,19,43,.14);border-color:var(--accent)}
.card-thumb{display:block;overflow:hidden;background:var(--bg-alt)}
.card-thumb img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.card-thumb--ph{
    aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,#0B132B,#1C2A44);
}
.card-body{flex:1;display:flex;flex-direction:column;padding:20px 22px}
.card-meta{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5em}
.card-title{font-size:1.22rem;margin:0 0 .5em;line-height:1.28}
.card-title a{color:var(--head)}
.card-title a:hover{color:var(--accent)}
.card-excerpt{color:#33415c;font-size:.95rem}
.card-excerpt p{margin:0 0 .5em;background:none}
.card-more{margin-top:auto;padding-top:.9em}
.card-more a{font-family:var(--font-h);font-weight:700;font-size:.9rem;color:var(--accent)}
.card-more a::after{content:" ›"}

/* ============================================================
   ОДИНОЧНАЯ ЗАПИСЬ / СТРАНИЦА
   ============================================================ */
.entry-header{margin-bottom:1.2em}
.entry-meta{color:var(--muted);font-size:.86rem;margin-bottom:.6em}
.entry-thumb{margin:0 0 1.4em;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.entry-thumb img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.entry{font-size:1.03rem}
.entry img{border-radius:6px}
.entry ul,.entry ol{padding-left:1.4em}
.entry blockquote{
    margin:1.6em 0;padding:1.4rem 1.6rem;border-left:4px solid var(--accent);
    background:var(--bg-alt);border-radius:0 8px 8px 0;color:var(--ink);font-style:italic;
}
.entry-tags{margin-top:1.8em;font-size:.9rem;color:var(--muted)}
.entry-tags a{display:inline-block;background:var(--bg-alt);border:1px solid var(--line);border-radius:4px;padding:3px 10px;margin:0 6px 6px 0;color:var(--ink)}
.entry-tags a:hover{border-color:var(--accent);color:var(--accent)}

/* таблицы */
.entry table{border-collapse:collapse;width:100%;margin:1.4em 0}
.entry table,.entry th,.entry td{border:1px solid var(--line)}
.entry th,.entry td{padding:10px 12px;text-align:left}
.entry th{background:var(--bg-alt);font-family:var(--font-h)}

/* ============================================================
   САЙДБАР (светлый фон → тёмный текст)
   ============================================================ */
.sidebar{min-width:0}
.widget{
    background:var(--side);border:1px solid var(--line);border-radius:8px;
    padding:20px 22px;margin-bottom:26px;box-shadow:var(--card-sh);color:var(--ink);
}
.widget-title{
    font-size:1.05rem;margin:0 0 .9em;padding-bottom:.5em;color:var(--head);
    border-bottom:2px solid var(--accent);position:relative;
}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:8px 0;border-bottom:1px dashed var(--line)}
.widget li:last-child{border-bottom:0}
.widget a{color:var(--ink)}
.widget a:hover{color:var(--accent)}
.widget .post-date,.widget time{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}

/* ============================================================
   ПОДВАЛ (тёмный фон → светлый текст)
   ============================================================ */
.site-footer{background:var(--foot);color:#c4cde3;position:relative;overflow:hidden;margin-top:20px}
.site-footer::before{
    content:"";position:absolute;left:-40px;bottom:-30px;width:520px;height:260px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='260'%3E%3Cpath d='M0 240 C160 150 320 190 540 30' fill='none' stroke='%2300B4D8' stroke-width='2' stroke-dasharray='2 9' opacity='.35'/%3E%3C/svg%3E");
    background-repeat:no-repeat;pointer-events:none;
}
.footer-cols{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;
    padding:52px 0 30px;position:relative;z-index:2;
}
.footer-cols .widget{
    background:transparent;border:0;box-shadow:none;padding:0;margin:0;color:#c4cde3;
}
.footer-cols .widget-title{color:#fff;border-bottom-color:var(--accent)}
.footer-cols .widget a{color:#c4cde3}
.footer-cols .widget a:hover{color:var(--accent)}
.footer-cols .widget li{border-bottom-color:rgba(255,255,255,.08)}
.footer-cols .widget .post-date,.footer-cols .widget time{color:#8b98bb}
.site-copy{
    border-top:1px solid rgba(255,255,255,.1);padding:20px 0;text-align:center;
    color:#8b98bb;font-size:.85rem;position:relative;z-index:2;
}
@media(max-width:800px){.footer-cols{grid-template-columns:1fr;gap:28px}}

/* ============================================================
   ГЛАВНАЯ
   ============================================================ */
.front-section{padding:64px 0;position:relative}
.front-section--alt{background:var(--bg-alt)}
.front-section--dark{background:linear-gradient(135deg,var(--head),#1C2A44);color:#fff}
.fp-inner{width:85%;max-width:1180px;margin-inline:auto}
@media(max-width:600px){.fp-inner{width:90%}}

/* тонкий чертёжный разделитель между секциями */
.blueprint-sep{
    height:16px;background-image:repeating-linear-gradient(45deg,var(--line) 0 1px,transparent 1px 9px);
    opacity:.6;
}

/* HERO */
.hero{
    background:radial-gradient(circle at 20% 30%,#16224a 0,#0B132B 60%);
    color:#fff;padding:0;position:relative;overflow:hidden;
}
.hero::before{ /* звёздное небо */
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(#ffffff55 1px,transparent 1.4px),radial-gradient(#00b4d855 1px,transparent 1.4px);
    background-size:46px 46px,90px 90px;background-position:0 0,20px 30px;opacity:.5;
}
.hero::after{ /* траектория */
    content:"";position:absolute;right:0;top:0;width:60%;height:100%;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='500'%3E%3Cpath d='M-40 460 C220 300 420 340 760 40' fill='none' stroke='%23FFB703' stroke-width='2' stroke-dasharray='3 10' opacity='.5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right top;pointer-events:none;
}
.hero-inner{width:85%;max-width:1180px;margin-inline:auto;padding:92px 0;position:relative;z-index:2}
@media(max-width:600px){.hero-inner{width:90%;padding:60px 0}}
.hero-kicker{display:inline-block;font-family:var(--font-h);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:.82rem;margin-bottom:1em}
.hero h1{color:#fff;font-size:3.4rem;max-width:16ch;margin:0 0 .4em}
.hero p{color:#c9d4ee;font-size:1.15rem;max-width:52ch;margin:0 0 1.8em}
@media(max-width:600px){.hero h1{font-size:2.3rem}}

/* ТАЙМЛАЙН */
.timeline{position:relative;margin-top:1rem;padding-left:6px}
.timeline::before{content:"";position:absolute;left:14px;top:6px;bottom:6px;width:3px;background:linear-gradient(180deg,var(--accent),var(--accent-dk))}
.tl-item{position:relative;padding:0 0 30px 52px}
.tl-item:last-child{padding-bottom:0}
.tl-dot{position:absolute;left:0;top:0;width:32px;height:32px;background:#fff;border:2px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center}
.tl-dot svg{width:18px;height:18px}
.tl-year{font-family:var(--font-h);font-weight:800;color:var(--accent);font-size:1.15rem;margin-bottom:.15em}
.tl-text{margin:0;color:var(--ink)}
.front-section--alt .tl-dot{background:var(--bg-alt)}

/* ZIGZAG */
.zigzag{display:flex;flex-direction:column;gap:44px;margin-top:1rem}
.zz-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;align-items:center}
.zz-row:nth-child(even) .zz-media{order:2}
.zz-media{border-radius:8px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--card-sh);background:#fff}
.zz-media img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.zz-text h3{margin:0 0 .5em;color:var(--head)}
.zz-text p{margin:0;color:#33415c}
@media(max-width:700px){
    .zz-row{grid-template-columns:1fr;gap:20px}
    .zz-row:nth-child(even) .zz-media{order:0}
}

/* СТАТИСТИКА */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:1rem}
.stat{text-align:center;padding:14px}
.stat-num{font-family:var(--font-h);font-weight:800;font-size:2.8rem;color:var(--accent);text-shadow:0 0 20px rgba(0,180,216,.5);line-height:1}
.stat-label{color:#c9d4ee;font-size:.9rem;margin-top:.5em}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,1fr);gap:22px}}

/* блок последних записей на главной */
.front-latest{padding:64px 0}
.front-latest .cards-grid{margin-top:.4rem}
.front-more{text-align:center;margin-top:34px}

/* ============================================================
   ПАГИНАЦИЯ (type => plain, стили на .page-numbers)
   ============================================================ */
.pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:44px 0 0}
.pagination .page-numbers{
    display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;
    padding:0 12px;border:1px solid var(--line);border-radius:4px;background:#fff;
    color:var(--ink);font-family:var(--font-h);font-weight:600;transition:.18s;
}
.pagination a.page-numbers:hover{border-color:var(--accent);color:var(--accent);transform:translateY(2px)}
.pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff}
.pagination .page-numbers.dots{border:0;background:none}

/* ============================================================
   ФОРМА ПОИСКА
   ============================================================ */
.search-form{display:flex;gap:8px}
.search-form input[type=search]{
    flex:1;min-width:0;padding:.6em .8em;border:1px solid var(--line);border-radius:4px;
    font-family:var(--font-b);font-size:.95rem;background:#fff;color:var(--ink);
}
.search-form input[type=search]:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.search-form button{
    padding:.6em 1.1em;border:0;border-radius:4px;background:var(--accent);color:#fff;
    font-family:var(--font-h);font-weight:700;cursor:pointer;transition:.18s;
}
.search-form button:hover{background:var(--accent-dk);transform:translateY(2px)}

/* ============================================================
   КОММЕНТАРИИ
   ============================================================ */
.comments-area{margin-top:3rem;border-top:1px solid var(--line);padding-top:1.6rem}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list li{margin:0 0 1.2rem}
.comment-body{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.comment-list .children{list-style:none;margin:1rem 0 0 26px;padding:0}
.comment-author{font-family:var(--font-h);font-weight:700;color:var(--head)}
.comment-meta{font-size:.8rem;color:var(--muted);margin-bottom:.5em}
.comment-respond{margin-top:1.6rem}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
    width:100%;padding:.6em .8em;border:1px solid var(--line);border-radius:4px;font-family:var(--font-b);margin-top:.3em;background:#fff;color:var(--ink);
}
.comment-form label{font-size:.9rem;color:var(--muted)}
.comment-form p{margin-bottom:1em}

/* ============================================================
   404
   ============================================================ */
.err-404{text-align:center;padding:40px 0}
.err-404 .code{font-family:var(--font-h);font-weight:800;font-size:6rem;color:var(--accent);line-height:1;text-shadow:0 0 30px rgba(0,180,216,.4)}
.err-404 .search-form{max-width:460px;margin:1.6rem auto}

/* ============================================================
   COOKIE-БАННЕР  (правило [hidden] — ДО основного блока)
   ============================================================ */
.cookie-banner[hidden]{display:none!important}
.cookie-banner{
    position:fixed;left:0;right:0;bottom:0;z-index:1400;
    display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;
    background:var(--head);color:#dfe6f5;padding:16px 24px;
    border-top:2px solid var(--accent);box-shadow:0 -6px 24px rgba(0,0,0,.28);
}
.cookie-banner p{margin:0;font-size:.9rem;max-width:70ch}
.cookie-banner a{color:var(--accent)}
.cookie-banner .btn{padding:.5em 1.4em}

/* ============================================================
   АДАПТИВ — навигация
   ============================================================ */
@media(max-width:760px){
    h1,.hero h1{font-size:2.1rem}
    h2{font-size:1.6rem}
    .menu-toggle{
        display:block;background:transparent;border:1px solid rgba(255,255,255,.3);
        color:#fff;font-family:var(--font-h);font-weight:700;padding:12px 16px;width:100%;
        text-align:left;cursor:pointer;
    }
    .nav-list{display:none;flex-direction:column}
    .nav-list.is-open{display:flex}
    .nav-list a{padding:13px 18px;border-top:1px solid rgba(255,255,255,.07)}
}

/* a11y */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.page-links{margin-top:1.4em;font-family:var(--font-h);font-weight:600}
.page-links a{border:1px solid var(--line);border-radius:4px;padding:2px 10px;margin:0 4px}
.comment-reply a{font-family:var(--font-h);font-weight:600;font-size:.85rem;color:var(--accent)}
