* {
    box-sizing: border-box;
    font-family: 'TikTok Sans', sans-serif;
}

body {
    color: var(--dark_text);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    margin: 0;
    padding: 0;
}

p {
    margin: 0 0 16px 0;
}

a {
    color: var(--dark_text);
    text-decoration: none;
}

a:hover {
    color: var(--primary_hover);
}

img {
    max-width: 100%;
    height: auto;
}

button {
    background: none;
    border: none;
    cursor: pointer;
}

.container {
    max-width: 1384px;
    margin: 0 auto;
    padding: 0 10px;
    width: 100%;
}

h1 {
    font-size: 60px;
    font-weight: 600;
    line-height: 1;
    color: var(--dark_text);
    margin: 0 0 32px 0;
    letter-spacing: -0.03em;
}

h2 {
    font-size: 50px;
    font-weight: 600;
    line-height: 1;
    color: var(--dark_text);
    margin: 0 0 24px 0;
    letter-spacing: -0.03em;
}

h3 {
    font-size: 42px;
    font-weight: 600;
    line-height: 1;
    color: var(--dark_text);
    margin: 0 0 20px 0;
    letter-spacing: -0.03em;
}

h4 {
    font-size: 36px;
    font-weight: 600;
    line-height: 1;
    color: var(--dark_text);
    margin: 0 0 16px 0;
    letter-spacing: -0.03em;
}

h5 {
    font-size: 28px;
    font-weight: 600;
    line-height: 1;
    color: var(--dark_text);
    margin: 0 0 16px 0;
    letter-spacing: -0.03em;
}

.section {
    padding: 50px 0;
}

.section-header {
    margin-bottom: 40px;
}

.section-header-slider-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.section-header-slider-controls button {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 1px solid var(--line_black);
}

.section-header-slider-controls button.swiper-button-disabled {
    opacity: 0.5;
    cursor: default;
}

.section-header-slider-controls-prev {
    transform: rotate(180deg);
}

.section-header-slider-controls button:before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url(../images/arrow-right-dark.svg);
}

.container-breakout {
    opacity: 1;
    transition: opacity 1s ease;

}

.container-breakout.load {
    opacity: 1;
    
}

.container-breakout-fake {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
    z-index: -1;
}

.btn_default {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    width: max-content;
    padding: 0 24px;
    border-radius: 6px;
    background: var(--primary);
    color: var(--white);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    cursor: pointer;
    border: none;
    transition: all 0.3s ease;
}

.btn_default:hover {
    background: var(--primary_hover);
    color: var(--white);
}

.btn_line {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    width: max-content;
    padding: 0 24px;
    border-radius: 6px;
    background: var(--white);
    color: var(--dark_text);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    cursor: pointer;
    border: 1px solid #DE000080;
    transition: all 0.3s ease;
}

.btn_line:hover {
    color: var(--primary);
}

.btn_download {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--primary);
}

.btn_download:before {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background-image: url(../images/download.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.btn_download:hover {
    background-color: var(--primary_hover);
}

.btn_link {
    color: var(--primary);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    gap: 8px;
    width: max-content;
    transition: all 0.3s ease;
}

.btn_link:after {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url(../images/arrow-right.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.3s ease;
}

.btn_link:hover:after {
    transform: translateX(4px);
}

.btn_circle-arrow {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
}

.btn_circle-arrow:before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url(../images/arrow-right-grey.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.btn_circle-arrow:hover {
    background-color: var(--primary);
}

.btn_circle-arrow:hover:before {
    background-image: url(../images/arrow-right-white.svg);
}

.btn_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    padding: 0 24px;
    border-radius: 6px;
    gap: 12px;
    width: max-content;
    border: 1px solid #DE000080;
    color: var(--dark_text);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    transition: all 0.3s ease;
}

.btn_icon:before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.btn_icon:hover:before {
    transform: scale(1.1);
}

.btn_callback {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 40px;
    width: max-content;
    padding: 0 16px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid #DE000080;
}

.btn_callback:before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url(../images/phone.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.btn_callback:hover {
    color: var(--primary);
}

.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 20px 0;
}

.table-responsive table {
    width: 100%;
    min-width: 600px;
}

.page-template-default .main {
    padding-bottom: 100px;
}

.page-content a {
    color: var(--primary);
    text-decoration: underline;
    transition: all 0.3s ease;
}

.page-content a:hover {
    color: var(--primary_hover);
    text-decoration: underline;
}

/* cf7 */

.wpcf7-form .fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wpcf7-form [class*="fields-col-"] {
    display: grid;
    gap: 16px;
}

.wpcf7-form .fields-col-2 {
    grid-template-columns: repeat(2, 1fr);
}

.wpcf7-form .fields-col-3 {
    grid-template-columns: repeat(3, 1fr);
}

.wpcf7-form .fields-col-4 {
    grid-template-columns: repeat(4, 1fr);
}

.wpcf7-form .actions {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px;
}

.wpcf7-form .field input:not([type="submit"]) {
    height: 56px;
    padding: 0px 12px;
    border-radius: 6px;
    border: 1px solid var(--input_stroke);
    font-size: 16px;
    font-weight: 400;
    color: var(--dark_text);
    width: 100%;
}

.wpcf7-form .field input:not([type="submit"]):focus {
    outline: none;
    border-color: var(--primary_hover);
}

.wpcf7-form .field textarea {
    height: 120px;
    padding: 12px;
    border-radius: 6px;
    border: 1px solid var(--input_stroke);
    font-size: 16px;
    font-weight: 400;
    color: var(--dark_text);
}

.wpcf7-form input:not([type="submit"]).wpcf7-not-valid {
    border-color: var(--error);
    background-color: var(--bg_error);
}

.wpcf7-form .field input:not([type="submit"])::placeholder {
    color: var(--input_text);
}

.wpcf7-form .agreement .wpcf7-list-item {
    margin: 0;
}

.wpcf7-form .agreement .wpcf7-list-item label {
    cursor: pointer;
}

.wpcf7-form .agreement .wpcf7-list-item label input {
    display: none
}

.wpcf7-form .agreement .wpcf7-list-item label .wpcf7-list-item-label:after {
    content: none
}

.wpcf7-form .agreement .wpcf7-list-item label .wpcf7-list-item-label:before {
    content: '';
    width: 18px;
    height: 18px;
    display: block;
    border-radius: 4px;
    border: 1px solid var(--input_stroke);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 11px;
    flex-shrink: 0;
    background-color: var(--white);
}

.wpcf7-form .agreement .wpcf7-list-item label input:checked+.wpcf7-list-item-label:before {
    background-image: url(../images/checkbox.svg);
}

.wpcf7-form .agreement .wpcf7-list-item label .wpcf7-list-item-label {
    display: flex;
    gap: 8px;
    font-size: 14px;
    color: var(--grey_text);
    max-width: 520px;
}

.wpcf7-form .wrapper-btn {
    position: relative;
}

.wpcf7-form .wrapper-btn .wpcf7-spinner {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    margin: 0;
}

.wpcf7-not-valid-tip {
    position: absolute;
    font-size: 12px!important;
    line-height: 1;
    margin: 0;
    color: var(--error)!important;
}

.wpcf7-form .actions input[type="submit"] {
    height: 48px;
    background-color: var(--primary);
    color: #fff;
    border-radius: 6px;
    font-size: 14px;
    letter-spacing: 0.02em;
    font-family: var(--font_primary);
    text-transform: uppercase;
    font-weight: 700;
    border: none;
    padding: 0 50px;
    cursor: pointer;
    transition: .3s ease
}

.wpcf7-form .actions input[type="submit"]:hover {
    box-shadow: 0 0 8px var(--primary);
}

@media (max-width: 575px) {
    .wpcf7-form .fields-col-2 {
        grid-template-columns: 1fr;
    }
}

/* cf7 */

/* modal-sun */

.modal-sun-overlay .modal-sun {
    box-shadow: 0px 10px 50px 0px #000F531A;
    border-top: 3px solid var(--primary);
    background-color: var(--bg);
    padding: 32px 40px 40px;
    max-width: 400px;
}

.modal-sun-cf7__head {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: center;
    margin-bottom: 24px;
}

.modal-sun-cf7__head .title {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1;
}

.modal-sun-cf7__head .text {
    color: var(--grey_text);
    letter-spacing: -0.01em;
}

.modal-sun .modal-close {
    width: 24px;
    height: 24px;
    top: 10px!important;
    right: 10px!important;
}

.modal-sun .modal-close > * {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.modal-sun .modal-close:hover {
    opacity: 0.8;
}

.modal-sun .wpcf7-form .actions input[type="submit"] {
    width: 100%;
}

.modal-sun .wpcf7-response-output {
    display: none!important;
}

.modal-sun .wpcf7-form .actions {
    gap: 24px;
}

/* modal-sun */

/*wp-block-table*/

.wp-block-table {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 20px 0;
}

.wp-block-table table {
    width: 100%;
    border-collapse: separate!important;
    border-spacing: 0;
    border: 1px solid #0000001A;
    border-radius: 8px;
    overflow: hidden;
    background-color: #fff;
    min-width: 600px;
}

.wp-block-table table td , .wp-block-table table th {
    padding: 16px;
    border: 0;
    vertical-align: top;
    text-align: left;
    color: var(--dark_text);
    font-size: 16px;
}

.wp-block-table table thead th {
    font-weight: 600;
    background-color: #fff;
    border-bottom: 2px solid #24242B;
    text-align: center;
}

.wp-block-table table tbody tr:nth-child(odd) td {
    background-color: #F2F2F3;
}

.wp-block-table table tbody tr:nth-child(odd):not(:first-child) td {
    /* background-color: #fff; */
}

.wp-block-table table tbody tr:not(:first-child) td:first-child {
    font-weight: 600;
}

/*wp-block-table*/

/* wp-block-list */

ul.wp-block-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

ul.wp-block-list li {
    margin: 0;
    padding: 0;
    position: relative;
    padding-left: 16px;
}

ul.wp-block-list li:before {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    background-image: url(../images/triangle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0;
    top: 6px;
}

/* wp-block-list */

/* Header */

header {
    z-index: 10;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background-color: var(--white);
    width: 100%;
    transition: all 0.3s ease;
}

.header .header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    gap: 24px;
    transition: all 0.3s ease;
}

.header-logo {
    width: 168px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.header-logo a {
    display: block;
    width: 100%;
    height: 100%;
}

header .header-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.header-contacts {
    display: flex;
    align-items: center;
    gap: 32px;
    flex: 1;
}

.header-contacts .header-contacts-item-city {
    flex: 1;
}

.header-contacts-item {
    display: flex;
    align-items: center;
    gap: 24px;
    padding-left: 12px;
    border-left: 1px solid var(--line_black);
    text-wrap: nowrap;
    width: 100%;
}

.header-contacts-item-city {
    display: flex;
    align-items: center;
    gap: 8px;
}

.header-contacts-item-city:before {
    content: '';
    display: block;
    width: 8px;
    height: 6px;
    background-image: url(../images/triangle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.header-contacts-item-city span {
    font-size: 14px;
}

.header-contacts-item-city--switcher {
    position: relative;
}

.header-contacts-item-city__toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.header-contacts-item-city__name {
    font-size: 14px;
    line-height: 1.2;
    border-bottom: 1px dashed currentColor;
}

.header-contacts-item-city--switcher:before {
    transition: transform 0.2s ease;
}

.header-contacts-item-city--switcher.is-open:before {
    transform: rotate(180deg);
}

.header-contacts-item-city__dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 40;
    min-width: 160px;
    padding: 8px 0;
    border-radius: 6px;
    background: var(--white);
    box-shadow: 0 8px 24px rgba(36, 36, 43, 0.12);
}

.header-contacts-item-city__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-contacts-item-city__list a {
    display: block;
    padding: 8px 14px;
    font-size: 14px;
    line-height: 1.3;
    color: var(--dark_text);
    text-decoration: none;
    white-space: nowrap;
}

.header-contacts-item-city__list a:hover {
    background: var(--bg);
    color: var(--primary);
}

.header-contacts-item-info {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.header-contacts-item-phone {
    font-size: 18px;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

header .header-contacts-item-email a {
    font-size: 14px;
    color: var(--grey_text);
}

.header-contacts-item-social {
    display: flex;
    align-items: center;
    gap: 8px;
}

.header-contacts-item-social a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-contacts-item-social a img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
}

.header-actions-mode_job {}

.header-menu {
    background-color: var(--primary);
    border-radius: 6px;
    position: relative;
    z-index: 30;
}

.header-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-menu ul li a {
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}

.header-menu > ul {
    display: flex;
    align-items: center;
    gap: 0px;
}

.header-menu > ul li:first-child a {
    border-radius: 6px 0 0 6px;
}

.header-menu > ul li:last-child a {
    border-radius: 0 6px 6px 0;
}

.header-menu > ul li a {
    padding: 23px 10px;
    color: var(--white);
    gap: 16px;
    letter-spacing: 0.02em;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px;
    text-wrap: nowrap;
    white-space: nowrap;
}

.header-menu > ul.header-menu-list > li.is-nav-hidden {
    display: none;
}

.header-menu-mobile-info {
    display: none;
}

.header-menu > ul > li {
    position: relative;
    flex: 1;
    min-width: 0;
    display: flex;
    justify-content: center;
}

.header-menu > ul > li > a {
    justify-content: center;
    width: 100%;
}

.header-menu > ul > li.current-menu-item > a {
    background-color: #00000040;
}

.header-menu > ul > li.menu-item-has-children > a:after {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    background-image: url(../images/chevrone-down.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: rotate(0deg);
    transition: transform 0.25s ease;
}

.header-menu > ul > li:hover > a,
.header-menu > ul > li:focus-within > a {
    color: var(--white);
    background-color: var(--dark_text);
}

.header-menu > ul > li.menu-item-has-children:hover > a:after,
.header-menu > ul > li.menu-item-has-children:focus-within > a:after {
    transform: rotate(180deg);
}

@media (min-width: 768px) {
    .header.is-sticky .header-content {
        padding: 8px 0 4px;
    }
    
    .header.is-sticky .header-logo {
        height: 48px;
    }
}

@media (min-width: 992px) {
    .header-menu > ul > li > .sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 50;
        display: flex;
        flex-direction: column;
        gap: 16px;
        min-width: 100%;
        width: max-content;
        margin: 0;
        padding: 24px;
        list-style: none;
        border-radius: 0 0 8px 8px;
        background: var(--white);
        box-shadow: 0 12px 32px rgba(36, 36, 43, 0.14);
        opacity: 0;
        visibility: hidden;
        transform: translateY(8px);
        pointer-events: none;
        transition:
            opacity 0.2s ease,
            transform 0.2s ease,
            visibility 0.2s ease;
    }

    .header-menu > ul > li:hover > .sub-menu,
    .header-menu > ul > li:focus-within > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    .header-menu > ul > li > .sub-menu > li {
        margin: 0;
    }

    .header-menu > ul > li > .sub-menu > li > a,
    .header-menu > ul > li > .sub-menu > li > .menu-item-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 0;
        color: var(--dark_text);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.3;
        letter-spacing: 0;
        text-transform: none;
        white-space: nowrap;
        background: transparent;
        border-radius: 0;
        position: relative;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

    .header-menu > ul > li > .sub-menu > li > .menu-item-heading {
        font-weight: 700;
        color: var(--grey_text);
        cursor: default;
    }

    .header-menu > ul > li > .sub-menu > li > a:hover,
    .header-menu > ul > li > .sub-menu > li > a:focus {
        color: var(--primary);
    }

    .header-menu > ul > li > .sub-menu > li > a:after {
        content: '';
        display: block;
        width: 5px;
        height: 5px;
        border-right: 1px solid transparent;
        border-bottom: 1px solid transparent;
        flex-shrink: 0;
        transform: rotate(-45deg);
        transition: border-color 0.2s ease;
    }

    .header-menu > ul > li > .sub-menu > li > a:hover:after, 
    .header-menu > ul > li > .sub-menu > li > a:focus:after {
        border-color: var(--primary);
    }

    .header-menu > ul > li > .sub-menu > li > a:before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(100% + 20px);
        height: calc(100% + 8px);
        z-index: -1;
        border-radius: 8px;
        transition: background-color 0.2s ease;
    }

    .header-menu > ul > li > .sub-menu > li > a:hover:before, 
    .header-menu > ul > li > .sub-menu > li > a:focus:before {
        background-color: var(--bg);
    }

    .header-menu > ul > li > .sub-menu > li.menu-item-has-children {
        position: relative;
    }

    .header-menu > ul > li > .sub-menu > li.menu-item-has-children > a:after {
        content: '';
        display: inline-block;
        width: 6px;
        height: 6px;
        margin-left: auto;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        background: none;
        transform: rotate(-45deg);
        transition: transform 0.2s ease, border-color 0.2s ease;
    }

    .header-menu > ul > li > .sub-menu .sub-menu {
        position: absolute;
        top: -8px;
        left: calc(100% + 4px);
        z-index: 51;
        display: block;
        min-width: 220px;
        margin: 0;
        padding: 8px 0;
        list-style: none;
        border-radius: 8px;
        background: var(--white);
        box-shadow: 0 12px 32px rgba(36, 36, 43, 0.14);
        opacity: 0;
        visibility: hidden;
        transform: translateX(6px);
        pointer-events: none;
        transition:
            opacity 0.2s ease,
            transform 0.2s ease,
            visibility 0.2s ease;
    }

    .header-menu > ul > li > .sub-menu > li:hover > .sub-menu,
    .header-menu > ul > li > .sub-menu > li:focus-within > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
        pointer-events: auto;
    }

    .header-menu > ul > li > .sub-menu .sub-menu > li > a {
        display: block;
        padding: 10px 18px;
        color: var(--dark_text);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.35;
        letter-spacing: 0;
        text-transform: none;
        white-space: nowrap;
        background: transparent;
    }

    .header-menu > ul > li > .sub-menu .sub-menu > li > a:hover,
    .header-menu > ul > li > .sub-menu .sub-menu > li > a:focus {
        color: var(--primary);
        background-color: rgba(222, 0, 0, 0.06);
    }
}

@media (max-width: 991px) {
    .header-menu ul li .sub-menu {
        display: none;
    }

    .header-menu .menu-item-has-children.is-submenu-open > .sub-menu {
        display: block;
    }
}

.cart-mini,
a.cart-mini {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 6px;
    background-color: var(--bg);
}

a.cart-mini {
    text-decoration: none;
    color: inherit;
}

.cart-mini-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 1280px) {

    .cart-mini-count-text {
        display: none;
    }

    header .btn_callback {
        text-indent: -9999px;
        overflow: hidden;
        width: 40px;
        height: 40px;
        background-color: var(--primary);
        border: none;
        padding: 0;
        border-radius: 50%;
        gap: 0;
    }

    header .btn_callback:before {
        background-image: url(../images/phone-white.svg);
    }
}

@media (max-width: 991px) {
    header {
        border-bottom: 1px solid #E6E9EE;
    }

    .header .header-content {
        padding: 12px 0;
    }

    .header-logo {
        width: 124px;
        height: 48px;
    }

    .header-actions-mode_job {
        display: none;
    }

    .header-menu {
        display: flex;
        justify-content: flex-end;
        position: fixed;
        right: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: #000000d1;
        z-index: 100;
        transform: translateX(100%);
        border-radius: 0;
        transition: transform 0.4s ease;
    }

    .header-menu.is-open {
        transform: translateX(0);
    }

    .header-menu-mobile-inner {
        display: flex;
        flex-direction: column;
        max-width: 50%;
        width: 100%;
        background-color: var(--white);
        height: 100%;
        overflow: auto;
        transition: max-width 0.8s ease;
    }

    .header-menu.is-open .header-menu-mobile-inner {
        max-width: 90%;
        padding: 32px;
        gap: 40px;
    }

    .header-menu .header-menu-list {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        flex: 1 0 auto;
        background: var(--white);
    }

    .header-menu .header-menu-list > li {
        flex: none;
        display: block;
        justify-content: initial;
        width: 100%;
        border-bottom: 1px solid #E6E9EE;
        padding: 12px 0;
    }

    .header-menu .header-menu-list > li:first-child {
        padding-top: 0;
    }

    .header-menu .header-menu-list > li > a,
    .header-menu .header-menu-list > li > .header-menu-item-row > a,
    .header-menu .header-menu-list > li:last-child a {
        border-radius: 0;
        justify-content: flex-start;
        width: 100%;
        padding: 0px;
        color: var(--dark_text);
        background: transparent;
        font-size: 14px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.02em;
    }

    .header-menu .header-menu-list > li.current-menu-item > a,
    .header-menu .header-menu-list > li.current-menu-item > .header-menu-item-row > a {
        background: transparent;
        color: var(--primary);
    }

    .header-menu .header-menu-list > li.menu-item-has-children > a:after,
    .header-menu .header-menu-list > li.menu-item-has-children > .header-menu-item-row > a:after {
        display: none;
    }

    .header-menu-item-row {
        display: flex;
        align-items: center;
        width: 100%;
    }

    .header-menu-item-row > a {
        flex: 1;
        min-width: 0;
    }

    .header-menu-submenu-toggle {
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 12px;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
    }

    .header-menu-submenu-toggle:before {
        content: '';
        display: block;
        width: 11px;
        height: 7px;
        background-image: url(../images/chevrone-down-nav.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        transition: transform 0.25s ease;
    }

    .menu-item-has-children.is-submenu-open > .header-menu-item-row > .header-menu-submenu-toggle:before {
        transform: rotate(180deg);
    }

    .header-menu .header-menu-list .sub-menu {
        margin: 0;
        padding: 0;
    }

    .header-menu .header-menu-list .sub-menu > li {
        border-bottom: 0;
        padding: 10px 0px 10px 0px;
        border-bottom: 1px solid var(--line_black);
    }

    .header-menu .header-menu-list .sub-menu > li:first-child {
        padding-top: 12px
    }

    .header-menu .header-menu-list .sub-menu > li:last-child {
        padding-bottom: 0px;
        border-bottom: 0;
    }

    .header-menu .header-menu-list .sub-menu > li > a,
    .header-menu .header-menu-list .sub-menu > li > .header-menu-item-row > a,
    .header-menu .header-menu-list .sub-menu > li > .menu-item-heading {
        padding: 0px;
        border-left: 2px solid var(--primary);
        color: var(--dark_text);
        font-size: 14px;
        font-weight: 500;
        padding-left: 12px;
        text-transform: none;
        letter-spacing: 0;
        white-space: normal;
        background: transparent;

    }

    .header-menu .header-menu-list .sub-menu > li > .menu-item-heading {
        font-weight: 700;
        color: var(--grey_text);
    }

    .header-menu .header-menu-list .sub-menu .sub-menu > li > a,
    .header-menu .header-menu-list .sub-menu .sub-menu > li > .header-menu-item-row > a {
        padding-left: 40px;
        font-size: 13px;
    }

    .header-menu .header-menu-list .sub-menu .header-menu-submenu-toggle {
        height: 44px;
        border-left-color: #E6E9EE;
    }

    .header-menu .header-menu-mobile-info {
        display: flex;
        flex-direction: column;
        margin-top: auto;
    }

    .header-menu-mobile-contacts {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .header-menu .header-menu-mobile-info .header-contacts-item-city {
        position: relative;
        align-self: flex-start;
    }

    .header-menu .header-menu-mobile-info .header-contacts-item-city__name {
        font-size: 14px;
        font-weight: 600;
    }

    .header-menu .header-menu-mobile-info .header-contacts-item-city__dropdown {
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        right: auto;
        z-index: 5;
        min-width: 180px;
    }

    .header-menu .header-menu-mobile-info .header-contacts-item-info {
        align-items: flex-start;
    }

    .header-menu .header-menu-mobile-info .header-contacts-item-phone {
        font-size: 18px;
        font-weight: 700;
        color: var(--primary);
    }

    .header-menu .header-menu-mobile-info .header-contacts-item-phone a {
        color: inherit;
        text-decoration: none;
    }

    .header-menu .header-menu-mobile-info .header-contacts-item-email {
        font-size: 13px;
        color: var(--grey_text);
    }

    .header-menu .header-menu-mobile-info .header-contacts-item-email a {
        color: inherit;
        text-decoration: none;
    }

    .header-menu .header-menu-mobile-info .btn_callback {
        width: 100%;
        height: 48px;
        gap: 8px;
        text-indent: 0;
        overflow: visible;
        border-radius: 6px;
        background-color: var(--primary);
        border-color: var(--primary);
        color: var(--white);
        margin: 24px 0 8px
    }

    .header-menu .header-menu-mobile-info .btn_callback:before {
        background-image: url(../images/phone-white.svg);
    }

    .header-menu .header-menu-mobile-info .btn_callback:hover {
        color: var(--white);
    }

    .header-menu-mobile-hours {
        font-size: 13px;
        line-height: 1.3;
        color: var(--dark_text);
        text-align: center;
    }

    .btn_burger {
        display: flex!important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background-color: var(--bg);
        border: none;
        padding: 0;
        border-radius: 6px;
        gap: 4px;
    }

    .btn_burger span {
        display: block;
        width: 23.5px;
        height: 2px;
        background-color: var(--dark_text);
        transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .btn_burger.is-active span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .btn_burger.is-active span:nth-child(2) {
        opacity: 0;
    }

    .btn_burger.is-active span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }
}

@media (max-width: 767px) {
    .header-actions-mode_job {
        display: none;
    }

    .cart-mini, a.cart-mini {
        position: fixed;
        bottom: 10px;
        right: 10px;
        z-index: 100;
    }

    .header .header-content {
        gap: 8px;
    }

    .header-contacts-item {
        justify-content: space-between;
    }
}

@media (max-width: 640px) {
    header.header {
        border-top: 1px solid #E6E9EE;
        border-bottom: 1px solid #E6E9EE;
        position: sticky;
        top: 0;
        z-index: 100;
        background-color: var(--white);
    }

    .header-logo {
        height: auto;
    }

    .header-logo a {
        display: flex;
    }

    .header-content .btn_callback {
        display: none;
    }

    .header-contacts-item {
        border-left: none;
        padding-left: 6px;
        gap: 8px;
    }

    .header-contacts-item-phone .header-contacts-item-phone-link {
        color: var(--primary);
        font-weight: 500;
        font-size: 18px;
        font-family: 'Bebas Neue', sans-serif;
        letter-spacing: 0.1px;
    }

    .header-contacts--single-socials .header-contacts-item-info,
    .header-contacts--no-socials .header-contacts-item-info {
        flex: 1;
    }

    .header-contacts--single-socials .header-contacts-item-phone .header-contacts-item-phone-link,
    .header-contacts--no-socials .header-contacts-item-phone .header-contacts-item-phone-link {
        font-size: 21px;
    }

    header .header-contacts-item-email {
        display: none;
    }

    .header-contacts-item-social--single a {
        width: 32px;
        height: 32px;
    }

    .header-contacts-item-social--multiple a {
        width: 24px;
        height: 24px;
    }

    .header-contacts .header-contacts-item-city {
        flex-direction: row-reverse;
        justify-content: flex-end;
        gap: 4px;
    }

    .header-contacts-item-city span {
        font-size: 12px;
    }

    .header-contacts-item-city__name {
        border-bottom: none;
    }

    .header-contacts-item-city:before {
        background-image: url(../images/triangle-black.svg);
        width: 5px;
        height: 4px;
    }

    .header-contacts-item-phone {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }
}

/* Header */

/* Hero */
    
.section-hero {
    padding-top: 40px;
}

.section-hero .section-content {
    display: flex;
    position: relative;
}

.section-hero .section-title {
    max-width: 627px;
    font-size: 66px;
    margin-top: 30px;
    margin-bottom: 0;
    line-height: 0.9;
}

.section-hero .section-title span {
    color: #8C8C90;
}

.section-hero .hero-content_main {
    max-width: 708px;
    flex-basis: 55%;
    flex-grow: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 100px;
}

.section-hero .hero-content_advantages {
    background-color: var(--bg);
    padding: 36px 0;
    border-radius: 8px 0 0 8px;
    display: flex;
    align-items: center;
    gap: 24px;
}

.section-hero .hero-content_advantages-icon {
    width: 71px;
    height: 75px;
    background-image: url(../images/arrow-advs.svg);
}

.section-hero .hero-content_advantages-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.section-hero .hero-content_advantages-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.section-hero .hero-content_advantages-item:before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    background-image: url(../images/triangle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.section-hero .hero-content_prices {
    position: absolute;
    bottom: 0;
    left: 488px;
    display: flex;
    max-width: 660px;
    width: 100%;
    background-color: var(--dark_text);
    border-radius: 8px;
    z-index: 1;
}

.section-hero .hero-content_prices-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 32px 24px;
    flex: 1;
    min-width: 0;
    position: relative;
}

.section-hero .hero-content_prices-item:not(:last-child):after {
    content: '';
    display: block;
    width: 1px;
    height: 48px;
    background-color: var(--line_white);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
}

.section-hero .hero-content_prices-item-text {
    color: var(--white);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.section-hero .hero-content_prices-item .btn_download {
    flex-shrink: 0;
}

.section-hero .hero-content_media {
    flex-basis: 50%;
    flex-grow: 1;
    min-width: 0;
    position: relative;
    display: flex;
}

.section-hero .hero-content_media-image {
    position: relative;
    overflow: hidden;
    border-radius: 8px 8px 8px 0px;
    display: flex;
}

.section-hero .hero-content_media-image:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(270deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
    position: absolute;
    top: 0;
    left: 0;
}

.section-hero .hero-content_media-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-hero .hero-content_media-text {
    position: absolute;
    top: 27.5px;
    right: 32px;
    text-align: right;
    color: var(--white);
    max-width: 220px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.section-hero .hero-content_media-text .big {
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.02em;
}

.section-hero .hero-content_media-text .small {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

@media (max-width: 1200px) {
    .section-hero .hero-content_advantages {
        padding-bottom: 134px;
    }

    .section-hero .hero-content_prices {
        left: 0px;
    }

    .section-hero .section-title {
        font-size: 48px;
    }
}

@media (max-width: 991px) {
    .section-hero {
        padding-top: 0;
    }
}

@media (max-width: 767px) {
    .section-hero .container {
        padding: 0px!important;
    }

    .section-hero .section-content {
        flex-direction: column;
    }

    .section-hero .section-title {
        margin: 24px 0;
    }

    .section-hero .hero-content_main {
        order: 1;
        gap: 0;
        padding: 0 10px;
        max-width: none;
        width: 100%;
    }

    .section-hero .hero-content_media {
        flex-basis: auto;
        height: 350px;
    }

    .section-hero .hero-content_media-image {
        border-radius: 0;
        width: 100%;
    }

    .section-hero .hero-content_advantages {
        border-radius: 8px 8px 0 0;
        padding: 24px 24px 24px 0px;
    }

    .section-hero .hero-content_prices {
        position: relative;
        left: 0;
        bottom: 0;
        max-width: none;
        width: 100%;
        border-radius: 0 0 8px 8px;
    }
}

@media (max-width: 640px) {
    .section-hero .hero-content_prices {
        flex-direction: column;
        gap: 0;
        padding: 24px;
    }

    .section-hero .hero-content_prices-item {
        padding: 12px 0;
    }

    .section-hero .hero-content_prices-item:first-child {
        padding-top: 0;
    }

    .section-hero .hero-content_prices-item:last-child {
        padding-bottom: 0;
    }

    .section-hero .hero-content_prices-item:not(:last-child) {
        border-bottom: 1px solid var(--line_white);
    }

    .section-hero .hero-content_prices-item:not(:last-child):after {
        content: none;
    }

    .section-hero .hero-content_prices-item-text br {
        display: none;
    }

    .section-hero .hero-content_prices-item .btn_download {
        width: 32px;
        height: 32px;
    }

    .section-hero .hero-content_prices-item .btn_download:before {
        width: 16px;
        height: 16px;
    }
}

@media (max-width: 575px) {
    .section-hero .hero-content_media {
        height: 250px;
    }

    .section-hero .hero-content_media-text .big {
        font-size: 36px;
    }

    .section-hero .section-title {
        font-size: 36px;
    }

    .hero-content_advantages-icon {
        display: none;
    }

    .section-hero .hero-content_advantages {
        padding: 24px;
    }

    .section-hero .hero-content_advantages-list {
        gap: 8px;
    }
}

/* Hero */

/* Hero V2 */

.section-hero-v2 {
    position: relative;
    padding: 100px 0 70px;
}

.section-hero-v2 .hero-content_media-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.section-hero-v2 .hero-content_media-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-hero-v2 .hero-content_media-bg:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: radial-gradient(44.74% 50% at 50% 50%, rgba(0, 0, 0, 0.14) 0%, rgba(0, 0, 0, 0.7) 100%);
    position: absolute;
}

.section-hero-v2 .section-content {
    display: flex;
    position: relative;
    flex-direction: column;
    gap: 310px;
}

.section-hero-v2 .page-header__breadcrumbs {
    color: var(--white_60);
    margin-bottom: 8px;
}

.section-hero-v2 .page-header__breadcrumbs-sep {
    border-left-color: var(--white_60);
}

.section-hero-v2 .section-title {
    color: var(--white);
    margin: 0;
}

.section-hero-v2 .hero-content_info {
    display: flex;
    gap: 24px;
    justify-content: space-between;
}

.section-hero-v2 .hero-content_info-description {
    color: var(--white);
    font-size: 36px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.03em;
    max-width: 715px;
    position: relative;
    padding-top: 24px;
}

.section-hero-v2 .hero-content_info-description:before {
    content: '';
    display: block;
    width: 80px;
    height: 3px;
    background-color: var(--primary);
    position: absolute;
    top: 0;
    left: 0;
}

.section-hero-v2 .hero-content_info-advantage {
    display: flex;
    gap: 20px;
    padding-top: 24px;
}

.section-hero-v2 .hero-content_info-advantage-icon {
    width: 70px;
    height: 60px;
    background-image: url(../images/arrow-advs.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}

.section-hero-v2 .hero-content_info-advantage-text {
    max-width: 193px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: var(--white);
}

.section-hero-v2 .hero-content_info-advantage-text .big {
    font-size: 60px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.03em;
}

.section-hero-v2 .hero-content_info-advantage-text .small {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

@media (max-width: 1280px) {
    .section-hero-v2 .section-title {
        font-size: 60px;
    }
}

@media (max-width: 991px) {
    .section-hero-v2 {
        margin-top: 0px!important;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .section-hero-v2 .section-content {
        gap: 24px;
    }

    .section-hero-v2 .hero-content_info {
        flex-direction: column;
        flex: 1;
        gap: 194px;
    }

    .section-hero-v2 .hero-content_info-description {
        font-size: 24px;
    }

    .section-hero-v2 .section-title {
        font-size: 48px;
    }

    .section-hero-v2 .hero-content_info-advantage {
        padding-top: 0px;
    }
}

@media (max-width: 575px) {
    .section-hero-v2 .hero-content_info-description {
        font-size: 18px;
    }

    .section-hero-v2 .section-title {
        font-size: 42px;
    }

    .section-hero-v2 .hero-content_info-advantage-text .big {
        font-size: 50px;
    }
}

/* Hero V2 */

/* Info Video */

.section-info_video {
    background-color: var(--bg);
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding: 90px 0;
}

.section-info_video .info_video-decor {
    background-image: url(../images/logo-bg-2.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 474px;
    height: 493px;
    position: absolute;
    bottom: -120px;
    right: -174px;
    z-index: -1;
}

.section-info_video .section-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 156px;
}

.section-info_video .info_video-content {
    max-width: 676px;
    font-size: 22px;
    letter-spacing: -0.01em;
}

.section-info_video .info_video-media {
    flex-shrink: 0;
}

.section-info_video .info_video-media-button {
    display: flex;
    align-items: center;
    gap: 50px;
}

.section-info_video .info_video-media-button-circle {
    width: 215px;
    height: 215px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    border: 1px solid #595959;
    z-index: 1;
    flex-shrink: 0;
}

.section-info_video .info_video-media-button-circle-bg {
    width: 100%;
    height: 100%;
    background-image: url(../images/info-video-circle-bg.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.section-info_video .info_video-media-button-circle-bg:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4));
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.section-info_video .info_video-media-button-circle .video-play__ring-spin {
    animation: video-ring-spin 18s linear infinite;
    transform-origin: 100px 100px;
}

.section-info_video .info_video-media-button-circle .video-play__ring-text {
    fill: #fff;
    font-weight: 600;
    font-size: 12px;
}

.section-info_video .info_video-media-button-circle-play {
    width: 71px;
    height: 71px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.section-info_video .info_video-media-button-circle-play:before {
    content: '';
    display: block;
    width: 19px;
    height: 23px;
    background-image: url(../images/play-icon.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.section-info_video .info_video-media-button-text {
    max-width: 208px;
    text-decoration: underline;
    text-decoration-color: #DE00004D;
    color: var(--primary);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.02em;
}

@media (max-width: 1400px) {
    
}

@media (max-width: 1200px) {
    .section-info_video .section-content {
        gap: 64px;
    }
}

@media (max-width: 991px) {
    .section-info_video .info_video-media-button {
        flex-direction: column;
        gap: 24px;
    }

    .section-info_video .info_video-media-button-text {
        text-align: center;
    }
}

@media (max-width: 767px) {
    .section-info_video {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .section-info_video .section-content {
        gap: 24px;
        flex-direction: column;
    }

    .section-info_video .info_video-content {
        font-size: 18px;
    }

    .section-info_video .info_video-decor {
        display: none;
    }
}

@keyframes video-ring-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Info Video */

/* Advantages */

.section-advantages .section-header {}

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

.section-advantages .advantages-list .advantages-item {
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: space-between;
}

.section-advantages .advantages-list .advantages-item.style-1 {
    background-color: var(--bg);
}

.section-advantages .advantages-list .advantages-item.style-2 {
    background-color: var(--white);
    border: 1px solid var(--line_black);
}

.section-advantages .advantages-list .advantages-item.style-3 {
    background-color: var(--primary);
    color: var(--white);
}

.section-advantages .advantages-list .advantages-item:not(:nth-child(4)) {
    min-height: 250px;
    padding: 32px;
    display: flex;
    flex-direction: column;
}

.section-advantages .advantages-list .advantages-item:nth-child(4) {
    grid-row: span 2;
}

.section-advantages .advantages-item .advantages-item-media.advantages-item-media-icon {
    width: 40px;
    height: 40px;
}

.section-advantages .advantages-item .advantages-item-media.advantages-item-media-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.section-advantages .advantages-item .advantages-item-media.advantages-item-media-group {
    display: flex;
    align-items: center;
}

.section-advantages .advantages-item .advantages-item-media.advantages-item-media-group .advantages-item-media-group-icon {
    width: 56px;
    height: 56px;
    border: 2px solid var(--white);
    border-radius: 50%;
    overflow: hidden;
}

.section-advantages .advantages-item .advantages-item-media.advantages-item-media-group .advantages-item-media-group-icon:not(:first-child) {
    margin-left: -10px;
}

.section-advantages .advantages-item .advantages-item-media.advantages-item-media-group .advantages-item-media-group-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.section-advantages .advantages-list .advantages-item-media.advantages-item-media-group-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.section-advantages .advantages-list .advantages-item-media.advantages-item-media-image {
    max-height: 340px;
    overflow: hidden;
    width: 100%;
    padding-left: 32px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}

.section-advantages .advantages-list .advantages-item-media.advantages-item-media-image img {
    width: auto;
}

.section-advantages .advantages-list .advantages-item-text {
    font-size: 18px;
    letter-spacing: -0.02em;
}

.section-advantages .advantages-item:nth-child(4) .advantages-item-text {
    padding: 0 32px 32px 32px;
}

@media (max-width: 1200px) {
    .section-advantages .advantages-list .advantages-item:not(:nth-child(4)) {
        padding: 24px;
    }

    .section-advantages .advantages-item:nth-child(4) .advantages-item-text {
        padding: 0 24px 24px 24px;
    }
}

@media (max-width: 991px) {
    .section-advantages .advantages-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .section-advantages .advantages-list .advantages-item-media.advantages-item-media-image {
        max-width: 85%;
        align-self: flex-end;
    }
}

@media (max-width: 640px) {
    .section-advantages .advantages-list {
        grid-template-columns: repeat(1, 1fr);
    }

    .section-advantages .advantages-list .advantages-item:nth-child(4) {
        grid-row: auto;
        min-height: 276px;
        position: relative;
        justify-content: flex-end;
    }

    .section-advantages .advantages-list .advantages-item-media.advantages-item-media-image {
        position: absolute;
        top: 0;
        right: 0;
        height: 238px;
    }

    .section-advantages .advantages-list .advantages-item-media.advantages-item-media-image img {
        object-fit: contain;
        height: 100%;
    }

    .section-advantages .advantages-list .advantages-item-text {
        font-size: 16px;
    }

    .section-advantages .advantages-list .advantages-item:not(:nth-child(4)) {
        gap: 24px;
        min-height: auto;
    }
}

/* Advantages */

/* Image Content Breakout */

.section-image_content .section-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 64px;
}

.section-image_content .image-content-media {
    display: flex;
    border-radius: 0px 16px 16px 0px;
    overflow: hidden;
    min-height: 550px;
    max-width: 902px;
    width: 100%;
    min-width: 0px;
    flex-basis: 902px;
}

.section-image_content .image-content-media img {
    width: 100%;
    object-fit: cover;
}

.section-image_content .image-content-text {
    flex-basis: 676px;
    min-width: 1px;
    flex-grow: 1;
    flex-shrink: 0;
}

.image-content-text-content *:last-child {
    margin-bottom: 0px;
}

.image-content-text-content {
    font-size: 18px;
}

.image-content-text-content strong {
    font-size: 22px;
}

@media (max-width: 1400px) {
    .section-image_content .section-content {
        padding-right: 10px;
    }
}

@media (max-width: 1280px) {
    .section-image_content .section-content {
        gap: 32px;
    }

    .section-image_content .image-content-text {
        flex-shrink: 1;
    }

    .section-image_content .image-content-media {
        flex-basis: 50%;
    }
}

@media (max-width: 991px) {
    .section-image_content .section-content {
        flex-direction: column;
        padding: 0 10px;
    }

    .section-image_content .image-content-text {
        flex-basis: auto;
    }

    .section-image_content .image-content-media {
        flex-basis: auto;
        min-height: 300px;
        max-height: 300px;
        max-width: 100%;
        border-radius: 0px;
    }

    .section-image_content .section-content {
        padding: 0;
    }

    .section-image_content .image-content-text {
        padding: 0 10px;
    }
}

@media (max-width: 480px) {
    .section-image_content .image-content-media {
        min-height: 250px;
        max-height: 250px;
    }

    .section-image_content .section-content {
        gap: 24px;
    }

    .image-content-text-content {
        font-size: 16px;
    }

    .image-content-text-content strong {
        font-size: 18px;
    }
}

/* Image Content Breakout */

/* Image Content Simple */

.section-image_content-simple .section-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.section-image_content-simple .section-content.reverse {
    flex-direction: row-reverse;
}

.section-image_content-simple .image-content-simple-media {
    display: flex;
    border-radius: 16px;
    overflow: hidden;
    height: 500px;
}

.section-image_content-simple .image-content-simple-media img {
    width: 100%;
    object-fit: cover;
}

.section-image_content-simple .image-content-simple-text {
    flex-basis: 676px;
    min-width: 1px;
    flex-grow: 1;
    flex-shrink: 0;
}

.section-image_content-simple .image-content-simple-text-content *:last-child {
    margin-bottom: 0px;
}

.section-image_content-simple .image-content-simple-text-content {
    font-size: 18px;
}

.section-image_content-simple .image-content-simple-text-content strong {
    font-size: 22px;
}

@media (max-width: 1400px) {
    .section-image_content-simple .section-content {
        padding-right: 10px;
    }
}

@media (max-width: 1280px) {
    .section-image_content-simple .section-content {
        gap: 32px;
    }

    .section-image_content-simple .image-content-simple-text {
        flex-shrink: 1;
    }

    .section-image_content-simple .image-content-simple-media {
        flex-basis: 50%;
    }
}

@media (max-width: 991px) {
    .section-image_content-simple .container {
        padding: 0;
    }

    .section-image_content-simple .section-content , .section-image_content-simple .section-content.reverse {
        flex-direction: column;
        padding: 0;
    }

    .section-image_content-simple .image-content-simple-text {
        flex-basis: auto;
    }

    .section-image_content-simple .image-content-simple-media {
        flex-basis: auto;
        min-height: 300px;
        max-height: 300px;
        max-width: 100%;
        border-radius: 0px;
        width: 100%;
    }

    .section-image_content-simple .image-content-simple-text {
        padding: 0 10px;
    }
}

@media (max-width: 480px) {
    .section-image_content-simple .image-content-simple-media {
        min-height: 250px;
        max-height: 250px;
    }

    .section-image_content-simple .section-content {
        gap: 24px;
    }

    .section-image_content-simple .image-content-simple-text-content {
        font-size: 16px;
    }

    .section-image_content-simple .image-content-simple-text-content strong {
        font-size: 18px;
    }
}

/* Image Content Simple */

/* Slider Examples */

.section-slider_examples .section-title {
    margin-bottom: 0;
}

.section-slider_examples .slider-examples-slider-wrapper {
    position: relative;
}

.section-slider_examples .slider-examples-slider {
    display: flex;
    gap: 16px;
    overflow: hidden;
}

.section-slider_examples .slider-examples-slider-item {
    max-width: 912px;
    width: 100%;
    min-width: 0px;
    flex-basis: 912px;
    flex-grow: 1;
    flex-shrink: 0;
    max-height: 596px;
    display: flex;
}

.section-slider_examples .swiper-wrapper .slider-examples-slider-item {
    max-width: none;
    flex-basis: auto;
}

.section-slider_examples .slider-examples-slider-item__image {
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-grow: 1;
    position: relative;
}

.section-slider_examples .slider-examples-slider-item__image img {
    width: 100%;
    object-fit: cover;
}

.section-slider_examples .slider-examples-slider-item__caption {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(360deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    color: var(--white);
    padding: 55px 32px 24px 32px;
    border-radius: 16px;
}

.section-slider_examples .slider-examples-slider-item__caption-text {
    font-weight: 600;
    border-left: 3px solid var(--primary);
    padding-left: 8px;
}

.section-slider_examples .slider-examples-slider-controls {
    user-select: none;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    left: 0;
    z-index: 1;
}

.section-slider_examples .slider-examples-slider-controls .container {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.section-slider_examples .slider-examples-slider-controls button {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #000000CC;
    background-image: url(../images/arrow-right-white.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: auto;
    cursor: pointer;
    padding: 0;
    margin: 0;
    border: none;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    transition: all 0.3s ease;
}

.section-slider_examples .slider-examples-slider-controls button.swiper-button-disabled {
    opacity: 0.5;
    cursor: default;
    pointer-events: none;
}

.section-slider_examples .slider-examples-slider-controls button:hover {
    background-image: url(../images/arrow-right-primary.svg);
}

.section-slider_examples .slider-examples-slider-controls-prev {
    transform: rotate(180deg);
}

@media (max-width: 1400px) {
    .section-slider_examples .section-content {
        padding: 0 10px;
    }
}

@media (max-width: 767px) {
    .section-slider_examples .slider-examples-slider-controls button {
        width: 48px;
        height: 48px;
        background-size: 16px 16px;
    }
}

@media (max-width: 575px) {
    .section-slider_examples .slider-examples-slider-item__caption-text {
        font-size: 14px;
    }

    .section-slider_examples .slider-examples-slider-item__caption {
        padding: 40px 24px 16px;
    }
}

/* section Gallery */

.section-gallery {
    padding: 50px 0;
}

.section-gallery .section-header {
    margin-bottom: 32px;
}

.section-gallery .section-title {
    margin: 0;
}

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

.block-gallery__main-wrapper {
    position: relative;
}

.block-gallery__main {
    border-radius: 16px;
    overflow: hidden;
}

.block-gallery__slide {
    position: relative;
}

.block-gallery__image {
    display: flex;
    min-height: 420px;
    max-height: 596px;
    overflow: hidden;
}

.section-gallery .block-gallery__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-gallery__caption {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 55px 32px 24px;
    background: linear-gradient(360deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    color: var(--white);
    border-radius: 16px;
}

.block-gallery__caption-text {
    font-weight: 600;
    border-left: 3px solid var(--primary);
    padding-left: 8px;
}

.block-gallery__controls {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 32px;
    pointer-events: none;
    z-index: 2;
}

.block-gallery__prev,
.block-gallery__next {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #000000CC;
    background-image: url(../images/arrow-right-white.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: auto;
    cursor: pointer;
    padding: 0;
    margin: 0;
    border: none;
    outline: none;
    appearance: none;
    transition: all 0.3s ease;
}

.block-gallery__prev.swiper-button-disabled,
.block-gallery__next.swiper-button-disabled {
    opacity: 0.5;
    cursor: default;
    pointer-events: none;
}

.block-gallery__prev:hover,
.block-gallery__next:hover {
    background-image: url(../images/arrow-right-primary.svg);
}

.block-gallery__prev {
    transform: rotate(180deg);
}

.block-gallery__thumbs {
    min-width: 0;
}

.block-gallery__thumbs-swiper {
    width: 100%;
}

.block-gallery__thumbs-swiper .swiper-slide {
    width: 120px;
    height: 90px;
}

.block-gallery__thumb-inner {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: box-shadow 0.2s ease;
}

.block-gallery__thumb-img {
    display: block;
    width: 100%;
    height: 100%!important;
    object-fit: cover;
    position: relative;
    z-index: -1;
}

.block-gallery__thumbs-swiper .swiper-slide-thumb-active .block-gallery__thumb-inner,
.block-gallery__thumb-inner:hover {
    box-shadow: inset 0 0 0 3px var(--dark_text);
}

@media (max-width: 767px) {
    .block-gallery__image {
        min-height: 240px;
        max-height: 360px;
    }

    .block-gallery__caption {
        padding: 40px 20px 16px;
    }

    .block-gallery__controls {
        padding: 0 12px;
    }

    .block-gallery__prev,
    .block-gallery__next {
        width: 48px;
        height: 48px;
        background-size: 20px 20px;
    }

    .block-gallery__thumbs-swiper .swiper-slide {
        width: 72px;
        height: 52px;
    }
}

@media (max-width: 480px) {
    .block-gallery__image {
        min-height: auto;
        height: 232px;
    }

    .block-gallery__caption-text {
        font-size: 14px;
    }
}

/* Slider Examples */

/* section CTA */

.section-cta.section-cta--catalog-toolbar {
    padding: 0;
    margin: 0 0 16px;
}

.section-cta .cta__content {
    position: relative;
    background-color: var(--dark_text);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 8px;
    z-index: 1;
    overflow: hidden;
}

.section-cta.v1 .cta__content {
    padding: 0 24px;
}

.section-cta.v2 .cta__content {
    padding: 0 32px;
}

.section-cta .cta__media {
    display: flex;
}

.section-cta .cta__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.section-cta.v1 .cta__media {
    height: 110px;
    width: 102px;
}

.section-cta.v2 .cta__media {
    height: 120px;
    width: 136px;
}

.section-cta .cta__description {
    display: contents;
    align-items: center;
}

.section-cta .cta__text {
    color: var(--white);
    max-width: 217px;
    margin: 0;
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.section-cta .cta__arrow {
    width: 53px;
    height: 47px;
    background-image: url(../images/arrow-cta.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center center;
    pointer-events: none;
}

.section-cta .cta__phone a {
    font-size: 22px;
    color: var(--white);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.01em;
    text-wrap: nowrap;
    white-space: nowrap;
}

.section-cta .cta__email a {
    font-size: 18px;
    color: var(--primary);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.01em;
    text-wrap: nowrap;
    white-space: nowrap;
}

.section-cta .cta__phone a:hover,
.section-cta .cta__email a:hover {
    text-decoration: underline;
}

.section-cta .cta__socials {
    display: flex;
    align-items: center;
    gap: 8px;
}

.section-cta .cta__socials a {
    width: 48px;
    height: 48px;
}

.section-cta.v2 .cta__decor {
    position: absolute;
    top: 0;
    right: 20%;
    width: auto;
    height: 100%;
    aspect-ratio: 2/1;
    background-image: url(../images/cta-bg.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: -1;
}

@media (max-width: 1100px) {
    .section-cta.v2 .cta__media {
        display: none;
    }

    .section-cta .cta__content {
        padding: 32px 24px!important;
        flex-wrap: wrap;
    }
}

@media (max-width: 640px) {
    .section-cta.v2 .cta__content {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
    }

    .section-cta .cta__description {
        display: flex;
        justify-content: space-between;
        gap: 16px;
        width: 100%;
    }

    .section-cta.v2 .cta__decor {
        aspect-ratio: auto;
        right: 0;
        width: 172px;
        height: 200px;
        top: auto;
        bottom: 0;
        background-image: url(../images/cta-bg-m.svg);
    }

    .section-cta .cta__arrow {
        width: 61px;
        height: 71px;
        transform: rotate(90deg);
    }
}

/* section CTA */

/* section Catalog */

.section-catalog .section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.section-catalog .section-title {
    margin: 0;
}

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

@media (max-width: 1024px) {
    .section-catalog .section-content .list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .section-catalog .section-content .list {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (max-width: 575px) {
    .section-catalog .section-header .btn_link {
        display: none;
    }
}

/* section Catalog */

/* section Catalog Prices */

.section-catalog-prices {
    margin: 0 0 24px;
}

.section-catalog-prices .catalog-prices-bar {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 24px;
    background-color: var(--dark_text);
    border-radius: 8px;
    overflow: hidden;
}

.section-catalog-prices .catalog-prices-bar__items {
    display: flex;
    align-items: stretch;
    flex: 1 1 auto;
    min-width: 0;
}

.section-catalog-prices .catalog-prices-bar__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex: 1 1 0;
    min-width: 0;
    padding: 24px;
    position: relative;
}

.section-catalog-prices .catalog-prices-bar__item:not(:last-child):after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 48px;
    background-color: var(--line_white);
}

.section-catalog-prices .catalog-prices-bar__item-text {
    color: var(--white);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.section-catalog-prices .catalog-prices-bar__download {
    flex-shrink: 0;
}

.section-catalog-prices .catalog-prices-bar__updated {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    padding: 24px 32px 24px 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.3;
    white-space: nowrap;
}

.section-catalog-prices .catalog-prices-bar__updated-label {
    font-weight: 400;
}

.section-catalog-prices .catalog-prices-bar__updated-date {
    font-weight: 700;
    color: var(--white);
}

@media (max-width: 991px) {
    .section-catalog-prices .catalog-prices-bar {
        flex-direction: column;
        gap: 0;
    }

    .section-catalog-prices .catalog-prices-bar__items {
        flex-direction: column;
        width: 100%;
    }

    .section-catalog-prices .catalog-prices-bar__item:not(:last-child):after {
        top: auto;
        bottom: 0;
        right: 24px;
        left: 24px;
        transform: none;
        width: auto;
        height: 1px;
    }

    .section-catalog-prices .catalog-prices-bar__updated {
        padding: 16px 24px 24px;
        white-space: normal;
    }
}

@media (max-width: 575px) {
    .section-catalog-prices .catalog-prices-bar__item {
        padding: 20px 16px;
    }

    .section-catalog-prices .catalog-prices-bar__updated {
        padding: 16px;
    }
}

/* section Catalog Prices */

.section-catalog-prices--toolbar {
    margin: 0 0 16px;
}

.section-catalog-prices .catalog-prices-bar--toolbar {
    align-items: center;
    gap: 0;
    background-color: #F2F2F3;
    padding: 16px;
    flex-wrap: wrap;
    gap: 12px;
}

.section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__item {
    padding: 0 24px 0 24px;
    gap: 8px;
    flex: 0 0 auto;
}

.section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__item:first-child {
    padding-left: 0;
}

.section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__item:last-child {
    padding-right: 0;
}

.section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__item:not(:last-child):after {
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 16px;
    background-color: #00000026;
}

.section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__item-text {
    color: var(--primary);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__download {
    width: 16px;
    height: 16px;
    border-radius: 0;
    background: transparent;
}

.section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__download:before {
    width: 16px;
    height: 16px;
    background-image: url(../images/download-primary.svg);
}

.section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__download:hover {
    background: transparent;
    opacity: 0.75;
}

.section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__updated {
    padding: 0;
    align-items: baseline;
    gap: 4px;
    font-size: 14px;
    white-space: nowrap;
    color: var(--dark_text);
}

.section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__updated-label,
.section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__updated-date {
    font-weight: 400;
    color: var(--dark_text);
}

@media (max-width: 991px) {
    .section-catalog-prices .catalog-prices-bar--toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__items {
        width: 100%;
    }

    .section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__item {
        flex: 1 1 auto;
        padding: 12px 0 12px;
    }

    .section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__item:first-child {
        padding-top: 0;
    }

    .section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__item:not(:last-child):after {
        top: auto;
        bottom: 0;
        right: auto;
        left: 0;
        transform: none;
        width: 100%;
        height: 1px;
    }

    .section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__item:last-child {
        border-bottom: 1px solid #00000026;
    }

    .section-catalog-prices .catalog-prices-bar--toolbar .catalog-prices-bar__updated {
        margin-left: 0;
        padding-top: 0;
    }
}

/* Card Catalog */

.card-catalog {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background-color: var(--bg);
    border-radius: 8px;
    border-bottom: 3px solid var(--primary);
    overflow: hidden;
}

.card-catalog:nth-child(odd) {
    background-image: url(../images/logo-bg.svg);
    background-size: auto;
    background-position: bottom right;
    background-repeat: no-repeat;
}

.card-catalog-image {
    height: 225px;
}

.card-catalog-image img {
    width: 100%;
    height: 100%!important;
    object-fit: contain;
    object-position: top left;
}

.card-catalog-info {
    padding: 0px 32px 32px 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.card-catalog-info-title {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--dark_text);
}

.card-catalog-info-categories {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.card-catalog-info-categories-item {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: space-between;
    cursor: pointer;
}

.card-catalog-info-categories-item:hover .card-catalog-info-categories-item-text {
    color: var(--primary);
}

.card-catalog-info-categories-item-icon {
    width: 11px;
    height: 11px;
    display: flex;
    position: relative;
    flex-shrink: 0;
}

.card-catalog-info-categories-item-icon:before {
    content: '';
    display: block;
    width: 4px;
    height: 4px;
    background-color: #0000004D;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translate(0%, -50%) rotate(45deg);
    opacity: 1;
    transition: all 0.3s ease;
}

.card-catalog-info-categories-item:hover .card-catalog-info-categories-item-icon:before {
    width: 6px;
    height: 6px;
    transform: translate(0%, -50%) rotate(45deg);
    border-radius: 0;
    background-color: transparent;
    border-top: 1px solid var(--primary);
    border-right: 1px solid var(--primary);
    opacity: 1;
    top: 50%;
    right: -2px;
}

@media (max-width: 575px) {
    .card-catalog-image {
        height: 150px;
    }

    .card-catalog-info {
        padding: 0px 24px 32px 24px;
    }
}

/* Card Catalog */

/* section Services */

.section-services .section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.section-services .section-title {
    margin: 0;
}

.section-services .section-content .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.section-services .section-content_cta {
    display: flex;
    justify-content: flex-end;
    margin-top: 40px;
    text-align: right;
}

@media (max-width: 1280px) {
    .section-services .section-content .list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .section-services .section-content .list {
        grid-template-columns: repeat(1, 1fr);
    }

    .section-services .section-content_cta {
        justify-content: center;
        margin-top: 24px;
    }
}

/* section Services */

/* section Services Slider */

.section-services_slider .section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.section-services_slider .section-header .section-title {
    margin: 0;
}

.section-services_slider .list {
    display: flex;
    gap: 16px;
    overflow: hidden;
}

.section-services_slider .card-service {
    flex-shrink: 0;
    width: calc((100% - 32px) / 3);
    display: flex!important;
    height: auto;
}

@media (min-width: 768px) {
    .section-services_slider .section-header .section-header-slider-controls.init {
        display: flex!important;
    }
}

@media (max-width: 1280px) {
    .section-services_slider .card-service {
        width: calc((100% - 16px) / 2);
    }
}

@media (max-width: 767px) {
    .section-services_slider .card-service {
        width: 100%;
    }
}

/* section Services Slider */

/* Card Service */

.card-service {
    display: flex;
    gap: 16px;
    background-color: var(--bg);
    border-radius: 8px;
    overflow: hidden;
    padding-left: 32px;
}

.card-service-info {
    padding: 24px 0;
    display: flex;
    flex-direction: column;
    gap: 25px;
    justify-content: space-between;
    flex-grow: 1;
}

.card-service-info-title {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--dark_text);
}

.card-service-image {
    flex-basis: 80%;
    min-width: 0;
    overflow: hidden;
    display: flex;
    max-width: 226px;
}

.card-service-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.card-service:hover .btn_circle-arrow {
    background-color: var(--primary);
}

.card-service:hover .btn_circle-arrow:before {
    background-image: url(../images/arrow-right-white.svg);
}

@media (max-width: 480px) {
    .card-service {
        padding-left: 24px;
    }

    .card-service-info {
        justify-content: center;
    }

    .card-service-info .btn_circle-arrow {
        display: none;
    }

    .card-service-image {
        max-width: 130px;
    }
}

/* Card Service */

/* CTA */

.theme-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.theme-cta-manager {
    display: flex;
    gap: 15px;
    align-items: center;
}

.theme-cta-manager-description {
    max-width: 250px;
    color: var(--grey_text);
    letter-spacing: -0.01em;
}

.theme-cta-manager-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.theme-cta-manager-icon:before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    background-color: #2AD34E;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    border: 2px solid var(--white);
}

.theme-cta-manager-icon img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.theme-cta-button {}

@media (max-width: 767px) {
    .theme-cta {
        flex-direction: column;
        gap: 24px;
    }

    .theme-cta-manager {
        flex-direction: column-reverse;
        text-align: center;
        gap: 8px;
    }
}

@media (max-width: 480px) {
    .theme-cta {
        width: 100%;
    }

    .theme-cta-button {
        width: 100%;
    }

    .theme-cta-button > * {
        width: 100%;
    }
}

/* CTA */

/* section About */

.section-about {
    padding-bottom: 0;
}

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

.section-about .about-content {
    max-width: 648px;
    flex-basis: 60%;
    flex-grow: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
}

.section-about .about-content-title {
    font-size: 50px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.02em;
}

.section-about .about-content-title .section-title {
    margin-bottom: 0;
}

.section-about .about-content-undertitle {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.section-about .about-content-text {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--grey_text);
}

.section-about .about-content-actions .btn_icon:before {
    background-image: url(../images/play.svg);
}

.section-about .about-content-choose {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: max-content;
    max-width: 95vw;
    background-color: var(--white);
    margin-top: 64px;
    z-index: 2;
    border-radius: 0px 16px 0px 0px;
}

.section-about .about-content-choose-title {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--dark_text);
    line-height: 1;
    margin-bottom: 0;
}

.section-about .about-content-choose-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}

.section-about .about-content-choose-item {
    display: grid;
    grid-template-columns: minmax(0, 298px) minmax(0, min(380px, 100%));
    padding-bottom: 32px;
    border-bottom: 1px solid var(--line_black);
}

.section-about .about-content-choose-item:nth-last-child(-n+2) {
    border-bottom: none;
    padding-bottom: 0px;
}

.section-about .about-content-choose-item-left {
    width: 100%;
    padding-right: 32px;
    border-right: 1px solid var(--line_black);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.section-about .about-content-choose-item-icon {
    width: 56px;
    height: 56px;
    display: flex;
}

.section-about .about-content-choose-item-title {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--dark_text);
    line-height: 1.2;
}

.section-about .about-content-choose-item-right {
    padding: 20px 32px 0 32px;
    display: flex;
    align-items: flex-end;
}

.section-about .about-content-choose-item-text {
    max-width: 315px;
    color: var(--grey_text);
    letter-spacing: -0.01em;
}

.section-about .about-image {
    flex-grow: 1;
    min-width: 0;
    overflow: hidden;
    display: flex;
    height: 650px;
    border-radius: 16px 0 0px 0px;
    position: relative;
}

.section-about .about-image:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(291.76deg, rgba(37, 36, 45, 0.8) 7.2%, rgba(37, 36, 45, 0) 94.66%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.section-about .about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1400px) {
    .section-about .section-content {
        padding-left: 10px;
    }
}

@media (max-width: 1280px) {
    .section-about .about-content-choose-item-left {
        
    }
}

@media (max-width: 1100px) {

    .section-about .section-content {
        flex-direction: column-reverse;
        padding-left: 0;
    }

    .section-about .about-image {
        height: 400px;
        border-radius: 0;
        width: 100%;
    }

    .section-about .about-content {
        padding: 0 10px;
        max-width: 100%;
        width: 100%;
        flex-basis: auto;
    }

    .section-about .about-content-choose {
        position: relative;
        top: 0;
        left: 0;
        margin-top: 0;
        border-radius: 0;
        width: 100%;
        max-width: 100%;
        padding-top: 24px;
    }
}

@media (max-width: 991px) {
    .section-about .about-content-choose-list {
        grid-template-columns: repeat(1, 1fr);
    }

    .section-about .about-content-choose-item {
        display: flex;
        flex-direction: column;
        border-bottom: none;
        padding-bottom: 0;
        gap: 16px;
    }

    .section-about .about-content-choose-item-left {
        border-right: none;
        padding-right: 0;
        flex-direction: row;
        max-width: 100%;
        align-items: center;
    }

    .section-about .about-content-choose-item-title br {
        display: none;
    }

    .section-about .about-content-choose-item-text {
        max-width: 100%;
    }

    .section-about .about-content-choose-item-right {
        padding: 0;
    }
}

@media (max-width: 767px) {
    .section-about .about-image {
        height: 300px;
    }

    .section-about .section-content {
        gap: 24px;
    }

    .section-about .about-content-undertitle {
        font-size: 18px;
    }

    .section-about .about-content-text {
        font-size: 16px;
    }

    .section-about .about-content-choose-title {
        font-size: 28px;
    }

    .section-about .about-content-choose-item-icon {
        width: 48px;
        height: 48px;
    }

    .section-about .about-content-choose-item-title {
        font-size: 18px;
    }

    .section-about .about-content-choose-list {
        gap: 40px;
    }
}

@media (max-width: 480px) {
    .section-about .about-image {
        height: 250px;
    }

    .section-about .about-content-actions .btn_icon {
        width: 100%;
    }
}

/* section About */

/* section geography */

.section-geography {
    margin-top: -100px;
    overflow: hidden;
}

.section-geography .section-content {
    display: flex;
}

.section-geography .geography-content {
    position: relative;
    flex-grow: 1;
    min-width: 0;
    z-index: 2;
    margin-top: 100px;
}

.section-geography .geography-content-inner {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    max-width: 560px;
    width: max-content;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.section-geography .geography-content-inner .section-title {
    margin-bottom: 0;
}

.section-geography .geography-content-inner .geography-content-text {
    color: var(--grey_text);
    font-size: 18px;
    letter-spacing: -0.01em;
}

.section-geography .geography-content-inner .geography-content-undertitle {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--dark_text);
    line-height: 1.2;
    max-width: 435px;
}

.section-geography .geography-image {
    width: 64%;
    display: flex;
    justify-content: flex-end;
    position: relative;
}

.section-geography .geography-image .pin-map {
    position: absolute;
    width: 40px;
    height: 40px;
    background-image: url(../images/pin-map.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.section-geography .geography-image .pin-map-1 {
    bottom: 30%;
    left: 22%;
}

.section-geography .geography-image .pin-map-2 {
    bottom: 26%;
    left: 24%;
}

.section-geography .geography-image .pin-map-3 {
    bottom: 25.5%;
    left: 26%;
}

.section-geography .geography-image .info-circle {
    position: absolute;
    width: 219px;
    height: 219px;
    background-color: var(--primary);
    border-radius: 50%;
    color: var(--white);
    top: 50%;
    left: 73%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: geography-circle-pulse 3s ease-in-out infinite;
}

.section-geography .geography-image .info-circle-text {
    max-width: 164px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
}

.section-geography .geography-image .info-circle:before {
    content: '';
    width: 305px;
    height: 305px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    background-color: #DC00001A;
    border-radius: 50%;
    z-index: -1;
    animation: geography-circle-pulse-ring 3s ease-in-out infinite;
}

.section-geography .geography-image .info-circle:after {
    content: '';
    width: 367px;
    height: 367px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    background-color: #DC00001A;
    border-radius: 50%;
    z-index: -2;
    animation: geography-circle-pulse-ring 3s ease-in-out infinite;
}

@media (max-width: 1400px) {
    .section-geography .geography-content {
        margin-left: 10px;
    }
}

@media (max-width: 1280px) {
    .section-geography {
        margin-top: 0;
    }
    
    .section-geography .geography-image {
        width: 60%;
        margin-top: 0;
    }

    .section-geography .geography-content {
        margin-top: 0;
    }
}

@media (max-width: 991px) {
    .section-geography .section-content {
        flex-direction: column;
    }

    .section-geography .geography-content-inner {
        position: relative;
        top: 0;
        transform: translateY(0);
        max-width: 100%;
    }

    .section-geography .geography-image {
        width: 100%;
        margin-top: -140px;
    }
}

@media (max-width: 767px) {
    .section-geography .geography-image .info-circle-text {
        font-size: 8px;
    }

    .section-geography .geography-image .info-circle {
        width: 100px;
        height: 100px;
        left: auto;
        right: 0px;
    }

    .section-geography .geography-image .info-circle:before {
        width: 140px;
        height: 140px;
    }

    .section-geography .geography-image .info-circle:after {
        width: 168px;
        height: 168px;
    }

    .section-geography .geography-image .pin-map {
        width: 18px;
        height: 18px;
    }

    .section-geography .geography-image .pin-map-1 {
        left: 27%;
    }

    .section-geography .geography-image .pin-map-2 {
        bottom: 37%;
        left: 29%;
    }

    .section-geography .geography-content {
        margin-left: 0;
        padding: 0 10px;
    }

    .section-geography .geography-image {
        margin-top: -77px;
    }
}

@media (max-width: 480px) {
    .section-geography .geography-image {
        margin-top: -30px;
    }

    .section-geography .geography-content-inner .geography-content-text {
        font-size: 16px;
    }

    .section-geography .geography-content-inner .geography-content-undertitle {
        font-size: 18px;
    }
}

@keyframes geography-circle-pulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
    }

    50% {
        transform: translate(-50%, -50%) scale(1.04);
    }
}

@keyframes geography-circle-pulse-ring {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.35;
    }

    50% {
        transform: translate(-50%, -50%) scale(1.04);
        opacity: 0.55;
    }
}

/* section geography */

/* section Production */

.section-production {
    position: relative;
}

.section-production .production-content-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.section-production .production-content-bg:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(-273.51deg, rgba(37, 36, 45, 0.45) 4.28%, rgba(37, 36, 45, 0.9) 83.17%),linear-gradient(-329.43deg, rgba(0, 0, 0, 0.7) 23.08%, rgba(32, 32, 32, 0) 37.44%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.section-production .production-content-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-production .production-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 122px;
}

.section-production .section-title {
    color: var(--white);
    max-width: 520px;
    margin: 0;
}

.section-production .btn_icon {
    color: var(--white);
    border: 1px solid #FFFFFF4D;
    padding: 0 32px;
}

.section-production .btn_icon:before {
    background-image: url(../images/play.svg);
}

.section-production .section-content {
    display: flex;
    gap: 24px;
    justify-content: space-between;
}

.section-production .production-content-text {
    max-width: 412px;
    display: flex;
    align-items: flex-end;
}

.section-production .production-content-text .text {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--white);
    padding-top: 24px;
    position: relative;
    line-height: 1.2;
}

.section-production .production-content-text .text:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    height: 3px;
    background-color: var(--primary);
}

.section-production .production-content-advantages {
    max-width: 796px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.section-production .production-content-advantages .production-content-advantages-info {
    display: flex;
    flex-direction: column;
    gap: 24px;
    color: var(--white);
}

.section-production .production-content-advantages .production-content-advantages-info-text-main {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--white);
    line-height: 1.2;
}

.section-production .production-content-advantages .production-content-advantages-info-text {
    max-width: 710px;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--white);
}

.section-production .production-content-advantages .production-content-advantages-list {
    display: grid;
    grid-template-columns: 1fr 1fr 288px;
    gap: 16px;
}

.section-production .production-content-advantages .production-content-advantages-item {
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    border: 1px solid var(--primary);
    padding: 24px;
    gap: 50px;
}

.section-production .production-content-advantages .production-content-advantages-item:nth-child(even) {
    background-color: var(--primary);
}

.section-production .production-content-advantages .production-content-advantages-item-num {
    color: var(--white);
    font-size: 60px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.03em;
    flex-shrink: 0;
}

.section-production .production-content-advantages .production-content-advantages-item-text {
    color: var(--white);
    font-weight: 600;
    letter-spacing: -0.01em;
}

@media (max-width: 1280px) {
    .section-production .production-content-advantages .production-content-advantages-list {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (max-width: 1100px) {
    .section-production .section-content {
        flex-direction: column-reverse;
    }
}

@media (max-width: 991px) {
    .section-production .production-header .btn_icon {
        display: none;
    }

    .section-production .production-header {
        margin-bottom: 40px;
    }
}

@media (max-width: 767px) {
    .section-production .production-header {
        margin-bottom: 24px;
    }

    .section-production .production-content-advantages .production-content-advantages-info-text-main {
        font-size: 18px;
    }

    .section-production .production-content-advantages .production-content-advantages-info-text {
        font-size: 16px;
    }

    .section-production .production-content-advantages .production-content-advantages-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .section-production .production-content-advantages .production-content-advantages-item {
        flex-direction: row;
        gap: 24px;
    }

    .section-production .production-content-text .text {
        font-size: 18px;
    }
}

/* section Production */

/* section Request */

.section-request .section-content {
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding: 64px 56px;
    background-color: var(--bg);
    border-radius: 8px;
    border-left: 3px solid var(--primary);
}

.section-request .section-content-text {
    max-width: 470px;
}

.section-request .section-content-text-icon {
    width: 179px;
    height: 111px;
    margin-bottom: 72px;
}

.section-request .section-content-text-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-request .section-content-text-description {
    max-width: 380px;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--grey_text);
}

.section-request .section-content-form {
    max-width: 738px;
    min-width: 480px;
}

@media (max-width: 1200px) {
    .section-request .section-content {
        padding: 48px 32px;
    }
}

@media (max-width: 991px) {
    .section-request .section-content {
        flex-direction: column;
    }

    .section-request .section-content-text-icon {
        width: 143px;
        height: 88px;
        margin-bottom: 24px;
    }

    .section-request .section-title {
        margin-bottom: 16px;
    }
}

@media (max-width: 767px) {

    .section-request .container {
        padding: 0 0px;
    }

    .section-request .section-content {
        border-left: none;
        border-radius: 0;
        padding: 48px 24px;
    }

    .section-request .section-title {
        font-size: 28px;
        margin-bottom: 16px;
    }
    
    .section-request .section-content-text-icon {
        width: 143px;
        height: 88px;
        margin-bottom: 24px;
    }
}

@media (max-width: 575px) {
    .section-request .section-content-form {
        min-width: 100%;
    }
}

/* section Request */

/* section Quote Calculation */

.section-quote-calculation {
    padding: 50px 0;
}

.quote-calculation {
    position: relative;
    display: flex;
    align-items: center;
    gap: 64px;
    padding: 28px 32px;
    background-color: var(--bg);
    border-radius: 8px;
    border-left: 3px solid var(--primary);
    overflow: hidden;
}

.quote-calculation__decor {
    position: absolute;
    top: 50%;
    right: -40px;
    width: 320px;
    height: 332px;
    transform: translateY(-50%);
    background-image: url(../images/logo-bg-2.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.quote-calculation__content {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.quote-calculation__title {
    margin: 0 0 16px;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: var(--dark_text);
}

.quote-calculation__description {
    margin: 0;
    max-width: 593px;
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.quote-calculation__contacts {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 0 1 360px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.quote-calculation__contact {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
}

.quote-calculation__city {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
}

.quote-calculation__city::before {
    content: '';
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    background-image: url(../images/triangle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.quote-calculation__email {
    font-size: 16px;
    line-height: 1.2;
    color: var(--grey_text);
    transition: color 0.2s ease;
}

.quote-calculation__email:hover {
    color: var(--primary);
}

.quote-calculation__arrow {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(180deg);
    z-index: 1;
    width: 72px;
    height: 80px;
    background-image: url(../images/arrow-advs.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    pointer-events: none;
}

@media (max-width: 1199px) {
    .quote-calculation {
        gap: 32px;
        padding: 40px 32px;
    }

    .quote-calculation__contacts {
        flex-basis: 300px;
    }

    .quote-calculation__contact {

    }
}

@media (max-width: 991px) {
    .quote-calculation {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .quote-calculation__contacts {
        width: 100%;
        flex-basis: auto;
    }

    .quote-calculation__arrow {
        display: none;
    }

    .quote-calculation__decor {
        right: -80px;
        opacity: 0.7;
    }
}

@media (max-width: 767px) {
    .section-quote-calculation {
        padding: 32px 0;
    }

    .section-quote-calculation .container {
        padding: 0;
    }

    .quote-calculation {
        border-left: none;
        padding: 24px;
        border-bottom: 3px solid var(--primary);
        gap: 16px;
    }

    .quote-calculation__title {
        font-size: 24px;
    }

    .quote-calculation__contact {

    }

    .quote-calculation__decor {
        display: none;
    }
}

@media (max-width: 360px) {
    .quote-calculation__contact {
        grid-template-columns: 1fr;
        gap: 0px;
    }
}

/* section Content */

.s-content .section-header {
    margin-bottom: 16px;
}

.s-content .section-header h2 {
    font-size: 36px;
    margin-bottom: 0px;
}

.s-content .section-content * {
    font-size: 18px;
}

.s-content .section-content h2 {
    font-size: 36px;
    margin-bottom: 16px;
}

.s-content .section-content ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 24px;
}

.s-content .section-content table {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #0000001A;
    border-radius: 8px;
    overflow: hidden;
    background-color: #fff;
}

.s-content .section-content table td {
    padding: 16px;
    border: 0;
    vertical-align: top;
    text-align: left;
    color: var(--dark_text);
    font-size: 16px;
}

.s-content .section-content table tbody tr:first-child td {
    font-weight: 600;
    background-color: #fff;
    border-bottom: 2px solid #24242B;
}

.s-content .section-content table tbody tr:nth-child(odd) td {
    background-color: #F2F2F3;
}

.s-content .section-content table tbody tr:nth-child(odd):not(:first-child) td {
    /* background-color: #fff; */
}

.s-content .section-content table tbody tr:not(:first-child) td:first-child {
    font-weight: 600;
}

@media (max-width: 767px) {
    .s-content .section-content table td {
        padding: 16px;
        font-size: 16px;
    }

    .s-content .section-content * {
        font-size: 16px;
    }

    .s-content .section-header h2 {
        font-size: 28px;
    }
}

/* section-slider-horizontal */

.section-slider-horizontal .section-content {
    display: flex;
}

.section-slider-horizontal .section-content-slider {
    flex: 1;
}

.section-slider-horizontal .section-content-slider.swiper {
    margin-left: 0px;
    padding-left: 0px;
    padding-right: 0px;
    margin-right: 0px;
}

.section-slider-horizontal .section-content-text {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex-basis: 237px;
    min-width: 0;
    flex-shrink: 0;
}

.section-slider-horizontal .section-content-text-header {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 205px;
    flex: 1;
}

.section-slider-horizontal .section-title {
    margin: 0;
    font-size: 28px;
}

.section-slider-horizontal .section-content-text-description {
    color: var(--grey_text);
}

.section-slider-horizontal .section-content-text-slder-controls {
    display: flex;
    gap: 8px;
}

.section-slider-horizontal .section-content-text-slder-controls button {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 1px solid var(--line_black);
}

.section-slider-horizontal .section-content-text-slder-controls button:before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url(../images/arrow-right-dark.svg);
}

.section-slider-horizontal .section-content-text-slder-controls-prev {
    transform: rotate(180deg);
}

.section-slider-horizontal .section-content-text-slder-controls button.swiper-button-disabled {
    opacity: 0.5;
    cursor: default;
}

.section-slider-horizontal .section-content-text-slder-controls button.swiper-button-lock {
    display: none;
}

@media (max-width: 575px) {
    .section-slider-horizontal .container {
        padding: 0 0px;
    }

    .section-slider-horizontal .section-content {
        flex-direction: column;
    }

    .section-slider-horizontal .section-content-slider.swiper {
        margin-left: 10px;
        overflow: hidden;
    }

    .section-slider-horizontal .section-content-text {
        flex-basis: auto;
        padding: 0 10px;
        margin-bottom: 24px;
    }

    .section-slider-horizontal .section-title {
        font-size: 36px;
    }

    .section-slider-horizontal .section-content-text-header {
        max-width: none;
    }

    .section-slider-horizontal .section-content-text-slder-controls {
        margin-top: 24px;
        padding: 0 10px;
    }
}

/* section-slider-horizontal */

/* section Slider Partners */

.section-slider-partners .slider-partners-item {
    border: 1px solid var(--line_black);
    border-radius: 8px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-align: center;
    align-items: center;
    margin-left: 0px;
}

.section-slider-partners .slider-partners-item__title {
    font-size: 14px;
    font-weight: 600;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line_black);
    width: 100%;
}

.section-slider-partners .slider-partners-item__image {
    height: 150px;
    width: 176px;
}

.section-slider-partners .slider-partners-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-slider-partners .slider-partners-item__description {
    max-width: 193px;
    font-size: 14px;
    color: var(--grey_text);
}

@media (min-width: 576px) {
    .section-slider-partners .swiper-slide + .swiper-slide {
        /* border-left: 0; */
    }
}

/* section Slider Partners */

/* section Slider Documents */

.section-slider-documents .slider-documents-item {
    border: 10px solid #0000000D;
    padding: 15px;
    height: 318px;
    max-height: 318px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.section-slider-documents .card-slider-separator {
    position: absolute;
    width: .5px;
    z-index: 1;
    pointer-events: none;
    border-radius: 12px;
    background: var(--line_black);
}

.section-slider-documents .slider-documents-item__image {
    display: flex;
    height: 100%;
}

.section-slider-documents .slider-documents-item__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 575px) {
    .section-slider-documents .slider-documents-item {
        height: 290px;
    }
}

/* section Slider Documents */

/* section Contacts */

.section-contacts {
    background-color: var(--bg);
    padding: 0;
}

.section-contacts .container-contacts {
    
}

.section-contacts .section-content {
    display: flex;
}

.section-contacts .section-content-text {
    padding: 80px 64px 104px 0;
}

.section-contacts .section-content-text .section-title {
    margin-bottom: 32px;
}

.section-contacts .section-content-text .contacts-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.section-contacts .section-content-text .contacts-list .contacts-item {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.section-contacts .section-content-text .contacts-list .contacts-item .contacts-item-head {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: space-between;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--line_black);
}

.section-contacts .section-content-text .contacts-list .contacts-item .contacts-item-head .contacts-item-head-main {
    display: flex;
    align-items: center;
    gap: 8px;
}

.section-contacts .section-content-text .contacts-list .contacts-item .contacts-item-head .contacts-item-head-main .contacts-item-icon {
    width: 16px;
    height: 16px;
    background-image: url(../images/pin.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.section-contacts .section-content-text .contacts-list .contacts-item .contacts-item-head .contacts-item-head-main .contacts-item-city {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.section-contacts .section-content-text .contacts-list .contacts-item .contacts-item-head .contacts-item-phone {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: var(--primary);
}

.section-contacts .section-content-text .contacts-list .contacts-item .contacts-item-body {}

.section-contacts .section-content-text .contacts-list .contacts-item .contacts-item-body .contacts-item-address {}

.section-contacts .section-content-text .contacts-list .contacts-item .contacts-item-body .contacts-item-time {}

.section-contacts .section-content-map {
    position: relative;
    flex: 1;
    min-height: 560px;
    align-self: stretch;
}

.section-contacts .section-content-map__canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.section-contacts .page-contacts-map-marker {
    position: relative;
    transform: translate(-50%, -100%);
}

.section-contacts .page-contacts-map-marker__icon {
    width: 32px;
    height: 32px;
    background: url('../images/pin-map.svg') center / contain no-repeat;
}

.section-contacts .page-contacts-map-marker__popup {
    display: none;
    position: absolute;
    left: 50%;
    bottom: calc(100% + 12px);
    transform: translateX(-50%);
    min-width: 220px;
    max-width: 280px;
    padding: 16px 36px 16px 16px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    z-index: 2;
}

.section-contacts .page-contacts-map-marker__popup::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -8px;
    width: 16px;
    height: 16px;
    background: #fff;
    transform: translateX(-50%) rotate(45deg);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.06);
}

.section-contacts .page-contacts-map-marker.active .page-contacts-map-marker__popup {
    display: block;
}

.section-contacts .page-contacts-map-marker__popup-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.section-contacts .page-contacts-map-marker__popup-close::before,
.section-contacts .page-contacts-map-marker__popup-close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 2px;
    background: #8a8a8a;
    transform-origin: center;
}

.section-contacts .page-contacts-map-marker__popup-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.section-contacts .page-contacts-map-marker__popup-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.section-contacts .page-contacts-map-marker__popup-close:hover::before,
.section-contacts .page-contacts-map-marker__popup-close:hover::after {
    background: #1a1a1a;
}

.section-contacts .page-contacts-map-marker__popup-content {
    position: relative;
    z-index: 1;
}

.section-contacts .page-contacts-map-marker__popup-address {
    font-size: 14px;
    line-height: 1.4;
    color: var(--dark_text, #1a1a1a);
}

@media (min-width: 1384px) {
    .section-contacts .container-contacts {
        padding-left: calc((100vw - 1384px) / 2);
        margin: 0;
    }
}

@media (max-width: 1400px) {
    .section-contacts .section-content-text {
        padding-left: 10px;
    }
}

@media (max-width: 1180px) {
    .section-contacts .section-content {
        flex-direction: column;
    }

    .section-contacts .section-content-text {
        padding: 48px 10px;
    }
}

@media (max-width: 767px) {
    .section.section-contacts {
        padding-bottom: 0;
    }
}

@media (max-width: 575px) {
    .section-contacts .section-content {
        flex-direction: column;
    }

    .section-contacts .section-content-text .section-title {
        font-size: 36px;
    }

    .section-contacts .section-content-text {
        padding: 24px 10px 48px;
    }

    .section-contacts .section-content-map {
        min-height: 360px;
    }

    .section-contacts .section-content-text .contacts-list .contacts-item .contacts-item-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        border-bottom: none;
        padding-bottom: 0;
    }

    .section-contacts .section-content-text .contacts-list .contacts-item {
        gap: 8px;
    }

    .section-contacts .section-content-text .contacts-list {
        gap: 24px;
    }
}

/* section Contacts */

/* section Page Contacts */

.section-page-contacts .page-contacts-filter {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--line_black);
}

.section-page-contacts .page-contacts-filter [data-hscroll-viewport] {
    gap: 8px;
    padding-bottom: 12px;
}

.section-page-contacts .page-contacts-filter .hscroll-bar {
    bottom: 28px;
}

.section-page-contacts .page-contacts-filter-btn {
    border: 1px solid #DE000080;
    border-radius: 90px;
    padding: 0px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    text-align: center;
    height: 40px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: all 0.3s ease;
}

.section-page-contacts .page-contacts-filter-btn.is-active {
    background-color: var(--dark_text);
    color: var(--white);
    border-color: var(--dark_text);
}

.section-page-contacts .page-contacts-filter-btn:not(.is-active):hover {
    background-color: var(--primary);
    color: var(--white);
    border-color: var(--primary);
}

.section-page-contacts .page-contacts-content {
    display: flex;
    flex-direction: column;
    gap: 64px;
}

.section-page-contacts .page-contacts-filter-item {}

.section-page-contacts .page-contacts-city {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 24px;
    gap: 16px;
}

.section-page-contacts .page-contacts-filter-item.no-managers .page-contacts-city {
    margin-bottom: 0;
}

.section-page-contacts .page-contacts-city-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.section-page-contacts .page-contacts-city-title {
    font-size: 36px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.03em;
}

.section-page-contacts .page-contacts-city-addresses {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.section-page-contacts .page-contacts-city-address {
    display: flex;
    align-items: center;
    gap: 8px;
}

.section-page-contacts .page-contacts-city-address-icon {
    width: 16px;
    height: 16px;
    background-image: url(../images/pin.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.section-page-contacts .page-contacts-city-address-text {
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.section-page-contacts .page-contacts-city-map {
    height: 48px;
    flex-shrink: 0;
}

.section-page-contacts .page-contacts-city-map.is-active {
    background-color: var(--primary);
    color: var(--white);
}

.section-page-contacts .page-contacts-managers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.section-page-contacts .card-manager {
    background-color: var(--bg);
    border-radius: 8px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.section-page-contacts .card-manager-head {
    display: flex;
    align-items: center;
    gap: 16px;
}

.section-page-contacts .card-manager-photo {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
}

.section-page-contacts .card-manager-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-page-contacts .card-manager-info {}

.section-page-contacts .card-manager-role {
    font-size: 14px;
    color: var(--grey_text);
}

.section-page-contacts .card-manager-name {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.section-page-contacts .card-manager-contacts {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.section-page-contacts .card-manager-contacts-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.section-page-contacts .card-manager-contacts-item-icon {
    width: 16px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.section-page-contacts .card-manager-contacts-item-icon.email {
    background-image: url(../images/email.svg);
}

.section-page-contacts .card-manager-contacts-item-icon.phone {
    background-image: url(../images/phone.svg);
}

.section-page-contacts .card-manager-contacts-item-text {
    font-size: 18px;
}

.section-page-contacts .page-contacts-map {
    width: 100%;
    height: 700px;
    margin-top: 80px;
}

.section-page-contacts .page-contacts-map #map {
    width: 100%;
    height: 100%;
}

.section-page-contacts .page-contacts-map-marker {
    position: relative;
    transform: translate(-50%, -100%);
}

.section-page-contacts .page-contacts-map-marker__icon {
    width: 32px;
    height: 32px;
    background: url('../images/pin-map.svg') center / contain no-repeat;
}

.section-page-contacts .page-contacts-map-marker__popup {
    display: none;
    position: absolute;
    left: 50%;
    bottom: calc(100% + 12px);
    transform: translateX(-50%);
    min-width: 220px;
    max-width: 280px;
    padding: 16px 36px 16px 16px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    z-index: 2;
}

.section-page-contacts .page-contacts-map-marker__popup::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -8px;
    width: 16px;
    height: 16px;
    background: #fff;
    transform: translateX(-50%) rotate(45deg);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.06);
}

.section-page-contacts .page-contacts-map-marker.active .page-contacts-map-marker__popup {
    display: block;
}

.section-page-contacts .page-contacts-map-marker__popup-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.section-page-contacts .page-contacts-map-marker__popup-close::before,
.section-page-contacts .page-contacts-map-marker__popup-close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 2px;
    background: #8a8a8a;
    transform-origin: center;
}

.section-page-contacts .page-contacts-map-marker__popup-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.section-page-contacts .page-contacts-map-marker__popup-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.section-page-contacts .page-contacts-map-marker__popup-close:hover::before,
.section-page-contacts .page-contacts-map-marker__popup-close:hover::after {
    background: #1a1a1a;
}

.section-page-contacts .page-contacts-map-marker__popup-content {
    position: relative;
    z-index: 1;
}

.section-page-contacts .page-contacts-map-marker__popup-address {
    font-size: 14px;
    line-height: 1.4;
    color: var(--dark_text, #1a1a1a);
}

@media (max-width: 1024px) {
    .section-page-contacts .page-contacts-city {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .section-page-contacts .page-contacts-managers {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .section-page-contacts .page-contacts-managers {
        grid-template-columns: 1fr;
    }

    .section-page-contacts .page-contacts-city-address-text {
        font-size: 18px;
    }

    .section-page-contacts .page-contacts-city-title {
        font-size: 28px;
    }

    .section-page-contacts .page-contacts-map {
        height: 600px;
        margin-top: 48px;
    }

    .section-page-contacts .page-contacts-content {
        gap: 40px;
    }

    .section-page-contacts .page-contacts-city-info {
        gap: 16px;
    }

    .section-page-contacts .page-contacts-city-addresses {
        gap: 16px;
    }

    .section-page-contacts .page-contacts-city-address-icon {
        display: none;
    }

    .section-page-contacts .page-contacts-filter {
        padding-bottom: 0;
        margin-bottom: 24px;
        border-bottom: none;
    }

    .section-page-contacts .page-contacts-filter .hscroll-bar {
        display: none!important;
    }
}

/* section Page Contacts */

/* page header */

.page-header {
    padding: 35px 0 40px;
}

.page-header--only-breadcrumbs {
    padding-bottom: 0;
}

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

.page-header__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 14px;
    line-height: 1.2;
    color: var(--grey_text);
}

.page-header__breadcrumbs-item {
    color: inherit;
}

.page-header__breadcrumbs-sep {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 5px solid var(--grey_text);
}

.page-header__title {
    margin: 0;
    font-size: 60px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--dark_text);
}

.page-header--product .page-header__title , .page-header--shop .page-header__title , .page-header--catalog .page-header__title {
    font-size: 42px;
}

@media (max-width: 991px) {
    .page-header {
        padding: 24px 0 20px;
    }

    .page-header__title {
        font-size: 36px;
    }

    .page-header--product .page-header__title , .page-header--shop .page-header__title , .page-header--catalog .page-header__title {
        font-size: 36px;
    }
}

/* archive */

.archive-list-wrapper {
    padding: 0px 0 116px;
}

.archive-list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0px 64px;
}

.archive-list-wrapper--service .archive-list {
    gap: 24px 32px;
}

.archive-list .card-slider-separator {
    background-color: var(--line_black);
    width: .5px;
    position: absolute;
    z-index: 1;
    pointer-events: none;
}

.archive-list-pagination {
    display: flex;
    justify-content: flex-end;
    margin-top: 40px;
}

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

.archive-list-pagination .nav-links > *:not(.next):not(.prev) {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 48px;
    height: 48px;
    font-size: 14px;
    font-weight: 700;
}

.archive-list-pagination .nav-links > span {
    background-color: var(--dark_text);
    color: var(--white);
    border-radius: 50%;
}

.archive-list-pagination .nav-links > span.dots {
    width: auto!important;
    background: transparent;
    color: var(--dark_text);
}

.archive-list-pagination .nav-links > *:not(.next):not(.prev):hover {}

.archive-list-pagination .nav-links .next, .archive-list-pagination .nav-links .prev {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 48px;
    padding: 0 16px;
    transition: all 0.3s ease;
}

.archive-list-pagination .nav-links .next span, .archive-list-pagination .nav-links .prev span {
    position: relative;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.archive-list-pagination .nav-links .next span::before, .archive-list-pagination .nav-links .prev span::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #24242B66;
}

.archive-list-pagination .nav-links .next:after, .archive-list-pagination .nav-links .prev:before {
    content: '';
    width: 16px;
    height: 16px;
    background-image: url(../images/arrow-right-dark.svg);
    transition: all 0.3s ease;
}

.archive-list-pagination .nav-links .prev:before {
    transform: rotate(180deg);
}

.archive-list-pagination .nav-links .next:hover:after, .archive-list-pagination .nav-links .prev:hover:before {
    background-image: url(../images/arrow-right.svg);
}

@media (max-width: 1180px) {
    .archive-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 0px 32px;
    }
}

@media (max-width: 767px) {
    .archive-list {
        grid-template-columns: 1fr;
        gap: 16px 0px;
    }

    .archive-list-pagination {
        justify-content: center;
    }
}

/* archive */

/* blog card */

.blog-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 32px 0;
    border-top: 1px solid var(--line_black);
}

.blog-card[data-wrap-row-last="true"] {
    border-bottom: 1px solid var(--line_black);
}

.blog-card-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: space-between;
}

.blog-card-meta:after {
    content: '';
    /* треугольник */
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 6px solid var(--primary);
}

.blog-card-meta-date {
    color: var(--grey_text);
    font-size: 14px;
    letter-spacing: 0.02em;
    font-weight: 700;
}

.blog-card-image {
    height: 250px;
    overflow: hidden;
    border-radius: 8px;
}

.blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-card-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.blog-card-info-title {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.blog-card-info-excerpt {
    color: var(--grey_text);
    letter-spacing: -0.01em;
}

/* blog card */

/* Footer */

footer {
    background-color: var(--dark_text);
    padding: 64px 0 40px;
}

footer .footer__inner {
    display: flex;
    justify-content: space-between;
    gap: 56px;
}

footer .footer__logo {}

footer .footer__menu {
    flex: 1;
    display: flex;
    gap: 32px;
    
}

footer .footer__menu-columns-1 {
    justify-content: flex-start;
}

footer .footer__menu-columns-2 {
    justify-content: flex-end;
    gap: 56px;
}

footer .footer__menu-columns-3 {
    justify-content: space-between;
    gap: 16px;
}

footer .footer__menu-item .menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

footer .footer__menu-item .menu li {}

footer .footer__menu-item .menu li a {
    color: var(--white_60);
    transition: all 0.3s ease;
}

footer .footer__menu-item .menu li a:hover {
    color: var(--primary);
}

footer .footer__menu-item .menu li.link-title a {
    line-height: 1.2;
    letter-spacing: -0.01em;
    font-size: 22px;
    font-weight: 600;
    color: var(--white);
}

footer .footer__menu-item .menu li.link-title a:hover {
    color: var(--primary);
}

footer .footer__menu-item-titles .menu {
    gap: 16px;
}

footer .footer__menu-item-titles .menu li a {
    color: var(--white);
}

footer .footer__contacts {
    flex-basis: 322px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

footer .footer__contacts-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

footer .footer__contacts-item:not(:last-child) {
    border-bottom: 1px solid var(--line_white);
    padding-bottom: 16px;
}

footer .footer__contacts-item-city {
    font-size: 14px;
    letter-spacing: -0.03em;
    color: var(--white_60);
}

footer .footer__contacts-item-phone {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: space-between;
}

footer .footer__contacts-item-phone a.phone {
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: var(--white);
}

footer .footer__contacts-item-price-download {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.03em;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--primary);
}

footer .footer__contacts-item-price-download:after {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url(../images/download-primary.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

footer .footer__bottom {
    color: #FFFFFF66;
    font-size: 14px;
    margin-top: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

footer .footer__bottom .copyright p {
    margin: 0;
}

footer .footer__bottom .links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}

footer .footer__bottom .links a {
    color: #FFFFFF66;
    transition: all 0.3s ease;
}

footer .footer__bottom .links a:hover {
    color: var(--primary);
}

@media (max-width: 767px) {
    footer .footer__inner {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    footer {
        padding: 32px 0 40px;
    }

    footer .footer__logo {
        display: flex;
        justify-content: center;
    }

    footer .footer__menu-columns-2 {
        gap: 8px;
        flex-direction: column;
    }

    footer .footer__menu-item .menu li.link-title a {
        font-size: 18px;
    }

    footer .footer__menu-item-titles .menu {
        gap: 8px;
    }

    footer .footer__inner {
        gap: 32px;
    }

    footer .footer__menu {
        order: 2;
    }

    footer .footer__contacts {
        flex-basis: auto;
        order: 1;
    }
}

/* Footer */

@media (min-width: 1400px) {
    .container {
        padding: 0 0px;
    }
}

@media (max-width: 1280px) {
    h1 {
        font-size: 42px;
    }
}

@media (max-width: 767px) {
    
    h1 {
        font-size: 48px;
    }

    h2 {
        font-size: 42px;
    }

    .section {
        padding: 24px 0;
    }

    .section-header {
        margin-bottom: 32px;
    }
    
    .section-title {
        font-size: 36px;
    }
}

@media (max-width: 575px) {
    .section-title {
        font-size: 28px;
    }

    .page-header--product .page-header__title , .page-header--shop .page-header__title , .page-header--catalog .page-header__title {
        font-size: 28px;
    }
}

@media (max-width: 480px) {
    h1 {
        font-size: 38px;
    }

    h2 {
        font-size: 36px;
    }

    .section-header {
        margin-bottom: 24px;
    }
}

@media (max-width: 360px) {
    h1 {
        font-size: 32px;
    }

    h2 {
        font-size: 28px;
    }

    .section-header {
        margin-bottom: 16px;
    }
}

:root {
    --font_primary: 'TikTok Sans', sans-serif;
    --primary: #DE0000;
    --primary_hover: #FB0404;
    --white: #FFFFFF;
    --bg: #F2F2F3;
    --dark_text: #24242B;
    --grey_text: #24242BB2;
    --line_white: #FFFFFF1A;
    --line_black: #0000001A;
    --input_bg: #EDEDED;
    --white_60: #FFFFFF80;
    --input_stroke: #DADADA;
    --input_text: #21212180;
    --error : #CC463A;
    --bg_error: #FBE8E8;
}