/*
Theme Name: VIK Modern Theme
Author: VIK Team
Version: 6.0
Description: Fixed Layout with Hard Spacing.
*/

/* 1. FONTS & ICONS */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

:root {
    --primary: #0056E0;
    --dark: #001529;
    --text: #1A202C;
    --bg: #F4F6F8;
    --h-navbar: 80px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: 'Outfit', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    line-height: 1.6;
    min-height: 100vh;
    display: flex; flex-direction: column;
}

a { text-decoration: none; color: inherit; transition: 0.3s; }
ul { list-style: none; }
img { max-width: 100%; height: auto; display: block; }

.vik-container { max-width: 1240px; margin: 0 auto; padding: 0 20px; height: 100%; }

/* Контент не лізе вгору, бо в HTML є жорсткий дів, але тут теж додамо */
main { flex: 1; width: 100%; padding-bottom: 60px; }

/* --- HEADER --- */
.vik-header {
    position: fixed; top: 0; left: 0; right: 0; width: 100%;
    z-index: 1000;
    background: transparent;
    box-shadow: 0 1px 0 rgba(0,0,0,0.05);
}

/* TOP BAR */
.vik-topbar {
    height: 40px;
    background: var(--dark);
    color: #fff;
    font-size: 13px;
    display: flex; align-items: center;
}
.vik-topbar-inner { width: 100%; display: flex; justify-content: flex-end; }
.vik-socials { display: flex; gap: 20px; }
.vik-socials a { color: rgba(255,255,255,0.8); display: flex; align-items: center; gap: 6px; }
.vik-socials a:hover { color: #fff; text-decoration: underline; }

/* NAVBAR */
.vik-navbar {
    height: var(--h-navbar);
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.vik-header.scrolled .vik-navbar { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); }

/* GRID SYSTEM - ГОЛОВНЕ ВИПРАВЛЕННЯ */
.vik-navbar-grid {
    display: flex;
    justify-content: space-between; /* Розкидає елементи: Ліво - Центр - Право */
    align-items: center;
    height: 100%;
    width: 100%;
}

/* 1. ЛІВА ЧАСТИНА (Логотип) */
.vik-col-left {
    display: flex; align-items: center;
    min-width: 200px; /* Запас місця */
}
.vik-logo { display: flex; align-items: center; gap: 10px; color: var(--text); font-weight: 800; text-transform: uppercase; font-size: 20px; }
.vik-logo-icon { color: var(--primary); font-size: 24px; }
.custom-logo { max-height: 50px; width: auto; } /* Логотип не буде величезним */

/* 2. ЦЕНТР (Меню) */
.vik-col-center {
    flex: 1; /* Займає весь вільний простір по центру */
    display: flex; justify-content: center;
}
.vik-desktop-nav ul { display: flex; gap: 25px; margin: 0; }
.vik-desktop-nav a { font-weight: 500; font-size: 15px; white-space: nowrap; }
.vik-desktop-nav a:hover { color: var(--primary); }

/* 3. ПРАВА ЧАСТИНА (Кнопки) */
.vik-col-right {
    display: flex; justify-content: flex-end; align-items: center; gap: 15px;
    min-width: 200px; /* Запас місця */
}

/* КНОПКА ЛК (ВИПРАВЛЕНО) */
.vik-btn-lk {
    background: var(--primary); color: #fff !important;
    padding: 8px 20px; border-radius: 6px;
    font-size: 14px; font-weight: 600;
    display: inline-flex; /* Тільки розмір контенту */
    align-items: center; gap: 8px;
    white-space: nowrap;
    line-height: 1;
    width: auto; /* Не розтягуватися! */
}
.vik-btn-lk:hover { background: #0041b3; transform: translateY(-1px); }

/* Мова */
.vik-lang-switcher a { margin-right: 8px; font-size: 13px; font-weight: 600; text-transform: uppercase; opacity: 0.6; }
.vik-lang-switcher a.active { opacity: 1; color: var(--primary); }
.vik-lang-switcher img { display: none; }

.vik-burger { display: none; font-size: 24px; cursor: pointer; }

/* --- MOBILE --- */
.vik-mobile-drawer {
    position: fixed; top: 0; right: -320px; width: 280px; height: 100%;
    background: #fff; z-index: 2000; padding: 20px;
    box-shadow: -5px 0 30px rgba(0,0,0,0.1);
    transition: 0.3s; display: flex; flex-direction: column;
}
.vik-mobile-drawer.open { right: 0; }
.vik-drawer-header { display: flex; justify-content: space-between; font-weight: 700; font-size: 18px; margin-bottom: 20px; }
.vik-close-btn { background: none; border: none; font-size: 20px; cursor: pointer; }
.vik-mobile-nav-list ul { display: flex; flex-direction: column; gap: 15px; }
.vik-mobile-nav-list a { font-size: 16px; font-weight: 500; display: block; }
.vik-drawer-footer { margin-top: auto; }
.vik-drawer-socials { display: flex; justify-content: center; gap: 20px; margin-bottom: 20px; font-size: 20px; color: #666; }
.vik-btn-lk.full-width { width: 100%; justify-content: center; display: flex; }
.vik-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.5); z-index: 1999;
    opacity: 0; visibility: hidden; transition: 0.3s;
}
.vik-overlay.active { opacity: 1; visibility: visible; }

/* --- FOOTER --- */
.vik-footer {
    background: var(--dark); color: #94A3B8; padding: 30px 0;
    border-top: 4px solid var(--primary); margin-top: auto;
}
.vik-footer-inner { display: flex; justify-content: space-between; }

/* --- RESPONSIVE --- */
@media (max-width: 992px) {
    .vik-col-center, .vik-lang-switcher, .vik-btn-lk { display: none; } 
    .vik-burger { display: block; }
}
@media (max-width: 600px) {
    .vik-footer-inner { flex-direction: column; gap: 15px; text-align: center; }
}
/* Admin Bar Fix */
body.admin-bar .vik-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .vik-header { top: 46px; } }