/* Graphik LCG Font Faces */
@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-Thin.eot');
    src: local('Graphik LCG Thin'), local('GraphikLCG-Thin'),
        url('fonts/GraphikLCG-Thin.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-Thin.woff2') format('woff2'),
        url('fonts/GraphikLCG-Thin.woff') format('woff'),
        url('fonts/GraphikLCG-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-Extralight.eot');
    src: local('Graphik LCG Extralight'), local('GraphikLCG-Extralight'),
        url('fonts/GraphikLCG-Extralight.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-Extralight.woff2') format('woff2'),
        url('fonts/GraphikLCG-Extralight.woff') format('woff'),
        url('fonts/GraphikLCG-Extralight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-Light.eot');
    src: local('Graphik LCG Light'), local('GraphikLCG-Light'),
        url('fonts/GraphikLCG-Light.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-Light.woff2') format('woff2'),
        url('fonts/GraphikLCG-Light.woff') format('woff'),
        url('fonts/GraphikLCG-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-Regular.eot');
    src: local('Graphik LCG Regular'), local('GraphikLCG-Regular'),
        url('fonts/GraphikLCG-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-Regular.woff2') format('woff2'),
        url('fonts/GraphikLCG-Regular.woff') format('woff'),
        url('fonts/GraphikLCG-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-Medium.eot');
    src: local('Graphik LCG Medium'), local('GraphikLCG-Medium'),
        url('fonts/GraphikLCG-Medium.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-Medium.woff2') format('woff2'),
        url('fonts/GraphikLCG-Medium.woff') format('woff'),
        url('fonts/GraphikLCG-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-Semibold.eot');
    src: local('Graphik LCG Semibold'), local('GraphikLCG-Semibold'),
        url('fonts/GraphikLCG-Semibold.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-Semibold.woff2') format('woff2'),
        url('fonts/GraphikLCG-Semibold.woff') format('woff'),
        url('fonts/GraphikLCG-Semibold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-Bold.eot');
    src: local('Graphik LCG Bold'), local('GraphikLCG-Bold'),
        url('fonts/GraphikLCG-Bold.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-Bold.woff2') format('woff2'),
        url('fonts/GraphikLCG-Bold.woff') format('woff'),
        url('fonts/GraphikLCG-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-Black.eot');
    src: local('Graphik LCG Black'), local('GraphikLCG-Black'),
        url('fonts/GraphikLCG-Black.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-Black.woff2') format('woff2'),
        url('fonts/GraphikLCG-Black.woff') format('woff'),
        url('fonts/GraphikLCG-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-ThinItalic.eot');
    src: local('Graphik LCG Thin Italic'), local('GraphikLCG-ThinItalic'),
        url('fonts/GraphikLCG-ThinItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-ThinItalic.woff2') format('woff2'),
        url('fonts/GraphikLCG-ThinItalic.woff') format('woff'),
        url('fonts/GraphikLCG-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-ExtralightItalic.eot');
    src: local('Graphik LCG Extralight Italic'), local('GraphikLCG-ExtralightItalic'),
        url('fonts/GraphikLCG-ExtralightItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-ExtralightItalic.woff2') format('woff2'),
        url('fonts/GraphikLCG-ExtralightItalic.woff') format('woff'),
        url('fonts/GraphikLCG-ExtralightItalic.ttf') format('truetype');
    font-weight: 200;
    font-style: italic;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-LightItalic.eot');
    src: local('Graphik LCG Light Italic'), local('GraphikLCG-LightItalic'),
        url('fonts/GraphikLCG-LightItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-LightItalic.woff2') format('woff2'),
        url('fonts/GraphikLCG-LightItalic.woff') format('woff'),
        url('fonts/GraphikLCG-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-RegularItalic.eot');
    src: local('Graphik LCG Regular Italic'), local('GraphikLCG-RegularItalic'),
        url('fonts/GraphikLCG-RegularItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-RegularItalic.woff2') format('woff2'),
        url('fonts/GraphikLCG-RegularItalic.woff') format('woff'),
        url('fonts/GraphikLCG-RegularItalic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-MediumItalic.eot');
    src: local('Graphik LCG Medium Italic'), local('GraphikLCG-MediumItalic'),
        url('fonts/GraphikLCG-MediumItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-MediumItalic.woff2') format('woff2'),
        url('fonts/GraphikLCG-MediumItalic.woff') format('woff'),
        url('fonts/GraphikLCG-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-SemiboldItalic.eot');
    src: local('Graphik LCG Semibold Italic'), local('GraphikLCG-SemiboldItalic'),
        url('fonts/GraphikLCG-SemiboldItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-SemiboldItalic.woff2') format('woff2'),
        url('fonts/GraphikLCG-SemiboldItalic.woff') format('woff'),
        url('fonts/GraphikLCG-SemiboldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-BoldItalic.eot');
    src: local('Graphik LCG Bold Italic'), local('GraphikLCG-BoldItalic'),
        url('fonts/GraphikLCG-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-BoldItalic.woff2') format('woff2'),
        url('fonts/GraphikLCG-BoldItalic.woff') format('woff'),
        url('fonts/GraphikLCG-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-family: 'Graphik LCG';
    src: url('fonts/GraphikLCG-BlackItalic.eot');
    src: local('Graphik LCG Black Italic'), local('GraphikLCG-BlackItalic'),
        url('fonts/GraphikLCG-BlackItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/GraphikLCG-BlackItalic.woff2') format('woff2'),
        url('fonts/GraphikLCG-BlackItalic.woff') format('woff'),
        url('fonts/GraphikLCG-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Graphik LCG', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    color: #212737;
    line-height: 1.6;
    background-color: #FFFFFF;
}



/* Header Styles */
.header {
    background-color: #F7FAFF;
    width: 100%;
}

.header-top {
    position: relative;
    width: 100%;
    max-width: 1331px;
    height: 121px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.header-search {
    margin-left: 30px;
}
.header-left {
    display: flex;
    align-items: center;
    gap: 36px;
    margin-right: auto;

}

.header-logo {
    display: flex;
    align-items: center;
}

.header-logo img {
    width: 189px;
    height: 52px;
    display: block;
}

.header-tagline {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 14px;
    line-height: 1.357em;
    letter-spacing: 0.02em;
    color: #7C8793;
    text-align: left;
    margin: 0;
    padding: 0;
}

.header-tagline p {
    margin: 0;
    padding: 0;
}

.header-contacts {
    display: flex;
    align-items: center;
    gap: 31px;

}

.contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    opacity: 1;
}

.contact-icon img {
    width: 100%;
    height: 100%;
    display: block;
}

.contact-text {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1em;
    color: #34363A;
    white-space: nowrap;
}
.phone-num{
    font-size: 18px;
}

.contact-link {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1em;
    color: #5F99E5;
    text-decoration: none;
    white-space: nowrap;
}

.contact-link:hover {
    text-decoration: underline;
}

.search-icon {
    width: 18px;
    height: 18px;
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-icon img {
    width: 20px;
    height: 20px;
}

/* Navigation Menu */
.menu {
    background-color: #FFFFFF;
    width: 100%;
    display: block;
    max-height: none;
    opacity: 1;
    overflow: visible;
}

.menu-container {
    max-width: 1331px;
    margin: 0 auto;
    padding: 11.5px 0px;
    display: flex;
    align-items: center;
    gap: 24px;
    width: 100%;
    position: relative;
}

.catalog-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 24px;
    background-color: #E13023;
    border: none;
    border-radius: 14px;
    color: #FFFFFF;
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1em;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.3s;
}

.catalog-btn:hover {
    background-color: #C0261A;
}

.menu-icon {
    width: 5px;
    height: 19px;
}

/* Выпадающее меню каталога */
.catalog-menu-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    margin-top: 11.5px;
    width: auto;
    min-width: 700px;
    max-width: 1331px;
    background-color: #FFFFFF;
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.catalog-menu-content {
    padding: 24px;
    display: flex;
    gap: 24px;
    max-height: 80vh;
    overflow-y: auto;
}

.catalog-menu-content .categories-list {
    flex: 1;
    min-width: 300px;
}

.catalog-menu-content .categories-banner {
    flex-shrink: 0;
    width: 316px;
}
.header-mobile{
    display: none;
}

.search-icon-mobile {
    display: none;
}
@media (max-width: 1200px) {
    .catalog-menu-dropdown {
        min-width: auto;
        width: 100%;
        left: 0;
        right: 0;
    }
    
    .catalog-menu-content {
        flex-direction: column;
    }
    
    .catalog-menu-content .categories-banner {
        width: 100%;
    }
}
@media (max-width:1023px){
    .header-contacts{
        flex-direction: column; 
    }
    
}
@media (max-width: 768px) {
    .search-icon-img {
        display: none;
    }
    .search-icon-mobile {
        display: block;
    }
    .catalog-menu-dropdown {
        width: 100%;
        border-radius: 0;
        margin-top: 0px;
    }
    .header-mobile{
        display: block;
    }
    .header-mobile {
        display: flex;
        justify-content: space-between;
        height: 68px;
        align-items: center;
        margin: 0px 20px;
    }
    .header-mobile-logo>a> img {
        width: 117px;
        height: 32px;
    }
    .header-top{
        display: none;
    }
    button.menu-mobile-btn-btn {
        border: none;
        width: 21px;
        background: none;
        cursor: pointer;
        padding: 0;
    }
    .menu{
        display: block;
        position: fixed;
        top: 66px; /* Высота header-mobile */
        left: 0;
        right: 0;
        width: 100vw;
        height: calc(100vh - 66px); /* Полная высота экрана минус высота header */
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease, opacity 0.3s ease;
        opacity: 0;
        background-color: #FFFFFF;
        z-index: 2000;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
        padding: 0;
        margin: 0;
    }
    .menu.menu-mobile-open {
        max-height: calc(100vh - 68px); /* Полная высота экрана минус высота header */
        opacity: 1;
        overflow-y: auto; /* Прокрутка если контент не помещается */
    }
    .menu-container {
        height: 100%;
        display: flex;
        flex-direction: column;
        padding: 0px;
    }
    .catalog-btn {
        width: 100%;
        border-radius: 0px;
    }
    .menu-link {
        line-height: 24px;
    }
    .menu-container {
        position: absolute;
        background-color: white;
        z-index: 2;
    }
    .menu-items-hidden{
        display: none!important;
    }
    .catalog-menu-content {
        padding: 0px;
    }




}

.menu-items {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex: 1;
    width: 100%;
}

.menu-link {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1em;
    color: #5F99E5;
    text-decoration: none;
    transition: color 0.3s;
    flex: 1;
    text-align: center;
    white-space: nowrap;
}

.menu-link:hover {
    color: #212737;
    text-decoration: revert-layer;
}

/* Hero Section */
.hero {
    background-color: #FFFFFF;
    padding: 0;
    width: 100%;
    overflow: hidden;
}

.hero-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0;
}

.hero-container {
    display: flex;
    width: 100%;
    margin: 0 auto;
    gap: 16px;
    padding: 0;
}

.hero-swiper {
    width: 100%;
    height: 512px;
    border-radius: 16px;
    overflow: visible;
    position: relative;
}

.hero-swiper .swiper-wrapper {
    width: 100%;
    height: 100%;
    min-height: 512px;
}

.hero-swiper .swiper-slide {
    width: calc(100% - 120px);
    height: 100%;
    position: relative;
}

.hero-block {
    border-radius: 16px;
}

.hero-main {
    width: 100%;
    height: 100%;
    min-height: 512px;
    background: linear-gradient(135deg, #6474EF 0%, rgba(100, 116, 239, 0.8) 100%);
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    gap: 30px;
}

.hero-main.hero-pink {
    background: linear-gradient(135deg, #de2a22 0%, rgba(222, 42, 34, 0.8) 100%);
}

.hero-main.hero-green {
    background: linear-gradient(135deg, #70BF75 0%, rgba(112, 191, 117, 0.8) 100%);
}



.hero-content {
    z-index: 2;
    position: relative;
    display: flex;
    justify-content: space-evenly;
    flex-direction: column;
    padding-left: 60px;
}

.hero-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 54px;
    line-height: 1em;
    letter-spacing: 0.02em;
    color: #FFFFFF;
    margin-bottom: 46px;
}

.hero-btn {
    padding: 18px 24px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid #FFFFFF;
    border-radius: 16px;
    color: #FFFFFF;
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1em;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all 0.3s;
    text-decoration: none;
}

.hero-btn:hover {
    background: rgba(255, 255, 255, 0.25);
}



.decoration-circle {
    position: absolute;
    border-radius: 50%;
    filter: blur(400px);
}

.circle-1 {
    width: 305px;
    height: 305px;
    background-color: #95CCFF;
    top: 109px;
    right: 866px;
}

.circle-2 {
    width: 258px;
    height: 69px;
    background-color: #172252;
    filter: blur(3px);
    top: 376px;
    right: 795px;
}

.circle-3 {
    width: 189px;
    height: 80px;
    background-color: #172252;
    filter: blur(3px);
    top: 376px;
    right: 1010px;
}

.circle-4 {
    width: 252px;
    height: 69px;
    background: linear-gradient(135deg, rgba(23, 34, 82, 1) 0%, rgba(51, 75, 184, 0) 100%);
    filter: blur(14px);
    top: 386px;
    right: 1019px;
}

.hero-images {
    width: 50%;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}
.hero-images > img {
    width: auto;
    height: 80%;
    object-fit: cover;
    margin: auto 0px;
}

/* Swiper Pagination Styles */
.hero-pagination {
    position: absolute;
    bottom: 20px !important;
    /* left: 679px !important; */
    width: 100% !important;
    z-index: 10;
    display: flex;
    justify-content: center;
    gap: 3px;
}

.hero-pagination .swiper-pagination-bullet {
    width: 37px;
    height: 2px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 0;
    opacity: 1;
    margin: 0 !important;
    transition: all 0.3s;
}

.hero-pagination .swiper-pagination-bullet-active {
    background: #FFFFFF !important;
    width: 37px;
    height: 2px;
}

/* Categories Section */
.categories {
    padding: 82px 0;
    background-color: #FFFFFF;
    width: 100%;
}

.categories-container {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;

}

.categories-header {

    width: 33.33%;
    display: flex;
    flex-direction: column;
    gap: 21px;
}

.section-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 42px;
    line-height: 1.52em;
    letter-spacing: 0.02em;
    color: #212737;
    margin: 0;
}

.categories-header .section-title {
    margin-bottom: 0;
}

.section-description {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.625em;
    color: #000000;
    margin: 0;
    height: 156px;
}

.view-all-btn {
    padding: 16px 24px;
    border: 1px solid #5793FB;
    border-radius: 16px;
    background-color: transparent;
    color: #5793FB;
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1em;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all 0.3s;
    text-decoration: none;
}

.view-all-btn:hover {
    background-color: #F4F8FC;
    color: #2A4E8D;
    border-color: #2A4E8D;
}

.categories-grid {

    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 65%;
}

.categories-row {
    display: flex;
    gap: 10px;
    width: 100%;
}

.category-card {
    background-color: #F6F6F6;
    border-radius: 26px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 21px;
    flex: 1;
}

.category-card-1 {
    border-radius: 26px 26px 0px 26px;
}

.category-card-2 {
    border-radius: 26px 26px 26px 0px;
}

.category-card-3 {
    border-radius: 26px 0px 26px 26px;
}

.category-card-4 {
    border-radius: 0px 26px 26px 26px;
}

.category-icon {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.category-icon>img {
    width: 79px;
    height: 79px;
}

.category-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1em;
    color: #000000;
}

.category-links {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: fit-content;
}

.category-links-full {
    width: 100%;
}

.category-links a {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.86em;
    color: #5F99E5;
    text-decoration: none;
    transition: color 0.3s;
    /*white-space: nowrap;*/
}

.category-links-full a {
    white-space: normal;
}

.category-links a:hover {
    color: #212737;
    text-decoration: revert-layer;
}

@media (max-width: 768px) {
    .category-card .category-links {
        display: none;
    }

    .category-card.active .category-links {
        display: flex;
    }

    .category-card .category-arrow {
        transition: transform 0.3s ease;
    }

    .category-card.active .category-arrow {
        transform: rotate(180deg);
    }
    .category-card {
        width: calc(100% + 40px);
        border-radius: 0 !important;
        margin-left: -20px;
    }

}

/* Advantages Section */
.advantages {
    padding: 49px 0;
    background-color: #F6F6F6;
}

.advantages .section-title {
margin-bottom: 49px;
}

.advantages-swiper {
    position: relative;
}

.advantages-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.advantages-swiper .swiper-slide {
    height: auto;
}

.advantage-card {
    background-color: #FFFFFF;
    border-radius: 16px;
    padding: 47px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
}

.advantage-icon {
    width: 89px;
    height: 89px;
    margin-bottom: 10px;
}

.advantage-icon img {
    width: 100%;
    height: 100%;
}

.advantage-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.04em;

}

.advantage-description {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5em;
    color: #161D34;
}

.advantages-pagination {
    display: none;
    margin-top: 20px;
}

.advantages-pagination .swiper-pagination-bullet {
    width: 62px;
    height: 1px;
    background: #1a2d45;
    opacity: 0.3;
    border-radius: 0px;
}

.advantages-pagination .swiper-pagination-bullet-active {
    opacity: 1;
    background: #ED4343;
}

@media (max-width: 768px) {
    .advantages-swiper {
        overflow: hidden;
    }
    .advantages-grid {
        display: flex;
    }
    .advantages-pagination {
        display: flex;
        justify-content: center;
        gap: 8px;
    }
    .advantages .section-title {
        margin-bottom: 49px;
        text-align: center;
        line-height: 35px;
    }
}

/* Products Section */
.products {
    padding: 61px 0;
    background-color: #FFFFFF;
}

.products-container {
    margin: 0 auto;
    position: relative;
}

.products .section-title {
    margin-bottom: 49px;
    margin-left: 0;
}



.products-swiper-wrapper {
    position: relative;
    width: 100%;
}

.products-swiper {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.products-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.product-item {
    background-color: #FFFFFF;
    border: 1px solid #E8F0F6;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    height: 100%;
}

.product-image {
    width: 100%;
    height: 259px;
    overflow: hidden;
    text-align: center;
}

.product-image img {
    width: auto;
    height: 100%;
    object-fit: cover;
}

.product-info {
    padding: 25px 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.product-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 23px;
    line-height: 1.04em;
    color: #1F212E;
}

.product-description {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.29em;
    color: #81889B;
    padding: 4px 0;
}

.product-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    border: 1px solid #5793FB;
    border-radius: 16px;
    background-color: transparent;
    color: #5793FB;
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1em;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all 0.3s;
    text-decoration: none;
}

.product-btn:hover {
    background-color: #F4F8FC;
    color: #2A4E8D;
    border-color: #2A4E8D;
}

.arrow {
    font-size: 16px;
}
a.about-btn:hover {
    background-color: #F4F8FC;
    color: #2A4E8D;
    border-color: #2A4E8D;
}

/* Products Swiper Navigation */
.products-button-prev,
.products-button-next {
    width: 52px !important;
    height: 52px !important;

    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    cursor: pointer;
    margin-top: 0 !important;
}

.products-button-prev{
    background-image: url(../images/strelka_l.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 52px;
    height: 52px;
    border: none;
    left: -25px;

}
.products-button-next{
    background-image: url(../images/strelka_p.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 52px;
    height: 52px;
    border: none;
    right: -25px;
}
.news-swiper>.swiper-wrapper {
    height: 355px;
}
.about-container {
    padding: 80px 0;
}
.swiper-wrapper{
    height: auto !important;
}
@media (max-width: 1400px) and (min-width: 768px) {
    .header-top {
        padding: 0 30px;
    }
    .menu-container {
        padding: 11.5px 30px;
    }
    .hero-swiper .swiper-wrapper {
        min-height: 300px;
    }
    .section-container {
        padding: 80px 30px;
    }

}


.products-button-prev::after,
.products-button-next::after {
    content: '';

}


.products-button-prev.swiper-button-disabled,
.products-button-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
}

.products-pagination-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
}

.products-pagination {
    position: relative !important;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: auto !important;
}

.products-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    background-color: #D9D9D9;
    opacity: 1;
    margin: 0 !important;
}

.products-pagination .swiper-pagination-bullet-active {
    width: 11px;
    height: 11px;
    background-color: #E13023;
}

.pagination-arrow {
    width: 52px;
    height: 52px;
    border: none;
    background-color: transparent;
    font-size: 24px;
    color: #5F99E5;
    cursor: pointer;
    transition: color 0.3s;
}

.pagination-arrow:hover {
    color: #4A7BC4;
}

.pagination-dots {
    display: flex;
    gap: 10px;
}

.pagination-dots .dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background-color: #D9D9D9;
    cursor: pointer;
    transition: background-color 0.3s;
}

.pagination-dots .dot.active {
    background-color: #5F99E5;
}

/* Contact Form Section */
.contact-form-section {
    padding: 71px 0;
    /* background-color: #32333A; */
    background-image: url(../images/FORM.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    overflow: hidden;
}


.form-wrapper {
    max-width: 1324px;
    margin: 0 auto;

}

.form-header {
    margin-bottom: 24px;
}
.contact-form{
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.43);
    border-radius: 26px;
    backdrop-filter: blur(34px);
    padding: 16px;
}
.contact-form-section .section-title {
    color: #FFFFFF;
    margin-bottom: 24px;
}

.form-description {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 1.78em;
    color: #FFFFFF;
    max-width: 456px;
}

.contact-form {
    display: flex;
    gap: 24px;
    align-items: stretch;
}

.form-input {
    flex: 1;
    padding: 18px 16px;
    border: 2px solid #FFFFFF;
    border-radius: 18px;
    background-color: transparent;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 1.21em;
}

.form-input::placeholder {
    color: #FFFFFF;
}

.form-submit {
    flex: 1;
    padding: 18px 24px;
    background-color: #E13023;
    border: none;
    border-radius: 12px;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.21em;
    cursor: pointer;
    transition: background-color 0.3s;
}

.form-submit:hover {
    background-color: #C0261A;
}

/* News Section */
.news {
    background-color: #FFFFFF;
}

.news-container {
    padding: 80px 0;
    position: relative;
}

.news .section-title {
    margin-bottom: 100px;
}

.news-swiper-container {
    position: relative;

}

.news-swiper-wrapper {
    position: relative;
    width: 100%;
}

.news-swiper {
    width: 100%;
    overflow: hidden;
    position: relative;
    margin: 0;
}

.news-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.news-item {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.news-image {
    width: 100%;
    height: 355px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.news-date {
    position: absolute;
    top: 20px;
    left: 19px;
    background-color: #303030;
    border-left: 3px solid #E13023;
    border-radius: 3px;
    padding: 6px 8px;
}

.news-date span {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 1.5em;
    color: #FFFFFF;
}

.news-content {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(28, 30, 37, 0.83) 100%);
    padding: 35px 26px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.news-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1em;
    color: #FFFFFF;
}

.news-description {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 12px;
    line-height: 1.4em;
    color: #FFFFFF;
    max-width: 297px;
}

.news-link {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.5em;
    color: #FFFFFF;
    text-decoration: none;
    transition: opacity 0.3s;
}

.news-link:hover {
    opacity: 0.8;
}


.news-button-prev,
.news-button-next {
    width: 52px !important;
    height: 52px !important;

    position: absolute !important;
    top: 50% !important;
    transform: translateY(-140%) !important;
    z-index: 10 !important;
    cursor: pointer;
    margin-top: 0 !important;
}

.news-button-prev{
    background-image: url(../images/strelka_l.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 52px;
    height: 52px;
    border: none;
    left: -25px;

}
.news-button-next{
    background-image: url(../images/strelka_p.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 52px;
    height: 52px;
    border: none;
    right: -25px;
}

.news-button-prev.swiper-button-disabled,
.news-button-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
} 

.news-button-prev::after,
.news-button-next::after {
    content: '';
    position: absolute;

}



.news-pagination-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    width: 100%;
}

.news-pagination {
    position: relative !important;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: auto !important;
}

.news-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    background-color: #D9D9D9;
    opacity: 1;
    margin: 0 !important;
}

.news-pagination .swiper-pagination-bullet-active {
    width: 11px;
    height: 11px;
    background-color: #E13023;
}



/* About Section */
.about {
    background-color: #FFFFFF;
    position: relative;
}


.about-content {
    display: flex;
    align-items: center;
    gap: 60px;
   
}

.about-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.about-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 42px;
    line-height: 1.52em;
    letter-spacing: 0.02em;
    color: #212737;
    margin-bottom: 40px;
}



.about-description p {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 29px;
    color: #2B4472;
    padding-right: 30px;
}

.about-image {
    flex: 1;
    max-width: 600px;
}

.about-image img {
    width: auto;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    right: 0;
    max-height: 684px;
}

/* Footer */
.footer {
    background-color: #F8F8FA;
    padding: 52px 0 50px;
    color: #30353B;
    min-height: 416px;
    position: relative;
}



/* Categories Section */
.footer-categories {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 40px;
    width: 100%;
}

.footer-category-column {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-category-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 500;
    font-size: 19px;
    line-height: 1em;
    color: #30353B;
    margin: 0;
}

.footer-category-line {
    width: 25px;
    height: 3px;
    background-color: #DE2921;
    border-radius: 4px;
}

.footer-category-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.footer-category-links li {
    margin: 0;
}

.footer-category-links a {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.86em;
    color: #5793FB;
    text-decoration: none;
    transition: color 0.3s;
    display: block;
}

.footer-category-column .footer-category-links a,
.footer-category-column:last-child .footer-category-links a {
    max-width: 233px;
}

.footer-category-links a:hover {
    color: #212737;
    text-decoration: revert-layer;
}

/* Middle Section */


.footer-logo-img {
    width: 148px;
    height: 41px;
    object-fit: contain;
}


.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-contact-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.footer-contact-item span,
.footer-contact-item a {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1em;
    color: #34363A;
    text-decoration: none;
}

.footer-contact-item a:last-child {
    font-weight: 600;
}

.footer-contact-item a:hover {
    color: #5793FB;
}

/* Bottom Section */
.footer-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding-top: 0;
    min-height: 50px;
}

.footer-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    padding-top: 40px;
    border-top: 2px solid #E2E2E2;
}
.footer-copyright {
    margin: 0;

}
.footer-contact-section {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
}
nav.footer-nav {
    flex: 1;
    padding: 15px 40px 0;
    display: flex;
    gap: 40px;
    flex-direction: row;
    justify-content: center;
}
.footer-nav-link {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1em;
    color: #5793FB;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-nav-link:hover {
    color: #4A7BC4;
}

.footer-copyright {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 2.17em;
    color: #6C7784;
    margin-top: 20px;
}

.footer-container {
    max-width: 1331px;
    margin: 0 auto;
    position: relative;
}
.footer-bottom-mobile{
    display: none;
}
.menu-container>.catalog-btn>.menu-icon-black{
    display: none;
}
.category-icon>.category-arrow {
    display: none;
}
/* Responsive Design */
@media (max-width: 1600px) {
    .container {
        padding: 0 50px;
    }
    
    .header-top {
        max-width: 1331px;
    }
    
    .header-left {
        left: 50px;
    }
    
    .header-contacts {
        left: auto;
        right: 50px;
    }
    
    /* .menu-container {
        padding: 11.5px 50px;
    } */
    
    .hero-wrapper {
        width: 100%;
    }
    
    .hero-container {
        max-width: 100%;
        padding: 0 16px;
        flex-wrap: wrap;
    }
    
    .hero-swiper {
        width: 100%;
        order: 2;

    }
    

    
    .hero-main {
        width: 100%;
    }
}

@media (max-width: 1200px) {
    .categories-container {
        height: auto;
        gap: 15px;
    }
    
    .categories-header {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
        max-width: 297px;
        margin-bottom: 40px;
    }
    
    .categories-grid {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
    }
    

    

    
    .advantages-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .products-list {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .news-list {
        grid-template-columns: repeat(2, 1fr);
    }
    .about-image img {

        top: auto;
        bottom: 100px;
        max-height: 510px;
    }
}
@media (max-width: 1024px) {
    .footer-categories {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .footer-middle {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-divider {
        width: 100%;
    }
    .hero-title {
        font-size: 30px;
        line-height: 30px;
    }

}
@media (max-width: 960px) {
    .categories-container {
        flex-direction: column;
        gap: 15px;
    }
    .categories-header {
        width: 100%;
        max-width: 100%;
        }
}
@media (max-width: 768px) {
    .container {
        padding: 0 20px;
    }
    
    .header-top {
        height: auto;
        min-height: 121px;
        flex-direction: column;
        gap: 20px;
        padding: 20px;
        position: relative;
    }
    
    .header-left {
        position: static;
        transform: none;
        flex-direction: row;
        align-items: flex-start;
        gap: 15px;
        width: 100%;
        justify-content: space-between;
    }
    
    .header-logo {
        top: 0;
    }
    
    .header-contacts {
        position: static;
        transform: none;
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px;
        width: 100%;
    }
    
    .menu-container {
        flex-direction: column;
        padding: 0px;
    }
    
    .menu-items {
        flex-direction: column;
        width: 100%;
    }
    
    .hero-wrapper {
        width: 100%;
    }
    
    .hero-container {
        flex-direction: column;
        padding: 0;
        gap: 10px;
    }
    
    .hero-swiper {
        width: 100%;
        height: auto;
        min-height: 400px;
    }
    
    .hero-main {
        width: 100%;
        height: auto;
        flex-direction: column;
        padding: 60px;
        /* min-height: 400px; */
    }
    .hero-swiper .swiper-slide {
        width: 100%;
    }
    .hero-block {
        border-radius: 0px;
    }
    
    .hero-title {
        font-size: 32px;
        line-height: 35px;
    }
    .hero-content {
        padding-left: 0;
        text-align: center;
    }
    .hero-images {
        margin: auto;
        width: 100%;
    }
    .hero-images > img {
        height: auto;
        max-width: 260px;
    }
    .catalog-menu-container-mobile {
        padding: 0px 20px;
        margin-bottom: -20px;
        background-color: #1A2D45;
        height: 50px;
    }
    
    .catalog-menu-content {
        max-height: 100vh;
    }
    .catalog-menu-container-mobile>.catalog-btn{
        background: none;
        padding: 16px 0px;
        justify-content: flex-start;
        font-size: 18px;
    }
    .catalog-menu-container-mobile>.catalog-btn>.menu-icon-black{
        display: block;
        margin-right: 44px;
    }
    .catalog-menu-container-mobile>.catalog-btn>.menu-icon{
        display: none;
    }
    .categories-container {
        height: auto;

    }
    
    .categories-header {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
        max-width: 100%;
        margin-bottom: 30px;
    }
    
    .section-description {
        height: auto;
    }
    
    .categories-grid {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
    }
    .category-icon {
        gap: 18px;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
    }
    .category-title {
        margin-bottom: 0;
    }
    .category-icon>.category-arrow {
        width: 11.5px;
        height: 11.83px;
        display: block;
        margin-left: auto;
    }
    .category-card {
        padding: 16px 20px;
    }
    .category-icon>img{
        width: 24px;
        height: 24px;
    }
    .advantages-grid,
    .products-list,
    .news-list {
        grid-template-columns: 1fr;
    }
    
    .contact-form {
        flex-direction: column;
    }
    
    .section-title {
        font-size: 32px;
    }

    /* About Section Responsive */


    

    .about-content {
        flex-direction: column;
        gap: 40px;
    }

    .about-title {
        font-size: 32px;
        margin-bottom: 30px;
    }
    .about-text {
        order: 2;
    }
    .about-image {
        max-width: 100%;
        margin-right: -50px;
        order: 1;
    }
    .about-image img{
        width: 100%;
        height: auto;
        object-fit: cover;
        position: relative;
        top: 0;
        right: 0;
        max-height: 100%;
    }
    /* Footer Responsive */
    .footer-container {
        padding: 0 20px;
    }

    .footer {
        padding: 40px 0 20px;
    }

    .menu-items {
        gap: 24px;
        flex:0;
    }







    .footer-nav {
        flex-wrap: wrap;
        gap: 20px;
    }
    .categories-row {
        display: flex;
        flex-direction: column;
    }


    .products-button-next{
        right: -5px;
    }
    .products-button-prev{
        left: -5px;
    }
    .news-button-next{
        right: -5px;
    }
    .news-button-prev{
        left: -5px;
    }
    .section-container {
        padding: 60px 20px;
    }
    .advantages {
        padding: 0px 0;
    }
    .footer-wrapper {
        display: flex    ;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
        gap: 20px;
        padding-top: 40px;
        border-top: 2px solid #E2E2E2;
        text-align: center;
    }
    .advantages-grid{
        gap:0px;
    }
    /*.footer-copyright {*/
    /*    display: none;*/
    /*}*/
    .footer-contact-section {
        align-items: center;
    }
    /*.footer-bottom-mobile{*/
    /*    display: block;*/
    /*}*/
    .footer-copyright-mobile{
        padding-top: 20px;
        text-align: center;
        font-size: 12px;
        color: #6C7784;
    }
    nav.footer-nav {
        gap: 10px;
        padding-top: 0;
    }
    .header-tagline {
        font-size: 12px;
        line-height: 12px;
    }
    .about-container {
        padding: 0 20px;
    }
    .news-container {
        padding:  0;
    }
    .news .section-title {
        margin-bottom: 20px;
    }
}

@media (max-width: 576px) {
    
    
    .products-button-prev {
        left: 20px;
    }
    .products-button-next {
        right: 20px;
    }
    .news-button-prev {
        left: 5px;
        transform: translateY(-155%) !important;
    }
    .news-button-next {
        right: 5px;
        transform: translateY(-155%) !important;
    }
    .footer-categories {
        grid-template-columns: 1fr;
        gap: 30px;
        display: none;
    }
    .hero-main {
        padding: 40px 15px;
    }
}
@media (max-width: 480px) {
    .footer-categories {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }
}


.section-container {
    max-width: 1331px;
    margin: 0 auto;
}
a.about-btn {
    padding: 16px;
    border: 1px solid #5793FB;
    color: #5793FB;
    margin-top: 60px;
    text-decoration: none;
    border-radius: 16px;
    font-weight: 600;
}
.about-btn-wrapper {
    padding-top: 30px;
    height: 90px;
}
/* Стили для блока Heading после header */

/* Breadcrumbs */
.breadcrumbs {
    width: 100%;
}

.breadcrumb-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.breadcrumb-arrow {
    width: 11.5px;
    height: 11.83px;
    display: block;
}

.breadcrumb-link {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 12px;
    line-height: 2.1666666666666665em;
    color: #000000;
    text-decoration: none;
}

/* Заголовок секции */
.section-title-catalog {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 42px;
    line-height: 1.5238095238095237em;
    letter-spacing: 0.02em;
    color: #212737;
    margin: 0;
    padding: 0;
}

/* Описание секции */
.section-description-catalog {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.625em;
    color: #000000;
    margin: 0;
    padding: 0;
    padding-top: 20px;
}

/* Блок популярных запросов */
.fastlinks {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding-top: 24px;
}

.fastlinks-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.625em;
    color: #000000;
    margin: 0;
    padding: 0;
}

.fastlinks-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.fastlink-item {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    border: 1px solid #5F99E5;
    border-radius: 8px;
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1em;
    color: #5F99E5;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.fastlink-item:hover {
    background-color: #5F99E5;
    color: #ffffff;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {


    .section-title-catalog {
        font-size: 32px;
    }

    .section-description {
        font-size: 14px;
    }

    .footer {
        min-height: auto;
    }

}

@media (max-width: 480px) {


    .section-title-catalog {
        font-size: 28px;
    }

    .breadcrumb-item {
        flex-wrap: wrap;
    }
    nav.footer-nav {
        display: none;
    }
    .footer-logo-section {
        padding-bottom: 20px;
        border-bottom: 1.5px solid #E2E2E2;
    }
    .footer-wrapper {
        border-top: none;
        padding-top: 0px;
    }
}

/* Стили для блока категорий */




.categories-sidebar {
    max-width: 316px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.categories-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.category-item {
    display: flex;
    flex-direction: column;
}

.category-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background-color: #F4F6F8;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.category-header:hover {
    opacity: 0.9;
}

.category-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1em;
    color: #000000;
}

.category-arrow {
    width: 8px;
    height: 4px;
    transition: transform 0.3s ease;
}

.category-header[aria-expanded="true"] .category-arrow {
    transform: rotate(180deg);
}

.category-links {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 8px 16px;
}

.category-link {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.8571428571428572em;
    color: #5F99E5;
    text-decoration: none;
    transition: color 0.3s ease;
}

.category-link:hover {
    color: #1A2D45;
}

/* Баннер */
.categories-banner {
    margin-top: 16px;
}

.banner-content {
    position: relative;
    width: auto;
    height: 400px;
    background-color: #F4F6F8;
    border-radius: 12px;
    overflow: hidden;
}

.banner-image {
    position: absolute;
    right: 0;
    bottom: 0;
    max-width: 144px;
    max-height: 178px;
    object-fit: cover;
}

.banner-text {
    position: relative;
    z-index: 1;
    padding: 36px 32px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.banner-label {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 21px;
    line-height: 1.2380952380952381em;
    color: #E13023;
    margin-bottom: 8px;
}

.banner-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 21px;
    line-height: 1.1428571428571428em;
    color: #1A2D45;
    margin: 0 0 16px 0;
}

.banner-description {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2857142857142858em;
    color: #81889B;
    margin: 0 0 24px 0;
}

.banner-button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 16px 24px;
    background-color: #E13023;
    border: 1px solid #FFFFFF;
    border-radius: 16px;
    text-decoration: none;
    max-width: 259px;
    transition: all 0.3s ease;
    margin-top: auto;
}

.banner-button:hover {
    background-color: #c0281d;
}

.banner-button span {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1em;
    letter-spacing: 0.04em;
    color: #FFFFFF;
}

.banner-button img {
    width: 8.17px;
    height: 16px;
}

/* Каталог товаров */
.catalog-content {
    max-width: 958px;
}

.products-grid {
    display: flex;
    flex-direction: column;
}

.products-grid .row {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    justify-content: flex-end;
}

.product-col {
    box-sizing: border-box;
    /* padding: 0 8px;
    margin-bottom: 16px; */
}

.product-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
    background-color: #FFFFFF;
    border: 1px solid #E8F0F6;
    height: 100%;
    transition: all 0.3s ease;
}

.product-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.product-image {
    width: 100%;
    height: 259px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.product-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.product-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 8px;
    flex: 1;
}

.product-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 23px;
    line-height: 1.0434782608695652em;
    color: #1F212E;
    margin: 0;
}

.product-description {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2857142857142858em;
    color: #81889B;
    margin: 0;
    padding: 4px 0;
    flex: 1;
}

.product-button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 16px 24px;
    border: 1px solid #5F99E5;
    border-radius: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: auto;
}

.product-button:hover {
    background-color: #5F99E5;
}

.product-button:hover span {
    color: #FFFFFF;
}

.product-button span {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1em;
    letter-spacing: 0.04em;
    color: #5F99E5;
    transition: color 0.3s ease;
}

.product-button img {
    width: 8.17px;
    height: 16px;
    transition: filter 0.3s ease;
}

.product-button:hover img {
    filter: brightness(0) invert(1);
}

/* Пагинация */
.pagination-wrapper {
    width: 100%;
    height: 40px;
}

.pagination {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    border: 1px solid #E8F0F6;
    border-radius: 0;
    margin: 0;
    padding: 0;
    width: 100%;
}

.pagination-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-right: 1px solid #E8F0F6;
    text-decoration: none;
    transition: all 0.3s ease;
    height: 40px;
    box-sizing: border-box;
    margin: 0;
    flex-shrink: 0;
    flex: 1 1 0;
}

.pagination-arrow img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-right: 1px solid #E8F0F6;
    text-decoration: none;
    transition: all 0.3s ease;
    height: 40px;
    box-sizing: border-box;
    margin: 0;
    flex: 1 1 0;
}



.pagination-number {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5em;
    color: #5F99E5;
    border: none;
}

.pagination-number.active {
    background-color: #E13023;
    color: #FFFFFF;
    border-right: 1px solid #E13023;
}

.pagination-number:hover:not(.active) {
    background-color: #F4F6F8;
}

.pagination-arrow {
    border: none;
    border-right: 1px solid #E8F0F6;
}

.pagination-arrow:hover {
    background-color: #F4F6F6;
}

/* SEO текст */
.seo-text {
    padding: 32px 0;
}

.seo-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 2.6666666666666665em;
    letter-spacing: 0.02em;
    color: #212737;
    margin: 0 0 24px 0;
}

.seo-content {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 1.6111111111111112em;
    color: #2B4472;
    margin: 0 0 16px 0;
}

.seo-content:last-child {
    margin-bottom: 0;
}

/* Адаптивность для блока категорий */


@media (max-width: 992px) {
    .categories-sidebar {
        margin-bottom: 32px;
    }

    .banner-content {
        width: 100%;
    }

    .catalog-content {
        max-width: 100%;
    }
}

@media (max-width: 768px) {


    .product-card {
        margin-bottom: 16px;
    }

    .pagination {
        flex-wrap: wrap;
    }

    .pagination-arrow {
        height: 40px;
        flex-shrink: 0;
    }

    .pagination-number {
        flex: 1 1 0;
        min-width: 40px;
    }
}

@media (max-width: 576px) {

    .banner-text {
        padding: 24px 20px;
    }

    .banner-button {
        width: 100%;
    }

    .product-image {
        height: 200px;
    }
}
.row-categories-block{
    justify-content: space-between;
    flex-wrap: nowrap;
}

.categories-block {
    margin-top: 48px;
}
@media (max-width: 1024px) {
    .categories-sidebar {
        margin-right: 0px;
        padding-right: 20px;
    }
    .category-links a {
        white-space: normal;
    }
    .header-contacts {
        gap: 10px;
    }
    
}

.breadcrumbs{
    max-width: 1331px;
    margin: 0 auto;
}
@media (max-width: 1400px) and (min-width: 768px) {
    .breadcrumbs {
        padding: 0px 30px;
    }
}
@media (max-width: 768px) {

    .breadcrumbs {
        padding: 0px 20px;
    }

}
.section-container-description-catalog{
    padding-bottom: 0px;
}

/* Адаптивность товаров */
/* По умолчанию (>= 1024px): 3 товара в строке */
.product-col {
    flex: 0 0 calc(33.333% );
}

/* Менее 1024px: 2 товара в строке */
@media (max-width: 1023px) {
    .product-col {
        flex: 0 0 calc(50%);
    }
}

/* Менее 786px: сайдбар сверху, товары по 3 в строке */
@media (max-width: 785px) {
    .row-categories-block {
        flex-direction: column;
        flex-wrap: wrap;
    }
    
    .categories-sidebar {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
        margin-bottom: 32px;
        order: -1;
    }
    
    .catalog-content {
        width: 100%;
        max-width: 100%;
    }
    
    .product-col {
        flex: 0 0 calc(33.333%);
    }
}

/* Менее 576px: товары по 1 в строке */
@media (max-width: 575px) {
    .product-col {
        flex: 0 0 calc(100%);
    }
}
.pagination>a {
    border: solid 1px #E8F0F6;
}

/* Item Info Section */
.item-info-section {
    padding: 32px 0;
    width: 100%;
}

.item-info-container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
    border-radius: 0;
}

/* Left Column */
.item-info-left {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 32px;
    background-color: #F4F6F8;
    border-radius: 16px;
    flex: 1 1 0;
}

.item-image-wrapper {
    width: 260px;
    height: 260px;
    border-radius: 12px;
    background-color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.item-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.item-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 0.75em;
    color: #1F212E;
    margin: 0;
}

.item-description {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5em;
    color: #81889B;
    margin: 0;
}

.item-buttons {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-self: stretch;
}

.item-btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 16px 24px;
    border: 1px solid #5793FB;
    border-radius: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
    height: 48px;
    box-sizing: border-box;
}

.item-btn-primary {
    flex: 1 1 0;
}

.item-btn-messenger {
    flex: 0 0 auto;
}

.item-btn span {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1em;
    letter-spacing: 0.04em;
    color: #5793FB;
    white-space: nowrap;
}

.item-btn img {
    width: auto;
    height: auto;
    flex-shrink: 0;
}

.item-btn-primary img {
    width: 8.17px;
    height: 16px;
}

.item-btn-messenger img {
    width: 24px;
    height: 24px;
}

.item-btn:hover {
    background-color: #5793FB;
}

.item-btn:hover span {
    color: #FFFFFF;
}

/* .item-btn:hover img {
    filter: brightness(0) invert(1);
} */

/* Right Column */
.item-info-right {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 0 24px;
    flex: 1 1 0;
}

.info-block {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.info-block-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.3333333333333333em;
    color: #1F212E;
    margin: 0;
}

.info-text {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.7142857142857142em;
    color: #81889B;
    margin: 0;
    max-width: 654px;
}

.info-divider {
    width: 100%;
    height: 1px;
    border: none;
    border-top: 1px dashed #CFD8E0;
    margin: 0;
}

/* Specifications Table */
.specs-table {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.spec-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 0;
    min-height: 37px;
    border-top: 1px dashed #CFD8E0;
}

.spec-label {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.7142857142857142em;
    color: #81889B;
    width: 220px;
    flex-shrink: 0;
}

.spec-value {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.7142857142857142em;
    color: #1A2D45;
    flex: 1 1 0;
}

/* .spec-divider {
    width: 100%;
    height: 1px;
    border: none;
    border-top: 1px dashed #CFD8E0;
    margin: 0;
} */

/* Properties List */
.properties-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.property-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.property-marker {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #E13023;
    flex-shrink: 0;
}

.property-text {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.7142857142857142em;
    color: #81889B;
}

/* Адаптивность для Item Info Section */
@media (max-width: 1200px) {
    .item-info-container {
        padding: 32px 60px;
    }
}

@media (max-width: 992px) {
    .item-info-container {
        flex-direction: column;
        padding: 32px 40px;
    }
    
    .item-info-left {
        width: 100%;
    }
    
    .item-image-wrapper {
        width: 100%;
        max-width: 260px;
        margin: 0 auto;
    }
    
    .item-info-right {
        padding: 0;
    }
}

@media (max-width: 768px) {
    .item-info-container {
        padding: 24px 20px;
        gap: 20px;
    }
    
    .item-info-left {
        padding: 24px;
    }
    
    .item-title {
        font-size: 24px;
        line-height: 30px;
    }
    
    .item-buttons {
        flex-wrap: wrap;
    }
    
    .item-btn-messenger {
        flex: 1 1 0;
        min-width: calc(50% - 5px);
        justify-content: flex-start;
    }
    .item-btn {
        padding: 16px 15px;
    }
    .item-btn-primary {
        flex: auto;
        width: 100%;
    }
    
    .spec-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .spec-label {
        width: 100%;
    }
}
section.item-info-section {
    border-top: 1px solid #E8F0F6;
}
.breadcrumbs {
    padding-bottom: 32px;
    padding-top: 21.5px;
}

.popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 2000;
}

.popup-overlay.active {
    display: flex;
}

.popup-dialog {
    background: #fff;
    border-radius: 12px;
    padding: 0 50px;
    max-width: 980px;
    width: 100%;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    position: relative;
}

.popup-close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    line-height: 1;
}

.popup-title {
    font-size: 42px;
    margin: 0;
}

.popup-subtitle {
    margin: 0 0 16px 0;
    color: #4a4a4a;
}

.popup-form {
    display: flex;
    flex-direction: row;
    gap: 12px;
    justify-content: space-between;
    align-items: stretch;
}

.popup-form input,
.popup-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid black;
    border-radius: 8px;
    font-size: 14px;
}

.popup-submit {
    background: #DE2921;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 12px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.popup-submit:hover {
    background: #BE3630;
}
.popup-consent {
    font-size: 12px;
    text-align: center;
}
    .popup-form-column-right {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
    img.popup-product-image {
        width: auto;
        height: 40px;
    }
    input#popup-product-title {
    margin: 0px;
    background: none;
    border: none;
    color: #5F99E5;
    font-size: 14px;
    font-weight: 500;
}
    .popup-product-info {
        display: flex;
        width: 100%;
        padding: 5px 20px;
        border-radius: 8px;
        font-size: 14px;
        align-items: center;
        height: 60px;
        background-color: #F6F9FB;
    }
    .popup-form-column {
        padding: 50px 0;
        width: 50%;
    }
    .popup-form-column-left {
        border-right: 1px solid #EAEDEF;
        padding-right: 20px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 24px;
    }
    @media (max-width: 568px) {
        .popup-form {
            flex-direction: column;
        }
        .popup-form-column-left {
            border-right: none;
            padding-right: 0;
            border-bottom: 1px solid #EAEDEF;
        }
        .popup-form-column-right {
            padding-top: 24px;
        }
        .popup-form-column {
            padding: 20px 0;
            width: 100%;
        }
        .popup-overlay.active {
            align-items: flex-start;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
        }
        .popup-overlay.active::-webkit-scrollbar {
            display: none;
        }
         .popup-dialog {
            max-height: none;
            height: auto;
            margin: 32px 0;
        }
        .popup-overlay.active {
            padding: 16px;
        }
        h3.popup-title {
            font-size: 30px;
        }
        .popup-dialog {
            padding: 0 20px;
        }
        .popup-form-column-left {
            gap: 16px;
        }
        .popup-form-column-right {
            gap: 16px;
        }

    }
.floating-actions {
    position: fixed;
    right: 20px;
    bottom: 20px;
    display: flex;
    background: #fff;
    padding: 8px;
    border-radius: 999px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    z-index: 1800;
}

.floating-btn {
    width: 54px;
    height: 54px;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #FFFFFF;
    color: #1A2D45;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
    text-decoration: none;
}

img.icon-up-btn {
    height: 22px;
    width: auto;
}

.floating-btn:active {
    transform: translateY(0);
}
.floating-btn svg {
    display: block;
}

/* Item Info Description Section */
.item-info-description-section {
    padding: 48px 0;
    width: 100%;
    border-top: 1px solid #E8F0F6;
}

.item-info-description-container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
    padding: 48px 0px;
}

/* Left Column - Documentation */
.item-info-description-right {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 32px;
    background-color: #F4F6F8;
    border-radius: 16px;
    width: 348px;
    flex-shrink: 0;
}

.documentation-block {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.documentation-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.3333333333333333em;
    color: #1F212E;
    margin: 0;
}

.documentation-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-self: stretch;
}

.documentation-btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 16px;
    border: 1px solid #E13023;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
    height: auto;
    box-sizing: border-box;
}

.documentation-btn img {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.documentation-btn span {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 1em;
    letter-spacing: 0.04em;
    color: #1A2D45;
}

.documentation-btn:hover {
    background-color: #E13023;
}

.documentation-btn:hover span {
    color: #FFFFFF;
}

.documentation-btn:hover img {
    filter: brightness(0) invert(1);
}

/* Right Column - Content */
.item-info-description-left {
    display: flex;
    flex-direction: column;
    gap: 32px;
    flex: 1 1 0;
}

.content-block {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.content-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1em;
    color: #1F212E;
    margin: 0;
}

.content-text {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5em;
    color: #1A2D45;
    margin: 0;
}

/* Parameters Table */
.parameters-table {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 32px 0;
}

.parameter-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.parameter-row-full {
    align-items: flex-start;
}

.parameter-label {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.7142857142857142em;
    color: #81889B;
    width: 220px;
    flex-shrink: 0;
}

.parameter-value {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.7142857142857142em;
    color: #1A2D45;
    flex: 1 1 0;
}



/* Legal Notice */
.legal-notice {
    display: flex;
    flex-direction: row;
    justify-content: stretch;
    align-items: stretch;
    gap: 10px;
    padding: 32px;
    border: 1px solid #ECCEAC;
    border-radius: 0;
}

.legal-text {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.5833333333333333em;
    color: #1A2D45;
    margin: 0;
}

/* Адаптивность для Item Info Description Section */
@media (max-width: 1200px) {
    .item-info-description-container {
        padding: 48px 60px;
    }
}

@media (max-width: 992px) {
    .item-info-description-container {
        flex-direction: column;
        padding: 48px 40px;
    }
    
    .item-info-description-right {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .item-info-description-section {
        padding: 32px 0;
    }
    
    .item-info-description-container {
        padding: 32px 20px;
        gap: 20px;
    }
    
    .item-info-description-right {
        padding: 24px;
    }
    
    .content-title {
        font-size: 20px;
    }
    
    .parameter-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .parameter-label {
        width: 100%;
    }
    
    .legal-notice {
        padding: 24px;
    }

}
.parameter-row {

    min-height: 37px;
    border-top: 1px dashed #CFD8E0;
    align-items: flex-end;
}

/* Heading Section Styles */
.heading-section {
    width: 100%;
    padding-top: 48px;
    padding-bottom: 48px;
}

.heading-container {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 24px;
    max-width: 1332px;
    margin: 0 auto;
}

.heading-frame {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 48px;
}

/* Heading Block */
.heading-block {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}

.heading-title {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 2em;
    letter-spacing: 0.02em;
    color: #212737;
    margin: 0;
}

.heading-text-large {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 1.4444444444444444em;
    color: #000000;
    margin: 0;
    max-width: 1332px;
}

.heading-text-columns {
    display: flex;
    flex-direction: row;
    justify-content: stretch;
    align-items: stretch;
    gap: 32px;
    width: 100%;
}

.heading-text-medium {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.875em;
    color: #000000;
    margin: 0;
    flex: 1 1 0;
}

/* Heading Divider */
.heading-divider {
    width: 100%;
    height: 1px;
    border: none;
    border-top: 1px dashed #CFD8E0;
    margin: 0;
}

/* Heading Block with Image */
.heading-block-image {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: stretch;
    gap: 48px;
}

.heading-block-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
    flex: 1 1 0;
}

.heading-title-small {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 2em;
    letter-spacing: 0.02em;
    color: #212737;
    margin: 0;
}

.heading-image-wrapper {
    width: 576px;
    height: 402px;
    flex-shrink: 0;
    background-color: #F4F6F8;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.heading-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.heading-block-image-reverse {
    flex-direction: row-reverse;
}
/*baner company*/
    .company-banner-section{
        max-width: 1475px;
    }
    .company-banner-content {
        display: flex;
        align-items: stretch;
        min-height: 300px;          /* подберите под макет */
        border-radius: 20px;
        overflow: hidden;           /* чтобы всё обрезалось по радиусу */
        background-color: #2c2f3a;  /* общий фон слева */
    }

    /* левая часть с текстом */
    .company-banner-ellipse-inner {
        position: relative;
        flex: 0 0 50%;
        padding: 60px 0px 60px 80px;
        color: #fff;
        z-index: 1;
        display: flex
;
    }
    .company-banner-text{
        z-index: 2;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: space-evenly;
    }
    /* полукруг */
    .company-banner-ellipse-inner::after {
        content: "";
        position: absolute;
        top: 50%;
        right: -15%;
        transform: translateY(-50%);
        width: 100%;
        height: 150%;
        background-color: #2c2f3a;
        border-radius: 50%;
    }
    .company-banner-ellipse-inner::before {
        content: "";
        position: absolute;
        top: 50%;
        right: -19%;
        transform: translateY(-50%);
        width: 100%;
        height: 150%;
        border-radius: 50%;
        border: solid;
        opacity: 0.5;
            }

    /* правая часть с фотографией */
    .company-banner-bg {
    flex: 1;
    }
    /* адаптивность для баннера компании */
/* Адаптивность для Heading Section */
@media (max-width: 1400px) {
    .heading-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }
}

@media (max-width: 1200px) {
    .heading-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }
    
    .heading-image-wrapper {
        width: 400px;
        height: 280px;
    }
}

@media (max-width: 992px) {
    .heading-text-columns {
        flex-direction: column;
        gap: 24px;
    }
    
    .heading-block-image {
        flex-direction: column;
        gap: 32px;
    }
    
    .heading-block-image-reverse {
        flex-direction: column;
    }
    
    .heading-image-wrapper {
        width: 100%;
        height: auto;
        min-height: 280px;
    }
}

@media (max-width: 768px) {
    .heading-section {
        padding-top: 32px;
        padding-bottom: 32px;
    }
    
    .heading-frame {
        gap: 32px;
    }
    
    .heading-title,
    .heading-title-small {
        font-size: 24px;
        line-height: 1.5em;
    }
    
    .heading-text-large {
        font-size: 16px;
    }
    
    .heading-text-medium {
        font-size: 14px;
    }
    
    .heading-block {
        gap: 16px;
    }
    
    .heading-block-content {
        gap: 20px;
    }
    .company-banner-ellipse-inner {
        flex: 0 0 100%;
        padding: 60px 40px 60px 40px;
    }
    .company-banner-bg {
        display: none;
    }
}

/* News Section Styles */


.news-container-page {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.news-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    margin-bottom: 40px;
}

/* Main News Item */
.news-item-main {
    display: flex;
    flex-direction: row;
    justify-content: stretch;
    align-items: stretch;
    gap: 10px;
    height: 355px;
    background-color: #F4F6F8;
    border-radius: 0;
}

.news-item-content {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 35px 72px;
}

.news-info {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.news-date-badge {
    display: inline-flex;
    align-items: center;
    width: 118px;
    height: 30px;
    padding: 0 10px;
    background-color: #FFFFFF;
    border-left: 3px solid #E13023;
    border-radius: 3px;
}

.news-date-badge span {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 1.5em;
    color: #1A2D45;
}

.news-title-main {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 1em;
    color: #1A2D45;
    margin: 0;
}

.news-description-main {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.4em;
    color: #1A2D45;
    margin: 0;
}

.news-button {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 16px 24px;
    border: 1px solid #5F99E5;
    border-radius: 16px;
    text-decoration: none;
    width: fit-content;
    transition: all 0.3s ease;
}

.news-button span {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1em;
    letter-spacing: 0.04em;
    color: #5F99E5;
}

.news-button img {
    width: 8.17px;
    height: 16px;
}

.news-button:hover {
    background-color: #5F99E5;
}

.news-button:hover span {
    color: #FFFFFF;
}

.news-button:hover img {
    filter: brightness(0) invert(1);
}

.news-image-main {
    flex: 1;
    height: 100%;
    overflow: hidden;
}

.news-image-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* News Row */
.news-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    align-content: center;
}

/* Small News Items */
.news-item-small {
    height: 355px;
    position: relative;
    border-radius: 0;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 32.9%;
}

.news-bg-1 {
    background-image: url('../images/news-image-1.png');
    background-color: #8A8A8A;
}

.news-bg-2 {
    background-image: url('../images/news-image-2.png');
    background-color: #8A8A8A;
}

.news-bg-3 {
    background-image: url('../images/news-image-3.png');
    background-color: #8A8A8A;
}

.news-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 35px 26px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(28, 30, 37, 0.83) 100%);
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 9px;
    height: 100%;
}

.news-date-badge-small {
    position: absolute;
    top: 20px;
    left: 19px;
    display: inline-flex;
    align-items: center;
    width: 108px;
    height: 30px;
    padding: 0 5px;
    background-color: #303030;
    border-left: 3px solid #E13023;
    border-radius: 3px;
}

.news-date-badge-small span {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 1.5em;
    color: #FFFFFF;
}

.news-title-small {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1em;
    color: #FFFFFF;
    margin: 0;
}

.news-description-small {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 300;
    font-size: 12px;
    line-height: 1.4em;
    color: #FFFFFF;
    margin: 0;
    max-width: 297px;
}

.news-link-small {
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.5em;
    color: #FFFFFF;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.news-link-small:hover {
    opacity: 0.8;
}

/* News Pagination */
.news-pagination {
    padding: 24px 0;
    width: 100%;
}

.news-pagination .pagination-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: stretch;
    align-items: stretch;
    gap: -1px;
    border: 1px solid #E8F0F6;
    border-radius: 0;
    max-width: 1332px;
}

.news-pagination .pagination-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-right: 1px solid #E8F0F6;
    text-decoration: none;
    transition: all 0.3s ease;
    height: auto;
    box-sizing: border-box;
    flex: 1 1 0;
}

.news-pagination .pagination-arrow img {
    width: 8.17px;
    height: 16px;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.news-pagination .pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-right: 1px solid #E8F0F6;
    text-decoration: none;
    transition: all 0.3s ease;
    height: auto;
    box-sizing: border-box;
    flex: 1 1 0;
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5em;
    color: #5F99E5;
}

.news-pagination .pagination-number.active {
    background-color: #E13023;
    color: #FFFFFF;
    border-right: 1px solid #E13023;
}

.news-pagination .pagination-number:hover:not(.active) {
    background-color: #F4F6F8;
}

.news-pagination .pagination-arrow:hover {
    background-color: #F4F6F6;
}

/* Адаптивность для News Section */


@media (max-width: 1200px) {

    

    
    .news-item-content {
        padding: 35px 40px;
    }
    
    .news-image-main {
        height: 300px;
    }
    
    .news-row {
        flex-wrap: wrap;
    }
    
    .news-item-small {
        flex: 0 1 calc(50% - 4px);
        min-width: 300px;
        max-width: calc(50% - 4px);
    }
}

@media (max-width: 1400px) and (min-width: 768px) {
    .news-container-page {
        margin-top: -80px;
    }
}
@media (max-width: 992px) {
    .news-item-main {
        height: auto;
    }
    
    .news-item-content {
        padding: 30px 30px;
    }
    
    .news-title-main {
        font-size: 24px;
    }
    
    .news-item-small {
        flex: 1 1 100%;
        height: 300px;
    }
    
    .news-pagination .pagination-wrapper {
        flex-wrap: wrap;
    }
}

@media (max-width: 768px) {

    
    .news-item-content {
        padding: 24px 20px;
    }
    
    .news-title-main {
        font-size: 20px;
    }
    
    .news-description-main {
        font-size: 14px;
    }
    
    .news-button {
        padding: 12px 20px;
    }
    
    .news-image-main {
        height: 250px;
    }
    
    .news-item-small {
        height: 280px;
    }
    
    .news-title-small {
        font-size: 18px;
    }
    
    .news-description-small {
        font-size: 11px;
    }
    
    .news-pagination .pagination-number,
    .news-pagination .pagination-arrow {
        min-width: 40px;
        padding: 8px 4px;
    }
    .category-header-mobile {
        padding: 20px 20px;
        border-radius: 0px;
        background-color: #D5DCE5;
    }
    /* .category-header>img{
        display: none;
    } */
}
.news-container-page{
    padding-top: 40px;
}
@media (min-width: 1024px){
    .catalog-content {
        padding-left: 58px ! Important;
    }
}
button.search-icon-btn {
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
}

/* Полноэкранный поиск */
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    /* height: 100vh; */
    background-color: rgba(255, 255, 255, 0.98);
    z-index: 9999;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.search-overlay.active {
    display: block;
    opacity: 1;
}

.search-input-wrapper {
    width: 100%;
    background-color: #FFFFFF;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    height: 86px;
}

.search-input-container {
    margin:auto;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    background-color: #FFFFFF;
    height: 86px;
}

.search-input-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.search-input {
    flex: 1;
    border: none;
    outline: none;
    font-family: 'Graphik LCG', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #212737;
    background: transparent;
}

.search-input::placeholder {
    color: #999;
}

.search-close-btn {
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #212737;
    transition: color 0.3s ease;
}

.search-close-btn:hover {
    color: #E13023;
}

@media (max-width: 768px) {
    .search-input-wrapper {
        padding: 16px 20px;
    }
    
    .search-input-container {
        padding: 12px 16px;
        gap: 12px;
    }
    
    .search-input {
        font-size: 14px;
    }
    
    .search-input-icon,
    .search-close-btn {
        width: 20px;
        height: 20px;
    }
}
/* desktop menu */
.categories-grid-desktop-menu {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    padding: 24px 40px;
    align-items: flex-start;
}
.banner-content-desktop-menu{
    max-width: 316px;
}
#catalog-menu-desctop{
    width: 100%;
}
.categories-row-desktop-menu-container {
    width: 75%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
}
.category-card-desktop-menu {
    width: 45%;
}
.category-icon-desktop-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
}
.category-icon-desktop-menu >img {
    width: 24px;
    height: 24px;
}
.category-icon-desktop-menu>h3 {
    margin: 0;
    font-size: 18px;
    line-height: 20px;
    font-weight: 700;
}

.menu-desktop-line-header {
    width: 55px;
    height: 1px;
    border: none;
    border-bottom: 1.5px solid #5793FB; /* или просто border-top */
    margin: 20px 0;
    background: none;
    display: block;
}
ul.category-links-desktop-menu {
    list-style: none;
    padding: 0px;
}
ul.category-links-desktop-menu>li>a {
    text-decoration: none;
    color: #5F99E5;
    font-size: 16px;
}
ul.category-links-desktop-menu>li{
    margin:20px 0px;
}
ul.category-links-desktop-menu>li>a:hover {
    color: #1A2D45;
}
div#form-message {
    color: #fff;
    padding-top: 20px;
}
.phone-num{
    text-decoration: none;
}
img.detail_picture_news {
    max-width: 900px;
    max-height: 600px;
}
.popup_success {
    margin: 120px auto;
    text-align: center;
}
@media (max-width: 560px) {
    .news-image-main {
        display: none;
    }
    .section-container-news {
        padding-top: 0;
    }
    .news-container-page {
        padding-top: 0px;
    }
    .news-item-small {
        min-width: 100%;
    }
}
/* Contacts page */
.contacts-page {
    padding-top: 40px;
    padding-bottom: 80px;
}

.contacts-page-header {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}

.contacts-page-description {
    height: auto;
    max-width: 760px;
}

.contacts-page-grid {
    display: flex;
    align-items: stretch;
    gap: 24px;
}

.contacts-page-map {
    flex: 1 1 0;
    min-height: 460px;
    border-radius: 26px;
    overflow: hidden;
    background-color: #F6F6F6;
}

.contacts-page-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.contacts-page-card {
    width: 420px;
    flex-shrink: 0;
    background-color: #F6F6F6;
    border-radius: 26px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contacts-card-title {
    margin: 0;
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.1em;
    color: #212737;
}

.contacts-card-items {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.contacts-card-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.contacts-card-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 3px;
}

.contacts-card-text {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.contacts-card-label {
    margin: 0;
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 1em;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #81889B;
}

.contacts-card-value {
    margin: 0;
    font-family: 'Graphik LCG', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4em;
    color: #1A2D45;
    text-decoration: none;
}

.contacts-card-value:hover {
    text-decoration: underline;
}

.contacts-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.contacts-card-actions .view-all-btn {
    border-radius: 16px;
    padding: 14px 18px;
}

@media (max-width: 992px) {
    .contacts-page-grid {
        flex-direction: column;
    }

    .contacts-page-card {
        width: 100%;
    }

    .contacts-page-map {
        min-height: 360px;
    }
}
.section-contacts{
    padding-top: 0px;
    padding-bottom: 30px;
}
.wpb_column.vc_column_container.vc_col-sm-12 {
    padding-top: 80px;
}