

#nav p, 
#nav h1, 
#nav h2, 
#nav span {
    /* Змушуємо відеокарту завжди тримати текст видимим */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    
    /* Запобігаємо зникненню при скролі */
    will-change: transform;
    
    /* Додатковий захист для iOS/Chrome */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}


/* 1. ГОЛОВНА ПАНЕЛЬ НАВІГАЦІЇ */
#nav {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    z-index: 10000; /* Підняв вище, щоб нічого не перекривало */
    display: none; 
   
    background: rgba(195, 217, 193, 0.98); /* Ефект білого скла */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* Для підтримки Safari */
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 20px 50px rgba(76, 175, 80, 0.15);
    border: 1px solid rgba(76, 175, 80, 0.1);
    text-align: center;
    
    /* ФІКС ДЛЯ CHROME: дозволяємо скрол та обмежуємо висоту */
    max-height: 70vh;
    overflow-y: auto !important;
    overflow-x: hidden;
    touch-action: pan-y !important; /* Дозволяє браузеру розуміти вертикальний скрол */
    -webkit-overflow-scrolling: touch; /* Плавність на iOS */
    
    /* Змушує браузер завжди тримати цей блок у пам'яті відеокарти */
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    
    /* Усуває мерехтіння при скролі */
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    
    /* Допомагає браузеру зрозуміти, що контент не вийде за межі */
    contain: content;
}

.catalog-filters button {
    transform: translateZ(0);
    will-change: transform;
}

#nav.show {
    display: block !important;
    animation: fadeInScale 0.3s ease-out;
}

/* Заголовки категорій */
#nav p {
    color: #2d3436;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin: 25px 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#nav p::before, #nav p::after {
    content: "";
    height: 1px;
    width: 40px;
    background: linear-gradient(to right, transparent, #4CAF50);
    margin: 0 15px;
}
#nav p::after {
    background: linear-gradient(to left, transparent, #4CAF50);
}

/* 2. КНОПКИ ФІЛЬТРІВ (Теги) */
.catalog-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    padding-bottom: 20px; /* Відступ знизу, щоб останній ряд не прилипав */
}

.catalog-filters button {
    padding: 10px 22px;
    border-radius: 50px;
    border: 1px solid #eef2f0;
    background: #f0f7f2;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #4a5d51;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-tap-highlight-color: transparent; /* Прибирає синю рамку при натисканні на Android */
}

.catalog-filters button:hover {
    background: #e1f0e5;
    border-color: #4CAF50;
    transform: translateY(-2px);
}

.catalog-filters button.active {
    background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: 0 8px 15px rgba(76, 175, 80, 0.3);
}

/* 3. КНОПКА ПОШУКУ (Квадратик) */
.search-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 65px;
    height: 65px;
    gap: 2px;
    cursor: pointer;
    border-radius: 16px;
    border: 2px solid #939393;
    background-color: transparent;
    box-shadow: 0 4px 0 #777, 0 8px 16px rgba(0, 0, 0, 0.15);
    transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.2s ease;
}

.icon-close { display: none; }
.icon-search { display: block; }
.search-box.open .icon-search { display: none; }
.search-box.open .icon-close { display: block; }

.search-box .btn-text {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    color: #ffffff;
    transition: color 0.2s;
}

.search-box.open .btn-text { color: #ff4d4d !important; }

.search-box:hover { background-color: #95d484; }
.search-box:active {
    transform: translateY(4px);
    box-shadow: 0 2px 0 #777, 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* 4. АДАПТАЦІЯ ТА ПОЗИЦІОНУВАННЯ */

@keyframes fadeInScale {
    from { opacity: 0; transform: scale(0.95) translateY(-10px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}


@media (min-width: 769px) {
    #nav {
        position: absolute;
        top: 90px;
        right: 20px;
        width: 100%;
        max-width: 500px;
    }
}

/* Знаходимо цей блок у самому низу вашого CSS */
@media (max-width: 768px) {
    #nav {
        position: fixed !important; /* Фіксуємо, щоб скролився лише цей блок */
        top: 75px;
        left: 10px;
        right: 10px;
        
        /* --- ОСЬ ЦЕЙ БЛОК ВАЖЛИВИЙ ДЛЯ СКРОЛУ --- */
        max-height: 70vh !important;  /* Обмежуємо висоту вікна (80% екрана) */
        overflow-y: auto !important;  /* Вмикаємо вертикальний скрол */
        overflow-x: hidden;           /* Забороняємо горизонтальний скрол */
        touch-action: pan-y !important; /* Дозволяємо Chrome обробляти рух пальцем */
        -webkit-overflow-scrolling: touch; /* Плавність для iPhone */
        /* -------------------------------------- */

        background: rgb(195 217 193 / 98%);
        padding: 20px;
        z-index: 9999;
        
        /* 1. Змушуємо браузер рендерити блок через відеокарту (GPU) */
        will-change: transform, scroll-position;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);

        /* 2. Покращуємо стабільність рендерингу */
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;

        /* 3. Переконайся, що скрол плавний (це теж допомагає від артефактів) */
        -webkit-overflow-scrolling: touch;
        
    }
}

    .catalog-filters {
        display: grid !important;
        grid-template-columns: 1fr 1fr; /* 2 колонки */
        gap: 8px;
    }
    
    
/* Робимо так, щоб заголовок групи займав весь рядок незалежно від кількості колонок */
.type-row-class-або-id-якщо-треба .grid-title, /* або просто: */
h1.grid-title {
    grid-column: 1 / -1; /* Розтягує від першої до останньої колонки (на ПК це 4, на мобільці 2) */
    width: 100%;
    margin-top: 35px;    /* Відступ зверху від попереднього блоку товарів */
    margin-bottom: 15px; /* Відступ знизу до карток товарів */
    text-align: center;    /* Вирівнювання тексту */
}

/* Для найпершого заголовка на сторінці відступ зверху можна прибрати, щоб не було діри */
h1.grid-title:first-child {
    margin-top: 10px;
}