:root {
    
    --catalog-max-width: 1400px;
    --catalog-padding: 20px 0;
    
    --title-font-size: 40px;
    --title-margin: 50px 0 60px -100px;
    
    --active-filters-padding: 15px 25px;
    --active-filters-margin: -40px auto 30px -100px;
    --active-filter-font-size: 14px;
    --clear-filters-link-font-size: 14px;
    
    --page-indicator-font-size: 18px;
    --page-indicator-margin: -30px 0 30px -100px;
    
    --sidebar-width: 280px;
    --sidebar-padding: 30px;
    --sidebar-transform: translateX(-150px);
    --categories-title-font-size: 22px;
    --category-label-font-size: 16px;
    --category-count-font-size: 14px;
    
    --grid-column-width: 220px;
    --grid-gap: 24px;
    --grid-margin-bottom: 60px;
    
    --card-width: 220px;
    --card-height: 300px;
    --image-container-width: 220px;
    --image-container-height: 200px;
    --product-name-font-size: 16px;
    --product-name-padding: 15px 10px;
    
    --pagination-item-size: 45px;
    --pagination-font-size: 16px;
    --pagination-gap: 8px;
    --pagination-margin-top: 40px;
    --pagination-margin-right: 40px;
    
    --clear-filters-btn-font-size: 16px;
    --clear-filters-btn-padding: 12px;
    --btn-catalog-padding: 12px 30px;
    
    --no-products-padding: 60px 20px;
    --no-products-title-font-size: 24px;
    --no-products-text-font-size: 18px;

    --active-filters-span-font-size: 18px; 
    --no-products-btn-font-size: 18px; 
    --no-products-btn-padding: 12px 30px; 
    
    --scale: 1;
}

/* 7680px */
@media screen and (min-width: 7680px) {
    :root {
        --scale: 4;
    }
}

/* 5760px */
@media screen and (min-width: 5760px) and (max-width: 7679px) {
    :root {
        --scale: 3;
    }
}

/* 3840px */
@media screen and (min-width: 3840px) and (max-width: 5759px) {
    :root {
        --scale: 2;
    }
}

/* 2880px */
@media screen and (min-width: 2880px) and (max-width: 3839px) {
    :root {
        --scale: 1.5;
    }
}

/* 2560px */
@media screen and (min-width: 2560px) and (max-width: 2879px) {
    :root {
        --scale: 1.333; 
    }
}

/* 2400px */
@media screen and (min-width: 2400px) and (max-width: 2559px) {
    :root {
        --scale: 1.25; 
    }
}

/* 2133px */
@media screen and (min-width: 2133px) and (max-width: 2399px) {
    :root {
        --scale: 1.111; 
    }
}

/* 1920px */
@media screen and (min-width: 1920px) and (max-width: 2132px) {
    :root {
        --scale: 1;
    }
}

/* 1728px */
@media screen and (min-width: 1728px) and (max-width: 1919px) {
    :root {
        --scale: 0.9; 
    }
}

/* 1600px */
@media screen and (min-width: 1600px) and (max-width: 1727px) {
    :root {
        --scale: 0.833; 
    }
}

/* 1536px */
@media screen and (min-width: 1536px) and (max-width: 1599px) {
    :root {
        --scale: 0.8; 
    }
}

/* 1366px */
@media screen and (min-width: 1366px) and (max-width: 1535px) {
    :root {
        --scale: 0.711; 
    }
}

/* 1280px */
@media screen and (min-width: 1280px) and (max-width: 1365px) {
    :root {
        --scale: 0.667; 
    }
}

/* 1097px */
@media screen and (min-width: 1097px) and (max-width: 1279px) {
    :root {
        --scale: 0.571; 
    }
}

/* 1024px */
@media screen and (min-width: 1024px) and (max-width: 1096px) {
    :root {
        --scale: 0.533; 
    }
}

/* 960px */
@media screen and (min-width: 960px) and (max-width: 1023px) {
    :root {
        --scale: 0.5; 
    }
}

/* 769px */
@media screen and (min-width: 769px) and (max-width: 959px) {
    :root {
        --scale: 0.4; 
    }
}

.catalog-page {
    max-width: calc(var(--catalog-max-width) * var(--scale));
    margin: 0 auto;
    padding: calc(var(--catalog-padding) * var(--scale));
    position: relative;
    min-height: 100vh;
    background: transparent;
}

/* Заголовок страницы */
.catalog-title {
    text-align: left;
    margin: calc(50px * var(--scale)) 0 calc(60px * var(--scale)) calc(-100px * var(--scale));
    font-family: 'Russo One', sans-serif;
    font-size: calc(var(--title-font-size) * var(--scale));
    color: white;
    position: relative;
    z-index: 1;
}

/* Активные фильтры */
.active-filters {
    background: rgba(255, 255, 255, 0.15);
    padding: calc(15px * var(--scale)) calc(25px * var(--scale));
    border-radius: calc(15px * var(--scale));
    margin: calc(-40px * var(--scale)) auto calc(30px * var(--scale)) calc(-100px * var(--scale));
    max-width: calc((100% + 100px) * var(--scale));
    font-family: 'Golos Text', sans-serif;
    color: white;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(10px * var(--scale));
}

.active-filters span:first-child {
    font-weight: bold;
    margin-right: calc(10px * var(--scale));
    font-size: calc(var(--active-filters-span-font-size) * var(--scale)); 
}

.active-filter {
    background: rgba(61, 121, 121, 0.8);
    padding: calc(5px * var(--scale)) calc(15px * var(--scale));
    border-radius: calc(20px * var(--scale));
    font-size: calc(var(--active-filter-font-size) * var(--scale));
}

.clear-filters-link {
    color: #ffffff;
    text-decoration: none;
    margin-left: calc(10px * var(--scale));
    font-size: calc(var(--clear-filters-link-font-size) * var(--scale));
}

.clear-filters-link:hover {
    text-decoration: underline;
}

/* Индикатор страницы */
.page-indicator {
    text-align: left;
    font-family: 'Golos Text', sans-serif;
    font-size: calc(var(--page-indicator-font-size) * var(--scale));
    color: white;
    margin: calc(-30px * var(--scale)) 0 calc(30px * var(--scale)) calc(-100px * var(--scale));
}

/* Контейнер для сетки и боковой панели */
.catalog-container {
    display: flex;
    gap: 0px;
    position: relative;
    z-index: 1;
}

/* Боковая панель */
.categories-sidebar {
    flex-shrink: 0;
    width: calc(var(--sidebar-width) * var(--scale));
    padding: calc(var(--sidebar-padding) * var(--scale));
    border-radius: calc(24px * var(--scale));
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(calc(15px * var(--scale)));
    -webkit-backdrop-filter: blur(calc(15px * var(--scale)));
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 calc(12px * var(--scale)) calc(40px * var(--scale)) rgba(0, 143, 143, 0.12);
    height: fit-content;
    position: sticky;
    top: calc(20px * var(--scale));
    transform: translateX(calc(-150px * var(--scale)));
}

.categories-title {
    font-family: 'Golos Text', sans-serif;
    font-size: calc(var(--categories-title-font-size) * var(--scale));
    margin-bottom: calc(25px * var(--scale));
    color: #3d7979;
    border-bottom: calc(2px * var(--scale)) solid #3d7979;
    padding-bottom: calc(12px * var(--scale));
}

.categories-filter {
    display: flex;
    flex-direction: column;
}

.categories-list {
    margin-bottom: calc(25px * var(--scale));
}

.category-item {
    margin-bottom: calc(15px * var(--scale));
    display: flex;
    align-items: center;
}

.category-item input[type="checkbox"] {
    margin-right: calc(12px * var(--scale));
    width: calc(18px * var(--scale));
    height: calc(18px * var(--scale));
    accent-color: #3d7979;
    cursor: pointer;
}

.category-item label {
    font-family: 'Golos Text', sans-serif;
    font-size: calc(var(--category-label-font-size) * var(--scale));
    color: #333;
    cursor: pointer;
    transition: color 0.3s ease;
    flex-grow: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.category-item label:hover {
    color: #3d7979;
}

/* Счетчик товаров в категории */
.category-count {
    color: #666;
    font-size: calc(var(--category-count-font-size) * var(--scale));
    margin-left: calc(5px * var(--scale));
}

/* Секция с товарами */
.products-section {
    flex-grow: 1;
    margin-right: calc(40px * var(--scale));
}

/* Сообщение об отсутствии товаров */
.no-products {
    text-align: center;
    padding: calc(60px * var(--scale)) calc(20px * var(--scale));
    background: rgba(255, 255, 255, 0.9);
    border-radius: calc(30px * var(--scale));
    margin: calc(20px * var(--scale));
    box-sizing: border-box;
}

.no-products h3 {
    font-family: 'Russo One', sans-serif;
    font-size: calc(24px * var(--scale));
    color: #3d7979;
    margin-bottom: calc(15px * var(--scale));
}

.no-products p {
    font-family: 'Golos Text', sans-serif;
    font-size: calc(18px * var(--scale));
    color: #666;
    margin-bottom: calc(25px * var(--scale));
}

.no-products .btn-catalog {
    display: inline-block;
    padding: calc(12px * var(--scale)) calc(30px * var(--scale));
    background: linear-gradient(22deg, rgba(0, 143, 143, 1) 16%, rgb(61, 121, 121) 92%);
    color: white;
    text-decoration: none;
    border-radius: calc(25px * var(--scale));
    font-family: 'Golos Text', sans-serif;
    font-size: calc(18px * var(--scale)); /* Добавить эту строку */
    transition: transform 0.3s ease;
    white-space: nowrap;
}

.no-products .btn-catalog:hover {
    transform: scale(0.95);
}

/* Сетка товаров */
.products-grid {
    display: grid;
    grid-template-columns: repeat(5, calc(var(--grid-column-width) * var(--scale)));
    gap: calc(var(--grid-gap) * var(--scale));
    margin-bottom: calc(var(--grid-margin-bottom) * var(--scale));
    justify-content: start;
}

/* Карточка товара */
.product-card {
    background-color: #fff;
    border-radius: calc(20px * var(--scale));
    overflow: hidden;
    box-shadow: 0 calc(6px * var(--scale)) calc(16px * var(--scale)) rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: calc(var(--card-height) * var(--scale));
    width: calc(var(--card-width) * var(--scale));
    border: 1px solid rgba(0, 143, 143, 0.1);
}

.product-card:hover {
    transform: translateY(calc(-8px * var(--scale)));
    box-shadow: 0 calc(12px * var(--scale)) calc(28px * var(--scale)) rgba(0, 143, 143, 0.18);
}

/* Контейнер для изображения */
.product-image-container {
    width: calc(var(--image-container-width) * var(--scale));
    height: calc(var(--image-container-height) * var(--scale));
    overflow: hidden;
    background-color: #f8fafa;
    border-bottom: 1px solid rgba(0, 143, 143, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(10px * var(--scale)) calc(10px * var(--scale)) 0 calc(10px * var(--scale));
    box-sizing: border-box;
}

.product-image {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.product-name {
    padding: calc(var(--product-name-padding) * var(--scale));
    text-align: center;
    font-family: 'Golos Text', sans-serif;
    font-size: calc(var(--product-name-font-size) * var(--scale));
    font-weight: 500;
    color: #3d7979;
    line-height: 1.4;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(60px * var(--scale));
    margin: 0;
}

/* Кнопка сброса фильтров в сайдбаре */
.clear-filters {
    width: 100%;
    padding: calc(var(--clear-filters-btn-padding) * var(--scale));
    background-color: #f8fafa;
    border: 1px solid rgba(0, 143, 143, 0.2);
    border-radius: calc(22.5px * var(--scale));
    font-family: 'Golos Text', sans-serif;
    font-size: calc(var(--clear-filters-btn-font-size) * var(--scale));
    color: #3d7979;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: calc(15px * var(--scale));
}

.clear-filters:hover {
    background-color: rgba(0, 143, 143, 0.1);
    transform: scale(0.98);
}

/* Навигация (Пагинация) */
.pagination-nav {
    display: flex;
    justify-content: flex-end;
    margin-top: calc(var(--pagination-margin-top) * var(--scale));
    margin-right: calc(var(--pagination-margin-right) * var(--scale));
}

.pagination-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: calc(var(--pagination-gap) * var(--scale));
}

.pagination-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: calc(var(--pagination-item-size) * var(--scale));
    height: calc(var(--pagination-item-size) * var(--scale));
    padding: 0 calc(15px * var(--scale));
    border-radius: calc(22.5px * var(--scale));
    text-decoration: none;
    font-family: 'Golos Text', sans-serif;
    color: #3d7979;
    background-color: #f8fafa;
    border: 1px solid rgba(0, 143, 143, 0.2);
    transition: all 0.3s ease;
    font-size: calc(var(--pagination-font-size) * var(--scale));
}

.pagination-link:hover {
    background: linear-gradient(22deg, rgba(0, 143, 143, 1) 16%, rgb(61, 121, 121) 92%);
    color: white !important;
    transform: scale(0.95);
    border-color: transparent;
}

.pagination-link.active {
    background: linear-gradient(22deg, rgba(0, 143, 143, 1) 16%, rgb(61, 121, 121) 92%);
    color: white;
    border-color: transparent;
    font-weight: bold;
}

.pagination-link.active:hover {
    color: white !important;
}

.pagination-dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: calc(var(--pagination-item-size) * var(--scale));
    height: calc(var(--pagination-item-size) * var(--scale));
    color: #ffffff;
    font-family: 'Golos Text', sans-serif;
}

/* Стили для предыдущей/следующей кнопок */
.pagination-prev, .pagination-next {
    font-weight: bold;
}

/* Стили для товара отсутствующего в наличии */
.product-card.out-of-stock .product-image-container {
    opacity: 0.5;
    position: relative;
}

.product-card.out-of-stock .product-image-container::after {
    content: "Нет в наличии";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: calc(8px * var(--scale)) calc(16px * var(--scale));
    border-radius: calc(20px * var(--scale));
    font-family: 'Golos Text', sans-serif;
    font-size: calc(14px * var(--scale));
    font-weight: bold;
    white-space: nowrap;
    z-index: 2;
    pointer-events: none;
}

.product-card.out-of-stock {
    opacity: 0.9;
}

/* Мобильная версия (до 768px) */
@media screen and (max-width: 768px) {
    /* Страница каталога */
    .catalog-page {
        max-width: 100%;
        padding: 0;
        overflow-x: hidden; 
    }

    /* Заголовок страницы */
    .catalog-title {
        font-size: 28px;
        margin: 110px 20px 30px 20px; 
        text-align: left;
    }

    /* Активные фильтры */
    .active-filters {
        margin: -20px 20px 20px 20px;
        padding: 12px 15px;
        font-size: 14px;
        width: calc(100% - 40px); 
        box-sizing: border-box; 
    }

    .active-filter {
        font-size: 12px;
        padding: 4px 10px;
    }

    .clear-filters-link {
        font-size: 12px;
        margin-left: 5px;
    }

    /* Индикатор страницы */
    .page-indicator {
        font-size: 14px;
        margin: -20px 0 20px 20px;
    }

    /* Контейнер для сетки и боковой панели */
    .catalog-container {
        flex-direction: column;
        gap: 20px;
        width: 100%; 
    }

    /* Боковая панель */
    .categories-sidebar {
        width: calc(100% - 40px); 
        max-width: calc(100% - 40px); 
        padding: 20px;
        margin: 0 20px; 
        transform: none;
        position: relative;
        top: 0;
        border-radius: 20px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-sizing: border-box; 
    }

    .categories-title {
        font-size: 20px;
        margin-bottom: 15px;
        padding-bottom: 8px;
    }

    /* Категории */
    .categories-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px 15px;
        margin-bottom: 15px;
        width: 100%; 
    }

    .category-item {
        margin-bottom: 0;
        width: 100%; 
    }

    .category-item input[type="checkbox"] {
        width: 16px;
        height: 16px;
        margin-right: 8px;
        flex-shrink: 0; 
    }

    .category-item label {
        font-size: 14px;
        white-space: normal; 
        word-break: break-word; 
        width: 100%; 
    }

    .category-count {
        font-size: 12px;
        white-space: nowrap; 
        margin-left: 5px;
    }

    /* Кнопка сброса фильтров */
    .clear-filters {
        padding: 10px;
        font-size: 14px;
        margin-top: 10px;
        border-radius: 20px;
        width: 100%; 
        box-sizing: border-box;
    }

    /* Секция с товарами */
    .products-section {
        margin-right: 0;
        padding: 0 20px;
        width: 100%; 
        box-sizing: border-box;
    }

    /* Сообщение об отсутствии товаров */
    .no-products {
        padding: 40px 15px;
        margin: 10px 0;
        border-radius: 20px;
        width: 100%; 
        box-sizing: border-box;
    }

    .no-products h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .no-products p {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .no-products .btn-catalog {
        padding: 10px 25px;
        font-size: 14px;
        border-radius: 20px;
    }

    /* Сетка товаров */
    .products-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        margin-bottom: 40px;
        width: 100%; 
        box-sizing: border-box;
    }

    /* Карточка товара */
    .product-card {
        width: 100%;
        height: auto;
        border-radius: 15px;
        box-sizing: border-box;
    }

    /* Контейнер для изображения */
    .product-image-container {
        width: 100%;
        height: auto;
        aspect-ratio: 220/200;
        padding: 8px 8px 0 8px;
        box-sizing: border-box;
    }

    .product-image {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .product-name {
        font-size: 14px;
        padding: 10px 8px;
        min-height: 50px;
        word-break: break-word;
    }

    /* Пагинация */
    .pagination-nav {
        display: flex;
        justify-content: center;
        margin: 30px 0 40px 0;
        padding: 0 20px;
        width: 100%;
        box-sizing: border-box;
    }

    .pagination-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
        width: 100%;
    }

    .pagination-link {
        min-width: 40px;
        height: 40px;
        padding: 0 10px;
        font-size: 14px;
        border-radius: 20px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .pagination-dots {
        min-width: 40px;
        height: 40px;
        font-size: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

/* Для экранов до 480px */
@media screen and (max-width: 480px) {
    .catalog-title {
        font-size: 24px;
        margin: 100px 15px 25px 15px; 
    }

    .active-filters {
        margin: -15px 15px 15px 15px;
        padding: 10px 12px;
        width: calc(100% - 30px);
    }

    .page-indicator {
        margin: -15px 0 15px 15px;
        font-size: 13px;
    }

    /* Боковая панель */
    .categories-sidebar {
        width: calc(100% - 30px);
        max-width: calc(100% - 30px);
        margin: 0 15px;
        padding: 15px;
    }

    .categories-title {
        font-size: 18px;
    }

    .categories-list {
        gap: 8px 10px;
    }

    .category-item label {
        font-size: 13px;
    }

    .category-item input[type="checkbox"] {
        width: 14px;
        height: 14px;
    }

    .clear-filters {
        font-size: 13px;
        padding: 8px;
    }

    .products-section {
        padding: 0 15px;
    }

    /* Сетка товаров */
    .products-grid {
        gap: 12px;
        margin-bottom: 30px;
        grid-template-columns: repeat(2, 1fr); 
    }

    .product-name {
        font-size: 12px;
        padding: 8px 5px;
        min-height: 40px;
    }

    .pagination-link {
        min-width: 35px;
        height: 35px;
        font-size: 12px;
    }
    
    .pagination-dots {
        min-width: 35px;
        height: 35px;
        font-size: 12px;
    }
}

/* Для экранов до 360px */
@media screen and (max-width: 360px) {
    .catalog-title {
        margin: 90px 10px 20px 10px; 
        font-size: 22px;
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr); 
        gap: 10px;
    }
    
    .product-name {
        font-size: 11px;
        padding: 5px 4px;
    }
    
    .categories-sidebar {
        width: calc(100% - 20px);
        max-width: calc(100% - 20px);
        margin: 0 10px;
        padding: 12px;
    }
    
    .categories-list {
        gap: 6px 8px;
    }
    
    .category-item label {
        font-size: 12px;
    }
    
    .pagination-link {
        min-width: 32px;
        height: 32px;
        font-size: 11px;
    }
}

.pagination-nav {
    display: flex;
    justify-content: flex-end;
    margin-top: calc(var(--pagination-margin-top) * var(--scale));
    margin-right: calc(var(--pagination-margin-right) * var(--scale));
    margin-bottom: calc(60px * var(--scale)); 
}

/* Плавающая кнопка заказа */
.floating-order-btn {
    position: fixed;
    bottom: calc(30px * var(--scale));
    right: calc(30px * var(--scale));
    padding: calc(15px * var(--scale)) calc(30px * var(--scale));
    background: linear-gradient(22deg, rgba(0, 143, 143, 1) 16%, rgb(61, 121, 121) 92%);
    color: white;
    border: none;
    border-radius: calc(50px * var(--scale));
    font-family: 'Golos Text', sans-serif;
    font-size: calc(18px * var(--scale));
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 calc(8px * var(--scale)) calc(20px * var(--scale)) rgba(0, 143, 143, 0.3);
    transition: all 0.3s ease;
    z-index: 999;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.floating-order-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 calc(12px * var(--scale)) calc(28px * var(--scale)) rgba(0, 143, 143, 0.4);
}

.floating-order-btn:active {
    transform: scale(0.95);
}

/* Скрываем кнопку когда открыто модальное окно */
body.modal-open .floating-order-btn {
    display: none;
}

/* Мобильная версия */
@media screen and (max-width: 768px) {
    .floating-order-btn {
        bottom: 20px;
        right: 50%;
        transform: translateX(50%);
        width: 75%;
        max-width: 300px;
        padding: 12px 20px;
        font-size: 16px;
        border-radius: 30px;
        white-space: nowrap;
    }
    
    .floating-order-btn:hover {
        transform: translateX(50%) scale(1.05);
    }
    
    .floating-order-btn:active {
        transform: translateX(50%) scale(0.95);
    }
}

/* Для очень маленьких экранов */
@media screen and (max-width: 480px) {
    .floating-order-btn {
        bottom: 15px;
        padding: 10px 15px;
        font-size: 14px;
        width: 75%;
    }
}

/* Стили для основной категории */
.category-main-item {
    margin-bottom: calc(15px * var(--scale));
    border-bottom: 1px solid rgba(0, 143, 143, 0.1);
    padding-bottom: calc(10px * var(--scale));
}

.category-main-header {
    display: flex;
    align-items: center;
    gap: calc(10px * var(--scale));
}

.category-main-header input[type="checkbox"] {
    margin-right: 0;
    flex-shrink: 0;
}

.category-main-label {
    font-family: 'Golos Text', sans-serif;
    font-size: calc(var(--category-label-font-size) * var(--scale));
    color: #333;
    cursor: pointer;
    transition: color 0.3s ease;
    flex-grow: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
}

.category-main-label:hover {
    color: #3d7979;
}

/* Кнопка раскрытия подкатегорий */
.toggle-subcategories {
    background: none;
    border: none;
    width: calc(24px * var(--scale));
    height: calc(24px * var(--scale));
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #3d7979;
    border-radius: 50%;
    transition: all 0.3s ease;
    padding: 0;
    flex-shrink: 0;
}

.toggle-subcategories:hover {
    background-color: rgba(0, 143, 143, 0.1);
}

.toggle-subcategories svg {
    width: calc(12px * var(--scale));
    height: calc(8px * var(--scale));
    transition: transform 0.3s ease;
}

.toggle-subcategories.expanded svg {
    transform: rotate(180deg);
}

/* Список подкатегорий */
.subcategories-list {
    margin-left: calc(30px * var(--scale));
    margin-top: calc(10px * var(--scale));
    padding-left: calc(10px * var(--scale));
    border-left: 2px solid rgba(0, 143, 143, 0.2);
}

.subcategory-item {
    margin-bottom: calc(10px * var(--scale));
    display: flex;
    align-items: center;
}

.subcategory-item input[type="checkbox"] {
    margin-right: calc(10px * var(--scale));
    width: calc(16px * var(--scale));
    height: calc(16px * var(--scale));
    accent-color: #3d7979;
    cursor: pointer;
    flex-shrink: 0;
}

.subcategory-item label {
    font-family: 'Golos Text', sans-serif;
    font-size: calc(var(--category-label-font-size) * 0.9 * var(--scale));
    color: #555;
    cursor: pointer;
    transition: color 0.3s ease;
    flex-grow: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.subcategory-item label:hover {
    color: #3d7979;
}

/* Адаптация для мобильных устройств */
@media screen and (max-width: 768px) {
    .category-main-header {
        gap: 8px;
    }
    
    .toggle-subcategories {
        width: 22px;
        height: 22px;
    }
    
    .subcategories-list {
        margin-left: 20px;
        padding-left: 8px;
    }
    
    .subcategory-item label {
        font-size: 13px;
    }
    
    .subcategory-item input[type="checkbox"] {
        width: 14px;
        height: 14px;
        margin-right: 8px;
    }
}

@media screen and (max-width: 480px) {
    .subcategories-list {
        margin-left: 15px;
        padding-left: 5px;
    }
    
    .subcategory-item label {
        font-size: 12px;
    }
}