/* =========================================================
   🧹 Скидання стилів і базовий шрифт (GLOBAL RESET)
   ========================================================= */
* {
    margin: 0;                 /* Прибирає стандартні зовнішні відступи браузера */
    padding: 0;                /* Прибирає стандартні внутрішні відступи */
    box-sizing: border-box;    /* Розміри елементів включають padding і border */
    font-family: "Segoe UI", Arial, sans-serif; /* Основний шрифт сайту */
}

/* =========================================================
   🌐 Загальні налаштування сторінки (BODY)
   ========================================================= */
body {
    height: 100vh;             /* Висота сторінки = висота вікна браузера */
    color: #e8f1ff;            /* Основний колір тексту */
    overflow: hidden;          /* ❗ Скрол на body вимкнений свідомо */
}

/* =========================================================
   📜 Скрол основного контенту (MAIN SCROLL AREA)
   ========================================================= */
.main {
    overflow-y: auto;          /* Вертикальний скрол тільки для контенту */
    height: 100%;              /* Займає всю доступну висоту */
}

/* ⚠️ ВАЖЛИВО:
   Скрол винесений з body у .main.
   Це правильне рішення для SPA-подібного інтерфейсу.
   Якщо випадково повернути scroll у body — поламається логіка верстки.
*/

/* =========================================================
   🖼️ Розмитий фоновий малюнок (BACKGROUND IMAGE)
   ========================================================= */
body::before {
    content: "";               /* Обовʼязково для псевдоелемента */
    position: fixed;           /* Фон зафіксований, не рухається при скролі */
    inset: -20px;              /* Вихід за межі екрану, щоб blur не обрізався */
    background: url("/assets/img/bg.jpg") center / cover no-repeat;
                                /* center — по центру
                                   cover — заповнює екран
                                   no-repeat — без повторів */
    filter: blur(10px);        /* Рівень розмиття фону */
    opacity: 0.9;              /* Прозорість фону */
    z-index: -2;               /* Нижче всього контенту */
}

/* =========================================================
   🌑 Темне затемнення поверх фону (BACKGROUND OVERLAY)
   ========================================================= */
body::after {
    content: "";               /* Обовʼязково для псевдоелемента */
    position: fixed;           /* Фіксований шар */
    inset: 0;                  /* Покриває весь екран */
    background: linear-gradient(
        180deg,
        rgba(2,8,22,0.6),      /* Верхній рівень затемнення */
        rgba(2,8,22,0.7)       /* Нижній рівень затемнення */
    );
    z-index: -1;               /* Вище картинки, але нижче UI */
}

/* =========================================================
   🧱 Головний контейнер інтерфейсу (APP CONTAINER)
   ========================================================= */
.app {
    height: 100%;              /* Заповнює всю висоту body */
    display: flex;             /* Flex-контейнер */
    justify-content: center;   /* Центрує інтерфейс по горизонталі */
}

/* =========================================================
   📐 Обмеження ширини інтерфейсу (UI WRAPPER)
   ========================================================= */
.ui-wrapper {
    width: 100%;               /* Адаптація під ширину екрану */
    max-width: 1600px;         /* Максимальна ширина сайту */
    display: flex;             /* Ліве меню + основний контент */
}

/* ⚠️ ПОМІТКА:
   .ui-wrapper використовується як базовий контейнер
   для позиціонування внутрішніх елементів.
   Далі в файлі він може ДОПОВНЮВАТИСЯ іншими властивостями (position).
*/

/* =========================================================
   📂 Ліве меню навігації сайту (LEFT NAVIGATION)
   ========================================================= */
.left-nav {
    width: 240px;              /* Фіксована ширина лівого меню */
    padding: 20px 20px;        /* Внутрішні відступи */
    display: flex;
    flex-direction: column;   /* Елементи розташовані зверху вниз */
    gap: 20px;                 /* Відстань між блоками меню */
}

/* =========================================================
   🪪 Логотип у лівому меню (LEFT LOGO)
   ========================================================= */
.left-logo {
    font-weight: 900;          /* Дуже жирний текст для акценту */
    font-size: 33px;           /* Розмір логотипа */
    letter-spacing: 1px;       /* Легке розрідження літер */
    color: #5ec1ff;            /* Основний синій колір "UA" */
}

/* Червона цифра 5 у логотипі */
.left-logo span {
    color: #ff4545;            /* Акцентний червоний колір */
}

/* =========================================================
   📑 Контейнер кнопок навігації (LEFT MENU)
   ========================================================= */
.left-menu {                   /* Основний контейнер лівого меню з кнопками */
    display: flex;             /* Вмикає flex-контейнер для гнучкого розташування елементів */
    flex-direction: column;    /* Кнопки розташовані вертикально */
    gap: 14px;                 /* Відстань між кнопками */
}

/* =========================================================
   🔘 Кнопка навігації (NAV BUTTON)
   ========================================================= */
.nav-btn {
    background: rgba(255,255,255,0.08); /* Напівпрозорий фон кнопки */
    border: none;              /* Без рамки */
    padding: 18px 18px;        /* Розміри клікабельної області */
    border-radius: 14px;       /* Закруглення кутів */
    color: #e8f1ff;            /* Колір тексту */
    font-size: 17px;           /* Розмір тексту */
    text-align: left;          /* Текст вирівняний вліво */
    cursor: pointer;           /* Курсор "рука" */
    text-decoration: none;    /* Прибирає підкреслення у <a> */
    display: block;            /* Працює як повноцінна кнопка */
}

/* Активний пункт меню */
.nav-btn.active {
    background: rgba(80,160,255,0.35); /* Підсвічування активної сторінки */
}

/* Hover-ефект кнопки */
.nav-btn:hover {
    background: rgba(80,160,255,0.25); /* Підсвічування при наведенні */
}

/* ⚠️ ПОМІТКА:
   .nav-btn використовується і як <a>, і як <button>.
   Це нормально, але важливо не додавати сюди стилі,
   які можуть конфліктувати з form-кнопками в майбутньому.
*/

/* =========================================================
   🧠 Центральна робоча область сторінки (MAIN CONTENT)
   ========================================================= */
.main {
    flex: 1;                   /* Займає весь доступний простір */
    display: flex;			/* Вмикає flex-контейнер для гнучкого розташування елементів */
    flex-direction: column;    /* Контент іде зверху вниз */
    align-items: center;       /* Центрування контенту по горизонталі */
    padding: 20px 40px;        /* Внутрішні відступи */
}

/* ❗ ВАЖЛИВО:
   .main вже має окремий блок стилів вище (overflow-y, height).
   Тут він ДОПОВНЮЄТЬСЯ layout-налаштуваннями.
   Це усвідомлене розділення відповідальності.
*/

/* =========================================================
   🔐 Верхня панель дій (TOP ACTIONS / AUTH BAR)
   ========================================================= */
.top-actions {
    width: 100%;               /* Розтягується на всю ширину .main */
    display: flex;				/* Вмикає flex-контейнер для гнучкого розташування елементів */
    justify-content: flex-end; /* Кнопка входу вирівняна вправо */
    margin-bottom: 20px;       /* Відступ до основного контенту */
}

/* =========================================================
   🔑 Кнопка входу / виходу (LOGIN BUTTON)
   ========================================================= */
.login-btn {                    /* Кнопка авторизації: вхід або вихід з акаунта */
    background: linear-gradient(135deg, #4db3ff, #1e6bff);
                                 /* Градієнт кнопки авторизації */
    border: none;                /* Прибирає стандартну рамку кнопки */
    padding: 12px 26px;          /* Внутрішні відступи: висота та ширина кнопки */
    border-radius: 24px;         /* Округла форма кнопки */
    font-weight: 700;            /* Жирний текст */
    color: white;                /* Колір тексту кнопки */
    cursor: pointer;             /* Курсор у вигляді руки при наведенні */
}

/* ⚠️ ПОМІТКА:
   Кнопка використовується для:
   - входу (login)
   - виходу (logout)
   Стиль універсальний, без привʼязки до стану.
*/

/* =========================================================
   🪪 Центральний логотип сторінки (CENTER LOGO)
   ========================================================= */
.logo-center {
    margin-top: -100px;        /* Підіймає логотип вверх */
    margin-bottom: -50px;      /* Зменшує відстань до пошуку */
}

/* Зображення логотипа */
.logo-center img {
    height: 350px;             /* Фіксована висота логотипа */
}

/* ⚠️ ВАЖЛИВО:
   Відʼємні margin використані СВІДОМО
   для художнього позиціонування логотипа.
   Зміни тут напряму впливають на композицію головної сторінки.
*/

/* =========================================================
   🔍 Панель пошуку по сайту (SEARCH BAR)
   ========================================================= */
.search-wrap {                  /* Контейнер поля пошуку */
    width: 420px;               /* Фіксована ширина поля пошуку */
    margin-bottom: 30px;        /* Відступ знизу до наступного інформаційного блоку */
}

/* Поле вводу пошуку */
.search-wrap input {             /* Сам input елемент для введення пошукового запиту */
    width: 100%;                 /* Поле розтягується на всю ширину контейнера */
    padding: 16px 22px;          /* Внутрішні відступи поля */
    border-radius: 30px;         /* Округлення країв поля вводу */
    border: none;                /* Прибирає стандартну рамку input */
    background: rgba(0,0,0,0.55);/* Темний напівпрозорий фон поля */
    color: #e8f1ff;              /* Колір тексту, який вводить користувач */
}

/* =========================================================
   ℹ️ Інформаційний текст по центру (INFO BLOCK)
   ========================================================= */
.info-center {
    max-width: 700px;          /* Обмеження ширини для читабельності */
    text-align: center;        /* Текст вирівняний по центру */
    opacity: 0.9;              /* Легка прозорість */
}

.info-center h2 {
    margin-bottom: 12px;       /* Відступ під заголовком */
}

.info-center p {
    line-height: 1.6;          /* Комфортний міжрядковий інтервал */
}

/* =========================================================
   🧩 Блок модулів / новин на головній (MODULES / NEWS)
   ========================================================= */
.modules {                          /* Головний контейнер секції модулів або новин */
    width: 100%;                    /* Контейнер займає всю доступну ширину */
    margin-top: 80px;               /* Відстань від попереднього інформаційного блоку */
    display: flex;                  /* Розміщує стрілки та список модулів в один горизонтальний ряд */
    align-items: center;            /* Вертикальне вирівнювання елементів по центру */
    gap: 20px;                      /* Відстань між стрілками навігації та блоками модулів */
}

/* =========================================================
   ◀ ▶ Стрілки прокрутки модулів (MODULES ARROWS)
   ========================================================= */
.arrow {                            /* Кнопки-стрілки для прокрутки списку модулів */
    background: rgba(255,255,255,0.15); /* Напівпрозорий світлий фон кнопки */
    border: none;                   /* Прибирає стандартну рамку кнопки */
    border-radius: 50%;             /* Робить кнопку круглою */
    width: 36px;                    /* Фіксована ширина кнопки-стрілки */
    height: 36px;                   /* Фіксована висота кнопки-стрілки */
    color: white;                   /* Колір іконки або символу стрілки */
    cursor: pointer;                /* Курсор у вигляді руки при наведенні */
    flex-shrink: 0;                 /* ❗ Не стискаються при вузькому екрані */
}

/* =========================================================
   🗂️ Список карток модулів (MODULES LIST)
   ========================================================= */
.modules-list {                     /* Контейнер зі списком карток модулів */
    display: grid;                  /* Вмикає CSS Grid для сіткового розташування карток */
    grid-template-columns: repeat(4, 1fr);
                                    /* 4 колонки однакової ширини */
    gap: 22px;                      /* Відстань між картками модулів */
    flex: 1;                        /* Займає весь доступний простір між стрілками */
}

/* ⚠️ ПОМІТКА:
   Кількість колонок жорстко задана (4).
   На вузьких екранах без media-query можливе "злипання".
   ЗАРАЗ НЕ ЧІПАТИ — просто зафіксовано.
*/

/* =========================================================
   🧱 Картка окремого модуля (MODULE CARD)
   ========================================================= */
.module-card {                      /* Окрема картка модуля або новини */
    height: 150px;                  /* Фіксована висота картки */
    background: rgba(255,255,255,0.12);
                                    /* Напівпрозорий світлий фон картки */
    border-radius: 18px;             /* Заокруглені кути картки */
    display: flex;                  /* Вмикає flex для центрування контенту */
    align-items: center;            /* Вертикальне центрування контенту */
    justify-content: center;         /* Горизонтальне центрування контенту */
    font-weight: 700;               /* Жирний текст всередині картки */
}

/* =========================================================
   🧾 Нижня панель сайту (FOOTER)
   ========================================================= */
.footer {                           /* Контейнер нижньої панелі сайту */
    margin-top: auto;               /* Прижимає футер до низу main-контейнера */
    width: 100%;                    /* Футер розтягується на всю ширину */
    display: flex;                  /* Використовує flex для розташування контенту */
    justify-content: space-between; /* Розділяє ліву і праву частини футера */
    opacity: 0.6;                   /* Робить футер менш помітним, ніж основний контент */
    font-size: 13px;                /* Зменшений розмір тексту у футері */
    padding-top: 30px;              /* Відступ зверху від основного контенту */
}

/* =========================================================
   📄 Сторінка "Скупники" — локальні стилі (PAGE: SKUPNYKY)
   =========================================================*/


/* =========================================================
   🔍 Верхній пошук на сторінці скупників (SKUPNYKY SEARCH BAR)
   ========================================================= */

/* Контейнер: селект + поле пошуку */
.sk-search {
    width: 100%;                   /* Розтягує блок на всю ширину сторінки */
    display: flex;                 /* Селект і інпут в один ряд */
    gap: 12px;                     /* Відстань між елементами */
    margin-bottom: 24px;           /* Відступ до фільтрів */
}

/* =========================================================
   🔽 Випадаючий список режиму пошуку (SEARCH MODE SELECT)
   ========================================================= */
.sk-search-mode {
    padding: 14px 18px;            /* Робить селект зручним для кліку */
    border-radius: 22px;           /* Закруглення */
    border: none;                  /* Прибирає стандартну рамку */
    background: rgba(0,0,0,0.55);  /* Темний напівпрозорий фон */
    color: #e8f1ff;                /* Колір тексту */
    font-size: 14px;
}

/* =========================================================
   ⌨️ Поле вводу пошуку товарів (SEARCH INPUT)
   ========================================================= */
.sk-search input {
    flex: 1;                       /* Займає весь вільний простір */
    padding: 14px 22px;            /* Внутрішні відступи */
    border-radius: 22px;           /* Закруглення */
    border: none;                  /* Без рамки */
    background: rgba(0,0,0,0.6);   /* Трохи темніший фон */
    color: #e8f1ff;                /* Колір тексту */
    font-size: 15px;
}

/* ⚠️ ПОМІТКА:
   Поле пошуку стилізоване під темну тему сайту.
   Якщо змінювати фон — перевірити контраст тексту.
*/

/* =========================================================
   🧰 Кнопки фільтрації категорій (FILTERS)
   ========================================================= */

/* Контейнер кнопок фільтрації (Все / Риба / Гриби / ...) */
.sk-filters {
    display: flex;          /* Кнопки розташовані в один ряд */
    gap: 12px;              /* Відстань між кнопками */
    margin-bottom: 36px;    /* Відступ до сітки товарів */
}

/* =========================================================
   🔘 Кнопка фільтра категорії (FILTER BUTTON)
   ========================================================= */
.filter-btn {
    padding: 10px 20px;     /* Розмір клікабельної області */
    border-radius: 22px;    /* Закруглення країв */
    border: none;           /* Без стандартної рамки */
    background: rgba(255,255,255,0.08); /* Легкий напівпрозорий фон */
    color: #e8f1ff;         /* Колір тексту */
    font-size: 14px;        /* Розмір тексту */
    cursor: pointer;        /* Курсор-рука */
}

/* Активна кнопка (обрана категорія) */
.filter-btn.active {
    background: rgba(80,160,255,0.4); /* Синій акцент активного стану */
}

/* ⚠️ ПОМІТКА:
   Активний стан задається КЛАСОМ .active через JS.
   CSS не містить логіки перемикання — це правильно.
*/

/* =========================================================
   🧩 Сітка товарів (PRODUCTS GRID)
   ========================================================= */

/* Контейнер усіх карточок товарів */
.sk-grid {
    width: 100%;                                /* Розтягується на всю ширину */
    display: grid;                              /* CSS Grid */
    grid-template-columns: repeat(5, 1fr);      /* 5 карточок у ряд */
    gap: 24px;                                  /* Відстань між карточками */
    margin-bottom: 50px;                        /* Відступ до пагінації */
}

/* ⚠️ ВАЖЛИВО:
   Кількість колонок зашита жорстко (5).
   На вузьких екранах без media-query можливе "злипання".
   ЗАРАЗ НЕ ЧІПАТИ — зафіксовано як технічний борг.
*/

/* =========================================================
   🧱 Карточка товару (PRODUCT CARD)
   ========================================================= */
.sk-card {
    height: 240px;              /* Фіксована висота — всі карточки рівні */
    padding: 16px;              /* Внутрішні відступи */
    display: flex;              /* Flex-контейнер */
    flex-direction: column;     /* Елементи йдуть зверху вниз */
    border-radius: 18px;        /* Закруглення */
    background: rgba(255,255,255,0.12); /* Фон карточки */
    cursor: pointer;            /* Показує, що елемент клікабельний */

    /* Плавні анімації при взаємодії */
    transition:
        transform 0.25s ease,   /* Рух карточки */
        box-shadow 0.25s ease,  /* Тінь */
        background 0.25s ease;  /* Зміна фону */
}

/* Стан при наведенні курсору */
.sk-card:hover {
    transform: translateY(-6px); /* Карточка трохи піднімається */
    box-shadow: 0 18px 40px rgba(0,0,0,0.45); /* Зʼявляється тінь */
    background: rgba(255,255,255,0.16); /* Фон стає світлішим */
}

/* =========================================================
   🖼️ Блок зображення товару (PRODUCT IMAGE)
   ========================================================= */
.sk-img {
    height: 90px;               /* Висота блоку зображення */
    margin-bottom: 10px;        /* Відступ до назви товару */
    border-radius: 12px;        /* Закруглення */
    background: rgba(0,0,0,0.45); /* Фон-заглушка, якщо картинки нема */
    display: flex;              /* Центрування контенту */
    align-items: center;        /* По вертикалі */
    justify-content: center;    /* По горизонталі */
    font-size: 12px;            /* Текст-заглушка типу "IMG" */
    opacity: 0.6;               /* Менш помітний */
    overflow: hidden;           /* ❗ Потрібно для zoom-ефекту картинки */
}

/* Сама картинка товару */
.sk-img img {
    width: 100%;                /* Заповнює всю ширину контейнера */
    height: 100%;               /* Заповнює всю висоту контейнера */
    object-fit: cover;          /* Без спотворення пропорцій */
    border-radius: 10px;        /* Легке внутрішнє закруглення */
    transition: transform 0.35s ease; /* Плавне збільшення */
}

/* Zoom-ефект картинки при наведенні */
.sk-card:hover .sk-img img {
    transform: scale(1.06);     /* Легкий zoom */
}

/* ⚠️ ПОМІТКА:
   Zoom реалізований через hover на .sk-card,
   а не на саму картинку — це правильний UX.
*/

/* =========================================================
   🏷️ Назва і короткий опис товару (TITLE + DESCRIPTION)
   ========================================================= */

/* Назва товару */
.sk-card h3 {
    font-size: 18px;        /* Розмір заголовка */
    font-weight: 800;       /* Висока жирність для акценту */
    margin-bottom: 6px;     /* Відступ до опису */
    color: #ffffff;         /* Білий колір тексту */
    text-align: center;     /* Вирівнювання по центру */
    transition: color 0.25s ease; /* Плавна зміна кольору */
}

/* Зміна кольору назви при наведенні на карточку */
.sk-card:hover h3 {
    color: #7ecbff;         /* Синій акцент */
}

/* Короткий опис товару */
.sk-card p {
    font-size: 13px;        /* Менший текст */
    font-style: italic;     /* Курсив — візуально відрізняє від назви */
    opacity: 0.75;          /* Трохи приглушений */
    text-align: center;     /* По центру */
    margin-bottom: 10px;    /* Відступ до блоку цін */
}

/* ⚠️ ПОМІТКА:
   Назва і опис стилізуються через вкладені селектори (.sk-card h3 / p).
   Це означає, що ці стилі застосовуються ТІЛЬКИ в карточках товарів.
*/

/* =========================================================
   💰 Блок цін: мін / макс (PRICES — MIN / MAX)
   ========================================================= */

.sk-price {
    margin-top: auto;       /* Притискає блок цін до низу карточки */
    padding-top: 8px;       /* Відступ зверху */
    display: flex;          /* Мін і макс в один ряд */
    justify-content: space-between; /* По різних краях */
    align-items: flex-end;  /* Вирівнювання по низу */
    font-weight: 700;       /* Жирний текст */
    border-top: 1px solid rgba(255,255,255,0.08); /* Розділююча лінія */
}

/* Мінімальна ціна */
.sk-price .min {
    font-size: 15px;        /* Трохи менший текст */
    color: #ff5c5c;         /* Червоний — мінімум */
    opacity: 0.85;          /* Не надто яскравий */
}

/* Максимальна ціна */
.sk-price .max {
    font-size: 18px;        /* Найбільший текст у карточці */
    color: #4dff9a;         /* Зелений — максимум */
    text-shadow: 0 0 10px rgba(77,255,154,0.25); /* Легке підсвічування */
}

/* ❗ ВАЖЛИВО:
   Колірна логіка (червоний = мін, зелений = макс)
   використовується по всьому інтерфейсу.
   Зміна цих кольорів вплине на загальне сприйняття UI.
*/

/* =========================================================
   🧠 UX-підказка для редагування (UX HINT)
   ========================================================= */

.sk-card::after {
    content: "Натисни для редагування"; /* Текст підказки */
    margin-top: 6px;        /* Відступ зверху */
    font-size: 11px;        /* Малий текст */
    text-align: center;     /* По центру */
    color: #9fb7ff;         /* Блакитний колір */
    opacity: 0;             /* Спочатку прихована */
    transition: opacity 0.25s ease; /* Плавна поява */
}

/* Показ підказки при наведенні */
.sk-card:hover::after {
    opacity: 0.7;
}

/* ⚠️ UX-ПОМІТКА:
   Підказка показується ВСІМ користувачам, не тільки адміністраторам.
   ЗАРАЗ це не критично, але в майбутньому логічно
   приховувати її для звичайних користувачів через JS.
*/

/* =========================================================
   🔢 Пагінація списку товарів (PAGINATION)
   ========================================================= */

.sk-pagination {
    display: flex;          /* Кнопки в один ряд */
    justify-content: center;/* Вирівнювання по центру */
    gap: 12px;              /* Відстань між кнопками */
    margin-bottom: 70px;    /* Відступ до футера */
}

/* Кнопка сторінки */
.sk-pagination button {
    padding: 8px 16px;      /* Розмір кнопки */
    border-radius: 12px;    /* Закруглення */
    border: none;           /* Без рамки */
    background: rgba(255,255,255,0.08); /* Напівпрозорий фон */
    color: #e8f1ff;         /* Колір тексту */
    cursor: pointer;        /* Курсор-рука */
    font-size: 14px;        /* Розмір тексту */
}

/* Активна кнопка сторінки */
.sk-pagination button.active {
    background: rgba(80,160,255,0.45); /* Синій акцент активної сторінки */
}

/* =========================================================
   🪟 Модальне вікно: створення / редагування товару (MODAL)
   ========================================================= */


/* =========================================================
   🌑 Затемнення сторінки під модалкою (MODAL OVERLAY)
   ========================================================= */
/* Темний фон, який перекриває сторінку */
.modal {
    position: fixed;             /* Завжди поверх сторінки */
    inset: 0;                    /* Покриває весь екран */
    background: rgba(0,0,0,0.65);/* Затемнення фону */

    display: flex;               /* Дозволяє центрувати модалку */
    align-items: center;         /* Центрування по вертикалі */
    justify-content: center;     /* Центрування по горизонталі */

    z-index: 1000;               /* Поверх усього іншого UI */

    opacity: 0;                  /* Спочатку прихована */
    pointer-events: none;        /* Кліки вимкнені */
    transition: opacity 0.25s ease; /* Плавна поява */
}

/* =========================================================
   ✅ Відкрита модалка (MODAL OPEN STATE)
   ========================================================= */
.modal:not(.hidden) {
    opacity: 1;                  /* Модалка стає видимою */
    pointer-events: auto;        /* Дозволяємо взаємодію */
}

/* ❗ ВАЖЛИВО:
   Видимість модалки керується ТІЛЬКИ класом .hidden через JS.
   Це правильний підхід — без display:none, щоб анімації працювали.
 */

/* =========================================================
   📦 Контейнер модального вікна (MODAL CONTAINER)
   ========================================================= */
/* Основний блок з контентом модалки */
.modal-content {
    width: 440px;                /* Фіксована ширина модалки */
    max-height: 85vh;            /* Захист від виходу за екран */

    background: #0b1225;         /* Основний темний фон */
    border-radius: 20px;         /* Округлі краї */

    padding: 22px;               /* Внутрішні відступи */
    display: flex;
    flex-direction: column;      /* Увесь контент зверху вниз */
    gap: 14px;                   /* Відстань між елементами */

    box-shadow: 0 30px 80px rgba(0,0,0,0.6); /* Глибина та фокус */
}

/* ⚠️ ПОМІТКА:
   max-height + відсутність overflow тут означає,
   що прокрутка (якщо знадобиться) має бути додана окремо.
   ЗАРАЗ це не проблема — просто зафіксовано.
 */

/* =========================================================
   🔽 Вибір категорії товару (SELECT)
   ========================================================= */

/* Сам select */
.modal-content select {            /* Поле вибору категорії всередині модального вікна */
    background: #141c33;            /* Темний фон поля */
    color: #e8f1ff;                 /* Світлий колір тексту */
    border: 1px solid rgba(255,255,255,0.15);
                                    /* Тонка напівпрозора рамка поля */
    border-radius: 12px;            /* Заокруглення кутів select */
    padding: 12px 14px;             /* Внутрішні відступи для зручного кліку */
    font-size: 14px;                /* Розмір тексту пунктів */
    cursor: pointer;                /* Курсор у вигляді руки при наведенні */
}

/* Опції у випадаючому списку */
.modal-content option {             /* Окремі пункти у випадаючому списку */
    background: #141c33;            /* Темний фон списку */
    color: #e8f1ff;                 /* Контрастний світлий текст */
}

/* Disabled пункт (наприклад: "Оберіть категорію") */
.modal-content option:disabled {    /* Неактивний пункт вибору */
    color: rgba(255,255,255,0.4);   /* Приглушений колір, щоб показати неактивність */
}

/* =========================================================
   🧾 Заголовок модального вікна (MODAL HEADER)
   ========================================================= */

/* Заголовок модалки */
.modal-content h3 {
    font-size: 20px;             /* Розмір заголовка */
    font-weight: 800;            /* Жирний текст */
    text-align: center;          /* По центру */
    margin-bottom: 6px;          /* Відступ до форми */
}

/* =========================================================
   📝 Поля форми модального вікна (FORM FIELDS)
   ========================================================= */
/* Усі поля вводу: input / textarea / select */
.modal-content input,
.modal-content textarea,
.modal-content select {            /* Загальні стилі для всіх полів форми в модальному вікні */
    width: 100%;                   /* Поля розтягуються на всю ширину контейнера */
    background: rgba(255,255,255,0.08);
                                    /* Напівпрозорий фон для полів вводу */

    border: 1px solid rgba(255,255,255,0.08);
                                    /* Легка напівпрозора рамка навколо поля */
    border-radius: 12px;            /* Закруглення кутів полів */

    padding: 12px 14px;             /* Внутрішні відступи для зручного введення тексту */
    color: #e8f1ff;                 /* Світлий колір тексту */
    font-size: 14px;                /* Розмір тексту в полях */
}

/* =========================================================
   🎯 Активне поле вводу (FOCUS STATE)
   ========================================================= */
/* Коли користувач клікає або вводить текст */
.modal-content input:focus,
.modal-content textarea:focus,
.modal-content select:focus {			/* Загальні стилі для всіх полів форми в модальному вікні */
    outline: none;               /* Прибираємо стандартну рамку браузера */
    border-color: #4db3ff;       /* Синій акцент */
    background: rgba(255,255,255,0.12); /* Трохи світліший фон */
}

/* ⚠️ ПОМІТКА:
   Стиль focus однаковий для всіх типів полів.
   Це добре для UX — користувач завжди бачить активне поле.
 */

/* =========================================================
   🧾 Поле багаторядкового опису (TEXTAREA)
   ========================================================= */
/* Поле опису товару */
.modal-content textarea {
    min-height: 70px;            /* Мінімальна висота */
    resize: vertical;            /* Дозволено тягнути тільки вниз */
}

/* ❗ ВАЖЛИВО:
   resize: vertical — свідоме рішення,
   щоб форма не "ламалась" по ширині.
 */

/* =========================================================
   🖼️ Поле вибору зображення (FILE INPUT)
   ========================================================= */
/* Input для завантаження картинки */
.modal-content input[type="file"] {
    padding: 8px;                /* Компактніший вигляд */
    font-size: 13px;             /* Менший текст */
    opacity: 0.85;               /* Менш навʼязливий */
}

/* ⚠️ ПОМІТКА:
   Стилізація file-input обмежена можливостями браузера.
   Тут використаний максимально безпечний варіант.
 */

/* =========================================================
   ➖ Розділювачі між блоками (DIVIDERS)
   ========================================================= */
/* Горизонтальна лінія для візуального поділу */
.modal-divider {                   /* Візуальний розділювач між блоками в модальному вікні */
    height: 1px;                   /* Товщина горизонтальної лінії */
    background: rgba(255,255,255,0.08);
                                    /* Ледь помітна напівпрозора лінія */
    margin: 6px 0;                 /* Вертикальні відступи зверху і знизу */
}

/* =========================================================
   🎛️ Контейнер кнопок дій (MODAL ACTIONS)
   ========================================================= */
/* Контейнер кнопок знизу модалки */
.modal-actions {                    /* Блок з кнопками дій у нижній частині модального вікна */
    display: flex;                  /* Використовує flex для розташування кнопок */
    justify-content: space-between; /* Розводить кнопки по лівому і правому краю */
    gap: 12px;                      /* Відстань між кнопками */
    margin-top: 10px;               /* Відступ зверху від попереднього контенту */
}

/* ⚠️ ПОМІТКА:
   Контейнер готовий для:
   - 1 кнопки (save)
   - 2 кнопок (save / cancel або save / delete)
 */

/* =========================================================
   ✅ Основна кнопка дії (PRIMARY BUTTON)
   ========================================================= */
/* Кнопка: Створити / Зберегти */
#saveProductBtn {                  /* Основна кнопка підтвердження дії в модальному вікні */
    flex: 1;                       /* Займає основний простір серед інших кнопок */
    background: linear-gradient(135deg, #4db3ff, #1e6bff);
                                    /* Градієнт фону основної кнопки */
    border: none;                  /* Прибирає стандартну рамку кнопки */

    padding: 12px 20px;            /* Внутрішні відступи кнопки */
    border-radius: 12px;           /* Заокруглення кутів кнопки */

    color: #ffffff;                /* Колір тексту кнопки */
    font-weight: 800;              /* Дуже жирний текст для акценту */
    font-size: 14px;               /* Розмір тексту кнопки */

    cursor: pointer;               /* Курсор у вигляді руки при наведенні */
    transition: transform 0.15s ease, box-shadow 0.15s ease;
                                    /* Плавна анімація руху та тіні */
}

/* Hover-ефект основної кнопки */
#saveProductBtn:hover {            /* Стан кнопки при наведенні курсора */
    transform: translateY(-1px);   /* Легкий підйом кнопки вгору */
    box-shadow: 0 6px 20px rgba(30,107,255,0.45);
                                    /* Світіння / тінь для ефекту натискання */
}

/* ❗ ВАЖЛИВО:
   Кнопка привʼязана по ID (#saveProductBtn),
   тобто очікується ОДНА така кнопка на сторінці.
   Це нормально для модалки.
 */

/* =========================================================
   🔘 Додаткова кнопка дії (SECONDARY BUTTON)
   ========================================================= */
/* Кнопка "Закрити" модальне вікно */
#closeModalBtn {                   /* Додаткова кнопка для закриття модального вікна */
    background: rgba(255,255,255,0.1);
                                    /* Легкий напівпрозорий фон кнопки */
    border: none;                  /* Прибирає стандартну рамку кнопки */

    padding: 12px 18px;            /* Внутрішні відступи кнопки */
    border-radius: 12px;           /* Заокруглення кутів кнопки */

    color: #e8f1ff;                /* Світлий колір тексту кнопки */
    cursor: pointer;               /* Курсор у вигляді руки при наведенні */
}

/* Hover-ефект кнопки закриття */
#closeModalBtn:hover {             /* Стан кнопки при наведенні курсора */
    background: rgba(255,255,255,0.18);
                                    /* Трохи світліший фон для hover-ефекту */
}

/* ❗ ВАЖЛИВО:
   Кнопка привʼязана по ID (#closeModalBtn),
   тобто очікується ОДНА така кнопка в DOM.
 */

/* =========================================================
   🚨 Небезпечна дія — видалення (DANGER BUTTON)
   ========================================================= */
/* Кнопка "Видалити" */
.delete-btn {                      /* Кнопка для виконання небезпечної дії (видалення) */
    background: rgba(255,80,80,0.25);
                                    /* Напівпрозорий червоний фон для попередження */
    border: none;                  /* Прибирає стандартну рамку кнопки */

    padding: 10px;                 /* Внутрішні відступи кнопки */
    border-radius: 12px;           /* Заокруглення кутів кнопки */

    color: #ff5c5c;                /* Яскравий червоний текст */
    font-weight: 700;              /* Жирний текст для підсилення акценту */

    cursor: pointer;               /* Курсор у вигляді руки */
    transition: background 0.15s ease;
                                    /* Плавна зміна фону при наведенні */
}

/* Hover-ефект небезпечної дії */
.delete-btn:hover {                /* Стан кнопки при наведенні курсора */
    background: rgba(255,80,80,0.4);
                                    /* Темніший червоний фон для hover-ефекту */
}

/* ⚠️ UX-ПОМІТКА:
   Червоний колір використовується ТІЛЬКИ для деструктивних дій.
   Це важливо для візуальної ієрархії інтерфейсу.
 */

/* =========================================================
   🛠️ Кнопки адмін-панелей (ADMIN PANELS BUTTONS)
   ========================================================= */


/* =========================================================
   🧱 Головний UI-контейнер (UI WRAPPER)
   ========================================================= */
.ui-wrapper {
    position: relative; /* Потрібно для absolute-позиціонування адмін-кнопок */
}

/* =========================================================
   📍 Верхня панель адмін-дій (ADMIN TOP ACTIONS)
   ========================================================= */
/* Тепер прикріплена до робочої області */
.top-actions {                     /* Контейнер верхніх адміністративних дій */
    position: absolute;            /* Абсолютне позиціонування відносно батьківського контейнера */
    top: 24px;                     /* Відступ зверху від меж робочої області */
    right: 24px;                   /* Відступ справа від меж робочої області */

    display: flex;                 /* Використовує flex для розміщення кнопок */
    flex-direction: column;        /* Кнопки розташовані вертикально */
    align-items: flex-end;         /* Вирівнювання кнопок по правому краю */
    gap: 12px;                     /* Відстань між кнопками */

    z-index: 20;                   /* Поверх основного контенту */
}

/* ⚠️ ВАЖЛИВО:
   Цей блок перекриває стандартні top-actions (login/logout),
   коли активний адмін-режим.
 */

/* =========================================================
   🧩 Контейнер адмін-панелей (ADMIN PANELS)
   ========================================================= */
.admin-panels {                     /* Контейнер з адміністративними панелями */
    display: none;                  /* За замовчуванням приховані (вмикаються через JS або клас) */
    flex-direction: column;         /* Вертикальне розташування адмін-блоків */
    gap: 10px;                      /* Відстань між окремими адмін-панелями */
}

/* =========================================================
   🔘 Кнопка адмін-панелі (ADMIN PANEL BUTTON)
   ========================================================= */
.admin-panel-btn {                 /* Кнопка для відкриття конкретної адмін-панелі */
    width: 48px;                   /* Фіксована ширина кнопки */
    height: 48px;                  /* Фіксована висота кнопки */

    display: flex;                 /* Flex для центрування іконки */
    align-items: center;           /* Вертикальне центрування іконки */
    justify-content: center;        /* Горизонтальне центрування іконки */

    background: rgba(255,255,255,0.08);
                                    /* Легкий напівпрозорий фон кнопки */
    border-radius: 14px;            /* Заокруглення кутів кнопки */

    cursor: pointer;               /* Курсор у вигляді руки */
    transition: all 0.25s ease;     /* Плавна анімація всіх змін (hover / active) */
}

/* Іконка всередині кнопки */
.admin-panel-btn img {              /* Зображення (іконка) всередині адмін-кнопки */
    width: 26px;                    /* Ширина іконки */
    height: 26px;                   /* Висота іконки */
    pointer-events: none;           /* Щоб клік завжди оброблявся кнопкою, а не img */
}

/* Hover-ефект кнопки адмін-панелі */
.admin-panel-btn:hover {            /* Стан кнопки при наведенні */
    background: rgba(255,255,255,0.18);
                                    /* Світліший фон для hover-ефекту */
    transform: translateY(-2px);    /* Легкий підйом кнопки вгору */
    box-shadow: 0 6px 18px rgba(0,0,0,0.35);
                                    /* Тінь для ефекту "піднятої" кнопки */
}

/* Active-стан (клік) */
.admin-panel-btn:active {           /* Стан кнопки під час натискання */
    transform: translateY(0);       /* Повертає кнопку у вихідну позицію */
    box-shadow: none;               /* Прибирає тінь для ефекту натиснення */
}


/* ❗ ВАЖЛИВО:
   .admin-panels керуються через JS (display / class).
   CSS тут відповідає ТІЛЬКИ за візуал.
 */



