/* ====== НАСТРОЙКИ ======
   Переменные навигации (--nav-h и т.д.) — в theme.css */

/* Чтобы контент не попадал под фиксированный навбар */
html, body{ height: 100%; }

body{
    padding-top: var(--nav-h);
    min-height: 100vh;

    display: flex;
    flex-direction: column;
}

/* Состояние смещения: 0 — видно, -nav-h — спрятан */
header{ --nav-y: 0px; }
header.navbar-hidden{ --nav-y: calc(-1 * var(--nav-h)); }

/* ====== БЕКПЛЕЙТ (вуаль под навбаром) ======
   Стабильный цвет + опциональный blur фона под ним */
header::before{
    content:"";
    position: fixed;
    left: 0; top: var(--nav-y);
    width: 100%; height: var(--nav-h);
    z-index: 999;                  /* ниже самого навбара */
    pointer-events: none;

    backdrop-filter: blur(var(--nav-blur)) saturate(.85) brightness(.9);
    -webkit-backdrop-filter: blur(var(--nav-blur)) saturate(.85) brightness(.9);

    background: rgba(var(--nav-bg-rgb), var(--nav-bg-alpha));
    box-shadow: 0 2px 10px rgba(0,0,0,.2);
    transition: top .28s ease-in-out;
}

/* ====== САМ НАВБАР ====== */
.navbar.navbar-floating{
    position: fixed;
    left: 0; top: var(--nav-y);
    width: 100%;
    height: var(--nav-h);
    display: flex; align-items: center;
    z-index: 1000;
    background: transparent !important; /* фон даёт бекплейт */
    --bs-navbar-bg: transparent;
    isolation: isolate;
    transition: top .3s ease-in-out;
}

/* Контент навбара поверх бекплейта */
.navbar.navbar-floating > *{ position: relative; z-index: 2; }

.navbar-floating .container{ display:flex; align-items:center; }
.navbar-brand{ display:flex; align-items:center; padding:0; line-height:1; flex-shrink:0; }
.navbar-brand img{ display:block; height:40px; width:auto; }
.navbar-nav .nav-link{ padding-top:.5rem; padding-bottom:.5rem; white-space:nowrap; }

/* Keep right-side items (lang, cart, login) on one line */
@media (min-width:992px){
    .navbar-floating .navbar-collapse{
        flex-wrap:nowrap;
        align-items:center;
    }
    .navbar-floating .navbar-nav{
        flex-wrap:nowrap;
    }
}

/* Цвет ссылок */
.navbar-dark .navbar-nav .nav-link{ color:#fff; }
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus{ color:#f3f4f6; }

/* ====== БУРГЕР (светлый) ====== */
.navbar-dark .navbar-toggler{
    border-color: rgba(255,255,255,.35);
    padding:.35rem .6rem; border-radius:10px;
    box-shadow: none;
}
.navbar-dark .navbar-toggler:focus{
    outline: 0;
    box-shadow: 0 0 0 3px rgba(224,215,196,.35);
}
.navbar-dark .navbar-toggler:hover{ border-color: rgba(255,255,255,.55); }

/* Светлая иконка «три полоски» (SVG дата-URL) */
.navbar-dark .navbar-toggler .navbar-toggler-icon{
    background-image:
            url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(248,250,252,0.95)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    filter: none;
}

/* ====== Мобильное меню (подложка под выпадашкой) ======
   Чтобы выпавшее меню не было «голым», задаём тёмную подложку */
.navbar-collapse{
    backdrop-filter: blur(6px) saturate(.9);
    -webkit-backdrop-filter: blur(6px) saturate(.9);
    background: rgba(10,10,10,.82);
    border-radius: 12px;
    padding: .5rem;
}
@media (min-width: 992px){
    .navbar-collapse{
        backdrop-filter:none; -webkit-backdrop-filter:none;
        background:transparent; padding:0;
    }
}

/* ====== МЕЛОЧИ И ФИКСЫ ====== */
main{ padding-top: 0 !important; margin-top: 0 !important; }

/* Плотнее вуаль на очень узких — стабильнее вид */
@media (max-width: 575.98px){
    :root{ --nav-bg-alpha: .94; }
}

/* Тёмные бордеры-утилиты (если используешь .border-top/.border-bottom) */
.border-top{ border-top: 1px solid rgba(255,255,255,.08) !important; }
.border-bottom{ border-bottom: 1px solid rgba(255,255,255,.08) !important; }

/* Футер: убираем абсолют (иначе может перекрывать контент) */
.footer{
    position: static;
    line-height: normal;
}

/* ===== Навбар: кнопка входа (ghost) и аватар ===== */
.btn-nav-ghost{
    display:inline-flex; align-items:center; justify-content:center;
    height:38px; padding:0 14px;
    border-radius:12px; font-weight:700; letter-spacing:.2px;
    background:transparent; color:#f8fafc;
    border:1px solid rgba(255,255,255,.35);
    box-shadow:0 4px 12px rgba(0,0,0,.25);
    transition:background .18s ease, color .18s ease, border-color .18s ease, transform .12s ease;
}
.btn-nav-ghost:hover{
    background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.55);
    transform:translateY(-1px);
}
.btn-nav-ghost:focus-visible{ outline:3px solid rgba(224,215,196,.35); outline-offset:2px; }

/* Аватар-пилюля */
.avatar-pill{
    display:inline-flex; align-items:center; gap:.5rem;
    height:38px; padding:0 10px 0 6px;
    border-radius:999px; border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.06); color:#f8fafc;
    font-weight:800; letter-spacing:.2px;
}
.avatar-pill:hover{ background:rgba(255,255,255,.1); }
.avatar-pill:focus{ box-shadow:none; }

/* Кружок с инициалами */
.avatar-circle{
    width:28px; height:28px; border-radius:50%;
    display:inline-grid; place-items:center;
    background:linear-gradient(0deg, #2a2e32, #32373c);
    color:#fff; font-size:.9rem; font-weight:900;
    border:1px solid rgba(255,255,255,.18);
}

/* Тёмное меню */
.dropdown-dark{
    background:#262b30; color:#e5e7eb; border:1px solid rgba(255,255,255,.12);
    border-radius:12px; overflow:hidden;
}
.dropdown-dark .dropdown-item{ color:#e5e7eb; }
.dropdown-dark .dropdown-item:hover{ background:#32373c; color:#fff; }
.dropdown-dark .dropdown-divider{ border-top:1px solid rgba(255,255,255,.08); }

/* Cart icon: on mobile sits between logo and burger; on desktop moves to the right */
@media (max-width:991.98px){
    .navbar-floating .order-lg-last{
        margin-left:auto;
        margin-right:.25rem;
    }
}

/* Badge на иконке корзины в хедере */
.cart-badge{
    position:absolute;
    top:-4px;          /* было -6px — чуть опустили, чтобы совпало по центру */
    right:-8px;
    min-width:18px; height:18px; padding:0 4px;
    border-radius:999px; font-size:12px; line-height:18px;
    background:#ef4444; color:#fff; text-align:center;
}
.cart-badge.d-none{ display:none !important; }

/* ===== Inline SVG-иконка, центрирование и удобный тач-таргет ===== */
.nav-link .inline-icon{
    display:inline-flex;
    width:22px;
    height:22px;
    align-items:center;
    justify-content:center;
    line-height:1;
    flex-shrink:0;
}
.nav-link .inline-icon svg{
    display:block;
    width:22px;
    height:22px;
    flex-shrink:0;
}

/* Ссылка — флекс, чтобы иконка была строго по центру по вертикали */
.navbar .nav-link{
    display:inline-flex;
    align-items:center;
    min-height:44px;             /* удобный тач-таргет */
    padding:.5rem .75rem;
}

main[role="main"]{
    flex: 1 0 auto;
    min-height: 0;
}

/* Cap page width on ultra-wide monitors for a polished look */
@media (min-width:1600px){
    .container{
        max-width:1320px;  /* keep Bootstrap xxl cap even above 1600px */
    }
}

footer.site-footer{
    flex-shrink: 0;
}