/*основные цвета*/
:root {
    --c-beige: #e7d1a0;
    --c-ligt-beige: #edd7ae;
    --very-light-beige: #f3e8d2;
    --c-red: #e73d24;
}

* {
    margin: 0;
    padding: 0;
}

.rubl {
    font-family: rouble, serif;
    text-transform: none;
}

body {
    font-family: 'Open Sans', serif;
    font-size: 16px;
    font-weight: 500;
    font-style: normal;
    background-color: white;
    color: black;
    overflow-x: hidden;
}

.w-100 {
    width: 100%;
}

.light-back {
    position: relative;
    background-color: var(--very-light-beige);
}

.title {
    font-family: Caveat, serif;
    font-size: 50px;
}

.container.catalog .title {
    margin-top: 97px;
}

h1, h2, h3 {
    font-family: Caveat, serif;
}

ul, li {
    padding: 0;
    list-style-type: none;
}

img {
    width: 100%;
}

a,
a:hover,
a:active,
a:visited,
a:focus {
    text-decoration: none;
    color: black;
}

.mb-30 {
    margin-bottom: 30px;
}

.mb-50 {
    margin-bottom: 50px;
}

header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 2;
    background-color: var(--very-light-beige);
    height: 120px;
}

header .header-top {
    display: flex;
    align-items: center;
    padding: 10px 0;
    width: 100%;
}

#h_logo {
    margin: 0 auto;
}

#header_logo {
    width: 100px;
}

#header_logo img {
    width: 100%;
}

.header_menu {
    display: flex;
    align-self: center;
    text-align: center;
    font-family: Caveat, serif;
    font-size: 28px;
    width: 55px;
}

.header_menu a:nth-child(2) {
    margin-left: 35px;
}

.header_menu a {
    position: relative;
    height: 100%;
    display: inline-flex;
    align-items: center;
}

.header_menu a.active {
    font-weight: bold;
    color: var(--c-red)
}

/*поиск в шапке*/
.header_bottom input[type=text]::placeholder
{
    color: #919399;
}

.header_bottom #li-search{
    position: relative;
}

.header_bottom i{
    cursor: pointer;
}

.header_bottom i.abs{
    position: absolute;
    top: -8px;
    left: -8px;
    z-index: 4;
    color: black;
    cursor: pointer;
}

.header_bottom i.fa.fa-close{
    position: absolute;
    left: 350px;
    color: #919399;
}

.header_bottom input[type=text]{
    position: absolute;
    width: 400px;
    padding: 0 50px 0 48px;
    top: -16px;
    left: -18px;
    font-size: 16px;
    line-height: 34px;
    color: black;
    box-sizing: border-box;
    border: 1px black solid;
}

a#back {
    display: block;
    font-size: 16px;
    margin-bottom: 40px;
    cursor: pointer;
}

a#back i{
    margin-right: 5px;
}

#content {
    position: relative;
    min-height: 70vh;
    margin-bottom: 50px;
    margin-top: 178px;
}

#mobile-navigation-btn {
    color: var(--c-red);
    font-size: 21px;
}

#mobile-navigation {
    background: var(--c-beige);
    color: white;
    position: fixed;
    top: 80px;
    margin: 0;
    z-index: 1001;
    width: 100%;
    height: 80vh;
    min-height: 280px;
    border-bottom: 2px var(--c-red) solid;
    overflow-y: auto;
}

#mobile-navigation h1 {
    font-family: Caveat, serif;
}

ul#mobile-nav {
    margin: 16px 0 10px 0;
}

ul#mobile-nav li a {
    display: block;
    position: relative;
    padding: 8px 0 !important;
    font-weight: bold;
}

ul#mobile-nav li a.active{
    color: var(--c-red);
}

#catName {
    margin-bottom: 30px;
}

#catName,
#empty-cart {
    padding-left: 7px;
}

.red {
    color: var(--c-red) !important;
}

.line {
    width: 90%;
    height: 1px;
    background-color: #ffffff6e;
    margin: 50px auto;
}

.button {
    display: inline-block;
    font-family: Caveat, serif;
    border: 0;
    font-size: 20px;
    background-color: var(--c-beige);
    color: black !important;
    border-radius: 1px;
    padding: 8px;
    cursor: pointer;
    font-weight: bold;
}

.header_bottom {
    position: fixed;
    top: 120px;
    width: 100%;
    z-index: 2;
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: var(--c-ligt-beige);
}

.header_bottom ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    margin: 0;
}

.header_bottom ul li {
    margin-right: 30px;
    margin-bottom: 5px;
}

.header_bottom ul li a.active {
    color: var(--c-red);
}

/*product*/

#no_photo {
    width: 150px
}

.products {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.product {
    width: 260px;
    height: 362px;
    margin: 0 8px 30px 8px;
}

.product,
.last-product {
    width: 260px;
    margin: 0 10px 30px 10px;
}

.last-product {
    display: block;
}

.product .image {
    width: auto;
    height: 170px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-bottom: 12px;
    cursor: pointer;
}

.product .image img {
    width: 100%;
    height: auto;
}


.product .info {
    height: auto;
    padding: 4px;
}

.product .info .name {
    font-size: 18px;
    margin: 0;
    font-weight: bold;
    overflow: hidden;
}

.product .info .name h3{
    height: 49px;
}

.product .info .desc {
    font-size: 13px;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    overflow: hidden;
    height: 40px;
    margin-bottom: 10px;
    margin-top: 5px;
    color: gray;
}

.product .info .out {
    font-size: 11px;
    max-width: 60px;
    display: inline-block;
    overflow: hidden;
    max-height: 15px;
}

.product .info .bottom{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: nowrap;
    height: 36px;
}

.product .info .price {
    display: flex;
    align-items: flex-end;
}

.product .info .price h3 {
    font-size: 18px;
    display: inline-block;
    margin: 0;
    font-family: inherit;
    font-weight: bold;
}

.product .cart {
    font-size: 13px;
}

.product .cart a#add-to-cart {
    background-color: var(--c-ligt-beige);
    padding: 5px 16px;
    color: black;
    font-size: 18px;
    font-weight: bold;
}

.product .cart #in-cart {
    margin-top: -4px;
    font-size: 18px;
    font-weight: bold;
}

.product__meta__cart__link,
.product__meta__cart__link:hover {
    color: black;
    margin-right: 5px;
}

.product__meta__cart__input {
    width: 32px;
    text-align: center;
    background: inherit;
    border: 2px black solid;
    line-height: 22px;
}

.product__meta__cart__quant {
    font-size: 17px;
}

.product__meta__cart__quant:hover {
    color: black;
}

#down.product__meta__cart__quant {
    margin-right: 2px;
}

#up.product__meta__cart__quant {
    margin-left: 2px;
}

.mini_cart {
    text-align: center;
    display: flex;
}

.mini_cart a {
    text-decoration: none;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    color: #000;
    width: 55px;
    flex-wrap: wrap;
    justify-content: center;
}

.mini_cart a p {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 16px;
    margin-top: 5px;
}

/*catalog dishes*/
.catalog-dishes {
    display: flex;
    margin-top: 20px;
    width: 100%;
    flex-wrap: wrap;
}

.product-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 3px;
}

.product-box h2 {
    text-decoration: underline;
}

.main-product-box {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin: 0 5px;
}

.main-product-box__h1 {
    text-align: center;
    margin: 30px 0 !important;
}

/*корзина*/
.cart {
    display: flex;
}

.cart__items {
    width: 53%;
    margin-right: 8%;
}

.cart__items__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-bottom: 15px;
    border-bottom: 1px black solid;
}

.cart__items__item__count {
    display: flex;
    width: 20%;
}

.cart__items__item__count input {
    width: 32px;
    text-align: center;
    border: 2px black solid;
    background-color: inherit;
    line-height: 22px;
}

.cart__items__item__count a {
    font-size: 17px;
}

.cart__items__item__count #down {
    margin-right: 6px;
}

.cart__items__item__count #up {
    margin-left: 6px;
}

.cart__items__item__desc {
    width: 30%;
    padding-right: 30px;
    padding-top: 10px;
}

.cart__items__item__photo {
    width: 120px;
    flex: none;
}

.cart__items__item__photo img {
    max-width: 100%;
    width: 100%;
    margin-bottom: -4px;
}

.cart__items__item__price {
    flex: none;
    padding-left: 10px;
    height: 22px;
    line-height: 22px;
    font-weight: bold;
    width: 20%;
}

.cart__items__item .del{
    width: 20px;
    cursor: pointer;
}

.cart__items__item__mobile-bottom {
    width: 60%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cart__form {
    width: 38%;
}

.cart__form .phone-block{
    position: relative;
}

.cart__form .phone-block span{
    position: absolute;
    top: 7px;
    left: 5px;
}

.cart__form button[type=submit]{
    background-color: var(--c-ligt-beige);
    padding: 5px 16px;
    color: black;
    font-size: 18px;
    font-weight: bold;
    border: none;
}

.cart__form__inner {
    min-height: 350px;
    padding: 40px 35px 25px 40px;
    border: 1px black solid;
}

/*стили для полей ввода в форме*/
.cart__form__inner__fields {
    width: 100%;
    margin-bottom: 20px;
    padding: 6px;
    color: black;
    border: 1px black solid;
    background-color: inherit;
}

.cart__form__inner__fields::placeholder {
    color: grey;
}

/*checkbox запомнить данные для след. покупок
и для согласия на обработку данных*/
.cart__form__inner__fields#remember_me,
.cart__form__inner__fields#accept {
    width: auto;
    margin-bottom: 0;
}


.cart__form__inner__radio {
    margin-bottom: 5px;
}

/*стили для radio в форме*/
.cart__form__inner__radio input[type="radio"]:checked,
.cart__form__inner__radio input[type="radio"]:not(:checked) {
    position: absolute;
    left: -9999px;
}

.cart__form__inner__radio input[type="radio"]:checked + label,
.cart__form__inner__radio input[type="radio"]:not(:checked) + label {
    display: inline-block;
    position: relative;
    padding-left: 28px;
    line-height: 20px;
    cursor: pointer;
}

.cart__form__inner__radio input[type="radio"]:checked + label:before,
.cart__form__inner__radio input[type="radio"]:not(:checked) + label:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border: 1.5px solid black;
    background-color: inherit;
}

.cart__form__inner__radio input[type="radio"]:checked + label:before {
    border: 1.5px solid black
}

.cart__form__inner__radio input[type="radio"]:checked + label:before,
.cart__form__inner__radio input[type="radio"]:not(:checked) + label:before {
    border-radius: 100%;
}

.cart__form__inner__radio input[type="radio"]:checked + label:after,
.cart__form__inner__radio input[type="radio"]:not(:checked) + label:after {
    content: "";
    position: absolute;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.cart__form__inner__radio input[type="radio"]:checked + label:after,
.cart__form__inner__radio input[type="radio"]:not(:checked) + label:after {
    left: 5px;
    top: 5px;
    width: 10px;
    height: 10px;
    border-radius: 100%;
    background-color: var(--c-red);
}

.cart__form__inner__radio input[type="radio"]:not(:checked) + label:after {
    opacity: 0;
}

.cart__form__inner__radio input[type="radio"]:checked + label:after {
    opacity: 1;
}

.cart__form__span {
    display: block;
    font-size: 13px;
    color: black;
}

/*order*/
.order {
    width: 750px;
    min-height: 800px;
}

.order button{
    background-color: var(--c-ligt-beige);
    padding: 5px 16px;
    color: black;
    font-size: 18px;
    font-weight: bold;
    border: none;
}

.order__items{
    padding: 8px;
}

.order__items__item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-bottom: 15px;
    border-bottom: 1px black solid;
}

.order__items__item__photo {
    width: 140px;
    flex: none;
    margin-right: 10px;
}

.order__items__item__photo img{
    max-width: 100%;
    width: 100%;
    margin-bottom: -4px;
    border-radius: 4px;
}

.order__items__item__desc {
    width: 40%;
    padding-right: 30px;
    padding-top: 10px;
}

.order__items__item__desc h3{
    font-size: 16px;
    font-family: inherit;
}

.order__items__item__price {
    padding-top: 18px;
}

/*footer*/
footer {
    position: relative;
    width: 100%;
    background-color: var(--very-light-beige);
    z-index: 2;
    min-height: 120px;
}

.footer-inner {
    display: flex;
}

.footer-inner .footer_logo {
    display: flex;
    -ms-flex-item-align: center;
    align-self: center;
    width: 95px;
    margin-right: 8%;
}

.footer-inner .footer_logo img {
    width: 100%;
}

.footer_contacts {
    margin-right: 10%;
    padding-top: 20px;
}

.contacts .block {
    margin-bottom: 20px;
}

.footer_contacts p,
.contacts .block p {
    font-weight: bold;
}

.footer_contacts .block {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.footer_contacts i,
.contacts .block i {
    color: var(--c-red);
    font-size: 25px;
    margin-right: 5px;
}

/*carousel*/
.carousel__slides img {
    width: 100%;
}

.carousel__controls {
    width: 100%;
    height: 38px;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
}

#carousel-slides .carousel__controls {
    width: 80%;
}

.carousel__controls__prev {
    position: relative;
    float: left;
    right: 60px;
}

.carousel__controls__prev img {
    transform: rotate(180deg);
}

.carousel__controls__next {
    position: relative;
    float: right;
    left: 60px;
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden
}

.carousel-inner:after {
    display: block;
    clear: both;
    content: ""
}

.carousel-item {
    position: relative;
    display: none;
    float: left;
    width: 100%;
    margin-right: -100%;
    backface-visibility: hidden;
    transition: transform .6s ease-in-out
}

@media (prefers-reduced-motion: reduce) {
    .carousel-item {
        transition: none
    }
}

.carousel-item-next,
.carousel-item-prev,
.carousel-item.active {
    display: block
}

.active.carousel-item-end,
.carousel-item-next:not(.carousel-item-start) {
    transform: translateX(100%)
}

.active.carousel-item-start,
.carousel-item-prev:not(.carousel-item-end) {
    transform: translateX(-100%)
}

.carousel-fade .carousel-item {
    opacity: 0;
    transition-property: opacity;
    transform: none
}

.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end,
.carousel-fade .carousel-item.active {
    z-index: 1;
    opacity: 1
}

.carousel-fade .active.carousel-item-end,
.carousel-fade .active.carousel-item-start {
    z-index: 0;
    opacity: 0;
    transition: opacity 0s .6s
}

@media (prefers-reduced-motion: reduce) {
    .carousel-fade .active.carousel-item-end,
    .carousel-fade .active.carousel-item-start {
        transition: none
    }
}

.carousel-control-next,
.carousel-control-prev {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15%;
    padding: 0;
    color: #fff;
    text-align: center;
    background: none;
    border: 0;
    opacity: .5;
    transition: opacity .15s ease
}

@media (prefers-reduced-motion: reduce) {
    .carousel-control-next,
    .carousel-control-prev {
        transition: none
    }
}

.carousel-control-next:focus,
.carousel-control-next:hover,
.carousel-control-prev:focus,
.carousel-control-prev:hover {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: .9
}

.carousel-control-prev {
    left: 0
}

.carousel-control-next {
    right: 0
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 100% 100%
}

.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E")
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E")
}

.carousel-indicators {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    padding: 0;
    margin-right: 15%;
    margin-bottom: 1rem;
    margin-left: 15%;
    list-style: none
}

.carousel-indicators [data-bs-target] {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    padding: 0;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity .6s ease
}

@media (prefers-reduced-motion: reduce) {
    .carousel-indicators [data-bs-target] {
        transition: none
    }
}

.carousel-indicators .active {
    opacity: 1
}

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 1.25rem;
    left: 15%;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    color: #fff;
    text-align: center
}

.carousel-dark .carousel-control-next-icon,
.carousel-dark .carousel-control-prev-icon {
    filter: invert(1) grayscale(100)
}

.carousel-dark .carousel-indicators [data-bs-target] {
    background-color: #000
}

.carousel-dark .carousel-caption {
    color: #000
}

.slider__indicators {
    display: block !important;
    margin: 0 !important;
    left: 10px !important;
    width: 400px;
    z-index: 0;
}

.slider__indicator.active {
    background-color: #fde13c !important;
}
.carousel-indicators .active {
    opacity: 1;
}
.carousel-indicators [data-bs-target] {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    padding: 0;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border: 0;
    border-top-width: 0px;
    border-top-style: none;
    border-top-color: currentcolor;
    border-bottom-width: 0px;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity .6s ease;
}
.slider__indicator {
    cursor: pointer;
    display: inline-block;
    width: 10px !important;
    height: 10px !important;
    background-color: #fff !important;
    margin-right: 10px;
}

/*Согалсие на обработку данных*/
.bottom-privacy{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    font-weight: bold;
    z-index: 100;
    padding: 10px;
    background-color: #f0f0f0;
    color: grey;
}

.bottom-privacy .privacy-inner{
    display: flex;
    justify-content: center;
    align-items: center;
}

.bottom-privacy .privacy-inner p{
    margin: 0;
    font-size: 14px;
}

.bottom-privacy .privacy-inner button{
    border: none;
    float: right;
    transition: .3s;
    margin-left: 8px;
    cursor: pointer;
    background-color: var(--c-ligt-beige);
    padding: 5px 16px;
    color: black;
    font-size: 18px;
    font-weight: bold;
}


