/* === DIN 2014 Family === */

/* --- Regular Weights --- */
@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Regular.woff') format('woff');
    font-weight: 400; /* normal */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Demi.woff') format('woff');
    font-weight: 600; /* Demi-Bold */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Bold.woff') format('woff');
    font-weight: 700; /* bold */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Extra-Bold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Extra-Light.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}


/* --- Italic Weights --- */
@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Italic.woff') format('woff');
    font-weight: 400; /* normal */
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Light-Italic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Demi-Italic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Bold-Italic.woff') format('woff');
    font-weight: 700; /* bold */
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Extra-Bold-Italic.woff') format('woff');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Extra-Light-Italic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

/* --- Condensed Weights --- */
@font-face {
    font-family: 'DIN 2014 Condensed'; 
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Condensed.woff') format('woff');
    font-weight: 400; /* normal */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014 Condensed';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Condensed-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014 Condensed';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Condensed-Demi.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014 Condensed';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Condensed-Bold.woff') format('woff');
    font-weight: 700; /* bold */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014 Condensed';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Condensed-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014 Condensed';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Condensed-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

/* --- Narrow Weights --- */
@font-face {
    font-family: 'DIN 2014 Narrow'; 
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Narrow.woff') format('woff');
    font-weight: 400; /* normal */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014 Narrow';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Narrow-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014 Narrow';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Narrow-Demi.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014 Narrow';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Narrow-Bold.woff') format('woff');
    font-weight: 700; /* bold */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014 Narrow';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Narrow-Extra-Bold.woff') format('woff'); 
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN 2014 Narrow';
    src: url('/assets/template/fonts/DIN2014/DIN-2014_Narrow-Extra-Light.woff') format('woff'); 
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

/* DIN Offc Pro */
@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* DIN Offc Pro Italic */
@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-ThinItalic.woff2') format('woff2');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-LightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-Italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-MediumItalic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-BoldItalic.woff2') format('woff2');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro';
    src: url('/assets/template/fonts/DINOffcPro-BlackItalic.woff2') format('woff2');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* DIN Offc Pro Condensed */
@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondThin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondLight.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondRegular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondMedium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondBold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondBlack.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* DIN Offc Pro Condensed Italic */
@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondThinItalic.woff2') format('woff2');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondLightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondItalic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondMediumItalic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondBoldItalic.woff2') format('woff2');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Offc Pro Cond';
    src: url('/assets/template/fonts/DINOffcPro-CondBlackItalic.woff2') format('woff2');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}


body {
    font-family: 'DIN Offc Pro', sans-serif;
    font-weight: 400;
}


/* Сброс браузерных стилей */


*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Изначально делаем страницу невидимой, чтобы избежать "мелькания" контента до анимации */
body {
    opacity: 0;
    visibility: hidden;
}

html, body {
    height: 100%;
    font-size: 1rem;
}

html {
    scroll-behavior: smooth;
}

svg {
    display: block;
    margin: 0;
    padding: 0;
    outline: none;
    border: none;
}


img, fieldset {
    border: none;
}


hr {
    display: none;
}


button, input {
    cursor: pointer;
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    outline: inherit;
}


h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
}

a {
    text-decoration: none;
    color: inherit;
}

/* Убрать стили автозаполнения инпута */

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
    box-shadow: 0 0 0 1000px white inset !important;
    -webkit-text-fill-color: #000000 !important;
    caret-color: auto; /* Цвет каретки */
}


.breadcrumb_link {
    text-decoration: none;
    color: inherit;
}

.breadcrumb_link:visited,
.breadcrumb_link:hover,
.breadcrumb_link:focus,
.breadcrumb_link:active {
    color: inherit;
}


/* Скрытие элементов для скринридеров */

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}


/* end reset */

/* HEADER START //////////////////////////////////////////////////////////////////////////////////////////////////////*/


.header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 5rem;
    padding: 0 3.125rem;
    width: 100%;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    transition: top 0.2s;
    background: white;
    z-index: 1000;
    border-bottom: 1px solid #ECEFF1;
}

.desktop-menu {
    height: 100%;
    display: flex;
}

.desktop-menu__wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.desktop-menu__logo {
    font-size: 1.125rem;
    font-weight: 700;
}

.desktop-menu__link {
    text-decoration: none;
    color: #000;
    height: 100%;
    display: flex;
    align-items: center;
}

.desktop-menu__navigation {
    flex: 2;
    height: 100%;
    display: flex;
    align-items: center;
}

.desktop-menu__list {
    display: flex;
    list-style: none;
    margin-left: 2.5rem;
    gap: 2.5rem;
    font-size: .875rem;
    height: 100%;
    align-items: center;
}

.desktop-menu__item {
    height: 100%;
    display: flex;
    align-items: center;
}

.desktop-menu__item--dropdown {
    position: relative;
}

.desktop-menu__icon--triangle-down {
    margin-left: 0.25rem;
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    transition: transform 0.3s;
}

.desktop-menu__dropdown {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    border: 1px solid #ECEFF1;
    padding: 0.5rem;
    z-index: 1001;
    transition: opacity 0.3s, visibility 0.3s;
    width: max-content;

}

.desktop-menu__dropdown-list {
    display: flex;
    flex-direction: row;
    list-style: none;
    padding: 0;
    margin: 0;

}

.desktop-menu__dropdown-item {
    padding: 0.75rem 1rem;
}

.desktop-menu__dropdown-link {
    display: block;
    text-decoration: none;
    color: black;
}

.desktop-menu__dropdown-link:hover {
    text-decoration: underline;
}


.desktop-menu__item--dropdown:hover .desktop-menu__dropdown,
.desktop-menu__item--dropdown.active .desktop-menu__dropdown {
    opacity: 1;
    visibility: visible;
}


.desktop-menu__user-block {
    display: flex;
    flex: 1;
    justify-content: flex-end;
    font-size: .875rem;
    gap: 2.5rem;
}

.desktop-menu__user-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #000;
    background: none;
    border: none;
    cursor: pointer;
}

.desktop-menu__link-text {
    font-size: .875rem;
}



/* Поиск */


.search-overlay {
    position: absolute;
    top: 5rem; /* Высота хедера */
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.5s ease, opacity 0.5s ease;
    z-index: 900;
}

.search-overlay.search-show {
    visibility: visible;
    opacity: 1;
}

.search-overlay.search-hidden {
    display: none;
}

.search-container {
    display: flex;
    width: 100%;
    height: 15rem;
    background: white;
    padding: 0 3.125rem;
}

.search-box {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
}


.search-input-wrapper {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ccc;
    position: relative;
    overflow: hidden;
    flex-grow: 1;
    border-radius: 0;
    padding-right: 3rem; /*Отступ справа от кнопки поиска*/
}

.search-input {
    flex-grow: 1;
    padding: 0.5rem 0;
    border: none;
    width: 100%;
    height: 100%;
    
}


/* Стили для кнопок */


.clear-search-button {
    display: none;
    position: absolute;
    right: 3rem;
    height: 2rem;
    width: 2rem;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.search-all-results-button {
    display: none;
    position: absolute;
    right: 0;
    color: #4d80e6;
    height: 2rem;
    width: 2rem;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.clear-search-button .icon {
    width: 14px;
    height: 14px;
}

.search-all-results-button .icon {
    width: 1rem;
    height: 1rem;
    color: #4d80e6;
}

.clear-search-button.visible,
.search-all-results-button.visible {
    display: flex;
}

.clear-search-button::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -.5rem;
    transform: translateY(-50%);
    width: 1px;
    height: 60%;
    background-color: #ECEFF1;
}


.search-label {
    color: lightgray;
    position: absolute;
    left: 0;
    pointer-events: none;
    transition: opacity 0.3s, transform 0.3s;
    opacity: 1;
}

.search-input:focus ~ .search-label,
.search-input:not(:empty) ~ .search-label {
    opacity: 0;
    transform: translateY(-1rem);
}

.search-close {
    position: absolute;
    top: 2.5rem;
    right: 0;
    cursor: pointer;
    font-size: 1.5rem;
    z-index: 2;
    height: 1.5rem;
    width: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    
}

.search-close .icon {
    width: 16px;
    height: 16px;
}

.search-label.label-fade {
    opacity: 0;
}



/* Медиа-запрос для мобильных устройств */


@media (min-width: 1201px) {
    .mobile_menu {
        display: none;
    }

}

@media (max-width: 1200px) {

    .desktop-menu {
        display: none;
    }

    .header {
        padding: 0 1rem;
        height: 3.75rem;
    }


    .mobile_header__wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }


    .mobile_header__logo {
        font-size: 1.125rem;
        font-weight: 700;
    }


    .mobile_menu {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .mobile_header__buttons {
        display: flex;
        font-size: .875rem;
        gap: .5rem;
        margin-left: auto;
    }
    
    .mobile_header__container--logo {
    	margin-left: .5rem;
      margin-top: 2px;
    }
    
    .mobile_menu__mobile-search .icon {
    width: 16px;
    height: 16px;
    }
    
    .mobile_menu__mobile-search {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 2.5rem;
        width: 2.5rem;
    }
    .mobile_menu__mobile-cart {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 2.5rem;
        width: 2.5rem;
    }

    .mobile_menu__main-navigation {
        position: absolute;
        top: 3.75rem;
        left: 0;
        width: 100%;
        height: calc(100vh - 3.75rem); /*  минус высота хедера */
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.5s ease, visibility 0.5s ease;
        background: white;
        overflow-y: auto;
    }


    .hidden {
        display: none;
    }


    .mobile_menu__main-navigation.show {
        opacity: 1;
        visibility: visible;
    }


    .mobile_menu__container {
        padding-left: 1rem;
        padding-right: 1rem;
        margin-top: 1.25rem;
        margin-bottom: 2.5rem;
    }

    .mobile_menu__category {
        margin-top: 1.25rem;
    }


    .mobile_menu__category-items {
        list-style: none;
        padding: 0;
        margin: 0;
    }


    .mobile_menu__category:not(:first-child) {
        border-top: 1px solid #ECEFF1;
    }

    .mobile_menu__item {
        padding: .5rem 0;
    }

    .mobile_menu__category-title {
        margin-top: 1.25rem;
        margin-bottom: 0.5rem;
        font-size: 0.875rem;
        color: #86868B;
    }

    /* Показать мобильное меню при нажатии на бургер */
    .menu-btn:checked ~ .header__container--menu {
        display: block;
    }


    .search-container {
        padding: 0 1rem;
    }

}


/* menu icon */

.header .menu-icon {
    cursor: pointer;
    display: flex;
    float: right;
    width: 40px;
    height: 40px;
    position: relative;
    user-select: none;
    justify-content: center;
    align-items: center;
}

.header .menu-icon .navicon {
    background: #000000;
    display: block;
    height: 1px;
    position: relative;
    transition: background .2s ease-out;
    width: 24px;
}

.header .menu-icon .navicon:before,
.header .menu-icon .navicon:after {
    background: #000000;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transition: all .2s ease-out;
    width: 100%;
}

.header .menu-icon .navicon:before {
    top: 5px;
}

.header .menu-icon .navicon:after {
    top: -5px;
}

/* menu btn */

.header .menu-btn {
    display: none;
}


.header .menu-btn:checked ~ .menu-icon .navicon {
    background: transparent;
}

.header .menu-btn:checked ~ .menu-icon .navicon:before {
    transform: rotate(-45deg);
}

.header .menu-btn:checked ~ .menu-icon .navicon:after {
    transform: rotate(45deg);
}

.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
    top: 0;
}


/* HEADER END */

/* FOOTER START //////////////////////////////////////////////////////////////////////////////////////////////////////*/


.content {
    flex: 1;
}

.footer {
    background-color: #000000;
    width: 100%;
    padding: 2.5rem 3.125rem;
    box-sizing: border-box;
}

.footer__container {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    font-size: .875rem;
}

.footer__grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 32px;
    align-items: start;
}

.footer__about {
    grid-column: 1 / span 2;
}

.footer__about-content p {
    color: #AFAFB0;
}

.footer__information {
    grid-column: 6 / span 1;
}

.footer__connect {
    grid-column: 7 / span 1;
}

.footer__legal {
    grid-column: 8 / span 1;
}

.footer__heading {
    color: #FFFFFF;
    font-size: .875rem;
    font-weight: 400;
    margin-bottom: 1rem;
}

.footer__links,
.footer__social,
.footer__policies {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.footer__link,
.footer__social-link,
.footer__policy-link {
    color: #AFAFB0;
    text-decoration: none;
    opacity: 1;
    transition: color 0.3s ease-in-out;
    font-size: .875rem;
}

.footer__link:hover,
.footer__social-link:hover,
.footer__policy-link:hover {
    color: #ffffff;
}

.footer__copyright {
    grid-column: 1 / -1;
    color: #AFAFB0;
    text-decoration: none;
    margin-top: 2rem;
    font-size: .75rem;
}

.footer__company-link {
    color: #AFAFB0;
    text-decoration: none;
    transition: color 0.3s ease-in-out;
}

.footer__company-link:hover {
    color: #ffffff;
}

#year {
    color: #AFAFB0;
}


/* Медиазапросы */

@media (max-width: 1200px) {
    .footer {
        padding: 2.5rem 1rem;
    }

    .footer__grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .footer__about {
        grid-column: 1 / span 2;
    }

    .footer__information {
        grid-column: 1 / span 2;
    }

    .footer__connect {
        grid-column: 3;
    }

    .footer__legal {
        grid-column: 4;
    }
   
}

@media (max-width: 768px) {
    .footer__grid {
        grid-template-columns: 1fr;
    }

    .footer__about,
    .footer__information,
    .footer__connect,
    .footer__legal {
        grid-column: 1;
        text-align: left;
    }
    .footer__copyright{
        text-align: left;
    }
}



/* FOOTER END */

/* START BACK TO TOP BUTTON //////////////////////////////////////////////////////////////////////////////////////////*/


#backToTop {
    position: fixed;
    bottom: 5rem;
    right: 20px;
    width: 50px;
    height: 50px;
    background-color: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

#backToTop .btt-icon-container {
    width: 2rem;
    height: 2rem;
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#backToTop .btt-icon-container svg {
    width: 16px;
    height: 16px;
}

#backToTop.show {
    opacity: 1;
}

/* END BACK TO TOP BUTTON */


/* BREADCRUMBS  START///////////////////////////////////////////////////////////////////////////////////////////////////*/




.breadcrumbs {
    display: flex;
    align-items: center;
    font-size: .875rem;
    gap: .25rem;
}

.breadcrumbs__list li::before,
.breadcrumbs__list li::marker {
    content: '' !important;
    display: none !important;
}
.breadcrumbs__list,
.breadcrumbs__list li {
    list-style-type: none !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


.breadcrumb_item {
    display: flex;
    align-items: center;
}


.breadcrumb_back-arrow {
    width: 20px;
    height: 20px;
    fill: #000; /* Цвет заливки SVG */
}


.breadcrumb_separator {
    color: #86868B;
}

.breadcrumb_separator::marker {
    content: none;
    display: none; 
}

ul {
  list-style-type: none;
}

li {
  list-style-type: none;
}


/* START CATALOG /////////////////////////////////////////////////////////////////////////////////////////////////////*/

.wrap {
    width: calc(100% - 3.125rem);
    flex: 1 1 auto;
    max-width: 1536px;
    margin: 7.5rem auto 20rem auto;
    min-height: 100vh;
}

.heading {
    margin-bottom: 20px;
}


.heading__info {
    text-align: left;
    margin-bottom: 2.5rem;
    margin-top: 2.5rem;
}

.heading__title {
    font-size: 1.75rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
    text-transform: none;
}

.heading__count {
    font-size: 0.875rem;
    font-weight: normal;
    color: #86868b;
    margin-left: 0.5rem;
}

.heading__description {
    font-size: 1rem;
    color: #86868b;
}

/* Фильтр */

.heading__filter {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}


/* Сетка товаров */



.grid__content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .5rem 2rem;
    margin: 0 auto;
}

.product-card {
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

.product-card__image {
    aspect-ratio: 3 / 2;
    display: block;
}

.product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.product-card__info {
    padding: .75rem 0;
    display: grid;
    grid-row-gap: .25rem;
    min-height: 3.5em;
    line-height: 1;
}

.product-card__title {
	  font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block; /* или inline-block */
    width: 100%;
}

.product-card__price {
	 font-size: .875rem;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 5rem;
    gap: .25rem;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 5rem;
    gap: .25rem;
}

.pagination__arrow,
.pagination__ellipsis,
.pagination__page {
    background: none;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    font-size: 0.875rem;
    padding: 0.5rem;
    min-width: 32px;
    min-height: 32px;
}

.pagination__arrow {
    color: #000000;
}

.pagination__arrow:disabled {
    cursor: default;
}

.pagination__arrow svg {
    width: 1rem;
    height: 1rem;
    display: block;
}

.pagination__page {
    color: #000000;
}

.pagination__page:hover {
    border-bottom: 1px solid #000000;
}

.pagination__page--active {
    border-bottom: 1px solid #000000;
}

.pagination__ellipsis {
    color: #86868b;
    cursor: default;
}


/* Медиа-запросы */

@media (max-width: 1200px) {
    .wrap {
        width: calc(100% - 2rem);
        margin: 7.5rem 1rem;
    }

    .grid__content {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .grid__content {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .grid__content {
        grid-template-columns: 1fr;
    }
}

/* END CATALOG */


/* START PRODUCT PAGE ////////////////////////////////////////////////////////////////////////////////////////////////*/

/* Слайдер */

.swiper-container {
    position: relative;
    max-width: 100%;
    overflow: hidden;
    height: auto;
}

.swiper-wrapper {
    display: flex;
    transition: transform 0.3s ease;
}

.swiper-slide {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 3/2;
    overflow: hidden;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: auto !important;
    object-fit: cover; 
    border-radius: 2px;
}

.swiper-pagination {
    position: absolute;
    flex-direction: row;
    left: 50%;
    bottom: 1rem;
    transform: translateX(-50%);
    text-align: center;
    transition: 0.5s opacity;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    opacity: 0;
}

.swiper-container:hover .swiper-pagination {
    opacity: 1;
    transition: opacity 0.5s ease;
}

.swiper-pagination-bullet {
    display: flex;
    width: 0.25rem;
    height: 0.25rem;
    background-color: #ECEFF1;
    border-radius: 32px;
}

.swiper-pagination-bullet-active {
    display: flex;
    width: .75rem;
    height: .75rem;
    background-color: transparent;
    border: 1px solid #ECEFF1;
    border-radius: 32px;
}

.thumbs-swiper {
    margin-top: 0.5rem;
    max-width: 100%;
    overflow: hidden;
}

.thumbs-swiper .swiper-slide {
    aspect-ratio: 3/2;
    flex-shrink: 0;
    max-width: 120px;
    cursor: pointer;
    overflow: hidden;
}

.thumbs-swiper .swiper-slide picture {
    display: block;
    width: 100%;
    height: 100%;
}

.thumbs-swiper .swiper-slide img { 
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumbs-swiper .swiper-slide-thumb-active {
    border: 1px solid #4D80E6;
}

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

.swiper-button-container {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transform: translateY(-50%);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.swiper-button-prev,
.swiper-button-next {
    pointer-events: all;
    background-color: rgba(255, 255, 255, 0.7);
    color: black;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.swiper-button-prev svg,
.swiper-button-next svg {
    display: block;
    width: 1rem;
    height: 1rem;
    fill: black;
    transition: fill 0.3s ease;
}

.swiper-button-prev {
    margin-left: 1.25rem;
}

.swiper-button-next {
    margin-right: 1.25rem;
}

.swiper-container.main-swiper:hover .swiper-button-container {
    opacity: 1;
    pointer-events: auto;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
    background-color: rgba(255, 255, 255, 1);
}







/* Содержимое страницы */

.product {
    max-width: 1144px;
    margin: 0 auto;
}

.product__title-wrapper {
    max-width: calc((100% - 32px) * (2/3)); 
}

.product__title {
    font-size: 1.25rem;
    font-weight: 400;
    margin-top: 2.5rem;
}


.product__content {
    margin-top: 1.25rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    align-items: flex-start;
}

.product__gallery {
    grid-column: 1 / 3;
    min-width: 0;
}

.product__info {
    grid-column: 3;
    min-width: 0;
}

.product__licenses-fieldset {
    border: 1px solid #ECEFF1;
    background: white;
}

.product__licenses-title {
    font-size: .875rem;
    margin-bottom: .5rem;
}

.product__licenses-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: .875rem;
}


.product__licenses-item {
    display: flex;
    align-items: center;
    padding: 0 .75rem;
    height: 2.5rem;
    cursor: pointer;
}

.product__licenses-input-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: .25rem;
    
}

.product__licenses-input {
    margin-bottom: 2px;
}

.product__licenses-divider {
    height: 1px;
    background-color: #ECEFF1;
    margin: 0 .75rem;
}

.product__licenses-label {
    display: flex;
    align-items: center;
    width: 100%;
}

.product__button {
    margin-top: 1.25rem;
    height: 2.5rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000000;
    color: white;
    border: none;
    padding: 0 1.25rem;
    cursor: pointer;
    text-align: center;
}

.product__button:hover {
    background-color: #2E2930;
}

/* Список спецификаций */

.product__specs {
    margin-top: 2.5rem;
}

.product__specs-title {
    font-size: .875rem;
    margin-bottom: .5rem;
}

.product__specs-list {
    border: 1px solid #ECEFF1;
    font-size: .875rem;
    background: white;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.product__specs-item {
    display: flex;
    align-items: center;
    padding: 0 .75rem;
    height: 2.5rem;
    justify-content: space-between;
}

.product__specs-value {
    color: #86868b;
    margin: 0;
}

.product__specs-divider {
    height: 1px;
    background-color: #ECEFF1;
    margin: 0 0.75rem;
}


.product__actions {
    margin-top: 1.25rem;
}

.product__description {
    margin-top: 2.5rem;
}

.product__description-title {
    font-size: .875rem;
    margin-bottom: .5rem;
}


.product__description-text {
    font-size: .875rem;
    margin-bottom: .5rem;
}


/* Уведомление о защите превью*/

.product__preview-notice {
    border: 1px solid #E56B5D;
    font-size: .875rem;
    margin-top: 1.25rem;
    padding: .75rem;
    display: flex;
    flex-direction: column;
    border-radius: 4px;
}

.product__preview-notice-title {
	font-size: .925rem;
	font-weight: 500;
	padding-bottom: .25rem;

}

.product__preview-notice-text {

}

.product__description-text p {
}

.product__description-text .product-multiformat {
  margin-top: 1.25rem;
}

/* Блок: Связанные дизайны */

.related-designs {
   margin-top: 2.5rem;
}

.related-designs__title {
    font-size: 1.25rem;
    margin-bottom: 1.25rem;
}

.related-designs__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem 2rem;
    margin: 0 auto;
}


/* Mobile */


@media (max-width: 900px) {
    .product__content {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .product__title-wrapper {
    max-width: 100%; 
    }
    
    .product__gallery {
        grid-column: 1; 
    }
    
    .product__info {
        grid-column: 1;
        margin-top: 2.5rem;
    }
    
    .related-designs__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    
    .thumbs-swiper .swiper-slide {
        max-width: 80px;
    }
    
    .product-page-swiper-button-prev,
    .product-page-swiper-button-next {
        display: none;
    }

    .grid__content {
        grid-template-columns: 1fr;
    }
    
    .related-designs__grid {
        grid-template-columns: 1fr;
    }
}



/* END PRODUCT PAGE */



/* START CART PAGE ///////////////////////////////////////////////////////////////////////////////////////////////////*/


/* Заголовок страницы */

.cart {
    max-width: 1144px;
    margin: 0 auto;
}

.heading__info--cart {
    display: flex;
    align-items: baseline;
}

.heading__cart-info {
    margin-left: 1rem;
        font-size: .875rem;
}
.heading__cart-items {
}
.heading__cart-total {
}

.cart-discount-badge {
    display: inline-block;
    margin-left: .25rem;
    color: #FF4E45;

}

.cart__content {
    margin-top: 1.25rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    align-items: flex-start
}

/* Основной контент корзины */

.cart__items {
    grid-column: 1 / 3;
    min-width: 0;
}
.cart__items-list {
    width: 100%;
    list-style: none;
    
}


/* Шкала Скидок */

.discount-progress {
    margin-bottom: 2.5rem;
    display: grid;
    grid-column: 1 / 3;
}

.discount-progress__header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 0.75rem;
    font-size: .875rem;
}

.discount-progress__message {
}

.discount-progress__milestone {
    color: #86868b; 
    font-size: .875rem;
}

.discount-progress__bar {
    width: 100%;
    height: 4px;
    background-color: #F5F5F5; 
    border-radius: 4px;
    overflow: hidden; 
}

.discount-progress__fill {
    height: 100%;
    background-color: #E56B5D; 
    border-radius: 4px;
    transition: width 0.4s ease-in-out; 
}



/* Карточка товара */
.cart-item {
    display: flex;
    padding: 1.25rem 0;
    border-bottom: 1px solid #ECEFF1;
    gap: 1rem;
    align-items: flex-start; 
}

/* Блок изображения */
.cart-item__image-wrapper {
    flex-shrink: 0;
    flex-basis: 15%;
    aspect-ratio: 3 / 2; 
    border-radius: 2px;
}

.cart-item__image-wrapper img {
	display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Блок информации */
.cart-item__info {
    flex-grow: 1; 
    display: flex;
    flex-direction: column; 
    min-height: 100%; 
}

.cart-item__title {
	font-size: .925rem;
	font-weight: 500;
}

.cart-item__License-title {
	margin-top: .25rem;
    font-size: .8125rem;
    color: #86868b;
    font-weight: 300;
}

.cart-item__license_container {
    display: flex;
    justify-content: space-between;
    align-items: center; 
    font-size: .925rem;
}


.cart-item__license::first-letter {
    text-transform: uppercase;
}


.cart-item__new-price {
    font-size: .875rem;
}

.cart-item__old-price {
    font-size: .875rem;
    color: #86868b;
    text-decoration: line-through;
}

.cart-item__actions {
	margin-top: 2.5rem;
	display: flex;
    align-items: baseline;
    gap: .5rem;
}

.cart-item__remove {
	font-size: .875rem;
	color: #4D80E6;
    text-decoration: underline;
}


/* Раздел оформления заказа */

.cart__checkout form.ms2_form#msOrder {
    margin-top: 0;
}

.cart__checkout {
    grid-column: 3;
    min-width: 0;
}
.checkout__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.checkout__title {
    font-size: 1.125rem;
    font-weight: 400;
}

.checkout__login-link {
    text-decoration: none;
    color: #4D80E6;
    font-size: .875rem;
}

.form__group-hint--checkout {
    display: block;
    font-size: 0.875rem;
    color: #86868b;
    margin-top: 0.5rem;
}

.checkout__summary{
    margin-top: 2.5rem;
}

.checkout__button {
    height: 2.75rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000000;
    color: white;
    border: none;
    padding: 0 1.25rem;
    cursor: pointer;
    text-align: center;
    margin-top: 1.25rem;
}

.checkout__button:hover {
    background-color: #2E2930;
}

.checkout__button:disabled {
    background-color: #e0e0e0;
    cursor: not-allowed;
    color: #9e9e9e;
}

.checkout__total {
    margin-top: 1.25rem;
    border: 1px solid #ECEFF1;
    font-size: .875rem;
    background: white;
    display: flex;
    flex-direction: column;
    border-radius: 2px;
}

.checkout__summary-item {
    display: flex;
    align-items: center;
    padding: 0 .75rem;
    height: 2.5rem;
    justify-content: space-between;
}

.checkout__summary-divider {
    height: 1px;
    background-color: #ECEFF1;
    margin: 0 0.75rem;
}

.checkout__summary-item--total {
    font-weight: 500;
}

.checkout__payment-notice {
    margin-top: 1rem;
    font-size: 0.875rem;
    color: #86868b;
}

.checkout__terms {
    font-size: 0.875rem;
    margin-top: 1rem;
}

.checkout__terms-link {
    text-decoration: underline;
}

.checkout__payment-icons {
}

.checkout__payment-icon {
}


/* Mobile */



@media (max-width: 900px) {
    
    .cart__content {
        grid-template-columns: 1fr;
        gap: unset;
    }
    
    .cart-item__image-wrapper {
    flex-basis: 20%;
}
    
    .cart__checkout {
        margin-top: 2.5rem;
        grid-column: 1;
    }
}



/* END CART PAGE */


/* START AUTHENTICATION PAGE /////////////////////////////////////////////////////////////////////////////////////////*/

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active  {
    -webkit-box-shadow: 0 0 0 30px #FFFFFF inset !important;
}

.wrap--authentication {
    display: flex;
    justify-content: center;
}


/* Контейнер для авторизации */

.auth {
    max-width: 360px;
    width: 100%;
    box-sizing: border-box;
    background-color: #ffffff;
}

.heading--auth {
    margin-bottom: 0;
}

.heading__info-auth {
    margin-bottom: 0;
}

.auth-tabs {
    display: flex;
    margin-bottom: 1.25rem;
    gap: 1rem;
}

.auth-tabs__button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px 0;
    color: #86868b;
}

.auth-tabs__button--active {
    color: black;
}

.button__content--auth {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.auth-tabs__button .button__icon {
    display: inline-block;
}

.auth-forms__content--active {
    display: block;
}

.form__group {
    margin-bottom: .5rem;
}


/* Ошибки формы */

.form__error {
    color: red; 
    font-size: .875em; 
    display: block; 
    margin: 0;
    padding: 0;
}

.form__error:empty {
    display: none;
}


/* Контейнер для ошибок */
.form__errors {
    margin-top: 0; 
    min-height: 1px; 
}


.form__errors:not(:empty) {
     margin-top: .5rem; 
}


/* Инпут */
.form__input {
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    font-size: .9375rem;
    padding: 0 .75rem;
    border: 1px solid #ECEFF1;
    border-radius: 2px;
}

.form__input:focus {
    outline: none;
    border-color: #000000;
}


.form__label {
    display: block;
    font-size: .875rem;
    margin-bottom: .5rem;
    color: #86868b;
}


.auth-reset {
    margin-top: 2.5rem;
    color: #86868b;
}


/* Кнопка */
.form__button {
    margin-top: 1.25rem;
    height: 44px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000000;
    color: white;
    border: none;
    padding: 0 1rem;
    cursor: pointer;
    text-align: center;
    font-size: .9375rem;
    border-radius: 2px;
}

.form__button:hover {
    background-color: #2E2930;
}

.auth-hidden {
    display: none;
}


@media (max-width: 768px) {
    .auth {
        width: 100%;
        max-width: unset;
    }
}


/* END AUTHENTICATION PAGE */


/* START ACCOUNT PAGE ////////////////////////////////////////////////////////////////////////////////////////////////*/

/* Основной контейнер */

.account {
    max-width: 1144px;
    margin: 0 auto;
}

/* Блок с информацией о пользователе в контексте аккаунта */

.account__user {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
}

.account__user-info {
    display: inline-flex;
    flex-direction: column;
    margin-top: 2.5rem;
}

.account__user-date {
    font-size: 0.875rem;
    color: #86868b;
}

.account__logout-btn {
    height: 2rem;
    width: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.account__logout-icon {
    width: 16px;
    height: 16px;
    color: #4D80E6;
}

/* Содержимое страницы */

.account__content {
    margin-top: 1.25rem;
    display: flex;
    gap: 32px;
    align-items: baseline;
}


/* Меню Навигации */

.account__nav {
    flex: 1 1 360px;
    max-width: 360px;
    width: 100%;
}

.account-menu__list {
    list-style: none;
}

.account-menu__item {
    display: flex;
    align-items: center;
    font-size: 0.9375rem;
    width: 100%;
    height: 40px;
    box-sizing: border-box;
    cursor: pointer;
    border-left: 1px solid #ECEFF1;
    padding: 0 1rem;
    margin: .125rem 0;
}


.account-menu__item[aria-selected="true"] {
    border-left: 1px solid #4D80E6;
}

.account-menu__item[aria-selected="false"] {
    color: #86868b;
}

.account-menu__link {
    text-decoration: none;
    color: inherit;
    display: block;
    width: 100%;
}

/* Содержимое Табов */

.account__content-area {
    flex: 1 1;
}
.account-content-panel__title {
    font-size: 1.25rem;
    font-weight: 400;
    margin-bottom: 2.5rem
}


/* Стили для мобильного дропдауна */

.account-menu__dropdown-toggle {
    display: none;
    width: 100%;
    background-color: transparent;
    border: none;
    height: 48px;
    text-align: left;
    cursor: pointer;
    font-size: 0.9375rem;
    position: relative;
}

.account-menu__icon--triangle-down {
    height: 12px;
    width: 12px;
    transition: transform 0.3s ease;
}

.account-menu__list--open .account-menu__icon--triangle-down {
    transform: rotate(180deg);
}


/* Блок Overview */

.account-dashboard__section-title {
	font-size: 1.125rem;
    font-weight: 400;
    padding-bottom: 1.25rem;
}

/* Dashboard wrapper */
.account-dashboard {}

/* Список и элементы */
.account-dashboard__list {
	padding-bottom: 2.5rem;
}
.account-dashboard__item {}

/* Лейблы и значения */
.account-dashboard__label {}
.account-dashboard__value {}

/* Пустой блок (нет заказов) */
.account-dashboard__empty {}



/* Блок Saved Designs */

.saved-designs_empty {
	margin-top: 2.5rem;
	color: #86868b;
}


/* Блок Order history */

.account-order {
    padding: .5rem .5rem 1.25rem;
    margin-bottom: 1.25rem;
    border: 1px solid #ECEFF1;
    border-radius: 4px;
}

.account-order__summary-info {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.account-order__details-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .5rem;
    font-size: .9375rem;
}

.account-order__summary-info {
    margin-bottom: .25rem;
}

.account-order__summary-order {
    font-weight: 400;
}

.account-order__summary-date {
    font-size: .875rem;
}

.account-order__details-status {
    color: #38A169;
    font-size: .875rem;
}


/* "Not Paid" (ID = 1) */
.account-order__details-status.status-not-paid {
  color: #FF4E45;
}

/* "Paid" (ID = 2) */
.account-order__details-status.status-paid {
  color: #38A169;
}

.account-order__divider {
    height: 1px;
    background-color: #ECEFF1;
}

.account-order__details-total {
    margin-right: .5rem;
}

.account-order__details-items {
    margin-right: .5rem;
    color: #86868b;
}

.account-order__details-status {
    margin-left: auto;
}

.account-order__items-list {
}

.account-order__item {
    display: flex;
    margin-top: 1.25rem;
    flex-direction: column;
}

.account-order__item-main-row {
    display: flex;
    gap: 1.25rem; 
}

.account-order__item-img-wrap {
    flex: 0 0 120px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.account-order__item-image {
    object-fit: contain;
    aspect-ratio: 3 / 2;
    max-width: 120px;
}

.account-order__item-info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.account-order__item-title{
	font-weight: 400;
}
.account-order__item-price {
	margin-top: auto;
}

.account-order__item-license {
    color: #86868b;
    font-size: .875rem;
    margin-top: .125rem;
}


.account-order__item-price-actions-wrapper {
    display: flex;
    justify-content: space-between; 
    align-items: center; 
    margin-top: auto; 
}


.account-order__item-actions {
    margin-top: 1.25rem;
    display: flex;
    align-self: flex-end;
    font-size: .875rem;
    color: #FF4E45;
}

.account-order__item-download {
   color: #4D80E6;
   font-size: .875rem;
   text-decoration: underline;
    
}

.account-order__item-download-icon {
    width: 16px;
    height: 16px;
    color: #4D80E6;
}


.account-order__items-list .account-order__item {
    position: relative; 
}

.account-order__items-list .account-order__item:not(:last-child)::after {
    content: ""; 
    display: block; 
    width: 100%; 
    height: 1px; 
    background-color: #ECEFF1; 
    margin-top: 1.25rem; 
}


/* Блок Account Settings */

.form--account-settings {
    width: 100%;
}

.form__input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.form__password-toggle {
    position: absolute;
    right: .75rem;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    height: 2rem;
    width: 2rem;
    justify-content: center;
    align-items: center;
}

.form__password-toggle svg {
    width: 16px;
    height: 16px;
}

.account-settings__section {
	margin-top: 2.5rem;
	padding-bottom: 2.5rem;
}

.account-settings__section__title {
	font-size: 1.125rem;
  font-weight: 400;
  padding-bottom: 1.25rem;
}


/* Карточка Избранного*/

.favorites-list {
    list-style: none;
}

.favorite-item {
    display: flex;
    padding: 1.25rem 0;
    border-bottom: 1px solid #ECEFF1;
    gap: 1.25rem;
}

.favorite-item__image-wrapper {
    flex: 0 0 120px;
    max-width: 120px;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.favorite-item__image {
    object-fit: cover;
    aspect-ratio: 3 / 2;
}

.favorite-item__content {
    display: flex;
    flex-direction: column; 
    flex-grow: 1;
    min-width: 0;
}

.favorite-item__title {
    font-weight: 400;
}

.favorite-item__details {
    display: flex;
    justify-content: space-between; 
    align-items: flex-end; 
    margin-top: .5rem;
}

.favorite-item__license-group {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.favorite-item__license-label {
    font-size: 0.85em;
    color: #86868b;
}

.favorite-item__price {
  	display: flex;
    align-items: center;
    height: 2.5rem;
}

.favorite-item__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 1.25rem;
    gap: 1rem;
}

.favorite-item__add-button {
    font-size: .875rem;
    color: #4D80E6;
     text-decoration: underline;
}

.custom-select {
    position: relative;
    display: inline-block;
}

.custom-select__trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-width: 262px;
    min-height: 40px;
    border: 1px solid #ECEFF1;
    background-color: #fff;
    text-align: left;
    font-size: .875em;
    border-radius: 2px;
    padding: 0 .5rem;
}

.custom-select__trigger:focus {
    outline: none;
}

.custom-select__selected-value {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin-right: 8px;
}

.custom-select__icon--dropdown {
    transition: transform 0.2s ease;
}

.custom-select__icon--dropdown.is-open {
    transform: rotate(180deg);
}

.custom-select__options {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background-color: #fff;
    border: 1px solid #ECEFF1;
    border-radius: 3px;
    max-height: 150px;
    overflow-y: auto;
    z-index: 10;
}

.custom-select__options[hidden] { 
    display: none;
}

.custom-select__option {
    padding: 8px 12px;
    cursor: pointer;
    white-space: nowrap;
    font-size: .875rem;
}

.custom-select__option:hover,
.custom-select__option:focus {
    background-color: #f0f0f0;
    outline: none;
}

.custom-select__option.is-selected { /* Класс для JS */
    font-weight: bold;
    background-color: #e0e0e0;
}

.custom-select__value-input {
    display: none;
}


/* Медиа-запрос для мобильных */

@media (max-width: 768px) {
    .account__content {
        flex-direction: column;
    }
    
    .account__content-area {
        width: 100%;
    }
    
    .account__nav {
        flex: 0;
        max-width: 100%;
    }
    
    .account-menu__dropdown-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-left: 1px solid #4D80E6;
        padding: 0 1rem;
    }
    
    .account-menu__list {
        display: none;
        width: 100%;
    }
    
    .account-menu__item {
        height: 48px;
    }
    
    .account-menu__list.account-menu__list--open {
        display: block;
    }
}


@media (min-width: 768px) {
    .form--account-settings {
        width: 360px;
        max-width: 360px;
    }
}


/* Saved Designs Card */

@media (max-width: 768px) {
    
    .favorite-item {
        gap: 1rem; 
    }
    
    .favorite-item__image-wrapper {
        flex-shrink: 0;
        align-self: flex-start; 
    }
    
    
    .favorite-item__content {
        border-top: none;
        padding-top: 0;
    }
    
    .favorite-item__title {
        margin: 0; 
    }
    
    .favorite-item__details {
       align-items: unset;
       flex-direction: column; 
    }
    
    
    .favorite-item__license-group {
        order: 1;
       
    }
    
    .favorite-item__price {
        order: 2; 
        margin-left: 0;
        padding-left: 0;
        margin-top: .25rem; 
    }
    
    .favorite-item__actions {
        order: 3; 
        margin-top: .5rem; 
        padding-top: 0;  
        border-top: none;
    }
    
    .custom-select {
        min-width: auto;
        width: 100%;
    }
    
    .custom-select__trigger {
    width: 100%;
    min-width: auto;
    }
}


/* END ACCOUNT PAGE */


/* FILTER & SORTING //////////////////////////////////////////////////////////////////////////////////////////////////*/

.filter-button {
    cursor: pointer;
    height: 2.5rem;
    width: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.filter-button__icon {
    width: 1rem;
    height: 1rem;
}

.filter__close-button {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2rem;
    width: 2rem;
}

.filter__close-icon {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

.filter-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1001;
    display: none;
}

.filter-overlay--open {
    display: block;
}

.filter {
    position: fixed;
    top: 0;
    right: 0;
    width: 388px;
    height: 100%;
    background-color: #fff;
    z-index: 1002;
    overflow-y: auto;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.filter--open {
    visibility: visible;
    opacity: 1;
}

.filter__container {
    padding: 2.5rem 1rem;
}

.filter__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.5rem;
}

.filter__title {
}

.filter__clear-all {
    font-size: .875rem;
    color: #4D80E6;
    cursor: pointer;
}

.filter__sort-options {
    margin-bottom: 2.5rem;
}

.filter__sort-label {
    margin-bottom: 1.25rem;
    color: #86868b;
    font-size: .875rem;
}

.filter__sort-option {
    display: flex;
    align-items: center;
    cursor: pointer;
    height: 2.5rem;
    font-size: .9375rem;
}

.filter__checkbox-icon .checked {
    display: none;
}

.filter__sort-option--active .filter__checkbox-icon .checked {
    display: block;
}

.filter__sort-option--active .filter__checkbox-icon .unchecked {
    display: none;
}

.filter__filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.filter__filter-option {
    display: flex;
    cursor: pointer;
    height: 2.5rem;
    font-size: .9375rem;
}


.filter__filter-label {
    color: #86868b;
    font-size: .875rem;
}

.filter__filter-option input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.filter__filter-option-label {
    display: flex;
    align-items: center;
    flex-grow: 1;
    cursor: pointer;
}


.filter__checkbox-icon {
    width: 16px;
    height: 16px;
    margin-right: .5rem;
}

.filter__filter-option-count {
    color: #86868b;
    margin-left: auto;
}

/* Медиа */
@media (max-width: 767px) {
    .filter {
        width: 100%;
    }
}

/* END FILTER & SORTING */


/* CONFIRMATION //////////////////////////////////////////////////////////////////////////////////////////////////////*/

/* Основной контейнер */

.confirmation {
    max-width: 1144px;
    margin: 0 auto;
}

/* Контент */
.confirmation__content {
    margin-top: 1.25rem;
    display: flex;
    gap: 32px;
}

/* Детали заказа */

.confirmation__details {
    flex: 1 1 752px;
    width: 100%;
    max-width: 752px;
}

.confirmation__message {
}

.confirmation__order-number {
    margin-top: 1.25rem;
}

.confirmation__order-label {
}

.confirmation__order-value {
    font-weight: 400;
}

.confirmation__email-message {
    margin-top: 1.25rem;
}

.confirmation__email {
    font-weight: 400;
}

.confirmation__download {
    margin-top: 2.5rem;
}

.confirmation__download-link {
    color: #4D80E6;
}

/* Боковая панель */
.confirmation__sidebar {
    flex: 1 1;
}

/* Раздел помощи */

.confirmation__help {
}

.confirmation__help-title {
    font-size: 1.125rem;
    font-weight: 400;
}

.confirmation__help-text {
    margin-top: 2.5rem;
}

.confirmation__help-link {
    text-decoration: underline;
}


/* Медиа-запрос для мобильных устройств */

@media (max-width: 768px) {
    
    .confirmation__details {
        flex: 1 1;
    }
    .confirmation__content {
        flex-direction: column;
    }
    
    .confirmation__sidebar {
        margin-top: 2.5rem;
        width: 100%;
    }
}


/* END CONFIRMATION  */


/* PASSWORD RESET ////////////////////////////////////////////////////////////////////////////////////////////////////*/

.wrap--reset-password {
    display: flex;
    justify-content: center;
}

.reset-password {
    max-width: 360px;
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .reset-password {
        width: 100%;
        max-width: 100%;
    }
}

/* END PASSWORD RESET  */


/* MYFAVORITES BUTTON ////////////////////////////////////////////////////////////////////////////////////////////////*/

.myfavorites-btn {
  all: unset;
  display: inline; 
  cursor: pointer; 
  color: #4D80E6; 
  background: none;
  border: none; 
  padding: 0; 
  text-decoration: none; 
  font-size: .875rem; 
  transition: color 0.2s ease;
  width: auto !important;
  text-decoration: underline !important;
}

.myfavorites-btn:before,
.myfavorites-btn:after {
  display: none !important;
  content: none !important;
}


.myfavorites-btn.animate {
  animation: none !important;
}


/* END MYFAVORITES BUTTON */



/* LICENSES //////////////////////////////////////////////////////////////////////////////////////////////////////////*/



/* === Layout === */

.license { 
	max-width: 1144px;
  margin: 0 auto;
}
.license__content {
	margin-top: 1.25rem;
    display: flex;
    gap: 32px;
    align-items: baseline;
}

/* === Tabs Navigation === */

.license-tabs { 
	flex: 1 1;
    max-width: 360px;
    width: 100%;
}
.license-tabs__list { 
	list-style: none;
    display: flex;
    flex-direction: column;
}
.license-tabs__item { 
	display: flex;
    align-items: center;
    font-size: 0.9375rem;
    width: 100%;
    height: 40px;
    box-sizing: border-box;
    cursor: pointer;
    border-left: 1px solid #ECEFF1;
    padding: 0 1rem;
    margin: .125rem 0;
}

.license-tabs__item_active { 
    border-left-color: #4D80E6; 
}

.license-tabs__button { 
	  
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
}

/* === Panels === */
.license-panels { 
	    flex: 1 1;
}

.license-panel { }
.license-panel_active { }

.license-panel__header { }
.license-panel__title { 
	font-size: 1.25rem;
    font-weight: 400;
    margin-bottom: 2.5rem;
}
.license-panel__terms { }



.license-panel__terms {
    align-items: baseline;
    margin-top: 5rem;
}



.license-content-container {
    transition: opacity 300ms ease-in-out;
    opacity: 1;
}

.license-content-container.fade-out {
    opacity: 0;
}

.license-tab-content {
    display: none;
}

.license-agreement {

}

.license-terms {
}

.license-terms__commercial-license-summary,
.license-terms__personal-license-summary {
    margin-bottom: 2.5rem;
}


.license-terms__intro,
.license-terms__conclusion {
    margin-bottom: 1.5rem;
}

.license-terms__section {
    margin-bottom: 2.5rem;
    border-bottom: 1px solid #ECEFF1;
    padding-bottom: 2.5rem;
}

.license-terms__section-main-title {
    font-size: 1.125rem;
}

.license-terms__section-title {
    font-size: 1rem;
    margin-bottom: 1.25rem;
    font-weight: 400;
}

.license-terms__sub-section {
    margin-top: 1.5rem;
}

.license-terms__sub-section-title {
    font-size: 1rem;
    margin-bottom: .5rem;
    font-weight: 400;
}

.license-terms__prohibited .license-terms__item {
    color: #626262; /* Цвет текста для запрещённого использования */
}



.license-terms__list {
    list-style-type: none;
    padding-left: 0;
    margin: .5rem 0;
}

.license-terms__list > li {
    position: relative;
    padding-left: 1.5rem;
}

.license-terms__list > li::before {
    content: '-'; /* Тире в качестве маркера списка */
    position: absolute;
    left: 0;
    top: 0;
}

.license-terms__list ul {
    padding-left: 1.5rem; /* Отступ для вложенных списков */
    list-style-type: none;
}

.license-terms__list ul li {
    position: relative;
    padding-left: 1.5rem; /* Отступ для вложенных элементов */
}

.license-terms__list ul li::before {
    content: '-'; /* Тире в качестве маркера списка */
    position: absolute;
    left: 0;
    top: 0;
}


.license-terms__icon {
    font-size: 1rem;
    margin-right: .5rem;
    display: inline-block;
}

.license-terms__icon--check {
    color: #56b386;
}

.license-terms__icon--cross {
    color: #e47e65;
}

.license-terms__intro,
.license-terms__list,
.license-terms__section-text {
    color: #626262;
}


/* Mobile */

@media (max-width: 1200px) {
    .license-page--main {
        width: calc(100% - 2rem);
    }
}

@media (max-width: 768px) {
    .license__content {
        flex-direction: column;
    }
    
    .license-tabs {
    max-width: unset;
}

    .license-menu {
        order: 1;
        width: 100%;
    }

    .license-page__subtitle {
        order: 2;
        display: block;
        margin-top: 5rem;
    }

    .license-content-container {
        order: 3;
        margin-top: 5rem;
    }
}

/* END LICENSE PAGE */


/* START LEGAL PAGE //////////////////////////////////////////////////////////////////////////////////////////////////*/


.legal-terms {
    max-width: 1144px;
    margin: 0 auto;
}



.legal-page__header {
    display: flex;
    flex-direction: row;
    align-items: baseline;
}

.legal-page__title {
    font-size: 1.75rem;
    font-weight: 500;
    text-transform: none;
    max-width: 370px;
    width: 100%;
}

.legal-title {
    font-size: 1.25rem;
    font-weight: 500;
}

.legal-page__container {
    display: flex;
    align-items: baseline;
}

.legal-menu {
    margin-right: 2.5rem; /* Отступ справа */
    max-width: 330px;
    width: 100%;
}

.legal-menu__list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 5rem;
}

.legal-menu__link {
    color: #86868B;
    text-decoration: none;
    opacity: 1;
    transition: color 0.2s ease-in-out;
}

.legal-menu__link.active {
    color: black;
}

.legal-content-terms {
    display: flex;
    align-items: baseline;
    margin-top: 5rem;
    line-height: 1.6;
}

.legal-content-container {
    transition: opacity 300ms ease-in-out;
    opacity: 1;
}

.legal-content-container.fade-out {
    opacity: 0;
}

.legal-tab-content {
    display: none;
}

.legal-terms__intro {
	  margin-top: 5rem;
    font-size: 1.125rem;
}

.legal-terms__title {
    font-size: 1.125rem;
    font-weight: 500;
}

.legal-terms__intro,
.legal-terms__conclusion {
    margin-bottom: 1.5rem;
}

.legal-terms__section {
    margin-bottom: 2.5rem;
    border-bottom: 1px solid #ECEFF1;
    padding-bottom: 2.5rem;
}

.legal-terms__section-title {
    font-size: 1rem;
    margin-bottom: 1.25rem;
    font-weight: 500;
}

.legal-terms__sub-section {
    margin-top: 1.5rem;
}

.legal-terms__sub-section-title {
    font-size: 1rem;
    margin-bottom: .5rem;
    font-weight: 400;
}



.legal-terms__list {
    list-style-type: none;
    padding-left: 0;
    margin: .5rem 0;
}

.legal-terms__list > li {
    position: relative;
    padding-left: 1.5rem;
}

.legal-terms__list > li::before {
    content: '-'; /* Тире в качестве маркера списка */
    position: absolute;
    left: 0;
    top: 0;
}

.legal-terms__list ul {
    padding-left: 1.5rem; /* Отступ для вложенных списков */
    list-style-type: none;
}

.legal-terms__list ul li {
    position: relative;
    padding-left: 1.5rem; /* Отступ для вложенных элементов */
}

.legal-terms__list ul li::before {
    content: '-'; /* Тире в качестве маркера списка */
    position: absolute;
    left: 0;
    top: 0;
}

.legal-terms__list-item-title {
    font-weight: 500;
    display: block;
    margin-bottom: .25rem;
}

.legal-terms__list-item + .legal-terms__list-item {
    margin-top: .5rem;
}

.legal-terms__icon {
    font-size: 1rem;
    margin-right: .5rem;
    display: inline-block;
}

.legal-terms__icon--check {
    color: #56b386;
}

.legal-terms__icon--cross {
    color: #e47e65;
}



.legal-terms__list,
.legal-terms__section-text {
    color: #626262;
}

.legal__table-of-contents {
    list-style-type: none;
    padding-left: 0;
    margin: 0;
}

/* Стилизация ссылок на страницах Правил */

.legal-policy-link {
    color: #4D80E6;
    text-decoration: none;
}

.legal-policy-link:hover {
    text-decoration: underline;
}


.legal__table-of-contents-link {
    text-decoration: none;
    color: #AFAFB0;
}

.legal__table-of-contents-link:hover {
    color: #000000;
    text-decoration: none;
}

.legal__table-of-contents-link:focus {
    outline: none;
    color: #000000;
}

/* Mobile */

@media (max-width: 1200px) {
    .legal-page--main {
        width: calc(100% - 2rem);
    }
}

@media (max-width: 768px) {
    .legal-page__container  {
        flex-direction: column;
    }

    .legal-menu {
        order: 1;
        width: 100%;
    }

    .legal-page__subtitle {
        order: 2;
        display: block;
        margin-top: 5rem;
    }

    .legal-content-container {
        order: 3;
        margin-top: 5rem;
    }
}

/* END LEGAL PAGE */






/* MAIN PAGE /////////////////////////////////////////////////////////////////////////////////////////////////////////*/


/* ==========================================================================
   Общие стили
   ========================================================================== */
   
   
.wrap-main {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.hero {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    margin-top: 7.5rem;
    height: 100vh;
}

.hero__carousel-section {
    flex: 1; 
    width: 100%;
    height: 100%;
    min-height: 0;
}

/* ==========================================================================
   Стили GSAP Карусели
   ========================================================================== */
   
.gsap-carousel-wrapper {
    height: 100%; 
    overflow: hidden;
    position: relative;
    cursor: grab;
    -webkit-overflow-scrolling: touch; /* Плавная прокрутка на iOS */
    
    /* Аппаратное ускорение и предотвращение "прыжков" */
    transform: translateZ(0);
    -webkit-transform: translateZ(0); /* Для Safari */
    -webkit-backface-visibility: hidden;
    -webkit-perspective: 1000;

    /* Отключение выделения текста */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    /* Отключение системных жестов и подсветки при касании на iOS */
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;

    /* Управление поведением прокрутки на touch-устройствах */
    touch-action: pan-x pinch-zoom; /* Разрешает горизонтальную прокрутку и масштабирование */
}

.gsap-carousel-track {
    display: flex;
    height: 100%;
    position: relative;
    will-change: transform;
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    transform-style: preserve-3d;
}

.gsap-slide {
    flex-shrink: 0; 
    width: 20vw;
    height: 100%;
    margin-right: 20px;
    box-sizing: border-box; 
    
    /* Оптимизация анимации и рендеринга */
    transform-origin: center center;
    will-change: transform;
    backface-visibility: hidden; 
    -webkit-backface-visibility: hidden; 
    -webkit-transform: translateZ(0);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

.gsap-slide:last-child {
    margin-right: 0; 
}

.gsap-slide .product-card__info {
    display: none;
}


/* ==========================================================================
   Стили для контентной части Hero
   ========================================================================== */
   
.hero__content-layout {
    flex: 1; 
    display: grid;
    grid-template-columns: 1fr 1fr; 
    justify-content: space-between;
    padding: 0 3.125rem; 
    min-height: 0;
}

.hero-tagline {
    grid-column: 2 / 3;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    min-height: 100%; 
}

.hero-tagline__brand {
    font-size: 1.25rem;
    font-weight: 400;
    margin-bottom: 1.25rem;
}

.hero-tagline__headline {
    font-size: 6rem;
    font-weight: 600;
    margin-top: 0;
    white-space: nowrap; 
    font-family: 'DIN Offc Pro Cond', sans-serif;
}

.hero-tagline__headline-line {
    display: block;
    text-transform: uppercase;
    margin-bottom: -2rem; 
}

.hero-tagline__sub-headline {
    font-size: 2rem;
    font-weight: 400;
    margin-top: 2.5rem;
}

.hero-tagline__button {
    font-size: 1.125rem; 
    padding-top: 3.75rem;
    font-weight: 400;
}

.hero-tagline__cta-link.gsap-line-link {
    display: inline-block;
    position: relative;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden; 
}

.line-animation { 
    display: block;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #000;
    margin-top: .25rem; 
}

/* ==========================================================================
   Специальные стили для Touch-устройств
   ========================================================================== */
   
@media (hover: none) and (pointer: coarse) {
    .gsap-carousel-wrapper {
        cursor: default; 
        overscroll-behavior-x: contain;
        -ms-scroll-chaining: none;
    }
}

/* ==========================================================================
   Media
   ========================================================================== */
@media (max-width: 1366px) and (pointer: coarse) {  
    .gsap-slide {
        width: 35vw; 
        min-width: 0;
    }
    
    .hero__content-layout {
        display: flex;
        flex-direction: column;
        padding: 0 1rem;
        margin-bottom: 10em;
    }
    .hero-tagline__brand {
        font-size: 1.25rem; 
    }

    .hero-tagline__headline {
        font-size: 4rem; 
    }

    .hero-tagline__headline-line {
        margin-bottom: -1rem;
    }

    .hero-tagline__sub-headline {
        font-size: 1.5rem;
        margin-top: 1.25rem; 
    }

    .hero-tagline__button {
        font-size: 1rem;
        padding-top: 2.5rem; 
    }
}   
   
   
@media (max-width: 1200px) {  
	
    .gsap-slide {
        width: 45vw; 
        min-width: 0;
    }
    
    .hero__content-layout {
        display: flex;
        flex-direction: column;
        padding: 0 1rem;
        margin-bottom: 5rem;
    }
}	
	
@media (max-width: 768px) {
	.hero {
    margin-top: 5rem;
}
	
    .hero__content-layout {
        flex: unset; 
        display: flex;
        flex-direction: column;
        padding: 0 1rem; 
        margin-bottom: 12rem;
    }

    .gsap-slide {
        width: 85vw; 
        min-width: 0; 
    }

    .hero-tagline__brand {
        font-size: 1.25rem; 
    }

    .hero-tagline__headline {
        font-size: 3.5rem; 
    }

    .hero-tagline__headline-line {
        margin-bottom: -1rem;
    }

    .hero-tagline__sub-headline {
        font-size: 1.5rem;
        margin-top: 1.25rem; 
    }

    .hero-tagline__button {
        font-size: 1rem;
        padding-top: 2.5rem; 
    }
}

/* CONTACT ///////////////////////////////////////////////////////////////////////////////////////////////////////////*/



/* ==========================================================================
   Contact Section Block
   ========================================================================== */

.contact {
	max-width: 1144px;
    margin: 0 auto;
}

.contact__content {
	margin-top: 1.25rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    align-items: flex-start;
 
}

.contact-section__info{
	    margin-bottom: 2.5rem;
}

.contact-section__store{
	    font-weight: 500;
	    padding-bottom: 1.25rem;
}

.contact-section__cards {
	display: flex;
    gap: 2.5rem;
    flex-direction: column;
    padding-top: 2.5rem;
    
}

/* Modifiers for Status */
.contact-section__status {
    font-weight: 400;
    padding-left: .5rem;
    font-size: 14px;
}

.contact-section__status--online {
    color: #38A169; /* Зеленый */
}

.contact-section__status--offline {
    color: #FF4E45; /* Красный */
}

/* ==========================================================================
   Contact Card Block
   ========================================================================== */

/* Elements of Contact Card */
.contact-card__title {
    font-weight: 500;
}


/* Modifier for Card Action */
.contact-card__action--primary {
	text-decoration: underline;
}


@media (max-width: 768px) {
	.contact__content {
    grid-template-columns: 1fr;
}
}



