/**
Header, Footer, Base
 */


:root {
    /** settings **/
    --max-width-container: 1404px;
    --angle-effect: scaleY(-1);
    --angle-delay: 0.3s;
    --shadow: 3px 4px 15px 0 rgba(0, 0, 0, 0.05);
    --wish-speed: 0.3s;

    /* font-size */
    --fs-default: 15px;
    --fs-htop: 13px;
    --fs-btn-default: 16px;

    /* --icon-size */
    --icon-size: 20px;
    --icon-size-max: 24px;

    /* colors */
    --color-default: #2B2E31;
    --color-default-80: #535658;
    --color-default-60: #7C7E7F;
    --color-default-40: #A4A5A7;
    --color-default-20: #CECFD2;
    --color-default-5: #EAEAEA;

    --color-default-white: #FFFFFF;

    /* rose */
    --color-rose-100: #EC506F;
    --color-rose-80: #EE718A;

    --color-rose-60: #F092A5;
    --color-rose-40: #F1B3BF;

    --color-rose-20: #F3D4DA;
    --color-rose-5: #F4ECEF;

    --color-rose-alt: #FFF4F4;

    /* gray */
    --color-gray-light: #B1B3B8;

    /* BS */
    --bs-box-shadow: 3px 4px 15px 0 rgba(0, 0, 0, 0.05);
}

/** BS **/
.tooltip {
    --bs-tooltip-bg: #2B2E31;
    --bs-tooltip-border-radius: 4px;
    --bs-tooltip-max-width: 250px;
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
    --bs-gutter-x: 1.875rem;
}


.row {
    --bs-gutter-x: 1.875rem;
}

@media (min-width: 1200px) {
    .shadow-xl {
        box-shadow: var(--shadow);
    }
}

/** / BS **/

html {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: url(assets/images/bg.png) no-repeat;
    background-size: contain;
    background-position-y: 154px;
}

body {
    font-family: "Manrope", sans-serif;
    font-weight: 400;
    font-size: var(--fs-default);
    line-height: 147%;
    color: var(--color-default);
}

@supports (-webkit-touch-callout: none) {
    body {
        font-family: var(--bs-body-font-family);
    }
}

body.fixed {
    width: 100%;
    position: fixed;
    overflow: hidden;
}

header {
    background: var(--color-default-white);
}

.main {
    display: flex;
    flex-grow: 1;
    padding-top: 30px;
    gap: 20px;
    flex-direction: column;
}

*:focus-visible {
    outline: unset;
}

/*  scroll */
/* полоса прокрутки (скроллбар) */
::-webkit-scrollbar {
    width: 4px; /* ширина для вертикального скролла */
    height: 4px; /* высота для горизонтального скролла */
    background-color: var(--color-rose-5);
}

/* ползунок скроллбара */
::-webkit-scrollbar-thumb {
    background-color: var(--color-rose-40);
    border-radius: 0;
}

::-webkit-scrollbar-thumb:hover {
    width: 6px;
    background-color: var(--color-rose-100);
}

/* Стрелки */

::-webkit-scrollbar-button:vertical:start:decrement,
::-webkit-scrollbar-button:vertical:end:increment,
::-webkit-scrollbar-button:horizontal:start:decrement,
::-webkit-scrollbar-button:horizontal:end:increment {
    display: none;
}

/*/ scroll */

/** typical **/

h1, .h1,
h2, .h2 {
    margin: 0;
    line-height: 1.4;
}

h1, .h1 {
    font-size: 32px;
    font-weight: 400;
}

h2, .h2 {
    font-size: 27px;
    line-height: 37px;
    font-weight: 400;
}

h3, .h3 {
    font-size: 27px;
    line-height: 37px;
}

.text-title {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
}

a {
    color: var(--color-default);
    text-decoration: unset;
}

a.accent,
span.accent {
    color: var(--color-rose-100);
}

p {
    line-height: 24px;
}

ol.num-block {
    list-style-type: none;
    counter-reset: my-counter;
    padding: 0;
    /*padding-left: 42px;*/
}

ol.num-block li {
    position: relative;
}

ol.num-block li {
    display: flex;
    align-items: center;
    gap: 10px;
}

ol.num-block > li::before {
    content: counter(my-counter);
    counter-increment: my-counter;
    flex-shrink: 0;
    align-self: baseline;
    /*position: absolute;*/
    left: -42px;
    top: 0;
    background-color: var(--color-rose-5);
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

ol.num-block > li + li {
    margin-top: 16px;
}

ol.num-block ul {
    list-style-type: none;
}

ol.num-block ul > li {
    margin-top: 12px;
    margin-bottom: 12px;
}

ol.num-block ul > li::before {
    content: '—';
    position: absolute;
    left: -20px;
}

label,
.label {
    font-size: 13px;
    line-height: 20px;
}

/* Для Chrome и Safari */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Для Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}

/* Для IE и Edge */
input[type="number"]::-ms-clear {
    display: none;
}

input[type="tel"],
input[type="text"],
input[type="email"],
input[type="password"],
textarea {
    font-size: 16px;
    width: 100%;
    line-height: 24px;
    padding: 12px;
    border: 1px solid #B1B3B8;
    border-radius: 10px;
    outline: none;
    background: var(--color-default-white);
}

input:active,
input:focus,
input:focus-visible,
textarea:active,
textarea:focus,
textarea:focus-visible {
    border: 1px solid #2E44C2;
}

input.error,
textarea.error {
    border-color: #BA0000;
}

textarea {
    min-height: 90px;
    resize: none;
}

/* start:form-group */
.form-group {
    position: relative;
}

.form-group + .form-group {
    margin-top: 16px;
}

.form-group label:has([type="phone"]),
.form-group label:has([name="phone"]),
.form-group label:has([type="email"]),
.form-group label:has(.user-field),
.form-group .password-field {
    width: 100%;
    position: relative;
}

.form-group label:has([type="phone"])::before,
.form-group label:has([name="phone"])::before,
.form-group label:has([type="email"])::before,
.form-group label:has(.user-field)::before,
.form-group .password-field::before {
    content: "";
    display: inline-flex;
    align-items: center;
    font-family: 'icon';
    font-size: var(--icon-size-max);
    width: var(--icon-size-max);
    height: var(--icon-size-max);
    color: var(--color-default-60);
    position: absolute;
    bottom: 13px;
    left: 16px;
}

.form-group label:has([type="phone"])::before,
.form-group label:has([name="phone"])::before {
    content: "\e92e";
}

.form-group label:has([type="email"])::before {
    content: "\e92f";
}

.form-group .password-field::before {
    content: "\e938";
}

.form-group label:has(.user-field)::before {
    content: "\e92c";
}

.form-group .password-field::after {
    content: "\e930";
    font-family: 'icon';
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    font-size: 24px;
    color: var(--color-default-60);
    position: absolute;
    bottom: 0;
    right: 0;
}

.form-group.show .password-field::after {
    content: "\e931";
}

input[type="phone"],
input[name="phone"],
input[type="email"],
input[type="password"],
input[name="password"],
.password-field input,
.form-group input.user-field {
    padding-left: 56px;
}

input[type="password"] {
    padding-right: 56px;
}

.form-group:has(.field-error) {
    margin-bottom: 16px;
}

.field-error {
    display: none;
    color: #BA0000;
    font-size: 12px;
    line-height: 28px;
    top: 100%;
}

.error + .field-error {
    display: block;
}

.form-group:has(input.error)::before {
    color: var(--color-default);
}

.form-group:has(input.error)::after {
    content: "\e939";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    font-size: 24px;
    color: #BA0000;
    position: absolute;
    bottom: 0;
    right: 0;
}


.form-group [type="checkbox"] {
    display: none;
}

.form-group [type="checkbox"] + label,
.form-group:has([type="checkbox"]) label {
    padding-left: 20px;
    position: relative; /** tmp */
    width: 100%;
    cursor: pointer;
}

.form-group [type="checkbox"] + label::before,
.form-group:has([type="checkbox"]) label::before {
    content: "";
    width: 14px;
    height: 14px;
    position: absolute;
    border: 1px solid #b4bacf;
    top: calc(50% - 7px);
    left: 0;
}

.form-group [type="checkbox"]:checked + label::before,
.form-group:has([type="checkbox"]:checked) label::before {
    border-color: var(--color-rose-100);
    background-color: var(--color-rose-100);
}

.form-group [type="checkbox"]:checked + label::after,
.form-group:has([type="checkbox"]:checked) label::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: calc(50% - 5px);
    left: 2px;
    -webkit-mask-image: url(assets/images/svg/check.svg);
    mask-image: url(assets/images/svg/check.svg);
    display: inline-flex;
    mask-size: contain;
    background: var(--color-default-white);
}

.form-group .radio-group {
    gap: 10px;
}

.form-group .radio-group > * {
    position: relative;
}

.form-group [type="radio"] + label {
    display: inline-flex;
    align-items: center;
    position: relative;
}

/* default */
.form-group [type="radio"] + label::before {
    content: "";
    width: 14px;
    height: 14px;
    border: 1px solid #B4BACF;
    display: inline-block;
    border-radius: 50%;
    margin-right: 4px;
}

.form-group [type="radio"]:checked + label::after {
    content: "";
    border: 1px solid #B4BACF;
    display: inline-block;
    border-radius: 50%;
    margin-right: 4px;
    position: absolute;
    left: 2px;
}

/* disabled */
.form-group .disabled[type="radio"] + label::before,
.form-group .disabled[type="radio"]:checked + label::before,
.form-group [disabled][type="radio"] + label::before,
.form-group [disabled][type="radio"]:checked + label::before {
    content: "";
    border: 1px solid #DADADA;
    background: #FFFFFF;
}

.form-group .radio-group .disabled[type="radio"] + label::after,
.form-group .radio-group .disabled[type="radio"]:checked + label::after,
.form-group .radio-group [disabled][type="radio"] + label::after,
.form-group .radio-group [disabled][type="radio"]:checked + label::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border: 1px solid #DADADA;
    background: #DADADA;
    left: 2px;
    border-radius: 50%;
}

/* disabled alt */
.form-group .radio-group.alt-type .disabled[type="radio"] + label::before,
.form-group .radio-group.alt-type .disabled[type="radio"]:checked + label::before,
.form-group .radio-group.alt-type [disabled][type="radio"] + label::before,
.form-group .radio-group.alt-type [disabled][type="radio"]:checked + label::before {
    content: "";
    width: 14px;
    height: 14px;
    border: 1px solid #DADADA;
    background: #DADADA;
}

.form-group .radio-group.alt-type .disabled[type="radio"] + label::after,
.form-group .radio-group.alt-type .disabled[type="radio"]:checked + label::after,
.form-group .radio-group.alt-type [disabled][type="radio"] + label::after,
.form-group .radio-group.alt-type [disabled][type="radio"]:checked + label::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    border: 1px solid #FFFFFF;
    background: #FFFFFF;
    left: 3px;
    border-radius: 50%;
}

/* checked */
.form-group [type="radio"]:checked + label::before {
    content: "";
    width: 14px;
    height: 14px;
    border: 1px solid var(--color-rose-100);
    background: var(--color-default-white);
    display: inline-block;
    border-radius: 50%;
}

.form-group [type="radio"]:checked + label::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border: 1px solid var(--color-rose-100);
    background: var(--color-rose-100);
    display: inline-block;
    border-radius: 50%;
    left: 2px;
}

/* checked alt */
.form-group .radio-group.alt-type [type="radio"]:checked + label::before {
    border: 1px solid var(--color-rose-100);
    background: var(--color-rose-100);
}

.form-group .radio-group.alt-type [type="radio"]:checked + label::after {
    width: 8px;
    height: 8px;
    border: 1px solid #fff;
    background: #fff;
    left: 3px;
}

/* end:form-group */

/** time field **/
.time-input {
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
    font-family: Arial, sans-serif;
}

.time-field {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.time-separator {
    font-weight: 600;
}

.time-field button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 18px;
    line-height: 24px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.time-field button:focus {
    outline: none;
    /*background-color: #e0e0e0;*/
}

.time-field input {
    width: 40px;
    text-align: center;
    font-size: 16px;
    margin: 1px 0;
    border: 1px solid #ccc;
    border-radius: 10px;
}

.time-field .icon {
    font-size: 24px;
}

/** END time field **/

/** form-group Switch **/
.switch-box {
    display: inline-block;
    position: relative;
    width: 36px;
    height: 20px;
}

.switch-input {
    display: none;
}

/* Лейбл для тумблера */
.switch-label {
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
    background-color: #CCCCD8;
    border-radius: 20px;
    transition: background-color 0.3s ease;
}

/* Переключатель (кружок) */
.switch-label::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background-color: var(--color-default-white);
    border-radius: 50%;
    transition: transform 0.3s ease;
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.06), 0 1px 3px 0 rgba(16, 24, 40, 0.1);
}

/* Состояние включено (цвет фона лейбла) */
.switch-input:checked + .switch-label {
    background-color: var(--color-rose-100);
}

/* Состояние включено (переключатель вправо) */
.switch-input:checked + .switch-label::after {
    transform: translateX(16px);
}

/** END Switch **/

/* start:alert */
.alert {
    font-size: 15px;
    padding: 16px 12px;
    border-radius: 10px;
    line-height: 20px;
}

.alert.alert-alt {
    border: transparent;
    background: var(--color-rose-20);
}

.alert.alert-alt-light {
    border: transparent;
    background: #FFF4F4;
}

.alert .alert-content {
    gap: 8px;
}

.alert .icon {
    flex-shrink: 0;
    font-size: 24px;
    color: var(--color-rose-100);
}

.alert-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}

/* end:alert */

/* start:accent-block */
.accent-layer {
    gap: 16px;
}

.accent-layer-4 {
    gap: 30px;
}

.accent-block {
    padding: 12px;
    /*min-height: 180px;*/
    line-height: 20px;
    border: 1px solid var(--color-rose-60);
    border-radius: 10px;
    margin-bottom: 30px;
    background: var(--color-default-white);
}

.accent-block > div {
    gap: 8px;
}

.accent-block-4 > .accent-block {
    gap: 30px;
}

.accent-block .title {
    line-height: 20px;
}

.accent-layer .accent-block {
    flex-basis: 33.33333%;
}

.accent-layer-4 .accent-block {
    flex-basis: 25%;
    margin: 0;
}

.accent-delivery-layer {
    gap: 30px;
    flex-flow: row wrap;
}

.accent-delivery {
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--color-rose-60);
    border-radius: 10px;
    flex-basis: calc(50% - 15px);
}

.accent-delivery .accent {
    font-weight: 600;
}


.contacts-gap {
    gap: 30px;
}

.accent-contacts-layer {
    gap: 12px;
    flex-flow: row wrap;
    margin-bottom: 30px;
}

.accent-contacts {
    gap: 8px;
    padding: 8px 12px;
    font-size: 12px;
    border: 1px solid var(--color-rose-60);
    border-radius: 10px;
    min-width: 160px;
    background: rgb(255 255 255 / 50%);
}

.accent-contacts .accent {
    font-weight: 600;
}

.accent-contacts .icon-round {
    background: var(--color-default-white);
}

/* end:accent-block */

.tc-60 {
    color: var(--color-default-60);
}

.shadow-image {
    position: relative;
    display: inline-block;
}

.shadow-image img {
    width: 100%;
    height: auto;
    border-radius: 9px;
    position: relative;
}

.shadow-image::before,
.shadow-image::after {
    content: "";
    position: absolute;
    border-radius: 9px;
}

.shadow-image::before {
    top: -10px;
    left: -10px;
    width: 100%;
    height: 100%;
    background: var(--color-rose-20);
}

.shadow-image::after {
    top: 0;
    left: 0;
    width: calc(100% - 14px);
    height: calc(100% - 14px);
    border: 1px solid #fff;
    margin: 7px;
}

.shadow-image + .shadow-image {
    margin-top: 25px;
}

.gray-60 {
    color: var(--color-default-60);
}

.gray-60 .icon {
    color: var(--color-default-60);
}

.btn {
    display: inline-flex;
    justify-content: center;
    font-size: var(--fs-btn-default);
    gap: 10px;
    padding: 12px 18px;
    border: 1px solid;
    border-radius: 10px;
    line-height: 24px;
    background-color: var(--color-default-white);
}

.btn-small {
    align-items: center;
    font-size: 13px;
    padding: 4px 13px;
}


/** TODO: Кнопка без текста */
/** TODO: Кнопка без текста (маленькая) */

/** color **/
/* .btn-rose */
.btn-rose {
    color: var(--color-default-white);
    background-color: var(--color-rose-100);
    border-color: var(--color-rose-100);
}

.btn-rose .icon {
    color: var(--color-default-white);
}

.btn-rose:hover {
    color: var(--color-rose-100);
    background-color: var(--color-default-white);
    border-color: var(--color-rose-100);
}

.btn-rose:hover .icon {
    color: var(--color-rose-100);
}

/* .btn-rose-light */
.btn-rose-light {
    color: var(--color-default);
    background-color: var(--color-rose-20);
    border-color: var(--color-rose-20);
}

.btn-rose-light .icon {
    color: var(--color-default);
}

.btn-rose-light:hover {
    color: var(--color-rose-80);
    background-color: var(--color-default-white);
    border-color: var(--color-rose-80);
}

.btn-rose-light:hover .icon {
    color: var(--color-rose-80);
}

/* .btn-rose-pale */
.btn-rose-pale {
    color: var(--color-default);
    background-color: var(--color-rose-5);
    border-color: var(--color-rose-5);
}

.btn-rose-pale .icon {
    color: var(--color-default);
}

.btn-rose-pale:hover {
    color: var(--color-rose-80);
    background-color: var(--color-default-white);
    border-color: var(--color-rose-80);
}

.btn-rose-pale:hover .icon {
    color: var(--color-rose-80);
}


/* .btn-gray */
.btn-gray,
.btn.disabled,
.btn[disabled] {
    color: var(--color-default-white);
    background-color: var(--color-default-20);
    border-color: var(--color-default-20);
}

.btn-gray .icon,
.btn.disabled .icon,
.btn[disabled] .icon {
    color: var(--color-default-white);
}

.btn-gray:hover {
    color: var(--color-gray-light);
    background-color: var(--color-default-white);
    border-color: var(--color-gray-light);
}

.btn-gray:hover .icon {
    color: var(--color-gray-light);
}

/*****************/
/* .btn-rose */
.btn-rose.btn-solid {
    color: var(--color-rose-100);
    background-color: var(--color-default-white);
    border-color: var(--color-rose-100);
}

.btn-rose.btn-solid .icon {
    color: var(--color-rose-100);
}

.btn-rose.btn-solid:hover {
    color: var(--color-default-white);
    background-color: var(--color-rose-100);
    border-color: var(--color-rose-100);
}

.btn-rose.btn-solid:hover .icon {
    color: var(--color-default-white);
}

/* .btn-rose-light */
.btn-rose-light.btn-solid {
    color: var(--color-rose-80);
    background-color: var(--color-default-white);
    border-color: var(--color-rose-80);
}

.btn-rose-light.btn-solid .icon {
    color: var(--color-rose-80);
}

.btn-rose-light.btn-solid:hover {
    color: var(--color-default);
    background-color: var(--color-rose-20);
    border-color: var(--color-rose-20);
}

.btn-rose-light.btn-solid:hover .icon {
    color: var(--color-default);
}

/* .btn-gray */
.btn-gray.btn-solid {
    color: var(--color-gray-light);
    background-color: var(--color-default-white);
    border-color: var(--color-gray-light);
}

.btn-gray.btn-solid .icon {
    color: var(--color-gray-light);
}

.btn-gray.btn-solid:hover {
    color: var(--color-default-white);
    background-color: var(--color-default-20);
    border-color: var(--color-default-20);
}

.btn-gray.btn-solid:hover .icon {
    color: var(--color-default-white);
}

.btn.btn-yandex,
.btn.btn-yandex .icon {
    color: var(--color-default-white);
    background-color: #000000;
    border-color: #000000;
}

.btn.btn-vk {
    color: var(--color-default-white);
    background-color: #0077FF;
    border-color: #0077FF;
}

.btn.btn-vk .icon {
    color: var(--color-default-white);
}


/*****************/

/* start:Loader */
div.loading {
    position: relative;
}

.loader-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    outline: 1px solid;
    background: rgb(255 255 255 / 50%);
    z-index: 100;
}

.loader,
.loader div {
    box-sizing: border-box;
}

.loader {
    display: inline-block;
    position: relative;
    top: calc(50% - 6px);
    left: calc(50% - 40px);
}

.loader div {
    position: absolute;
    top: calc(50% - 6px);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: currentColor;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.loader div:nth-child(1) {
    background: var(--color-rose-80);
    left: 8px;
    animation: loader1 0.6s infinite;
}

.loader div:nth-child(2) {
    background: var(--color-rose-60);
    left: 8px;
    animation: loader2 0.6s infinite;
}

.loader div:nth-child(3) {
    background: var(--color-rose-40);
    left: 32px;
    animation: loader2 0.6s infinite;
}

.loader div:nth-child(4) {
    background: var(--color-rose-20);
    left: 56px;
    animation: loader3 0.6s infinite;
}


@keyframes loader1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes loader3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}

@keyframes loader2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(24px, 0);
    }
}

/* end:Loader */


/** icon **/
.icon {
    color: var(--color-default);
    font-size: var(--icon-size);
    display: inline-flex;
}

.icon-round {
    display: flex;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    background: var(--color-rose-5);
    border-radius: 50%;
}

.icon-round .icon {
    font-size: 24px;
    color: var(--color-rose-100);
}

.btn .icon {
    font-size: 24px;
}

.btn.btn-small .icon {
    font-size: 16px;
}

.icon-yandex {
    background-image: url(assets/images/svg/icon-yandex.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
}

/*.icon-qr {*/
/*    -webkit-mask-image: url(assets/images/svg/qr-code.svg);*/
/*    mask-image: url(assets/images/svg/qr-code.svg);*/
/*    mask-repeat: no-repeat;*/
/*    mask-size: contain;*/
/*    background: var(--color-default);*/
/*}*/

.icon-gift {
    -webkit-mask-image: url(assets/images/svg/icon-gift.svg);
    mask-image: url(assets/images/svg/icon-gift.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
    background: var(--color-default);
}

.icon-google-app {
    background: url(assets/images/gplay.png) no-repeat;
    background-size: contain;
}

.icon-google-app-dark {
    background: url(assets/images/gplay.png) no-repeat;
    background-size: contain;
}

.icon-apple-app {
    background: url(assets/images/apples.png) no-repeat;
    background-size: contain;
}

.icon-apple-app-dark {
    background: url(assets/images/apples.png) no-repeat;
    background-size: contain;
}

.icon-appgal {
    background: url(assets/images/appg.png) no-repeat;
    background-size: contain;
}

.get-app-block {
    flex-direction: column;
}

.icon-rustore-app {
    background: url(assets/images/rus.png) no-repeat;
    background-size: contain;
}

.icon-bag {
    -webkit-mask-image: url(assets/images/svg/icon-bag.svg);
    mask-image: url(assets/images/svg/icon-bag.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
    background: var(--color-default);
    width: 24px;
    height: 24px;
}

/** typical **/

header a:hover {
    color: var(--color-rose-100);
}

.max-width-row,
.max-width-container {
    max-width: var(--max-width-container);
    margin-left: auto;
    margin-right: auto;
}


/** top header **/
.header-top {
    border: 1px solid var(--color-default-5);
    font-size: 13px;
    height: 40px;
    line-height: 3em;
}

.header-top-row {
    gap: 40px;
}

/** header location **/
.header-top--location {
}

.header-top--location-inner {
    gap: 4px;
    cursor: pointer;
}

.header-top--location-inner::before {
    content: "\e91f";
    font-family: 'icon';
    font-size: 18px;
    color: var(--color-default);
}

.has-dropdown .header-top--location-inner:after {
    content: "\e93d";
    font-family: 'icon';
    font-size: 18px;
    color: var(--color-default);
    transition: transform var(--angle-delay);
}

.has-dropdown:hover .header-top--location-inner:after {
    transform: var(--angle-effect);
}

.has-dropdown:hover .header-top--location-inner {
    color: var(--color-rose-100);
}

.has-dropdown:hover .header-top--location-inner::before,
.has-dropdown:hover .header-top--location-inner:after {
    color: var(--color-rose-100);
}


/**
TODO: Опитимизировать вызов / установку dropdown (упростить)
 */

.item-dropdown,
.has-dropdown:has(.menu-dropdown) > a {
    display: flex;
    align-items: center;
    gap: 4px;
}

.has-dropdown:has(.menu-dropdown) {
    position: relative;
}

.item-dropdown::after,
.has-dropdown:has(.menu-dropdown) > a::after {
    content: "\e93d";
    font-family: "icon";
    font-size: 18px;
    color: var(--color-default);
    transition: transform var(--angle-delay);
}

.item-dropdown:hover,
    /*.has-dropdown .menu-dropdown , !*!!!!*!*/
.has-dropdown:hover .menu-dropdown {
    display: block;
}

.has-dropdown:has(.menu-dropdown):hover > a {
    color: var(--color-rose-100);
}

.item-dropdown:hover::after,
.has-dropdown:has(.menu-dropdown):hover a::after {
    color: var(--color-rose-100);
    transform: var(--angle-effect);
}

/** END header location **/

/** header-top--info **/
.header-top--info {
    gap: 20px;
}

.phone a {
    gap: 4px;
}

.phone a::before {
    content: "\e92e";
    font-family: "icon";
    display: inline-flex;
    font-size: var(--icon-size-max);
    color: var(--color-default-60);
}

.shedule {
    color: var(--color-default-60);
}

/** END header-top--info **/

/** header-top--menu **/
.header-top--menu {
    gap: 24px;
}

.header-top--menu-item {

}

.header-top--menu-item-link {
}

.header-top--menu-item:hover .header-top--menu-item-link {
}

.menu-dropdown {
    display: none;
    top: 100%;
    position: absolute;
    z-index: 999;
    background: var(--color-default-white);
    padding: 8px;
    border-radius: 15px;
    gap: 16px;
}

.menu-dropdown > ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.menu-dropdown > ul > li {
    line-height: normal;
}

.menu-dropdown > ul > li + li {
    margin-top: 4px;
}

.menu-dropdown > ul > li > a,
.menu-dropdown > ul > li > span {
    display: inline-flex;
    gap: 16px;
    width: 235px;
    padding: 7px 16px;
    line-height: 24px;
    border-radius: 4px;
}

.menu-dropdown > ul > li > a:hover,
.menu-dropdown > ul > li > span {
    color: var(--fs-default);
    background: var(--color-rose-5);
}

.menu-dropdown > ul > li > span {
    cursor: default;
}

.menu-dropdown .icon {
    font-size: var(--icon-size-max);
    color: var(--color-rose-100);
}

/** END header-top--menu **/


/** social **/

.header-top--social {
    gap: 8px;
    margin-left: auto;
    margin-right: -10px;
}

.social-link {
    padding: 8px;
}

.social-link:hover .icon {
    color: var(--color-rose-100);
}

/** END social **/

/** END top header **/

/** header middle **/
.header-middle-row {
    gap: 24px;
    justify-content: space-between;
}

.header-middle-row > * {
    padding: 12px 0;
}

.header-logo {
}

.header-middle--catalog {
}

.header-middle--catalog .btn {
    padding: 7px 17px;
}

/** search **/
.header-search {
    flex: 1 1 100%;
    position: relative;
}

.search-field {
    flex: 1 1 100%;
}

.search-field label {
    flex: 1 1 100%;
    position: relative;
}

.search-field label::before {
    content: "\e932";
    display: inline-flex;
    align-items: center;
    font-family: "icon";
    position: absolute;
    top: 8px;
    left: 16px;
    width: var(--icon-size-max);
    height: var(--icon-size-max);
    font-size: var(--icon-size-max);
    color: var(--color-default-60);
}

.search-field input {
    padding: 7px 7px 7px 56px;
}

/** END search **/

/** search result **/
.search-result-area {
    display: none;
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    background: var(--color-default-white);
    border-radius: 15px;
    z-index: 5;
    padding: 16px 16px 20px;
}

.search-result-area.open {
    display: block;
}

.search-result {
}

.search-result--item {
    gap: 16px;
    margin-bottom: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--color-default-5);
}

.search-result--item-image {
    flex-basis: 60px;
    flex-shrink: 0;
    border-radius: 5px;
    overflow: hidden;
}

.search-result--item-content {
}

.result--item-title {
    font-size: 16px;
}

.result--item-price .price {
    font-size: 19px;
}

.result--item-price .old-price {
    font-size: 13px;
}

.search-result--item-icon {
    margin-left: auto;
}

.search-result--item-icon a {
    padding: 5px;
    border-radius: 50%;
    background: var(--color-rose-20);
}

.search-result--item-icon a.added {
    background: var(--color-rose-100);
}

.search-result--item-icon a.added .icon {
    color: var(--color-default-white);
}

.search-result--all {
    width: 100%;
}

/** END search result **/

/** Calendar **/
.air-datepicker {
    --adp-width: 336px;
    --adp-padding: 0 16px;
    --adp-font-size: 15px;
    --adp-day-name-color: var(--color-default);
    --adp-color-current-date: var(--color-default);
    --adp-cell-border-radius: 50%;
    --adp-date-gap: 8px;

    font-family: "Manrope", sans-serif;
    background: var(--color-rose-5);
    border: none;
    padding-top: 16px;
    padding-bottom: 16px;
    border-radius: 10px;
}

.air-datepicker-nav {
    justify-content: left;
}

.air-datepicker-nav--action {
    width: auto;
}

.air-datepicker-nav--action:hover {
    background: none;
}

.air-datepicker-nav--action .icon {
    font-size: 15px;
}

.air-datepicker-nav--title {
    font-size: 16px;
    font-weight: 600;
}

.air-datepicker-nav--title:hover {
    background: none;
}

.air-datepicker-body--day-names {
    gap: var(--adp-date-gap);
}

.air-datepicker-body--day-name {
    font-size: inherit;
    font-weight: 600;
}

.air-datepicker-cell {
    z-index: inherit;
}

.air-datepicker-body--cells.-days- {
    gap: var(--adp-date-gap);
}

.air-datepicker-cell.-current- span {
    color: var(--color-default);
    background: #fff;
    border: 1px solid var(--color-default);
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.air-datepicker-cell.-current-.-selected-,
.air-datepicker-cell.-selected-.-focus- {
    color: var(--color-default-white);
    background: unset;
}

.air-datepicker-cell.-current-.-selected- span {
    background: var(--color-default);
}

.air-datepicker-cell.-selected- {
    color: var(--color-default-white);
    border: none;
    background: unset;
}

.air-datepicker-cell.-focus- {
    background: none;
}

.air-datepicker-cell.-selected- span,
.air-datepicker-cell.-focus- span {
    color: #fff;
    border: none;
    background: var(--color-default);

    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.air-datepicker-cell.-month-.-current- {
    color: var(--color-rose-60);
}

.air-datepicker-cell.-month-.-focus- {
    color: var(--color-rose-100);
}

/** END Calendar **/

/** Select **/
.select2-container--default .select2-selection--single {
    height: 50px;
}

.select2-container--default .select2-selection--single {
    border-color: #B1B3B8;
    border-radius: 10px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 13px 16px;
    line-height: 24px;
    font-size: 16px;
    color: var(--color-default);
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none;
    /* border: 1px solid; */
    top: -1px;
    width: 56px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    left: unset;
    margin: 0;
    right: 0;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b::after {
    content: "\e93d";
    font-family: 'icon';
    font-size: 24px;
    font-weight: 400;
    color: var(--color-default-60);
}


.select2-results {
    padding: 8px;
}

.select2-results__option--selectable {
    font-size: 16px;
    padding: 7px 16px;
    border-radius: 4px;
    line-height: 24px;
}

.select2-container--default .select2-results__option--selected {
    font-size: 16px;
    padding: 7px 16px;
    background-color: var(--color-rose-5);
    border-radius: 4px;
    line-height: 24px;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    font-size: 16px;
    padding: 7px 16px;
    color: var(--color-default);
    background-color: var(--color-rose-5);
    border-radius: 4px;
    line-height: 24px;
}

/** END Select **/

/** type Radio **/
.radio-line + .radio-line {
    margin-top: 10px;
}

input[type="radio"] {
    display: none;
}

.radio-line input[type="radio"] + label {
    padding-left: 26px;
    position: relative;
    font-size: 16px;
    line-height: 24px;
}

.radio-line input[type="radio"] + label::before {
    content: "";
    width: 14px;
    height: 14px;
    position: absolute;
    border: 1px solid var(--color-rose-100);
    top: 5px;
    left: 6px;
    border-radius: 50%;
}

.radio-line input[type="radio"]:checked + label::after {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    background: var(--color-rose-100);
    border: 1px solid var(--color-rose-100);
    top: 7px;
    left: 8px;
    border-radius: 50%;
}

/** END type Radio **/

/** right icons **/
.header-middle--right-icons {
    gap: 25px;
    /*margin-right: -5px;*/
}

.right-icons--item {
}

.right-icons--link {
    gap: 8px;
}

.right-icons--link .right-icons--icon {
    position: relative;
    display: inline-flex;
    margin: 0 8px 0 4px;
}

.right-icons--link .icon {
    font-size: 30px;
}

.right-icons--link:hover .icon {
    color: var(--color-rose-100);
}

.right-icons--count {
    position: absolute;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 15px;
    color: var(--color-default-white);
    border-radius: 15px;
    background: var(--color-rose-100);
    right: -4px;
    top: -1px;
}

/** end right icons **/

/** end header-middle **/

/** header-bottom **/
.header-menu {
    gap: 28px;
    line-height: 36px;
}

.menu-item {
    gap: 3px;
    display: inline-flex;
    position: relative;
    align-items: center;
    padding-bottom: 12px;
    cursor: pointer;
}

.menu-item:has(.menu-dropdown)::after {
    content: "\e93d";
    display: inline-flex;
    font-family: "icon";
    font-size: 18px;
    color: var(--color-default);
    transition: transform var(--angle-delay);
}

.menu-item:has(.menu-dropdown):hover::after {
    color: var(--color-rose-100);
    transform: var(--angle-effect);
}

.menu-item:has(.menu-dropdown):hover .menu-dropdown {
    display: flex;
    top: 100%;
}

.menu-item:hover > a {
    color: var(--color-rose-100);
}

.header-menu .btn {
    font-size: 15px;
    padding: 5px 10px;
}

/** end header-bottom **/

/** header fixed **/
.header-fixed {
    position: fixed;
    width: 100%;
    background: #fff;
    box-shadow: var(--shadow);
    z-index: 90;
    top: -100%;
    transition: top 0.3s;
}

.header-fixed.fixed {
    top: 0;
}


/** end header fixed **/


.out {
    outline: 1px solid red;
}

.page--title {
    margin-bottom: 30px;
}

.page--title h1 {
    line-height: 44px;
}

.main-page--title {
    position: relative;
}

.about-delivery {
    display: inline-flex;
    font-size: 12px;
    background: var(--color-rose-20);
    padding: 5px 9px;
    margin-left: 6px;
    border-radius: 10px;
    line-height: 16px;
    gap: 6px;
    position: absolute;
    /*top: 0px;*/

}

.about-delivery .icon {
    font-size: 16px;
}

/** end **/

/** price **/
.price {
    font-size: 22px;
    font-weight: 600;
}

.old-price {
    font-size: 15px;
    font-weight: 400;
    color: var(--color-default-60);
    text-decoration: line-through;
}

/** END price **/

/** Tabs **/
.tab-item {
    padding: 9px 8px;
    text-align: center;
    border-bottom: 2px solid transparent;
}

.tab-item.active {
    border-bottom-color: var(--color-rose-100);
}

.tab-item a {
    gap: 4px;
    display: inline-flex;
    flex-direction: column;
    color: var(--color-default-60);
}

.tab-item.active a {
}

.tab-item.active a .tab--title {
    color: var(--color-default);
}

.tab--title {
    font-size: 16px;
    font-weight: 600;
    line-height: 19px;
}

.tab--sub-title {
    font-size: 13px;
    line-height: 18px;
}

/** END Tabs **/

/** Slide Popup **/
.slide-popup {
    position: absolute;
    background: var(--color-default-white);
    width: 100%;
    height: 100vh;
    z-index: 90;
    display: none;
    left: -100%;
    transition: left var(--open-slide-popup-spd);
}

.slide-popup.open {
    left: 0;
}

.slide-popup {
    padding-top: 60px;
    padding-bottom: 144px;
}

.slide-popup.send:has(.popup-result) .slide-popup--content {
    display: flex;
    align-items: center;
    justify-content: center;
}

.slide-popup.colored {
    background: var(--color-rose-5);
}

.slide-popup.mobile-filter {
    padding-bottom: 144px;
}

.slide-popup h2,
.slide-popup .h2 {
    margin: 0;
}

.slide-popup .close {
    margin-right: 10px;
}

.slide-popup .close .icon {
    font-size: 29px;
}

.slide-popup--title {
    top: 0;
    padding: 12px 15px;
    border-bottom: 1px solid var(--color-default-5);
    background: var(--color-default-white);
    z-index: 10;
}

.colored .slide-popup--title {
    border-color: var(--color-default-20);
    background: var(--color-rose-5);
}

.popup.under_order {
    width: 350px;
}

.under_order .slide-popup--inner {
    padding-top: 24px;
}

.slide-popup--content {
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}

.slide-popup--inner {
    padding: 8px 12px;
}

.slide-popup ul {
    padding: 0;
    list-style: none;
}

.slide-popup ul li {
    font-size: 16px;
    line-height: 24px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--color-default-5);
}

.slide-popup.location ul li span {
    font-weight: 600;
    color: var(--color-rose-60);
}

.slide-popup.mobile-search .search-result-area {
    position: relative;
}

.slide-popup-footer {
    bottom: 0;
    background: #fff;
    height: 144px;
}

[type="reset"] {
    display: none;
}

[type="reset"].show {
    display: block;
}

.slide-popup-footer {
    padding: 16px 12px;
    border: 1px solid var(--color-default-5);
}

.slide-popup-footer .btn {
    font-size: 16px;
    line-height: 24px;
    padding-top: 13px;
    padding-bottom: 13px;
    z-index: 70;
}


/** END Slide Popup **/

.popup {
    display: none;
    min-width: 350px;
    height: auto;
    padding: 24px 16px 36px;
    background: var(--color-rose-5);
    position: fixed;
    top: 20%;
    left: calc(50% - 175px);
    z-index: 55;
    border-radius: 15px;
}

.popup.open {
    display: block;
}

.popup-inner {
}

.popup-head {
    margin-bottom: 10px;
}

.popup--title {
    font-size: 19px;
    line-height: 28px;
    font-weight: 600;
}


.close-popup {
    cursor: pointer;
    margin-left: auto;
}


.popup-body {
}

.send .popup-body {
    display: none;
}

.popup-body--inner {
    gap: 12px;
}

.order-product-info {
    gap: 12px;
}

.order-product-image {
}

.order-product-name {
    font-size: 15px;
    line-height: 21px;
    margin-bottom: 4px;
}

.order-product-price {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
}

.popup-note {
    text-align: center;
    padding: 8px 12px;
    font-size: 12px;
    line-height: 18px;
    background: var(--color-rose-20);
    border-radius: 10px;
}

.popup-shadow-note {
    color: #94969F;
    font-size: 12px;
    line-height: 28px;
    margin-bottom: 12px;
}

.agreement {
    color: var(--color-default-60);
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 12px;
}

.popup-result {
    display: none;
}

.send .popup-result {
    display: block;
}

.popup-result--icon {
    margin-bottom: 16px;
}

.popup-result--icon .icon {
    font-size: 60px;
    color: var(--color-rose-40);
}

.popup-result--text {
    line-height: 21px;
    text-align: center;
}

.popup-body {
    margin-top: 10px;
    margin-bottom: 16px;
}

.profile-popup label {
    line-height: 30px;
}

.backdrop {
    display: none;
    background: #000000;
    opacity: .5;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 50;
}

/* start:welcome card */
.welcome-popup {
    top: calc(50% - 250px);
    left: calc(50% - 175px);
    max-height: 500px;
    height: 100%;
}

.welcome-card {
    flex: 1;
    font-size: 16px;
    line-height: 24px;
    background: var(--color-rose-5);
    border-radius: 15px;
}

.welcome-popup .welcome-card {
    padding: 24px 28px 36px;
    height: 100%;
}

.welcome-card-inner {
    gap: 3px;
    flex: 1;
}

.welcome-card--title {
    font-size: 22px;
    line-height: 33px;
    font-weight: 600;
}

.welcome-card .icon-qr {
    width: 139px;
    height: 139px;
}

.welcome-card--accent {
    font-size: 55px;
    line-height: 1em;
    font-weight: 600;
    color: var(--color-rose-100);
}

.welcome-card .get-app-block {
    padding: 0;
}

/* end:welcome card */

/** Cookie Modal **/
.cookie-modal {
    display: none;
    position: fixed;
    bottom: 0;
    background: rgb(255 255 255 / 80%);
    max-width: 336px;
    width: 100%;
    font-size: 13px;
    line-height: 20px;
    padding: 12px;
    border-radius: 15px;
    left: calc(50% - 168px);
    z-index: 40;
}

.cookie-modal--content {
    align-items: center;
    gap: 10px;
}

/** End Cookie Modal **/

/** Footer **/
footer {
    font-size: 16px;
    line-height: 24px;
    background: var(--color-default-80);
    color: var(--color-default-white);
}

footer a {
    color: var(--color-default-white);
}

footer a:hover {
    color: var(--color-rose-40);
}

.footer-menu-title {
    color: var(--color-default-20);
    font-size: 22px;
    font-weight: 600;
    line-height: 33px;
}

.footer-menu ul {
    padding: 0;
    list-style: none;
    margin: 10px 0;
}

.footer-menu ul li {
    line-height: 24px;
    margin-bottom: 4px;
}

.footer-qr {
    background: var(--color-rose-5);
}

footer .icon-qr {
    width: 140px;
    height: 140px;
}

.get-app-block {
    padding-top: 12px;
    gap: 12px;
}

.get-app-btn .icon {
    width: 106px;
    height: 36px;
}

.footer-bottom {
    font-size: 13px;
    line-height: 20px;
    margin-top: 12px;
}

.footer-social {
    gap: 9px;
    margin-left: -10px;
}

footer .social-link .icon {
    color: var(--color-default-white);
    font-size: var(--icon-size-max);
}

.user-agreement {
}

.user-agreement a {
}

.user-agreement span {
    color: var(--color-default-20);
}

.phone-footer {
    font-size: 22px;
    line-height: 33px;
    margin-top: 6px;
    margin-bottom: 4px;
}

.phone-footer a {
    letter-spacing: 0.3px;
}

/** End Footer **/

/* start:Static Page */
.static-block {
    font-size: 16px;
    line-height: 24px;
}

.static-block p span {
    color: var(--color-default-60);
}

/* end:Static Page */

.about-gap {
    gap: 24px;
}

.delivery-note {
    font-size: 16px;
    margin: 12px 0;
}

.delivery-zone {
    gap: 24px;
}

.delivery-zone-item {
    gap: 5px;
}

.delivery-zone-item::before {
    content: "";
    display: block;
    width: 17px;
    height: 17px;
    background: #82CDFF;
    border-radius: 50%;
    margin-top: 3px;
    margin-right: 4px;
}

.red::before {
    background: #ED4B48;
}

.yellow::before {
    background: #FED631;
}

.green::before {
    background: #65DE4F;
}

.purple::before {
    background: #F47FD4;
}

.turquoise::before {
    background: #82CDFF;
}

.delivery-zone-item--inner {
    gap: 4px;
}

.delivery-zone-item .zone-day,
.delivery-zone-item .zone-night {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.delivery-zone-item .zone-day .icon,
.delivery-zone-item .zone-night .icon {
    font-size: 18px;
}

.schedule {
    gap: 10px;
    font-size: 16px;
    line-height: 24px;
    margin: 12px 0;
}

.schedule .icon {
    font-size: 24px;
    color: var(--color-rose-100);
}

.map-gap {
    margin-top: 30px;
    gap: 30px 0;
}

.bannermb {
    margin-top: 36px;
}

.map-row {
    padding-top: 30px;
    margin-bottom: 12px;
}


/* Start: subscribe block & chips */
.subscribe {
    gap: 12px;
    padding-bottom: 8px;
}

.subscribe-item {

}

.subscribe-item--title {
    display: inline-flex;
    align-items: center;
    font-size: 15px;
    font-weight: 700;
    color: var(--color-default)
}

.subscribe-item--title .icon {
    font-size: 16px;
    padding-left: 6px;
    color: var(--color-rose-100);
}

.chips-block {
    gap: 8px;
    flex-wrap: wrap;
}

.chips {

}

.chips label {
    font-size: 13px;
    color: #2B2E31;
    background: #F4ECEF;
    border-radius: 8px;
    padding: 3px 8px;
    margin: 1px 0;
    cursor: pointer;
    white-space: nowrap;
}

.chips input:checked ~ label {
    background: var(--color-rose-100);
    color: var(--color-default-white);
    cursor: default;
}

@media screen and (max-width: 1199px) {
    .chips label {
        margin: 2px 0;
    }
}
/* End: subscribe block & chips */
.promoTableTitle {
    text-align: center;
    margin-top: 10px;
}

.promoTable {
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 40px;
}
.promoTable tr {
    width: fit-content;
}
.promoTable tr th,
.promoTable tr td {
    width: fit-content;
    padding: 5px 10px;
}

address{
    margin-bottom: 0;
}
figure{
    margin-bottom: 0;
}