/* Footer */
.footer {
    background: #D9D9D9;
    color: #000000;
    padding: 24px 0;
    margin-top: 60px;
}



.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 42px;
}

.footer-left {
    width: 409px;
}

.footer-center {
    width: 234px;
}

.footer-right {
    width: 401px;
}

.footer-copyright,
.footer-links,
.footer-contacts {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    margin: 0;
    text-align: left;
}
/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
    scroll-padding-top: 100px; /* Отступ для фиксированного header */
    height: 100%;
}

body {
    font-family: 'Montserrat', sans-serif;
    line-height: 1.2;
    color: #005CB9;
    background-color: #FFFFFF;
    overflow-x: hidden;
}


/* Base image styles */
img {
    max-width: 100%;
    height: auto;
    display: block;
    opacity: 1 !important; /* Force visibility */
}

/* Ensure images are visible even if loading fails */
img[src] {
    opacity: 1 !important;
}

.container {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 20px;
    overflow-x: hidden;
}

.container.usage-instructions {
    overflow: visible;
}

.container:has(.composition-grid) {
    overflow: visible;
}

/* Header */
.header {
    background: #FFFFFF;
    box-shadow: 0px 14px 31px 0px rgba(41, 41, 41, 0.1), 
                0px 56px 56px 0px rgba(41, 41, 41, 0.09), 
                0px 126px 75px 0px rgba(41, 41, 41, 0.05), 
                0px 223px 89px 0px rgba(41, 41, 41, 0.01), 
                0px 349px 98px 0px rgba(41, 41, 41, 0);
    position: relative;
    z-index: 100;
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    min-height: 154px;
}

.logo {
    flex-shrink: 0;
}

.logo-image {
    height: 114px;
    width: 165px;
    object-fit: contain;
}

.logo a {
    display: block;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.logo a:hover {
    opacity: 0.8;
}

.nav {
    display: flex;
    gap: 40px;
    align-items: center;
}

.nav-link {
    color: #005CB9;
    text-decoration: none;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    transition: opacity 0.3s ease;
}

.nav-link:hover {
    opacity: 0.7;
}

/* Hero Section */
.hero {
    position: relative;
    width: 100%;
    max-width: 2000px;
    height: auto !important;
    min-height: 0;
    margin: 0 auto;
    padding-top: 0;
    margin-top: 0;
    padding-bottom: 0;
    margin-bottom: 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
}

.hero-slider {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden;
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    flex: 0 0 auto;
    align-self: flex-start;
}

.hero-slides-container {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    transition: transform 0.5s ease-in-out;
    display: flex;
    align-items: flex-start;
}

.hero-slide {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    transition: transform 0.5s ease-in-out;
    display: flex;
    align-items: flex-start;
}

.hero-banner {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    display: flex;
    align-items: flex-start;
    flex: 0 0 auto;
}

.hero-image {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain;
    object-position: top center;
    display: block;
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    flex: 0 0 auto;
}

.hero-content {
    position: absolute;
    top: 50%;
    left: 214px;
    transform: translateY(-50%);
    z-index: 10;
    max-width: calc(1366px - 214px - 20px);
    box-sizing: border-box;
}

/* Slider Navigation Buttons */
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 0;
    color: transparent;
    cursor: pointer;
    z-index: 20;
    transition: opacity 0.3s ease, background 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-btn-prev {
    left: 10px;
    right: auto;
}

.slider-btn-next {
    right: 10px;
    left: auto;
}

/* Базовое позиционирование кнопок для hero-блока на всех экранах */
.hero {
    position: relative;
}

.hero-slider {
    position: relative;
}

.hero .slider-btn {
    position: absolute !important;
    /* top устанавливается через JavaScript для центрирования относительно hero-slider */
    transform: translateY(-50%) !important;
    height: 25%;
}

.hero .slider-btn-prev {
    left: 5px;
    right: auto;
}

.hero .slider-btn-next {
    right: 5px;
    left: auto;

}

.slider-btn img {
    height: 100%;
}

/* Адаптивные размеры кнопок для hero-блока на всех экранах */
/* .hero .slider-btn::before,
.hero .slider-btn::after {
    width: clamp(40px, 4vw, 80px);
    height: clamp(2px, 0.3vw, 4px);
} */

/* На десктопе кнопки позиционируются относительно hero-slider для правильного центрирования */
@media (min-width: 768px) {
    .hero .slider-btn-prev {
        left: clamp(10px, 2vw, 30px) !important;
        right: auto !important;
    }
    
    .hero .slider-btn-next {
        right: clamp(10px, 2vw, 30px) !important;
        left: auto !important;
    }
}

/* Products Spinner */
.products {
    position: relative;
}

.products-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
}

.products-spinner .spinner {
    width: 50px;
    height: 50px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #005CB9;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* .slider-btn:hover::before,
.slider-btn:hover::after {
    background: #E0E0E0;
} */

/* .slider-btn::before {
    content: '';
    position: absolute;
    width: 60px;
    height: 3px;
    background: #FFFFFF;
    transition: background 0.3s ease;
}

.slider-btn-prev::before {
    top: 50%;
    left: 60%;
    transform: translate(-50%, -50%) rotate(135deg);
    transform-origin: right center;
} */

/* .slider-btn-prev::after {
    content: '';
    position: absolute;
    width: 60px;
    height: 3px;
    background: #FFFFFF;
    top: 50%;
    left: 60%;
    transform: translate(-50%, -50%) rotate(225deg);
    transform-origin: right center;
    transition: background 0.3s ease;
}

.slider-btn-next::before {
    top: 50%;
    left: 40%;
    transform: translate(-50%, -50%) rotate(225deg);
    transform-origin: left center;
} */

/* .slider-btn-next::after {
    content: '';
    position: absolute;
    width: 60px;
    height: 3px;
    background: #FFFFFF;
    top: 50%;
    left: 40%;
    transform: translate(-50%, -50%) rotate(135deg);
    transform-origin: left center;
    transition: background 0.3s ease;
} */

/* Отступы кнопок от краев адаптивно на больших экранах */
@media (min-width: 768px) {
    .hero .slider-btn-prev {
        left: clamp(10px, 2vw, 30px) !important;
    }
    
    .hero .slider-btn-next {
        right: clamp(10px, 2vw, 30px) !important;
    }
}


/* Кнопки слайдера: 100% ширины экрана, максимум 1920px */
@media (min-width: 768px) {
    .hero {
        width: 100%;
        max-width: 2000px;
        height: auto !important;
        min-height: 0;
        margin: 0 auto;
        padding-top: 0;
        margin-top: 0;
        padding-bottom: 0;
        margin-bottom: 0;
        overflow: visible;
        display: flex;
        flex-direction: column;
    }
    
    .hero-slider {
        position: relative;
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden;
        margin-top: 0 !important;
        padding-top: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        flex: 0 0 auto;
        align-self: flex-start;
    }
    
    .hero-slides-container {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        display: flex;
        align-items: flex-start;
    }
    
    .hero-slide {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        display: flex;
        align-items: flex-start;
        flex: 0 0 100%;
        width: 100%;
    }
    
    .hero-banner {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        display: flex;
        align-items: flex-start;
        flex: 0 0 auto;
    }
    
    .hero-image {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: contain;
        object-position: top center;
        display: block;
        margin-top: 0 !important;
        padding-top: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        flex: 0 0 auto;
    }
    
    .slider-btn {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 20 !important;
    }
    
    .slider-btn-prev {
        left: 10px !important;
        right: auto !important;
    }
    
    .slider-btn-next {
        right: 10px !important;
        left: auto !important;
    }
}

/* Ограничение для контента относительно контейнера 1366px */
@media (min-width: 1366px) {
    .hero-content {
        left: calc((100% - 1366px) / 2 + 214px);
        max-width: calc(1366px - 214px - 20px);
    }
}

.slider-btn.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.slider-btn.disabled::before,
.slider-btn.disabled::after {
    background: rgba(255, 255, 255, 0.3);
}


.hero-title {
    font-weight: 800;
    font-size: 46px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    color: #005CB9;
    margin-bottom: 15px;
    max-width: none;
}

.hero-subtitle {
    font-weight: 700;
    font-size: 33px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    margin-bottom: 36px;
    max-width: none;
}

.btn-primary {
    background: #005CB9;
    color: #FFFFFF;
    border: none;
    border-radius: 30px;
    padding: 17px 29px;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.22;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background: #004A9F;
    transform: translateY(-2px);
}

/* Categories Section */
.categories {
    padding: 0;
    background: #FFFFFF;
}

.catalog-filters {
    padding: 80px 0 40px;
}

.categories-header {
    display: flex;
    gap: 40px;
    margin-bottom: 40px;
    justify-content: center;
    flex-wrap: wrap;
}

.category-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 20px;
}

.category-icon {
    width: 80px;
    height: 80px;
    object-fit: contain;
    transition: all 0.3s ease;
}

.category-title {
    font-weight: 700;
    font-size: 26px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-align: center;
    color: #005CB9;
    transition: color 0.3s ease;
    margin: 0;
}

.category-item.active .category-title {
    color: #AFAFAF;
}

.category-item:hover .category-title {
    color: #AFAFAF;
}

.filters {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}

.filters-row {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Фильтры - первая и вторая строки */

.filter-btn {
    background: transparent;
    border: 2px solid #005CB9;
    border-radius: 30px;
    padding: 10px 20px;
    font-weight: 700;
    font-size: 17px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    cursor: pointer;
    transition: all 0.3s ease;
}

.filter-btn.active {
    background: #005CB9;
    color: #FFFFFF;
}

.filter-btn:hover {
    background: #005CB9;
    color: #FFFFFF;
}

/* Mobile catalog filters accordion + sticky */
.catalog-mobile-filter-sticky {
    position: relative;
}

.catalog-mobile-filter-spacer {
    margin-top: 15px;
}

.catalog-mobile-filter {
    width: 100%;
    background: #FFFFFF;
}

.catalog-mobile-filter-summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;

    background: #FFFFFF;
    border: 2px solid #005CB9;
    border-radius: 30px;
    padding: 12px 18px;

    font-weight: 700;
    font-size: 16px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
}

.catalog-mobile-filter-summary::-webkit-details-marker {
    display: none;
}

.catalog-mobile-filter-summary-label {
    flex: none;
}

.catalog-mobile-filter-summary-category {
    flex: 1;
    min-width: 0;
    text-align: left;
    opacity: 0.85;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.catalog-mobile-filter-summary-chevron {
    flex: none;
    width: 10px;
    height: 10px;
    border-right: 2px solid #005CB9;
    border-bottom: 2px solid #005CB9;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.catalog-mobile-filter.is-open .catalog-mobile-filter-summary-chevron {
    transform: rotate(-135deg);
}

.catalog-mobile-filter-panel {
    padding-top: 18px;
    background: #FFFFFF;
    border-radius: 0 0 30px 30px;
    overflow: hidden;
    max-height: 0px;
    opacity: 0;
    transition: max-height 0.85s ease, opacity 0.5s ease;
    will-change: max-height, opacity;
    /* Важно: у <details> браузер по умолчанию может делать контент display:none когда закрыт.
       Это ломает анимацию. Держим panel всегда видимым и анимируем только высоту/прозрачность. */
    display: block !important;
}

.catalog-mobile-filter.is-open .catalog-mobile-filter-summary {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* Принудительно показываем панель даже когда <details> закрыт нативно,
   иначе браузер может мгновенно прятать содержимое и анимация не видна. */
details.catalog-mobile-filter:not([open]) .catalog-mobile-filter-panel {
    display: block !important;
}

@media (max-width: 768px) {
    .catalog-filters {
        padding: 16px 0 20px;
    }

    .catalog-mobile-filter-sticky {
        position: sticky;
        top: 16px;
        z-index: 60;
        background: #FFFFFF;
        padding: 0;
    }

    .catalog-mobile-filter-panel {
        padding-top: 14px;
    }
}

@media (min-width: 769px) {
    .catalog-mobile-filter-sticky {
        position: static;
        padding: 0;
    }

    .catalog-mobile-filter-summary {
        display: none;
    }

    /* На десктопе показываем панель даже если <details> не открыт
       (чтобы не ломать текущую верстку/UX). */
    .catalog-mobile-filter-panel {
        display: block !important;
        padding-top: 0;
        max-height: none;
        opacity: 1;
        transition: none;
    }

}

/* Products Section */
.products {
    padding: 60px 0;
    background: #FFFFFF;
    overflow: visible;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, 300px);
    gap: 40px;
    margin-bottom: 60px;
    overflow: visible;
    justify-content: center;
}

.product-card {
    background: #FFFFFF;
    border-radius: 30px;
    padding: 20px;
    transition: transform 0.3s ease;
    cursor: pointer;
    position: relative;
    overflow: visible;
    text-decoration: none;
    color: inherit;
}

.product-card:hover {
    transform: translateY(-5px);
}

.product-card:hover .product-title,
.product-card:hover .product-description,
.product-card:hover .product-weight {
    color: inherit;
}

/* Ингредиенты - 4 позиции: слева вверху, слева внизу, справа вверху, справа внизу */
/* Позиционирование управляется через JavaScript для точного расчёта относительно изображения */
.ingredients-left-top,
.ingredients-left-bottom,
.ingredients-right-top,
.ingredients-right-bottom {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    display: flex;
    flex-direction: column;
}

/* Слева вверху */
.ingredients-left-top {
    top: 35%;
    transform: translateY(-50%);
    align-items: flex-end;
}

/* Слева внизу */
.ingredients-left-bottom {
    top: 75%;
    transform: translateY(-50%);
    align-items: flex-end;
}

/* Справа вверху */
.ingredients-right-top {
    top: 35%;
    transform: translateY(-50%);
    align-items: flex-start;
}

/* Справа внизу */
.ingredients-right-bottom {
    top: 75%;
    transform: translateY(-50%);
    align-items: flex-start;
}

.ingredient {
    background: transparent;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    /* Размер устанавливается через JS относительно реального изображения */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

/* Размер и поведение ингредиентов в каталоге на десктопе */
@media (min-width: 769px) {
    .products .ingredient {
        width: 210px;
        height: 210px;
    }
}

/* ---------------------------------------------
   Анимация “выглядывания” ингредиентов из-за флакона (только десктоп)
   --------------------------------------------- */
@media (min-width: 769px) {
    /* Базовое состояние: ингредиенты скрыты */
    .product-card .ingredients-left-top,
    .product-card .ingredients-left-bottom,
    .product-card .ingredients-right-top,
    .product-card .ingredients-right-bottom {
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    /* При hover: показываем ингредиенты */
    .product-card:hover .ingredients-left-top,
    .product-card:hover .ingredients-left-bottom,
    .product-card:hover .ingredients-right-top,
    .product-card:hover .ingredients-right-bottom {
        opacity: 1;
    }
}

/* На мобильных ингредиенты статичны и всегда видимы, расположены за флаконом */
@media (max-width: 768px) {
    .product-card .ingredients-left-top,
    .product-card .ingredients-left-bottom,
    .product-card .ingredients-right-top,
    .product-card .ingredients-right-bottom {
        opacity: 1 !important;
        z-index: 5 !important; /* За флаконом, но видимы */
    }

    .product-card .ingredient {
        opacity: 1 !important;
    }
    
    /* Ингредиенты должны быть ближе к флакону и частично скрыты за ним */
    .product-image {
        position: relative;
        z-index: 10;
    }
    
    .product-image img {
        position: relative;
        z-index: 15; /* Флакон поверх ингредиентов */
    }
}

.ingredient img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 0;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
    transition: transform 0.3s ease;
}

.ingredient:hover img {
    transform: scale(1.1);
}

/* Изображения ингредиентов без поворота по умолчанию */
.product-card .ingredients-left-top .ingredient img,
.product-card .ingredients-left-bottom .ingredient img {
    transform: rotate(0deg);
}

.product-card .ingredients-right-top .ingredient img,
.product-card .ingredients-right-bottom .ingredient img {
    transform: rotate(0deg);
}

/* Наклон ингредиентов при наведении на карточку (только десктоп) */
@media (min-width: 769px) {
    .product-card:hover .ingredients-left-top .ingredient img,
    .product-card:hover .ingredients-left-bottom .ingredient img {
        transform: rotate(-8deg);
    }

    .product-card:hover .ingredients-right-top .ingredient img,
    .product-card:hover .ingredients-right-bottom .ingredient img {
        transform: rotate(8deg);
    }
}

/* Индивидуальные стили для зубной пасты ДРЕВЕСНЫЙ УГОЛЬ */
.product-charcoal {
    --ing-left-1-final: translateY(calc(-100% - 4.2%));
    --ing-left-2-final: translateY(calc(-200% - 8.4%));
    --ing-right-1-final: translateY(calc(-100% - 4.2%));
}

/* Индивидуальные стили для зубной пасты БЕРЕЖНОЕ ОТБЕЛИВАНИЕ */
.product-whitening {
    --ing-left-1-final: translateY(calc(-100% - 4.2%));
    --ing-right-1-final: translateY(calc(-100% - 4.2%));
}

/* Индивидуальные стили для зубной пасты ГИДРОКСИАПАТИТ */
.product-hydroxyapatite {
    --ing-left-1-final: translateY(0);
    --ing-right-1-final: translateY(calc(-100% - 4.2%));
}

/* Индивидуальные стили для зубной пасты РОЗОВАЯ СОЛЬ */
.product-salt {
    --ing-left-1-final: translateY(25%);
    --ing-left-2-final: translateY(calc(-200% - 8.4%));
    --ing-right-1-final: translateY(calc(-100% - 4.2%));
}

/* Индивидуальные стили для зубной пасты ЭКСТРАКТ ЧАЙНОГО ДЕРЕВА */
.product-teatree {
    --ing-left-1-final: translateY(calc(-100% - 4.2%));
    --ing-right-1-final: translateY(calc(-100% - 4.2%));
}

/* Индивидуальные стили для зубной пасты КОМПЛЕКС 3 в 1 */
.product-complex {
    --ing-left-1-final: translateY(calc(-100% - 4.2%));
    --ing-right-1-final: translateY(calc(-100% - 4.2%));
}

/* Индивидуальные стили для зубной пасты МОРСКИЕ МИНЕРАЛЫ И СПИРУЛИНА */
.product-minerals {
    /* Исландский мох - слева вверху, за тюбиком */
    --ing-left-1-final: translateY(calc(-150% - 8.4%));
    /* Морская соль - слева внизу, у основания тюбика, частично перекрывает */
    --ing-left-2-final: translateY(60%);
    /* Ламинария - справа вверху, за тюбиком */
    --ing-right-1-final: translateY(calc(-150% - 8.4%));
}

/* Индивидуальные стили для зубной пасты ЛЕЧЕБНЫЕ ТРАВЫ */
.product-herbs {
    --ing-left-1-final: translateY(calc(-100% - 4.2%));
    --ing-right-1-final: translateY(calc(-100% - 4.2%));
}

/* Индивидуальные стили для зубной пасты КАЛИЙ И ГИАЛУРОНОВАЯ КИСЛОТА */
.product-potassium {
    --ing-left-1-final: translateX(12.4%) translateY(calc(-100% - 4.2%));
    --ing-right-1-final: translateY(calc(-100% - 4.2%));
}

.product-potassium .product-image img {
    transform: scale(1.3) translateY(20px);
}

/* Индивидуальные стили для зубной пасты ТАБАК И ВАНИЛЬ */
.product-tobacco {
    --ing-left-1-final: translateY(calc(-100% - 4.2%));
    --ing-right-1-final: translateY(calc(-100% - 4.2%));
}

.product-tobacco .product-image img {
    transform: scale(1.3) translateY(20px);
}

/* Индивидуальные стили для зубной пасты ЛЕЧЕБНЫЕ ТРАВЫ (тюбик) */
.product-tube {
    --ing-left-1-final: translateY(calc(-100% - 4.2%));
    --ing-right-1-final: translateY(calc(-100% - 4.2%));
}

/* Индивидуальные стили для зубной пасты ИСЛАНДСКИЙ МОХ */
.product-moss {
    --ing-left-1-final: translateY(calc(-100% - 4.2%));
    --ing-right-1-final: translateY(calc(-100% - 4.2%));
}

.product-image {
    /* width: 323px; */
    height: 360px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible; /* Изменено с hidden на visible, чтобы ингредиенты были видны */
    position: relative;
    z-index: 10;
}

.product-image img {
    width: 70%;
    height: 70%;
    object-fit: contain;
    position: relative;
    z-index: 15;
}

.product-info {
    text-align: center;
}

.product-title {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 10px;
}

.product-description {
    font-weight: 400;
    font-size: 22px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #000000;
    margin-bottom: 10px;
}

.product-weight {
    font-weight: 400;
    font-size: 20px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #797979;
}

.show-more-btn {
    display: block;
    margin: 0 auto;
    background: transparent;
    border: 2px solid #005CB9;
    border-radius: 30px;
    padding: 15px 30px;
    font-weight: 600;
    font-size: 30px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    cursor: pointer;
    transition: all 0.3s ease;
}

.show-more-btn:hover {
    background: #005CB9;
    color: #FFFFFF;
}

/* Features Section */
.features {
    padding: 100px 0;
    background: #D8EAFD;
}

/* Заголовок блока */
.features-header {
    text-align: center;
    margin-bottom: 80px;
}

.features-title {
    font-weight: 700;
    font-size: 50px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    color: #005CB9;
    margin-bottom: 10px;
}

.features-brand {
    font-weight: 700;
    font-size: 70px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    color: #005CB9;
    margin-bottom: 40px;
}

.features-description {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 33px;
    line-height: 40px;
    letter-spacing: -0.015em;
    text-align: center;
    color: #000000;
    max-width: 900px;
    margin: 0 auto;
}

/* Важная роль метабиотика */
.metabiotic-role {
    text-align: center;
    margin-bottom: 80px;
}

.role-header {
    display: inline-block;
    white-space: nowrap;
    margin-bottom: 40px;
}

.role-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 47px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    margin-bottom: 0;
    display: inline;
}

.role-subtitle {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 47px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    margin-bottom: 0;
    margin-left: 10px;
    display: inline;
}

.metabiotic-role .role-benefits {
    display: flex;
    gap: 40px;
    justify-content: center;
    align-items: self-start;
    flex-wrap: nowrap;
}

.metabiotic-role .benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    width: 50%;
}

.metabiotic-role .benefit-item p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 35px;
    line-height: 43px;
    letter-spacing: -0.015em;
    color: #005CB9;
    text-align: left;
    margin: 0;
    padding: 0;
}

.metabiotic-role .benefit-icon {
    width: 30px;
    min-width: 30px;
    background: none;
    color: #005CB9;
    border-radius: 50%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    font-weight: bold;
    font-size: 27px !important;
    flex-shrink: 0;
    line-height: 43px;
    height: 43px;
    margin: 0;
    padding-top: 4px !important;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    align-self: flex-start;
}

/* Информационный блок с изображением */
.info-block {
    display: flex;
    align-items: center;
    gap: 60px;
    margin-bottom: 80px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.info-image {
    flex: 0 0 400px;
    position: relative;
}

.info-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 50px;
    clip-path: polygon(0 0, 100% 0, 100% 70%, 50% 100%, 0 70%);
}

.info-text {
    flex: 1;
    background: #005CB9;
    border-radius: 80px;
    padding: 40px;
}

.info-text p {
    font-weight: 500;
    font-size: 26px;
    line-height: 1.35;
    letter-spacing: -0.015em;
    color: #FFFFFF;
    margin: 0;
    text-align: center;
}

/* Состав */
.composition-section {
    text-align: center;
    overflow: visible;
    padding: 40px 0;
    margin: 0 -40px;
}

.composition-title {
    font-weight: 700;
    font-size: 50px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    color: #005CB9;
    margin-bottom: 60px;
}

.composition-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    overflow: visible;
}

.composition-card {
    background: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 30px;
    padding: 40px 20px;
    text-align: center;
    box-shadow: 0px 3.67px 5.3px 0px rgba(0, 92, 185, 0.04),
                0px 17.33px 20.7px 0px rgba(0, 92, 185, 0.06),
                0px 45px 65px 0px rgba(0, 92, 185, 0.1);
}

.composition-icon {
    width: 129px;
    height: 129px;
    margin: 0 auto 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #05519E;
    border-radius: 50%;
}

.composition-grid .composition-card:first-child .composition-icon {
    background: #05519E;
}

.composition-icon img {
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
}

.composition-card-title {
    font-weight: 500;
    font-size: 26px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-align: center;
    color: #000000;
}

/* Important Role Section */
.important-role {
    padding: 100px 0;
    background: #FFFFFF;
}

.role-content {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.role-title {
    font-weight: 700;
    font-size: 47px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-align: center;
    color: #005CB9;
    margin-bottom: 40px;
}

.role-description {
    background: #005CB9;
    border-radius: 80px;
    padding: 40px;
    margin-bottom: 40px;
}

.role-description p {
    font-weight: 500;
    font-size: 26px;
    line-height: 1.35;
    letter-spacing: -0.015em;
    text-align: center;
    color: #FFFFFF;
}

.role-benefits {
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: self-start;
}

.benefit-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.benefit-icon {
    width: 30px;
    height: 30px;
    background: none;
    color: #005CB9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
}

.benefit-item p {
    font-weight: 600;
    font-size: 35px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
}

/* Result Section */
.result {
    position: relative;
    padding: 0;
    background: transparent;
    overflow: hidden;
    max-width: 1200px;
    margin: 80px auto 0;
    border-radius: 86px;
}

.result-bg {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    border-radius: 86px;
    overflow: hidden;
    background: #0060C2;
    min-height: 500px;
}

.result-bg img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50%;
    height: auto !important;
    max-height: calc(100% - 60px) !important;
    max-width: none !important;
    object-fit: cover;
    object-position: right bottom;
    display: block;
    z-index: 1;
}

.result-overlay {
    position: relative;
    width: 100%;
    padding: 10px 0 100px 0;
    box-sizing: border-box;
    z-index: 2;
}

.result-overlay .container {
    position: relative;
    width: 100%;
}

.result-content {
    position: relative;
    z-index: 10;
    width: 100%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.result-title {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: 700;
    font-size: 50px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    text-align: center;
    color: #FFFFFF;
    z-index: 20;
    margin: 0;
    width: 100%;
    pointer-events: none;
}

.result-main {
    position: relative;
    width: 100%;
    display: flex;
    align-items: flex-start;
    padding-top: 90px;
    padding-bottom: 0;
    box-sizing: border-box;
}

.result-items {
    width: 50%;
    padding-left: 80px;
    text-align: left;
    box-sizing: border-box;
}

.result-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 25px;
}

.result-item:last-child {
    margin-bottom: 0;
}

.result-icon {
    width: 26px;
    height: 26px;
    background: none;
    color: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 16px;
    flex-shrink: 0;
    margin-top: 3px;
}

.result-item p {
    font-weight: 500;
    font-size: 26px;
    line-height: 1.3;
    letter-spacing: -0.015em;
    color: #FFFFFF;
}

.result-image {
    flex: 1;
    text-align: center;
}

.result-image img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Convenient Forms Section */
.convenient-forms {
    padding: 100px 0;
    background: #FFFFFF;
    overflow: visible;
}

.forms-content {
    display: flex;
    gap: 60px;
    align-items: flex-start;
    overflow: visible;
}

.forms-text {
    flex: 1;
}

.forms-title {
    font-weight: 700;
    font-size: 50px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    color: #005CB9;
    margin-bottom: 40px;
}

.forms-description {
    font-weight: 400;
    font-size: 18px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #797979;
    margin: 0;
}


/* New Forms Slider - точная копия HERO слайдера */
.new-forms-slider {
    position: relative;
    flex: 1;
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: center;
}

.new-slides-container {
    display: flex;
    overflow: hidden;
    border-radius: 20px;
    max-width: 300px;
    width: 100%;
    min-width: 280px;
}

.new-slide {
    min-width: 100%;
    display: none;
    transition: opacity 0.5s ease-in-out;
    height: 400px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.new-slide.active {
    display: flex;
}

.new-slide img {
    width: 280px !important;
    height: 380px !important;
    max-width: 280px !important;
    max-height: 380px !important;
    min-width: 280px !important;
    min-height: 380px !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
    margin: 0 auto;
    flex-shrink: 0;
}

.new-slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    width: 180px;
    height: 180px;
    font-size: 0;
    color: transparent;
    cursor: pointer;
    z-index: 20;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.new-slider-btn:hover::before,
.new-slider-btn:hover::after {
    background: #E0E0E0;
}

.new-slider-btn::before {
    content: '';
    position: absolute;
    width: 60px;
    height: 3px;
    background: #005CB9;
    transition: background 0.3s ease;
}

.new-slider-btn-prev::before {
    top: 50%;
    left: 60%;
    transform: translate(-50%, -50%) rotate(135deg);
    transform-origin: right center;
}

.new-slider-btn-prev::after {
    content: '';
    position: absolute;
    width: 60px;
    height: 3px;
    background: #005CB9;
    top: 50%;
    left: 60%;
    transform: translate(-50%, -50%) rotate(225deg);
    transform-origin: right center;
    transition: background 0.3s ease;
}

.new-slider-btn-next::before {
    top: 50%;
    left: 40%;
    transform: translate(-50%, -50%) rotate(225deg);
    transform-origin: left center;
}

.new-slider-btn-next::after {
    content: '';
    position: absolute;
    width: 60px;
    height: 3px;
    background: #005CB9;
    top: 50%;
    left: 40%;
    transform: translate(-50%, -50%) rotate(135deg);
    transform-origin: left center;
    transition: background 0.3s ease;
}

.new-slider-btn-prev {
    left: 10px;
}

.new-slider-btn-next {
    right: 10px;
}

.new-slider-btn.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.new-slider-btn.disabled::before,
.new-slider-btn.disabled::after {
    background: rgba(0, 92, 185, 0.3);
}

/* Where to Buy Section */
.where-to-buy {
    padding: 100px 0;
    background: #D8EAFD;
}

.buy-title {
    font-weight: 800;
    font-size: 45px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    text-align: center;
    color: #005CB9;
    margin-bottom: 60px;
}

.buy-columns {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 80px;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    flex-wrap: wrap;
}

.market-logo {
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.market-logo img {
    height: 46px;
    width: auto;
    object-fit: contain;
}

.wb-logo-text {
    font-weight: 800;
    font-size: 38px;
    line-height: 46px;
    color: #7F1FBF;
    height: 46px;
    display: inline-block;
}

.marketplaces {
    display: flex;
    gap: 40px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.marketplace-item {
    background: #FFFFFF;
    border-radius: 30px;
    padding: 20px;
    box-shadow: 0px 3.67px 5.3px 0px rgba(0, 92, 185, 0.04),
                0px 17.33px 20.7px 0px rgba(0, 92, 185, 0.06),
                0px 45px 65px 0px rgba(0, 92, 185, 0.1);
    transition: transform 0.3s ease;
}

.marketplace-item:hover {
    transform: translateY(-5px);
}

.marketplace-item img {
    height: 50px;
    width: auto;
    object-fit: contain;
}

/* Articles Section */
.articles {
    padding: 100px 0;
    background: #FFFFFF;
}

.articles-title {
    font-weight: 800;
    font-size: 45px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    text-align: center;
    color: #005CB9;
    margin-bottom: 60px;
}

.articles-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    margin-bottom: 60px;
}

.article-item {
    text-align: center;
    text-decoration: none;
    display: block;
    transition: transform 0.3s ease;
}

.article-item:hover {
    transform: translateY(-5px);
}

.article-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 110px;
    margin-bottom: 20px;
}

.article-title {
    font-weight: 500;
    font-size: 22px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
}

.read-all-btn {
    display: block;
    margin: 0 auto;
    background: transparent;
    border: 2px solid #005CB9;
    border-radius: 30px;
    padding: 15px 30px;
    font-weight: 600;
    font-size: 25px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    text-align: center;
}

.read-all-btn:hover {
    background: #005CB9;
    color: #FFFFFF;
}

/* Archive Page Styles */
.archive-section {
    padding: 60px 0 100px !important;
    background: #FFFFFF !important;
    flex: 1;
    min-height: 400px;
    width: 100% !important;
}

.archive-header {
    text-align: center;
    margin-bottom: 60px;
}

.archive-title {
    font-weight: 800 !important;
    font-size: 45px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.015em !important;
    text-transform: uppercase !important;
    color: #005CB9 !important;
    margin-bottom: 20px !important;
}

.archive-description {
    font-weight: 400;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: -0.015em;
    color: #005CB9;
    max-width: 800px;
    margin: 0 auto;
    opacity: 0.8;
}

.archive-content {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)) !important;
    gap: 40px !important;
    margin-bottom: 60px !important;
    width: 100% !important;
}

.archive-item {
    background: #FFFFFF !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: block !important;
    box-shadow: 0px 3px 10px 0px rgba(0, 92, 185, 0.08) !important;
    border: 1px solid rgba(0, 92, 185, 0.1) !important;
}

.archive-item:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0px 15px 40px 0px rgba(0, 92, 185, 0.2) !important;
}

.archive-item-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.archive-item-image {
    width: 100% !important;
    height: 280px !important;
    overflow: hidden !important;
    background: #F5F5F5 !important;
    display: block !important;
    border-radius: 20px 20px 0 0 !important;
    position: relative !important;
}

.archive-item-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
    display: block !important;
}

.archive-item:hover .archive-item-image img {
    transform: scale(1.08) !important;
}

.archive-item-content {
    padding: 30px !important;
    background: #FFFFFF !important;
    min-height: 200px !important;
    display: flex !important;
    flex-direction: column !important;
}

.archive-item-date {
    display: block;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    opacity: 0.7;
    margin-bottom: 15px;
}

.archive-item-title {
    font-weight: 600 !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.015em !important;
    color: #005CB9 !important;
    margin: 0 0 15px 0 !important;
    transition: color 0.3s ease !important;
    display: block !important;
}

.archive-item:hover .archive-item-title {
    color: #004A94;
}

.archive-item-excerpt {
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    letter-spacing: -0.015em !important;
    color: #005CB9 !important;
    opacity: 0.8 !important;
    margin: 0 0 15px 0 !important;
    flex-grow: 1 !important;
}

.archive-item-read-more {
    display: inline-block !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.015em !important;
    color: #005CB9 !important;
    transition: transform 0.3s ease !important;
    margin-top: 10px !important;
}

.archive-item:hover .archive-item-read-more {
    transform: translateX(5px);
}

/* Archive Pagination */
.archive-pagination {
    margin-top: 60px;
    text-align: center;
}

.archive-pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.archive-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 45px;
    height: 45px;
    padding: 0 15px;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    text-decoration: none;
    border: 2px solid #005CB9;
    border-radius: 30px;
    transition: all 0.3s ease;
    background: #FFFFFF;
}

.archive-pagination .page-numbers:hover,
.archive-pagination .page-numbers.current {
    background: #005CB9;
    color: #FFFFFF;
    border-color: #005CB9;
}

.archive-pagination .page-numbers.dots {
    border: none;
    background: transparent;
    cursor: default;
}

.archive-pagination .page-numbers.dots:hover {
    background: transparent;
    color: #005CB9;
}

/* Archive Empty State */
.archive-empty {
    text-align: center;
    padding: 100px 20px;
}

.archive-empty-title {
    font-weight: 800;
    font-size: 36px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    margin-bottom: 20px;
}

.archive-empty-text {
    font-weight: 400;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: -0.015em;
    color: #005CB9;
    opacity: 0.8;
    margin-bottom: 40px;
}

.archive-empty-link {
    display: inline-block;
    background: transparent;
    border: 2px solid #005CB9;
    border-radius: 30px;
    padding: 15px 30px;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    text-decoration: none;
    transition: all 0.3s ease;
}

.archive-empty-link:hover {
    background: #005CB9;
    color: #FFFFFF;
}

/* Sticky footer для страницы архивов */
body.archive {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body.archive .header {
    flex-shrink: 0;
    box-shadow: none !important;
}

body.archive .footer {
    flex-shrink: 0;
    margin-top: auto !important;
}

/* Blog Posts Page Styles (index.php) */
.blog-posts-section {
    padding: 60px 0 100px !important;
    background: #FFFFFF !important;
    flex: 1;
    min-height: 400px;
    width: 100% !important;
}

.blog-header {
    text-align: center;
    margin-bottom: 60px;
}

.blog-title {
    font-weight: 800 !important;
    font-size: 45px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.015em !important;
    text-transform: uppercase !important;
    color: #005CB9 !important;
    margin-bottom: 20px !important;
}

.blog-content {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)) !important;
    gap: 40px !important;
    margin-bottom: 60px !important;
    width: 100% !important;
}

.blog-item {
    background: #FFFFFF !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: block !important;
    box-shadow: 0px 3px 10px 0px rgba(0, 92, 185, 0.08) !important;
    border: 1px solid rgba(0, 92, 185, 0.1) !important;
}

.blog-item:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0px 15px 40px 0px rgba(0, 92, 185, 0.2) !important;
}

.blog-item-link {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}

.blog-item-image {
    width: 100% !important;
    height: 280px !important;
    overflow: hidden !important;
    background: #F5F5F5 !important;
    display: block !important;
    border-radius: 20px 20px 0 0 !important;
    position: relative !important;
}

.blog-item-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
    display: block !important;
}

.blog-item:hover .blog-item-image img {
    transform: scale(1.08) !important;
}

.blog-item-content {
    padding: 30px !important;
    background: #FFFFFF !important;
    min-height: 200px !important;
    display: flex !important;
    flex-direction: column !important;
}

.blog-item-date {
    display: block !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.015em !important;
    color: #005CB9 !important;
    opacity: 0.7 !important;
    margin-bottom: 15px !important;
}

.blog-item-title {
    font-weight: 600 !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.015em !important;
    color: #005CB9 !important;
    margin: 0 0 15px 0 !important;
    transition: color 0.3s ease !important;
    display: block !important;
}

.blog-item:hover .blog-item-title {
    color: #004A94 !important;
}

.blog-item-excerpt {
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    letter-spacing: -0.015em !important;
    color: #005CB9 !important;
    opacity: 0.8 !important;
    margin: 0 0 15px 0 !important;
    flex-grow: 1 !important;
}

.blog-item-read-more {
    display: inline-block !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.015em !important;
    color: #005CB9 !important;
    transition: transform 0.3s ease !important;
    margin-top: 10px !important;
}

.blog-item:hover .blog-item-read-more {
    transform: translateX(5px) !important;
}

/* Blog Pagination */
.blog-pagination {
    margin-top: 60px;
    text-align: center;
}

.blog-pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.blog-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 45px;
    height: 45px;
    padding: 0 15px;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    text-decoration: none;
    border: 2px solid #005CB9;
    border-radius: 30px;
    transition: all 0.3s ease;
    background: #FFFFFF;
}

.blog-pagination .page-numbers:hover,
.blog-pagination .page-numbers.current {
    background: #005CB9;
    color: #FFFFFF;
    border-color: #005CB9;
}

.blog-pagination .page-numbers.dots {
    border: none;
    background: transparent;
    cursor: default;
}

.blog-pagination .page-numbers.dots:hover {
    background: transparent;
    color: #005CB9;
}

/* Blog Empty State */
.blog-empty {
    text-align: center;
    padding: 100px 20px;
}

.blog-empty-title {
    font-weight: 800;
    font-size: 36px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    margin-bottom: 20px;
}

.blog-empty-text {
    font-weight: 400;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: -0.015em;
    color: #005CB9;
    opacity: 0.8;
    margin-bottom: 40px;
}

.blog-empty-link {
    display: inline-block;
    background: transparent;
    border: 2px solid #005CB9;
    border-radius: 30px;
    padding: 15px 30px;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    text-decoration: none;
    transition: all 0.3s ease;
}

.blog-empty-link:hover {
    background: #005CB9;
    color: #FFFFFF;
}

/* Sticky footer для страницы блога */
body.blog,
body.home:not(.page) {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body.blog .header,
body.home:not(.page) .header {
    flex-shrink: 0;
    box-shadow: none !important;
}

body.blog .footer,
body.home:not(.page) .footer {
    flex-shrink: 0;
    margin-top: auto !important;
}

/* Single Post Page Styles */
body.single {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body.single .header {
    flex-shrink: 0;
}

body.single .single-post {
    padding: 60px 0 100px;
    background: #FFFFFF;
    flex: 1;
}

body.single .footer {
    flex-shrink: 0;
    margin-top: auto !important;
}

.single-post-article {
    max-width: 900px;
    margin: 0 auto;
}

.single-post-header {
    margin-bottom: 40px;
}

.single-post-image {
    width: 100%;
    margin-bottom: 30px;
    border-radius: 20px;
    overflow: hidden;
}

.single-post-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.single-post-meta {
    margin-bottom: 20px;
}

.single-post-date {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    opacity: 0.7;
}

.single-post-title {
    font-weight: 800;
    font-size: 45px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    margin: 0;
}

.single-post-content {
    font-weight: 400;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: -0.015em;
    color: #005CB9;
    margin-bottom: 60px;
}

.single-post-content p {
    margin-bottom: 20px;
}

.single-post-content h2 {
    font-weight: 700;
    font-size: 32px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    margin: 40px 0 20px;
}

.single-post-content h3 {
    font-weight: 600;
    font-size: 26px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    margin: 30px 0 15px;
}

.single-post-content ul,
.single-post-content ol {
    margin: 20px 0;
    padding-left: 30px;
}

.single-post-content li {
    margin-bottom: 10px;
}

.single-post-content a {
    color: #005CB9;
    text-decoration: underline;
    transition: opacity 0.3s ease;
}

.single-post-content a:hover {
    opacity: 0.7;
}

.single-post-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 30px 0;
}

.single-post-navigation {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 40px;
    padding-top: 40px;
    border-top: 1px solid rgba(0, 92, 185, 0.2);
}

.post-nav-link {
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    color: #005CB9;
    transition: opacity 0.3s ease;
    flex: 1;
    max-width: 48%;
}

.post-nav-link:hover {
    opacity: 0.7;
}

.post-nav-prev {
    text-align: left;
}

.post-nav-next {
    text-align: right;
    flex-direction: row-reverse;
}

.post-nav-arrow {
    font-size: 24px;
    font-weight: 700;
    color: #005CB9;
    flex-shrink: 0;
}

.post-nav-content {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.post-nav-label {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    opacity: 0.7;
}

.post-nav-title {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
}

.single-post-back {
    text-align: center;
    margin-top: 40px;
}

.back-to-articles-btn {
    display: inline-block;
    background: transparent;
    border: 2px solid #005CB9;
    border-radius: 30px;
    padding: 15px 30px;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    text-decoration: none;
    transition: all 0.3s ease;
}

.back-to-articles-btn:hover {
    background: #005CB9;
    color: #FFFFFF;
}

/* Remove header shadow on single post page */
body.single .header {
    box-shadow: none;
}

/* Final CTA Section */

.cta-title {
    font-weight: 600;
    font-size: 40px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
}

/* Usage Instructions Section */
.usage-instructions {
    padding: 100px 0;
    background: #FFFFFF;
    overflow: visible;
}

.instructions-grid {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: visible;
}

.instruction-item {
    text-align: left;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    max-width: none;
    min-height: auto;
    height: auto;
}


.instruction-image {
    width: 200px;
    height: 200px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    position: relative;
    z-index: 2;
    flex-shrink: 0;
}

.instruction-image::after {
    content: attr(data-number);
    position: absolute;
    bottom: 10px;
    left: -30px;
    width: 74px;
    height: 122px;
    background: none;
    color: rgba(0, 92, 185, 0.7);
    font-weight: 600;
    font-size: 100px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.instruction-image img {
    width: 200px;
    height: 200px;
    object-fit: contain;
    display: block;
    flex-shrink: 0;
}

.instruction-title {
    font-weight: 400;
    font-size: 22px;
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: #005CB9;
    min-height: auto;
    height: auto;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    width: 100%;
    padding-top: 10px;
}

.instruction-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 80px;
    margin: 0 -20px;
    z-index: 5;
    position: relative;
    top: 60px; /* lower dividers to sit between items more */
    left: -30px; /* shift arrows left */
}

.instruction-divider-bottom {
    top: 140px; /* adjusted slightly up */
}

.instruction-divider img {
    max-width: 120px;
    height: auto;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.instruction-divider-bottom img {
    transform: rotate(180deg);
}

/* Responsive Design */
@media (max-width: 1200px) {
    .container {
        padding: 0 15px;
    }
    
    .result-title {
        font-size: 42px;
        top: 12px;
    }
    
    .result-main {
        padding-top: 85px;
    }
    
    .result-item p {
        font-size: 24px;
    }
    
    .result-icon {
        width: 24px;
        height: 24px;
        font-size: 15px;
    }
    
    .result-item {
        margin-bottom: 22px;
        gap: 14px;
    }
}

@media (max-width: 768px) {
    /* Header styles for main page */
    .header-content {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 20px !important;
        min-height: auto !important;
        padding: 20px 0 !important;
    }
    
    .logo {
        order: 1 !important;
    }
    
    .logo-image {
        height: 80px !important;
        width: 120px !important;
    }
    
    .nav {
        gap: 20px !important;
        flex-direction: column !important;
        display: none !important; /* Hidden by default, shown only when mobile menu is open */
    }
    
    .nav.mobile-open {
        display: flex !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: #005CB9 !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: 9999 !important;
        animation: slideInFromTop 0.3s ease-out !important;
    }
    
    /* Ensure nav is visible during closing animation */
    .nav:not(.mobile-open) {
        display: none !important;
    }
    
    /* Special class for closing animation */
    .nav.closing {
        display: flex !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: #005CB9 !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: 9999 !important;
        animation: slideOutToTop 0.3s ease-in forwards !important;
    }
    
    .nav.mobile-open .nav-link,
    .nav.closing .nav-link {
        color: #FFFFFF !important;
        font-size: 18px !important;
        font-weight: 500 !important;
        text-align: center !important;
        padding: 15px 20px !important;
        margin: 10px 0 !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        text-decoration: none !important;
        transition: all 0.3s ease !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
    
    .nav.mobile-open .nav-link:hover {
        background: rgba(255, 255, 255, 0.1) !important;
        transform: scale(1.05) !important;
    }
    
    /* Burger menu button styles */
    .mobile-menu-btn {
        transition: all 0.3s ease !important;
        position: relative !important;
    }
    
    .mobile-menu-btn.is-open {
        color: #FFFFFF !important;
        transform: rotate(0deg) !important;
        transition: all 0.3s ease !important;
    }
    
    /* Menu close button styles */
    .menu-close-btn {
        position: absolute !important;
        top: 20px !important;
        right: 20px !important;
        background: none !important;
        border: none !important;
        color: #FFFFFF !important;
        font-size: 24px !important;
        cursor: pointer !important;
        padding: 10px !important;
        z-index: 10000 !important;
        transition: all 0.3s ease !important;
    }
    
    .menu-close-btn:hover {
        transform: scale(1.1) !important;
        opacity: 0.8 !important;
    }
    
    .categories-header {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        max-width: 100%;
    }
    
    .category-item {
        padding: 12px;
        gap: 10px;
    }
    
    .category-icon {
        width: clamp(45px, 12vw, 60px);
        height: clamp(45px, 12vw, 60px);
    }
    
    .category-title {
        font-size: clamp(16px, 4vw, 20px);
        line-height: 1.2;
    }
    
    .filters {
        gap: 15px;
    }
    
    .filters-row {
        gap: 10px;
    }
    
    .filter-btn {
        padding: 8px 16px;
        font-size: 14px;
    }
    
    .products-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
        justify-content: stretch;
    }
    
    /* Размеры изображений продуктов остаются такими же, как на десктопе */
    /* .product-image {
        width: 100%;
        max-width: 200px;
        height: 150px;
    } */
    
    /* Ингредиенты позиционируются через JS, не переопределяем transform */
    
    .product-card .ingredients-left-top .ingredient img,
    .product-card .ingredients-left-bottom .ingredient img {
        transform: rotate(0deg);
    }
    
    .product-card .ingredients-right-top .ingredient img,
    .product-card .ingredients-right-bottom .ingredient img {
        transform: rotate(0deg);
    }
    
    .ingredient {
        width: auto;
        height: auto;
        padding: 0;
    }
    
    
    .features-title {
        font-size: 36px;
    }
    
    .features-brand {
        font-size: 50px;
    }
    
    .features-description {
        font-size: 24px;
        line-height: 30px;
    }
    
    .role-header {
        white-space: normal;
        margin-bottom: 40px;
    }
    
    .role-title {
        font-size: 36px;
        line-height: 1.22;
        display: block;
        margin-bottom: 10px;
    }
    
    .role-subtitle {
        font-size: 36px;
        line-height: 1.22;
        display: block;
        margin-left: 0;
    }
    
    .benefit-item p {
        font-size: 24px;
        line-height: 30px;
    }
    
    .benefit-icon {
        line-height: 30px;
        font-size: 20px;
        padding-top: 1px;
    }
    
    .role-benefits {
        gap: 40px;
        flex-wrap: wrap;
        flex-direction: column;
    }
    
    .benefit-item {
        width: 100%;
    }
    
    .info-block {
        flex-direction: column;
        gap: 40px;
    }
    
    .info-image {
        flex: none;
        width: 100%;
        max-width: 400px;
    }
    
    .info-text {
        padding: 30px;
    }
    
    .info-text p {
        font-size: 20px;
    }
    
    .composition-title {
        font-size: 36px;
    }
    
    .role-title {
        font-size: 36px;
    }
    
    .role-description p {
        font-size: 20px;
    }
    
    .benefit-item p {
        font-size: 24px;
    }
    
    .result {
        max-width: none;
        margin: 0;
        border-radius: 0;
        padding: 0;
        background: #FFFFFF;
        overflow: visible;
    }
    
    .result-bg {
        max-width: none;
        margin: 0;
        border-radius: 0;
        overflow: hidden;
        background: #0060C2;
    }
    
    .result-bg img {
        position: absolute;
        right: 0;
        top: 40px;
        left: auto;
        width: 70%;
        height: auto;
        max-height: calc(100% - 40px);
        object-fit: contain;
        object-position: right bottom;
        display: block;
        z-index: 1;
    }
    
    .result-overlay {
        position: relative;
        padding: 20px 20px 20px 20px;
        box-sizing: border-box;
    }
    
    .result-overlay .container {
        position: relative;
        width: 100%;
        padding: 0;
    }
    
    .result-content {
        position: relative;
        width: 100%;
        z-index: 10;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
    }
    
    .result-main {
        position: relative;
        width: 100%;
        display: flex;
        flex-direction: column;
        padding-top: 0;
        padding-bottom: 0;
        box-sizing: border-box;
    }
    
    .result-title {
        position: relative;
        top: 0;
        left: 0;
        transform: none;
        font-size: 32px;
        margin: 15px 0 20px 15px;
        width: auto;
        z-index: 20;
        text-align: left;
        pointer-events: none;
        color: #FFFFFF;
    }
    
    .result-items {
        position: relative;
        width: 100%;
        margin-top: 0;
        padding: 20px;
        text-align: left;
        box-sizing: border-box;
        background: #FFFFFF;
        border-radius: 0;
    }
    
    /* When result-items is moved outside by JS */
    .result > .container > .result-items,
    .result > .result-items {
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
    }
    
    .result > .container {
        max-width: 1366px;
        margin: 0 auto;
        padding: 0 20px;
    }
    
    .result-item {
        margin-bottom: 20px;
        text-align: left;
        gap: 12px;
    }
    
    .result-item:last-child {
        margin-bottom: 0;
    }
    
    .result-item p {
        font-size: 18px;
        line-height: 1.35;
        color: #005CB9;
    }
    
    .result-icon {
        width: 22px;
        height: 22px;
        font-size: 14px;
        margin-top: 2px;
        background: #005CB9;
        color: #FFFFFF;
    }
    
    .forms-content {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }
    
    .forms-text {
        width: 100%;
        text-align: center;
    }
    
    .forms-title {
        font-size: 28px;
        text-align: center;
        margin-bottom: 20px;
    }
    
    .forms-description {
        font-size: 19px;
        text-align: center;
        margin-bottom: 0;
    }
    
    .new-forms-slider {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .new-slides-container {
        border-radius: 10px;
        max-width: 300px;
        margin: 0 auto;
        overflow: hidden;
    }
    
    .new-slide {
        height: 300px;
    }
    
    .new-slide img {
        width: 200px !important;
        height: 280px !important;
        max-width: 200px !important;
        max-height: 280px !important;
        min-width: 200px !important;
        min-height: 280px !important;
        object-fit: contain !important;
        object-position: center !important;
    }
    
    .new-slider-btn {
        width: 150px;
        height: 150px;
    }
    
    .new-slider-btn::before,
    .new-slider-btn::after {
        width: 50px;
        height: 2px;
    }
    
    .new-slider-btn-prev {
        left: -20px;
    }
    
    .new-slider-btn-next {
        right: -20px;
    }
    
    
    .buy-title {
        font-size: 28px;
        text-align: center;
        margin-bottom: 40px;
    }
    
    .buy-columns {
        gap: 40px;
    }
    
    .market-logo {
        height: 40px;
        justify-content: center;
    }
    
    .market-logo img {
        height: 40px;
        width: auto;
        object-fit: contain;
    }
    
    .wb-logo-text {
        font-size: 32px;
        line-height: 40px;
        height: 40px;
    }
    
    .articles-title {
        font-size: 36px;
    }
    
    .cta-title {
        font-size: 28px;
    }
    
    .instruction-image::after {
        width: 90px;
        height: 130px;
        font-size: 110px;
        left: -40px;
        bottom: 8px;
    }
    
    .instruction-title {
        font-size: 22px;
    }
    
    /* Footer responsive */
    .footer-content {
        flex-direction: column;
        gap: 20px;
        padding: 0 20px;
    }
    
    .footer-left,
    .footer-center,
    .footer-right {
        width: 100%;
        text-align: center;
    }
    
    .footer-copyright,
    .footer-links,
    .footer-contacts {
        font-size: 12px;
        line-height: 1.4;
    }
    
    /* Mobile menu animations */
    @keyframes slideInFromTop {
        0% {
            transform: translateY(-100%);
            opacity: 0;
        }
        50% {
            transform: translateY(-50%);
            opacity: 0.5;
        }
        100% {
            transform: translateY(0);
            opacity: 1;
        }
    }
    
    @keyframes slideOutToTop {
        0% {
            transform: translateY(0);
            opacity: 1;
        }
        50% {
            transform: translateY(-50%);
            opacity: 0.5;
        }
        100% {
            transform: translateY(-100%);
            opacity: 0;
        }
    }
}

/* Исправление для диапазона 444px-481px: принудительно одна колонка */
@media (min-width: 444px) and (max-width: 481px) {
    .products-grid {
        grid-template-columns: 1fr !important;
        gap: 20px;
        justify-content: stretch;
    }
    
    /* Показываем ингредиенты в этом диапазоне, как на других мобильных экранах */
    .product-card .ingredients-left-top,
    .product-card .ingredients-left-bottom,
    .product-card .ingredients-right-top,
    .product-card .ingredients-right-bottom {
        display: flex !important;
        opacity: 1 !important;
        z-index: 5 !important;
    }
    
    .product-card .ingredient {
        opacity: 1 !important;
        transform: none !important;
    }
    
    .product-image {
        position: relative;
        z-index: 10;
    }
    
    .product-image img {
        position: relative;
        z-index: 15;
    }
}

@media (max-width: 500px) {
    .result-bg {
        display: flex;
    }
}

@media (max-width: 480px) {
    .header-content {
        flex-direction: column;
        gap: 20px;
        min-height: auto;
        padding: 20px 0;
    }
    
    .logo-image {
        height: 80px;
        width: 120px;
    }
    
    .nav {
        flex-direction: column;
        gap: 15px;
    }
    
    .new-slider-btn {
        width: 120px;
        height: 120px;
    }
    
    .new-slider-btn::before,
    .new-slider-btn::after {
        width: 40px;
        height: 2px;
    }
    
    .new-slider-btn-prev {
        left: -15px;
    }
    
    .new-slider-btn-next {
        right: -15px;
    }
    
    
    .categories-header {
        gap: 12px;
    }
    
    .category-item {
        padding: 10px;
        gap: 8px;
    }
    
    .category-icon {
        width: clamp(40px, 10vw, 50px);
        height: clamp(40px, 10vw, 50px);
    }
    
    .category-title {
        font-size: clamp(14px, 3.5vw, 18px);
    }
    
    .products-grid {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 15px;
        justify-content: stretch;
    }
    
    /* Размеры изображений продуктов остаются такими же, как на десктопе */
    /* .product-image {
        width: 100%;
        max-width: 150px;
        height: 120px;
    } */
    
    /* Ингредиенты показываются на всех мобильных экранах, включая маленькие */
    .product-card .ingredients-left-top,
    .product-card .ingredients-left-bottom,
    .product-card .ingredients-right-top,
    .product-card .ingredients-right-bottom {
        display: flex !important;
        opacity: 1 !important;
        z-index: 5 !important;
    }
    
    .product-card .ingredient {
        opacity: 1 !important;
        transform: none !important;
    }
    
    .product-image {
        position: relative;
        z-index: 10;
    }
    
    .product-image img {
        position: relative;
        z-index: 15;
    }
    
    .composition-grid {
        grid-template-columns: 1fr;
    }
    
    .role-benefits {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
        flex-wrap: wrap;
    }
    
    .benefit-item {
        width: 100%;
    }
    
    .features-title {
        font-size: 28px;
    }
    
    .features-brand {
        font-size: 40px;
    }
    
    .features-description {
        font-size: 20px;
        line-height: 24px;
    }
    
    .role-header {
        white-space: normal;
        margin-bottom: 40px;
    }
    
    .role-title {
        font-size: 28px;
        line-height: 1.22;
        display: block;
        margin-bottom: 10px;
    }
    
    .role-subtitle {
        font-size: 28px;
        line-height: 1.22;
        display: block;
        margin-left: 0;
    }
    
    .benefit-item p {
        font-size: 20px;
        line-height: 24px;
    }
    
    .benefit-icon {
        line-height: 24px;
        font-size: 24px;
        padding-top: 1px;
    }
    
    .info-block {
        gap: 30px;
    }
    
    .info-image {
        max-width: 300px;
    }
    
    .info-text {
        padding: 20px;
        border-radius: 40px;
    }
    
    .info-text p {
        font-size: 18px;
    }
    
    .composition-title {
        font-size: 28px;
    }
    
    .forms-content {
        flex-direction: column;
    }
    
    .marketplaces {
        flex-direction: column;
    }
    
    .articles-content {
        grid-template-columns: 1fr;
    }
    
    /* Footer responsive for mobile */
    .footer-content {
        flex-direction: column;
        gap: 15px;
        padding: 0 15px;
    }
    
    .footer-left,
    .footer-center,
    .footer-right {
        width: 100%;
        text-align: center;
    }
    
    .footer-copyright,
    .footer-links,
    .footer-contacts {
        font-size: 11px;
        line-height: 1.3;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    .result-bg img {
        position: absolute;
        right: 0;
        bottom: 0;
        top: auto;
        width: 70%;
        height: auto;
        max-height: 100%;
        object-fit: contain;
        object-position: right bottom;
        display: block;
        z-index: 1;
    }
    
    .result-overlay {
        padding: 15px 15px 15px 15px;
    }
    
    .result-title {
        font-size: 22px;
        top: 0;
        left: 0;
        margin: 10px 0 15px 10px;
        color: #FFFFFF;
        width: auto;
    }
    
    .result-main {
        padding-top: 0;
        padding-bottom: 0;
    }
    
    .result-items {
        position: relative;
        width: 100%;
        margin-top: 0;
        padding: 15px;
        text-align: left;
        box-sizing: border-box;
        background: #FFFFFF;
        border-radius: 0;
    }
    
    /* When result-items is moved outside by JS */
    .result > .container > .result-items,
    .result > .result-items {
        width: 100%;
        padding: 15px;
        box-sizing: border-box;
    }
    
    .result > .container {
        max-width: 1366px;
        margin: 0 auto;
        padding: 0 15px;
    }
    
    .result-item {
        margin-bottom: 15px;
        gap: 10px;
    }
    
    .result-item p {
        font-size: 18px;
        line-height: 1.4;
        color: #005CB9;
    }
    
    .result-icon {
        width: 18px;
        height: 18px;
        font-size: 12px;
        margin-top: 1px;
        background: #005CB9;
        color: #FFFFFF;
    }
    
    /* Single Post Page Mobile Styles */
    .single-post {
        padding: 40px 0 60px;
    }
    
    .single-post-title {
        font-size: 32px;
    }
    
    .single-post-content {
        font-size: 16px;
    }
    
    .single-post-content h2 {
        font-size: 26px;
        margin: 30px 0 15px;
    }
    
    .single-post-content h3 {
        font-size: 22px;
        margin: 25px 0 12px;
    }
    
    .single-post-navigation {
        flex-direction: column;
        gap: 20px;
    }
    
    .post-nav-link {
        max-width: 100%;
    }
    
    .back-to-articles-btn {
        font-size: 18px;
        padding: 12px 25px;
    }
    
    /* Archive Page Mobile Styles */
    .archive-section {
        padding: 40px 0 60px;
    }
    
    .archive-title {
        font-size: 32px;
        margin-bottom: 15px;
    }
    
    .archive-description {
        font-size: 16px;
    }
    
    .archive-content {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-bottom: 40px;
    }
    
    .archive-item-image {
        height: 200px;
    }
    
    .archive-item-content {
        padding: 20px;
    }
    
    .archive-item-title {
        font-size: 20px;
    }
    
    .archive-item-excerpt {
        font-size: 14px;
    }
    
    .archive-pagination {
        margin-top: 40px;
    }
    
    .archive-pagination .page-numbers {
        min-width: 40px;
        height: 40px;
        font-size: 16px;
        padding: 0 12px;
    }
    
    .archive-empty {
        padding: 60px 20px;
    }
    
    .archive-empty-title {
        font-size: 28px;
    }
    
    .archive-empty-text {
        font-size: 16px;
    }
    
    /* Blog Posts Page Mobile Styles */
    .blog-posts-section {
        padding: 40px 0 60px;
    }
    
    .blog-title {
        font-size: 32px;
        margin-bottom: 15px;
    }
    
    .blog-content {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-bottom: 40px;
    }
    
    .blog-item-image {
        height: 200px;
    }
    
    .blog-item-content {
        padding: 20px;
    }
    
    .blog-item-title {
        font-size: 20px;
    }
    
    .blog-item-excerpt {
        font-size: 14px;
    }
    
    .blog-pagination {
        margin-top: 40px;
    }
    
    .blog-pagination .page-numbers {
        min-width: 40px;
        height: 40px;
        font-size: 16px;
        padding: 0 12px;
    }
    
    .blog-empty {
        padding: 60px 20px;
    }
    
    .blog-empty-title {
        font-size: 28px;
    }
    
    .blog-empty-text {
        font-size: 16px;
    }
}

/* Мобильные стили для секции .usage-instructions применяются начиная с ширины 930px */
@media (max-width: 930px) {
    .usage-instructions .cta-title {
        font-size: 24px;
        text-align: center;
        margin-bottom: 40px;
        color: #005CB9;
    }
    
    .usage-instructions .container {
        overflow: visible;
    }
    
    .instructions-grid {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        overflow: visible;
    }
    
    .instruction-item {
        max-width: 100%;
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
    }
    
    .instruction-image {
        width: 150px;
        height: 150px;
        margin: 0 auto 15px;
    }
    
    .instruction-image img {
        width: 150px;
        height: 150px;
        object-fit: contain;
        display: block;
        flex-shrink: 0;
    }
    
    .instruction-image::after {
        width: 100px;
        height: 140px;
        font-size: 120px;
        left: -50px;
        bottom: 5px;
    }
    
    .instruction-title {
        font-size: 22px;
        text-align: center;
        max-width: 280px;
        margin: 0 auto;
    }
    
    .instruction-divider {
        position: static;
        margin: 10px 0;
        transform: rotate(90deg);
    }
    
    .instruction-divider-top,
    .instruction-divider-bottom {
        position: static;
        top: auto;
    }
    
    .instruction-divider img {
        max-width: 115px;
        transform: none !important;
        margin-bottom: 38px;
    }
    
    .instruction-divider-bottom img {
        transform: none !important;
    }
}

/* Абсолютное позиционирование кнопок слайдера относительно .hero блока на десктопе */
/* Кнопки теперь находятся на уровне .hero, вне .hero-slider, чтобы избежать влияния transform контекста */
/* Вертикальное позиционирование управляется через JavaScript для центрирования относительно hero-slider */
@media (min-width: 768px) {
    .hero .slider-btn {
        position: absolute !important;
        /* top устанавливается через JavaScript для центрирования относительно hero-slider */
        transform: translateY(-50%) !important;
        z-index: 20 !important;
    }
    
    .hero .slider-btn-prev {
        left: clamp(10px, 2vw, 30px) !important;
        right: auto !important;
    }
    
    .hero .slider-btn-next {
        right: clamp(10px, 2vw, 30px) !important;
        left: auto !important;
    }
}

/* Products Spinner */
.products {
    position: relative;
}

.products-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
}

.products-spinner .spinner {
    width: 50px;
    height: 50px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #005CB9;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* =====================================================
   ГЛОБАЛЬНЫЕ ПРАВИЛА ПОЗИЦИОНИРОВАНИЯ ИНГРЕДИЕНТОВ
   Позиционирование left/right управляется через JavaScript
   для точного расчёта относительно реального изображения продукта
   ===================================================== */

/* На мобильных ингредиенты всегда видимы */
@media (max-width: 768px) {
    .product-image .ingredients-left-top,
    .product-image .ingredients-left-bottom,
    .product-image .ingredients-right-top,
    .product-image .ingredients-right-bottom {
        opacity: 1 !important;
    }
}
