@charset "UTF-8";

@font-face {
    font-family: "MontserratLight";
    font-display: swap;
    src: url("../fonts/Montserrat-Light.woff") format("woff"), url("../fonts/Montserrat-Light.woff2") format("woff2");
    font-style: normal;
}

@font-face {
    font-family: "MontserratBlack";
    font-display: swap;
    src: url("../fonts/Montserrat-Black.woff") format("woff"), url("../fonts/Montserrat-Black.woff2") format("woff2");
    font-style: normal;
}

@font-face {
    font-family: "MontserratBold";
    font-display: swap;
    src: url("../fonts/Montserrat-Bold.woff") format("woff"), url("../fonts/Montserrat-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "MontserratRegular";
    font-display: swap;
    src: url("../fonts/Montserrat-Regular.woff") format("woff"), url("../fonts/Montserrat-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "MontserratSemiBold";
    font-display: swap;
    src: url("../fonts/Montserrat-SemiBold.woff") format("woff"), url("../fonts/Montserrat-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: "MontserratMedium";
    font-display: swap;
    src: url("../fonts/Montserrat-Medium.woff") format("woff"), url("../fonts/Montserrat-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
}

* {
    padding: 0;
    margin: 0;
    border: 0;
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

:focus,
:active {
    outline: none;
}

a:focus,
a:active {
    outline: none;
}

aside,
nav,
footer,
header,
section {
    display: block;
}

html,
body {
    height: 100%;
    min-width: 320px;
}

body {
    line-height: 1;
    font-family: "MontserratRegular", serif;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

input,
button,
textarea {
    font-family: "MontserratRegular", serif;
}

input::-ms-clear {
    display: none;
}

button {
    cursor: pointer;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

a {
    font-family: "MontserratRegular", serif;
    font-size: 15px;
    color:#000;
    display: block;
}

a,
a:visited {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

ul li {
    list-style: none;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: inherit;
    font-size: inherit;
}

body {
    color: #000;
    font-size: 16px;
}
.page {
    background-color: #F5F5F5;
    padding: 30px 0;
    flex: 1;
}
.page .container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /*gap: 15px;*/
}
.page .container > *:not(:last-child) {
    margin-bottom: 15px;
}
.page .page__title {
    font-size: 40px;
    font-family: MontserratBlack, serif;
    text-transform: lowercase;
}
.page .page__line {
    border-bottom: 4px solid #FFC702;
    width: 150px;
}
.page .page__text {
    font-size: 16px;
    font-family: MontserratRegular, serif;
    max-width: 80%;
    text-align: center;
    line-height: 24px;
}
.container {
    max-width: 1150px;
    padding-left: 15px;
    padding-right: 15px;
    margin: 0 auto;
    position: relative;
    height: 100%;
}
.only_desktop {
}
.only_mobile {
    display: none;
}
._active {
    display: flex;
}
.label-error {
    font-size: 10px !important;
    color: #FF5722;
}
.iti--separate-dial-code .iti__selected-dial-code {
    color: #fff;
    font-size: 20px;
    font-family: MontserratLight, serif;
}
.iti--allow-dropdown .iti__flag-container .iti__selected-flag,
.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
    height: 50px;
    background: transparent;
}

.add_to_favorite.active svg {
    fill: #FFC702;
}

/*********** NAV ************/

.nav {
    background: #959C79;
    padding: 10px 0;
}
.nav .container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.nav .nav__menu {
    display: flex;
    /*gap: 30px;*/
}
.nav .nav__menu .nav__menu-item:not(:last-child) {
    margin-right: 30px;
}
.nav .nav__menu .nav__menu-item {
    list-style: none;
}
.nav .nav__menu .nav__menu-item a {
    display: block;
    font-size: 15px;
    font-family: MontserratRegular, serif;
    font-weight: normal;
    text-transform: lowercase;
    color: #000;
}
.nav .nav__menu .nav__menu-item a.active {
    font-size: 15px;
    font-family: MontserratBold, serif;
    text-shadow: 0 4px 4px #00000025;
}
.nav .nav__header-right {
    display: flex;
    /*gap: 15px;*/
    align-items: center;
}
.nav .nav__header-right > *:not(:last-child) {
    margin-right: 15px;
}
.nav .nav__header-right-favorite {
    background-color: #000;
    border-radius: 50%;
    min-width: 50px;
    height: 50px;
    justify-content: center;
    display: flex;
    align-items: center;
}
.nav .nav__header-cart {
    display: flex;
    /*gap: 15px;*/
    align-items: center;
    cursor:pointer;
}
.nav .nav__header-cart > *:not(:last-child) {
    margin-right: 15px;
}
.nav .nav__header-cart-logo {
    background-color: #000;
    border-radius: 50%;
    min-width: 50px;
    height: 50px;
    justify-content: center;
    display: flex;
    align-items: center;
}
.nav .nav__header-cart-arrow {
    display: flex;
}

/*********** FOOTER ************/

.footer {
    background: #959C79;
    padding: 30px 0;
}
.footer .container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.footer .nav__menu {
    display: flex;
    flex-direction: column;
    /*gap: 30px;*/
}
.footer .nav__menu .nav__menu-item:not(:last-child) {
    margin-bottom: 30px;
}
.footer .contact {
    display: flex;
    flex-direction: column;
    /*gap:30px;*/
}
.footer .contact > *:not(:last-child) {
    margin-bottom: 30px;
}
.footer .socials {
    display: flex;
    /*gap:15px;*/
}
.footer .socials a:not(:last-child) {
    margin-right: 15px;
}
.footer .divider {
    border-bottom: 1px solid #000;
}

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

.main__subscribe {
    background-color: #fff;
    padding: 50px 0;
}
.main__subscribe .form {
    display: flex;
    flex-direction: row;
    /*gap: 15px;*/
}
.main__subscribe .form > *:not(:last-child) {
    margin-right: 15px;
}
.main__subscribe .desc{
    font-size: 20px;
    font-family: MontserratSemiBold, serif;
    font-weight: 500;
}
.main__subscribe .input{
    font-size: 20px;
    font-family: MontserratRegular, serif;
    font-weight: normal;
    height: 64px;
    border-radius: 40px;
    border: 1px solid #000;
    text-align: center;
    width: 100%;
}
.main__subscribe .btn {
    height: 64px;
    border-radius: 40px;
    background: #393939;
    max-width: 170px;
    width: 100%;
    font-family: MontserratRegular, serif;
    font-size: 20px;
    color: #fff;
}

.main__about {
    background: #393939;
    padding: 30px 0;
}
.main__about .list {
    display: flex;
    /*gap: 15px;*/
}
.main__about .list > *:not(:last-child) {
    margin-right: 15px;
}
.main__about .thumb {
    align-items: center;
    /*gap: 30px;*/
}
.main__about .thumb > *:not(:last-child) {
    margin-bottom: 30px;
}
.main__about .thumb,
.main__about .form {
    display: flex;
    flex-direction: column;
    /*gap:15px;*/
}
.main__about .thumb > *:not(:last-child),
.main__about .form > *:not(:last-child) {
    margin-bottom: 15px;
}
.main__about .thumb img {
    max-width: 400px;
}
.main__about .thumb .socials {
    display: flex;
    /*gap:15px;*/
}
.main__about .thumb .socials a:not(:last-child){
    margin-right: 15px;
}
.main__about .form .title {
    font-family: MontserratBlack, serif;
    font-size: 40px;
    color: #959C79;
}
.main__about .form .text {
    font-family: MontserratSemiBold, serif;
    font-size: 20px;
    line-height: 24px;
    color: #fff;
}
.main__about .form input {
    background: #393939;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-family: MontserratLight, serif;
    font-weight: 400;
    font-size: 20px;
    width: 100%;
    height: 50px;
}
.main__about .form button {
    font-weight: normal;
    font-family: MontserratRegular, serif;
    font-size: 20px;
    background: #959C79;
    color:#000;
    height: 64px;
    border-radius: 40px;
    max-width: 170px;
    width: 100%;
}
.main__about .form .term {
    font-family: MontserratLight, serif;
    font-size: 15px;
    color: #fff;
}
.main__about .form input._error {
    border-bottom: 1px solid #FF5722;
}

.main__categories {
    padding: 30px 0;
}
.main__categories .category__list {
    flex-direction: row;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    /*row-gap: 20px;*/
}
.main__categories .category__list .first__item {
    max-width: 270px;
    width: 100%;
    padding: 15px;
    display: flex;
    flex-direction: column;
    /*gap: 50px;*/
    position: relative;
}
.main__categories .category__list .first__item > *:not(:last-child) {
    margin-bottom: 50px;
}
.main__categories .category__list .first__item .first__item-title {
    font-family: MontserratBold, serif;
    font-size: 40px;
}
.main__categories .category__list .first__item .first__item-text {
    font-family: MontserratBold, serif;
    font-size: 16px;
    line-height: 24px;
}
.main__categories .category__list .category__item {
    align-items: center;
    max-width: 270px;
    width: 100%;
    padding: 15px;
    display: flex;
    flex-direction: column;
    /*gap: 15px;*/
    border-radius: 20px;
    box-shadow: 4px 4px 4px #00000025;
    position: relative;
    background-color: #EEEEEE;
}
.main__categories .category__list .category__item > *:not(:last-child) {
    margin-bottom: 15px;
}
.main__categories .category__list .category__item .category__title {
    display: flex;
    /*gap: 10px;*/
    font-size: 16px;
    font-family: MontserratRegular, serif;
    text-transform: lowercase;
    align-self: flex-start;
}
.main__categories .category__list .category__item .category__title img {
    margin: 0 10px;
}
.main__categories .category__list .category__item .category__text {
    font-family: MontserratRegular, serif;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
}
.main__categories .category__list .category__item .category__button {
    width: 160px;
    height: 35px;
    border-radius: 35px;
    background-color: #FFC702;
    font-size: 16px;
    font-family: MontserratBold, serif;
    color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
}

.main__sliders .container {
    flex-direction: row;
    display: flex;
}
.main__sliders .main__slider {
    padding: 15px 0;
    display: flex !important;
    flex-direction: row;
}
.main__sliders .main__slider .info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    /*gap: 30px;*/
    flex-basis: 50%;
}
.main__sliders .main__slider .info > *:not(:last-child) {
    margin-bottom: 30px;
}
.main__sliders .main__slider .img {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-basis: 50%;
}
.main__sliders .main__slider .title {
    font-family: MontserratBlack, serif;
    font-size: 50px;
    color: #000;
}
.main__sliders .main__slider .text {
    font-family: MontserratRegular, serif;
    font-size: 20px;
    color: #000;
}
.main__sliders .main__slider .btn {
    height: 64px;
    max-width: 170px;
    background: #000;
    border-radius: 40px;
    color: #fff;
    font-family: MontserratRegular, serif;
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/***********  CART DROPDOWN  ***********/

.cart__dropdown {
    display: none;
    position: absolute;
    top: 70px;
    background-color: #ffffff60;
    border-radius: 8px;
    padding: 20px;
    max-width: 370px;
    z-index: 2;
    width: 100%;
    right: 0;
    backdrop-filter: blur(10px);
}
.cart__dropdown .empty__cart {
    font-family: MontserratBlack, serif;
    font-size: 14px;
}
.cart__dropdown .cart__list {
    display: flex;
    /*gap: 20px;*/
    flex-direction: column;
}
.cart__dropdown .cart__list > *:not(:last-child){
    margin-bottom: 20px;
}
.cart__dropdown .cart__list .cart__item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    /*gap: 10px;*/
    align-items: center;
}
.cart__dropdown .cart__list .cart__item-divider {
    border-bottom: 1px solid #00000020;
}
.cart__dropdown .cart__list .cart__item .cart__item-name{
    font-family: MontserratRegular, serif;
    font-size: 14px;
    margin-right: 10px;
}
.cart__dropdown .cart__list .cart__item .cart__item-price{
    font-family: MontserratBold, serif;
    font-size: 14px;
}
.cart__dropdown .cart__total {
    display: flex;
    flex-direction: column;
    /*gap: 20px;*/
    margin-top: 20px;
}
.cart__dropdown .cart__total > *:not(:last-child){
    margin-bottom: 20px;
}
.cart__dropdown .cart__total .cart__total-divider {
    border-bottom: 2px solid #000000;
    border-radius: 2px;
}
.cart__dropdown .cart__total .cart__total-item {
    display: flex;
    justify-content: space-between;
}
.cart__dropdown .cart__total .cart__total-item .cart__total-item-name{
    font-family: MontserratBlack, serif;
    font-size: 14px;
}
.cart__dropdown .cart__total .cart__total-item .cart__total-item-price{
    font-family: MontserratBold, serif;
    font-size: 14px;
}
.cart__dropdown .cart__shop {
    background-color: #000;
    color: #fff;
    font-family: MontserratBold, serif;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 32px;
    width: 160px;
    border-radius: 32px;
}

/*************** PRODUCTS ************/

.products .product__list {
    display: flex;
    flex-wrap: wrap;
    /*gap: 13px;*/
    justify-content: center;
}
.products .product__list .product__item {
    align-items: center;
    max-width: 270px;
    width: 100%;
    padding: 15px;
    display: flex;
    flex-direction: column;
    /*gap: 15px;*/
    border-radius: 20px;
    box-shadow: 0 0 16px #00000025;
    margin-bottom: 10px;
    margin-right: 10px;
    position: relative;
}
.products .product__list .product__item > *:not(:last-child){
    margin-bottom: 15px;
}
.products .product__list .product__item .product__name {
    text-align: center;
    font-family: MontserratBold, serif;
    font-size: 16px;
}
.products .product__list .product__item .product__price {
    font-family: MontserratMedium, serif;
    font-size: 28px;
}
.products .product__list .product__item .product__button {
    display: flex;
    flex-direction: row;
    /*gap: 10px;*/
    background-color: #D9D9D9;
    height: 36px;
    max-width: 170px;
    justify-content: center;
    align-items: center;
    padding: 15px;
    border-radius: 36px;
    cursor: pointer;
    font-family: MontserratMedium, serif;
    font-size: 16px;
    margin-top: auto;
}
.products .product__list .product__item .product__button img{
    margin-right: 10px;
}
.products .product__list .product__item .product__star {
    position: absolute;
    right: 15px;
    cursor: pointer;
}

/*************  PRODUCT  ***************/

.product .container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 30px;
}
.product .info {
    display: flex;
    flex-direction: column;
    /*gap: 20px;*/
    margin-bottom: auto;
}
.product .info > *:not(:last-child){
    margin-bottom: 20px;
}
.product .title {
    font-family: MontserratSemiBold, serif;
    font-size: 28px;
}
.product .line {
    width: 170px;
    border-bottom: 4px solid #FFC702;
}
.product .desc {
    font-family: MontserratBold, serif;
    font-size: 16px;
}
.product .text {
    font-family: MontserratRegular, serif;
    font-size: 16px;
    line-height: 24px;
}
.product .price {
    font-family: MontserratMedium, serif;
    font-size: 28px;
}
.product .button {
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 56px;
    background-color: #D9D9D9;
    /*gap: 15px;*/
    max-width: 250px;
    cursor:pointer;
    font-family: MontserratMedium, serif;
    font-size: 16px;
}

.product .button img{
    margin-right: 15px;
}

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

.contacts .phone {
    display: flex;
    gap: 10px;
    font-family: MontserratBold, serif;
    font-size: 16px;
}
.contacts .phone a{
    font-family: MontserratBold, serif;
    font-size: 16px;
}
.contacts .socials {
    display: flex;
    gap: 10px;
}

.contacts .map {
    width: 100%;
    height: 50vh;
}

.contacts .map iframe{
    width: 100%;
    height: 100%;
}

/**********  CART  **********/

.cart .cart__body {
    display: flex;
    flex-direction: row;
    gap: 15px;
    width: 100%;
}

.cart .cart__body .cart__products{
    display: flex;
    flex-direction: column;
    gap:15px;
    width: 100%;
}
.cart .cart__body .cart__products .cart__product {
    display: flex;
    justify-content: space-between;
}
.cart .cart__body .cart__products .cart__product .cart__product-left {
    display: flex;
    align-items: center;
    flex-basis: 50%;
    gap: 15px;
}
.cart .cart__body .cart__products .cart__product .cart__product-right {
    display: flex;
    align-items: center;
    flex-basis: 50%;
    justify-content: space-between;
    gap: 15px;
}
.cart .cart__body .cart__products .cart__product .cart__product-img {
    border-radius: 3px;
}
.cart .cart__body .cart__products .cart__product .cart__product-name {
    font-family: MontserratRegular, serif;
    font-size: 14px;
}
.cart .cart__body .cart__products .cart__product .cart__product-price,
.cart .cart__body .cart__products .cart__product .cart__product-total {
    font-family: MontserratBold, serif;
    font-size: 14px;
}
.cart .cart__body .cart__products .cart__product .cart__product-remove {
    width: 24px;
    height: 24px;
    background: initial;
}

.cart .cart__body .cart__total {
    background-color: #eeeeee;
    padding: 15px;
    border-radius: 8px;
    width: 100%;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    height: fit-content;
}
.cart .cart__body .cart__total .cart__total-title {
    font-family: MontserratBold, serif;
    font-size: 24px;
}

.cart .cart__body .cart__total .cart__total-row {
    display: flex;
    flex-direction: row;
}
.cart .cart__body .cart__total .cart__total-row-name {
    font-family: MontserratRegular, serif;
    font-size: 14px;
}
.cart .cart__body .cart__total .cart__total-row-line{
    width: 100%;
    height: 11px;
    border-bottom: 1px dashed #999;
    margin: 0 10px;
}
.cart .cart__body .cart__total .cart__total-row-price {
    font-family: MontserratBold, serif;
    font-size: 14px;
}

.cart .cart__body .cart__total .cart__total-hint {
    font-family: MontserratRegular, serif;
    font-size: 14px;
}
.cart .cart__body .cart__total .cart__total-button {
    height: 32px;
    width: 160px;
    background-color: #000;
    border-radius: 32px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: MontserratBold, serif;
    font-size: 14px;
}

.cart .cart__body .cart__checkout {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.cart .cart__body .cart__checkout .cart__personal-title {
    font-family: MontserratBold, serif;
    font-size: 24px;
}
.cart .cart__body .cart__checkout .cart__delivery-title {
    font-family: MontserratBold, serif;
    font-size: 24px;
}
.cart .cart__body .cart__checkout .cart__payment-title {
    font-family: MontserratBold, serif;
    font-size: 24px;
}
.cart .cart__body .cart__checkout label {
    font-family: MontserratRegular, serif;
    font-size: 14px;
}
.cart .cart__body .cart__checkout .cart__personal {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.cart .cart__body .cart__checkout .cart__personal input,
.cart .cart__body .cart__checkout .cart__personal textarea {
    height: 36px;
    width: 100%;
    border-bottom: 1px solid #DEE0E3;
    padding: 10px;
    background: initial;
}
.cart .cart__body .cart__checkout .cart__personal input._error {
    border-bottom: 1px solid #FF5722;
}
.cart .cart__body .cart__checkout .cart__personal textarea {
    height: 60px;
    resize: none;
}
.cart .cart__body .cart__checkout .cart__delivery {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.cart .cart__body .cart__checkout .cart__payment {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.cart .cart__box .thx {
    font-family: MontserratBlack, serif;
    font-size: 50px;
    color: #000;
}

.cart .cart__box .nr {
    font-family: MontserratBlack, serif;
    font-size: 28px;
    color: #000;
    text-align: center;
}

.cart .cart__box .nr span {
    font-family: MontserratBlack, serif;
    font-size: 50px;
    color: #959C79;
}

.cart .cart__box .err {
    font-family: MontserratBlack, serif;
    font-size: 50px;
    color: #9D1E15;
    text-align: center;
}

/**********   WORKS ***********/

.works .works__list {
    line-height: 0;
    column-count: 3;
    column-gap: 5px;
}
.works .works__list img {
    width: 100% !important;
    height: auto !important;
    margin-bottom:5px;
}

@media screen and (max-width: 768px) {
    .container {
        padding-left: 25px;
        padding-right: 25px;
    }
    .only_desktop {
        display: none !important;
    }
    .only_mobile {
        display: flex !important;
    }
    .product .container {
        flex-direction: column;
    }
    .footer .container {
        flex-direction: column;
        gap: 30px;
    }
    .footer .contact {
        align-items: center;
    }
    .footer .divider {
        display: none;
    }
    .footer .nav__menu {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
    .main__subscribe .form {
        flex-wrap: wrap;
    }
    .main__about .thumb {
        display: none;
    }
    .main__categories .category__list {
        gap: 20px;
        justify-content: center;
    }
    .main__sliders .main__slider .title,
    .main__sliders .main__slider .text {
        display: none;
    }
    .products .product__list {
        overflow: auto;
        width: 100%;
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
    .products .product__list .product__item {
        min-width: 270px;
    }
}

