/* ===================================================================
   site.css — общие стили polozov-slm.ru
   Подключается ПЕРЕД инлайн-<style> каждой страницы, поэтому
   страничные правила при конфликте побеждают. Здесь живёт то,
   что должно быть одинаковым на всех страницах.
   =================================================================== */

:root {
    /* Палитра (источник истины) */
    --brand: #0A66C2;
    --brand-dark: #003D7A;
    --success: #10B981;
    --accent-laser: #F59E0B;      /* тёплый микро-акцент, доза ≤5% */
    --text-heading: #1A2634;
    --text-body: #4B5563;
    --text-muted: #6B7280;
    --bg-page: #F7F8FA;
    --bg-tint: #F0F3F7;
    --hairline: #E5E7EB;
    --font-mono: ui-monospace, 'Cascadia Mono', 'JetBrains Mono', Consolas, monospace;
}

/* ------- Бургер-меню (общее для всех страниц) ------- */
.burger-menu {
    display: none;
    flex-direction: column;
    cursor: pointer;
    padding: 10px;
    z-index: 1001;
    background: none;
    border: none;
}

.burger-menu span {
    width: 25px;
    height: 3px;
    background: #2c3e50;
    margin: 3px 0;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.burger-menu.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.burger-menu.active span:nth-child(2) { opacity: 0; }
.burger-menu.active span:nth-child(3) { transform: rotate(-45deg) translate(7px, -6px); }

.mobile-nav {
    display: none;
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    background: white;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    padding: 1rem 0;
    z-index: 999;
}

.mobile-nav.active { display: block; }

.mobile-nav a {
    display: block;
    padding: 1rem 2rem;
    color: #2c3e50;
    text-decoration: none;
    font-weight: 500;
    border-bottom: 1px solid #eee;
    transition: background 0.3s ease;
}

.mobile-nav a:last-child { border-bottom: none; }

.mobile-nav a:hover {
    background: #f5f5f5;
    color: var(--brand);
}

@media (max-width: 768px) {
    .burger-menu { display: flex; }
}

/* ===================================================================
   Apple-design polish (глобально, поверх site.css; инлайн-CSS страниц
   при конфликте побеждает — здесь только не конфликтующие добавления)
   =================================================================== */

/* Типографика: оптический кегль + запрет авто-инфляции шрифта на iOS */
html {
    font-optical-sizing: auto;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
}

/* Отклик на нажатие: обратная связь на pointer-down, а не на release */
.btn:active,
.header-actions .btn:active {
    transform: translateY(0) scale(.97);
    transition: transform 90ms ease-out;
}

/* Доступная клавиатурная фокусировка (craft) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.btn:focus-visible {
    outline: 2px solid var(--blue, #0A66C2);
    outline-offset: 2px;
    border-radius: 4px;
}

/* Уважение к prefers-reduced-motion: гасим анимации/переходы движения,
   оставляем мгновенные состояния (цвет/непрозрачность остаются полезными) */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
