/* ============================================================
   shell.css — каркас внутренних страниц в стиле лендинга.
   Грузится ПОСЛЕ theme-1.css и перекрывает его.
   Bootstrap/theme остаются для контента страниц.
   ============================================================ */

:root {
    --ink: #0F1720;
    --ink-soft: #334155;
    --muted: #64748B;
    --line: #E6E8EC;
    --accent: #2563EB;
    --accent-dark: #1D4ED8;
    --font-head: 'Space Grotesk', 'Inter', sans-serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    /* переопределяем Bootstrap-токены темы */
    --bs-body-font-family: var(--font-body);
    --bs-body-color: var(--ink);
    --bs-body-bg: #FFFFFF;
    --bs-link-color-rgb: 37, 99, 235;
    --bs-link-hover-color-rgb: 29, 78, 216;
    --bs-primary: #2563EB;
    --bs-primary-rgb: 37, 99, 235;
}

body {
    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.6;
    color: var(--ink);
    background: #fff;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* убираем старый сайдбарный отступ (сайдбар удалён) */
.main-wrapper { margin-left: 0 !important; }

/* заголовки — Space Grotesk, как на лендинге */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.section-title, .name, .item-title, .card-title, .tagline {
    font-family: var(--font-head);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

/* цитаты в блоге — тоже основной шрифт, а не Georgia */
.blog-post .blockquote { font-family: var(--font-body); }

/* заголовки секций — без зелёной планки слева */
.section-title { padding-left: 0 !important; font-weight: 600; }
.section-title::before { display: none !important; }

/* акцент — кобальт вместо зелёного */
.btn-primary {
    --bs-btn-color: #fff; --bs-btn-bg: var(--accent); --bs-btn-border-color: var(--accent);
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--accent-dark); --bs-btn-hover-border-color: var(--accent-dark);
    --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--accent-dark); --bs-btn-active-border-color: var(--accent-dark);
    --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: var(--accent); --bs-btn-disabled-border-color: var(--accent);
    border-radius: 8px;
}
.btn-secondary {
    --bs-btn-color: var(--ink); --bs-btn-bg: transparent; --bs-btn-border-color: var(--line);
    --bs-btn-hover-color: var(--ink); --bs-btn-hover-bg: transparent; --bs-btn-hover-border-color: var(--ink);
    --bs-btn-active-color: var(--ink); --bs-btn-active-bg: transparent; --bs-btn-active-border-color: var(--ink);
    border-radius: 8px;
}
a { color: rgb(var(--bs-link-color-rgb)); }
.theme-link, .resume-link, .text-link { color: var(--accent); text-decoration-color: rgba(37,99,235,.35); }
.theme-link:hover, .resume-link:hover, .text-link:hover { color: var(--accent-dark); }
.item-icon, .fa-primary { color: var(--accent); }

/* карточки на страницах — мягче, в тон лендингу */
.card { border-color: var(--line); border-radius: 8px; }

/* ===== ВЕРХНЯЯ ШАПКА ===== */
.site-header {
    position: sticky; top: 0; z-index: 50;
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
}
.site-header__inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px 24px; min-height: 64px; flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px;
}
.site-header__brand {
    font-family: var(--font-head); font-weight: 600; font-size: 18px;
    color: var(--ink) !important; text-decoration: none !important; letter-spacing: -0.02em; white-space: nowrap;
}
.site-header__brand span { color: var(--muted); font-weight: 400; }
.site-header__nav { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.site-header__nav a { font-size: 15px; font-weight: 500; color: var(--ink-soft) !important; text-decoration: none !important; }
.site-header__nav a:hover { color: var(--ink) !important; }
.site-header__nav a.site-header__cta {
    color: #fff !important; background: var(--accent); padding: 8px 16px; border-radius: 8px;
    text-decoration: none !important; transition: background .15s ease;
}
.site-header__nav a.site-header__cta:hover { color: #fff !important; background: var(--accent-dark); }

/* контент — чтобы футер не липнул кверху на коротких страницах */
.page { min-height: 60vh; }

/* ===== ФУТЕР ===== */
.site-footer { background: #fff; border-top: 1px solid var(--line); color: var(--muted); padding: 40px 0; margin-top: 40px; }
.site-footer__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; }
.site-footer__brand { color: var(--ink); font-family: var(--font-head); font-weight: 600; }
.site-footer__links { display: flex; flex-wrap: wrap; gap: 22px; }
.site-footer__links a { font-size: 15px; color: var(--muted) !important; text-decoration: none !important; }
.site-footer__links a:hover { color: var(--ink) !important; }
.site-footer__legal { font-size: 13px; color: var(--muted); width: 100%; padding-top: 16px; border-top: 1px solid var(--line); }

@media (max-width: 640px) {
    .site-header__inner { min-height: 0; }
    .site-header__nav { gap: 14px 16px; }
    .site-header__nav a { font-size: 14px; }
}
