@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap); * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    outline: none;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

body {
    font-family: "Rubik",sans-serif;
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    background: url(../images/bg.webp);
    background-position: center
}

ul {
    margin: 0;
    padding: 0;
    list-style-type: none
}

a {
    text-decoration: none
}

a,a:active {
    text-decoration: none;
    transition: .3s
}

a:hover {
    text-decoration: none;
    transition: .3s
}

p {
    margin: 0
}

svg path,svg circle,svg line,svg polyline {
    transition: .3s
}

img {
    max-width: 100%
}

.container {
    width: 1280px;
    margin: 0 auto
}

@media(max-width: 1439px) {
    .container {
        width:960px
    }
}

@media(max-width: 1023px) {
    .container {
        width:720px
    }
}

@media(max-width: 767px) {
    .container {
        width:100%;
        padding: 0 16px
    }
}

.checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
    height: 20px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-weight: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    color: #6e6e6e;
    font-family: "Rubik",sans-serif;
    color: #141f38;
    gap: 8px;
    margin-top: 24px;
    margin-bottom: 12px
}

.checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer
}

.checkmark {
    height: 20px;
    width: 20px;
    background-color: rgba(0,0,0,0);
    border: 2px solid #67a5ed;
    border-radius: 4px;
    transition: .3s;
    flex-shrink: 0
}

.checkmark:after {
    content: "";
    position: absolute;
    opacity: 0;
    transition: .3s;
    left: 7px;
    top: 4px;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg)
}

.checkbox input:checked~.checkmark {
    background-color: #67a5ed
}

.checkbox input:checked~.checkmark:after {
    opacity: 1
}

.btn {
    display: flex;
    background-color: #67a5ed;
    text-align: center;
    justify-content: center;
    color: #fff;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    padding: 18px 80px;
    border-radius: 12px;
    margin: 0 auto;
    width: fit-content;
    cursor: pointer
}

.btn--hidden {
    display: none
}

.btn-modal {
    transition: .2s ease-out;
    padding: 18px 80px;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #fff;
    outline: 0;
    border: 0;
    background-color: #67a5ed;
    border-radius: 12px;
    cursor: pointer
}

.btn-modal:hover {
    background-color: #4092f0
}

.btn-modal:disabled,.btn-modal[disabled] {
    background: #bed7f4
}

.header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    transition: .2s ease-out;
    z-index: 20
}

.header--scrolled {
    background-color: #eaedf4
}

.header .container {
    display: flex;
    justify-content: space-between
}

.logo {
    width: 567px;
    display: flex;
    margin-top: 10px;
    margin-bottom: 10px
}

@media(max-width: 1430px) {
    .logo {
        width:320px
    }
}

@media(max-width: 767px) {
    .logo {
        width:auto;
        max-width: 100%
    }
}

.cart {
    align-self: center;
    position: relative;
    cursor: pointer;
    margin-left: 20px
}

.cart.active svg path {
    stroke: #141f38
}

.cart__counter {
    position: absolute;
    bottom: -3px;
    right: -4px;
    z-index: 10;
    border-radius: 50%;
    background-color: #67a5ed;
    color: #fff;
    font-weight: 400;
    font-size: 14px;
    width: 24px;
    height: 24px;
    display: none;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 2px solid #e9ecf3
}

.open-modal-cart_none {
    display: none
}

.footer {
    background-color: #eaedf4;
    background-image: url(../images/footer-bg.webp);
    background-repeat: no-repeat;
    background-position: right bottom;
    padding: 20px 0
}

@media(max-width: 1430px) {
    .footer {
        padding:20px 0
    }
}

.footer .container {
    display: flex;
    align-items: flex-start;
    gap: 20px
}

@media(max-width: 1430px) {
    .footer .container {
        gap:10px
    }
}

@media(max-width: 1023px) {
    .footer .container {
        flex-direction:column
    }
}

.footer .logo {
    flex-shrink: 0;
    margin: 0;
    max-width: 350px
}

.footer__wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

@media(max-width: 1439px) {
    .footer__wrapper {
        gap:10px
    }
}

.footer__item {
    width: 180px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px
}

.footer__item--big {
    width: auto
}

.footer__title {
    font-weight: 400;
    font-size: 16px;
    line-height: 120%
}

.footer__list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #6e6e6e
}

.footer__list a {
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #6e6e6e;
    display: flex;
    align-items: center;
    gap: 8px
}

.footer__list a:hover {
    color: #67a5ed
}

.footer__bottom {
    margin-top: 64px;
    padding-top: 20px;
    border-top: 2px solid #c8cfdd;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px 80px;
    width: 100%
}

@media(max-width: 767px) {
    .footer__bottom {
        flex-direction:column;
        align-items: flex-start;
        gap: 30px;
        margin-top: 40px
    }
}

.footer__bottom a {
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #6e6e6e
}

.footer__bottom a:hover {
    color: #67a5ed
}

.footer__socials {
    display: flex;
    gap: 20px;
    width: 100%
}

.tg {
    display: flex;
    flex-shrink: 0;
    width: fit-content
}

.bot {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.bot img {
    width: 100%
}

.offer {
    background-color: #eaedf4;
    background-image: url(../images/offer-bg.webp);
    background-repeat: no-repeat;
    background-position: right center;
    padding: 60px 0 40px;
    max-height: 600px;
    background-size: 46%
}

@media(max-width: 1439px) {
    .offer {
        background-size:80%;
        background-position: 350px center;
        padding: 60px 0 40px
    }
}

@media(max-width: 1023px) {
    .offer {
        background-size:100%;
        background-position: 150px center
    }
}

@media(max-width: 767px) {
    .offer {
        background-image:none;
        padding: 60px 0 40px
    }
}

.offer__title {
    font-family: "Playfair Display",serif;
    font-weight: 500;
    font-size: 46px;
    line-height: 120%;
    max-width: 730px;
    margin-bottom: 28px
}

@media(max-width: 1023px) {
    .offer__title {
        font-size:40px;
        max-width: 400px
    }
}

@media(max-width: 767px) {
    .offer__title {
        font-size:32px
    }
}

.products__loader {
    display: flex;
    font-size: 24px
}

.offer__description {
    font-weight: 400;
    font-size: 24px;
    line-height: 140%;
    color: #232323;
    max-width: 550px
}

@media(max-width: 1023px) {
    .offer__description {
        font-size:16px;
        max-width: 400px
    }
}

.products {
    padding: 60px 0
}

.products__button {
    display: block;
    background-color: #67a5ed;
    padding: 12px 40px;
    border: 2px solid #67a5ed;
    color: #fff;
    font-size: 16px;
    line-height: 140%;
    border-radius: 8px;
    cursor: pointer;
    margin: 0 auto
}

.products__button[disabled] {
    background: #bed7f4;
    border: 2px solid #bed7f4;
    color: #fff;
    cursor: default
}

.products__button_hidden {
    display: none
}

@media(max-width: 767px) {
    .products {
        padding:40px 0
    }
}

.products__unique-note {
    display: none;
    padding-bottom: 60px;
    max-width: 620px;
    line-height: 140%;
    font-size: 20px
}

.products__unique-note_active {
    display: block
}

.products__title {
    font-weight: 500;
    font-size: 40px;
    line-height: 120%;
    margin-bottom: 40px;
    font-family: "Playfair Display",serif
}

.products__wrapper {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    margin-bottom: 60px
}

@media(max-width: 767px) {
    .products__wrapper {
        gap:20px;
        margin-bottom: 32px
    }
}

.product {
    position: relative;
    display: flex;
    flex-direction: column;
    width: calc(25% - 30px)
}

.product__icon {
    position: absolute;
    top: 20px;
    right: 20px;
    transition: opacity .2s ease-out
}

.product__icon_hidden {
    opacity: 0
}

@media(max-width: 1023px) {
    .product {
        width:calc(50% - 20px)
    }
}

@media(max-width: 767px) {
    .product {
        width:100%
    }
}

.product__image {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    background-color: #f3f4f8;
    border-radius: 12px;
    margin-bottom: 20px;
    transition: .2s ease-out;
    overflow: hidden;
    width: 100%;
    max-width: 400px
}

.product__image img {
    max-width: 100%;
    height: auto;
    object-fit: cover
}

.product__price {
    font-weight: 500;
    font-size: 28px;
    line-height: 120%;
    margin-bottom: 16px;
    margin-top: auto
}

@media(max-width: 767px) {
    .product__price {
        font-size:22px;
        margin-bottom: 10px
    }
}

.product__name {
    font-weight: 400;
    font-size: 18px;
    line-height: 120%;
    margin-bottom: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -moz-box;
    -moz-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    box-orient: vertical
}

.product__description {
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    color: #6e6e6e;
    margin-bottom: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -moz-box;
    -moz-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    box-orient: vertical
}

@media(max-width: 767px) {
    .product__description {
        margin-bottom:10px
    }
}

.add-to-cart {
    background-color: #67a5ed;
    width: 100%;
    padding: 12px 0;
    border: 2px solid #67a5ed;
    color: #fff;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    border-radius: 8px;
    transition: .2s ease-out;
    cursor: pointer
}

.add-to-cart_selected {
    background-color: #fff;
    color: #67a5ed;
    border-color: #67a5ed
}

.add-to-cart.product--disabled {
    border-color: #f3f4f8;
    background-color: #fff;
    color: #ccced6;
    pointer-events: none
}

@media(max-width: 767px) {
    .add-to-cart {
        font-size:14px
    }
}

.message,.message-remove {
    position: fixed;
    right: 20px;
    top: 120px;
    z-index: 40;
    padding: 16px 26px;
    font-size: 16px;
    line-height: 120%;
    background-color: #f3f4f8;
    border-radius: 8px;
    gap: 10px;
    display: flex;
    align-items: center;
    opacity: 0
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeOut {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.message,.message-remove {
    display: none
}

.message.hidden,.message-remove.hidden {
    animation: fadeOut .5s ease forwards
}

.message.active,.message-remove.active {
    display: flex;
    animation: fadeIn .5s ease forwards
}

.offer__button {
    background-color: #67a5ed;
    color: #fff;
    cursor: pointer;
    border-radius: 12px;
    text-align: center;
    padding: 18px 40px;
    font-size: 16px;
    margin-top: 28px;
    display: inline-block
}

@media(max-width: 767px) {
    .offer__button {
        padding:12px 88px
    }
}

.overlay {
    position: fixed;
    height: 100dvh;
    width: 100%;
    z-index: 100;
    background-color: rgba(0,0,0,.6);
    align-items: center;
    justify-content: center;
    display: none
}

.overlay.active {
    display: flex
}

.modal {
    max-width: 486px;
    display: none;
    flex-direction: column;
    position: relative;
    padding: 32px;
    background-color: #fff;
    border-radius: 16px;
    max-height: calc(100dvh - 40px);
    overflow-y: auto;
    -ms-overflow-style: none;
    overflow: -moz-scrollbars-none
}

@media(max-width: 767px) {
    .modal {
        max-width:340px;
        padding: 20px
    }
}

.modal::-webkit-scrollbar {
    width: 0
}

.modal.active {
    display: flex
}

.modal__warning {
    padding: 16px;
    background-color: #f5f7fa;
    font-size: 18px;
    line-height: 120%;
    border-radius: 12px;
    margin-bottom: 32px
}

.modal__close {
    position: absolute;
    right: 20px;
    top: 20px;
    cursor: pointer
}

.modal__title {
    font-family: "Playfair Display",serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 120%;
    margin-bottom: 28px
}

.modal__products {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-bottom: 32px;
    border-bottom: 2px solid #eaedf4;
    margin-bottom: 32px;
    transition: .2s ease-out
}

.modal__products.empty {
    border-color: red
}

.modal__product-content {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.modal__delete-button {
    all: unset;
    cursor: pointer;
    font-size: 14px;
    line-height: 120%;
    color: #6e6e6e
}

.modal__product {
    display: flex;
    align-items: center;
    gap: 12px
}

.modal__product-img {
    width: 70px;
    height: 70px;
    border-radius: 8px;
    background-color: #f3f4f8;
    flex-shrink: 0
}

.modal__product-info {
    display: flex;
    flex-direction: column
}

.modal__product-name {
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    margin-bottom: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -moz-box;
    -moz-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    line-clamp: 1;
    box-orient: vertical
}

.modal__product-price {
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    margin-bottom: 8px
}

.modal__product-remove {
    cursor: pointer;
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    color: #6e6e6e;
    transition: .2s ease-out
}

@media(hover: hover) {
    .modal__product-remove:hover {
        color:#67a5ed
    }
}

.modal__form {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.modal__form>button {
    transition: .2s ease-out;
    padding: 18px 0;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #fff;
    outline: 0;
    border: 0;
    background-color: #67a5ed;
    border-radius: 12px;
    cursor: pointer
}

.modal__form>button:hover {
    background-color: #4092f0
}

.modal__form>button:disabled,.modal__form>button[disabled] {
    background: #bed7f4
}

.loading {
    pointer-events: none;
    animation: buttonLoading 2s;
    animation-iteration-count: infinite
}

@keyframes buttonLoading {
    0% {
        opacity: 1
    }

    50% {
        opacity: .4
    }

    100% {
        opacity: 1
    }
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 16px;
    background-color: #f3f4f8;
    border-radius: 8px
}

.form-group label {
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    color: #6e6e6e
}

.form-group input,.form-group textarea {
    border: 0;
    background-color: rgba(0,0,0,0);
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    color: #141f38;
    font-family: "Rubik",sans-serif
}

.form-group input::placeholder,.form-group textarea::placeholder {
    color: #979797
}

.form-group textarea {
    resize: none;
    height: 60px
}

.error-msg {
    color: red;
    font-size: 12px
}

.modal__name {
    font-weight: 500;
    font-size: 28px;
    line-height: 120%;
    margin-bottom: 16px
}

.modal__icon {
    display: flex;
    margin-bottom: 16px
}

.modal__order {
    font-weight: 400;
    font-size: 18px;
    line-height: 120%;
    margin-bottom: 32px
}

.modal__order span {
    color: #6e6e6e
}

.modal__description {
    font-weight: 400;
    font-size: 18px;
    line-height: 120%;
    color: #6e6e6e;
    margin-bottom: 32px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.modal__description a {
    color: #67a5ed;
    text-decoration: underline
}

.modal__description a:hover {
    text-decoration: none
}

.modal__caption {
    font-weight: 400;
    font-size: 12px;
    color: #6e6e6e
}

.modal__caption a {
    color: #67a5ed;
    text-decoration: underline
}

.modal__caption a:hover {
    text-decoration: none
}

.checkbox__text a {
    color: #67a5ed;
    text-decoration: underline
}

.checkbox__text a:hover {
    text-decoration: none
}

.modal__body>.btn {
    width: 100%
}

.modal__products-empty {
    display: none;
    flex-direction: column;
    margin-bottom: 32px;
    border-top: 2px solid #eaedf4;
    padding-top: 32px
}

.modal__products-empty.active {
    display: flex
}

.modal__products-empty span {
    font-weight: 600;
    font-size: 18px;
    line-height: 120%;
    color: #6e6e6e;
    margin-bottom: 12px
}

.modal__products-empty li {
    font-weight: 400;
    font-size: 18px;
    line-height: 120%;
    color: #3a82d6;
    margin-bottom: 8px
}

.modal__products-unreachable li {
    text-decoration: line-through;
    color: #6e6e6e
}

.open-modal-cart__svg {
    background: rgba(0,0,0,0);
    border: none
}

.open-modal-cart__svg:disabled {
    cursor: default
}

/*# sourceMappingURL=scripts.80357c82dc12c572395d.css.map*/
