/* Главный CSS файл */

/* LINE CLAMP */

.line_clamp_2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* количество строк */
    line-clamp: 2;
    overflow: hidden;
}

/* LINE CLAMP */

/*DETAIL IMAGE*/

.detail_image {
}

.detail_image_bg {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
    z-index: 60;
}

.detail_image_image {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 61;
    max-width: 90vw;
    max-height: 90vh;
}

/*DETAIL IMAGE*/

.small_text {
    color: var(--colGrey);
    font-size: 12px;
}

#arrow_link_up {
    cursor: pointer;
    position: fixed;
    right: 24px;
    bottom: 80px;
    z-index: 50;
    background-color: var(--colRichBlack);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
}

.floating_contacts {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 51;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

.floating_contacts_button {
    height: 48px;
    padding: 0 18px;
    border-radius: 16px;
    color: var(--colWhite);
    background-color: var(--colScarlet);
    box-shadow: 0 35px 10px 0 rgba(0, 0, 0, 0),
    0 23px 9px 0 rgba(0, 0, 0, 0.01),
    0 13px 8px 0 rgba(0, 0, 0, 0.05),
    0 6px 6px 0 rgba(0, 0, 0, 0.09),
    0 1px 3px 0 rgba(0, 0, 0, 0.1);
    font-size: 14px;
}

.floating_contacts_panel {
    display: none;
    width: min(320px, calc(100vw - 20px));
    padding: 16px;
    border-radius: 16px;
    background-color: var(--colWhite);
    box-shadow: 0 77px 21px 0 rgba(0, 0, 0, 0),
    0 49px 20px 0 rgba(0, 0, 0, 0.01),
    0 28px 17px 0 rgba(0, 0, 0, 0.05),
    0 12px 12px 0 rgba(0, 0, 0, 0.09),
    0 3px 7px 0 rgba(0, 0, 0, 0.1);
}

.floating_contacts.active .floating_contacts_panel {
    display: block;
}

.floating_contacts_title {
    margin-bottom: 12px;
    font-size: 16px;
    font-family: var(--ntMed);
}

.floating_contacts_link {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 0;
    border-top: 1px solid var(--colGreyOpacity);
}

.floating_contacts_link > span {
    font-size: 12px;
    color: var(--colGrey);
}

.floating_contacts_link > strong {
    font-size: 14px;
    font-family: var(--ntMed);
    word-break: break-word;
}

.page_title {
    font-size: 96px;
    font-family: var(--bebas);
    font-weight: 500;
}

.breadcrumbs {
    display: inline-flex;
    flex-wrap: wrap;
    align-content: center;
    gap: 5px;
}

.breadcrumbs_item {
    font-size: 16px;
    color: var(--colGrey);
}

.wrapper_padding_top {
    padding: 146px 0;
    min-height: 80vh;
}

.no_scroll_visible {
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.no_scroll_visible::-webkit-scrollbar {
    display: none;
}

body {
    background-color: var(--colWhite);
}

body.lock,
html.lock {
    overflow-y: hidden;
}

html {
    scroll-behavior: smooth;
}

.container {
    max-width: 1740px;
    padding: 0 10px;
    margin: 0 auto;
}

.header_page {
    position: fixed;
    top: 44px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 12;
}

.header_inner {
    height: 80px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 12px;
    border-radius: 24px;
    background: rgba(115, 130, 144, 0.34);
    border: 1px solid rgba(255, 255, 255, 0.42);
    box-shadow: 0 18px 45px rgba(18, 20, 32, 0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    font-size: 16px;
}

.header_inner > * {
    border-radius: 16px;
    background-color: var(--colWhite);
    height: 100%;
}

.header_logo {
    width: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header_link_page {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
}

.header_lk {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
}

.header_catalog_wrapper {
    position: relative;
    min-width: 250px;
    height: auto;
    background-color: transparent;
    border-radius: 0;
}

.header_catalog {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0 12px;
    background-color: var(--colWhite);
    border-radius: 16px;
    min-height: 100%;
}

.header_catalog.active .header_catalog_show {
    transform: rotate(180deg);
}

.header_catalog_up {
    margin-top: 6px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.header_catalog_title {
    cursor: pointer;
}

.header_catalog_show {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    transition: transform 500ms;
}

.header_catalog_down {
    width: 100%;
    display: none;
}

.header_catalog_down > a {
    display: block;
    margin-bottom: 8px;
    padding: 16px 13px;
    border-radius: 16px;
    transition: background-color 300ms, color 300ms;
}

.header_catalog_down > a:hover {
    background-color: var(--colScarlet);
    color: var(--colWhite);
}

/* HEADER_MOBILE */

.header_mobile {
    display: none;
}

.header_mobile_logo {
    position: absolute;
    top: 16px;
    left: 10px;
    z-index: 12;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header_logo_burger {
    position: fixed;
    top: 16px;
    right: 10px;
    width: 44px;
    height: 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background-color: var(--colRichBlack);
    z-index: 12;
    border-radius: 12px;
}

.header_logo_burger_line {
    width: 100%;
    height: 2px;
    border-radius: 4px;
    background-color: var(--colWhite);
    width: 24px;
}

.header_mobile_menu {
    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    height: 100vh;
    overflow-y: auto;
    width: 500px;
    background-color: var(--colWhite);
    padding: 16px 10px;
    transform: translateX(100%);
    transition: transform 300ms;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.header_mobile_menu_up {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.mobile_header_lk {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--colWhite);
    box-shadow: 0 28px 8px 0 rgba(0, 0, 0, 0), 0 18px 7px 0 rgba(0, 0, 0, 0.01),
    0 10px 6px 0 rgba(0, 0, 0, 0.05), 0 4px 4px 0 rgba(0, 0, 0, 0.09),
    0 1px 2px 0 rgba(0, 0, 0, 0.1);
}

.mobile_header_lk > img {
    width: 24px;
    height: 24px;
}

.header_mobile_close {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--colRichBlack);
}

.header_mobile_phone {
    font-size: 12px;
    font-family: var(--ntMed);
}

.header_mobile_menu.active {
    transform: translateX(0);
}

#small_list_catalog_mobile {
    max-width: 100% !important;
    margin-bottom: 20px;
}

.header_mobile_countries,
.header_mobile_search {
    width: 100%;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    box-shadow: 0 40px 11px 0 rgba(0, 0, 0, 0),
    0 26px 10px 0 rgba(0, 0, 0, 0.01), 0 14px 9px 0 rgba(0, 0, 0, 0.05),
    0 6px 6px 0 rgba(0, 0, 0, 0.09), 0 2px 4px 0 rgba(0, 0, 0, 0.1);
    background-color: var(--colWhite);
    margin-bottom: 16px;
    font-size: 16px;
}

.header_mobile_search {
    background-color: var(--colError);
    color: var(--colWhite);
}

.header_mobile_links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.header_mobile_links > li > * {
    display: block;
    width: 100%;
    font-size: 16px;
    text-align: center;
    padding: 18px 0;
}

/* HEADER_MOBILE */

/* FOOTER */

.footer_inner {
    display: flex;
    justify-content: space-between;
    padding: 24px 0;
}

.footer_path {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.footer_path > * {
    font-size: 16px;
    padding: 12px;
}

.footer_left {
    text-align: left;
}

.footer_center {
    text-align: center;
}

.footer_right {
    text-align: right;
}

/* FOOTER */

/* MODAL */

.modal_bg {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    opacity: 0.7;
    z-index: 998;
}

.modal_content {
    position: fixed;
    top: 0vh;
    left: 50%;
    transform: translate(-50%, -110%);
    z-index: 999;
    transition: top 300ms, transform 300ms;
    width: 100%;
    max-width: 1000px;
}

.modal.active .modal_bg {
    display: block;
}

.modal.active .modal_content {
    top: 10vh;
    transform: translate(-50%, 0);
}

.modal_inner {
    position: relative;
    border-radius: 24px;
    background-color: var(--colWhite);
    width: 100%;
    padding: 24px;
    max-height: 80vh;
    overflow-y: auto;
}

.login_modal_title {
    font-family: var(--bebas);
    font-size: 52px;
    margin-bottom: 16px;
}

.login_modal_navigate {
    margin-bottom: 32px;
    background-color: var(--colRichBlack);
    border-radius: 12px;
    padding: 8px;
    display: flex;
    align-items: center;
    max-width: max-content;
}

.login_modal_navigate_item {
    cursor: pointer;
    font-size: 14px;
    color: var(--colWhite);
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    padding: 0 12px;
}

.login_modal_navigate_item.active {
    background-color: var(--colWhite);
    color: var(--colRichBlack);
}

.modal_login_form {
    width: 100%;
    max-width: 360px;
}

.login_form_item {
    margin-bottom: 20px;
}

.login_form_item_title {
    font-size: 16px;
    margin-bottom: 12px;
}

.login_send_button {
    margin-bottom: 24px;
}

.login_form_rest_link {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    height: 56px;
}

.login_image_decor {
    position: fixed;
    right: 0;
    bottom: 0;
}

.guide_modal_textarea {
    height: 120px;
}

.guide_modal_image_decor {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 497px;
    object-fit: cover;
    object-position: center;
    -o-object-fit: cover;
    -o-object-position: center;
}

/* MODAL */

/* INPUTS */

.password_input {
    position: relative;
}

.password_input_eye {
    position: absolute;
    bottom: 12px;
    right: 12px;
    transition: opacity 300ms;
    z-index: 2;
    cursor: pointer;
}

.password_input_eye.hide {
    opacity: 0.5;
}

.form_input {
    display: block;
    width: 100%;
    background-color: var(--colWhite) !important;
    height: 48px;
    font-size: 14px;
    padding: 0 12px;
    border-radius: 12px;
    box-shadow: 0px 59px 17px 0px rgba(0, 0, 0, 0),
    0px 38px 15px 0px rgba(0, 0, 0, 0.01),
    0px 21px 13px 0px rgba(0, 0, 0, 0.05),
    0px 9px 9px 0px rgba(0, 0, 0, 0.09), 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
}

.form_input::placeholder {
    color: var(--colGrey);
}

.form_textarea {
    display: block;
    width: 100%;
    background-color: var(--colWhite) !important;
    font-size: 14px;
    padding: 12px;
    border-radius: 12px;
    border: 0;
    outline: none;
    resize: none;
    height: 180px;
    box-shadow: 0px 59px 17px 0px rgba(0, 0, 0, 0),
    0px 38px 15px 0px rgba(0, 0, 0, 0.01),
    0px 21px 13px 0px rgba(0, 0, 0, 0.05),
    0px 9px 9px 0px rgba(0, 0, 0, 0.09), 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
}

.form_textarea::placeholder {
    color: var(--colGrey);
}

.counter_textarea {
    font-size: 12px;
}

.error_form {
    font-family: var(--ntReg);
    color: var(--colError);
    font-size: 14px;
}

.successActionForm {
    padding: 5px 10px;
    border-radius: 6px;
    background-color: greenyellow;
    font-size: 14px;
    margin: 10px 0;
    max-width: max-content;
}

.errorsActionForm {
    padding: 5px 10px;
    border-radius: 6px;
    background-color: var(--colError);
    font-size: 14px;
    margin: 10px 0;
    max-width: max-content;
    color: var(--colWhite);
}

/* INPUTS */

/* BUTTONS */

.button_1 {
    cursor: pointer;
    display: block;
    width: 100%;
    min-height: 56px;
    border-radius: 16px;
    background: var(--colRichBlack);
    color: var(--colWhite);
    font-size: 16px;
}

.button_240_44 {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    width: 100%;
    max-width: 240px;
    background-color: var(--colRichBlack);
    color: var(--colWhite);
    font-size: 14px;
    border-radius: 12px;
}

.button_360_56 {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    width: 100%;
    max-width: 360px;
    background-color: var(--colRichBlack);
    color: var(--colWhite);
    font-size: 16px;
    border-radius: 12px;
}

/* BUTTONS */

/* MESSAGE_ADMIN */

.info_message_red {
    padding: 5px 10px;
    background-color: var(--colScarlet);
    border-radius: 6px;
    max-width: max-content;
    margin: 12px 0;
    color: var(--colWhite);
}

.info_message_green {
    padding: 5px 10px;
    background-color: greenyellow;
    border-radius: 6px;
    max-width: max-content;
    margin: 12px 0;
    color: var(--colWhite);
}

/* MESSAGE_ADMIN */

/* MATES */

.footer_mates {
    display: flex;
    gap: 12px;
    align-items: center;
}

.footer_mates_title {
    font-family: var(--bebas);
    font-size: 24px;
}

.footer_mates > img {
    width: 50px;
}

/* MATES */
