

/* Start:/local/templates/foodshe/css/reset.css?17591400191511*/

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
  margin: 0px;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}
a {
  text-decoration: none;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
  border: none;
}

button {
  color: inherit;
  border: none;
  cursor: pointer;
  margin: 0;
  outline: none;
  padding: 0;
  background: transparent;
  text-align: left;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/* End */


/* Start:/local/templates/foodshe/css/style.min.css?1759841918234508*/
:root {
    --color-accent: #ec374a;
    --color-accent-rgb: 236, 55, 74;
    --color-primary-rgb: 0, 0, 0;
    --color-primary-rgb-inverse: 255, 255, 255;
    --color-text: #353535;
    --color-text-inverse: #fff;
    --color-secondary-bg: #f4f4f4;
    --color-background-page: #fff;
    --color-background-navbar: transparent;
    --color-background-basket: #fff;
    --mobile-navbar-color-light: #fff;
    --mobile-navbar-color-dark: #646464;
    --overlay-opacity-light: 0.15;
    --overlay-opacity-dark: 0.06;
    --radius-xs: 6px;
    --radius-sm: 8px;
    --radius-md: 15px;
    --radius-lg: 24px;
    --radius-xl: 36px;
    --weight-regular: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
    --weight-extrabold: 800;
    --letter-spacing-xs: -0.2px;
    --letter-spacing-sm: -0.4px;
    --letter-spacing-md: -0.5px;
    --letter-spacing-lg: -1px;
    --font-xxs: 12px;
    --line-xxs: 15px;
    --font-xs: 13px;
    --line-xs: 15px;
    --font-sm: 14px;
    --line-sm: 18px;
    --font-md: 15px;
    --line-md: 18px;
    --font-base: 16px;
    --line-base: 20px;
    --font-lg: 17px;
    --line-lg: 20px;
    --font-1xl: 18px;
    --line-1xl: 22px;
    --font-2xl: 19px;
    --line-2xl: 24px;
    --font-3xl: 20px;
    --line-3xl: 24px;
    --font-4xl: 24px;
    --line-4xl: 28px;
    --font-4xxl: 28px;
    --line-4xxl: 32px;
    --font-5xxl: 32px;
    --line-5xxl: 36px;
    --swiper-pagination-bullet-horizontal-gap: 2px;
    --swiper-pagination-bottom: 10px;
    --gift-progress: 0.2;
    --visible: auto;
    --color-status-7: #65C466;
    --color-status-0: #EA4848;
    --color-status-9: #2F46DD;
    --color-status-8: #A40EC1;
    --color-status-6: #27A37E;
    --color-status-1: #000000;
    --color-status-2: #000000;
    --color-status-3: #9a5dc4;
    --color-status-4: #ea8636;
    --color-status-5: #c46519;
    --color-status-10: #6568c4;
    --color-status-11: #65C466;
    --color-status-333: #A700B3;
    --safe-area-inset-top: env(safe-area-inset-top);
    --safe-area-inset-right: env(safe-area-inset-right);
    --safe-area-inset-bottom: env(safe-area-inset-bottom);
    --safe-area-inset-left: env(safe-area-inset-left)
}

.navbar-ligth-theme {
    --color-primary-rgb: 255, 255, 255;
    --color-primary-rgb-inverse: 0, 0, 0;
    --color-text: #fff;
    --color-text-inverse: #000;
    --overlay-opacity-light: 0.06
}

.navbar-bg-dark {
    --color-background-navbar: #000
}

.navbar-bg-ligth {
    --color-background-navbar: #fff;
    --overlay-opacity-light: 0.06
}

.index-page {
    --color-background-page: #fff
}

.checkout-page {
    --color-background-page: #F5F5F7
}

@media screen and (max-width: 767px) {
    .checkout-page {
        --color-background-page: #fff
    }
}

body {
    font-family: Onest, sans-serif;
    font-optical-sizing: auto;
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-sm);
    font-style: normal
}

* {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smooth: never;
    -webkit-tap-highlight-color: transparent
}

h3 {
    font-size: var(--font-1xl);
    line-height: var(--line-1xl);
    letter-spacing: var(--letter-spacing-md);
    font-weight: var(--weight-semibold);
    margin-top: 25px
}

h3:first-child {
    margin-top: 0
}

p {
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-regular);
    margin-top: 12px
}

a:hover {
    color: var(--color-accent)
}

fieldset {
    border: 0;
    margin: 0;
    min-width: 0;
    padding: .01em 0 0
}

form {
    margin-bottom: 0
}

@keyframes scroll {
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(-50%)
    }
}

@keyframes shake {
    0%, 100% {
        transform: translateX(0)
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-1px)
    }
    20%, 40%, 60%, 80% {
        transform: translateX(1px)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes numberMorph {
    0% {
        transform: scale(1)
    }
    50% {
        transform: scale(1.15);
        filter: brightness(1.2)
    }
    100% {
        transform: scale(1)
    }
}

@keyframes basket-shake {
    0%, 100% {
        transform: translateX(0)
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-1px)
    }
    20%, 40%, 60%, 80% {
        transform: translateX(1px)
    }
}

@keyframes basket-spin {
    0% {
        transform: translate(-50%, -50%) rotate(0)
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg)
    }
}

@keyframes gift-sparkle {
    0% {
        transform: translate(0, 0);
        opacity: 0
    }
    15% {
        opacity: 1
    }
    100% {
        transform: translate(var(--_shift-x), var(--_shift-y));
        opacity: 0
    }
}

@keyframes gift-shake {
    0%, 100% {
        transform: translate(-50%, -50%) rotate(0)
    }
    10% {
        transform: translate(-50%, -50%) rotate(-3deg) scale(1.05)
    }
    20% {
        transform: translate(-50%, -50%) rotate(3deg) scale(.95)
    }
    30% {
        transform: translate(-50%, -50%) rotate(-2deg) scale(1.02)
    }
    40% {
        transform: translate(-50%, -50%) rotate(2deg) scale(.98)
    }
    50% {
        transform: translate(-50%, -50%) rotate(-1deg) scale(1.01)
    }
    60% {
        transform: translate(-50%, -50%) rotate(1deg) scale(.99)
    }
    70%, 90% {
        transform: translate(-50%, -50%) rotate(0) scale(1)
    }
}

@keyframes like-bounce {
    0% {
        transform: scale(1)
    }
    50% {
        transform: scale(1.3)
    }
    100% {
        transform: scale(1)
    }
}

@keyframes like-burst {
    0% {
        opacity: .8;
        transform: translate(-50%, -50%) scale(1)
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(2.5)
    }
}

@keyframes like-spinner {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes shakeProduct {
    0%, 100% {
        transform: translateX(0)
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-1px)
    }
    20%, 40%, 60%, 80% {
        transform: translateX(1px)
    }
}

@keyframes address-spinner {
    to {
        transform: rotate(360deg)
    }
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(var(--color-primary-rgb), .3);
    z-index: 200;
    pointer-events: none;
    opacity: 0;
    transition: opacity .3s ease
}

body.basket-open::before {
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0.1s
}

.admin-panel-visible .navbar-cats {
    top: 39px
}

.admin-panel-visible .floating-button-wrapper {
    top: 100px
}

.admin-panel-visible .basket {
    margin-top: 39px;
    max-height: calc(100vh - 40px)
}

@media screen and (max-width: 1279px) {
    .admin-panel-visible .basket {
        max-height: calc(100vh - 60px)
    }
}

.switcher {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    padding: 12px 15px;
    background: var(--color-secondary-bg);
    border-radius: var(--radius-md)
}

.switcher-label {
    font-size: var(--font-base);
    color: var(--color-text);
    flex: 1
}

.switcher-container {
    position: relative;
    display: flex;
    align-items: center
}

.switcher-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.switcher-track {
    width: 44px;
    height: 24px;
    background-color: #e5e5e5;
    border-radius: 12px;
    position: relative;
    transition: background-color .3s ease;
    cursor: pointer
}

.switcher-thumb {
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 2px;
    left: 2px;
    transition: transform .3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2)
}

.switcher-input:checked + .switcher-track {
    background-color: var(--color-accent)
}

.switcher-input:checked + .switcher-track .switcher-thumb {
    transform: translateX(20px)
}

.switcher-labelWithIcon {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 3px
}

.checkbox {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
    background-color: var(--color-text-inverse);
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.checkbox-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(100%);
    clip-path: inset(100%)
}

.check-check {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(var(--color-primary-rgb), .2);
    border-radius: var(--radius-xs);
    transition: all .2s ease-in-out
}

.checkbox-label {
    position: relative;
    display: block;
    color: var(--color-text);
    font-weight: var(--weight-medium);
    font-size: var(--font-base);
    line-height: var(--line-base);
    text-align: left
}

.checkbox-input:checked ~ .check-check {
    background-color: var(--color-text);
    border-color: var(--color-text)
}

.checkbox-input:checked ~ .check-check:after {
    content: '';
    width: 10px;
    height: 6px;
    position: absolute;
    top: 5px;
    left: 4px;
    border: 1.5px solid var(--color-text-inverse);
    border-top: none;
    border-right: none;
    background: 0 0;
    opacity: 1;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.main-input {
    position: relative;
    width: 100%;
    height: 58px
}

.input {
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 18px 15px 0;
    color: var(--color-text);
    font-size: var(--font-lg);
    font-weight: var(--weight-medium);
    line-height: var(--line-lg);
    white-space: nowrap;
    text-overflow: ellipsis;
    background: rgba(var(--color-primary-rgb), .03);
    border-radius: var(--radius-md);
    top: 0;
    left: 0;
    z-index: 1;
    border: none;
    outline: 0;
    overflow: hidden;
    transition: .3s
}

.input:focus, .input:hover {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark));
    outline: 0;
    box-shadow: none
}

.main-input > label {
    position: absolute;
    color: rgba(var(--color-primary-rgb), .7);
    font-weight: 500;
    transform: translateY(-50%);
    top: 50%;
    left: 15px;
    z-index: 2;
    transition: .3s;
    cursor: auto;
    user-select: none
}

.input:focus + label, .input:not(:placeholder-shown).input:not(:focus) + label {
    top: 34%;
    font-size: var(--font-xs)
}

.input::placeholder {
    color: rgba(var(--color-primary-rgb), .5)
}

.input:disabled {
    cursor: not-allowed;
    background: rgba(var(--color-primary-rgb), .06);
    opacity: 1
}

.input-button {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    height: 40px;
    padding: 0 10px;
    top: 50%;
    right: 10px;
    overflow: hidden;
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-medium);
    background-color: rgba(var(--color-primary-rgb-inverse), 1);
    border-radius: var(--radius-md);
    transform: translateY(-50%);
    transition: background-color .2s, color .2s;
    z-index: 2
}

.input-button:hover::before {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark));
    border-radius: var(--radius-md)
}

.input-button:disabled {
    cursor: not-allowed;
    background-color: rgba(var(--color-primary-rgb-inverse), .05);
    color: rgba(var(--color-primary-rgb-inverse), .4)
}

.main-input.with-icon svg {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 16px
}

.main-input.with-icon .input {
    padding: 0 16px 0 40px
}

.main-textarea {
    position: relative;
    width: 100%;
    height: 100px;
    border-radius: var(--radius-md)
}

.textarea {
    position: absolute;
    font-weight: 300;
    background-color: rgba(var(--color-primary-rgb), .03);
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    color: var(--color-text);
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    resize: none;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--color-primary-rgb), .2) transparent;
    padding: 30px 15px 15px;
    border-radius: var(--radius-md);
    outline: 0;
    transition: .3s
}

.main-textarea > label {
    position: absolute;
    top: 25px;
    left: 8px;
    padding: 0 6px;
    background-color: rgb(247 247 247);
    color: rgba(var(--color-primary-rgb), .7);
    font-weight: 500;
    border-radius: 12px;
    transform: translateY(-50%);
    transition: transform .3s ease, top .3s ease, font-size .3s ease;
    pointer-events: none;
    cursor: auto;
    z-index: 2
}

.textarea:focus + label {
    top: 20px;
    font-size: var(--font-sm)
}

.textarea:not(:placeholder-shown).textarea:not(:focus) + label {
    top: 20px;
    font-size: var(--font-sm)
}

.textarea:focus, .textarea:hover {
    background-color: rgba(var(--color-primary-rgb), .06);
    outline: 0;
    box-shadow: none
}

.textarea:focus + label, .textarea:hover + label {
    background-color: #f0f0f0
}

.dropdown {
    position: relative;
    width: 100%;
    height: 58px
}

.dropdown-trigger {
    position: relative;
    width: 100%;
    height: 58px;
    background-color: var(--color-secondary-bg);
    border-radius: var(--radius-md);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    transition: background-color .2s ease-in-out
}

.dropdown-trigger:hover {
    background-color: rgba(var(--color-primary-rgb), .02)
}

.dropdown-LabelContainer.with-icon {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px
}

.dropdown-label {
    position: relative;
    display: block;
    color: var(--color-text);
    font-weight: 400;
    font-size: 13px;
    line-height: 130%;
    text-align: left
}

.dropdown-value {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium)
}

.dropdown-arrow {
    width: 12px;
    height: 12px;
    transition: transform .2s ease-in-out
}

.dropdown-arrow.open {
    transform: rotate(180deg)
}

.dropdown-content {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10;
    min-width: max-content;
    width: auto;
    background-color: var(--color-text-inverse);
    border-radius: var(--radius-md);
    box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
    overflow: auto;
    max-height: 300px;
    display: none;
    opacity: 0;
    transition: opacity .2s ease-in-out;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--color-primary-rgb), .2) transparent
}

.dropdown-content.open {
    display: block;
    opacity: 1
}

.dropdown-item {
    position: relative;
    padding: 12px 14px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(var(--color-primary-rgb), .05)
}

.dropdown-item.disabled {
    opacity: .5;
    cursor: not-allowed;
    pointer-events: none
}

.dropdown-item:hover {
    background-color: rgba(var(--color-primary-rgb), .02)
}

.dropdown-item:last-child {
    border-bottom: none
}

.dropdown-item.selected::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-primary, #333f48);
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%)
}

.input-loading {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: #e76187;
    pointer-events: none;
    z-index: 1
}

.input-loading svg {
    width: 16px;
    height: 16px;
    animation: spin 1s linear infinite
}

.AnimatedModal {
    opacity: 0;
    transform: translateY(100%);
    transition: transform .6s cubic-bezier(.33, 1, .68, 1), opacity .6s ease;
    visibility: hidden
}

.AnimatedModal.Opened {
    opacity: 1;
    transform: translateY(0);
    visibility: visible
}

.SwipeTrigger-container {
    display: none
}

.Basket-ModalFixer {
    margin: 0 15px 0 0
}

.Float-ModalFixer {
    margin: 0 15px 0 0
}

.hover-before::before {
    pointer-events: none;
    content: "";
    position: absolute;
    z-index: 20;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    transition: background-color .2s ease;
    pointer-events: none
}

.modal-open {
    overflow: hidden;
    position: relative;
    width: calc(100% - 15px);
    -ms-touch-action: none;
    touch-action: none;
    -ms-scroll-chaining: none;
    overscroll-behavior: none;
    -webkit-overflow-scrolling: auto
}

.modal-spacer {
    flex-grow: 1
}

.we-are-closed {
    display: flex;
    flex-direction: row;
    position: relative;
    width: 100%;
    height: 40px;
    gap: 10px;
    align-items: center;
    justify-content: center;
    padding-right: 360px;
    background: var(--color-text);
    color: var(--color-text-inverse);
    font-weight: var(--weight-medium);
    font-size: var(--font-base);
    line-height: var(--line-base)
}

.bonus-icon::after {
    content: "";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    margin-left: 1px;
    margin-right: 1px;
    padding-top: 10px;
    background-color: rgba(var(--color-primary-rgb), 1);
    mask-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.00004 7.35957C3.00004 7.10952 3.13515 6.87863 3.35403 6.75277L6.44718 5.09491C6.66588 4.96836 6.94006 4.96836 7.15876 5.09491C7.26544 5.15665 9.5508 6.80476 9.71539 6.9C9.87997 6.99524 10.1201 6.99524 10.2847 6.9C10.4492 6.80476 12.7346 5.15665 12.8413 5.09491C13.0546 4.97145 13.3395 4.97145 13.5529 5.09491L16.646 6.75277C16.8649 6.8778 17 7.10952 17 7.36041V11.1778C17 11.4287 16.8649 11.6612 16.6433 11.7863L10.5657 15.3537C10.226 15.5488 9.77406 15.5488 9.43436 15.3537L3.35673 11.7863C3.13575 11.6563 2.99723 11.42 3.00004 11.1778V7.35957Z" fill="CurrentColor"/></svg>');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center
}

.bonus-icon.big::after {
    width: 30px;
    height: 30px;
    padding-top: 18px
}

.bonus-icon.inverse::after {
    background-color: rgba(var(--color-primary-rgb-inverse), 1)
}

.custom-list {
    list-style: none;
    padding-left: 0;
    margin: 1em 0
}

.custom-list li {
    position: relative;
    padding-left: 15px;
    margin-bottom: 6px
}

.custom-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--color-text);
    font-size: 1.2em
}

.spinner {
    pointer-events: none;
    min-width: 20px
}

.spinner {
    min-width: 20px;
    min-height: 20px
}

.spinner svg {
    display: none
}

.spinner::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 1.5px solid var(--color-secondary-bg);
    border-top-color: var(--color-accent);
    border-radius: 50%;
    animation: like-spinner .8s linear infinite
}

.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh
}

.page-wrapper {
    background-color: var(--color-background-page)
}

.navbar {
    display: block;
    height: 59px
}

.index-page .navbar {
    height: auto;
    border-bottom: none
}

.navbar-header {
    position: absolute;
    right: 0;
    left: 0;
    transition: box-shadow .2s ease-in-out;
    color: var(--color-text-inverse);
    z-index: 10
}

.navbar-header.inner {
    position: relative;
    border-bottom: 1px solid rgba(var(--color-primary-rgb), .06)
}

.navbar-nav {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    grid-gap: 5px;
    gap: 5px;
    padding: 0 20px;
    background: var(--color-background-navbar)
}

.navbar-nav svg path {
    fill: var(--color-text-inverse)
}

.navbar-nav-left {
    display: flex;
    align-items: center;
    justify-self: start;
    gap: 5px
}

.navbar-nav-center {
    display: block;
    justify-self: center
}

.navbar-nav-right {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: 5px
}

.navbar-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: -moz-fit-content;
    width: fit-content;
    height: 58px
}

.navbar-logo svg {
    max-height: 56px
}

.navbar .nav-wrapper {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 38px;
    height: 38px;
    max-height: 38px;
    padding: 8px;
    border-radius: var(--radius-sm)
}

.navbar .nav-wrapper:hover::before {
    border-radius: var(--radius-sm);
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light))
}

.navbar .basket-clear-button.nav-wrapper:hover::before {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.navbar .nav-wrapper .nav-text {
    font-size: var(--font-base);
    line-height: var(--line-base);
    color: var(--color-text-inverse);
    padding: 0 8px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    min-width: 40px
}

.btn-prev-wrapper {
    display: none
}

.basket-button-container {
    display: flex;
    flex-direction: row
}

.floating-button-wrapper {
    display: block;
    position: fixed;
    right: 0;
    top: 60px;
    z-index: 90;
    padding: 15px;
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
    transition: opacity .3s ease, transform .3s ease
}

.floating-button-wrapper.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto
}

.floating-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 250px;
    height: 52px;
    margin: auto;
    background-color: var(--color-accent);
    border-radius: var(--radius-xl);
    transition: .15s;
    padding: 0 30px;
    cursor: pointer
}

.floating-button .price {
    display: flex;
    font-size: var(--font-1xl);
    line-height: var(--line-1xl);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--letter-spacing-md)
}

.floating-button .desc {
    font-size: var(--font-md);
    line-height: var(--line-md);
    color: rgba(255, 255, 255, .6);
    font-weight: var(--weight-medium)
}

.floating-button svg path {
    fill: var(--color-text)
}

.basket-button.disabled, .floating-button.disabled {
    pointer-events: none;
    cursor: not-allowed
}

.floating-order {
    cursor: pointer
}

.floating-order-wrapper {
    display: block;
    position: fixed;
    left: 15px;
    bottom: 15px;
    z-index: 90;
    opacity: 1;
    transform: translateY(-10px);
    transition: opacity .3s ease, transform .3s ease
}

.floating-order-wrapper.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto
}

.floating-order {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 52px;
    gap: 15px;
    margin: auto;
    border-radius: var(--radius-xl);
    transition: .15s;
    padding: 0 20px 0 15px;
    cursor: pointer
}

.floating-order .icon-container {
    position: relative;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center
}

.floating-order .icon-container img {
    z-index: 2
}

.floating-order .spinners {
    position: absolute;
    top: -6px;
    left: -6px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: conic-gradient(from 0deg, transparent, rgba(255, 255, 255, .5), transparent);
    animation: spin 1s linear infinite
}

.floating-order .spinners::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    right: 2px;
    bottom: 2px;
    background: var(--bg-color-order);
    border-radius: 50%
}

.floating-order .status {
    display: flex;
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--letter-spacing-md)
}

.floating-order svg path {
    fill: var(--color-text)
}

.loader-content {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px
}

.nav-text svg {
    display: block;
    margin: 0 auto
}

.banner-container {
    position: relative;
    height: auto
}

picture {
    width: 100%;
    height: 100%;
    display: block
}

.banner-image-strip {
    display: flex;
    left: calc((100vw - 100%) / 1 * -1);
    width: 100vw;
    -webkit-transition: width .4s cubic-bezier(.3, 0, .3, 1), left .4s cubic-bezier(.3, 0, .3, 1);
    transition: width .4s cubic-bezier(.3, 0, .3, 1), left .4s cubic-bezier(.3, 0, .3, 1);
    height: 550px
}

.promo-img {
    min-width: 100%;
    max-width: 100%;
    min-height: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
    overflow: hidden
}

.promo-video {
    min-width: 100%;
    max-width: 100%;
    min-height: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
    overflow: hidden
}

.slide-container {
    position: relative;
    width: 100%;
    height: 100%
}

.media-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden
}

.slide-poster {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity .5s ease-in-out
}

.slide-poster.fade-out {
    opacity: 0
}

.slide-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .5s ease-in-out
}

.slide-video.show {
    opacity: 1
}

.slide-video.hidden {
    opacity: 0;
    pointer-events: none
}

.video-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    opacity: 1;
    transition: opacity .3s ease-out
}

.video-loader.hide {
    opacity: 0;
    pointer-events: none
}

.loader-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(255, 255, 255, .3);
    border-top: 3px solid rgba(255, 255, 255, .8);
    border-radius: 50%;
    animation: spin 1s linear infinite
}

.slide-container[data-state=loading] .video-loader {
    opacity: 1
}

.slide-container[data-state=video-ready] .video-loader {
    opacity: 0
}

.slide-container[data-state=video-playing] .slide-poster {
    opacity: 0
}

.slide-container[data-state=video-playing] .slide-video {
    opacity: 1
}

.media-container * {
    transition: opacity .5s cubic-bezier(.4, 0, .2, 1)
}

.basket {
    position: fixed;
    z-index: 300;
    top: 0;
    right: 0;
    width: 360px;
    height: 100vh;
    padding: 0;
    background-color: var(--color-background-basket);
    border-left: 1px solid rgba(var(--color-primary-rgb), .06);
    pointer-events: auto
}

.basketModal-ContentContainer {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%
}

.basket-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 59px;
    padding: 0 20px 0 20px;
    border-bottom: 1px solid rgba(var(--color-primary-rgb), .06)
}

.basket-header-inner {
    display: flex;
    align-items: center;
    gap: 4px
}

.basket-header-title {
    position: relative;
    display: block;
    color: var(--color-text);
    font-weight: var(--weight-semibold);
    font-size: var(--font-3xl);
    line-height: var(--line-3xl);
    letter-spacing: var(--letter-spacing-md);
    text-align: left
}

.basket-header svg path {
    path: var(--color-text)
}

.basket-close-button {
    margin: 0;
    border: none;
    font: inherit;
    cursor: pointer;
    width: 32px;
    height: 32px;
    border-radius: 22px;
    padding: 7px 10px;
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(var(--color-primary-rgb), .05);
    transition: transform .1s ease-in-out;
    z-index: 1
}

.basket-close-button:hover {
    transform: scale(1.1)
}

.basket-clear-button {
    background: 0 0;
    border: none
}

.basket-clear-button.disabled {
    opacity: .3;
    cursor: default
}

.basket-clear-button.disabled:hover::before {
    display: none
}

.basket-body {
    display: flex;
    flex-direction: column;
    grid-gap: 24px;
    height: 100%;
    max-height: calc(100% - 58px);
    padding: 20px 10px 10px 20px
}

.basket-scrollable-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100%;
    margin: -20px 0 0 0;
    padding: 20px 10px 30px 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -ms-overflow-style: none;
    scrollbar-width: none
}

.basket-scrollable-content::-webkit-scrollbar {
    display: none
}

.basket-unavailable-alert {
    margin-bottom: 16px;
    background: #fff8e1;
    border-radius: var(--radius-md);
    padding: 16px;
    color: var(--color-text);
    font-size: var(--font-sm);
    line-height: var(--line-sm)
}

.basket-unavailable-alert button {
    display: flex;
    align-items: center;
    padding: 6px 16px;
    background: var(--color-secondary-bg);
    color: var(--color-text);
    border: none;
    border-radius: var(--radius-lg);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: 500;
    cursor: pointer;
    transition: all .2s ease;
    min-height: 26px
}

.basket-item {
    display: flex;
    margin-bottom: 15px
}

.basket-item--unavailable {
    opacity: .6;
    position: relative
}

.basket-remove-btn {
    display: flex;
    align-items: center;
    padding: 6px 16px;
    background: var(--color-secondary-bg);
    color: var(--color-text);
    border: none;
    border-radius: var(--radius-lg);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: 500;
    cursor: pointer;
    transition: all .2s ease;
    min-height: 26px
}

.basket-remove-btn:hover {
    background: #dbdbdb
}

.basket-item-image-wrapper {
    position: relative
}

.basket-item-image-wrapper {
    position: relative;
    width: 92px;
    height: 92px;
    flex-shrink: 0;
    background: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.5367 7.94734C16.7882 7.07839 14.4669 6.59961 12.0002 6.59961C9.53352 6.59961 7.21215 7.07839 5.46368 7.94734C3.68142 8.83328 2.7002 10.0238 2.7002 11.2995C2.7002 11.3209 2.7002 11.3427 2.70092 11.3608V11.3634C2.72635 12.9916 3.71266 14.5147 5.4793 15.6528C7.22777 16.7794 9.54369 17.3996 12.0002 17.3996C14.4567 17.3996 16.7726 16.7794 18.5211 15.6528C20.2885 14.5144 21.2751 12.9898 21.2995 11.3641V11.3623C21.3002 11.3416 21.3002 11.3202 21.3002 11.2995C21.3002 10.0238 20.319 8.83328 18.5367 7.94734ZM18.3631 15.3996C16.6611 16.4959 14.4015 17.0994 12.0002 17.0994C9.59891 17.0994 7.3393 16.4959 5.63732 15.3996C4.66446 14.7728 3.9408 14.0275 3.49941 13.2142C4.90386 14.8126 8.01791 15.9374 11.6936 15.9968C11.6947 15.9972 11.6958 15.9972 11.6972 15.9972C11.792 15.9987 11.8912 15.9998 12.0002 15.9998C12.1092 15.9998 12.2084 15.9987 12.3032 15.9972C12.3046 15.9972 12.3057 15.9968 12.3068 15.9968C15.9832 15.9374 19.098 14.8119 20.5021 13.2131C20.0607 14.0264 19.3367 14.7724 18.3631 15.3996ZM8.86653 12.1747C8.86653 11.4021 10.3015 10.7499 12.0002 10.7499C13.6989 10.7499 15.1339 11.4021 15.1339 12.1747C15.1339 12.947 13.6989 13.5996 12.0002 13.5996C10.3015 13.5996 8.86653 12.947 8.86653 12.1747ZM3.25166 12.3386C3.1078 12.0099 3.02114 11.6583 2.99554 11.2995C2.99554 10.1445 3.91791 9.04997 5.59337 8.21681C7.30224 7.36742 9.57747 6.89972 12.0002 6.89972C14.4229 6.89972 16.6981 7.36742 18.407 8.21681C20.0825 9.04997 21.0048 10.1445 21.0048 11.2995C21.0048 11.3165 21.0048 11.3342 21.0041 11.3545C20.9769 12.425 20.1504 13.4457 18.6708 14.2453C19.462 13.6487 19.919 12.9381 19.919 12.1747C19.919 11.1315 19.0802 10.1603 17.5573 9.44015C16.0704 8.73693 14.0971 8.34971 12.0002 8.34971C9.90334 8.34971 7.92999 8.73693 6.44308 9.44015C4.92021 10.1603 4.08139 11.1315 4.08139 12.1747C4.08139 12.9381 4.5384 13.6487 5.32962 14.2453C4.58998 13.8455 4.01346 13.3903 3.61857 12.9016C3.46513 12.7369 3.34098 12.5464 3.25166 12.3386Z" fill="%23f1f1f1"/></svg>') 50% center/contain no-repeat;
    border-radius: var(--radius-sm);
    overflow: hidden;
    user-select: none
}

.basket-item-image-wrapper:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--color-primary-rgb), .03)
}

.basket-item-nosale {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding: 1px;
    border-radius: var(--radius-xl);
    background-color: var(--color-text-inverse);
    position: absolute;
    bottom: 5px;
    right: 5px;
    z-index: 1
}

.basket-item-image {
    height: 100%;
    width: 100%;
    inset: 0px;
    color: transparent
}

.basket-item-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    margin-left: 10px
}

.basket-item-title-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.basket-item-title {
    display: -webkit-box;
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium);
    overflow: hidden;
    color: var(--color-text);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

.basket-item-subtitle {
    font-size: var(--font-xs);
    font-weight: var(--weight-medium);
    line-height: var(--line-xs);
    color: rgba(var(--color-primary-rgb), .5)
}

.basket-item-footer {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.basket-item .basket-actions {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    min-width: 90px;
    height: 30px;
    padding: 6px 15px;
    cursor: default;
    -webkit-user-select: none;
    user-select: none;
    background-color: var(--color-secondary-bg);
    border-radius: var(--radius-lg)
}

.basket-item .basket-actions .basket-action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 12px;
    cursor: pointer
}

.basket-item .basket-actions .basket-action-btn .icon {
    position: relative;
    width: 12px;
    height: 12px;
    display: flex
}

.basket-item .basket-amount {
    font-size: var(--font-sm)
}

.basket-item .basket-amount-value {
    transition: all .3s cubic-bezier(.4, 0, .2, 1);
    display: inline-block
}

.basket-item .basket-amount.updating .basket-amount-value {
    transform: scale(1.2);
    color: #007bff;
    text-shadow: 0 0 8px rgba(0, 123, 255, .3)
}

.basket-item .basket-amount.updating {
    animation: numberMorph .4s ease-out
}

.basket-item .basket-actions.shake {
    animation: basket-shake .6s cubic-bezier(.36, .07, .19, .97)
}

.basket-item .basket-action-btn.loading {
    opacity: .7;
    cursor: not-allowed;
    pointer-events: none;
    position: relative
}

.basket-item .basket-action-btn.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 14px;
    height: 14px;
    border: 1.5px solid #e0e0e0;
    border-top-color: var(--color-accent);
    border-radius: 50%;
    animation: basket-spin .8s linear infinite;
    z-index: 2
}

.basket-item .basket-action-btn.loading .icon {
    opacity: .3
}

.basket-item .basket-action-btn.disabled {
    opacity: .3
}

.basket-item .basket-action-btn:not(.disabled):not(.loading) {
    cursor: pointer;
    transition: opacity .2s ease, transform .1s ease
}

.basket-item .basket-action-btn:not(.disabled):not(.loading):hover {
    opacity: .8;
    transform: scale(1.05)
}

.basket-price-wrapper {
    display: flex;
    align-items: center
}

.basket-price {
    font-size: var(--font-base);
    font-weight: var(--weight-semibold);
    line-height: var(--line-base);
    letter-spacing: var(--letter-spacing-md)
}

.basket-price-old {
    position: relative;
    margin-right: 5px;
    color: rgba(var(--color-primary-rgb), .4);
    letter-spacing: var(--letter-spacing-md)
}

.basket-price-old:before {
    background: #ff6900;
    opacity: .55;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    top: calc(50% + -1px);
    transform: rotate(-3deg);
    width: 105%
}

.basket-bonus {
    display: flex;
    position: relative;
    overflow: hidden;
    color: var(--color-accent);
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 6px 10px 6px 10px;
    background: rgba(var(--color-accent-rgb), .05);
    border-radius: var(--radius-lg);
    font-size: var(--font-sm);
    gap: 5px;
    user-select: none;
    cursor: pointer
}

.giftWithPrice span {
    font-size: var(--font-base);
    line-height: var(--line-base);
    letter-spacing: var(--letter-spacing-sm)
}

.gift-section {
    display: flex;
    align-items: center;
    background-color: rgba(var(--color-accent-rgb), .05);
    border-radius: var(--radius-sm);
    padding: 8px 8px;
    cursor: pointer
}

.gift-section:not(.gift-section--available):not(.gift-section--selected) {
    cursor: default
}

.gift-progress-circle--complete {
    stroke-dashoffset: 0 !important;
    stroke: var(--color-accent)
}

.gift-progress-ring {
    position: relative;
    width: 46px;
    height: 46px;
    margin-right: 12px
}

.gift-icon-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center
}

.gift-icon-wrapper svg path {
    stroke: var(--color-accent)
}

.gift-progress-svg {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.gift-progress-bg, .gift-progress-circle {
    fill: none;
    stroke-width: 2;
    cx: 23;
    cy: 23;
    r: 21
}

.gift-progress-bg {
    stroke: rgba(var(--color-primary-rgb), .09)
}

.gift-progress-circle {
    stroke: var(--color-accent);
    stroke-linecap: round;
    stroke-dasharray: 130.6;
    stroke-dashoffset: calc(125.6 * (1 - var(--gift-progress)));
    transition: stroke-dashoffset .3s ease
}

.gift-progress-text .gift-progress-main {
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-semibold);
    color: var(--color-text)
}

.gift-progress-text .gift-progress-sub {
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium);
    color: rgba(var(--color-primary-rgb), .6);
    padding-top: 1px
}

.gift-sparkles {
    pointer-events: none;
    position: absolute;
    inset: 0;
    line-height: 1;
    z-index: 1
}

.gift-sparkle {
    --_duration-shift: 0s;
    --_shift-x: 0;
    --_shift-y: 0;
    position: absolute;
    width: .5rem;
    height: .5rem;
    font-size: .5rem;
    color: var(--color-accent);
    animation: gift-sparkle 5s infinite;
    animation-delay: var(--_duration-shift)
}

.gift-section--available .gift-progress-svg {
    display: none
}

.gift-section--available .gift-icon-wrapper svg {
    width: 32px;
    height: 32px
}

.gift-section--available .gift-icon-wrapper {
    animation: gift-shake 2s ease-in-out infinite
}

.Cutlery {
    margin-bottom: 15px
}

.CutleryWrapper {
    display: flex;
    flex-direction: row;
    padding: 10px 15px;
    background: var(--color-secondary-bg);
    justify-content: space-between;
    align-items: center;
    border-radius: var(--radius-sm)
}

.Cutlery-Title {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px
}

.Cutlery-actions {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    min-width: 90px;
    height: 30px;
    padding: 6px 15px;
    cursor: default;
    -webkit-user-select: none;
    user-select: none;
    background-color: var(--color-text-inverse);
    border-radius: var(--radius-lg)
}

.Cutlery-action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 12px;
    cursor: pointer
}

.Cutlery-action-btn.disabled {
    opacity: .3;
    cursor: default
}

.Cutlery-action-btn .icon {
    position: relative;
    width: 12px;
    height: 12px;
    display: flex
}

.Cutlery-amount {
    font-size: var(--font-sm)
}

.rec-section {
    margin: 20px 0 10px 0
}

.rec-title {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold);
    color: var(--color-text)
}

.rec-section .products-list {
    display: grid;
    position: relative;
    grid-template-columns:repeat(2, minmax(0, 160px));
    grid-auto-flow: column;
    grid-column-gap: 8px;
    column-gap: 8px;
    overflow: hidden;
    margin: 0;
    padding-top: 12px
}

.rec-section .product-item:not(:last-child) {
    margin-right: 8px
}

.rec-section .product-name span {
    font-size: var(--font-sm);
    line-height: var(--line-sm)
}

.rec-section .product-spec span {
    font-size: var(--font-xs);
    line-height: var(--line-xs)
}

.rec-section .product-action {
    height: 32px
}

.rec-section .product-action-price {
    font-size: var(--font-md);
    line-height: var(--line-md)
}

.rec-section .product-progress-bar span {
    font-size: var(--font-xxs);
    line-height: var(--line-xxs)
}

.rec-section .product-nosale {
    bottom: 11px;
    right: 11px
}

.basket-amount-wrapper {
    display: flex;
    flex-direction: column;
    padding: 20px 2px 0 2px
}

.freeDelivery {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px
}

.freeDelivery-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px
}

.freeDelivery-title {
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium);
    color: var(--color-text)
}

.freeDelivery-ProgressBar-container {
    display: flex;
    align-items: center;
    min-height: 4px;
    padding: 1px 5px;
    border-radius: var(--radius-sm);
    background-color: rgba(var(--color-primary-rgb), .08);
    position: relative;
    z-index: 1;
    will-change: transform
}

.FreeDelivery-ProgressBar {
    position: absolute;
    border-radius: var(--radius-sm) 1px 1px var(--radius-sm);
    background-color: #f0d133;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -ms-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
    height: 4px;
    left: 0
}

.basket-amount-row {
    display: flex;
    justify-content: space-between;
    font-size: var(--font-md);
    line-height: var(--line-md);
    margin-bottom: 10px
}

.basket-amount-row.total {
    font-size: var(--font-base);
    font-weight: var(--weight-semibold);
    padding-top: 10px;
    border-top: 1px solid rgba(var(--color-primary-rgb), .09);
    margin-bottom: 20px
}

.basket-footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    padding: 35px 20px 10px;
    background: linear-gradient(180deg, rgba(var(--color-primary-rgb-inverse), 0) 4%, rgba(var(--color-primary-rgb-inverse), 1) 35%)
}

.checkout-btn {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 100%;
    height: 50px;
    padding: 0 20px;
    color: var(--color-text-inverse);
    cursor: pointer;
    gap: 5px;
    transition: background-color .2s ease, transform .2s ease-in-out;
    background-color: var(--color-accent);
    border-radius: var(--radius-md)
}

.checkout-btn:hover::before {
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light));
    border-radius: var(--radius-md);
    mix-blend-mode: overlay
}

.checkout-btn:active {
    transform: scale(.99)
}

.checkout-btn .checkout-btn-label {
    font-size: var(--font-base);
    font-weight: var(--weight-medium);
    line-height: var(--line-base);
    pointer-events: none;
    user-select: none;
    flex-shrink: 0
}

.checkout-btn .checkout-btn-label.summ {
    font-size: var(--font-lg)
}

.checkout-btn:disabled {
    opacity: .6;
    cursor: not-allowed
}

.checkout-btn:disabled .checkout-btn-label {
    width: 100%;
    text-align: center
}

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

.checkout-btn-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 24px
}

.animate-spin {
    animation: spin 1s linear infinite
}

.basket-empty {
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    margin-bottom: 80px
}

.basket-empty-text {
    color: rgba(var(--color-primary-rgb), .5);
    text-align: center;
    white-space: pre-line;
    font-size: var(--font-base);
    line-height: var(--line-base);
    letter-spacing: var(--letter-spacing-md);
    font-weight: var(--weight-regular)
}

.basket-bottom-info {
    width: 100%;
    display: flex;
    padding: 0 0 8px 0;
    align-items: center
}

.basket-bottom-info .icon-wrapper {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background: var(--color-secondary-bg);
    flex-shrink: 0;
    border-radius: var(--radius-sm)
}

.basket-bottom-info .content {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    overflow: hidden;
    font-size: var(--font-xs);
    flex-shrink: 1;
    line-height: var(--line-xs);
    margin-left: 10px;
    gap: 4px
}

.basket-bottom-info .title {
    font-size: var(--font-md);
    font-weight: var(--weight-medium);
    overflow: hidden;
    white-space: break-spaces;
    text-overflow: ellipsis
}

.layout-container {
    display: flex;
    flex-direction: column;
    margin: 0 360px 0 0;
    max-width: 100%;
    flex: 1
}

.nav-pills-wrapper {
    display: flex;
    flex-direction: row;
    gap: 10px;
    flex-wrap: wrap;
    max-width: 1120px;
    margin: 30px auto 0;
    padding: 0 20px
}

.nav-pill {
    display: flex;
    position: relative;
    overflow: hidden;
    color: var(--color-text);
    cursor: pointer;
    align-items: center;
    justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 6px 10px;
    background: var(--color-secondary-bg);
    border-radius: var(--radius-md);
    font-size: var(--font-base);
    min-width: 60px;
    user-select: none
}

.nav-pill:hover {
    color: var(--color-text)
}

.nav-pill:hover::before {
    border-radius: var(--radius-md);
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.nav-pill.active {
    background: var(--color-text);
    color: var(--color-text-inverse);
    cursor: default
}

.index-stories {
    margin: 30px auto 0;
    width: 100%
}

.stories-wrapper {
    display: flex;
    flex-direction: row;
    gap: 10px;
    flex-wrap: wrap;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px;
    user-select: none
}

.stories-list {
    display: grid;
    position: relative;
    grid-template-columns:repeat(5, minmax(0, 205px));
    grid-auto-flow: column;
    grid-column-gap: 8px;
    column-gap: 8px;
    overflow: hidden;
    margin: 0
}

.stories-item {
    max-height: 362px;
    margin-right: 8px;
    border-radius: var(--radius-md);
    overflow: hidden
}

.stories-item.hover-before {
    cursor: pointer
}

.stories-item:hover::before {
    border-radius: var(--radius-md);
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light))
}

.stories-item:last-child {
    margin-right: 0
}

.stories-swiper .custom-swiper-button-next:hover .swiper-button-stroke, .stories-swiper .custom-swiper-button-prev:hover .swiper-button-stroke {
    stroke: var(--color-accent)
}

.index-lastOrders {
    display: flex;
    flex-direction: row;
    gap: 15px;
    flex-wrap: wrap;
    max-width: 1120px;
    margin: 30px auto 0;
    padding: 0 20px
}

.index-lastOrders .section-title {
    font-size: var(--font-4xxl);
    font-weight: var(--weight-bold);
    line-height: var(--line-4xxl);
    letter-spacing: var(--letter-spacing-lg)
}

.index-lastOrders .products-list {
    display: grid;
    position: relative;
    grid-template-columns:repeat(5, minmax(0, 205px));
    grid-auto-flow: column;
    grid-column-gap: 8px;
    column-gap: 8px;
    overflow: hidden;
    margin: 0
}

.index-lastOrders .product-item:not(:last-child) {
    margin-right: 8px
}

.index-categories {
    max-width: 1120px;
    margin: 40px auto 0;
    padding: 0 20px;
    width: 100%
}

.index-categories .section-title {
    font-size: var(--font-4xxl);
    font-weight: var(--weight-bold);
    line-height: var(--line-4xxl);
    letter-spacing: var(--letter-spacing-lg);
    padding-bottom: 15px
}

.index-categories .container {
    display: flex;
    flex-direction: column
}

.categories-wrapper {
    display: grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    grid-auto-rows: max-content;
    grid-gap: 10px;
    gap: 10px;
    user-select: none
}

.index-categories .link {
    position: relative;
    display: block;
    text-decoration: none
}

.index-categories .link:hover::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: var(--radius-md);
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light));
    z-index: 3
}

.index-categories .card-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 133.33%;
    overflow: hidden;
    border-radius: var(--radius-sm)
}

.index-categories .image-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(/local/templates/foodshe/css/../images/no_photo.svg) 50% center/contain no-repeat;
    overflow: hidden
}

.index-categories .image-wrapper:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--color-primary-rgb), .03);
    z-index: 1
}

.index-categories .category-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block
}

.category-text-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 15px;
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md);
    color: var(--color-text);
    z-index: 2
}

.card-container.with-shadow .category-text-overlay {
    width: 100%;
    height: 40%;
    color: var(--color-text-inverse);
    background: linear-gradient(0deg, rgba(var(--color-primary-rgb), 0), rgba(var(--color-primary-rgb), .003) 5.6%, rgba(var(--color-primary-rgb), .014) 12.4%, rgba(var(--color-primary-rgb), .033) 21%, rgba(var(--color-primary-rgb), .059) 25.6%, rgba(var(--color-primary-rgb), .093) 34.4%, rgba(var(--color-primary-rgb), .133) 41%, rgba(var(--color-primary-rgb), .177) 43.7%, rgba(var(--color-primary-rgb), .223) 52.4%, rgba(var(--color-primary-rgb), .267) 60%, rgba(var(--color-primary-rgb), .307) 65.7%, rgba(var(--color-primary-rgb), .341) 72.3%, rgba(var(--color-primary-rgb), .367) 81%, rgba(var(--color-primary-rgb), .386) 85.7%, rgba(var(--color-primary-rgb), .397) 92.3%, rgba(var(--color-primary-rgb), .4))
}

.category-image.progressiveLoad {
    filter: blur(2px);
    transition: filter .3s ease
}

.category-image.progressiveLoad.loaded {
    filter: none
}

.tabs-wrapper {
    max-width: 1120px;
    margin: 80px auto 0;
    padding: 0 20px;
    width: 100%;
    display: block;
    align-items: center;
    justify-content: center
}

.tabs {
    border-radius: var(--radius-sm)
}

.tabs-nav-scroll {
    position: relative;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory
}

.tabs-nav-scroll::-webkit-scrollbar {
    display: none
}

.tabs-nav {
    display: flex;
    position: relative;
    border-bottom: 1px solid rgba(var(--color-primary-rgb), .06);
    gap: 30px;
    width: max-content;
    min-width: 100%
}

.tabs-content {
    padding: 30px 0 0 0
}

.tabs-content > div {
    width: 100%;
    gap: 20px
}

.tabs-content > div.active {
    display: flex
}

.tab-button {
    display: flex;
    font-size: var(--font-lg);
    font-weight: var(--weight-semibold);
    align-items: center;
    background: 0 0;
    outline: transparent;
    border: transparent;
    color: rgba(var(--color-primary-rgb), .6);
    transition: .3s all ease-in-out;
    cursor: pointer;
    padding-bottom: 14px;
    scroll-snap-align: start;
    white-space: nowrap;
    flex-shrink: 0
}

.tab-button svg path {
    fill: rgba(var(--color-primary-rgb), .6)
}

.tab-button-label {
    padding-left: 8px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content
}

.tab-button:hover .tab-button-label {
    color: var(--color-text)
}

.tab-button:hover svg path {
    fill: var(--color-text)
}

.tab-button.active {
    color: var(--color-text);
    position: relative
}

.tab-button.active svg path {
    fill: var(--color-text)
}

.tab-button.active::before {
    content: '';
    width: 100%;
    height: 2px;
    background-color: var(--color-text);
    position: absolute;
    bottom: -1px;
    left: 0
}

.navbar-cats {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 30;
    background: var(--color-text-inverse);
    height: 58px
}

.navbar-cats-container {
    height: 100%;
    overflow: hidden;
    padding: 0 20px;
    border-bottom: 1px solid rgba(var(--color-primary-rgb), .06)
}

.nav-swiper {
    visibility: hidden
}

.nav-swiper.swiper-initialized {
    visibility: visible
}

.navbar-cats .swiper-free-mode > .swiper-wrapper {
    padding: 12px 0
}

.navbar-cats-link {
    display: flex;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 10px;
    height: 33px;
    border-radius: var(--radius-sm);
    font-size: var(--font-base);
    user-select: none
}

.navbar-cats-link:hover::before {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.navbar-cats-link.active {
    color: rgba(var(--color-primary-rgb), .9);
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.navbar-cats-link.active:hover::before {
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light))
}

.navbar-cats-text {
    color: rgba(var(--color-primary-rgb), .8);
    font-size: var(--font-lg);
    font-weight: var(--weight-medium)
}

.navbar-cats .swiper-slide {
    width: auto
}

.navbar-cats .custom-swiper-button-next:hover svg path, .navbar-cats .custom-swiper-button-prev:hover svg path {
    fill: var(--color-accent);
    transition: fill .3s ease
}

.navbar-cats .custom-swiper-button-next:hover .swiper-button-stroke, .navbar-cats .custom-swiper-button-prev:hover .swiper-button-stroke {
    stroke: var(--color-text-inverse);
    transition: stroke .3s ease
}

.catalog {
    max-width: 1120px;
    margin: 40px auto;
    padding: 0 20px;
    width: 100%;
    display: block;
    align-items: center;
    justify-content: center
}

.catalog-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.catalog-header {
    display: flex;
    flex-direction: column;
    grid-gap: 15px;
    gap: 15px;
    align-items: start
}

.catalog-wrapper .title-container {
    display: flex;
    gap: 10px;
    flex-direction: row;
    align-items: baseline;
    padding-left: 2px
}

.catalog-wrapper .title-container .title {
    font-size: var(--font-5xxl);
    line-height: var(--line-5xxl);
    font-weight: var(--weight-bold);
    letter-spacing: var(--letter-spacing-lg);
    color: var(--color-text);
    margin-top: 0
}

.catalog-wrapper .title-container .subtitle {
    color: rgba(var(--color-primary-rgb), .6);
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium)
}

.catalog-wrapper .nav-pills-wrapper {
    margin: 0;
    padding: 0
}

.catalog-wrapper .nav-pills-wrapper .nav-pill.selected {
    background: var(--color-text);
    color: var(--color-text-inverse);
    cursor: default
}

.catalog-wrapper .nav-pills-wrapper .nav-pill.selected:before {
    display: none
}

.catalog-products-list {
    display: grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    grid-auto-rows: max-content;
    grid-gap: 20px 8px;
    gap: 20px 8px;
    max-width: 100%
}

.product {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    height: 100%;
    transition: transform .2s ease-in-out
}

.product:has(.product-action.out-of-stock) {
    opacity: .6;
    will-change: opacity, transform
}

.product-discount {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding: 1px 5px;
    border-radius: var(--radius-sm);
    background-color: var(--color-text);
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 1
}

.product-discount span {
    color: var(--color-text-inverse);
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-semibold)
}

.product-progress-bar {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding: 1px 5px;
    border-radius: var(--radius-sm);
    background-color: var(--color-text-inverse);
    position: absolute;
    bottom: 12px;
    left: 12px;
    overflow: hidden;
    z-index: 3;
    will-change: transform
}

.progress-bar {
    position: absolute;
    border-radius: var(--radius-sm) 1px 1px var(--radius-sm);
    background-color: #ffdada;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -ms-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
    height: 20px;
    left: 0
}

.product-progress-bar span {
    color: var(--color-text);
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium);
    z-index: 1
}

.product-favorite-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    z-index: 8;
    cursor: pointer
}

.product-favorite {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding: 3px;
    border-radius: var(--radius-xl);
    background-color: var(--color-text-inverse);
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 8;
    gap: 4px;
    transform: scale(1);
    transition: transform .3s ease;
    will-change: transform;
    overflow: visible;
    pointer-events: none
}

.product-favorite * {
    pointer-events: none
}

.product-favorite svg path {
    fill: rgba(var(--color-primary-rgb), 0.2);
    transition: fill .3s ease
}

.product-favorite.liked svg path {
    fill: var(--color-accent)
}

.ModalProduct-favorite.animating, .product-favorite.animating {
    animation: like-bounce .4s ease
}

.ModalProduct-favorite .like-burst, .product-favorite .like-burst {
    position: absolute;
    width: 10px;
    height: 10px;
    background-color: var(--color-accent);
    border-radius: 50%;
    opacity: 0;
    transform: translate(-50%, -50%) scale(.5);
    top: 50%;
    left: 50%;
    pointer-events: none;
    z-index: -1
}

.ModalProduct-favorite .like-burst {
    width: 12px;
    height: 12px
}

.ModalProduct-favorite.animating .like-burst, .product-favorite.animating .like-burst {
    animation: like-burst .3s ease forwards
}

.product-favorite.loading {
    opacity: .6;
    pointer-events: none;
    min-width: 20px
}

.ModalProduct-favorite.loading {
    min-width: 32px;
    min-height: 32px
}

.product-favorite.loading svg {
    display: none
}

.product-favorite.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    margin: -6px 0 0 -6px;
    border: 1.5px solid var(--color-accent);
    border-top-color: var(--color-secondary-bg);
    border-radius: 50%;
    animation: like-spinner .8s linear infinite
}

.product-favorite.animating {
    transform: scale(1.1);
    transition: transform .2s ease
}

.product-nosale {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding: 1px;
    border-radius: var(--radius-xl);
    background-color: var(--color-text-inverse);
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 3;
    will-change: transform;
    cursor: help
}

.ModalProduct-nosale::after, .product-nosale::after {
    content: "Не действуют дополнительные скидки и акции";
    position: absolute;
    bottom: 100%;
    right: 0;
    transform: translate(0, -8px);
    background: rgba(0, 0, 0, .9);
    color: #fff;
    padding: 8px 10px;
    border-radius: 6px;
    font-size: var(--font-xs);
    line-height: var(--line-xs);
    white-space: normal;
    max-width: 220px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
    z-index: 100
}

.ModalProduct-nosale::before, .product-nosale::before {
    content: "";
    position: absolute;
    bottom: 100%;
    right: 8px;
    transform: translate(0, -4px);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid rgba(0, 0, 0, .9);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
    z-index: 99999
}

.ModalProduct-nosale:hover::after, .ModalProduct-nosale:hover::before, .product-nosale:hover::after, .product-nosale:hover::before {
    opacity: 1
}

.checkout .product-nosale {
    position: relative;
    bottom: 0;
    right: 0
}

.product-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
    flex-shrink: 0;
    background-color: var(--color-primary-rgb-inverse);
    border-radius: var(--radius-md);
    contain: strict;
    isolation: isolate;
    -webkit-backface-visibility: visible;
    z-index: 0;
    cursor: pointer;
    user-select: none;
    -webkit-user-drag: none;
    background: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.5367 7.94734C16.7882 7.07839 14.4669 6.59961 12.0002 6.59961C9.53352 6.59961 7.21215 7.07839 5.46368 7.94734C3.68142 8.83328 2.7002 10.0238 2.7002 11.2995C2.7002 11.3209 2.7002 11.3427 2.70092 11.3608V11.3634C2.72635 12.9916 3.71266 14.5147 5.4793 15.6528C7.22777 16.7794 9.54369 17.3996 12.0002 17.3996C14.4567 17.3996 16.7726 16.7794 18.5211 15.6528C20.2885 14.5144 21.2751 12.9898 21.2995 11.3641V11.3623C21.3002 11.3416 21.3002 11.3202 21.3002 11.2995C21.3002 10.0238 20.319 8.83328 18.5367 7.94734ZM18.3631 15.3996C16.6611 16.4959 14.4015 17.0994 12.0002 17.0994C9.59891 17.0994 7.3393 16.4959 5.63732 15.3996C4.66446 14.7728 3.9408 14.0275 3.49941 13.2142C4.90386 14.8126 8.01791 15.9374 11.6936 15.9968C11.6947 15.9972 11.6958 15.9972 11.6972 15.9972C11.792 15.9987 11.8912 15.9998 12.0002 15.9998C12.1092 15.9998 12.2084 15.9987 12.3032 15.9972C12.3046 15.9972 12.3057 15.9968 12.3068 15.9968C15.9832 15.9374 19.098 14.8119 20.5021 13.2131C20.0607 14.0264 19.3367 14.7724 18.3631 15.3996ZM8.86653 12.1747C8.86653 11.4021 10.3015 10.7499 12.0002 10.7499C13.6989 10.7499 15.1339 11.4021 15.1339 12.1747C15.1339 12.947 13.6989 13.5996 12.0002 13.5996C10.3015 13.5996 8.86653 12.947 8.86653 12.1747ZM3.25166 12.3386C3.1078 12.0099 3.02114 11.6583 2.99554 11.2995C2.99554 10.1445 3.91791 9.04997 5.59337 8.21681C7.30224 7.36742 9.57747 6.89972 12.0002 6.89972C14.4229 6.89972 16.6981 7.36742 18.407 8.21681C20.0825 9.04997 21.0048 10.1445 21.0048 11.2995C21.0048 11.3165 21.0048 11.3342 21.0041 11.3545C20.9769 12.425 20.1504 13.4457 18.6708 14.2453C19.462 13.6487 19.919 12.9381 19.919 12.1747C19.919 11.1315 19.0802 10.1603 17.5573 9.44015C16.0704 8.73693 14.0971 8.34971 12.0002 8.34971C9.90334 8.34971 7.92999 8.73693 6.44308 9.44015C4.92021 10.1603 4.08139 11.1315 4.08139 12.1747C4.08139 12.9381 4.5384 13.6487 5.32962 14.2453C4.58998 13.8455 4.01346 13.3903 3.61857 12.9016C3.46513 12.7369 3.34098 12.5464 3.25166 12.3386Z" fill="%23f1f1f1"/></svg>') 50% center/contain no-repeat
}

.product-image:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--color-primary-rgb), .03);
    pointer-events: none;
    will-change: opacity, transform
}

.product-image img:active {
    transform: translateZ(0) scale(.98);
    transition: all .2s ease
}

.ModalGift .product-image {
    cursor: default
}

.ModalGift .product-image img:active {
    transform: none
}

.product-image-grid {
    position: relative;
    display: grid;
    grid-template-rows:repeat(2, 1fr);
    grid-template-columns:repeat(2, 1fr);
    grid-gap: 2px;
    gap: 1px;
    width: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: var(--radius-md);
    cursor: pointer
}

.product-image-grid-item {
    position: relative;
    height: 100%;
    overflow: hidden
}

.product-image-grid-item img {
    position: absolute;
    height: 100%;
    width: 100%;
    inset: 0px;
    object-fit: cover;
    display: block;
    transform: translateZ(0) scale(1);
    user-select: none;
    -webkit-user-drag: none
}

.product-image-grid-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--color-primary-rgb), .03);
    pointer-events: none;
    will-change: transform
}

.product-image-grid:active {
    transform: translateZ(0) scale(.98);
    transition: all .2s ease
}

.img-product {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: translateZ(0) scale(1);
    user-select: none;
    -webkit-user-drag: none
}

.product-overlay-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    font-size: 40px;
    font-weight: 700;
    color: var(--color-text-inverse);
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
    border-radius: 18px;
    opacity: 1;
    transition: opacity .2s ease-in-out, transform .3s ease-in-out;
    will-change: opacity, transform
}

.product-overlay-wrapper.hidden {
    opacity: 0
}

.product-overlay-wrapper.rolling-back {
    transition: transform .1s ease-in-out
}

.product-overlay {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100%;
    background-color: rgba(var(--color-primary-rgb), .28);
    flex-shrink: 0
}

.product-overlay span {
    font-size: 50px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: var(--letter-spacing-lg)
}

.product-overlay span:nth-of-type(2) {
    font-size: 18px;
    font-weight: 600;
    line-height: normal;
    letter-spacing: var(--letter-spacing-xs)
}

.product-footer {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
    padding-left: 2px
}

.product-details {
    flex-grow: 1;
    min-height: 0
}

.product-name {
    display: -webkit-box;
    padding: 6px 0 2px 0;
    overflow: hidden;
    line-height: 13px;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

.product-name span {
    display: -webkit-box;
    overflow: hidden;
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

.product-spec {
    display: inline-flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    line-height: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
    gap: 4px
}

.product-spec span {
    color: rgba(var(--color-primary-rgb), .5);
    font-size: var(--font-sm);
    line-height: var(--line-sm)
}

.product-spec span:not(:last-child)::after {
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-left: 5px;
    border-radius: 50%;
    background: rgba(var(--color-primary-rgb), var(--overlay-opacity-light));
    vertical-align: middle
}

.product-actions {
    padding-top: 8px
}

.product-action {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 32px 0 12px;
    background-color: var(--color-secondary-bg);
    border-radius: var(--radius-lg);
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    transition: all .2s ease
}

.product-action:hover::before {
    border-radius: var(--radius-lg);
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.product-action.discount {
    background-color: #ffecf1
}

.product-action.discount:hover::before {
    border-radius: var(--radius-lg);
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light))
}

.product-action:active {
    transform: scale(.98)
}

.product-action-price {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 8px 0 7px 0
}

.product-action-price .old-price {
    position: relative;
    margin-right: 5px;
    color: rgba(var(--color-primary-rgb), .4);
    letter-spacing: var(--letter-spacing-md)
}

.product-action-price .old-price:before {
    background: #ff6900;
    opacity: .55;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    top: calc(50% + -1px);
    transform: rotate(-3deg);
    width: 105%
}

.product-action-btn {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 100%;
    cursor: pointer
}

.product-action-btn.arrow, .product-action-btn.plus {
    right: 0
}

.product-action-btn.minus {
    color: var(--color-text);
    left: 0;
    width: 0;
    opacity: 0;
    visibility: hidden;
    transition: all .2s ease;
    height: 32px
}

.product-action-btn.minus.available {
    visibility: visible;
    opacity: 1;
    width: 50px
}

.product-action.in-basket {
    padding-left: 45px;
    color: var(--color-text-inverse);
    transition: all .2s ease;
    background-color: var(--color-secondary-bg)
}

.product-action.in-basket:hover::before {
    display: none
}

.product-action.in-basket .old-price {
    display: none
}

.product-action.in-basket .product-action-btn.minus {
    display: inline-flex
}

.product-action.in-basket .product-action-price {
    background: var(--color-accent);
    border-bottom-left-radius: 18px;
    border-top-left-radius: 18px;
    color: var(--color-text-inverse);
    padding: 7px 0 7px 12px;
    transition: background-color .3s ease, color .3s ease
}

.product-action.in-basket .product-action-btn.plus {
    background-color: var(--color-accent);
    border-bottom-right-radius: 18px;
    border-top-right-radius: 18px;
    transition: background-color .3s ease, color .3s ease
}

.product-action.in-basket:hover .product-action-price::before {
    border-radius: var(--radius-lg);
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light))
}

.product-action.in-basket .product-action-btn.plus.disabled svg {
    opacity: .5
}

.product-action.shake {
    animation: shakeProduct .6s cubic-bezier(.36, .07, .19, .97)
}

.product.out-of-stock::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, .4);
    pointer-events: none;
    z-index: 1
}

.product-action.out-of-stock {
    padding: 0 12px 0 12px;
    color: var(--color-text);
    background-color: var(--color-secondary-bg);
    cursor: not-allowed
}

.product-action.out-of-stock:hover::before {
    display: none
}

.product-banner {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 16px;
    overflow: hidden
}

.banner-image {
    position: relative;
    width: 100%;
    height: 100%;
    aspect-ratio: 3/4;
    overflow: hidden;
    flex-shrink: 0;
    background-color: var(--color-primary-rgb-inverse);
    border-radius: var(--radius-md);
    -webkit-transform: translateZ(0);
    -webkit-mask-image: -webkit-radial-gradient(circle, #fff 100%, #000 0);
    cursor: pointer;
    user-select: none
}

.img-banner {
    min-width: 100%;
    max-width: 100%;
    min-height: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center
}

.checkout-page .basket {
    display: none
}

.checkout-page .layout-container {
    margin: 0 auto
}

.checkout-page .navbar-nav, .navbar-cats {
    margin-right: 0
}

.checkout-page .footer {
    margin: 60px 0 0 0
}

.checkout {
    max-width: 1240px;
    margin: 40px auto;
    padding: 0 20px;
    width: 100%;
    display: block;
    align-items: center;
    justify-content: center
}

.checkout-empty {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center
}

.checkout-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.checkout-content {
    display: grid;
    grid-template-columns:minmax(0, 800px) 420px;
    grid-gap: 24px;
    gap: 24px;
    margin: 0 auto
}

.checkout-info {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.checkout-BasketItems {
    display: flex;
    flex-direction: column;
    gap: 15px;
    position: relative
}

.checkout-BasketItem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px
}

.checkout-BasketItem--unavailable {
    opacity: .6;
    position: relative
}

.checkout-BasketItem-ImageWrapper {
    position: relative;
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    background: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.5367 7.94734C16.7882 7.07839 14.4669 6.59961 12.0002 6.59961C9.53352 6.59961 7.21215 7.07839 5.46368 7.94734C3.68142 8.83328 2.7002 10.0238 2.7002 11.2995C2.7002 11.3209 2.7002 11.3427 2.70092 11.3608V11.3634C2.72635 12.9916 3.71266 14.5147 5.4793 15.6528C7.22777 16.7794 9.54369 17.3996 12.0002 17.3996C14.4567 17.3996 16.7726 16.7794 18.5211 15.6528C20.2885 14.5144 21.2751 12.9898 21.2995 11.3641V11.3623C21.3002 11.3416 21.3002 11.3202 21.3002 11.2995C21.3002 10.0238 20.319 8.83328 18.5367 7.94734ZM18.3631 15.3996C16.6611 16.4959 14.4015 17.0994 12.0002 17.0994C9.59891 17.0994 7.3393 16.4959 5.63732 15.3996C4.66446 14.7728 3.9408 14.0275 3.49941 13.2142C4.90386 14.8126 8.01791 15.9374 11.6936 15.9968C11.6947 15.9972 11.6958 15.9972 11.6972 15.9972C11.792 15.9987 11.8912 15.9998 12.0002 15.9998C12.1092 15.9998 12.2084 15.9987 12.3032 15.9972C12.3046 15.9972 12.3057 15.9968 12.3068 15.9968C15.9832 15.9374 19.098 14.8119 20.5021 13.2131C20.0607 14.0264 19.3367 14.7724 18.3631 15.3996ZM8.86653 12.1747C8.86653 11.4021 10.3015 10.7499 12.0002 10.7499C13.6989 10.7499 15.1339 11.4021 15.1339 12.1747C15.1339 12.947 13.6989 13.5996 12.0002 13.5996C10.3015 13.5996 8.86653 12.947 8.86653 12.1747ZM3.25166 12.3386C3.1078 12.0099 3.02114 11.6583 2.99554 11.2995C2.99554 10.1445 3.91791 9.04997 5.59337 8.21681C7.30224 7.36742 9.57747 6.89972 12.0002 6.89972C14.4229 6.89972 16.6981 7.36742 18.407 8.21681C20.0825 9.04997 21.0048 10.1445 21.0048 11.2995C21.0048 11.3165 21.0048 11.3342 21.0041 11.3545C20.9769 12.425 20.1504 13.4457 18.6708 14.2453C19.462 13.6487 19.919 12.9381 19.919 12.1747C19.919 11.1315 19.0802 10.1603 17.5573 9.44015C16.0704 8.73693 14.0971 8.34971 12.0002 8.34971C9.90334 8.34971 7.92999 8.73693 6.44308 9.44015C4.92021 10.1603 4.08139 11.1315 4.08139 12.1747C4.08139 12.9381 4.5384 13.6487 5.32962 14.2453C4.58998 13.8455 4.01346 13.3903 3.61857 12.9016C3.46513 12.7369 3.34098 12.5464 3.25166 12.3386Z" fill="%23f1f1f1"/></svg>') 50% center/contain no-repeat;
    border-radius: var(--radius-sm);
    overflow: hidden;
    user-select: none;
    box-shadow: none;
    outline: 0;
    -webkit-box-shadow: none;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    will-change: transform
}

.checkout-BasketItem-ImageWrapper:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--color-primary-rgb), .03);
    border-radius: inherit
}

.checkout-BasketItem-Image {
    height: 100%;
    width: 100%;
    inset: 0px;
    color: transparent
}

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

.checkout-BasketItem-title-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.checkout-BasketItem-title {
    display: -webkit-box;
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-medium);
    overflow: hidden;
    color: var(--color-text);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

.checkout-BasketItem-subtitle {
    font-size: var(--font-md);
    font-weight: var(--weight-medium);
    line-height: var(--line-md);
    color: rgba(var(--color-primary-rgb), .5)
}

.checkout-PriceInfo {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center
}

.checkout-BasketItem-Pricee {
    color: rgba(var(--color-primary-rgb), 1)
}

.checkout-BasketItem-price {
    font-size: var(--font-1xl);
    line-height: var(--line-1xl);
    font-weight: var(--weight-semibold);
    text-align: right
}

.checkout-info .basket-bonus {
    font-size: var(--font-base)
}

.checkout-info .basket-price-old {
    margin-right: 8px;
    margin-left: 0
}

.checkout-info .product-action.in-basket .product-action-price {
    background: var(--color-secondary-bg);
    color: var(--color-text);
    padding: 7px 6px 7px 6px
}

.checkout-info .product-action.in-basket .product-action-btn.plus {
    background: var(--color-secondary-bg);
    color: var(--color-text)
}

.checkout-BasketItem-subtitle span:not(:last-child)::after {
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-left: 5px;
    border-radius: 50%;
    background: rgba(var(--color-primary-rgb), var(--overlay-opacity-light));
    vertical-align: middle
}

.checkout-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: min-content;
    padding: 24px;
    background-color: var(--color-text-inverse);
    border-radius: var(--radius-lg);
    position: relative
}

.checkout-card.additional:after {
    content: '';
    position: absolute;
    top: -11px;
    left: 50px;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent var(--color-text-inverse) transparent;
    border-radius: 2px
}

.checkout-order {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.checkout-inputs {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px
}

.checkout-timeDropdowns {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px
}

.checkout-form {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    grid-gap: 10px;
    gap: 10px
}

.userInfo-form {
    display: grid;
    grid-template-columns:repeat(2, 1fr);
    grid-gap: 10px;
    gap: 10px
}

.checkout-comment {
    grid-column: 1/-1
}

.checkout-attention {
    position: relative;
    width: 100%;
    height: 58px;
    background-color: #fff8e1;
    border-radius: var(--radius-md);
    border: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px
}

.checkout-BonusesContainer {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    height: 58px;
    width: 100%;
    max-width: 160px;
    border-radius: var(--radius-md);
    background: linear-gradient(134deg, #f05974 0, #c185de 100%)
}

.checkout-paymentTypes {
    display: grid;
    width: 100%;
    gap: 10px;
    grid-template-columns:repeat(3, minmax(0, 1fr))
}

.checkout-paymentType {
    position: relative;
    display: flex;
    flex-direction: column;
    -webkit-box-pack: justify;
    justify-content: space-between;
    padding: 15px;
    width: 100%;
    height: 120px;
    color: var(--color-text);
    border-radius: var(--radius-md);
    outline: 0;
    border: 1.5px solid rgba(var(--color-primary-rgb), .1);
    cursor: pointer;
    user-select: none
}

.checkout-paymentType:hover {
    border: 1.5px solid rgba(var(--color-primary-rgb), .6)
}

.checkout-paymentType.active {
    border: 1.5px solid var(--color-text)
}

.checkout-paymentType-title {
    width: auto;
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    margin: 0
}

.checkoutGo {
    display: flex;
    flex-direction: column;
    gap: 24px;
    height: min-content;
    padding: 24px;
    background-color: var(--color-text);
    border-radius: var(--radius-lg);
    position: -webkit-sticky;
    position: sticky;
    top: 20px
}

.checkoutGo-Summ {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    font-size: var(--font-4xxl);
    line-height: var(--line-4xxl);
    font-weight: var(--weight-bold);
    letter-spacing: var(--letter-spacing-lg);
    color: var(--color-text-inverse);
    text-transform: uppercase
}

.checkoutGo-amount-wrapper {
    display: flex;
    flex-direction: column;
    padding: 0 2px;
    gap: 8px
}

.checkoutGo-amount-row {
    display: flex;
    justify-content: space-between;
    font-size: var(--font-base);
    line-height: var(--line-base);
    color: var(--color-text-inverse)
}

.checkoutGo-amount-wrapper .dots {
    flex: 1;
    border-bottom: 1px dashed rgba(var(--color-primary-rgb-inverse), .3);
    margin: 14px 10px 0 6px;
    height: 1px
}

.checkoutGo-bonus {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.checkoutGo-Modifier-container {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    background: rgba(var(--color-primary-rgb-inverse), .08);
    overflow: hidden;
    min-height: fit-content
}

.checkoutGo-Modifier-container .Modifier-option .Modifier-text {
    font-size: var(--font-lg);
    color: rgba(var(--color-primary-rgb-inverse), .9)
}

.checkoutGo-Modifier-container .Modifier-option input[type=radio] {
    margin: 0 10px 0 0;
    border: 2px solid rgba(var(--color-primary-rgb-inverse), .17)
}

.checkoutGo-Modifier-container .Modifier-option:not(:last-child)::after {
    background: rgba(var(--color-primary-rgb-inverse), .08)
}

.checkoutGo-Modifier-container .Modifier-option input[type=radio]:checked {
    border-color: rgba(var(--color-primary-rgb-inverse), .8)
}

.checkoutGo-Modifier-container .Modifier-option input[type=radio]:checked::after {
    background-color: rgba(var(--color-primary-rgb-inverse), .8)
}

.checkoutGo-bonus .switcher {
    width: 100%;
    background: linear-gradient(134deg, #f05974 0, #c185de 100%);
    padding: 17px 15px
}

.checkoutGo-bonus .switcher-label {
    font-size: var(--font-lg);
    font-weight: var(--weight-medium);
    color: rgba(var(--color-primary-rgb-inverse), .9)
}

.checkoutGo-bonus .switcher-labelWithIcon {
    color: rgba(var(--color-primary-rgb-inverse), .9)
}

.checkoutGo-bonus .switcher-track {
    background: rgba(var(--color-primary-rgb-inverse), .3)
}

.switcher-input:checked + .switcher-track {
    background: rgba(var(--color-primary-rgb), .5)
}

.checkout-BonusesContainer::after {
    content: '';
    position: absolute;
    left: -5px;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent #eb5f82 transparent transparent;
    border-radius: 2px
}

.checkout-BonusesTitle {
    display: flex;
    flex-direction: column
}

.checkout-BonusesTitle span {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    color: var(--color-text-inverse)
}

.checkout-BonusesTitle .checkout-BonusesSubtitle {
    font-size: var(--font-xs);
    line-height: var(--line-xs);
    color: rgba(var(--color-primary-rgb-inverse), .9)
}

.checkout-BonusesIcon svg {
    width: 28px;
    height: 28px
}

.checkout-BonusesIcon svg path {
    fill: rgba(var(--color-primary-rgb-inverse), .9)
}

.checkoutGo .dropdown-trigger {
    color: var(--color-text-inverse);
    background-color: rgba(var(--color-primary-rgb-inverse), .08)
}

.checkoutGo .dropdown-icon svg path {
    stroke: rgba(var(--color-primary-rgb-inverse), 0.6)
}

.checkoutGo .dropdown-trigger:hover {
    background-color: rgba(var(--color-primary-rgb-inverse), .12)
}

.checkoutGo .input {
    color: var(--color-text-inverse);
    background: rgba(var(--color-primary-rgb-inverse), .08)
}

.checkoutGo .main-input > label {
    color: var(--color-text-inverse)
}

.checkoutGo .input:focus, .checkoutGo .input:hover {
    background-color: rgba(var(--color-primary-rgb-inverse), .12)
}

.checkoutGo .input.success {
    background: rgb(61 104 61)
}

.checkoutGo .input-button.cancel {
    background-color: rgb(0 0 0 / 13%);
    color: #fff
}

.checkoutGo .input.error {
    background: rgb(255 111 111 / 29%)
}

.checkoutGo .promocodeInfo {
    display: flex;
    flex-direction: row;
    position: relative;
    padding: 15px;
    background: rgba(var(--color-accent-rgb), .3);
    margin-top: 10px;
    border-radius: var(--radius-md);
    gap: 10px;
    color: var(--color-text-inverse)
}

.checkoutGo .promocodeInfo:after {
    content: '';
    position: absolute;
    top: -12px;
    left: 50px;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent rgba(var(--color-accent-rgb), .3) transparent;
    border-radius: 2px
}

.checkoutGo .promocodeInfo-text {
    color: var(--color-text-inverse);
    font-size: var(--font-md);
    line-height: var(--line-md);
    letter-spacing: var(--letter-spacing-sm);
    z-index: 2
}

.checkoutGo .icon {
    min-width: 28px;
    height: 28px
}

.checkoutGo .checkout-btn {
    justify-content: center;
    background-color: var(--color-text-inverse);
    font-size: var(--font-1xl);
    line-height: var(--line-1xl);
    color: var(--color-text);
    font-weight: var(--weight-semibold);
    height: 58px
}

.checkout-btn .checkout-btn-label {
    font-size: var(--font-lg);
    font-weight: var(--weight-medium);
    line-height: var(--line-lg)
}

.checkoutGo .ShowLegal {
    padding-top: 10px;
    color: var(--color-text-inverse);
    font-size: var(--font-xs);
    font-weight: var(--weight-medium);
    line-height: var(--line-xs)
}

.checkoutGo .ShowLegal a {
    color: #a4bff6
}

.checkoutGo .ShowLegal a:hover {
    opacity: .9
}

.checkoutGo-InfoContainer {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.checkoutGo-Info {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px
}

.checkoutGo-Info span {
    font-size: var(--font-base);
    font-weight: var(--weight-medium);
    line-height: var(--line-base);
    color: rgba(var(--color-primary-rgb-inverse), .5)
}

.checkoutGo-Info a {
    font-size: var(--font-base);
    font-weight: var(--weight-medium);
    line-height: var(--line-base);
    color: rgba(var(--color-primary-rgb-inverse), .7);
    padding: 2px 8px;
    background-color: rgba(var(--color-primary-rgb-inverse), .05);
    border-radius: var(--radius-lg)
}

.checkoutGo-Info.required .required-elements {
    display: flex;
    flex-direction: row;
    gap: 5px
}

.checkoutGo-Info.required .required-elements a {
    background: rgb(255 111 111 / 29%)
}

.CheckoutGo-Loader {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 300px;
    gap: 10px;
    color: rgba(var(--color-primary-rgb-inverse), .7);
    border-radius: 20px
}

.CheckoutGo-Loader svg {
    animation: spin 2s linear infinite;
    transform-origin: center;
    will-change: transform
}

.checkout-page h2 {
    font-size: var(--font-3xl);
    font-weight: var(--weight-bold);
    line-height: var(--line-3xl);
    letter-spacing: var(--letter-spacing-md);
    text-transform: uppercase;
    margin: 0;
    padding-bottom: 10px
}

.sale {
    max-width: 1120px;
    margin: 40px auto;
    padding: 0 20px;
    width: 100%;
    display: block;
    align-items: center;
    justify-content: center
}

.sale-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.sale-header {
    display: flex;
    flex-direction: column;
    grid-gap: 15px;
    gap: 15px;
    align-items: start
}

.sale-wrapper .title-container {
    display: flex;
    gap: 10px;
    flex-direction: row;
    align-items: baseline;
    padding-left: 2px
}

.sale-wrapper .title-container .title {
    font-size: var(--font-5xxl);
    line-height: var(--line-5xxl);
    font-weight: var(--weight-bold);
    letter-spacing: var(--letter-spacing-lg);
    color: var(--color-text)
}

.sale-list {
    display: grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    grid-auto-rows: max-content;
    grid-gap: 20px 15px;
    gap: 20px 15px;
    max-width: 100%
}

.coupon-card {
    width: 100%;
    height: 100%;
    border-radius: var(--radius-md);
    overflow: hidden;
    position: relative;
    cursor: pointer
}

.coupon-card .image-wrapper {
    position: relative;
    height: 180px;
    overflow: hidden
}

.coupon-card .image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.coupon-card .gradient-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    z-index: 1
}

.coupon-divider {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20px;
    z-index: 2;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center
}

.coupon-divider .circle {
    width: 20px;
    height: 20px;
    background: var(--color-text-inverse);
    position: absolute;
    top: 0;
    z-index: 3
}

.coupon-divider .left {
    left: -10px;
    border-radius: 0 50% 50% 0
}

.coupon-divider .right {
    right: -10px;
    border-radius: 50% 0 0 50%
}

.coupon-divider .dashed-line {
    width: 100%;
    height: 2px;
    z-index: 2
}

.coupon-content {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 10px 20px 20px 20px
}

.coupon-content-date {
    display: block;
    color: rgba(var(--color-primary-rgb-inverse), .8);
    font-size: var(--font-md);
    line-height: var(--line-md)
}

.coupon-content-title {
    color: var(--color-text-inverse);
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold)
}

.simplePage {
    max-width: 1120px;
    margin: 40px auto 0;
    padding: 0 20px;
    width: 100%;
    display: block;
    align-items: center;
    justify-content: center
}

.simplePage h2 {
    margin-top: 30px
}

.simplePage h2:first-child {
    margin-top: 0
}

.simplePage-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.simplePage-header {
    display: flex;
    flex-direction: column;
    grid-gap: 15px;
    gap: 15px;
    align-items: start
}

.simplePage-title {
    font-size: var(--font-5xxl);
    line-height: var(--line-5xxl);
    font-weight: var(--weight-bold);
    letter-spacing: var(--letter-spacing-lg);
    color: var(--color-text);
    margin-top: 0
}

.simplePage-ZoneWrapper {
    display: grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    grid-auto-rows: max-content;
    grid-gap: 20px 8px;
    gap: 20px 8px;
    max-width: 100%;
    margin-top: 15px
}

.simplePage-Zone {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.simplePage-ZoneInfo {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.simplePage-ZoneMap {
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin: 30px 0
}

.footer {
    display: flex;
    flex-direction: column;
    margin: 60px 360px 0 0
}

.marquee-wrapper {
    display: flex;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
    background: var(--color-secondary-bg);
    width: 100%;
    height: 34px
}

.checkout-page .marquee-wrapper {
    background-color: var(--color-text-inverse)
}

.marquee-track {
    display: inline-flex;
    animation: scroll 100s linear infinite
}

.marquee-track span {
    display: inline-flex;
    align-items: center;
    padding: 0 0 0 8px;
    font-size: var(--font-base);
    font-weight: var(--weight-regular);
    position: relative
}

.marquee-track span::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 8px;
    background-color: rgba(var(--color-primary-rgb), .6);
    mask-image: url('data:image/svg+xml,<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.34197 9.83306L5.74957 7.15463L5.60596 6.20532L6.36821 6.88688L8.87669 8.03117L9.57073 6.70751L7.05838 5.54124L6.03157 5.3823L6.94209 4.88177L8.93098 2.94447L7.79526 1.89811L5.83331 3.85332L5.39239 4.72437L5.17572 3.76528L3.87662 1.38778L2.50115 2.08363L3.77718 4.4652L4.51637 5.15083L3.45119 5.04399L0.683577 5.532L0.943274 7.00481L3.71088 6.51681L4.65222 6.05617L4.19599 6.97525L3.76533 9.65775L5.34197 9.83306Z" fill="CurrentColor"/></svg>');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .6
}

.footer-container {
    display: grid;
    grid-template-columns:1fr 2fr;
    grid-gap: 5px;
    gap: 5px;
    padding: 25px 20px;
    background: var(--color-background-navbar)
}

.footer-left {
    display: flex;
    align-items: center;
    justify-self: start;
    gap: 5px
}

.footer-menu-button {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 38px;
    height: 38px;
    max-height: 38px;
    padding: 8px;
    border-radius: var(--radius-sm)
}

.footer-menu-button:hover::before {
    pointer-events: none;
    content: "";
    position: absolute;
    z-index: 50;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    border-radius: var(--radius-sm);
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.footer-logo svg path, .footer-menu-button svg path {
    fill: var(--color-text)
}

.footer-logo {
    padding-top: 5px
}

.footer-right {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: 40px
}

.footer-info {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.footer-info-title {
    font-size: var(--font-base);
    font-weight: var(--weight-semibold);
    color: var(--color-text)
}

.footer-info-desc {
    font-size: var(--font-xxs);
    font-weight: var(--weight-medium);
    color: rgba(var(--color-primary-rgb), .6);
    text-transform: uppercase
}

.footer-social {
    display: flex;
    flex-direction: row;
    gap: 8px
}

.footer-social-item {
    position: relative;
    color: var(--color-accent)
}

.footer-social-item:hover::before {
    border-radius: 50%;
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light))
}

.footer-bottom {
    display: grid;
    grid-template-columns:2fr 1fr;
    grid-gap: 5px;
    gap: 5px;
    padding: 15px 20px;
    background: var(--color-background-navbar);
    border-top: 1px solid rgba(var(--color-primary-rgb), .08)
}

.footer-bottom-left {
    display: flex;
    align-items: center;
    justify-self: start;
    gap: 30px
}

.footer-bottom-right {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: 40px
}

.footer-copyright a {
    display: inline-flex;
    align-items: center;
    padding: 0 5px 0 0;
    font-size: var(--font-base);
    font-weight: var(--weight-regular);
    position: relative;
    color: var(--color-text)
}

.footer-copyright a::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 8px;
    background-color: rgba(var(--color-primary-rgb), .6);
    mask-image: url('data:image/svg+xml,<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.34197 9.83306L5.74957 7.15463L5.60596 6.20532L6.36821 6.88688L8.87669 8.03117L9.57073 6.70751L7.05838 5.54124L6.03157 5.3823L6.94209 4.88177L8.93098 2.94447L7.79526 1.89811L5.83331 3.85332L5.39239 4.72437L5.17572 3.76528L3.87662 1.38778L2.50115 2.08363L3.77718 4.4652L4.51637 5.15083L3.45119 5.04399L0.683577 5.532L0.943274 7.00481L3.71088 6.51681L4.65222 6.05617L4.19599 6.97525L3.76533 9.65775L5.34197 9.83306Z" fill="CurrentColor"/></svg>');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .6
}

.footer-copyright a:last-child::after {
    display: none
}

.bdbd {
    color: var(--color-text)
}

.footer-payments {
    display: flex;
    flex-direction: row;
    gap: 10px
}

.footer-payments span {
    filter: grayscale(100%)
}

.footer-payments span:hover {
    filter: none
}

.bdbd:hover svg path {
    fill: var(--color-accent)
}

[x-cloak] {
    display: none !important
}

.modals {
    position: fixed;
    inset: 0px;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    align-items: flex-start;
    z-index: 1000;
    overflow: hidden
}

.modals-overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: calc(var(--vh, 1vh) * 100);
    background-color: rgba(var(--color-primary-rgb), .6);
    touch-action: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility 0s linear .3s;
    will-change: opacity;
    pointer-events: none
}

.modals-overlay.visible {
    opacity: 1 !important;
    visibility: visible;
    pointer-events: auto;
    transition: opacity .3s ease
}

.Modal-Loader svg {
    animation: spin 2s linear infinite;
    transform-origin: center;
    will-change: transform
}

.ModalProduct {
    padding: 24px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    min-height: 100%;
    height: calc(var(--vh, 1vh) * 100);
    max-height: calc(var(--vh, 1vh) * 100)
}

.modal-close-button {
    margin: 0;
    border: none;
    cursor: pointer;
    width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 22px;
    padding: 8px 10px;
    position: absolute;
    top: 10px;
    right: -40px;
    transition: transform .1s ease-in-out;
    z-index: 10;
    touch-action: none;
    will-change: transform
}

.modal-close-button:hover {
    transform: scale(1.1)
}

.ModalProduct-container {
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: rgba(0, 0, 0, .2) 0 30px 60px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
    transition: opacity .3s, transform;
    flex: 0 0 auto;
    max-width: 900px;
    width: 880px;
    height: 460px;
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1);
    transition: transform .6s cubic-bezier(.33, 1, .68, 1)
}

.ModalProduct-container.with-recommendation {
    height: calc(100vh - 64px);
    max-height: calc(100vh - 64px)
}

.Modal-Loader {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: rgba(var(--color-primary-rgb-inverse), 1);
    gap: 10px;
    color: rgba(var(--color-primary-rgb), .7);
    border-radius: 20px
}

.ModalAuth .Modal-Loader, .ModalGift .Modal-Loader, .ModalProfile .Modal-Loader, .ModalShowMore .Modal-Loader {
    height: calc(100vh - 64px);
    max-height: calc(100vh - 64px)
}

.ModalProduct-content {
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    height: 100%
}

.ModalProduct-details {
    height: 100%
}

.ModalProduct-details-container {
    display: flex;
    height: 100%;
    padding: 0 20px 0 15px;
    overflow: hidden
}

.ModalProduct-details-left {
    display: flex;
    flex: 1 0 430px;
    flex-direction: column;
    gap: 30px;
    padding: 15px 0;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth
}

.ModalProduct-details-left::-webkit-scrollbar {
    display: none
}

.ModalProduct-image {
    position: relative;
    flex-shrink: 0;
    width: 430px;
    height: 430px;
    overflow: hidden;
    border-radius: 12px;
    will-change: transform;
    transition: height .5s ease-in-out
}

.ModalProduct-image-container:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--color-primary-rgb), .03)
}

.ModalProduct-image-container .image-preloader {
    height: 430px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 10px
}

.ModalProduct-details-right {
    display: flex;
    flex: 1 1 50%;
    flex-direction: column;
    padding: 15px 0 0 20px;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth
}

.ModalProduct-details-right::-webkit-scrollbar {
    display: none
}

.ModalProduct-header {
    padding: 6px 0 12px 0
}

.ModalProduct-title-container {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    padding-right: 35px
}

.ModalProduct-title {
    margin: 0
}

.ModalProduct-title span {
    color: var(--color-text);
    font-size: var(--font-4xl);
    line-height: var(--line-4xl);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--letter-spacing-md)
}

.ModalProduct-spec {
    display: inline-flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    line-height: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
    gap: 4px
}

.ModalProduct-spec span {
    color: rgba(var(--color-primary-rgb), .5);
    font-size: var(--font-md);
    line-height: var(--line-md)
}

.ModalProduct-spec.has-chip span:not(:last-child)::after {
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-left: 5px;
    border-radius: 50%;
    background: rgba(var(--color-primary-rgb), var(--overlay-opacity-light));
    vertical-align: middle
}

.ModalProduct-favorite {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding: 6px;
    border-radius: var(--radius-xl);
    background: rgba(var(--color-primary-rgb), .05);
    position: absolute;
    color: rgba(var(--color-primary-rgb), .15);
    top: 1px;
    right: 4px;
    z-index: 4;
    gap: 4px;
    touch-action: none;
    cursor: pointer
}

.ModalProduct-favorite.liked svg path {
    fill: var(--color-accent)
}

.ModalProduct-description span {
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-medium)
}

.ModalProduct-modifiers {
    margin-top: 8px
}

.ModalProduct-ShortModifier {
    border-radius: 24px;
    background-color: var(--color-secondary-bg);
    height: 32px;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    overflow: hidden;
    margin-top: 8px
}

.ModalProduct-ShortModifier div:not(.ShortModifier-active) {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex: 1 1 0%;
    flex: 1 1 0%;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    height: 32px;
    color: var(--color-text);
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium);
    transition: color 150ms ease 0s;
    z-index: 1
}

.ModalProduct-ShortModifier:first-child {
    margin-top: 0
}

.ShortModifier-active {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    transform: translateX(0);
    transition: transform .2s ease-out 0s, width .2s ease-out;
    padding: 2px;
    touch-action: none
}

.ShortModifier-active::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: var(--color-text-inverse);
    border-radius: 24px;
    box-shadow: rgba(6, 5, 50, .19) 0 6px 20px
}

.ShortModifier-radio {
    position: absolute;
    display: none;
    touch-action: none
}

.ShortModifier-option {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex: 1 1 0%;
    flex: 1 1 0%;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    height: 32px;
    color: var(--color-text);
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium);
    z-index: 1
}

.ModalProduct-ModifierContainer {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 10px
}

.ModalProduct-Modifier-title span {
    color: var(--color-text);
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold)
}

.ModalProduct-Modifier-container {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    background: #f9f9f9;
    overflow: hidden;
    min-height: fit-content;
    margin-top: 10px
}

.ModalProduct-ModifierDelivery .Modifier-option input[type=radio]:checked {
    background: var(--color-accent)
}

.ModalProduct-ModifierDelivery .Modifier-option input[type=radio]:checked::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 5px;
    width: 6px;
    height: 10px;
    border: solid var(--color-text-inverse);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    background: 0 0;
    border-radius: 1px
}

.Modifier-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 15px;
    position: relative;
    cursor: pointer
}

.Modifier-option span {
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium)
}

.Modifier-option:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 52px;
    right: 0;
    bottom: 0;
    height: 1px;
    background: rgba(var(--color-primary-rgb), .08);
    touch-action: none
}

.Modifier-option input[type=radio] {
    appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(var(--color-primary-rgb), .4);
    border-radius: 50%;
    position: relative;
    margin: 0 15px 0 0;
    flex-shrink: 0
}

.Modifier-option input[type=radio]:checked {
    border-color: var(--color-accent)
}

.Modifier-option input[type=radio]:checked::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 8px;
    height: 8px;
    background-color: var(--color-accent);
    border-radius: 50%
}

.Modifier-option .Modifier-text {
    flex-grow: 1
}

.DetailProduct-Toppings, .ModalProduct-Toppings {
    margin-top: 24px
}

.DetailProduct-Modifier-title, .ModalProduct-Toppings-title {
    display: flex;
    flex-direction: row;
    justify-content: space-between
}

.DetailProduct-Modifier-title span, .ModalProduct-Toppings-title span {
    color: var(--color-text);
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold)
}

.DetailProduct-Modifier-title .modifier-limit, .ModalProduct-Toppings-title .modifier-limit {
    font-size: 12px;
    color: #999;
    padding-right: 5px
}

.DetailProduct-Toppings-container, .ModalProduct-Toppings-container {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    background: #f9f9f9;
    overflow: hidden;
    min-height: fit-content;
    margin-top: 10px
}

.Topping-option {
    display: flex;
    align-items: center;
    position: relative;
    gap: 15px;
    padding: 14px 15px;
    cursor: pointer
}

.Topping-option:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 52px;
    right: 0;
    bottom: 0;
    height: 1px;
    background: rgba(var(--color-primary-rgb), .08);
    touch-action: none
}

.Topping-option span {
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium)
}

.Topping-option:has(input:checked) .Topping-price {
    color: var(--color-text)
}

.Topping-option:hover:not(.disabled) {
    border-color: var(--color-accent)
}

.Topping-option.disabled {
    opacity: .6;
    cursor: not-allowed
}

.Topping-option input[type=checkbox] {
    display: none
}

.Topping-checkbox {
    width: 20px;
    height: 20px;
    border-radius: 8px;
    background: #b9b9b9;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s ease;
    color: #fff
}

.Topping-option input:checked + .Topping-checkbox {
    background: var(--color-text);
    border-color: var(--color-text)
}

.Topping-checkbox svg {
    opacity: 1;
    transition: opacity .2s ease;
    stroke: white
}

.Topping-option input:checked + .Topping-checkbox svg {
    opacity: 1
}

.Topping-text {
    flex: 1;
    font-size: 14px;
    color: var(--color-text)
}

.Topping-price {
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium)
}

.Modifier-price {
    white-space: nowrap
}

.Modifier-OldPrice {
    position: relative;
    margin-right: 5px;
    color: rgba(var(--color-primary-rgb), .4);
    letter-spacing: var(--letter-spacing-md)
}

.Modifier-OldPrice:before {
    background: #ff6900;
    opacity: .55;
    content: "";
    display: block;
    height: 1.5px;
    left: 0;
    position: absolute;
    top: calc(50% + -1px);
    transform: rotate(-3deg);
    width: 105%
}

.ModalProduct-WhatIn {
    margin-top: 24px
}

.ModalProduct-WhatIn-container {
    display: flex;
    flex-direction: row;
    gap: 5px;
    flex-wrap: wrap;
    margin-top: 10px
}

.ModalProduct-WhatIn-item {
    display: flex;
    position: relative;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    padding: 2px 12px 2px 2px;
    width: fit-content;
    border-radius: var(--radius-md);
    background: var(--color-secondary-bg);
    cursor: pointer
}

.ModalProduct-WhatIn-img {
    position: relative;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    overflow: hidden;
    background: var(--color-text-inverse)
}

.ModalProduct-WhatIn-img img {
    height: 100%
}

.ModalProduct-WhatIn-img:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--color-primary-rgb), .03)
}

.WhatIn-item-title {
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium)
}

.ModalProduct-NutritionalVal-title span {
    color: var(--color-text);
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold)
}

.ModalProduct-NutritionalVal {
    margin-top: 24px
}

.ModalProduct-NutritionalVal-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background: var(--color-secondary-bg);
    border-radius: var(--radius-md);
    padding: 8px 15px;
    margin-top: 10px
}

.ModalProduct-NutritionalVal-item {
    display: flex;
    flex-direction: column
}

.NutritionalVal-desc {
    color: rgba(var(--color-primary-rgb), .4);
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium)
}

.NutritionalVal-title span {
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-semibold)
}

.ModalProduct-PriceButton-container {
    position: sticky;
    bottom: 0;
    padding: 40px 0 15px;
    background: linear-gradient(180deg, #fff0 6%, #fff 44%);
    z-index: 2;
    touch-action: none
}

.ModalProduct-PriceButton {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-lg);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    gap: 5px;
    padding: 0;
    background-color: var(--color-accent);
    color: var(--color-text-inverse)
}

.ModalProduct-PriceButton:hover::before {
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light));
    border-radius: var(--radius-md);
    mix-blend-mode: overlay
}

.ModalProduct-PriceButton span {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md)
}

.ModalProduct-PriceButton .addToCartButtonText::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-left: 5px;
    padding-bottom: 12px;
    background-color: rgba(var(--color-primary-rgb-inverse), .6);
    mask-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.34197 9.83306L5.74957 7.15463L5.60596 6.20532L6.36821 6.88688L8.87669 8.03117L9.57073 6.70751L7.05838 5.54124L6.03157 5.3823L6.94209 4.88177L8.93098 2.94447L7.79526 1.89811L5.83331 3.85332L5.39239 4.72437L5.17572 3.76528L3.87662 1.38778L2.50115 2.08363L3.77718 4.4652L4.51637 5.15083L3.45119 5.04399L0.683577 5.532L0.943274 7.00481L3.71088 6.51681L4.65222 6.05617L4.19599 6.97525L3.76533 9.65775L5.34197 9.83306Z' fill='currentColor'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center
}

.ModalProduct-PriceButton.out-of-stock {
    color: var(--color-text);
    background-color: var(--color-secondary-bg);
    cursor: not-allowed
}

.ModalProduct-PriceButton.out-of-stock:hover::before {
    display: none
}

.ModalProduct-PriceButton .old-price {
    position: relative;
    margin-left: 5px;
    color: rgba(var(--color-primary-rgb-inverse), .7);
    letter-spacing: var(--letter-spacing-md)
}

.ModalProduct-PriceButton .old-price:before {
    background: #ff6900;
    opacity: .55;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    top: calc(50% + -1px);
    transform: rotate(-3deg);
    width: 105%
}

.ModalProduct-PriceButton.disabled {
    opacity: .6;
    cursor: not-allowed
}

.ModalProduct-nosale {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding: 1px;
    border-radius: var(--radius-xl);
    background-color: var(--color-text-inverse);
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 2;
    touch-action: none
}

.ModalProduct-nosale svg {
    width: 24px;
    height: 24px
}

.ModalProduct-progress-bar {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding: 1px 5px;
    border-radius: var(--radius-sm);
    background-color: var(--color-text-inverse);
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    overflow: hidden;
    touch-action: none
}

.ModalProduct-progress-bar .progress-bar {
    position: absolute;
    border-radius: var(--radius-sm) 1px 1px var(--radius-sm);
    background-color: #ffdada;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -ms-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
    height: 20px;
    left: 0
}

.ModalProduct-progress-bar span {
    color: var(--color-text);
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium);
    z-index: 1
}

.ModalProduct-image-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    user-select: none
}

.ModalProduct-recommendation {
    margin-top: 24px
}

.ModalProduct-recommendation-title span {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold)
}

.ModalProduct-recommendation-container {
    display: grid;
    position: relative;
    grid-template-columns:repeat(2, 1fr);
    gap: 8px;
    row-gap: 15px;
    overflow: hidden;
    margin: 0;
    margin-top: 10px
}

.ModalProduct .product .product-name span {
    font-size: var(--font-md);
    line-height: var(--line-md)
}

.ModalProduct .product .product-action-price {
    font-size: var(--font-md)
}

.ModalProduct .product .product-spec span {
    font-size: var(--font-xs);
    line-height: var(--line-xs)
}

.DetailProduct {
    display: flex;
    width: 100%;
    height: 100%
}

.DetailProduct-details {
    width: 100%;
    height: 100%
}

.DetailProduct-details-container {
    display: flex;
    height: 100%;
    padding: 0 20px 0 15px
}

.DetailProduct-details-left {
    display: flex;
    flex: 0 0 460px;
    flex-direction: column;
    gap: 30px;
    padding: 15px 0
}

.DetailProduct-details-left::-webkit-scrollbar {
    display: none
}

.DetailProduct-image {
    position: relative;
    flex-shrink: 0;
    width: 460px;
    height: 460px;
    overflow: hidden;
    border-radius: 12px;
    will-change: transform;
    transition: height .5s ease-in-out
}

.DetailProduct-image-container:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--color-primary-rgb), .03)
}

.DetailProduct-details-right {
    display: flex;
    flex: 1 1 50%;
    flex-direction: column;
    padding: 15px 0 0 20px;
    position: sticky;
    top: 50px;
    align-self: flex-start
}

.admin-panel-visible .DetailProduct-details-right {
    top: 100px
}

.DetailProduct-details-right::-webkit-scrollbar {
    display: none
}

.DetailProduct-header {
    padding: 6px 0 12px 0
}

.DetailProduct-title-container {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    padding-right: 35px
}

.DetailProduct-title {
    margin: 0
}

.DetailProduct-title span {
    color: var(--color-text);
    font-size: var(--font-4xl);
    line-height: var(--line-4xl);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--letter-spacing-md)
}

.DetailProduct-spec {
    display: inline-flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    line-height: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
    gap: 4px
}

.DetailProduct-spec span {
    color: rgba(var(--color-primary-rgb), .5);
    font-size: var(--font-md);
    line-height: var(--line-md)
}

.DetailProduct-spec.has-chip span:not(:last-child)::after {
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-left: 5px;
    border-radius: 50%;
    background: rgba(var(--color-primary-rgb), var(--overlay-opacity-light));
    vertical-align: middle
}

.DetailProduct-details-right .product-favorite {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding: 6px;
    border-radius: var(--radius-xl);
    background: rgba(var(--color-primary-rgb), .05);
    position: absolute;
    color: rgba(var(--color-primary-rgb), .15);
    top: 1px;
    right: 4px;
    z-index: 4;
    gap: 4px;
    touch-action: none;
    cursor: pointer
}

.DetailProduct-details-right .product-favorite.liked svg path {
    fill: var(--color-accent)
}

.DetailProduct-description span {
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-medium)
}

.DetailProduct-Modifier {
    margin-top: 20px
}

.DetailProduct-ShortModifier {
    border-radius: 24px;
    background-color: var(--color-secondary-bg);
    height: 32px;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    overflow: hidden;
    margin-top: 8px
}

.DetailProduct-ShortModifier div:not(.ShortModifier-active) {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex: 1 1 0%;
    flex: 1 1 0%;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    height: 32px;
    color: var(--color-text);
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium);
    transition: color 150ms ease 0s;
    z-index: 1
}

.DetailProduct-ShortModifier:first-child {
    margin-top: 0
}

.DetailProduct-ModifierContainer {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 10px
}

.DetailProduct-Modifier-title span {
    color: var(--color-text);
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold)
}

.DetailProduct-Modifier-container {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    background: #f9f9f9;
    overflow: hidden;
    min-height: fit-content;
    margin-top: 10px
}

.DetailProduct-ModifierDelivery .Modifier-option input[type=radio]:checked {
    background: var(--color-accent)
}

.DetailProduct-ModifierDelivery .Modifier-option input[type=radio]:checked::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 5px;
    width: 6px;
    height: 10px;
    border: solid var(--color-text-inverse);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    background: 0 0;
    border-radius: 1px
}

.DetailProduct-WhatIn {
    margin-top: 24px
}

.DetailProduct-WhatIn-container {
    display: flex;
    flex-direction: row;
    gap: 5px;
    flex-wrap: wrap;
    margin-top: 10px
}

.DetailProduct-WhatIn-item {
    display: flex;
    position: relative;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    padding: 2px 12px 2px 2px;
    width: fit-content;
    border-radius: var(--radius-md);
    background: var(--color-secondary-bg)
}

.DetailProduct-WhatIn-img {
    position: relative;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    overflow: hidden;
    background: var(--color-text-inverse)
}

.DetailProduct-WhatIn-img img {
    height: 100%
}

.DetailProduct-WhatIn-img:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--color-primary-rgb), .03)
}

.WhatIn-item-title {
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium)
}

.DetailProduct-NutritionalVal-title span {
    color: var(--color-text);
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold)
}

.DetailProduct-NutritionalVal {
    margin-top: 24px
}

.DetailProduct-NutritionalVal-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background: var(--color-secondary-bg);
    border-radius: var(--radius-md);
    padding: 8px 15px;
    margin-top: 10px
}

.DetailProduct-NutritionalVal-item {
    display: flex;
    flex-direction: column
}

.NutritionalVal-desc {
    color: rgba(var(--color-primary-rgb), .4);
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium)
}

.NutritionalVal-title span {
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-semibold)
}

.DetailProduct-PriceButton-container {
    position: sticky;
    bottom: 0;
    padding: 40px 0 15px;
    background: linear-gradient(180deg, #fff0 6%, #fff 44%);
    z-index: 2;
    touch-action: none
}

.DetailProduct-PriceButton {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-lg);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    gap: 5px;
    padding: 0;
    background-color: var(--color-accent);
    color: var(--color-text-inverse)
}

.DetailProduct-PriceButton:hover::before {
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light));
    border-radius: var(--radius-md);
    mix-blend-mode: overlay
}

.DetailProduct-PriceButton span {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md)
}

.DetailProduct-PriceButton .addToCartButtonText::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-left: 5px;
    padding-bottom: 12px;
    background-color: rgba(var(--color-primary-rgb-inverse), .6);
    mask-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.34197 9.83306L5.74957 7.15463L5.60596 6.20532L6.36821 6.88688L8.87669 8.03117L9.57073 6.70751L7.05838 5.54124L6.03157 5.3823L6.94209 4.88177L8.93098 2.94447L7.79526 1.89811L5.83331 3.85332L5.39239 4.72437L5.17572 3.76528L3.87662 1.38778L2.50115 2.08363L3.77718 4.4652L4.51637 5.15083L3.45119 5.04399L0.683577 5.532L0.943274 7.00481L3.71088 6.51681L4.65222 6.05617L4.19599 6.97525L3.76533 9.65775L5.34197 9.83306Z' fill='currentColor'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center
}

.DetailProduct-PriceButton.out-of-stock {
    color: var(--color-text);
    background-color: var(--color-secondary-bg);
    cursor: not-allowed
}

.DetailProduct-PriceButton.out-of-stock:hover::before {
    display: none
}

.DetailProduct-PriceButton .old-price {
    position: relative;
    margin-left: 5px;
    color: rgba(var(--color-primary-rgb-inverse), .7);
    letter-spacing: var(--letter-spacing-md)
}

.DetailProduct-PriceButton .old-price:before {
    background: #ff6900;
    opacity: .55;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    top: calc(50% + -1px);
    transform: rotate(-3deg);
    width: 105%
}

.DetailProduct-PriceButton.disabled {
    opacity: .6;
    cursor: not-allowed
}

.DetailProduct-nosale {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding: 1px;
    border-radius: var(--radius-xl);
    background-color: var(--color-text-inverse);
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 2;
    touch-action: none
}

.DetailProduct-nosale svg {
    width: 24px;
    height: 24px
}

.DetailProduct-progress-bar {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding: 1px 5px;
    border-radius: var(--radius-sm);
    background-color: var(--color-text-inverse);
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    overflow: hidden;
    touch-action: none
}

.DetailProduct-progress-bar .progress-bar {
    position: absolute;
    border-radius: var(--radius-sm) 1px 1px var(--radius-sm);
    background-color: #ffdada;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -ms-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
    height: 20px;
    left: 0
}

.DetailProduct-progress-bar span {
    color: var(--color-text);
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium);
    z-index: 1
}

.DetailProduct-image-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    user-select: none
}

.DetailProduct-recommendation {
    margin-top: 0
}

.DetailProduct-recommendation-title span {
    font-size: var(--font-3xl);
    line-height: var(--line-3xl);
    font-weight: var(--weight-semibold)
}

.DetailProduct-recommendation-container {
    display: grid;
    position: relative;
    grid-template-columns:repeat(2, 1fr);
    gap: 8px;
    row-gap: 15px;
    overflow: hidden;
    margin: 0;
    margin-top: 10px
}

.DetailProduct .product .product-name span {
    font-size: var(--font-md);
    line-height: var(--line-md)
}

.DetailProduct .product .product-action-price {
    font-size: var(--font-md)
}

.DetailProduct .product .product-spec span {
    font-size: var(--font-xs);
    line-height: var(--line-xs)
}

.ModalProfile {
    padding: 24px;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    min-height: 100%;
    width: 480px
}

.ModalProfile-Empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 50vh;
    font-size: var(--font-lg);
    font-weight: var(--weight-medium)
}

.ModalProfile-container {
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: rgba(0, 0, 0, .2) 0 30px 60px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
    transition: opacity .3s, transform;
    flex: 0 0 auto;
    width: 100%;
    height: 100%;
    max-height: calc(100vh - 64px);
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1);
    transition: transform .6s cubic-bezier(.33, 1, .68, 1)
}

.ModalProfile-container.loyalty {
    background: #f2e9e2;
    background-image: url('data:image/svg+xml,<svg width="420" height="521" viewBox="0 0 420 521" fill="none" xmlns="http://www.w3.org/2000/svg"><g opacity="0.25"><g filter="url(%23filter0_f_4998_10428)"><rect x="224" y="-84" width="232" height="231" rx="115.5" fill="%23FFC7A8"/></g><g filter="url(%23filter1_f_4998_10428)"><rect x="-79" y="198" width="318" height="318" rx="159" fill="%23FFA6A6"/></g><g filter="url(%23filter2_f_4998_10428)"><rect x="-95" y="-97" width="382" height="382" rx="191" fill="%23D6ADF5"/></g><g filter="url(%23filter3_f_4998_10428)"><rect x="149" y="60" width="398" height="398" rx="199" fill="%23F9B9D8"/></g><g filter="url(%23filter4_f_4998_10428)"><rect x="153" y="348" width="187" height="187" rx="93.5" fill="%23EF9FDD"/></g></g><defs><filter id="filter0_f_4998_10428" x="124" y="-184" width="432" height="431" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="50" result="effect1_foregroundBlur_4998_10428"/></filter><filter id="filter1_f_4998_10428" x="-179" y="98" width="518" height="518" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="50" result="effect1_foregroundBlur_4998_10428"/></filter><filter id="filter2_f_4998_10428" x="-195" y="-197" width="582" height="582" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="50" result="effect1_foregroundBlur_4998_10428"/></filter><filter id="filter3_f_4998_10428" x="49" y="-40" width="598" height="598" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="50" result="effect1_foregroundBlur_4998_10428"/></filter><filter id="filter4_f_4998_10428" x="53" y="248" width="387" height="387" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="50" result="effect1_foregroundBlur_4998_10428"/></filter></defs></svg>');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center
}

.ModalProfile-HeaderNav {
    position: sticky;
    top: 0;
    z-index: 1;
    background: 0 0;
    transition: background-color .2s ease-in-out
}

.ModalProfile-HeaderNav-container {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    margin: 10px
}

.ModalProfile-HeaderNav-title {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0 20px;
    text-align: center;
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold)
}

.modal-back-button {
    margin: 0;
    border: none;
    font: inherit;
    cursor: pointer;
    width: 32px;
    height: 32px;
    background: rgba(var(--color-primary-rgb), .05);
    border-radius: 22px;
    padding: 9px;
    position: relative;
    transition: transform .1s ease-in-out;
    touch-action: none;
    z-index: 5
}

.modal-back-button:hover {
    transform: scale(1.1)
}

.ModalProduct .modal-back-button {
    position: absolute;
    margin: 10px 10px
}

.modal-close-button.inner {
    position: relative;
    top: 0;
    right: 0;
    background: rgba(var(--color-primary-rgb), .05)
}

.modal-close-button.first-state {
    top: 10px;
    right: 10px;
    background: rgba(var(--color-primary-rgb), .05)
}

.ModalProfile-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0 15px 0;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth
}

.ModalProfile-content::-webkit-scrollbar {
    display: none
}

.ModalProfile-UserInfo-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 10px;
    margin-top: 30px
}

.UserInfo-about {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: var(--line-base)
}

.UserInfo-about-title {
    color: var(--color-text);
    font-size: var(--font-4xl);
    line-height: var(--line-4xl);
    letter-spacing: var(--letter-spacing-md);
    font-weight: var(--weight-bold)
}

.ModalProfile-nav {
    margin-top: 30px
}

.ModalProfile-nav-item {
    position: relative;
    display: grid;
    grid-template-columns:20px auto;
    grid-gap: 8px;
    align-items: center;
    padding: 9px 10px;
    color: var(--color-text);
    border-radius: var(--radius-md);
    overflow: hidden;
    cursor: pointer
}

.ModalProfile-nav-item:hover {
    color: var(--color-text)
}

.ModalProfile-nav-item:hover::before {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.ModalProfile-nav-name {
    color: var(--color-text);
    font-size: var(--font-2xl);
    line-height: var(--line-2xl);
    font-weight: var(--weight-semibold)
}

.ModalProfile-ExitButton-container {
    position: relative;
    bottom: 0;
    padding: 40px 0 15px
}

.ModalProfile-ExitButton {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0;
    background-color: var(--color-secondary-bg);
    overflow: hidden
}

.ModalProfile-ExitButton span {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md)
}

.ModalProfile-ExitButton:hover::before {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.ModalOrderHistory-month {
    display: flex;
    flex-direction: column;
    margin: 10px 0
}

.ModalOrderHistory-month-title span {
    color: var(--color-text);
    font-size: var(--font-4xl);
    line-height: var(--line-4xl);
    font-weight: var(--weight-bold);
    letter-spacing: var(--letter-spacing-lg)
}

.ModalOrderHistory-month-title span.ModalOrderHistory-year {
    color: rgba(var(--color-primary-rgb), .4)
}

.ModalOrderHistory-container {
    display: flex;
    flex-direction: column;
    background: var(--color-secondary-bg);
    border-radius: var(--radius-md);
    margin: 10px 0;
    overflow: hidden
}

.ModalOrderHistory-card {
    position: relative;
    display: grid;
    grid-template-columns:38px auto;
    grid-gap: 15px;
    align-items: center;
    padding: 12px 15px;
    color: var(--color-text);
    transition: all .3s ease;
    cursor: pointer
}

.ModalOrderHistory-card:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 68px;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #e5e5e5
}

.ModalOrderHistory-card:hover::before {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.ModalOrderHistory-CardIcon {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 38px;
    height: 38px;
    max-height: 38px;
    padding: 7px;
    border-radius: 50%
}

.ModalOrderHistory-CardTitle-container {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.ModalOrderHistory-CardTitle span {
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-semibold)
}

.ModalOrderHistory-CardSubTitle {
    display: flex;
    gap: 5px
}

.ModalOrderHistory-CardSubTitle span {
    color: var(--color-text);
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium)
}

.ModalOrderHistory-CardSubTitle span:not(:last-child)::after {
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-left: 5px;
    border-radius: 50%;
    background: rgba(var(--color-primary-rgb), var(--overlay-opacity-light));
    vertical-align: middle
}

.ModalOrderDetail-Header {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.ModalOrderDetail-HeaderStatus {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px
}

.ModalOrderDetail-HeaderStatus-Icon {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 60px;
    height: 60px;
    max-height: 60px;
    max-width: 60px;
    padding: 15px;
    border-radius: 50%
}

.ModalOrderDetail-HeaderStatus-Title {
    display: flex;
    flex-direction: column;
    align-items: center
}

.ModalOrderDetail-HeaderStatus-Title span {
    color: var(--color-text);
    font-size: var(--font-3xl);
    line-height: var(--line-3xl);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--letter-spacing-lg)
}

.ModalOrderDetail-RatedOrder {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 10px;
    gap: 10px
}

.ModalOrderDetail-RatedOrder-Star.active svg path {
    fill: var(--color-accent)
}

.ModalOrderDetail-Buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 0 5px
}

.ModalOrderDetail-Button-Reorder {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0;
    gap: 5px;
    background-color: var(--color-secondary-bg);
    overflow: hidden
}

.ModalOrderDetail-Button-Reorder:hover::before {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.ModalOrderDetail-Rate-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 10px
}

.ModalOrderDetail-Button-Rate {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0;
    gap: 8px;
    color: var(--color-text-inverse);
    background-color: var(--color-accent);
    overflow: hidden
}

.ModalOrderDetail-Button-Rate:hover::before {
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light));
    mix-blend-mode: overlay
}

.ModalOrderDetail-Button-Contact {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    gap: 5px;
    padding: 0;
    color: var(--color-text);
    background-color: var(--color-secondary-bg);
    overflow: hidden
}

.ModalOrderDetail-Button-Contact:hover::before {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.ModalOrderDetail-Button-Contact span, .ModalOrderDetail-Button-Rate span, .ModalOrderDetail-Button-Reorder span, .ModalRateOrder-SubmitButton span {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md)
}

.ModalOrderDetail-Rate-Desc {
    width: 300px;
    color: var(--color-text);
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium);
    text-align: center
}

.ModalProfile .basket-items {
    margin: 30px 15px 0 5px
}

.ModalOrderDetail-footer {
    margin-top: 20px;
    padding: 0 5px
}

.ModalOrderDetail-footer .basket-amount-wrapper {
    padding: 10px 2px 0 2px
}

.ModalOrderDetail-type {
    display: flex;
    gap: 5px
}

.ModalOrderDetail-TypeTitle span {
    color: var(--color-text);
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-bold)
}

.ModalOrderDetail-comment {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 5px 0 15px 0;
    border-bottom: 1px solid rgba(var(--color-primary-rgb), .08)
}

.ModalOrderDetail-CommentSubtitle span {
    color: rgba(var(--color-primary-rgb), .6);
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium)
}

.ModalOrderDetail-CommentTitle span {
    color: var(--color-text);
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium)
}

.ModalProfile .basket-amount-row {
    font-weight: var(--weight-medium)
}

.ModalProfile .basket-amount-row.total {
    font-weight: var(--weight-bold)
}

.ModalContacts-container {
    display: flex;
    flex-direction: column;
    background: var(--color-secondary-bg);
    border-radius: var(--radius-md);
    margin: 20px 0 20px 0;
    overflow: hidden
}

.ModalContacts-card {
    position: relative;
    display: grid;
    grid-template-columns:20px auto;
    grid-gap: 15px;
    align-items: center;
    padding: 16px 15px;
    color: var(--color-text);
    transition: all .3s ease;
    cursor: pointer
}

.ModalContacts-card:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 50px;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #e5e5e5
}

.ModalContacts-card:hover::before {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.ModalContacts-CardTitle span {
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-medium)
}

.ModalSettings-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: 20px 0 15px 0;
    height: 100%
}

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

.ModalSettings-NotificationContainer {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 2px
}

.ModalSettings-SaveButton-container {
    position: relative;
    bottom: 0
}

.ModalSettings-SaveButton {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0;
    color: var(--color-text-inverse);
    background-color: var(--color-accent);
    overflow: hidden
}

.ModalSettings-SaveButton span {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md)
}

.ModalSettings-SaveButton:disabled {
    opacity: .6;
    cursor: not-allowed
}

.ModalProfile-content .ModalProduct-Modifier {
    margin-top: 0
}

.ModalProfile-content .Modifier-option span {
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-medium)
}

.ModalLoyalty-container {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 40px 0 20px 0;
    height: 100%
}

.ModalLoyalty-Status-Container {
    display: flex;
    flex-direction: column;
    align-items: center
}

.ModalLoyalty-BonusBalance {
    font-size: var(--font-4xxl);
    line-height: var(--line-4xxl);
    font-weight: var(--weight-bold);
    margin-bottom: 10px;
    position: relative
}

.ModalLoyalty-Tooltip-ItemWrapper {
    background: #000;
    color: var(--color-text-inverse);
    padding: 10px 20px;
    border-radius: 12px;
    font-size: var(--font-md);
    line-height: var(--line-md);
    display: inline-block;
    position: relative;
    width: 280px;
    text-align: center
}

.ModalLoyalty-Tooltip-ItemWrapper::after {
    content: '';
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent #000 transparent;
    border-radius: 2px
}

.ModalLoyalty-Tooltip-Bullets {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 4px;
    margin-top: 5px
}

.ModalLoyalty-Tooltip-Bullet {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff
}

.ModalLoyalty-Tooltip-Bullet.active {
    background: #000
}

.ModalLoyalty-Progress-Container {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
    margin-top: 50px
}

.ModalLoyalty-segments {
    display: flex;
    width: 100%;
    gap: 8px;
    height: auto
}

.ModalLoyalty-SegmentWrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    position: relative
}

.ModalLoyalty-segment {
    width: 100%;
    height: 8px;
    background: rgb(255 255 255 / 70%);
    border-radius: 4px;
    overflow: hidden
}

.ModalLoyalty-SegmentFill, .ModalLoyalty-segment-third-overflow {
    background: #000;
    height: 100%;
    width: 0%;
    transition: width .3s ease;
    border-radius: 24px
}

.ModalLoyalty-badges {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    position: relative
}

.ModalLoyalty-badge {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-bold);
    padding: 2px 10px;
    border-radius: 50px;
    background: rgb(255 255 255 / 30%);
    white-space: nowrap
}

.ModalLoyalty-badge.active {
    background: var(--color-text);
    color: var(--color-text-inverse)
}

.ModalLoyalty-badge.active::after {
    content: '';
    position: absolute;
    bottom: 11px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: var(--color-text) transparent transparent transparent;
    border-radius: 2px
}

.ModalLoyalty-labels {
    display: flex;
    justify-content: space-between;
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    margin-top: 8px;
    position: relative;
    color: rgba(var(--color-primary-rgb), .45);
    width: 100%
}

.ModalLoyalty-TextStatus {
    font-size: var(--font-base);
    line-height: var(--line-base);
    color: rgba(var(--color-primary-rgb), .6);
    position: relative;
    margin-top: 20px;
    text-align: center
}

.ModalLoyalty-BonusInfoButton-container {
    position: relative;
    bottom: 0;
    width: 100%;
    margin-top: 40px
}

.ModalLoyalty-BonusInfoButton {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    gap: 10px;
    padding: 0;
    color: var(--color-text);
    background-color: var(--color-secondary-bg);
    overflow: hidden
}

.ModalLoyalty-BonusInfoButton:hover {
    color: var(--color-text)
}

.ModalLoyalty-BonusInfoButton span {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md)
}

.ModalLoyalty-BonusInfoButton:hover::before {
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light))
}

.ModalAuth {
    padding: 24px;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    min-height: 100%;
    width: 480px
}

.ModalAuth-container {
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: rgba(0, 0, 0, .2) 0 30px 60px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
    transition: opacity .3s, transform;
    flex: 0 0 auto;
    width: 100%;
    height: 100%;
    max-height: calc(100vh - 64px);
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1);
    transition: transform .6s cubic-bezier(.33, 1, .68, 1)
}

.ModalAuth-HeaderNav {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--color-primary-rgb-inverse);
    transition: background-color .2s ease-in-out
}

.ModalAuth-HeaderNav-container {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    margin: 10px
}

.ModalAuth-HeaderNav-title {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0 76px;
    text-align: center
}

.ModalAuth-verifyCode {
    display: flex;
    flex-direction: column;
    height: 100%
}

.ModalAuth-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0 20px 0;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth
}

.ModalAuth-content::-webkit-scrollbar {
    display: none
}

.ModalAuth-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    margin: 50px 0 0 0
}

.ModalAuth-wrapper .ModalAuth-error {
    height: 50vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center
}

.ModalAuth-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    gap: 15px
}

.ModalAuth-TitleContainer {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    gap: 5px
}

.ModalAuth-TitleContainer-title {
    font-size: var(--font-3xl);
    line-height: var(--line-3xl);
    font-weight: var(--weight-bold)
}

.ModalAuth-TitleContainer-subtitle {
    font-size: var(--font-md);
    line-height: var(--line-md);
    font-weight: var(--weight-medium);
    max-width: 290px;
    text-align: center
}

.ModalAuth-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 15px 0 20px 0
}

.ModalAuth-CodeContainer .ModalAuth-form {
    margin: 10px 0 0 0
}

.ModalAuth-PhoneInput {
    font-size: var(--font-5xxl);
    line-height: var(--line-5xxl);
    font-weight: var(--weight-bold);
    letter-spacing: var(--letter-spacing-md);
    text-transform: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    max-width: 360px;
    height: 52px;
    color: var(--color-text);
    text-align: center;
    background: rgba(0, 0, 0, 0);
    border: none;
    padding: 10px 10px;
    outline: 0
}

.ModalAuth-PhoneInput:-webkit-autofill {
    background-color: #fff !important;
    color: #58e !important;
    -webkit-box-shadow: 0 0 0 1000px var(--color-text-inverse) inset;
    transition: background-color 5000s ease-in-out 0s
}

.ModalAuth-Controls {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 30px;
    width: 100%;
    align-items: center
}

.ModalAuth-SubmitPhoneButton {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    max-width: 360px;
    height: 48px;
    padding: 0;
    background-color: var(--color-secondary-bg);
    overflow: hidden;
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md)
}

.ModalAuth-SubmitPhoneButton:disabled {
    opacity: .6;
    pointer-events: none;
    cursor: not-allowed
}

.ModalAuth-SubmitTgButton {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    max-width: 360px;
    height: 48px;
    padding: 0;
    color: var(--color-text-inverse);
    background-color: var(--color-accent);
    overflow: hidden;
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md)
}

.ModalAuth-SubmitTgButton:disabled {
    opacity: .6;
    pointer-events: none;
    cursor: not-allowed
}

.ModalAuth-telegramWaiting .ModalAuth-wrapper {
    margin: 20px 0 0 0
}

.ModalAuth-telegram-error {
    padding-top: 20px;
    color: red
}

.ModalAuth-telegramWaiting .ModalAuth-TitleContainer-subtitle {
    font-size: var(--font-base);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    max-width: 340px
}

.ModalAuth-telegramWaiting a {
    color: var(--color-accent)
}

.ModalAuth-telegramWaiting a:hover {
    opacity: .8
}

.ModalAuth-telegram-controls {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 30px;
    width: 100%;
    align-items: center;
    padding-bottom: 20px
}

.ModalAuth-ShowLegal {
    max-width: 360px;
    margin-top: 15px;
    text-align: center
}

.ModalAuth-ShowLegal span {
    font-size: var(--font-xs);
    line-height: var(--line-xxs);
    font-weight: var(--weight-regular)
}

.ModalAuth-FakeUrl {
    color: var(--color-accent);
    cursor: pointer
}

.ModalAuth-CodeContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px
}

.ModalAuth-InputsContainer {
    display: flex;
    flex-direction: row;
    gap: 10px
}

.ModalAuth-CodeInput {
    font-size: var(--font-5xxl);
    line-height: var(--line-5xxl);
    font-weight: var(--weight-bold);
    letter-spacing: var(--letter-spacing-md);
    text-transform: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    max-width: 60px;
    height: 70px;
    color: var(--color-text);
    text-align: center;
    background: rgba(0, 0, 0, 0);
    border: 2px solid rgba(var(--color-primary-rgb), .1);
    padding: 15px 10px;
    border-radius: var(--radius-md);
    outline: 0
}

.ModalAuth-CodeInput.error {
    border: 2px solid red !important;
    color: red !important
}

.ModalAuth-CodeInput:focus {
    border: 2px solid rgba(var(--color-accent-rgb), 1)
}

.ModalAuth-Resend {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    width: 100%;
    margin: 30px 0 20px 0
}

.ModalAuth-Resend-Button {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    max-width: 240px;
    height: 48px;
    padding: 0;
    color: var(--color-text);
    background-color: var(--color-secondary-bg);
    overflow: hidden;
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md)
}

.animate-shake {
    animation: shake .4s ease
}

.ModalLegal-container {
    display: flex;
    flex-direction: column;
    background: var(--color-secondary-bg);
    border-radius: var(--radius-md);
    margin: 20px 0 20px 0;
    overflow: hidden
}

.ModalLegal-card {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px 18px 16px;
    gap: 20px;
    color: var(--color-text);
    transition: all .3s ease;
    cursor: pointer
}

.ModalLegal-card:hover::before {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.ModalLegal-card:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 20px;
    bottom: 0;
    height: 1px;
    background: #e5e5e5
}

.ModalLegal-CardTitle span {
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-medium)
}

.ModalLocation {
    padding: 24px;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    min-height: 100%;
    width: 480px
}

.ModalLocation-container {
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: rgba(0, 0, 0, .2) 0 30px 60px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
    transition: opacity .3s, transform;
    flex: 0 0 auto;
    width: 100%;
    height: 100%;
    max-height: calc(100vh - 64px);
    overflow: hidden;
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1);
    transition: transform .6s cubic-bezier(.33, 1, .68, 1)
}

.ModalLocation-container.full-height {
    height: calc(100vh - 64px);
    max-height: calc(100vh - 64px)
}

.ModalLocation-HeaderNav {
    position: absolute;
    width: 100%;
    top: 0;
    z-index: 2;
    background: linear-gradient(1deg, rgba(var(--color-primary-rgb-inverse), 0) 2%, rgba(var(--color-primary-rgb-inverse), .8) 50%);
    transition: background-color .2s ease-in-out
}

.ModalLocation-HeaderNav-container {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    margin: 10px
}

.ModalLocation-HeaderNav-title {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0 20px;
    text-align: center;
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold)
}

.ModalLocation-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0;
    gap: 10px;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth
}

.ModalLocation-content::-webkit-scrollbar {
    display: none
}

.ModalLocation-header {
    padding: 0 15px
}

.ModalLocation-title-container {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    padding-right: 35px
}

.ModalLocation-title {
    margin: 0
}

.ModalLocation-title span {
    color: var(--color-text);
    font-size: var(--font-4xl);
    line-height: var(--line-4xl);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--letter-spacing-md)
}

.ModalLocation-modifiers .ModalProduct-ShortModifier {
    height: 44px;
    border-radius: 12px
}

.ModalLocation-modifiers .ShortModifier-option {
    height: 44px;
    border-radius: 10px
}

.ModalLocation-modifiers .ShortModifier-active::before {
    border-radius: 10px
}

.ModalLocation-modifiers-discount {
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    background: var(--color-text);
    color: var(--color-text-inverse);
    padding: 2px 5px;
    border-radius: var(--radius-xl);
    margin-left: 8px
}

.ModalLocation-NewAddress-container {
    display: flex;
    flex-direction: column;
    height: 100%
}

.ModalLocation-EditAddress-container, .ModalLocation-NewAddress-container, .ModalLocation-myaddress-container, .ModalLocation-takeaway-container {
    display: flex;
    height: 100%;
    flex-direction: column;
    padding: 0 15px
}

.ModalLocation-inputs-container {
    display: flex;
    flex-direction: column
}

.ModalLocation-inputs {
    display: flex;
    grid-gap: 8px;
    margin-bottom: 8px
}

.address-input-loading {
    position: relative
}

.address-input-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 12px;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    border: 2px solid var(--color-accent);
    border-top-color: var(--color-secondary-bg);
    border-radius: 50%;
    animation: address-spinner .8s linear infinite;
    z-index: 10
}

.ModalLocation-SpellChecker-container {
    display: flex;
    flex-direction: column;
    margin: 10px 0 15px 0;
    gap: 2px
}

.ModalLocation-SpellChecker {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 15px;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer
}

.ModalLocation-SpellChecker:hover::before {
    background-color: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.ModalLocation-SpellChecker-street {
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md)
}

.ModalLocation-SpellChecker-city {
    color: rgba(var(--color-primary-rgb), .5);
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-sm)
}

.ModalLocation-takeaway-container {
    display: flex;
    flex-direction: column;
    height: 100%
}

.ModalLocation .ModalProduct-Modifier-container {
    margin-top: 0
}

.ModalLocation .ModalLocation-takeaway-container .Modifier-option {
    padding: 19px 15px
}

.ModalLocation-edit-button {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 30px;
    height: 30px;
    max-height: 30px;
    padding: 8px;
    border-radius: 50%;
    background: rgba(var(--color-primary-rgb), .06);
    transition: transform .1s ease-in-out
}

.ModalLocation-edit-button:hover {
    transform: scale(1.1)
}

.ModalLocation-Button-container {
    position: relative;
    bottom: 0;
    margin: 15px 0
}

.ModalLocation-Button {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0;
    color: var(--color-text-inverse);
    background-color: var(--color-accent);
    overflow: hidden
}

.ModalLocation-Button span {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md)
}

.ModalLocation-Button.disabled {
    opacity: .6;
    cursor: not-allowed
}

.ModalLocation-map {
    position: relative;
    border-radius: var(--radius-md);
    width: 100%
}

.ModalLocation-map::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, #fff 94%);
    pointer-events: none
}

.ModalLocation-InitMap {
    width: 100%;
    height: 40vh;
    min-height: 260px;
    overflow: hidden
}

.ModalLocation-MapLoader {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 40vh;
    background: #f5f2e0;
    gap: 10px;
    color: rgba(var(--color-primary-rgb), .4)
}

.ModalLocation-MapLoader svg {
    animation: spin 2s linear infinite;
    transform-origin: center;
    will-change: transform
}

.ModalLocation-MapError {
    height: 250px;
    width: 100%
}

.ModalLocation-MapError-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 50px;
    gap: 10px
}

.ModalLocation-MapError-content span {
    width: 275px
}

.ModalLocation-DeleteAddress {
    margin: 0;
    border: none;
    font: inherit;
    cursor: pointer;
    width: 34px;
    height: 34px;
    background: #fff;
    border-radius: 22px;
    padding: 7px;
    position: absolute;
    bottom: 20px;
    left: 10px;
    z-index: 1;
    transition: transform .1s ease-in-out
}

.ModalLocation-DeleteAddress:hover {
    transform: scale(1.1)
}

.ModalLocation-DeleteAddress-container {
    display: flex;
    position: absolute;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding: 0 40px;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: var(--color-text-inverse);
    justify-content: center
}

.address-zone-error {
    color: red;
    font-size: 16px;
    margin-top: 8px;
    text-align: center
}

.ModalDeleteAddress-title {
    display: flex;
    flex-direction: column;
    align-items: center
}

.ModalDeleteAddress-icon {
    margin-bottom: 10px
}

.ModalDeleteAddress-title span {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-medium)
}

.ModalDeleteAddress-buttons {
    display: flex;
    flex-direction: row;
    gap: 5px;
    width: 100%
}

.ModalDeleteAddress-ButtonBack {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0;
    background-color: var(--color-secondary-bg);
    overflow: hidden
}

.ModalDeleteAddress-ButtonDelete {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0;
    color: var(--color-text-inverse);
    background-color: var(--color-accent);
    overflow: hidden
}

.ModalDeleteAddress-ButtonBack span, .ModalDeleteAddress-ButtonDelete span {
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-medium)
}

.ModalNav {
    padding: 24px;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    min-height: 100%;
    width: 420px
}

.ModalNav-container {
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: rgba(0, 0, 0, .2) 0 30px 60px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
    transition: opacity 150ms, transform;
    flex: 0 0 auto;
    width: 100%;
    height: 100%;
    max-height: calc(100vh - 64px);
    opacity: 0;
    transform: translateY(20px);
    -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1);
    transition: transform .6s cubic-bezier(.33, 1, .68, 1)
}

.ModalNav-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth
}

.ModalNav-content::-webkit-scrollbar {
    display: none
}

.ModalNav-navigation {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 30px
}

.ModalNav-NavigationItem {
    position: relative;
    color: var(--color-text);
    font-size: var(--font-3xl);
    line-height: var(--line-3xl);
    font-weight: var(--weight-semibold)
}

.ModalNav-Footer {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 40px
}

.ModalNav-Info {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.ModalNav-InfoDesc {
    font-size: var(--font-xxs);
    font-weight: var(--weight-medium);
    color: rgba(var(--color-primary-rgb), .6);
    text-transform: uppercase
}

.ModalNav-InfoTitle {
    font-size: var(--font-base);
    font-weight: var(--weight-semibold);
    color: var(--color-text)
}

.ModalNav-Social {
    display: flex;
    flex-direction: row;
    gap: 8px
}

.ModalNav-SocialLink {
    position: relative;
    color: var(--color-accent)
}

.ModalNav-SocialLink:hover::before {
    border-radius: 50%;
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light))
}

.ModalNotification {
    padding: 24px;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    min-height: 100%;
    width: 420px
}

.ModalNotification-container {
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: rgba(0, 0, 0, .2) 0 30px 60px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
    transition: opacity 150ms, transform;
    flex: 0 0 auto;
    width: 100%;
    height: 100%;
    max-height: calc(100vh - 64px);
    opacity: 0;
    transform: translateY(20px);
    -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1);
    transition: transform .6s cubic-bezier(.33, 1, .68, 1)
}

.ModalNotification-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth
}

.ModalNotification-content::-webkit-scrollbar {
    display: none
}

.ModalGift {
    padding: 24px;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    min-height: 100%;
    width: 480px
}

.ModalGift-container {
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: rgba(0, 0, 0, .2) 0 30px 60px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
    transition: opacity 150ms, transform;
    flex: 0 0 auto;
    width: 100%;
    height: 100%;
    max-height: calc(100vh - 64px);
    overflow: hidden;
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1);
    transition: transform .6s cubic-bezier(.33, 1, .68, 1)
}

.ModalGift-BackGradient {
    background: url('data:image/svg+xml,<svg width="370" height="198" viewBox="0 0 370 198" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(%23filter0_f_5078_19474)"><rect x="224" y="-84" width="232" height="231" rx="115.5" fill="%23FFC7A8"/></g><g filter="url(%23filter1_f_5078_19474)"><rect x="-52" y="-54" width="297" height="297" rx="148.5" fill="%23D6ADF5"/></g><g filter="url(%23filter2_f_5078_19474)"><rect x="149" y="60" width="232" height="204" rx="102" fill="%23F9B9D8"/></g><defs><filter id="filter0_f_5078_19474" x="124" y="-184" width="432" height="431" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="50" result="effect1_foregroundBlur_5078_19474"/></filter><filter id="filter1_f_5078_19474" x="-152" y="-154" width="497" height="497" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="50" result="effect1_foregroundBlur_5078_19474"/></filter><filter id="filter2_f_5078_19474" x="49" y="-40" width="432" height="404" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="50" result="effect1_foregroundBlur_5078_19474"/></filter></defs></svg>');
    background-size: cover;
    background-repeat: no-repeat;
    height: 180px;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: -1;
    overflow: hidden;
    border-radius: 20px;
    opacity: .4
}

.ModalGift-BackGradient::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 40%, #fff 100%);
    z-index: 1;
    pointer-events: none;
    -webkit-user-drag: none
}

.ModalGift-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth
}

.ModalGift-content::-webkit-scrollbar {
    display: none
}

.ModalGift-Header {
    position: relative;
    height: 180px;
    z-index: 0
}

.ModalGift-HeaderContainer {
    padding: 20px 20px;
    border-radius: 20px
}

.ModalGift-title {
    display: flex;
    flex-direction: column
}

.ModalGift-title span {
    color: var(--color-text);
    font-size: var(--font-4xl);
    line-height: var(--line-3xl);
    font-weight: var(--weight-semibold)
}

.ModalGift-title .highlight {
    color: var(--color-accent);
    font-weight: var(--weight-bold)
}

.ModalGift-ProgressContainer {
    border: 1px solid rgba(var(--color-primary-rgb), .2);
    border-radius: 40px;
    position: relative;
    height: 22px;
    margin-top: 20px;
    padding: 0 12px;
    overflow: hidden
}

.ModalGift-ProgressBar {
    background: var(--color-accent);
    border-radius: 40px;
    height: 80%;
    width: 0%;
    transition: width .3s ease;
    position: absolute;
    top: 2px;
    left: 2px;
    right: 2px;
    max-width: calc(100% - 4px);
    z-index: 1
}

.ModalGift-Milestones {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    height: 100%;
    align-items: center
}

.ModalGift-Milestone {
    width: 28px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: rgba(var(--color-primary-rgb), .25)
}

.ModalGift-Milestone.passed {
    color: #fff
}

.ModalGift-Milestone.active {
    color: transparent;
    position: relative
}

.ModalGift-Milestone.inactive {
    padding-top: 3px
}

.ModalGift-Milestone.active .icon {
    display: block;
    width: 16px;
    height: 16px;
    background-color: rgba(var(--color-primary-rgb-inverse), 1);
    mask-image: url('data:image/svg+xml;utf8,<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 6C2 5.82 2.07 5.65 2.2 5.53 2.32 5.4 2.49 5.33 2.67 5.33H13.33C13.51 5.33 13.68 5.4 13.8 5.53 13.93 5.65 14 5.82 14 6V7.33C14 7.51 13.93 7.68 13.8 7.8 13.68 7.93 13.51 8 13.33 8H2.67C2.49 8 2.32 7.93 2.2 7.8 2.07 7.68 2 7.51 2 7.33V6Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 5.33V14" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12.67 8V12.67C12.67 13.02 12.53 13.36 12.28 13.61 12.03 13.86 11.69 14 11.33 14H4.67C4.31 14 3.97 13.86 3.72 13.61 3.47 13.36 3.33 13.02 3.33 12.67V8" stroke="white" stroke-linecap="round" stroke-linejoin="round"/><path d="M5 5.33C4.56 5.33 4.13 5.16 3.82 4.85 3.51 4.53 3.33 4.11 3.33 3.67 3.33 3.22 3.51 2.8 3.82 2.49 4.13 2.18 4.56 2 5 2 5.64 1.99 6.27 2.3 6.81 2.9 7.34 3.49 7.76 4.34 8 5.33 8.24 4.34 8.66 3.49 9.19 2.9 9.73 2.3 10.36 1.99 11 2 11.44 2 11.87 2.18 12.18 2.49 12.49 2.8 12.67 3.22 12.67 3.67 12.67 4.11 12.49 4.53 12.18 4.85 11.87 5.16 11.44 5.33" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center
}

.ModalGift-Labels {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    padding: 0 5px;
    font-size: var(--font-sm);
    color: rgba(var(--color-primary-rgb), .6)
}

.ModalGift-SelectContainer {
    padding: 10px 20px 20px 20px
}

.ModalGift-SelectTitle span {
    color: var(--color-text);
    font-size: var(--font-2xl);
    line-height: var(--line-2xl);
    font-weight: var(--weight-semibold)
}

.ModalGift-SelectContent {
    display: grid;
    position: relative;
    grid-template-columns:repeat(2, 1fr);
    gap: 8px;
    row-gap: 20px;
    overflow: hidden;
    margin: 0;
    margin-top: 10px
}

.ModalGift .product-action.gift-in-basket {
    color: var(--color-text-inverse);
    transition: all .2s ease;
    background-color: rgba(var(--color-accent-rgb), 1)
}

.ModalShowMore {
    padding: 24px;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    min-height: 100%;
    width: 480px
}

.ModalShowMore-container {
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: rgba(0, 0, 0, .2) 0 30px 60px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
    transition: opacity 150ms, transform;
    flex: 0 0 auto;
    width: 100%;
    height: 100%;
    max-height: calc(100vh - 64px);
    overflow: hidden;
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1);
    transition: transform .6s cubic-bezier(.33, 1, .68, 1)
}

.ModalShowMore-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth
}

.ModalShowMore-content::-webkit-scrollbar {
    display: none
}

.ModalShowMore-SelectTitle span {
    color: var(--color-text);
    font-size: var(--font-2xl);
    line-height: var(--line-2xl);
    font-weight: var(--weight-semibold)
}

.ModalShowMore-ProductsList {
    display: grid;
    position: relative;
    grid-template-columns:repeat(2, 1fr);
    gap: 8px;
    row-gap: 20px;
    margin: 0;
    margin-top: 10px;
    padding: 10px 20px 20px 20px
}

.ModalShowMore-HeaderNav {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--color-primary-rgb-inverse);
    transition: background-color .2s ease-in-out
}

.ModalShowMore-HeaderNav-container {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    margin: 10px
}

.ModalShowMore-HeaderNav-title {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0 10px;
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    font-weight: var(--weight-semibold)
}

.ModalSaleDetail {
    padding: 24px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    min-height: 100%
}

.ModalSaleDetail .modal-close-button {
    top: 12px;
    right: 12px;
    background: rgba(var(--color-primary-rgb), var(--overlay-opacity-dark))
}

.ModalSaleDetail-container {
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: rgba(0, 0, 0, .2) 0 30px 60px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
    transition: opacity 150ms, transform;
    flex: 0 0 auto;
    max-width: 820px;
    width: 800px;
    height: calc(100vh - 64px);
    max-height: calc(100vh - 64px);
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1);
    transition: transform .6s cubic-bezier(.33, 1, .68, 1)
}

.ModalSaleDetail-container.without-gallery {
    width: 460px
}

.ModalSaleDetail-container.without-gallery .ModalSaleDetail-details-right {
    padding: 20px 0 0 5px
}

.ModalSaleDetail-content {
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    height: 100%
}

.ModalSaleDetail-details {
    height: 100%
}

.ModalSaleDetail-details-container {
    display: flex;
    height: 100%;
    padding: 0 20px 0 15px;
    overflow: hidden
}

.ModalSaleDetail-details-left {
    display: flex;
    flex: 1 0 380px;
    flex-direction: column;
    gap: 30px;
    padding: 15px 0;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none
}

.ModalSaleDetail-details-left::-webkit-scrollbar {
    display: none
}

.ModalSaleDetail-image {
    position: relative;
    flex-shrink: 0;
    width: 380px;
    height: 100%;
    overflow: hidden;
    border-radius: 12px;
    will-change: transform;
    transition: height .5s ease-in-out
}

.ModalSaleDetail-swiper {
    height: 100%;
    -webkit-user-select: none;
    user-select: none
}

.ModalSaleDetail-details-right {
    display: flex;
    flex: 1 1 50%;
    flex-direction: column;
    padding: 15px 0 0 20px;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth
}

.ModalSaleDetail-details-right::-webkit-scrollbar {
    display: none
}

.ModalSaleDetail-header {
    padding: 6px 0 5px 0
}

.ModalSaleDetail-title-container {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    padding-right: 45px
}

.ModalSaleDetail-title {
    margin: 0
}

.ModalSaleDetail-title span {
    color: var(--color-text);
    font-size: var(--font-4xl);
    line-height: var(--line-4xl);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--letter-spacing-md)
}

.ModalSaleDetail-description {
    margin: 14px 0
}

.ModalSaleDetail-description span {
    color: var(--color-text);
    font-size: var(--font-base);
    line-height: var(--line-base);
    font-weight: var(--weight-regular)
}

.ModalSaleDetail-image-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    user-select: none
}

.ModalSaleDetail-image-container picture {
    height: 100%
}

.ModalSaleDetail-recommendation {
    margin-top: 24px;
    margin-bottom: 15px
}

.ModalSaleDetail-recommendation-title span {
    font-size: var(--font-3xl);
    line-height: var(--line-3xl);
    font-weight: var(--weight-semibold)
}

.ModalSaleDetail-recommendation-container {
    display: grid;
    position: relative;
    grid-template-columns:repeat(2, 1fr);
    gap: 8px;
    row-gap: 15px;
    overflow: hidden;
    margin: 0;
    margin-top: 10px
}

.ModalStories {
    padding: 24px;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    min-height: 100%;
    width: 480px
}

.ModalStories-container {
    display: flex;
    flex-direction: column;
    position: relative;
    box-sizing: border-box;
    border-radius: 20px;
    transition: opacity 150ms, transform;
    flex: 0 0 auto;
    width: 100%;
    height: calc(100vh - 50px);
    max-height: calc(100vh - 50px);
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1), opacity .2s ease;
    transition: transform .6s cubic-bezier(.33, 1, .68, 1), opacity .2s ease
}

.ModalStories-container .modal-close-button {
    color: var(--color-text-inverse);
    background: rgba(var(--color-primary-rgb), .1)
}

.ModalStories-content {
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    height: 100%;
    border-radius: 18px;
    overflow: hidden
}

.ModalStories-content::-webkit-scrollbar {
    display: none
}

.ModalStories-wrapper {
    position: relative;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none
}

.ModalStories-HeaderOverlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 60px;
    background: linear-gradient(180deg, rgba(var(--color-primary-rgb), .2), rgba(var(--color-primary-rgb), 0));
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    pointer-events: none
}

.ModalStories-ProgressBarContainer {
    position: absolute;
    display: flex;
    flex-direction: row;
    gap: 4px;
    top: 25px;
    right: 56px;
    left: 20px
}

.ModalStories-BarBackground {
    z-index: 2;
    flex: 1 0;
    height: 5px;
    background: rgba(var(--color-primary-rgb), .1);
    border-radius: 26px
}

.ModalStories-bar {
    z-index: 2;
    flex: 1 0;
    height: 5px;
    background: rgba(var(--color-primary-rgb), .1);
    border-radius: 26px
}

.ModalStories-bar.active-bar, .ModalStories-bar.passed-bar {
    background-color: var(--color-text-inverse)
}

.ModalStories-bar .ModalStories-bar:not(.ModalStories-bar.active-bar):not(.ModalStories-bar.passed-bar) {
    background: 0 0
}

.ModalStories-bar.passed-bar {
    width: 100%;
    min-width: 100%
}

.ModalStories-Slides {
    display: flex;
    flex-flow: row;
    height: 100%
}

.ModalStories-Slide {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 100%;
    height: inherit
}

.ModalStories-SlideContent {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 20px
}

.StoriesImg {
    min-width: 100%;
    max-width: 100%;
    min-height: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center
}

.ModalStories-Controls {
    position: absolute;
    display: grid;
    grid-template-columns:1fr 1fr;
    top: 70px;
    right: 15px;
    bottom: 15px;
    left: 15px;
    z-index: 10
}

.ModalStories-Prev {
    display: flex;
    align-items: center;
    cursor: pointer
}

.ModalStories-Next {
    display: flex;
    align-items: center;
    justify-content: end;
    cursor: pointer
}

.ModalStories-ButtonContainer {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: var(--color-text-inverse);
    background: rgba(var(--color-primary-rgb), .1);
    border-radius: 50%;
    top: 40%
}

.ModalStories-Button {
    margin: 0;
    border: none;
    cursor: pointer;
    width: 38px;
    height: 38px;
    padding: 9px 9px;
    position: absolute
}

.ModalRateOrder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 20px 0 15px 0
}

.ModalRateOrder-TitleContainer {
    display: flex;
    flex-direction: column;
    gap: 20px;
    color: var(--color-text)
}

.ModalRateOrder-TitleContainer svg {
    margin-left: 20px
}

.ModalRateOrder-TitleContainer span {
    font-size: var(--font-3xl);
    line-height: var(--line-3xl);
    font-weight: var(--weight-bold);
    margin-top: 20px
}

.ModalRateOrder-StarContainer {
    display: flex;
    flex-direction: row;
    gap: 10px;
    color: rgba(var(--color-primary-rgb), .14)
}

.ModalRateOrder-Star {
    cursor: pointer;
    transition: fill .8s ease
}

.ModalRateOrder-Star svg.filled path {
    fill: var(--color-accent)
}

.ModalRateOrder-Description {
    width: 200px;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 60px
}

.ModalRateOrder-Description span {
    color: rgba(var(--color-primary-rgb), .4);
    font-size: var(--font-md);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium)
}

.ModalRateOrder-RatedInfo {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center
}

.ModalRateOrder-RatedInfo .ModalRateOrder-StarContainer {
    gap: 6px
}

.ModalRateOrder-RatingTitle {
    font-size: var(--font-2xl);
    line-height: var(--line-2xl);
    letter-spacing: var(--letter-spacing-md);
    font-weight: var(--weight-semibold)
}

.ModalRateOrder-Star.filled svg path {
    fill: var(--color-accent)
}

.ModalRateOrder-FeedbackForm {
    width: 100%;
    margin-top: 20px
}

.ModalRateOrder-OptionsList {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 10px 0 20px 0;
    background: var(--color-secondary-bg);
    padding: 15px;
    border-radius: var(--radius-md)
}

.ModalRateOrder-OptionsList .checkbox {
    background: 0 0
}

.ModalRateOrder-OptionsTitle {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    letter-spacing: var(--letter-spacing-md);
    font-weight: var(--weight-semibold)
}

.ModalRateOrder-CommentTitle {
    font-size: var(--font-lg);
    line-height: var(--line-lg);
    letter-spacing: var(--letter-spacing-md);
    font-weight: var(--weight-semibold);
    margin-bottom: 10px
}

.ModalRateOrder-Submit {
    padding-top: 30px
}

.ModalRateOrder-SubmitButton {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    border-radius: var(--radius-md);
    transition: background-color .15s ease-in, color .15s ease-in;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0;
    gap: 8px;
    color: var(--color-text-inverse);
    background-color: var(--color-accent);
    overflow: hidden
}

.ModalRateOrder-SubmitButton:hover::before {
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light));
    mix-blend-mode: overlay
}

.ModalRateOrder-SubmitButton:disabled {
    opacity: .7;
    cursor: default
}

.ModalRateOrder-ContactSwitch {
    margin: 15px 0 0 0
}

.progressiveLoad {
    filter: blur(5px);
    transition: all .5s ease;
    transform: scale(1.02)
}

.progressiveLoad.loaded {
    transform: scale(1);
    filter: blur(0)
}

.ModalAuth-Captcha {
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1.5px solid rgba(var(--color-primary-rgb), .1);
    padding: 12px;
    gap: 10px;
    border-radius: 14px;
    margin-top: 10px
}

.captcha-container {
    display: flex;
    flex-direction: row
}

.captcha-container button {
    font-size: 28px
}

.ModalAuth-Captcha input {
    height: 40px;
    letter-spacing: var(--letter-spacing-md);
    width: 100%;
    border: 1px solid rgba(var(--color-primary-rgb), .1);
    border-radius: 12px;
    padding: 10px
}

.captchaError {
    border: 1px solid red
}

.captcha-error-text {
    color: red
}

.cookieNotification {
    position: fixed;
    z-index: 100;
    bottom: 15px;
    left: 15px;
    width: 305px;
    height: max-content;
    padding: 8px 10px 8px 15px;
    background: var(--color-secondary-bg);
    border-radius: var(--radius-md)
}

.cookieNotification-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 40px
}

.cookieNotification-text {
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-md);
    width: 290px;
    color: var(--color-text)
}

.cookieNotification-button {
    font-size: var(--font-sm);
    line-height: var(--line-sm);
    font-weight: var(--weight-medium);
    letter-spacing: var(--letter-spacing-xs);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    color: var(--color-text-inverse);
    background-color: var(--color-accent);
    border: none;
    border-radius: var(--radius-lg)
}

.cookieNotification-button:hover::before {
    background-color: rgba(var(--color-primary-rgb-inverse), var(--overlay-opacity-light));
    border-radius: var(--radius-md);
    mix-blend-mode: overlay
}

.pwa-notification {
    display: none
}

@media (min-width: 1500px) {
    .stories-wrapper {
        max-width: 1360px
    }

    .stories-list {
        grid-template-columns:repeat(5, minmax(0, 260px))
    }

    .index-lastOrders {
        max-width: 1360px
    }

    .index-lastOrders .products-list {
        grid-template-columns:repeat(6, minmax(0, 215px))
    }

    .index-categories {
        max-width: 1360px
    }

    .categories-wrapper {
        grid-template-columns:repeat(6, minmax(0, 1fr))
    }

    .tabs-wrapper {
        max-width: 1360px
    }

    .catalog {
        max-width: 1360px
    }

    .nav-pills-wrapper {
        max-width: 1360px
    }

    .catalog-products-list {
        grid-template-columns:repeat(5, minmax(0, 1fr))
    }

    .simplePage {
        max-width: 1360px
    }
}

@media (min-width: 1700px) {
    .catalog {
        max-width: 100%
    }

    .catalog-products-list {
        grid-template-columns:repeat(6, minmax(0, 1fr))
    }
}

@media screen and (min-width: 1980px) {

    .floating-button-wrapper {
        display: none !important
    }

    .navbar-cats, .navbar-nav {
        margin-right: 360px
    }

    .navbar .basket-button {
        display: none
    }

    .banner-image-strip {
        left: 0;
        width: calc(100vw - 360px)
    }

    .basket-header-inner {
        justify-content: space-between;
        width: 100%
    }

    .basket-close-button {
        display: none
    }
}

@media screen and (max-width: 1979px) {
    .Basket-ModalFixer {
        margin: 0
    }

    .layout-container {
        margin: 0 auto;
        width: 100%
    }

    .footer {
        margin: 60px 0 auto
    }

    .basket {
        visibility: hidden;
        width: 400px;
        right: -400px;
        top: 10px;
        max-height: calc(100vh - 20px);
        border-radius: 20px;
        transition: .5s cubic-bezier(.4, 0, .3, 1);
        -webkit-transition: .5s cubic-bezier(.4, 0, .3, 1);
        border-left: none
    }

    .basket.basket--visible {
        right: 10px;
        visibility: visible
    }

    .basket-header {
        padding: 0 15px 0 15px
    }

    .basket-body {
        padding: 15px 10px 10px 15px
    }

    .basket-footer {
        padding: 35px 15px 10px;
        border-radius: 20px
    }

    .rec-section .products-list {
        grid-template-columns:repeat(2, minmax(0, 178px))
    }

    .ModalProduct .ModalProduct-container {
        max-width: 800px
    }

    .ModalProduct .ModalProduct-details-left {
        flex: 1 0 380px
    }

    .ModalProduct .ModalProduct-image {
        width: 380px;
        height: 380px
    }

    .checkout-content {
        grid-template-columns:minmax(0, 800px) 400px
    }
}

@media screen and (max-width: 960px) {
    .stories-list {
        grid-template-columns:repeat(4, minmax(0, 220px))
    }

    .index-lastOrders .products-list {
        grid-template-columns:repeat(4, minmax(0, 220px))
    }

    .categories-wrapper {
        grid-template-columns:repeat(4, minmax(0, 1fr))
    }

    .catalog-products-list {
        grid-template-columns:repeat(3, minmax(0, 1fr))
    }

    .sale-list {
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap: 15px 10px
    }

    .footer .footer_info:first-child {
        display: none
    }

    .ModalProduct {
        padding: 10px
    }

    .ModalProduct .ModalProduct-container {
        max-width: 660px
    }

    .ModalProduct .ModalProduct-container.with-recommendation {
        height: calc(100vh - 30px);
        max-height: calc(100vh - 30px)
    }

    .ModalProduct .ModalProduct-details-container {
        padding: 0 15px 0 15px
    }

    .ModalProduct .ModalProduct-details-left {
        flex: 1 0 300px
    }

    .ModalProduct-title span {
        font-size: var(--font-3xl);
        line-height: var(--line-3xl)
    }

    .product-progress-bar span {
        font-size: var(--font-xxs);
        line-height: var(--line-xxs)
    }

    .ModalProduct .ModalProduct-image {
        width: 300px;
        height: 300px
    }

    .ModalProduct .ModalProduct-details-right {
        padding: 10px 0 0 10px
    }

    .ModalProduct-description span {
        color: var(--color-text);
        font-size: var(--font-sm);
        line-height: var(--line-sm);
        font-weight: var(--weight-medium)
    }

    .simplePage-ZoneWrapper {
        grid-template-columns:repeat(2, minmax(0, 1fr))
    }

    .checkout-page .layout-container {
        width: 100%
    }

    .checkout-content {
        grid-template-columns:repeat(1, minmax(0, 1fr));
        width: 100%
    }

    .DetailProduct-details-container {
        flex-direction: column;
        padding: 0 5px 0 5px
    }

    .DetailProduct-details-left {
        flex: 0
    }

    .DetailProduct-image {
        width: 100%;
        height: 100%
    }

    .DetailProduct-recommendation {
        display: none
    }

    .DetailProduct-details-right {
        position: relative;
        padding: 0;
        width: 100%;
        flex: 0
    }

    .admin-panel-visible .DetailProduct-details-right {
        top: 0
    }
}

@media screen and (max-width: 767px) {
    body.basket-open::before {
        opacity: 0
    }

    p {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .SwipeTrigger-container {
        position: absolute;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        left: 0;
        top: 0;
        padding-top: 8px;
        height: 60px;
        touch-action: pan-y;
        z-index: 2
    }

    .SwipeTrigger {
        width: 60px;
        height: 5px;
        border-radius: 10px;
        background: rgba(var(--color-primary-rgb), .16);
        will-change: transform
    }

    .ModalProduct-content .SwipeTrigger-container {
        top: 5px
    }

    .modal-close-button {
        width: 40px;
        height: 40px;
        padding: 13px
    }

    .modal-close-button svg {
        width: 14px;
        height: 14px
    }

    .modal-back-button {
        width: 40px;
        height: 40px;
        padding: 12px
    }

    .modal-back-button svg {
        width: 17px;
        height: 17px
    }

    .main-input {
        height: 60px
    }

    .main-input > label {
        font-size: var(--font-lg)
    }

    .input:focus + label, .input:not(:placeholder-shown).input:not(:focus) + label {
        top: 32%;
        font-size: var(--font-md)
    }

    .input {
        font-size: var(--font-1xl);
        line-height: var(--line-1xl);
        letter-spacing: var(--letter-spacing-md);
        padding: 18px 15px 0
    }

    .checkbox-label {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .navbar {
        height: 50px
    }

    .basket {
        transition: none;
        -webkit-transition: none;
        width: 100%;
        border-radius: 0;
        top: 0;
        right: 0;
        height: calc(var(--vh, 1vh) * 100);
        max-height: calc(var(--vh, 1vh) * 100)
    }

    .admin-panel-visible .basket {
        max-height: calc(100vh - 39px)
    }

    .basket.closed * {
        transition: none !important
    }

    .basket.basket--visible {
        right: 0
    }

    .basket-body {
        padding: 15px 0 10px 0
    }

    .basket-scrollable-content {
        padding: 20px 0 40px 0
    }

    .basket-items {
        margin: 0 20px 0 15px
    }

    .freeDelivery-header {
        margin-bottom: 8px
    }

    .gift-section {
        margin: 0 20px 30px 15px
    }

    .rec-section {
        padding: 0;
        width: 100%;
        margin-bottom: 20px
    }

    .product-overlay {
        will-change: opacity, transform
    }

    .rec-title {
        margin-left: 15px
    }

    .rec-section .products-list {
        width: 100%;
        grid-template-columns:repeat(2, minmax(0, 175px));
        grid-column-gap: 10px;
        column-gap: 10px
    }

    .rec-section .product-item:not(:last-child) {
        margin-right: 10px
    }

    .basket-amount-wrapper {
        margin: 0 20px 0 20px
    }

    .basket-footer {
        padding-bottom: max(10px, env(safe-area-inset-bottom))
    }

    .checkout-btn {
        height: 56px
    }

    .admin-panel-visible .floating-button-wrapper {
        top: auto
    }

    .floating-button-wrapper {
        bottom: 0;
        top: auto;
        opacity: 1 !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
        padding-bottom: max(10px, env(safe-area-inset-bottom))
    }

    .floating-order-wrapper {
        bottom: 0;
        top: auto;
        transform: translateY(0) !important;
        padding-bottom: max(10px, env(safe-area-inset-bottom))
    }

    .btn-prev-wrapper {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 90;
        padding: 15px
    }

    .btn-prev {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        max-width: 100px;
        height: 52px;
        margin: auto;
        background-color: var(--color-secondary-bg);
        color: var(--color-text);
        border-radius: var(--radius-xl);
        transition: .15s;
        padding: 0 18px;
        cursor: pointer
    }

    .navbar-nav {
        grid-template-columns:repeat(2, 1fr);
        padding: 6px 10px;
        padding-bottom: 5px
    }

    .navbar-nav-center {
        display: none
    }

    .navbar .basket-button {
        display: none
    }

    .navbar .profile svg {
        width: 24px;
        height: 24px
    }

    .navbar .info-menu svg {
        width: 24px;
        height: 24px
    }

    .navbar .location:first-child svg {
        width: 24px;
        height: 24px
    }

    .navbar .profile .nav-text {
        display: none
    }

    .navbar .location {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        white-space: nowrap
    }

    .nav-pills-wrapper {
        padding: 0 15px;
        gap: 8px
    }

    .nav-pill {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .stories-wrapper {
        padding: 0;
        width: 100%
    }

    .stories-list {
        width: 100%;
        grid-template-columns:repeat(2, minmax(0, 220px))
    }

    .stories-item {
        width: 210px;
        max-height: 290px
    }

    .index-lastOrders {
        padding: 0;
        width: 100%
    }

    .index-lastOrders .section-title {
        padding-left: 15px
    }

    .index-lastOrders .products-list {
        width: 100%;
        grid-template-columns:repeat(2, minmax(0, 175px))
    }

    .index-categories {
        padding: 0 16px
    }

    .categories-wrapper {
        grid-template-columns:repeat(2, minmax(0, 1fr))
    }

    .index-categories .card-container {
        padding-bottom: 100%
    }

    .category-text-overlay {
        font-size: var(--font-1xl);
        line-height: var(--line-1xl);
        font-weight: var(--weight-semibold)
    }

    .tabs-content > div.active {
        flex-direction: column
    }

    .navbar-cats-container {
        padding: 0 0
    }

    .catalog {
        padding: 0 10px
    }

    .catalog-products-list {
        grid-template-columns:repeat(2, minmax(0, 1fr))
    }

    .catalog-wrapper .title-container .subtitle {
        display: none
    }

    .sale-list {
        grid-template-columns:repeat(1, minmax(0, 1fr))
    }

    .footer {
        margin: 30px 0 auto
    }

    .footer .footer-container {
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding: 20px 20px
    }

    .footer .footer-menu-button {
        order: 2
    }

    .footer .footer-menu-button:before {
        pointer-events: none;
        content: "";
        position: absolute;
        z-index: 50;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        border-radius: var(--radius-sm);
        background-color: rgba(var(--color-primary-rgb), .04)
    }

    .footer .footer-left {
        justify-content: space-between
    }

    .footer .footer-right {
        align-items: flex-start;
        gap: 20px;
        flex-direction: column
    }

    .footer .footer_info:first-child {
        display: flex
    }

    .footer .footer-bottom {
        display: flex;
        flex-direction: column;
        gap: 25px;
        padding-bottom: max(15px, env(safe-area-inset-bottom))
    }

    .footer .footer-bottom-left {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px
    }

    .footer-info {
        gap: 4px
    }

    .footer-info-desc {
        font-size: var(--font-md)
    }

    .footer-info-title {
        font-size: var(--font-lg)
    }

    .footer-social-item svg {
        width: 40px;
        height: 40px
    }

    .modal-open {
        width: 100%
    }

    .modals {
        inset: auto
    }

    .ModalProduct {
        padding: 0;
        height: calc(var(--vh, 1vh) * 100);
        max-height: calc(var(--vh, 1vh) * 100)
    }

    .ModalProduct-details {
        overflow-y: auto;
        -ms-overflow-style: none;
        scrollbar-width: none
    }

    .ModalProduct .ModalProduct-container {
        position: fixed;
        top: 5px;
        min-width: auto;
        max-width: 767px;
        width: 100%;
        height: calc(100% - 5px) !important;
        max-height: calc(100% - 5px) !important;
        margin: 0;
        overflow: hidden;
        border-radius: 0;
        border-top-left-radius: 28px;
        border-top-right-radius: 28px;
        transform: translate3d(0, 100vh, 0);
        -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1), opacity .2s ease;
        transition: transform .6s cubic-bezier(.33, 1, .68, 1), opacity .2s ease
    }

    .ModalProduct .ModalProduct-details-container {
        display: block;
        padding: 0 0 100px;
        overflow-y: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        scroll-behavior: smooth
    }

    .ModalProduct .ModalProduct-details-left {
        display: block;
        padding: 0;
        overflow: inherit
    }

    .ModalProduct .ModalProduct-image {
        width: auto;
        height: fit-content;
        border-radius: 0;
        margin: 5px;
        border-radius: 26px
    }

    .ModalProduct .ModalProduct-image-container {
        display: block;
        max-width: 100%;
        height: auto;
        max-height: 100%;
        min-width: 340px;
        transition: transform .5s ease-in-out;
        object-fit: cover
    }

    .ModalProduct .ModalProduct-details-right {
        display: block;
        padding: 5px 16px 16px 20px;
        overflow: inherit
    }

    .ModalProduct .ModalProduct-PriceButton-container {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        padding: 35px 15px 15px;
        background: linear-gradient(180deg, rgba(var(--color-primary-rgb-inverse), 0) 4%, rgba(var(--color-primary-rgb-inverse), 1) 35%);
        z-index: 1;
        touch-action: none;
        padding-bottom: max(15px, env(safe-area-inset-bottom))
    }

    .ModalProduct-progress-bar {
        bottom: inherit;
        left: 12px;
        top: 12px;
        right: inherit
    }

    .ModalProduct .modal-close-button {
        position: fixed;
        top: 12px;
        right: 12px;
        z-index: 2
    }

    .ModalProduct .custom-swiper-button-next, .ModalProduct .custom-swiper-button-prev {
        display: none
    }

    .ModalProduct-swiper {
        height: 100%;
        -webkit-user-select: none;
        user-select: none
    }

    .ModalProduct-title span {
        font-size: var(--font-4xl);
        line-height: var(--line-4xl);
        font-weight: var(--weight-bold)
    }

    .ModalProduct-spec span {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .ModalProduct-description {
        margin-bottom: 20px
    }

    .ModalProduct-description span {
        color: var(--color-text);
        font-size: var(--font-base);
        line-height: var(--line-base);
        font-weight: var(--weight-medium)
    }

    .ModalProduct-Modifier-title span, .ModalProduct-NutritionalVal-title span, .ModalProduct-recommendation-title span {
        font-size: var(--font-2xl);
        line-height: var(--line-2xl)
    }

    .WhatIn-item-title {
        font-size: var(--font-base);
        line-height: var(--line-base)
    }

    .ymaps-2-1-79-zoom {
        will-change: transform
    }

    .ShortModifier-option {
        font-size: var(--font-lg);
        line-height: var(--line-lg);
        will-change: transform
    }

    .Modifier-option span {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .ModalProduct-progress-bar span {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .NutritionalVal-desc {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .NutritionalVal-title {
        font-size: var(--font-lg);
        line-height: var(--line-lg);
        font-weight: var(--weight-semibold)
    }

    .ModalProduct .product .product-name span {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .ModalProduct .product .product-spec span {
        font-size: var(--font-xs);
        line-height: var(--line-xs)
    }

    .ModalProduct-PriceButton span {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .ModalSaleDetail-image-container picture {
        height: auto
    }

    .ModalAuth, .ModalGift, .ModalLocation, .ModalNav, .ModalNotification, .ModalPWA, .ModalProfile, .ModalPromotion, .ModalShowMore, .ModalStories {
        padding: 0 !important;
        height: calc(var(--vh, 1vh) * 100);
        max-height: calc(var(--vh, 1vh) * 100)
    }

    .ModalAuth .ModalAuth-container, .ModalGift .ModalGift-container, .ModalLocation .ModalLocation-container, .ModalNav .ModalNav-container, .ModalNotification .ModalNotification-container, .ModalPWA .ModalPWA-container, .ModalProfile .ModalProfile-container, .ModalPromotion .ModalPromotion-container, .ModalShowMore .ModalShowMore-container, .ModalStories .ModalStories-container {
        position: fixed;
        top: 5px;
        min-width: auto;
        max-width: 767px;
        padding: 0;
        height: calc(100% - 5px) !important;
        max-height: calc(100% - 5px) !important;
        margin: 0;
        overflow: hidden;
        border-radius: 0;
        border-top-left-radius: 28px;
        border-top-right-radius: 28px;
        transform: translateY(100vh);
        -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1), opacity .2s ease;
        transition: transform .6s cubic-bezier(.33, 1, .68, 1), opacity .2s ease
    }

    .ModalAuth .ModalAuth-content, .ModalGift .ModalGift-content, .ModalLocation .ModalLocation-content, .ModalNav .ModalNav-content, .ModalProfile .ModalProfile-content, .ModalShowMore .ModalShowMore-content, .ModalStories .ModalStories-content {
        padding: 0 10px 0;
        overflow-y: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        scroll-behavior: smooth
    }

    .ModalLocation .ModalLocation-content, .ModalStories .ModalStories-content {
        padding: 0
    }

    .ModalGift .ModalGift-content {
        padding: 0
    }

    .ModalLocation-InitMap {
        height: 360px;
        width: 100vw;
        max-width: 767px
    }

    .ModalLocation-MapLoader {
        height: 360px
    }

    .ModalLocation-Button span {
        font-size: var(--font-lg);
        line-height: var(--line-lg);
        font-weight: var(--weight-medium)
    }

    .ModalLocation-Button-container {
        margin-bottom: max(15px, env(safe-area-inset-bottom))
    }

    .ModalShowMore-ProductsList {
        padding: 10px 0 20px 0
    }

    .ModalSaleDetail {
        padding: 0
    }

    .ModalSaleDetail-details {
        overflow-y: auto;
        -ms-overflow-style: none;
        scrollbar-width: none
    }

    .ModalSaleDetail .ModalSaleDetail-container {
        position: fixed;
        top: 5px;
        min-width: auto;
        width: 100%;
        height: calc(100% - 5px) !important;
        max-height: calc(100% - 5px) !important;
        margin: 0;
        overflow: hidden;
        border-radius: 0;
        border-top-left-radius: 28px;
        border-top-right-radius: 28px;
        transform: translate3d(0, 100vh, 0);
        -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1), opacity .2s ease;
        transition: transform .6s cubic-bezier(.33, 1, .68, 1), opacity .2s ease
    }

    .ModalSaleDetail .ModalSaleDetail-details-container {
        display: block;
        padding: 0;
        overflow-y: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        scroll-behavior: smooth
    }

    .ModalSaleDetail-container.without-gallery .ModalSaleDetail-details-container {
        padding: 15px
    }

    .ModalSaleDetail .ModalSaleDetail-details-left {
        display: block;
        padding: 0;
        overflow: inherit;
        display: none
    }

    .ModalSaleDetail .ModalSaleDetail-image {
        width: auto;
        height: fit-content;
        border-radius: 0;
        margin: 0;
        border-radius: 0
    }

    .ModalSaleDetail .ModalSaleDetail-image-container {
        display: block;
        max-width: 100%;
        height: auto;
        max-height: 100%;
        transition: transform .5s ease-in-out;
        object-fit: cover
    }

    .ModalSaleDetail .ModalSaleDetail-details-right {
        display: block;
        padding: 20px 16px 16px 20px;
        overflow: inherit
    }

    .ModalSaleDetail .custom-swiper-button-next, .ModalSaleDetail .custom-swiper-button-prev {
        display: none
    }

    .ModalSaleDetail-swiper {
        height: 100%;
        -webkit-user-select: none;
        user-select: none
    }

    .ModalStories .ModalStories-container {
        top: 15px;
        height: calc(100% - 30px) !important;
        max-height: calc(100% - 30px) !important
    }

    .ModalStories-ProgressBarContainer {
        right: 70px;
        top: 27px
    }

    .ModalNav .ModalNav-content {
        padding: 40px 30px 0
    }

    .ModalNav-logo svg {
        width: 150px;
        height: 44px
    }

    .ModalNav-NavigationItem {
        font-size: var(--font-4xl);
        line-height: var(--line-4xl)
    }

    .ModalNav-Footer {
        gap: 25px;
        margin-top: 50px
    }

    .ModalNav-Info {
        gap: 4px
    }

    .ModalNav-InfoDesc {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .ModalNav-InfoTitle {
        font-size: var(--font-2xl);
        line-height: var(--line-2xl);
        font-weight: var(--weight-semibold)
    }

    .ModalNav-Social {
        gap: 10px
    }

    .ModalProfile-UserInfo-container {
        gap: 20px;
        margin-top: 50px
    }

    .UserInfo-icon svg {
        width: 80px;
        height: 80px
    }

    .ModalNav-SocialLink svg {
        width: 50px;
        height: 50px
    }

    .UserInfo-about {
        gap: 4px
    }

    .UserInfo-about span:nth-child(2) {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .UserInfo-about-title {
        font-size: var(--font-4xxl);
        line-height: var(--line-4xxl)
    }

    .ModalProfile-nav-item {
        grid-template-columns:26px auto;
        padding: 10px 10px
    }

    .ModalProfile-nav-icon svg {
        width: 26px;
        height: 26px
    }

    .ModalProfile-nav-name {
        font-size: var(--font-4xl);
        line-height: var(--line-4xl)
    }

    .ModalProfile-ExitButton-container {
        padding-bottom: max(15px, env(safe-area-inset-bottom))
    }

    .ModalProfile-ExitButton span {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .navbar .nav-wrapper .nav-text {
        font-size: var(--font-1xl);
        line-height: var(--line-1xl)
    }

    .checkout-page .navbar .nav-wrapper .nav-text {
        display: none
    }

    .checkout-page .goback {
        min-width: 40px;
        justify-content: center
    }

    .checkout-page .goback svg {
        width: 18px;
        height: 18px
    }

    .ModalLoyalty-container {
        margin-bottom: max(15px, env(safe-area-inset-bottom))
    }

    .ModalLoyalty-BonusBalance {
        font-size: var(--font-5xxl);
        line-height: var(--line-5xxl)
    }

    .bonus-icon.big::after {
        width: 30px;
        height: 30px;
        padding-top: 24px
    }

    .ModalLoyalty-Tooltip-ItemWrapper {
        font-size: var(--font-base);
        line-height: var(--line-base);
        width: 320px
    }

    .ModalLoyalty-badge {
        font-size: var(--font-1xl);
        line-height: var(--line-1xl)
    }

    .ModalLoyalty-labels {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .ModalLoyalty-TextStatus {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .ModalLoyalty-BonusInfoButton span {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .ModalOrderHistory-CardTitle-container {
        gap: 4px
    }

    .ModalOrderHistory-card {
        grid-template-columns:42px auto
    }

    .ModalOrderHistory-CardIcon {
        min-width: 42px;
        height: 42px;
        max-height: 42px
    }

    .ModalOrderHistory-CardIcon svg {
        width: 28px;
        height: 28px
    }

    .ModalOrderHistory-CardTitle span {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .ModalOrderHistory-CardSubTitle span {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .ModalOrderDetail-Header {
        padding: 0 5px
    }

    .ModalOrderDetail-HeaderStatus-Icon {
        min-width: 70px;
        height: 70px;
        max-height: 70px
    }

    .ModalOrderDetail-HeaderStatus-Icon svg {
        width: 40px;
        height: 40px
    }

    .ModalOrderDetail-Buttons {
        padding: 0
    }

    .ModalOrderDetail-HeaderStatus-Title span {
        font-size: var(--font-4xl);
        line-height: var(--line-4xl)
    }

    .ModalOrderDetail-Button-Contact span, .ModalOrderDetail-Button-Rate span, .ModalOrderDetail-Button-Reorder span, .ModalRateOrder-SubmitButton span {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .ModalOrderDetail-Rate-Desc {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .ModalOrderDetail-footer {
        margin-top: 30px
    }

    .ModalOrderDetail-type {
        margin: 0 5px
    }

    .ModalOrderDetail-comment {
        margin: 0 5px
    }

    .ModalOrderDetail-TypeTitle span {
        font-size: var(--font-1xl);
        line-height: var(--line-1xl)
    }

    .ModalOrderDetail-CommentSubtitle span {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .ModalOrderDetail-CommentTitle span {
        font-size: var(--font-base);
        line-height: var(--line-base)
    }

    .ModalOrderDetail-footer .basket-amount-wrapper {
        margin: 10px 10px 0 5px
    }

    .ModalContacts-CardTitle span {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .ModalSettings-container {
        margin-bottom: max(15px, env(safe-area-inset-bottom))
    }

    .ModalSettings-NotificationContainer {
        padding-top: 10px;
        gap: 14px
    }

    .ModalSettings-SaveButton span {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .basket-amount-row {
        font-size: var(--font-base);
        line-height: var(--line-base)
    }

    .basket-amount-row.total {
        font-size: var(--font-lg)
    }

    .basket-item-image-wrapper {
        width: 110px;
        height: 110px
    }

    .basket-item-title {
        font-size: var(--font-base);
        line-height: var(--line-base)
    }

    .basket-item-subtitle {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .basket-bonus span {
        font-size: var(--font-base);
        line-height: var(--line-base)
    }

    .basket-item .basket-amount {
        font-size: var(--font-md)
    }

    .basket-price {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .basket-item .basket-actions {
        height: 36px
    }

    .basket-item .basket-actions .basket-action-btn {
        width: 14px;
        height: 14px
    }

    .basket-item .basket-actions .basket-action-btn svg {
        width: 14px;
        height: 14px
    }

    .gift-section {
        padding: 12px 12px
    }

    .gift-progress-text .gift-progress-main, .gift-progress-text .gift-progress-sub {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .rec-title {
        font-size: var(--font-2xl);
        line-height: var(--line-2xl)
    }

    .rec-section .product-name span {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .checkout-btn .checkout-btn-label {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .checkout-btn .checkout-btn-label.summ {
        font-size: var(--font-1xl)
    }

    .freeDelivery-title {
        font-size: var(--font-base);
        line-height: var(--line-base)
    }

    .ModalSaleDetail .modal-close-button {
        position: fixed;
        top: 12px;
        right: 12px;
        z-index: 2
    }

    .ModalSaleDetail .modal-close-button svg path {
        fill: var(--color-text)
    }

    .ModalSaleDetail-recommendation-title span {
        font-size: var(--font-4xl);
        line-height: var(--line-4xl)
    }

    .AnimatedModal.Opened {
        opacity: 1;
        transform: translateY(0);
        visibility: visible
    }

    .simplePage-ZoneWrapper {
        grid-template-columns:repeat(1, minmax(0, 1fr))
    }

    .checkout-page {
        background-color: var(--color-background-page)
    }

    .checkout {
        padding: 20px 0 0 0;
        margin: 0 auto
    }

    .checkout-card {
        padding: 15px;
        border-radius: var(--radius-md)
    }

    .checkoutGo {
        padding: 30px 15px;
        border-radius: 0
    }

    .checkoutGo-bonus .switcher {
        padding: 18px 15px
    }

    .checkout-BasketItem {
        align-items: flex-start
    }

    .checkout-BasketItem-ImageWrapper {
        width: 90px;
        height: 90px
    }

    .checkout-BasketItem-Info {
        flex-direction: column;
        align-items: flex-start;
        height: 100%
    }

    .checkout-BasketItem-price {
        text-align: left;
        gap: 6px
    }

    .checkout-card.additional {
        padding: 0 15px
    }

    .checkout-card.additional .checkout-BasketItem-ImageWrapper {
        width: 50px;
        height: 50px
    }

    .checkout-card.additional .checkout-BasketItems {
        padding: 15px;
        background-color: var(--color-secondary-bg);
        border-radius: var(--radius-md);
        position: relative
    }

    .checkout-card.additional .checkout-BasketItem-Info {
        flex-direction: row;
        align-items: center
    }

    .checkout-card.additional .checkout-BasketItems::after {
        content: '';
        position: absolute;
        top: -11px;
        left: 50px;
        transform: translateX(-50%);
        border-width: 6px;
        border-style: solid;
        border-color: transparent transparent var(--color-secondary-bg) transparent;
        border-radius: 2px
    }

    .checkout-card.additional .product-action {
        background-color: var(--color-text-inverse)
    }

    .checkout-card.additional .product-action.in-basket {
        background-color: var(--color-text-inverse)
    }

    .checkout-card.additional .product-action.in-basket .product-action-price {
        background-color: var(--color-text-inverse)
    }

    .checkout-card.additional .product-action.in-basket .product-action-btn.plus {
        background-color: var(--color-text-inverse)
    }

    .checkout-form {
        grid-template-columns:repeat(2, 1fr)
    }

    .checkout-paymentTypes {
        grid-template-columns:repeat(2, minmax(0, 1fr))
    }

    .checkoutGo-amount-wrapper {
        gap: 12px
    }

    .checkoutGo-amount-row {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .checkoutGo-Info span {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .checkoutGo-Info a {
        font-size: var(--font-lg);
        line-height: var(--line-lg)
    }

    .checkout-BonusesTitle .checkout-BonusesSubtitle {
        font-size: var(--font-md);
        line-height: var(--line-md)
    }

    .checkout-page .footer {
        --color-text: #fff;
        --color-text-inverse: #353535;
        --color-primary-rgb: 255, 255, 255;
        --color-primary-rgb-inverse: rgb(53, 53, 53)
    }

    .checkout-page .footer {
        padding-top: 20px;
        margin: 0;
        background-color: var(--color-text-inverse);
        padding-bottom: max(0px, env(safe-area-inset-bottom))
    }

    .checkout-page .marquee-wrapper {
        background-color: rgba(var(--color-primary-rgb), .04)
    }

    .checkout-page .marquee-track span {
        color: rgba(var(--color-primary-rgb), .8)
    }

    .checkout-page .footer-social-item {
        position: relative;
        color: var(--color-text)
    }

    .checkout-page .footer .footer-container {
        display: none
    }

    .checkout-page .footer .footer-bottom {
        display: none
    }

    .checkout-page .checkbox {
        padding-top: 10px
    }

    .checkout-page .navbar-nav {
        grid-template-columns:repeat(3, 1fr);
        align-items: center
    }

    .checkout-page .navbar-logo {
        height: 30px
    }

    .checkout-page .navbar-logo svg {
        max-height: 30px
    }

    .checkout-page .navbar-nav-center {
        display: block
    }

    .dropdown-item {
        font-size: var(--font-lg);
        line-height: var(--line-lg);
        padding: 18px 15px
    }

    .checkout-page h2 {
        padding-bottom: 5px
    }

    .loader-spinner {
        width: 30px;
        height: 30px;
        border-width: 2px
    }

    .product-nosale::after {
        max-width: 200px;
        white-space: normal;
        font-size: 12px
    }

    .ModalPWA {
        padding: 20px;
        display: flex;
        flex-flow: column;
        justify-content: flex-start;
        min-height: 100%;
        width: 480px
    }

    .ModalPWA-container {
        display: flex;
        flex-direction: column;
        position: relative;
        box-shadow: rgba(0, 0, 0, .2) 0 30px 60px;
        box-sizing: border-box;
        background: #fff;
        border-radius: 20px;
        transition: opacity 150ms, transform;
        flex: 0 0 auto;
        width: 100%;
        height: 100%;
        max-height: calc(100vh - 64px);
        opacity: 0;
        transform: translateY(20px);
        -webkit-transition: transform .6s cubic-bezier(.33, 1, .68, 1);
        transition: transform .6s cubic-bezier(.33, 1, .68, 1)
    }

    .ModalPWA-content {
        display: flex;
        flex-direction: column;
        height: 100%;
        padding: 0 20px 20px 20px;
        overflow-y: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        scroll-behavior: smooth
    }

    .ModalPWA-content::-webkit-scrollbar {
        display: none
    }

    .ModalPWA-InstructionGif {
        margin-top: -10px
    }

    .ModalPWA-Switcher {
        display: flex;
        flex-direction: row;
        gap: 15px;
        align-items: center;
        padding: 10px;
        border-radius: var(--radius-md);
        font-size: var(--font-lg);
        line-height: var(--line-lg);
        justify-content: center
    }

    .ModalPWA-Switcher .active {
        background-color: var(--color-secondary-bg);
        color: var(--color-text);
        padding: 6px 10px;
        border-radius: var(--radius-md)
    }

    .ModalPWA-InstructionContainer {
        width: 100%;
        margin-top: 20px
    }

    .android-content, .ios-content {
        display: flex;
        flex-direction: column;
        gap: 8px
    }

    .ModalPWA-Instruction {
        display: flex;
        flex-direction: row;
        gap: 15px;
        align-items: center
    }

    .ModalPWA-Instruction:first-child {
        display: flex;
        flex-direction: row;
        gap: 15px;
        align-items: flex-start
    }

    .ModalPWA-Instruction-Number {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 32px;
        min-width: 32px;
        height: 32px;
        padding: 6px;
        border-radius: var(--radius-sm);
        background-color: var(--color-secondary-bg);
        font-size: var(--font-base);
        line-height: var(--line-base);
        font-weight: var(--weight-semibold)
    }

    .ModalPWA-Instruction-Info {
        font-size: var(--font-base);
        line-height: var(--line-base);
        font-weight: var(--weight-medium);
        letter-spacing: var(--letter-spacing-md)
    }

    .ModalPWA-Instruction-Info svg {
        display: inline-block;
        width: 20px;
        height: 20px;
        vertical-align: -4px;
        margin: 0 2px
    }

    .ModalPWA-Promotion {
        display: flex;
        flex-direction: column;
        margin-top: 30px;
        font-size: var(--font-lg);
        line-height: var(--line-lg);
        font-weight: var(--weight-medium);
        background: var(--color-secondary-bg);
        padding: 15px;
        gap: 15px;
        border-radius: var(--radius-lg);
        text-align: center
    }

    .ModalPWA-PromotionButton {
        display: flex;
        flex-direction: row;
        width: 100%;
        padding: 10px;
        color: var(--color-text);
        background: var(--color-text-inverse);
        border-radius: var(--radius-md);
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-weight: var(--weight-semibold)
    }

    .ModalPWA-AdvantagesContainer {
        display: flex;
        flex-direction: column;
        margin-top: 24px;
        gap: 15px
    }

    .ModalPWA-Advantage {
        display: flex;
        flex-direction: row;
        gap: 15px
    }

    .ModalPWA-AdvantageInfo {
        display: flex;
        flex-direction: column;
        gap: 2px
    }

    .ModalPWA-AdvantageInfo span:first-child {
        font-size: var(--font-lg);
        line-height: var(--line-lg);
        font-weight: var(--weight-semibold)
    }

    .ModalPWA-AdvantageInfo span:last-child {
        font-size: var(--font-sm);
        line-height: var(--line-sm);
        font-weight: var(--weight-regular)
    }

    .ModalPWA-HideButton {
        position: relative;
        display: flex;
        align-items: center;
        cursor: pointer;
        -webkit-user-select: none;
        user-select: none;
        border-radius: var(--radius-lg);
        transition: background-color .15s ease-in, color .15s ease-in;
        justify-content: center;
        width: 100%;
        height: 48px;
        min-height: 48px;
        gap: 5px;
        padding: 0;
        background-color: var(--color-secondary-bg);
        color: var(--color-text);
        margin-top: 30px
    }

    .pwa-notification {
        display: flex;
        flex-direction: row;
        padding: 10px 10px;
        background: #fff;
        justify-content: space-between;
        align-items: center;
        margin: 10px;
        border-radius: var(--radius-md);
        background-color: var(--color-secondary-bg)
    }

    .pwa-container {
        display: flex;
        flex-direction: row;
        gap: 8px;
        align-items: center
    }

    .pwa-icon {
        width: 32px;
        height: 32px;
        border-radius: var(--radius-sm)
    }

    .pwa-titleContainer {
        display: flex;
        flex-direction: column
    }

    .pwa-titleContainer .title {
        font-size: var(--font-sm);
        line-height: var(--line-sm);
        font-weight: var(--weight-medium)
    }

    .pwa-titleContainer .subtitle {
        font-size: var(--font-xs);
        line-height: var(--line-xs);
        font-weight: var(--weight-regular)
    }

    .pwa-button {
        font-size: var(--font-sm);
        line-height: var(--line-sm);
        font-weight: var(--weight-medium);
        background: var(--color-text);
        color: var(--color-text-inverse);
        border-radius: var(--radius-md);
        padding: 6px 8px;
        text-align: center
    }
}
/* End */


/* Start:/local/templates/foodshe/template_style.css?17607718981814*/
.navbar-nav {
    align-items: center;
}

.navbar .nav-wrapper .nav-text {
    font-weight: 500;
}


.banner-image-strip {
    height: auto;
}

@media screen and (max-width: 1023px) {
    .navbar-header .navbar-nav-right .sales,
    .navbar-header .navbar-nav-right .delivery {
        display: none;
    }
}

.product-name span {
    font-weight: 600;
    font-size: 20px;
}

.product-spec span:not(:last-child)::after {
    display: none;
}

.product-spec {
    display: flex;
    justify-content: space-between;
    margin: 5px 0;
}

.product-actions {
    text-align: right;
    margin-top: 10px;
}

.product-name {
    padding-top: 15px;
}

.product-description {
    font-size: .875rem;
    line-height: 1.25rem;
    /*font-weight: 600;*/
    color: rgba(51,65,85,1);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ModalProduct-description span {
    font-size: .875rem;
    line-height: 1.25rem;
    /*font-weight: 600;*/
    color: rgba(51,65,85,1);
}


.ModalProduct-spec {
    display: flex;
    justify-content: space-between;
}

.ModalAuth-email .ModalAuth-wrapper,
.ModalAuth-register .ModalAuth-wrapper {
    margin: 20px 0 0 0;
}

.ModalAuth-email .ModalAuth-SubmitTgButton,
.ModalAuth-register .ModalAuth-SubmitTgButton {
    margin-bottom: 15px;
}

.ModalLocation-CityDropdown .dropdown-content {
    width: 100%;
}

.ModalLocation-CitySelector {
    margin-bottom: 8px;
}
.ModalProduct-swiper,
.ModalProduct-image-container {
    height: 100%!important;
}

.chips-box {
    display: flex;
    gap: 10px;
    position: absolute;
    bottom: 10px;
    left: 10px;
    z-index: 999999;
}

.chips-box .chip-icon{
    width: 32px;
    height: 32px;
    display: block;
}

.chips-box .chip-icon img{
    width: 100%;
    height: 100%;
}
/* End */


/* Start:/local/templates/foodshe/css/promotions.min.css?17591400195400*/
.ModalPromotion{padding:20px;display:flex;flex-flow:column;justify-content:flex-start;min-height:100%;width:480px}.ModalPromotion-container{display:flex;flex-direction:column;position:relative;box-shadow:rgba(0,0,0,.2) 0 30px 60px;box-sizing:border-box;background:#fff;border-radius:20px;transition:opacity 150ms,transform;flex:0 0 auto;width:100%;height:100%;max-height:calc(100vh - 64px);opacity:0;transform:translateY(20px);-webkit-transition:transform .6s cubic-bezier(.33, 1, .68, 1);transition:transform .6s cubic-bezier(.33, 1, .68, 1)}.ModalPromotion-content{display:flex;flex-direction:column;height:100%;padding:20px;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none;scroll-behavior:smooth}.ModalPromotion-content::-webkit-scrollbar{display:none}.ModalPromotion-Empter{width:32px;height:32px}.ModalPromotion-selectedGifts{display:flex;flex-direction:row;gap:5px;width:100%}.ModalPromotion-selecteGiftWithArrow{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%}.promo-apply-section{position:relative;bottom:0}.promo-apply-section button{position:relative;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-md);transition:background-color .15s ease-in,color .15s ease-in;justify-content:center;width:100%;height:48px;padding:0;color:var(--color-text-inverse);background-color:var(--color-accent);overflow:hidden;font-size:var(--font-lg);line-height:var(--line-lg);font-weight:var(--weight-medium);letter-spacing:var(--letter-spacing-md)}.promo-apply-section button:disabled{opacity:.6;cursor:not-allowed}.modal-title{font-size:20px;font-weight:700;margin-bottom:20px;text-align:center}.promotions-list{display:flex;flex-direction:column;gap:10px}.promo-item{border-radius:14px;overflow:hidden}.promo-item-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f4f4f4;cursor:pointer;user-select:none}.promo-item-actions svg{transition:transform .3s ease;transform-origin:center}.promo-item-actions svg.closed{transform:rotate(180deg)}.promo-item-actions{display:flex;align-items:center;gap:8px}.promo-item-info{padding:16px;border-top:1px solid #e0e0e0;background:#f4f4f4}.promo-item-title{font-size:16px;line-height:18px;font-weight:var(--weight-semibold)}.promo-description{margin-bottom:16px;color:#3c3c3c}.promo-conditions{list-style:none;padding:0;margin:0 0 20px 0}.promo-conditions li{display:flex;gap:5px;align-items:center;font-size:var(--font-base);line-height:var(--line-base);font-weight:var(--weight-medium);padding-bottom:10px}.promo-conditions li:last-child{padding-bottom:0}.select-gift-btn{color:#7c11ff;text-decoration:none;display:flex;justify-content:space-between;align-items:center;width:100%}.promo-apply-section button.active{background:#dcdcdc;color:#000}.promo-item-header-icons{display:flex;flex-direction:row;gap:12px;align-items:center;padding-right:4px}.promo-code-screen{display:flex;flex-direction:column}.promo-code-screen .input-button{color:var(--color-text-inverse);background-color:rgba(var(--color-primary-rgb),1)}.promo-code-screen .promocodeInfo{display:flex;flex-direction:row;position:relative;padding:15px;background:rgba(var(--color-accent-rgb),1);margin-top:10px;border-radius:var(--radius-md);gap:10px;color:var(--color-text-inverse)}.promo-code-screen .promocodeInfo:after{content:'';position:absolute;top:-12px;left:50px;transform:translateX(-50%);border-width:6px;border-style:solid;border-color:transparent transparent rgba(var(--color-accent-rgb),1) transparent;border-radius:2px}.promo-code-screen .promocodeInfo-text{color:var(--color-text-inverse);font-size:var(--font-md);line-height:var(--line-md);letter-spacing:var(--letter-spacing-sm);z-index:2}.promo-code-screen .gift-sparkle{color:var(--color-text-inverse)}.promo-code-screen .input-button:disabled{cursor:not-allowed;background-color:rgba(var(--color-primary-rgb),.05);color:rgba(var(--color-primary-rgb),.4)}.ModalPromotion .product-action.gift-in-basket{color:var(--color-text-inverse);transition:all .2s ease;background-color:rgba(var(--color-accent-rgb),1)}.ModalPromotion .promo-error{display:flex;flex-direction:row;position:relative;padding:15px;background:rgba(var(--color-primary-rgb),1);margin-top:10px;border-radius:var(--radius-md);gap:10px;color:var(--color-text-inverse)}.ModalPromotion .promo-error:after{content:'';position:absolute;top:-12px;left:50px;transform:translateX(-50%);border-width:6px;border-style:solid;border-color:transparent transparent rgba(var(--color-primary-rgb),1) transparent;border-radius:2px}.ModalPromotion .promocodeErrorText{color:var(--color-text-inverse);font-size:var(--font-md);line-height:var(--line-md);letter-spacing:var(--letter-spacing-sm);z-index:2}.checkoutGo .promotions{display:flex;position:relative;width:100%;height:58px;flex-direction:row;align-items:center;justify-content:space-between;background:rgba(var(--color-accent-rgb),.3);border-radius:var(--radius-md);color:var(--color-text-inverse);padding:0 16px;font-weight:var(--weight-medium);cursor:pointer}.checkoutGo .promotions span{z-index:2}.checkoutGo .promotions.success{background:rgb(61 104 61)}.checkoutGo .promotions.success .gift-sparkle{color:#62ab62}@media screen and (max-width:767px){.ModalPromotion-content{padding:15px}.promo-item-title{font-size:var(--font-lg)}.promo-item-header{height:60px}}
/* End */


/* Start:/local/templates/foodshe/css/swiper-styles.css?17591400194859*/
.custom-swiper-button-prev, .custom-swiper-button-next {
  position: absolute;
  top: 50%;
  z-index: 1;
  width: 28px;
  height: 80px;
  cursor: pointer;
  transition: opacity .15s ease-in-out;
  transform: translateY(-50%);
  will-change: opacity;
}
.custom-swiper-button-next {
  right: 0;
}
.custom-swiper-button-prev {
  left: 0;
}
.swiper-button-disabled {
  cursor: default;
  opacity: 0;
}
.banner-container .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(1);
}
.banner-container .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(.50);
}
.banner-container .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(1);
}
.banner-container .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(.70);
}
.banner-container .swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .banner-container  .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  min-width: 66px;
  max-width: fit-content;
}
.banner-container .swiper-pagination-bullet {
  background: rgba(var(--color-primary-rgb-inverse), 1);
  opacity: 0.6;
  margin: 0 4px;
  transition: all 0.3s ease;
}
.banner-container .swiper-pagination-bullet:not(.swiper-pagination-bullet-active-main) {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}
.banner-container .swiper-pagination-bullet-active-main {
  width: 20px;
  height: 7px;
  border-radius: 24px;
  background: rgba(var(--color-primary-rgb-inverse), .50);
  position: relative;
  opacity: 1;
  overflow: hidden;
}
.banner-container .swiper-pagination-bullet-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: rgba(var(--color-primary-rgb-inverse), 1);
  z-index: 1;
}
.swiper-button-prev,
.swiper-button-next,
.swiper-container,
.swiper-wrapper,
.swiper-slide {
  user-select: none;
}
.ModalProduct-swiper-pagination, .ModalSaleDetail-swiper-pagination, .DetailProduct-swiper-pagination  {
  display: flex;
  position: absolute;
  z-index: 1;
  cursor: pointer;
  justify-content: center;
  padding: 5px 5px;
  border-radius: 24px;
  touch-action: none;
}
.ModalProduct .swiper-pagination-bullet-active, .ModalSaleDetail .swiper-pagination-bullet-active, .DetailProduct .swiper-pagination-bullet-active {
  background: var(--color-text);
}
.ModalProduct .swiper-pagination-bullet, .ModalSaleDetail .swiper-pagination-bullet, .DetailProduct .swiper-pagination-bullet {
  width: 6px;
  height: 6px;
}
.index-lastOrders .custom-swiper-button-prev, .index-lastOrders .custom-swiper-button-next {
  top: 35%;
}
.rec-section .custom-swiper-button-prev, .rec-section .custom-swiper-button-next {
  top: 35%;
}
/* Показываем контент до инициализации Swiper */
.nav-swiper {
  visibility: visible !important;
}

.nav-swiper:not(.swiper-initialized) .swiper-wrapper {
  display: flex !important;
  transform: none !important;
  gap: 5px;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  align-items: center; /* Центрируем по вертикали */
}

.nav-swiper:not(.swiper-initialized) .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.nav-swiper:not(.swiper-initialized) .swiper-slide {
  flex-shrink: 0;
  width: auto !important;
  margin-right: 0 !important;
  transform: none !important; /* Убираем любые трансформации */
  transition: none !important; /* Отключаем переходы */
  display: flex;
  align-items: center; /* Центрируем содержимое слайда */
}

/* Скрываем кнопки навигации до инициализации */
.nav-swiper:not(.swiper-initialized) .custom-swiper-button-next,
.nav-swiper:not(.swiper-initialized) .custom-swiper-button-prev {
  display: none !important;
}

/* Плавный переход при инициализации */
.nav-swiper.swiper-initialized .swiper-slide {
  transition: transform 0.1s ease !important;
}

/* Предотвращаем скачки высоты */
.nav-swiper .swiper-wrapper {
  min-height: 57px; /* Замените на реальную высоту ваших элементов меню */
}
@media screen and (max-width: 767px) {
  .stories-swiper .custom-swiper-button-next, .stories-swiper .custom-swiper-button-prev, .navbar-cats .custom-swiper-button-next, .navbar-cats .custom-swiper-button-prev, .lastOrders-swiper .custom-swiper-button-next, .lastOrders-swiper .custom-swiper-button-prev, .rec-section .custom-swiper-button-prev, .rec-section .custom-swiper-button-next   {
  display: none;
  }
  .nav-swiper:not(.swiper-initialized) .swiper-wrapper {
  padding-left: 15px;
  padding-right: 15px;
  }
}
/* End */


/* Start:/local/templates/foodshe/css/swiper-bundle.min.css?175914001918452*/
/**
 * Swiper 11.2.8
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 23, 2025
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/* End */
/* /local/templates/foodshe/css/reset.css?17591400191511 */
/* /local/templates/foodshe/css/style.min.css?1759841918234508 */
/* /local/templates/foodshe/template_style.css?17607718981814 */
/* /local/templates/foodshe/css/promotions.min.css?17591400195400 */
/* /local/templates/foodshe/css/swiper-styles.css?17591400194859 */
/* /local/templates/foodshe/css/swiper-bundle.min.css?175914001918452 */
