/* Speisedeal Theme */

html {
  font-family: 'Outfit', sans-serif;
}
/* scroll-behavior: smooth on html causes scroll jank on iOS Safari.
   Apply it only to elements that explicitly need it, not globally. */
@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}

.modal-body{
scroll-behavior: smooth;
}

body {
  font-family: 'Outfit', sans-serif;
  background:#fff;
  font-size:14px;
}

body.column2-layout,
.grey-bg,
#cmaps,
.page-grey
{
background:#f6f7f8;
}

img{
object-fit: cover;
}
img.contain{
object-fit: contain;
}

a{
color:#000;
}

a:hover{
text-decoration:none;
}

p, .card,
.dataTables_info,
table,
.a-12,
.cart-summary
{
font-size:12px !important;
}

h6,h5,
.bold
{
font-weight:600;
}

h6,
.menu-category a,
.font14
{
font-size:14px !important;
}

h5{
font-size:16px;
}

.font11 {
 font-size:11px !important;
}

.font13
{
font-size:13px !important;
}

.font16
{
font-size:16px !important;
}

.font20
{
font-size:20px !important;
}

.card{
border:none;
}

.custom-range::-moz-range-thumb
{
background-color:#FF6B00;
}

.btn{
font-size:15px;
font-weight:500;
border-radius: .45rem;
padding:12px;
}

.btn.small{
padding:8px;
font-size:14px;
}

.btn.extra-small{
  padding:5px;  
}

.badge-light{
color: #737373;
background-color: #f5f5f5;
}

.btn-green,
.btn-grey:hover,
.badge.badge-green,
.custom-control-input:checked ~ .custom-control-label::before,
.btn-green-line:hover
{
background:#FF6B00;
color:#fff !important;
}

.btn-green:focus,
.btn-green:hover,
.frm_search button:hover,
.big-new-button p,
.section-promo,
.layer-content,
.update-photo a,
.white-color
{
color:#fff !important;
}

.btn-black,
.quantity a.rounded-pill:hover,
.rounded-button-icon:hover
{
background:#000;
color:#fff;
}

.btn-black:focus,
.btn-black:hover
{
color:rgba(255,255,255,0.7) !important;
}

.btn-circle 
{
width: 30px;
height: 30px;
padding: 6px 0px;
border-radius: 15px;
text-align: center;
font-size: 12px;
line-height: 1.42857;
}

.btn-circle i
{
font-size:18px;
}

.btn-grey{
background:#b2b2b2;
color:#fff;
}

.btn-white{
background:#fff;
color:#FF6B00;
}

.btn-white span,
.font20,
.chevron-section i
{
font-size:20px;
}

.font25{
  font-size:25px;
}

.btn-green-line,
.border-green{
border:1px solid #FF6B00;
}

.btn.link{
padding: 0;
font-size: 12px;
line-height: inherit;
}
.btn.link.focus, .btn.link:focus {
outline: 0;
box-shadow:none;
}

.input-group-small .btn{
font-size:12px;
padding:8px 20px;
}
.input-group-small .form-control-text{
min-height:35px;
font-size:12px;
}

/* for md */
.custom-switch.custom-switch-md .custom-control-label {
    padding-left: 1.5rem;
    /*padding-bottom: 1.5rem;*/
    line-height:30px;
    margin-bottom:0.5rem;
}

.custom-switch.custom-switch-md .custom-control-label::before {
    height: 1.5rem;
    width: calc(2rem + 0.75rem);
    border-radius: 3rem;
}

.custom-switch.custom-switch-md .custom-control-label::after {
    width: calc(1.5rem - 4px);
    height: calc(1.5rem - 4px);
    border-radius: calc(2rem - (1.5rem / 2));
}

.custom-switch.custom-switch-md .custom-control-input:checked ~ .custom-control-label::after {
    transform: translateX(calc(1.5rem - 0.25rem));
}



.w25{
width:150px;
}

.btn-white-parent{
background-color: rgba(255,255,255,0.5);
display:inline-block;
border-radius:.25rem;
}
.btn-white-parent.non-trasparent{
background-color:#fff;
}

.btn-white-parent .btn-link{
color:#fff;
font-size:13px;
padding:5px 10px;
}

.btn-white-parent.non-trasparent .btn-link{
color:#000;
font-size:14px;
padding:12px;
}

.btn-white-parent .btn-link:hover,
.btn-white-parent .btn-link:focus{
text-decoration:none;
}
.btn-white-parent:hover{
background-color: rgba(255,255,255,0.7);
}

.img-15{
width: 15px !important;
height: 15px !important;
}

.img-20{
width: 20px;
height: 20px;
}

.img-30{
width:30px !important;
height:30px !important;
}

.img-30-flag {
  width: 30px;
  height: 20px;
}

.img-35{
width:35px;
height:35px;
}

.img-40{
width: 40px;
height: 40px;
}

.img-50{
width: 50px !important;
height: 50px !important;
}

.img-60{
width: 60px;
height: 60px;
}

.width-100{
width:100px !important;
}

.img-120{
min-height: 100px;
min-width: 100px;
max-height: 100px;
max-width: 100px;
}

.img-200{
max-width: 180px;
max-height: 50px;
}
.img-230{
max-width: 230px;
}

.img-350{
max-width: 350px;
}


#top-navigation{
/*height:50px;*/
border-bottom:1px solid #e5e5e5;
padding-top:8px;
padding-bottom:8px;
}

body.front-page #top-navigation{
border-bottom:0;
}

ul.top-menu,
ul.top-menu li{
margin:0;
padding:0;
}

ul.top-menu a,
.list-inline a,
.siderbar-menu a,
.menu-carousel a,
.drawer-preview-cart a
{
color: #000;
font-weight: 600;
font-size: 13px;
padding:8px 20px;
}

.menu-carousel a{
  padding: 3px 8px;
}

ul.top-menu .dropdown-menu a{
text-indent: 20px;
}

ul.top-menu .dropdown-menu a.with-icon-orders{
background: url("../images/orders-icon.png") no-repeat 10px center;
background-size: 18px;
}
ul.top-menu .dropdown-menu a.with-icon-account{
background: url("../images/account.png") no-repeat 10px center;
background-size: 20px;
}
ul.top-menu .dropdown-menu a.with-icon-logout{
background: url("../images/log-out.png") no-repeat 10px center;
background-size: 20px;
}

ul.top-menu .dropdown-menu a.with-icon-addresses{
background: url("../images/location.png") no-repeat 10px center;
background-size: 20px;
}

ul.top-menu .dropdown-menu a.with-icon-payments{
background: url("../images/payments-icon.png") no-repeat 10px center;
background-size: 20px;
}

ul.top-menu .dropdown-menu a.with-icon-savedstore{
background: url("../images/favorites-icon.png") no-repeat 10px center;
background-size: 20px;
}

ul.top-menu .dropdown-menu a.with-icon-gift{
  background: url("../images/gift.png") no-repeat 10px center;
  background-size: 20px;
}

ul.top-menu .dropdown-menu a.with-icon-bookings{
  background: url("../images/reserved-table.png") no-repeat 10px center;
  background-size: 20px;
}

ul.top-menu .dropdown-menu a.with-icon-wallet{
  background: url("../images/wallet-2.png") no-repeat 10px center;
  background-size: 20px;
}

ul.top-menu .dropdown-menu a.with-icon-livechat{
  background: url("../images/live-chat2.png") no-repeat 10px center;
  background-size: 20px;
}

.list-inline a{
padding:0;
}

.list-inline.social-list a,
.social-list a
{
font-size:18px;
}
.social-list a {
  display: block;  
  padding: 0 2px;  
}

ul.top-menu a:hover,
.list-inline a:hover,
.menu-category a:hover,
.siderbar-menu li.active a,
#menu-category .col a.active,
.btn.normal:hover,
.text-green,
a:hover,
.menu-carousel a.active,
.menu-carousel a:hover
{
color:#FF6B00 !important;
}
a.no-hover:hover{
  color:inherit !important;
}

ul.top-menu .userprofile{
display:inline-block;
}

ul.top-menu li.active{
padding:14px 0px;
border-bottom:2px solid #000;
}

.cart-handle img{
height:23px;
width:23px;
}

a.cart-handle{
position:relative;
padding:0 !important;
}

.cart-handle span.badge{
position: absolute;
right: 0;
bottom: -8px;
}

.line-left{
border-left:1px solid #cecece;
}

#main-search-banner,
.mobile-home-banner
{
height:420px;
background: url("../images/full-header.png") center center;
background-size: cover;
position:relative;
border-bottom:1px solid #e5e5e5;
}

#main-search-banner .bg-placeholder{
position: absolute;
width: 97%;
margin:auto;
left: 0;
right: 0;
height: 100%;
background: url("../images/banner-lady-left.png") left bottom no-repeat, url("../images/banner-lady-right.png") right bottom no-repeat;
background-size: contain;
}

#main-search-banner .banner-left{
background: url("../images/banner-lady-left.png") left bottom no-repeat;
background-size: 95%;
}
#main-search-banner .banner-right{
background: url("../images/banner-lady-right.png") left bottom no-repeat;
background-size: 105%;
}
#main-search-banner .banner-center{
width:630px;
z-index: 9;
}

.home-search-wrap{
width:500px;
display:block;
margin:auto;
}

#vue-home-search .search-geocomplete-results,
.auto-complete .search-geocomplete-results
{
position: absolute;
/*background:#f6f7f9;*/
background:#fff;
width:100%;
z-index:999;
}

.form-control-text{
font-size:15px;
font-weight:500;
border-radius: .45rem;
padding-left:15px !important;
background:#f6f7f9;
border:none;
min-height:55px;
}

.form-control-select
{
background-color: #f6f7f9;
font-size:15px;
font-weight:500;
border-radius: .45rem;
padding-left:15px !important;
border:none;
min-height:55px;
}

.form-control-text.form-control-text-white,
.badge.badge-white,
.kmrs-row
{
background:#fff;
}

.pin_placeholder{
background: url("../images/placeholder.svg") no-repeat;
background-size: contain;
}
.search_placeholder{
background: url("../images/magnifiying-glass.svg") no-repeat;
background-size: contain;
}
.filter_placeholder{
 background: url("../images/filter.png") no-repeat;
 background-size: contain;
}

#search-form input{
text-indent: 35px;
}
#search-form label{
padding-left: 50px;
line-height: 2;
}
#search-form .icon-left{
height:55px;
width:50px;
position: absolute;
top: 0;
}

#search-form .filter{
height:55px;
width: 250px;
position: absolute;
top: 0;
right: 0;
}

#search-form.width-auto .filter{
width:auto;
}
#search-form.width-auto label{
padding-left: 15px;
}
#search-form.width-auto input{
text-indent: 1px;
}

#search-form .filter .bootstrap-select{
width:170px;
}

.search-geocomplete{
background:#f6f7f9;
border-radius: .45rem;
}
.search-geocomplete input{
text-indent: 20px;
}

.search-geocomplete .icon,
.inputs-box-wrap .search_placeholder,
.inputs-box-wrap .icon
{
position: absolute;
top: 30%;
left: 10px;
}
.search-geocomplete .icon-remove,
.inputs-box-wrap .icon-remove
{
position: absolute;
right: 15px;
top: 30%;
cursor: pointer;
}

.inputs-box-wrap .btn.icon-remove{
  font-size: 12px;
  top: 1px;
}

.search-geocomplete .pos-right.search_placeholder{
position: absolute;
top: 30%;
right: 10px;
left:auto;
}

.search-geocomplete-results  a {
display: block;
padding:15px 50px;
clear: both;
color: #333;
text-decoration: none;
background: url("../images/pinb.png") no-repeat 15px center;
background-size: 19px;
}
.search-geocomplete-results  a:hover,
.list-with-icon-button li:hover
{
background-color:#F6F6F6;
}


footer,
.change-address-wrap,
.grey-section
{
background:#f6f7f9;
padding-top:20px;
padding-bottom:20px;
margin-top:30px;
}

.app-store-wrap img {
max-width: 8em;
}

.sub-footer,
.sub-footer-nav{
/*margin-top:30px;*/
padding-top:30px;
border-top:1px solid #e5e5e5;
}

.sub-footer-nav{
border-top:0;
}
.sub-footer-nav a{
font-size: 13px;
padding:3px 0 3px 0;
display:inline-block;
}
.sub-footer-nav h6{
margin-bottom:15px;
}

.section-title span,
.change-address-wrap a
{
color:#ea9895;
}

.owl-carousel-parent img.rounded-circle,
.other-promo-wrap .position-relative
{
width: 120px;
height: 120px;
margin:auto;
}

.owl-carousel-parent .owl_link{
display:block;
position:relative;
cursor: pointer;
}

.item-moda-details a,
.no-contact-section,
.pointer,
.btn-group-toggle label,
a
{
cursor: pointer;
}

.owl-carousel-nav
{
height:13px;
width:40px;
}
.owl-carousel-nav.next{
background: url("../images/arrow-right@2x.png");
background-size: cover;
}
.owl-carousel-nav.prev{
background: url("../images/arrow-left@2x.png");
background-size: cover;
}

.owl-carousel.rounded-circle img{
width: 120px;
height: 120px;
}
.owl-carousel.rounded-circle .row{

}

.owl-carousel .top-right{
position: absolute;
top: 5px;
right: 5px;
z-index:9;
}

.owl-carousel .top-left{
position: absolute;
top: 13px;
left: 5px;
z-index:9;
}

.owl-carousel .other-promo-wrap .top-right{
top: -10px;
}

/*.owl-carousel .owl-item img{
border:1px solid red;
max-height:160px;
min-height:160px;
}*/

.section-addons .addons{
height:350px;
background:#f6f7f8;
position:relative;
}

.section-addons .addons .inner{
width: 200px;
position: absolute;
bottom: 20px;
left: 30px;
}

.section-addons .addons-1{
background: url("../images/addons-1.png") no-repeat #f6f7f8;
background-size: contain;
background-position: bottom right;
}
.section-addons .addons-2{
background: url("../images/addons-2.png") no-repeat #f6f7f8;
background-size: contain;
background-position: bottom right;
}
.section-addons .addons-3{
background: url("../images/addons-3.png") no-repeat #f6f7f8;
background-size: contain;
background-position: bottom right;
}

.section-addons h1{
font-weight: 300;
}


.section-benefits .benefits{
height:320px;
position:relative;
color:#fff;
border-radius: .45rem;
}
.section-benefits .d-flex
{
height:250px;
}

.section-benefits .inner,
.section-promo .inner
{
padding:30px !important;
}

.section-benefits .benefits-1{
background: url("../images/benefits-1.png") no-repeat #f6f7f8;
background-size: cover;
}
.section-benefits .benefits-2{
background: url("../images/benefits-2.png") no-repeat #f6f7f8;
background-size: cover;
}
.section-benefits .benefits-3{
background: url("../images/benefits-3.png") no-repeat #f6f7f8;
background-size: cover;
}

.section-benefits .benefits-4{
background: url("../images/benefits-4.png") no-repeat #f6f7f8;
background-size: cover;
}

.section-mobileapp{
padding-top:250px;
margin-top:-200px;
background:#f6f7f9;
}

.section-newmobileapp{  
padding-top: 30px !important;
margin-top: 0px !important;
}

.tree-columns-center{
padding-bottom:30px;
z-index:1;
}

.tree-columns-center .d-flex{
height:400px;
}

.tree-columns-center img.mobileapp{
max-height:400px;
}
.tree-columns-center img.rider{
max-height:300px;
}

img.mirror{
transform: scaleX(-1);
}

.list-items img,
.skeleton-height
{
display: block;
width: 100%;
height:170px;
}

.list-items .position-top,
.section-promo .inner
{
position: absolute;
width: 100%;
top: 0;
padding:10px;
}

.list-items a:hover,
.section-menu a:hover,
a.a_hover_normal:hover
{
color:inherit;
}

.lazy{
opacity: 0;
}

.image-loaded .lazy{
-webkit-transition: opacity 1s ease-out;
-moz-transition: opacity 1s ease-out;
-ms-transition: opacity 1s ease-out;
-o-transition: opacity 1s ease-out;
opacity: 1;
}

.skeleton-placeholder{
height:170px;
width:100%;
background:#eef0f5;
position: absolute;
top: 0;
left: 0;
z-index:1;
overflow:hidden;
}
.image-loaded .skeleton-placeholder{
display:none !important;
}

.title .skeleton-placeholder{
width: 250px;
height: 30px;
margin-left: 15px;
display:none;
}

.top-merchant-details{
background:#fedc79;
}

.merchant-details
{
min-height:170px;
}
.mobile-merchant-details
{
min-height: auto;
}

.mobile-merchant-details .sub{
position: absolute;
z-index: 9;
top: 0;
width: 100%;
height: 100%;
}

.badge.rounded-pill{
width: 28px;
height: 28px;
line-height: 28px;
padding: 0;
}
.badge.big.rounded-pill{
width: 45px;
height: 45px;
line-height: 45px;
font-size: 14px;
}

.badge.small.rounded-pill{
width: 15px;
height: 15px;
line-height: 15px;
font-size: 10px;
}

.badge.badge-yellow{
background:#fedc79;
}
.color-yellow{
color: #fedc79;
}

.menu-category a{
font-weight:400;
color:#a3a3a3;
padding:5px 0px 5px 0px;
display:block;
}

.text-grey{
color:#a3a3a3;
}
.light{
color:rgb(117, 117, 117);
}
.light strong{
color:rgb(0, 0, 0);
}

.badge-grey{
background:#a3a3a3;
color:#fff;
}

.menu-category li.active a,
.menu-category li a.active
{
color:#000;
font-weight:600;
/*border-right:2px solid #000;*/
}
.menu-category li.active a:after, 
.menu-category li a.active:after
{
  content: " ";
  position: absolute;
  border-left: 2px solid #000;  
  right: -1px;  
  height: 10px;
  margin-top: auto;
  margin-top:5px;
  margin-bottom: auto; 
}

.section-menu h5{
margin-bottom:20px;
}

.section-menu .menu-left{
border-right:1px solid #e5e5e5;
}
.list-item-rows,
.address-section
{
border:1px solid #e5e5e5;
padding:5px;
margin-bottom:15px;
}
.section-menu .list-item-rows{
border:none;
border-bottom:1px solid #f0ede8;
border-radius:0;
padding:0;
margin-bottom:0;
}
.section-menu .list-item-rows:last-child{
border-bottom:none;
}


.list-item-rows img {
display: block;
width: 100%;
height: 140px;
}
.list-item-rows .skeleton-placeholder{
height:140px;
width:100%;
}

.list-item-rows .fixed-height{
height:140px;
overflow:hidden;
}

.list-item-rows.small img,
.list-item-rows.small .skeleton-placeholder,
.list-item-rows.small .flex-column
{
height: 115px;
}

.list-item-rows.hover01 figure{
height:140px;
}

.gallery img {
display: block;
width: 100%;
height: 90px;
}
.gallery .skeleton-placeholder{
height:90px;
width:100%;
}

.gallery-more{
position: absolute;
left: 0;
width: 100%;
height: 100%;
background-color:rgba(0,0,0,0.7);
color:#fff;
font-size:1.625rem;
}

.gallery .remove{
position: absolute;
top: -10px;
left: -10px;
}


.skeleton-placeholder::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
  -webkit-animation: shimmer 2s infinite;
          animation: shimmer 2s infinite;
  content: "";
}
@-webkit-keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}
@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}

.quantity{
width:90px;
}

.quantity a.rounded-pill,
/*a.item-remove.rounded-pill,*/
.rounded-button-icon
{
width: 25px;
height: 25px;
display: block;
background:#b2b2b2;
color:#fff;
line-height:25px;
text-align:center;
padding:0;
}

.section-cart p{
}

.items img,
.items .skeleton-placeholder
{
display: block;
width: 50px;
height: 50px;
/*height: 45px;*/
}

.section-cart .items,
.divider
{
border-bottom:1px solid #e5e5e5;
padding-top:10px;
padding-bottom:5px;
}

.btn-group label {
background: #f6f7f9;
font-size:12px;;
}
.btn-group .btn.active{
background:#000;
color:#fff;
}
.btn-group.big .btn{
font-size:15px;
font-weight:500;
padding:12px;
}

.page-grey{
padding-top:20px;
padding-bottom:20px;
}

input.hidden
{
position: absolute;
clip: rect(0,0,0,0);
pointer-events: none;
}

.address-section.active{
border:1px solid #FF6B00;
background:#f6f7f9;
}

.address-section .dropdown-menu{
z-index:999;
}

.dropdown-menu.dropdown-actions a
{
font-size:12px;
}

.dropdown-toggle.no-arrow::after,
.dropleft .dropdown-toggle.no-arrow::before
{
border-top:0;
content:none;
}
.dropdown-toggle.no-arrow{
font-size:20px;
padding:0 10px;
}

.big-new-button{
background:#000;
border-radius: .45rem;
}

.big-new-button:after {
  content: " ";
  position: absolute;
  right: 40%;
  bottom: -8px;
  border-top: 15px solid black;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  border-bottom: none;
}

.receipt-section img{
max-width: 700px;
margin: auto;
display: block;
}

.full-page-sections{
min-height: 100vh;
min-height: 100dvh;
}

.full-page-sections .left-side{
background-image:url("../images/admin-login-banner@2x.png");
background-size: cover;
background-color: #94c6c3;
}

.login-container{
width: 350px;
}

.change_field_password{
position:relative;
}

.change_field_password a{
position: absolute;
right: 15px;
bottom: 10px;
display: block;
padding: 5px;
color:#000;
}

.custom-control-label{
font-size:12px;
line-height:23px;
}
.section-filter .custom-control-label{
line-height:normal;
}

.section-promo .d-flex{
height: 320px;
}

.other-promo-wrap{
background:#f3f7fa;
padding:20px 30px;
border-radius: .45rem;
}

.register-section{
min-height:420px;
background: url("../images/colors.png");
background-size: cover;
position:relative;
}
.register-bg{
min-height:420px;
background: url("../images/register.png") no-repeat center bottom;
background-size: contain;
}

.partner-section .col
{
height: 320px;
}
.partner-section .section img{
width: 100px;
height: 100px;
margin-bottom: 30px;
}
.partner-section .section
{
background:#fff;
padding:30px;
width:100%;
height: 310px;
}

#sidebar{
position:fixed;
top:0;
bottom: 0;
height: 100vh;
height: 100dvh;
overflow-y: auto;
z-index:3;
width: 260px;
background:#fff;
box-shadow:  3px 0px 5px 0px rgba(246,247,248,0.75);
left: 0;
top: 0;
padding:20px;
}

#top-nav{
/*position:fixed;
top:0;
z-index:2;
padding-left: 280px;
min-height: auto;
width:100%;*/
padding-top: 8px;
padding-bottom: 8px;
padding-right: 15px;
}

#main-container{
padding-left: 260px;
padding-top: 70px;
min-height: 100vh;
min-height: 100dvh;
width:100%;
}

.siderbar-menu a{
display:block;
padding:13px 20px;
text-indent: 20px;
}

.siderbar-menu .account a,
.with-icon-account
{
background: url("../images/account.png") no-repeat left center;
background-size: 22px;
}

.siderbar-menu .notifications a,
.with-icon-notifications
{
background: url("../images/notifications-icon.svg") no-repeat left center;
background-size: 20px;
}

.siderbar-menu .orders a,
.with-icon-orders
{
background: url("../images/orders-icon.png") no-repeat left center;
background-size: 20px;
}
.siderbar-menu .booking a,
.with-icon-booking
{
background: url("../images/booking-icon.png") no-repeat left center;
background-size: 22px;
}
.siderbar-menu .offers a,
.with-icon-vouchers
{
background: url("../images/offers-icon.png") no-repeat left center;
background-size: 20px;
}
.siderbar-menu .favourites a,
.with-icon-savedstore
{
background: url("../images/favorites-icon.png") no-repeat left center;
background-size: 20px;
}
.siderbar-menu .payments a,
.with-icon-payments
{
background: url("../images/payments-icon.png") no-repeat left center;
background-size: 20px;
}
.siderbar-menu .addresses a,
.with-icon-addresses
{
background: url("../images/location.png") no-repeat left center;
background-size: 17px;
}
.siderbar-menu .points a,
.with-icon-points
{
background: url("../images/points-icon.png") no-repeat left center;
background-size: 17px;
}

.siderbar-menu .logout a,
.with-icon-logout
{
  background: url("../images/log-out.png") no-repeat left center;
  background-size: 20px;
}

.siderbar-menu .gift a,
.with-icon-gift
{
background: url("../images/gift.png") no-repeat left center;
background-size: 20px;
}

.siderbar-menu .bookings a,
.with-icon-bookings
{
background: url("../images/reserved-table.png") no-repeat left center;
background-size: 20px;
}

.siderbar-menu .wallet a,
.with-icon-wallet
{
background: url("../images/wallet-2.png") no-repeat left center;
background-size: 20px;
}

.siderbar-menu .livechat a,
.with-icon-livechat
{
background: url("../images/live-chat2.png") no-repeat left center;
background-size: 20px;
}

.with-icon
{
text-indent: 30px;
}

.balance-height{
min-height:440px;
}

ul.sub-menu li a{
color: #000;
font-weight: 600;
font-size: 13px;
display: block;
padding:10px;
position: relative;
}

ul.sub-menu li i{
margin-right: 15px;
font-size: 18px;
}

ul.sub-menu li.active a {
background: #FF6B00;
color: #fff;
border-radius: .45rem;
}

ul.sub-menu li.active a:hover{
  color:#fff !important;
}


.filter-row h5{
position:relative;
}

.filter-row h5 a:after {
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
font: normal normal normal 14px/1 'Material-Design-Iconic-Font';
font-size: 1.625rem;
position: absolute;
right: 0px;
top: -3px;
}


.filter-row h5 a:after {
    content: '\f2fc';            
}

.filter-row h5 a.collapsed:after {    
    transform: rotate(180deg);
}


.filter-row h5 a.closed:after {    
    transform: rotate(180deg);
}

.filter-row h5 a:hover{
color:#000;
}

.cart-min-info,
.display-none
{
display:none;
}

/* IMAGE EFFECTS */

/* Zoom In #1 */
.hover01 figure{
overflow: hidden;
height: 170px;
width: 100%;
background: #fff;
}

.hover01 figure img.lazy {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.hover01 figure:hover img.lazy {
	-webkit-transform: scale(1.3);
	transform: scale(1.3);
}


/* Flashing */
.hover13 figure:hover img {
	opacity: 1;
	-webkit-animation: flash 1.5s;
	animation: flash 1.5s;
}
@-webkit-keyframes flash {
	0% {
		opacity: .4;
	}
	100% {
		opacity: 1;
	}
}
@keyframes flash {
	0% {
		opacity: .4;
	}
	100% {
		opacity: 1;
	}
}
/*END FLASHING*/


/* MAGNIFIC POPUP TRANSITIONS */
/* overlay at start */
.mfp-fade.mfp-bg {
  opacity: 0;

  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}
/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;

  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
/* END MAGNIFIC POPUP TRANSITIONS */

.category-nav{
background:#fff;
z-index:9 !important;
}

.category-nav .container{
padding-top:8px;
padding-bottom:8px;
}

.category-nav .container,
.sticky-wrapper.is-sticky .category-nav
{
border-bottom:1px solid #e5e5e5;
}

.sticky-wrapper.is-sticky .category-nav .container{
border-bottom:none;
}

.sticky-wrapper.is-sticky .category-nav{
padding:10px;
}

.section-menu a.highlight:hover,
a.chevron-section:hover
{
box-shadow: 0 2px 4px 0 rgba(15, 37, 148, 0.2);
}

.chevron-section.selected{
border-left:3px solid #FF6B00;
}

.sticky-wrapper.is-sticky .cart-min-info{
display:block;
}

/*.modal-body {
max-height: calc(100vh - 180px);
overflow-y: auto; 
}
*/

.modal-header img{
width:100%;
height:100%;
}

.quantity-add-cart-view .total-price{
position: absolute;
right: 10px;
}

.chevron-section{
padding:10px 20px;
font-size:14px;
border:1px solid #e5e5e5;
min-height:70px;
position:relative;
}

.chevron-section.medium{
min-height:50px;
}

i.icon-25{
font-size:25px;
}

.chevron-section .payment-logo-wrap{
width:40px;
}

a.chevron-section::after,
.chevron::after
{
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
font: normal normal normal 20px/1 'Material-Design-Iconic-Font';
font-size: 2rem;
position: absolute;
right: 20px;
}

.chevron:after{
right: -12px;
top: 3px;
font-size: 1rem;
}

.chevron.center:after{
  right: 10px;
  top: 30%;
  font-size: 1.5rem;
}

a.chevron-section:after,
.chevron:after
 {
    content: '\f2fb';            
}
a.chevron-section.no-arrow:after {
    content: '';            
}

.list-selection li{
padding:20px 0;
/*cursor: pointer;*/
}

.list-selection li:hover{
background:#f6f7f9;
}

.list-selection.no-hover li{
padding:10px 0;
}

.list-selection.no-hover li:hover{
background:none;
}

/* TYPEAHEAD */
.typeahead__result{
border:1px solid #e5e5e5;
position: absolute;
left: 0;
z-index: 99;
width: 100%;
min-width: 160px;
background-color: #fff;
}

.typeahead__container .typeahead__result{
display:none;
}

.typeahead__container.result .typeahead__result{
display:block;
}

.typeahead__list{
display:block;
margin:0;
}

.typeahead__list .typeahead__item > a {
display: block;
padding:15px 50px;
clear: both;
color: #333;
text-decoration: none;
background: url("../images/pinb.png") no-repeat 15px center;
background-size: 19px;
}
.typeahead__container.auto-suggestion .typeahead__list .typeahead__item > a {
background: none;
padding-left:15px;
}


.typeahead__list .typeahead__item:hover {
background:#F6F6F6;
}

.typeahead__cancel-button{
position: absolute;
right: 0;
cursor: pointer;
line-height: 2.5;
padding: .5rem .75rem;
visibility: hidden;
}


.typeahead__container.cancel .typeahead__cancel-button{
visibility: visible;
}
.typeahead__container .typeahead__cancel-button{
z-index:99;
right: 10px;
}
.typeahead__container.fixed_cancel .typeahead__cancel-button{
left:340px;
}

.typeahead__empty{
padding: 20px;
}

.typeahead__container.loading .pin_placeholder,
.circle-loader,
.loading .show-more,
.loading span.label,
#skeleton-loader,
.sidenav-loader
{
display:none;
}

.typeahead__container.loading .small_preloader,
.loading .circle-loader,
.title.loading .skeleton-placeholder,
#skeleton-loader.loading,
.sidenav-loader.loading
{
display:block;
}

.loading,
.btn.disabled
{
cursor: wait;
pointer-events: none;
}
.loading.btn,
.btn:disabled,
a[disabled="true"]
{
background:#b2b2b2;
}

.fixed-loader{
position: absolute;
width: 100%;
display:none;
left:0;
}
.loading .fixed-loader{
display:block;
}

.cover-loader{
position: absolute;
width: 100%;
height: 100%;
z-index: 9;
background-color: rgba(255,255,255,0.7);
top:0;
}

.dropdown a[disabled="true"]{
background: #f5f5f5 !important;
color: #737373;
}


button[disabled],
a[disabled="true"]
{
cursor: none;
pointer-events: none;
}

/* END TYPEAHEAD */

/*CSS LOADER*/
[data-loader='circle'].medium,
[data-loader='circle-side'].medium
{
    width: 40px;
    height: 40px;
}

[data-loader='circle']
{
    width: 20px;
    height: 20px;

    -webkit-animation: circle infinite .75s linear;
       -moz-animation: circle infinite .75s linear;
         -o-animation: circle infinite .75s linear;
            animation: circle infinite .75s linear;

    border: 2px solid #000;
    border-top-color: transparent;
    border-radius: 100%;
}
[data-loader='circle-side']
{
    position: relative;

    width: 25px;
    height: 25px;

    -webkit-animation: circle infinite .75s linear;
       -moz-animation: circle infinite .75s linear;
         -o-animation: circle infinite .75s linear;
            animation: circle infinite .75s linear;

    border: 2px solid #fff;
    border-top-color: rgba(0, 0, 0, .2);
    border-right-color: rgba(0, 0, 0, .2);
    border-bottom-color: rgba(0, 0, 0, .2);
    border-radius: 100%;
}

@-webkit-keyframes circle
{
    0%
    {
        -webkit-transform: rotate(0);
            -ms-transform: rotate(0);
             -o-transform: rotate(0);
                transform: rotate(0);
    }
    100%
    {
        -webkit-transform: rotate(360deg);
            -ms-transform: rotate(360deg);
             -o-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}
@-moz-keyframes circle
{
    0%
    {
        -webkit-transform: rotate(0);
            -ms-transform: rotate(0);
             -o-transform: rotate(0);
                transform: rotate(0);
    }
    100%
    {
        -webkit-transform: rotate(360deg);
            -ms-transform: rotate(360deg);
             -o-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}
@-o-keyframes circle
{
    0%
    {
        -webkit-transform: rotate(0);
            -ms-transform: rotate(0);
             -o-transform: rotate(0);
                transform: rotate(0);
    }
    100%
    {
        -webkit-transform: rotate(360deg);
            -ms-transform: rotate(360deg);
             -o-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}
@keyframes circle
{
    0%
    {
        -webkit-transform: rotate(0);
            -ms-transform: rotate(0);
             -o-transform: rotate(0);
                transform: rotate(0);
    }
    100%
    {
        -webkit-transform: rotate(360deg);
            -ms-transform: rotate(360deg);
             -o-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}
/*END CSS LOADER*/

.change-address-modal .modal-body{
max-height: inherit !important;
}
.modal-content.opened{
height:470px;
}

.change-address-modal .typeahead__container.clear-custom .typeahead__cancel-button{
right: 0;
left: auto;
}
/*.change-address-modal.modal{
top:70px;
}*/

.w-30{
width: 30% !important;
}
.w-45{
width: 45% !important;
}
.w-75{
  width: 75% !important;
  }

/** READ MORE */
.readmore {  
  line-height: 1.4;  
}

.readmore #collapse-content.collapse:not(.show) {
  display: block;
  height: 3rem;
  overflow: hidden;
}

.readmore #collapse-content.collapsing {
  height: 3rem;
}

.readmore a{
font: normal normal normal 14px/1 'Material-Design-Iconic-Font';
font-size:20px;
}

.readmore a.collapsed::after {
  content:'\f2f9';
}

.readmore a:not(.collapsed)::after {
  content: '\f2fc';
}
/** END READ MORE */

.addon-rows .heads{
background:#f6f7f9;
padding:8px;
}

.custom-control-label h6{
display: inherit;
min-width: 200px;
cursor: pointer;
}

[v-cloak] {
  display: none;
}
/*[v-cloak] > * { display:none; }*/

.addon-required{
background:rgb(254, 255, 88);
padding:4px;
font-weight:400;
}

.no-results{
background: url("../images/orders-icon.png") no-repeat;
background-size: cover;
width:36px;
height:40px;
}


.dropzone_container{
border: 2px dashed #ccc;
color: #ccc;
padding: 10px;
text-align: center;
margin-bottom: 20px;
cursor:pointer;
}

.dropzone_container i {
font-size: 50px;
color: #ccc;
}

.bg-lighter{
background:rgb(232, 232, 232) none repeat scroll 0% 0%;
color:rgb(130, 130, 130);
}

.social-login a{
border:1px solid #000;
padding:12px;
width:100%;
display:block;
border-radius: 15px;
}
.social-login .s-google{
background: url("../images/social-login-google.png") no-repeat 15px;
background-size:30px;
}
.social-login .s-facebook{
background: url("../images/social-login-facebook.png") no-repeat 15px;
background-size:32px;
}

.alert-success{
background-color:transparent;
border-color:#FF6B00;
}

.map-small{
height:130px;
width:100%;
}
.map-medium{
  height:200px;
  width:100%;
}
.map-large{
height:280px;
width:100%;
}
.map-lg-large{
  height:360px;
  width:100%;
}
.map-fullscreen{
width:100%;
height:100%;
}

.list-with-icon-button li{
padding-top:15px;
padding-bottom:15px;
cursor: pointer;
border-bottom:1px solid #e5e5e5;
}


/*PROGRESS*/
#progressbar {    
    /*overflow: hidden;*/
    color: #455A64;
    padding-left: 0px;    
    margin-left:-20px;      
}

#progressbar li {
    list-style-type: none;
    font-size: 13px;
    width: 25%;
    float: left;
    position: relative;
    font-weight: 400;
}

#progressbar.three-column li{
width: 33%;
}

#progressbar .step-order:before {
    font-family: Material-Design-Iconic-Font;
    content: "\f2ee";
    color: #fff
}

#progressbar .step-home:before {
    font-family: Material-Design-Iconic-Font;
    content: "\f175";
    color: #fff
}
#progressbar.three-column .step-home:before{
  content: '\f1c9';
}

#progressbar .step-merchant:before {
    font-family: Material-Design-Iconic-Font;
    content: "\f153";
    color: #fff
}
#progressbar .step-car:before {
    font-family: Material-Design-Iconic-Font;
    content: "\f125";
    color: #fff
}

#progressbar li:before {
    width: 20px;
    height: 20px;
    line-height: 21px;
    display: block;
    font-size: 14px;
    background: #b2b2b2;
    border-radius: 50%;
    margin: auto;
    padding: 0px;    
}

#progressbar li:after {
    content: '';
    width: 100%;
    height: 5px;
    background: #b2b2b2;
    position: absolute;
    left: 0;
    top: 8px;
    z-index: -2
}

#progressbar li:last-child:after {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    position: absolute;
    left: -50%
}

#progressbar li:nth-child(2):after,
#progressbar li:nth-child(3):after {
    left: -50%
}

#progressbar li:first-child:after {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    position: absolute;
    left: 50%
}

#progressbar li:last-child:after {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px
}

#progressbar li:first-child:after {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px
}

#progressbar li.active:before,
#progressbar li.active:after {
    background: #FF6B00
}

#progressbar li.progressing:before{
  animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(255, 107, 0, 0.7);
  }
  
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 10px rgba(255, 107, 0, 0);
  }
  
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(255, 107, 0, 0);
  }
}

#progressbar li.order_failed:before,
#progressbar li.order_failed:after {
background: rgba(255, 82, 82, 1);
box-shadow: 0 0 0 0 rgba(255, 82, 82, 1);
}

.progressing .progress-value{
background:#FF6B00;
width: 50%;
height: 5px;
animation:borealisBar 1s linear infinite;
position: absolute;
left: 50%;
top: 8px;
z-index: -1;
margin-left:50%;
}

@keyframes borealisBar {
   0% {
    left:0%;
    right:100%;
    width:0%;
  }
  10% {
    left:0%;
    right:75%;
    width:40%;
  }
  90% {
    right:0%;
    left:75%;
    width:40%;
  }
  100% {
    left:100%;
    right:0%;
    width:0%;
  }
}

/*END PROGRESS*/

/*
SIDEBAR 
*/

/*
.sidebar-panel{
transform: translate(-280px,0);
}
*/

.sidebar-panel{
transform: translate(360px,0);
}

.sidebar-panel{
position:fixed;
top:0;
bottom: 0;
height: 100vh;
height: 100dvh;
overflow-y: auto;
z-index:99;
width: 340px;
background:#fff;
/* box-shadow:  3px 0px 5px 0px rgba(246,247,248,0.75);
right: -360px;
*/
box-shadow:rgba(0, 0, 0, 0.2) 0px 8px 24px;
right: 0;
top: 0;
padding:20px;
padding-right:25px;
}

.ssm-overlay {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.2);
display: none;
z-index: 1;
}

.link{
cursor:pointer;
}

.close-panel i{
font-size:23px;
}
/*
END SIDEBAR 
*/


.order-details-panel{
transform: translate(360px,0);
}

.order-details-panel.open{
transform: translate(0px,0);
}

.order-details-panel{
position:fixed;
top:0;
bottom: 0;
height: 100vh;
height: 100dvh;
overflow-y: auto;
z-index:99;
width: 340px;
background:#fff;
box-shadow:rgba(0, 0, 0, 0.2) 0px 8px 24px;
right: 0;
top: 0;
padding:20px;
padding-right:25px;
}

form .errorMessage {
text-align: initial;
font-size: 12px;
color: #dc3545;
padding: 5px 0px 0px 0px;
}

.yellow-bg{
background:#f9e8b5;
}

.header_icon._icons{
width:65px;
height:65px;
background-size: cover;
}

.bag{
background: url("../images/shopping-bag.svg");
}
.location{
background: url("../images/location.svg");
}
.credit_card{
background: url("../images/credit-card.svg");
}
.favourite{
background: url("../images/favourite-heart.svg");
}
.points{
  background: url("../images/gift@2x.png");
}
.digital-wallet{
  background: url("../images/wallet-1.png") no-repeat;
}

.header_icon .rounded-button-icon{
background:#fff;
width: 30px;
height: 30px;
line-height: 30px;
margin-top: 20px;
}
.header_icon .rounded-button-icon i{
color:#000;
font-size: 30px;
}

/* HEADROOM */
.headroom.headroom--pinned{
background:#fff;
padding-bottom: 10px;
border-bottom:1px solid #e5e5e5;
}
.headroom.headroom--top{
background:none;
border-bottom:0px;
}

.headroom {
    will-change: transform;
    transition: transform 200ms linear;
}
.headroom--pinned {
    transform: translateY(0%);
}
.headroom--unpinned {
    transform: translateY(-100%);
}
/* END HEADROOM */

.card.fixed-height{
height:155px;
}

.truncate-overflow {
  --max-lines: 3;
  position: relative;
  max-height: calc(var(--lh) * var(--max-lines));
  overflow: hidden;
  padding-right: 1rem; /* space for ellipsis */
}
.truncate-overflow::before {
  position: absolute;
  content: "...";
  inset-block-end: 0; /* "bottom" */
  inset-inline-end: 0; /* "right" */
}
.truncate-overflow::after {
  content: "";
  position: absolute;
  inset-inline-end: 0; /* "right" */
  width: 1rem;
  height: 1rem;
  background: white;
}

.overlay-loader{
position: absolute;
z-index: 9;
width: 100%;
height: 100%;
}

.card-listing a[disabled="true"] {
  color:#E2E6E9;
  background:none;
}


/* VUE TRANSITION CSS */
.slide-fade-enter-active {
  transition: all .3s ease-out;
}

.slide-fade-leave-active {
  transition: all .4s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}

.slide-fade-enter-from,
.slide-fade-leave-to {
  transform: translateX(20px);
  opacity: 0;
}
/* END VUE TRANSITION CSS */

.layer-grey{
position: absolute;
width: 100%;
height: 100%;
top: 0;
background-color: rgb(247, 247, 247);
opacity: 0.5;
z-index:9;
}

.layer-black{
position: absolute;
width: 100%;
height: 100%;
top: 0;
background-color: rgb(0, 0, 0);
opacity: 0.2;
z-index:9;
}
.layer-content{
position: absolute;
width: 100%;
height: 100%;
top: 0;
z-index:10;
}

.make-grey,
.make-grey span
{
color:rgb(178, 178, 178);
}
.make-grey h5{
color:rgb(118, 118, 118);
}
.make-grey h6{
color:rgb(0, 131, 138);
}


.widget-dropdown a{
display:block;
font-size:14px;
padding:8px 20px;
font-weight:600;
}

.widget-dropdown a:hover{
background:#DBDBDB;
color:#000;
}

.widget-dropdown button{
background:#eee;
border:none;
font-weight:600;
padding:8px 20px;
padding-right:40px;
border-radius:20px;
font-size:13px;
}

.widget-dropdown button span.text-truncate{
max-width: 100px;
}

.widget-dropdown button:focus,
.inputs-box-grey:focus
{
outline: none;
}
.widget-dropdown button:after{
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
font: normal normal normal 14px/1 'Material-Design-Iconic-Font';
font-size: 1.625rem;
position: absolute;
right: 12px;
top: 4px;
content: '\f2f9';
}
.widget-dropdown button.no-icons:after{
content: '';
}
.widget-dropdown button.no-icons{
padding-right:20px;
}

.widget-dropdown .dropdown-menu{
background:#eee;
padding:0;
border-radius:15px;
overflow:hidden;
border:none;
}


.inputs-box-grey{
background:#F6F6F6;
border:none;
padding:8px 20px;
padding-left:35px;
box-shadow:inset 0px -1px 0px #e2e2e2;
width:250px;
}
.inputs-box-grey:focus{
box-shadow:inset 0px -1px 0px #000;
}
.inputs-box-wrap .results{
position: absolute;
width:100%;
background:#fff;
z-index:99;
}

.inputs-box-grey.rounded{
  border-radius:20px !important;
  box-shadow:none !important;
}


.inputs-box-wrap .results a{
display: block;
padding:15px;
clear: both;
color: #333;
text-decoration: none;
}
.inputs-box-wrap .results a:hover
{
background-color:#F6F6F6;
}
.inputs-box-wrap .results.with-border a{
border-bottom:1px solid #e5e5e5;
}
.inputs-box-wrap .results.with-border{
border:1px solid #e5e5e5;
}

.btn-group.btn-group-rounded .btn{
border-radius:50px !important;
padding-left: 30px;
padding-right: 30px;
padding-top: 2px;
padding-bottom: 2px;
}
.btn-group.btn-group-rounded{
background:#f6f7f9;
border-radius:50px !important;
min-height: 45px;
}

.inputs-with-dropdown{
background: #f6f7f9;
min-height: 55px;
border-radius: .45rem;
padding-left: 15px !important;
}
.inputs-with-dropdown input{
border:none;
background: #f6f7f9;
min-height: 55px;
width: 100%;
}
.inputs-with-dropdown input:focus,
.inputs-with-dropdown button:focus
{
outline:none;
}
.inputs-with-dropdown button{
background:none;
background: none;
border: none;
min-height: 55px;
}
.inputs-with-dropdown .dropdown-menu a{
font-size:14px;
padding: 9px;
}
.inputs-with-dropdown img{
width: 28px;
height: 20px;
}
.inputs-with-dropdown .dropdown-menu {
max-height: 217px;
overflow-y: auto;
overflow-x: hidden;
}

.border-vertical-green{
border-left:10px solid #FF6B00 !important;
}

.payments .card-body{
padding:0;
}

.update-photo .d-flex{
position: absolute;
top: 0;
z-index:9;
}

.update-photo .layer-black,
.update-photo a.handle
{
display:none !important;
}

.update-photo:hover .layer-black,
.update-photo:hover a.handle
{
display:block !important;
}

.crop-images-wrap{
height: 250px;
}

.back-arrow{
display:block;
padding-left:30px;
}
.back-arrow:after{
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
font: normal normal normal 20px/1 'Material-Design-Iconic-Font';
font-size: 20px;
position: absolute;
left:20px;
content: '\f2ea';  
}

.modal-loadingbox{
max-width: 200px;
margin: auto;
}

#item-suggestion-list .text-truncate{
max-width:100px;
}


/* NOTIFICATION CSS */
.notification-dropdown .dropdown-menu{
width: 350px;
height: 320px;
overflow:none;
padding:0;
}

.notification-dropdown .text-heading{
word-wrap: break-word;
max-width: 250px;
}

.notification-dropdown .btn{
padding:0;
}
.notification-dropdown .btn:focus{
outline:0;
 -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

.notification-dropdown a{
font-weight:400 !important;
text-indent: 0 !important;
}

.notification-dropdown a.active,
.notification-dropdown ul li a:hover
{
background:#f1f5f7;
}

.dropdown-header,
.footer-dropdown
{
padding:15px 20px;
}

.notification-dropdown ul{
height: 210px;
overflow: auto;
}
.notification-dropdown ul.normal{
height: auto;
}

.notification-dropdown ul li{
border-bottom: 1px solid #f4f4f4;
}

.notification-dropdown ul li a{
padding:15px 20px;
display:block;
}
.dropdown-text-light{
font-weight:200;
}

.footer-dropdown a{
color: #3bafda !important;
}
.badge-green{
background-color:#21B7B7;
color:#fff;
}
.notification-dropdown .badge-25{
width: 25px;
height: 25px;
line-height: 25px;
text-align: center;
padding: 0;
}

.notify-icon{
height: 36px;
width: 36px;
line-height: 38px;
text-align: center;
}
.bg-soft-primary{
background:rgba(59,175,218,.25) !important;
}
.bg-soft-primary i{
color:#3bafda !important;
font-size: 19px;
}

.notification-dropdown .count{
position: absolute !important;
right:-6px;
}

.none-notification{
padding:30px 0;
}

.image-notification{
background:url("../images/notification.png");
background-size: cover;
width:80px;
height:80px;
}

/* END NOTIFICATION CSS */

.lozad.loaded{
background-size: cover !important;
}

.fixed-height15{
height:calc(15vh);
overflow-y: auto;
}

.cuisine_carousel a{
  padding:10px;
  padding-top: 2px;
  padding-bottom: 2px;
  font-size: 13px;
}
.cuisine_carousel a.active{
  background: #000 !important;
  color: #fff;
}

.btn-text{
  background: none;
  border: none;
  padding: 0; 
  margin: 0;
  font-weight: 600;
}
.btn-text span{  
  max-width: 200px;
  display:inline-block;
}
.btn-text.dropdown-toggle::after{
  /* vertical-align: .555em; */
  vertical-align: 0.2rem; 
}
.btn-search{
  width: 28px;
  height: 28px;
  padding: 0;  
}
.btn-search i{
  font-weight: bold;
}


.inputs-box-wrap .filter_wrap{
  position: absolute;
  top: 0%;
  right: 0px;  
  padding: 7px 20px;  
}

.inputs-box-wrap .separator{
  position: absolute;
  top: 10%;
  right: 50px;
  background: #E2E2E2;
  width: 1px; 
  height: 30px;
}

.modal-full {
  min-width: 100%;
  margin: 0;
}

.modal-full .modal-content {
  min-height: 100vh;
  min-height: 100dvh;
  border:none;
  border-radius:0%;
}
.modal-full .modal-body{
  padding: 10px;
}
.modal-content.modal-mobile{
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  border: none;
  border-radius: 16px 16px 0 0;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.12);
}
.modal-content.modal-mobile .modal-header{
  padding: 16px 20px 8px;
}
.modal-content.modal-mobile .modal-body{
  padding: 8px 20px 16px;
}
.modal-content.modal-mobile .modal-body a.chevron-section{
  background: #f7f7f7;
  border: none;
  border-radius: 12px;
  padding: 14px 16px;
  transition: background 0.15s ease;
}
.modal-content.modal-mobile .modal-body a.chevron-section:hover,
.modal-content.modal-mobile .modal-body a.chevron-section:active{
  background: #efefef;
  box-shadow: none;
}
.modal-content.modal-mobile .modal-body a.chevron-section .bold{
  font-size: 14px;
}
.modal-content.modal-mobile .modal-footer{
  padding: 8px 20px 16px;
  border-top: none;
}

.suggestion-tab li{  
  padding: 12px 16px !important;
  border-bottom: 5px solid rgb(246, 246, 246);
  font-weight: bold;
  cursor: pointer;
}

.suggestion-tab li.active
{
  border-bottom: 5px solid rgb(0, 0, 0);
}

.widget-search{
 display: none;
}
.action-menu  .widget-search{
display: block;
}

/* Hide top search section on mobile (search is in subnav) */
@media (max-width: 991px){
  .change-address-wrap{
    display: none;
  }
}

/* ===== RESTAURANTS PAGE FILTER TOGGLE ===== */
.restaurants-filter-toggle{
  display: flex;
  justify-content: flex-end;
  padding: 6px 0;
  border-bottom: 1px solid #f0f0f0;
}
.restaurants-filter-btn{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 20px;
  background: #f5f5f5;
  color: #333;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s ease;
}
.restaurants-filter-btn:hover,
.restaurants-filter-btn:active{
  background: #eee;
  color: #111;
  text-decoration: none;
}
.restaurants-filter-btn[aria-expanded="true"]{
  background: #111;
  color: #fff;
}
.restaurants-filter-btn[aria-expanded="true"]:hover{
  background: #222;
  color: #fff;
}
.restaurants-filter-icon{
  width: 13px;
  height: 13px;
  opacity: 0.7;
}
.restaurants-filter-btn[aria-expanded="true"] .restaurants-filter-icon{
  filter: invert(1);
  opacity: 0.9;
}

/* ===== RESTAURANTS PAGE SUBNAV (Mobile) ===== */
.restaurants-page-subnav{
  margin: 0;
  padding: 0;
}
.restaurants-subnav-row{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  background: #fff;
  padding: 8px 14px;
  border-bottom: 1px solid #f0f0f0;
}
.restaurants-subnav-address{
  flex: 1;
  min-width: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.restaurants-subnav-address .position-relative{
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.restaurants-subnav-address .position-relative > p{
  order: 2;
  margin: 0;
  font-size: 10px;
  font-weight: 400;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.restaurants-subnav-address .position-relative > p .text-capitalize{
  font-weight: 400;
}
.restaurants-subnav-address .dropdown{
  order: 1;
}
.restaurants-subnav-address .btn-text.dropdown-toggle{
  background: none;
  border: none;
  padding: 0;
  font-size: 12px;
  font-weight: 600;
  color: #111;
  display: flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
}
.restaurants-subnav-address .btn-text.dropdown-toggle::after{
  display: none;
}
.restaurants-subnav-address .btn-text.dropdown-toggle span.text-truncate{
  max-width: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.restaurants-subnav-actions{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.restaurants-subnav-services .widget-dropdown{
  margin-right: 0 !important;
}
.restaurants-subnav-services .widget-dropdown button{
  background: #f5f5f5;
  border: none;
  font-weight: 600;
  padding: 6px 14px;
  padding-right: 30px;
  border-radius: 20px;
  font-size: 11px;
  color: #333;
}
.restaurants-subnav-services .widget-dropdown button:after{
  font-size: 1.2rem;
  right: 8px;
  top: 3px;
}
.restaurants-subnav-services .widget-dropdown .dropdown-menu{
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  padding: 4px 0;
  min-width: 140px;
}
.restaurants-subnav-services .widget-dropdown .dropdown-menu a{
  font-size: 12px;
  padding: 8px 16px;
  font-weight: 500;
  color: #333;
}
.restaurants-subnav-services .widget-dropdown .dropdown-menu a:hover{
  background: #f7f7f7;
  color: #111;
}
.restaurants-subnav-search{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #f5f5f5;
  color: #555;
  font-size: 15px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s ease;
}
.restaurants-subnav-search:hover,
.restaurants-subnav-search:active{
  background: #eee;
  color: #111;
}

/* Address bar with no-icons button (restaurants page) */
.restaurants-subnav-address .widget-dropdown button.no-icons{
  background: none;
  border: none;
  padding: 0;
  font-size: 12px;
  font-weight: 600;
  color: #111;
  border-radius: 0;
}
.restaurants-subnav-address .widget-dropdown button.no-icons:after{
  content: '';
}
.restaurants-subnav-address .widget-dropdown button.no-icons span.d-inline.text-truncate{
  max-width: none;
  font-size: 12px;
  font-weight: 600;
  color: #111;
}
.restaurants-subnav-address .widget-dropdown button.no-icons span.d-inline:last-child{
  display: block !important;
  font-size: 10px;
  font-weight: 400;
  color: #999;
  margin-top: 1px;
}

/* ===== COMPACT ADDRESS BAR (Menu Page Mobile) ===== */
.compact-hidden-source{
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  clip: rect(0,0,0,0);
}
.menu-page-subnav{
  padding: 0;
}
.compact-address-bar{
  align-items: center;
  gap: 8px;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  padding: 8px 14px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.compact-address-bar:active{
  background: #fafafa;
}
.compact-bar-pin{
  font-size: 14px;
  color: #222;
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 1px;
}
.compact-bar-info{
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
  gap: 1px;
}
.compact-bar-address{
  font-size: 12px;
  font-weight: 600;
  color: #111;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.compact-bar-time{
  font-size: 10px;
  font-weight: 400;
  color: #999;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.compact-bar-time i{
  font-size: 10px;
}
.compact-bar-time-schedule{
  color: #e65100;
  font-weight: 500;
  font-size: 10px;
}
.compact-bar-chevron{
  font-size: 14px;
  color: #bbb;
  flex-shrink: 0;
}

/* Mobile bottom-sheet style for ALL popups on menu + restaurants pages */
@media (max-width: 991px){

  /* --- Bootstrap modals (delivery details, time picker) --- */
  body.action-menu .modal .modal-dialog,
  body.action-restaurants .modal .modal-dialog{
    margin: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    transform: none !important;
  }
  body.action-menu .modal .modal-content,
  body.action-restaurants .modal .modal-content{
    border: none;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.12);
  }
  body.action-menu .modal .modal-header,
  body.action-restaurants .modal .modal-header{
    padding: 16px 20px 8px;
    border-bottom: none;
  }
  body.action-menu .modal .modal-body,
  body.action-restaurants .modal .modal-body{
    padding: 8px 20px 16px;
  }
  body.action-menu .modal .modal-body a.chevron-section,
  body.action-restaurants .modal .modal-body a.chevron-section{
    background: #f7f7f7;
    border: none;
    border-radius: 12px;
    padding: 14px 16px;
  }
  body.action-menu .modal .modal-body a.chevron-section:active,
  body.action-restaurants .modal .modal-body a.chevron-section:active{
    background: #efefef;
  }
  body.action-menu .modal .modal-footer,
  body.action-restaurants .modal .modal-footer{
    padding: 8px 20px 20px;
    border-top: none;
  }

  /* Time picker specific */
  body.action-menu #ModalTRNOptions .modal-body,
  body.action-restaurants #ModalTRNOptions .modal-body{
    padding: 12px 20px 8px;
  }
  body.action-menu #ModalTRNOptions .modal-body h4,
  body.action-restaurants #ModalTRNOptions .modal-body h4{
    font-size: 18px;
    font-weight: 700;
  }
  body.action-menu #ModalTRNOptions .modal-body .btn-group,
  body.action-restaurants #ModalTRNOptions .modal-body .btn-group{
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
  }
  body.action-menu #ModalTRNOptions .modal-body .btn-group .btn,
  body.action-restaurants #ModalTRNOptions .modal-body .btn-group .btn{
    flex: 1;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 0;
  }
  body.action-menu #ModalTRNOptions .modal-body .custom-select,
  body.action-restaurants #ModalTRNOptions .modal-body .custom-select{
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 14px;
    border: 1px solid #e5e5e5;
  }
  body.action-menu #ModalTRNOptions .modal-footer .btn,
  body.action-restaurants #ModalTRNOptions .modal-footer .btn{
    border-radius: 12px;
    padding: 12px;
    font-size: 15px;
    font-weight: 600;
  }

  /* Close button consistent style */
  body.action-menu .modal .btn-circle.rounded-pill,
  body.action-restaurants .modal .btn-circle.rounded-pill{
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 10;
  }

  /* --- Element Plus dialogs (change address) --- */
  body.action-menu .el-overlay .el-dialog,
  body.action-restaurants .el-overlay .el-dialog{
    margin: 0 !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.12);
  }
  body.action-menu .el-overlay .el-dialog__header,
  body.action-restaurants .el-overlay .el-dialog__header{
    padding: 16px 20px 10px;
  }
  body.action-menu .el-overlay .el-dialog__body,
  body.action-restaurants .el-overlay .el-dialog__body{
    padding: 10px 20px 20px;
  }
  body.action-menu .el-overlay .el-dialog__body .el-autocomplete,
  body.action-restaurants .el-overlay .el-dialog__body .el-autocomplete{
    border-radius: 12px;
  }
  body.action-menu .el-overlay .el-dialog__body .el-input__wrapper,
  body.action-restaurants .el-overlay .el-dialog__body .el-input__wrapper{
    border-radius: 12px;
    padding: 8px 12px;
  }
  body.action-menu .el-overlay .el-dialog__body .list-with-icon-button li,
  body.action-restaurants .el-overlay .el-dialog__body .list-with-icon-button li{
    padding: 10px 0;
    border-bottom: 1px solid #f5f5f5;
  }
}
/* ===== END COMPACT ADDRESS BAR ===== */

.category-carousel{
  background:#fff;
  border-bottom: 1px solid #e5e5e5;
  padding: 4px 0;
}

.category-carousel a.btn{
  padding: 0;
  line-height: 1;
  padding-left: 9px;
  padding-right: 8px;
  font-size:20px;  
}
.category-carousel .nav-link{
  padding: 4px 0;
  height: 38px;
  font-size: 14px;
  font-weight: 500;
  color: #757575;
}
.category-carousel .nav-link.active{
  color: #000 !important;
  font-weight: 700;
}
.category-carousel .nav-link.active:after{
  content: '';
  border-bottom: 3px solid #e67e22;
  width: 85%;
  display: block;
  position: absolute;  
  bottom: 0;
}

.list-group.list-group-modified .list-group-item{
border: none;
padding: 5px;
font-weight: 500;
color: rgb(118, 118, 118);
font-size: 13px;;
}
.el-drawer__header span{
  font-weight: bold;
  color: rgb(118, 118, 118);
}

/* ===== FLOATING CART BUTTON - MODERN DESIGN ===== */
.floating-cart button{
  border-radius: 16px !important;
  background: linear-gradient(135deg, #FF6B00 0%, #E05E00 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(255, 107, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  padding: 12px 16px;
  min-height: 56px;
  border: none;
}
.floating-cart button:hover{
  background: linear-gradient(135deg, #E05E00 0%, #C95000 100%) !important;
  box-shadow: 0 6px 16px rgba(255, 107, 0, 0.4), 0 3px 6px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}
.floating-cart button:active{
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(255, 107, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.1);
}
.floating-cart p{
  font-size: 11px !important;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
  text-transform: uppercase;
  margin: 0;
  line-height: 1.2;
}
.floating-cart h5{
  font-size: 14px;
  letter-spacing: 0.3px;
  color: #fff;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.floating-cart count{
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
  font-size: 16px;
  color: #fff;
  background: rgba(255, 255, 255, 0.25);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
  border: 2px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.floating-cart count:empty{
  display: none;
}

/* Floating cart button content layout */
.floating-cart-btn{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
}
.floating-cart-content{
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}
.floating-cart-icon{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  flex-shrink: 0;
}
.floating-cart-icon i{
  font-size: 20px;
  color: #fff;
}
.floating-cart-text{
  flex: 1;
  min-width: 0;
}
.floating-cart-text p{
  margin-bottom: 2px;
  white-space: nowrap;
}
.floating-cart-text h5{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
}

/* Mobile adjustments */
@media (max-width: 480px){
  .floating-cart-text h5{
    max-width: 140px;
    font-size: 13px;
  }
  .floating-cart-icon{
    width: 32px;
    height: 32px;
  }
  .floating-cart-icon i{
    font-size: 18px;
  }
  .floating-cart button{
    padding: 10px 12px;
    min-height: 52px;
  }
}
/* ===== END FLOATING CART BUTTON ===== */

.top-menu .drawer-menu li{
  margin-bottom: 5px;  
}

.top-menu .drawer-menu ul li a{
  display: block;
  padding: 5px 5px 5px 0px;   
}

.top-menu .drawer-menu ul.with-icons li a{
  text-indent: 30px;
}

.drawer-menu #el-drawer__title{  
  margin: 0;
  padding: 10px;
  padding-left: 15px;
  display: block;
}

#languageSelectionList{
  padding:0;
}

.language-bar .dropdown-menu a{
  text-indent: 0 !important;
  font-weight: normal;
}

.dropdown-item.active, .dropdown-item:active {
  background-color: #f8f9fa !important;
  color: #000;
}

.dropdown-toggle::after {  
   font: normal normal normal 20px/1 'Material-Design-Iconic-Font';
   content: '\f2f9'; 
   border: none;   
   font-weight: 900;
   margin-left: 0.3rem;
   vertical-align: -0.2rem;   
}

.el-drawer__header{
  margin-bottom:0px !important;
}

.fullwidth-child iframe{
  margin: auto !important;
}
.fullwidth-child.fb-login-button{
  display: table !important;
  margin: auto !important;
}

.marker_icon_merchant,
.marker_icon_destination,
.marker_icon_rider
 {
  background-image:url("../images/restaurant-icon.svg");
  background-size: cover;
  width: 45px;
  height: 45px;
  /* border-radius: 50%; */
  cursor: pointer;  
}
.marker_icon_destination{
  background-image:url("../images/home-icon.svg");  
}
.marker_icon_rider{
  background-image:url("../images/rider-icon.svg");  
  width: 30px;
  height: 30px;
}

.checkmark__circle{stroke-dasharray: 166;stroke-dashoffset: 166;stroke-width: 2;stroke-miterlimit: 10;stroke: #7ac142;fill: none;animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards}.checkmark{width: 56px;height: 56px;border-radius: 50%;display: block;stroke-width: 2;stroke: #fff;stroke-miterlimit: 10;margin: 2% auto;box-shadow: inset 0px 0px 0px #7ac142;animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both}.checkmark__check{transform-origin: 50% 50%;stroke-dasharray: 48;stroke-dashoffset: 48;animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards}@keyframes stroke{100%{stroke-dashoffset: 0}}@keyframes scale{0%, 100%{transform: none}50%{transform: scale3d(1.1, 1.1, 1)}}@keyframes fill{100%{box-shadow: inset 0px 0px 0px 30px #7ac142}}

#vue-my-order span.badge{
  text-transform: capitalize;
}

.button-fixed-buttom{
  bottom: 0;
  right: 0;
  z-index: 999;   
}
.button-fixed-buttom a.btn{
  padding: .375rem .75rem;
}

.el-radio__label{
  white-space:normal !important;
}

.el-radio.el-radio--large{
  height:auto !important;
}

.width_87{
  width:87% !important;
}

.map-buttons-wrap{
  bottom: 20px;  
  z-index: 99;
  width: 50px !important;
  right: 2px;
}


.category-owlcarousel .nav-link.active:after{
  content: '';
  border-bottom: 3px solid #000;
  width: 85%;
  display: block;
  position: absolute;  
  bottom: 0;
}

.el-dialog.modal-allergens{
  border-radius: 5px !important;
}

.el-dialog.modal-allergens .el-dialog__title{
  font-weight: bold;
}

.el-dialog.modal-allergens ul{
  padding-left: inherit;
}
.el-dialog.modal-allergens ul li{
  font-size: 13px;
}


.search-banner
{
height:230px;
background: url("../images/search@2x.png") center center;
background-size: cover;
position:relative;
border-bottom:1px solid #e5e5e5;
}
.search-banner .sub-header{
  height:230px;
}

.text-truncate-lines {
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.text-truncate-lines-2 {
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


.btn-green-circle,
.btn-green-circle:hover
{
background:#409eff;
color:#fff !important;
border-radius: 50%;
height: 35px;
width: 35px;
box-shadow:none;
padding: 0;
}

.owl-carousel .prev-slide{  
  right: 0;
}
.owl-carousel .next-slide{  
  left: 0;
}
.owl-carousel .prev-slide,
.owl-carousel .next-slide
 {  
  position: absolute;
  top: 28%;  
}


/* RTL */
html[dir="rtl"] .change_field_password a{  
  left: 15px;
  right: auto;
}
html[dir="rtl"] .map-buttons-wrap{  
  right: auto;
  left: 10px;
}
html[dir="rtl"] .filter-row h5 a::after,
html[dir="rtl"] .el-dialog__headerbtn
{
  right: auto;
  left: 0;
}

html[dir="rtl"] ul.top-menu .dropdown-menu a{
  background-position: 155px center;
}

html[dir="rtl"] #sidebar
{
  left:auto;
  right: 0;
}

html[dir="rtl"] .column2-layout #main-container{  
  padding-left: 0;
  padding-right: 260px;
}

html[dir="rtl"] ul.sub-menu li i{
  margin-right: 0;  
  margin-left: 10px;
}

html[dir="rtl"] .siderbar-menu a,
html[dir="rtl"] h6.with-icon
{
  background-position: right center;
}

html[dir="rtl"] a.chevron-section::after, 
html[dir="rtl"] .chevron::after
{
  right: auto;
  left: 20px;
}

html[dir="rtl"] .el-drawer .chevron::after{
  left: -20px;
}

html[dir="rtl"] a.chevron-section:after,
html[dir="rtl"] .chevron:after
 {
    content: '\f2fa';            
}

html[dir="rtl"] .search-geocomplete input{
  text-indent:30px;
}


/* END RTL */

/* .merchant-top-header .left-info{
  background:#fedc79;
} */

.merchant-top-header ul li{
  display: inline;
  font-size: 12px;
}

.info-items-dot-separator{
  background-color: #767676;
  border-radius: 50%;
  height: 2px;
  margin-left: 8px;
  margin-right: 8px;
  width: 2px;
  display: inline-block;
  vertical-align: middle;
}

.merchant-top-header .fav-wrap{
  position: absolute;
  top: 10px;
  right: 20px;
}

/* MERCHANT BANNER HEADER */
.merchant-banner-wrap{
  width: 100%;
  overflow: visible;
}
.merchant-banner-img{
  width: 100%;
  height: 240px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 12px;
  position: relative;
}
.merchant-banner-img::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(to top, rgba(0,0,0,0.12) 0%, transparent 100%);
  border-radius: 0 0 12px 12px;
  pointer-events: none;
}
.merchant-banner-img-mobile{
  height: 160px;
}
.merchant-banner-placeholder{
  background-color: #e0e0e0;
}
.merchant-name-logo{
  width: 56px;
  height: 56px;
  min-width: 56px;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
}
.merchant-name-logo img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.merchant-info-list{
  list-style: none;
}
.merchant-info-list li{
  display: inline;
  font-size: 13px;
  color: #555;
}
.merchant-info-list li a{
  color: #555;
}
.merchant-info-list li a:hover{
  color: #333;
}

/* CART SERVICE TABS (Delivery/Pickup) */
.cart-service-tabs{
  margin-bottom: 12px;
}
.cart-service-tabs .btn-group-rounded{
  background: #f0ebe4;
  border-radius: 50px;
  padding: 4px;
  width: 100%;
  display: flex;
}
.cart-service-tabs .btn-group-rounded .btn{
  flex: 1;
  border-radius: 50px;
  border: none;
  background: transparent;
  color: #666;
  font-size: 13px;
  padding: 8px 12px;
  transition: all 0.2s ease;
  text-align: center;
  justify-content: center;
}
.cart-service-tabs .btn-group-rounded .btn.active{
  background: #fff;
  color: #333;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
.cart-service-tabs .btn-group-rounded .btn .bold{
  font-weight: 600;
  font-size: 13px;
}
.cart-service-tabs .btn-group-rounded .btn p{
  font-size: 11px;
  color: #999;
}
.cart-service-tabs .btn-group-rounded .btn.active p{
  color: #666;
}

/* PRICE FROM LABEL */
.price-from-label{
  font-weight: 400;
  color: #999;
  font-size: 0.85em;
}
.prices strong{
  font-weight: 700;
}

/* SERVICE TAB ICONS */
.service-tab-label{
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.service-tab-icon{
  font-size: 12px;
  opacity: 0.5;
  transition: opacity 0.2s;
}
.cart-service-tabs .btn-group-rounded .btn.active .service-tab-icon{
  opacity: 0.85;
  color: #1a1a1a;
}

/* HEADER SERVICE TABS (in nav bar) */
.header-service-tabs{
  flex-shrink: 0;
}
.header-service-tabs .btn-group-rounded{
  background: #eae4dc;
  border-radius: 24px;
  padding: 4px;
  display: flex;
  height: 40px;
  align-items: stretch;
  gap: 2px;
}
.header-service-tabs .btn-group-rounded .btn{
  border-radius: 20px;
  border: none;
  background: transparent;
  color: #888;
  font-size: 12px;
  padding: 0 20px;
  transition: all 0.2s ease;
  text-align: center;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  line-height: 1;
}
.header-service-tabs .btn-group-rounded .btn.active{
  background: #fff;
  color: #333;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.header-service-tabs .btn-group-rounded .btn .bold{
  font-weight: 600;
  font-size: 12px;
}
.header-service-tabs .btn-group-rounded .btn .service-tab-icon{
  font-size: 11px;
}
.header-service-tabs .btn-group-rounded .btn .service-tab-label{
  gap: 7px;
}
.header-service-tabs .btn-group-rounded .btn.active .service-tab-icon{
  opacity: 0.85;
  color: #1a1a1a;
}

/* HEADER ADDRESS/TIME BUTTON (next to service tabs) */
.header-addr-btn{
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #eae4dc;
  border-radius: 24px;
  height: 40px;
  padding: 0 20px;
  cursor: pointer;
  min-width: 0;
  transition: background 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}
.header-addr-btn:hover{
  background: #e0d9d0;
}
.header-addr-btn__address{
  font-size: 12px;
  font-weight: 600;
  color: #333;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.header-addr-btn__address i{
  font-size: 10px;
  opacity: 0.5;
  flex-shrink: 0;
}
.header-addr-btn__time{
  font-size: 10px;
  font-weight: 400;
  color: #999;
  line-height: 1;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}
.header-addr-btn__time i{
  font-size: 8px;
  opacity: 0.4;
  flex-shrink: 0;
}

/* MOBILE SERVICE TABS (in merchant header) */
.mobile-service-tabs .btn-group-rounded{
  background: #f0ebe4;
  border-radius: 50px;
  padding: 3px;
  width: 100%;
  display: flex;
}
.mobile-service-tabs .btn-group-rounded .btn{
  flex: 1;
  border-radius: 50px;
  border: none;
  background: transparent;
  color: #666;
  font-size: 12px;
  padding: 6px 10px;
  transition: all 0.2s ease;
  text-align: center;
  justify-content: center;
}
.mobile-service-tabs .btn-group-rounded .btn.active{
  background: #fff;
  color: #1a1a1a;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
.mobile-service-tabs .btn-group-rounded .btn .bold{
  font-weight: 600;
  font-size: 12px;
}
.mobile-service-tabs .btn-group-rounded .btn p{
  font-size: 10px;
  color: #999;
  margin: 0;
}
.mobile-service-tabs .btn-group-rounded .btn.active p{
  color: #666;
}
.mobile-service-tabs .btn-group-rounded .btn.active .service-tab-icon{
  opacity: 0.85;
  color: #1a1a1a;
}

/* MENU SEARCH BAR & DROPDOWN */
.menu-search-wrapper{
  z-index: 10;
}
.menu-search-wrapper .el-input--large .el-input__wrapper{
  border-radius: 8px;
  background: #f5f5f5;
  box-shadow: none;
  border: 1px solid transparent;
  padding: 6px 15px;
}
.menu-search-wrapper .el-input--large .el-input__wrapper:hover,
.menu-search-wrapper .el-input--large .el-input__wrapper.is-focus{
  border-color: #e0e0e0;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.menu-search-dropdown{
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #e4e7ed;
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.1);
  max-height: 320px;
  overflow-y: auto;
  z-index: 100;
}
.menu-search-empty{
  padding: 24px;
  text-align: center;
}
.menu-search-item{
  padding: 10px 14px;
  cursor: pointer;
  border-bottom: 1px solid #f5f5f5;
  transition: background 0.15s ease;
}
.menu-search-item:last-child{
  border-bottom: none;
}
.menu-search-item:hover{
  background: #f9f9f9;
}
.menu-search-item-img{
  width: 44px;
  height: 44px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
}
.menu-item-highlight{
  animation: menuItemPulse 2s ease;
}
@keyframes menuItemPulse{
  0%{ background-color: transparent; }
  15%{ background-color: #fff3cd; box-shadow: 0 0 0 3px #ffc10733; }
  85%{ background-color: #fff3cd; box-shadow: 0 0 0 3px #ffc10733; }
  100%{ background-color: transparent; box-shadow: none; }
}

/* ABOUT MERCHANT BUTTON */
.btn-about-merchant{
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 50px;
  background: #fff;
  color: #333;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.btn-about-merchant:hover{
  border-color: #bbb;
  background: #f9f9f9;
}
.btn-about-merchant i{
  font-size: 16px;
}

/* =============================================
   SD-ABOUT: Modern About Merchant Modal
   ============================================= */

/* Transition */
.sd-about-fade-enter-active{ transition: opacity .25s ease; }
.sd-about-fade-leave-active{ transition: opacity .2s ease; }
.sd-about-fade-enter-from,.sd-about-fade-leave-to{ opacity: 0; }

/* Overlay */
.sd-about-overlay{
  position: fixed;
  inset: 0;
  z-index: 2050;
  background: rgba(0,0,0,0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

/* Modal card — desktop centered */
.sd-about-modal{
  background: #fff;
  border-radius: 20px;
  width: 560px;
  max-width: 100%;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0,0,0,0.18), 0 0 0 1px rgba(0,0,0,0.04);
  overflow: hidden;
  animation: sdAboutSlideUp .3s cubic-bezier(.22,1,.36,1);
}
@keyframes sdAboutSlideUp{
  from{ opacity:0; transform: translateY(30px) scale(.97); }
  to{ opacity:1; transform: translateY(0) scale(1); }
}

/* Header */
.sd-about-header{
  display: flex;
  align-items: flex-start;
  padding: 20px 24px 14px;
  border-bottom: 1px solid #f0ede8;
  flex-shrink: 0;
}
.sd-about-header__info{ flex:1; min-width:0; }
.sd-about-header__name{
  font-size: 17px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  line-height: 1.3;
}
.sd-about-header__addr{
  font-size: 13px;
  color: #888;
  margin: 2px 0 0;
  line-height: 1.3;
}
.sd-about-close{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: #f5f3f0;
  color: #666;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: 12px;
  transition: background .2s, color .2s;
}
.sd-about-close:hover{
  background: #eee;
  color: #333;
}

/* Tabs */
.sd-about-tabs{
  display: flex;
  border-bottom: 1px solid #f0ede8;
  padding: 0 24px;
  flex-shrink: 0;
  gap: 0;
}
.sd-about-tab{
  flex: 1;
  padding: 12px 6px 10px;
  border: none;
  background: transparent;
  color: #999;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border-bottom: 2.5px solid transparent;
  margin-bottom: -1px;
  transition: color .2s, border-color .2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
}
.sd-about-tab i{ font-size: 16px; }
.sd-about-tab:hover{ color: #555; }
.sd-about-tab--active{
  color: #FF6B00;
  border-bottom-color: #FF6B00;
}

/* Body */
.sd-about-body{
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.sd-about-panel{
  padding: 16px 24px 24px;
}

/* Info cards */
.sd-about-card{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid #f5f3f0;
}
.sd-about-card:last-child{ border-bottom: none; }
.sd-about-card__icon{
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #FFF5EE;
  color: #FF6B00;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  flex-shrink: 0;
}
.sd-about-card__body{ min-width: 0; flex: 1; }
.sd-about-card__label{
  font-size: 11.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #999;
  margin-bottom: 3px;
}
.sd-about-card__value{
  font-size: 14px;
  color: #333;
  line-height: 1.45;
}
.sd-about-card__value a{ color: #FF6B00; text-decoration: none; }
.sd-about-card__value a:hover{ text-decoration: underline; }
.sd-about-card__action{
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #f5f3f0;
  color: #888;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
  text-decoration: none;
  transition: background .2s, color .2s;
  align-self: center;
}
.sd-about-card__action:hover{ background: #eee; color: #FF6B00; }
.sd-about-card__desc{
  font-size: 13.5px;
  color: #555;
  line-height: 1.6;
}

/* Impressum */
.sd-about-impressum{
  font-size: 13px;
  color: #555;
  line-height: 1.65;
}
.sd-about-impressum p{ margin: 0; }
.sd-about-impressum a{ color: #FF6B00; text-decoration: none; }
.sd-about-impressum a:hover{ text-decoration: underline; }

/* Opening Hours accordion */
.sd-about-hours-toggle{
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  user-select: none;
}
.sd-about-hours-chevron{
  font-size: 16px;
  color: #aaa;
  transition: transform .2s;
}
.sd-about-hours-today{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  font-size: 13px;
  color: #555;
}
.sd-about-hours-day{
  font-weight: 600;
  color: #333;
  font-size: 13px;
  min-width: 80px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.sd-about-badge--today{
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #FF6B00;
  background: #FFF5EE;
  padding: 1px 6px;
  border-radius: 4px;
}
.sd-about-badge--closed{
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  color: #ef4444;
  background: #fef2f2;
  padding: 2px 8px;
  border-radius: 4px;
}
.sd-about-hours-slot{
  font-size: 13px;
  color: #555;
}
.sd-about-hours-slot--svc{
  color: #888;
}
.sd-about-hours-slot--svc em{
  font-style: normal;
  font-weight: 500;
  color: #666;
}
.sd-about-hours-list{
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.sd-about-hours-row{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px solid #f5f3f0;
  gap: 12px;
}
.sd-about-hours-row:last-child{ border-bottom: none; }
.sd-about-hours-row--today{
  background: #FFFBF5;
  margin: 0 -12px;
  padding: 8px 12px;
  border-radius: 8px;
  border-bottom-color: transparent;
}
.sd-about-hours-row--closed .sd-about-hours-day{ color: #ccc; }
.sd-about-hours-times{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-size: 13px;
  color: #555;
  text-align: right;
}

/* Reviews */
.sd-about-rv-summary{
  display: flex;
  gap: 20px;
  padding: 16px;
  background: #FAFAF8;
  border: 1px solid #f0ede8;
  border-radius: 14px;
  margin-bottom: 20px;
  align-items: center;
}
.sd-about-rv-score{
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  min-width: 80px;
}
.sd-about-rv-score__num{
  font-size: 36px;
  font-weight: 800;
  color: #1a1a1a;
  line-height: 1;
}
.sd-about-rv-score__stars{
  margin-top: 4px;
  display: flex;
  gap: 1px;
}
.sd-about-star--filled{ color: #f5a623; font-size: 14px; }
.sd-about-star--empty{ color: #ddd; font-size: 14px; }
.sd-about-rv-score__count{
  font-size: 11.5px;
  color: #999;
  margin-top: 4px;
}
.sd-about-rv-bars{ flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.sd-about-rv-bar{
  display: flex;
  align-items: center;
  gap: 8px;
}
.sd-about-rv-bar__label{
  font-size: 12px;
  font-weight: 600;
  color: #888;
  min-width: 28px;
  text-align: right;
  display: flex;
  align-items: center;
  gap: 1px;
}
.sd-about-rv-bar__label i{ font-size: 11px; color: #ddd; }
.sd-about-rv-bar__track{
  flex: 1;
  height: 6px;
  background: #eee;
  border-radius: 3px;
  overflow: hidden;
}
.sd-about-rv-bar__fill{
  height: 100%;
  background: #f5a623;
  border-radius: 3px;
  transition: width .4s ease;
}
.sd-about-rv-bar__count{
  font-size: 11px;
  color: #aaa;
  min-width: 22px;
}

/* Review items */
.sd-about-rv-item{
  padding: 14px 0;
  border-bottom: 1px solid #f5f3f0;
}
.sd-about-rv-item:last-child{ border-bottom: none; }
.sd-about-rv-item__head{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.sd-about-rv-avatar{
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  background: #f0f0f0;
}
.sd-about-rv-item__info{ flex:1; min-width: 0; }
.sd-about-rv-item__name{
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: #333;
}
.sd-about-rv-item__date{
  display: block;
  font-size: 11.5px;
  color: #aaa;
}
.sd-about-rv-item__badge{
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: #f5a623;
  padding: 3px 8px;
  border-radius: 8px;
  flex-shrink: 0;
}
.sd-about-rv-item__badge i{ font-size: 12px; }
.sd-about-rv-cats{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 6px;
}
.sd-about-rv-cat{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  font-weight: 500;
  color: #666;
  background: #f5f3f0;
  padding: 2px 8px;
  border-radius: 6px;
}
.sd-about-rv-cat i{ font-size: 12px; color: #999; }
.sd-about-rv-svc{
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 500;
  color: #FF6B00;
  background: #FFF5EE;
  padding: 2px 8px;
  border-radius: 6px;
  text-transform: capitalize;
}
.sd-about-rv-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 6px;
}
.sd-about-rv-tag{
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 11px;
  padding: 2px 7px;
  border-radius: 5px;
}
.sd-about-rv-tag i{ font-size: 10px; }
.sd-about-rv-tag--like{
  color: #16a34a;
  background: #f0fdf4;
}
.sd-about-rv-tag--dislike{
  color: #dc2626;
  background: #fef2f2;
}
.sd-about-rv-text{
  font-size: 13.5px;
  color: #444;
  line-height: 1.55;
  margin: 0;
}
.sd-about-rv-more{
  text-align: center;
  padding: 12px 0 4px;
}
.sd-about-rv-more__btn{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 24px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #fff;
  color: #555;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s;
}
.sd-about-rv-more__btn:hover{ border-color: #FF6B00; color: #FF6B00; }
.sd-about-rv-more__btn:disabled{ opacity: .5; cursor: not-allowed; }

/* Verified reviews badge */
.sd-about-rv-verified{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  font-size: 11px;
  color: #999;
  font-weight: 400;
}
.sd-about-rv-verified i{
  font-size: 13px;
  color: #22c55e;
}

/* Loading / Empty states */
.sd-about-loading{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
}
.sd-about-spinner{
  width: 32px;
  height: 32px;
  border: 3px solid #f0ede8;
  border-top-color: #FF6B00;
  border-radius: 50%;
  animation: sdAboutSpin .7s linear infinite;
}
@keyframes sdAboutSpin{ to{ transform: rotate(360deg); } }
.sd-about-empty{
  text-align: center;
  padding: 40px 20px;
  color: #ccc;
}
.sd-about-empty i{ font-size: 40px; margin-bottom: 8px; }
.sd-about-empty p{ color: #aaa; font-size: 14px; margin: 8px 0 0; }

/* Zones map */
.sd-about-zones-map{
  width: 100%;
  height: 280px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #f0ede8;
  margin-bottom: 16px;
}

/* DELIVERY ZONES TAB */
.dz-legend{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.dz-zone-card{
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 12px 14px;
  transition: box-shadow 0.2s, border-color 0.2s;
  cursor: default;
}
.dz-zone-card:hover{
  border-color: #ddd;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.dz-zone-header{
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}
.dz-color-dot{
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  margin-right: 10px;
  flex-shrink: 0;
  border: 2px solid rgba(0,0,0,0.08);
}
.dz-zone-name{
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
.dz-zone-details{
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  padding-left: 24px;
}
.dz-detail-item{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: #555;
}
.dz-detail-label{
  color: #888;
  white-space: nowrap;
}
.dz-detail-label i{
  font-size: 13px;
  color: #aaa;
  margin-right: 2px;
}
.dz-detail-value{
  font-weight: 600;
  color: #333;
}
.dz-detail-value.dz-free{
  color: #27ae60;
}

/* CUSTOM RESTAURANT MARKER ON MAP */
.dz-merchant-marker{
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: default;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.25));
}
.dz-marker-label{
  background: #fff;
  color: #333;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
  white-space: nowrap;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 4px;
  border: 1.5px solid #FF6B00;
  line-height: 1.3;
}
.dz-marker-icon{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #FF6B00;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dz-marker-icon svg{
  display: block;
}
.dz-marker-arrow{
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid #FF6B00;
  margin-top: -1px;
}

/* MOBILE: About modal becomes bottom sheet */
@media (max-width: 767px){
  .sd-about-overlay{
    padding: 0;
    align-items: flex-end;
  }
  .sd-about-modal{
    width: 100%;
    max-height: 92vh;
    border-radius: 20px 20px 0 0;
    animation: sdAboutSheetUp .3s cubic-bezier(.22,1,.36,1);
  }
  @keyframes sdAboutSheetUp{
    from{ transform: translateY(100%); }
    to{ transform: translateY(0); }
  }
  .sd-about-header{ padding: 16px 16px 12px; }
  .sd-about-tabs{ padding: 0 16px; }
  .sd-about-tab{ font-size: 12.5px; padding: 10px 4px 8px; }
  .sd-about-panel{ padding: 14px 16px 20px; }
  .sd-about-rv-summary{ flex-direction: column; align-items: stretch; gap: 14px; padding: 14px; }
  .sd-about-rv-score{ flex-direction: row; gap: 12px; min-width: 0; }
  .sd-about-rv-score__num{ font-size: 28px; }
  .sd-about-rv-score__stars{ margin-top: 0; align-self: center; }
  .sd-about-rv-score__count{ margin-top: 0; align-self: center; }
  .sd-about-zones-map{ height: 220px; }
  .dz-zone-details{ padding-left: 0; gap: 4px 12px; }
  .btn-about-merchant span{ display: none; }
}
@media (min-width: 768px) and (max-width: 991px){
  .sd-about-modal{ width: 520px; }
}
@media (min-width: 1200px){
  .sd-about-modal{ width: 600px; }
}

/* MOBILE MERCHANT PAGE FIXES */
@media (max-width: 991px){
  .section-menu .menu-left{
    border-right: none;
    margin-bottom: 0 !important;
    padding-bottom: 0;
  }
  .section-menu .menu-center{
    padding-top: 8px;
  }
  .category-carousel{
    border-bottom: none;
    padding: 6px 0;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  }
  .category-carousel .nav-link{
    font-size: 13px;
    white-space: nowrap;
  }
  .mobile-merchant-details{
    z-index: 1;
  }
  .mobile-merchant-details .container{
    padding-left: 12px;
    padding-right: 12px;
  }
  .mobile-merchant-details .merchant-name-logo{
    width: 46px;
    height: 46px;
    min-width: 46px;
  }
  .mobile-merchant-details h5{
    font-size: 15px;
    line-height: 1.3;
  }
  .mobile-merchant-details .merchant-info-list li{
    font-size: 11px;
  }
  .mobile-merchant-details .fav-wrap{
    position: absolute;
    top: 8px;
    right: 12px;
  }
  .merchant-banner-img-mobile{
    height: 140px;
  }
  .list-item-rows{
    margin-bottom: 10px;
  }
  .list-item-rows img{
    height: 100px;
  }
  .list-item-rows .fixed-height{
    height: 100px;
    overflow: hidden;
  }
  .menu-search-wrapper{
    z-index: 11;
  }
  .menu-search-dropdown{
    position: fixed;
    left: 0;
    right: 0;
    top: auto;
    border-radius: 0 0 8px 8px;
    max-height: 50vh;
  }
  .floating-cart{
    padding: 0 8px;
  }
  .floating-cart .btn{
    border-radius: 12px;
    padding: 10px 16px;
  }
}
@media (max-width: 480px){
  .merchant-banner-img-mobile{
    height: 110px;
  }
  .mobile-merchant-details .merchant-name-logo{
    width: 40px;
    height: 40px;
    min-width: 40px;
  }
  .mobile-merchant-details h5{
    font-size: 14px;
  }
}

.rounded-small{
  height: 30px;
  width: 30px;
}

.text-grey {
  color: #9e9e9e !important;
}

.gradient-yellow-bg{
  background: linear-gradient(110deg, #fdcd3b 60%, #ffed4b 60%);
}

.modified-modal .el-dialog__body{
  padding: 10px 20px 10px 20px !important;    
}
.modified-modal .el-dialog{
  border-radius:10px !important;
}

.responsive-iframe{
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  background: #fff;
}              

.apply-points-form .el-tabs__nav-wrap::after,
.apply-points-form .el-tabs__active-bar{
  display: none !important;
}

.apply-points-form .el-tabs__item{
  height: 100px !important;
}

.apply-points-form .el-progress-bar__inner{
  text-align: center !important;
}

.apply-points-form .disabled-class{
  position: absolute;
  top: 0;
  background: rgba(255, 255, 255, 0.6);
  width: 100%;
  height: 100%;
  z-index: 999999;
  cursor: not-allowed;
}

.search-geocomplete .el-input--large .el-input__wrapper{
  padding: 3px 15px;  
}

.esubscription .butoon-wrap{
  position: absolute;
  top: 0;
  right: 0;
}

.ellipsis-3-lines {
  -webkit-line-clamp: 3;
}
.ellipsis-2-lines {
  -webkit-line-clamp: 2;
}

.ellipsis-2-lines, .ellipsis-3-lines {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.wrap-radio-selection{ 
  padding: 10px;  
  padding-bottom: 0px;
  background-color: #FF6B00;
  border-radius: 50px;
  display: inline-block;
}
.wrap-radio-selection span.el-radio-button__inner{
  background-color: #FF6B00;
  color: #fff;
  border: none;
}
.wrap-radio-selection .el-radio-button__original-radio:checked + .el-radio-button__inner{
  background-color:#fff;
  border-color:#fff;
  box-shadow:none;
  color: #FF6B00;
  border-radius: 50px;
}
.wrap-radio-selection .el-radio-button:first-child .el-radio-button__inner{
  border:none !important;
}

.pricing-plans{
  min-height: 350px;  
}

.pricing-plans .plans{
  border: 2px solid #FF6B00; 
  border-radius: 10px;
  padding: 10px;
  min-width: 250px;
  max-width: 250px;
}

.pricing-plans .icon{  
  display: inline-block;
  padding: 5px;
  background-color: #FF6B00;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}
.pricing-plans .icon i{
  font-size: 25px;
  color: #fff;
}

.pricing-plans ul{
  list-style: none;  
  margin: 0;
  padding: 0;
}
.pricing-plans ul li{  
  line-height: 25px;
}

.q-gutter-md{
  margin-left: -16px;
}
.q-gutter-md > * {
  margin-left: 16px;
}

.opacity-60 {
  opacity: .6;
}

.shadow-card{
  box-shadow: 0 0 #000,0 0 #0000,0 0 #000,0 0 #0000,0px 0px 10px rgba(0,0,0,.04);
  border-radius: 1rem;
}
.shadow-xs{
  box-shadow: 0 0 #000,0 0 #0000,0 0 #000,0 0 #0000,0px 6px 32px rgba(0,0,0,.04);
  border-radius: .5rem;
}
.h-6 {
  height: 1.5rem;
}

.font-medium {
  font-weight: 500;
}
.text-xs {
  font-size: .75rem;
  line-height: 1rem;
}

.bordered-box{
  border: 1px solid #ebecf1;
  border-radius: 5px;
}
.bordered-box.selected{
  border: 2px solid #FF6B00; 
}
.bordered-box.selected .text-xs{
  color: #FF6B00;
}
.cursor-pointer{
  cursor: pointer;
}

.text-red{
  color:#C00000;
}

/* LOCATION CSS */
#feed-locations .el-checkbox.el-checkbox--large{
  height: auto !important;
}

.min-filter{  
  max-height: 290px;
  overflow: hidden;
}

.el-radio-group.block,
.el-radio-group.block label
{
  display: block !important;  
}

.rounded .el-input__wrapper{
  border-radius: 20px;
}

.swiper-button-next::after,
.swiper-button-prev::after
{
  content:'' !important;
}

.swiperResto .swiperSlide,
.rounded-box
{
  min-height:230px !important;  
  border: 1px solid #ebebeb;
  border-radius: 10px;
}
.swiperResto .swiperSlide img,
.rounded-box img
{
  width: 100%;
  /* min-height: 150px;
  max-height: 150px; */
  min-height: 9rem;
  max-height: 9rem;
  object-fit: cover;
  display: block;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.rounded-box .layer-black{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  min-height: 200px;
  max-height: 200px;
}

.rounded-box .el-image{
  width: 100%;
}

.rounded-box img {
  min-height: 200px;
  max-height: 200px;
  object-fit: cover;
}

.swiperOutsideContainer{
  margin-inline: auto;padding-left:1rem;padding-right:1rem;
}

.swiper-container{
  position:relative;  
}

:root{
  --swiper-navigation-sides-offset:-1rem; 
}

.swiperCuisine .swiperSlide{  
  min-height:100px !important;  
  text-align: center;  
}

.swiperCuisine .swiperSlide img{
  width: 70px;
  height: 70px;
}

.truncate {
  white-space: nowrap;         
  overflow: hidden;            
  text-overflow: ellipsis;
}

.gold-color{
  color: #f7c942;
}

.border-red{
  border: 1px solid red !important;
}

.swiperBanner .swiperSlide{  
  min-height:200px !important;   
}

.swiperBanner .swiperSlide .el-image{
  width: 100%;
  height: 180px;
}
.swiperBanner .swiperSlide .el-image img{
  object-fit: cover;
}

.swiperBanner .swiper-pagination{  
  bottom: -1px !important;
}

.radius10{
  border-radius: 10px;
}

.offers-container{
  background:#fad9e7;
  min-height: 280px;
}



.search-suggestions-overlay {
	/* background-color: rgba(0,0,0,.25); */
  background-color: rgba(0, 0, 0, 0.08);
	bottom: 0;
	cursor: pointer;
	display: block;
	height: 100%;
	left: 0;
	overflow: hidden;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 999;
}

.bds-c-modal__backdrop {
	background-color: #333333a3;
	inset: 0;
	position: fixed;
}

.suggestion-results{
  border: 1px solid #ebebeb;
  border-radius: 5px;
  background: #fff;
  /* min-height: 100px; */  
  position: absolute;
  z-index: 9;
  top: 45px;
  width: 100%;  
  padding-bottom: 10px;
}

.search-show{
  z-index: 9999;
}

.suggestion-search-list{
  list-style: none;
  margin: 0;
  padding: 0;
}

.suggestion-search-list li{
  padding-top: 6px;
  padding-bottom: 6px;  
  padding-left: 10px;
}

.suggestion-search-list li:hover{
  background-color:#f7f7f7;
}

/* .suggestion-search-list button{
  width: 100%;
  border: 1px solid red !important;
  padding: 10px !important;
  justify-content:left;
} */

.warm-pink{
  color: #e99a95 !important;
}

img.none{
  object-fit:none;
}

.close-overlay{  
  background-color: #333333a3;
  z-index: 9;
  color: #fff;
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  position: absolute;  
}

.rounded-box .close-overlay{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  min-height: 200px;
  max-height: 200px;
}

.el-button.is-rounded {
  border-radius: 10px;
}

.rotate-180 {
  transform: rotate(280deg);
}

.typing_loader {
  width: 30px;
  aspect-ratio: 2;
  --_g: no-repeat radial-gradient(circle closest-side,#000 90%,#0000);
  background: 
    var(--_g) 0%   50%,
    var(--_g) 50%  50%,
    var(--_g) 100% 50%;
  background-size: calc(100%/3) 50%;
  animation: l3 1s infinite linear;
}
@keyframes l3 {
    20%{background-position:0%   0%, 50%  50%,100%  50%}
    40%{background-position:0% 100%, 50%   0%,100%  50%}
    60%{background-position:0%  50%, 50% 100%,100%   0%}
    80%{background-position:0%  50%, 50%  50%,100% 100%}
}

.infinite-list {
  height: 300px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.infinite-list .infinite-list-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  background: var(--el-color-primary-light-9);
  margin: 10px;
  color: var(--el-color-primary);
}
.infinite-list .infinite-list-item + .list-item {
  margin-top: 10px;
}

/* .v3-infinite-loading .container{  
  border-radius:initial !important;
  overflow: inherit !important;
  display: flex !important;
  justify-content: center;
} */

.result {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-weight: 300;  
  padding: 10px;
  text-align: center;
  margin: 0 auto 10px auto;
  background: #eceef0;
  border-radius: 10px;
}

.justify-center{
  justify-content: center;display: flex;
}
.v3-infinite-loading{
  height: auto !important;
}

.el-button.disabled{
  cursor:not-allowed;
}
.location-estimation .el-button--large{
  margin: 0px !important;
}

.location-estimation .el-button.is-text{
  padding: 12px;
}

.discount-icon {    
    background-image: url('../images/discount.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    color: #FF6B00;
    filter: brightness(0) saturate(100%) invert(45%) sepia(100%) saturate(1000%) hue-rotate(360deg);
}
.discount-icon.small{
  width: 20px;
  height: 20px;
}

.custom-element-radio .el-radio{
  margin-right: 0px !important;
  padding: 10px !important;
}

span.el-tag{
  white-space: normal !important;
}

.join-sections img{
  width: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  max-height: 170px;
}
.join-sections .content{
  padding: 10px;
  border: 1px solid #ebebeb;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.scrollbar-flex-content {
  display: flex;
}

.scrollbar-item {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;  
  margin-right: 8px;
}

.flex-content {
  display: flex;
  -moz-box-align: center;
  align-items: center;
  gap: 0.5rem;
  margin: 0.5rem 0px 1rem;
  flex-wrap: wrap;
}

.flex-content-item {  
  display: flex;
  -moz-box-align: center;
  align-items: center;
  -moz-box-pack: center;
  justify-content: center;  
}

.drawer-footer-center .el-drawer__footer{  
  text-align:center;
}

.border-top-bottom-grey{
  border-top: 1px solid rgb(230, 235, 241);
  border-bottom: 1px solid rgb(230, 235, 241);
}

.avatar-uploader .el-upload {
  border: 1px dashed rgb(230, 235, 241);
  border-radius: 6px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.avatar-uploader .el-upload:hover {
  border-color: #FF6B00;
}

.el-icon.avatar-uploader-icon {
  font-size: 16px;
  color: #8c939d;
  width: 70px;
  height: 60px;
  text-align: center;
}

.avatar-uploader .avatar{
  max-width: 70px;
  max-height: 60px;
}

.drawer-menu-mobile li a{
  display: block;
  text-indent: 10px;  
}

.el-links span.el-link__inner{
  display: block !important;
}

.track-map-div{
  position: relative;
}
.position-bottom{  
  position: absolute;
  bottom: 40px;
  z-index: 9;
  right: 20px;
}


#footer-none-bg footer{
  background: none;
  border-top: 1px solid #ddd;
}

#footer-none-bg1 footer{
  background: none;  
}

.with-promo{
  position: absolute;
	left: -3px;
	z-index: 99;
  width: 50px;
	height: 20px;
	border-radius: 0 2px 2px 0;
	background-color: #FF6B00;
	color: #fff;
	font-weight: 500;
	font-size: 12px;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	top: 10px;
}

.with-promo-icon{
    display: inline-block;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("../icons/icon-promo-tag.svg");  
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    margin-right: 8px;
}

.fav-floating{
  position: absolute;
	right: 5px;
  top: 10px;
	z-index: 99;  
}

.featured-item-price {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.75rem;
}
.featured-item-price-previous {
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.read-more {
  color: #FF6B00;
  cursor: pointer;
  text-decoration: underline;  
}
.text-descriptions p{
  margin: 0 !important;
}

.description {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-height: 11.7em;   
}
.description.expanded {
  white-space: normal;
  overflow: visible;
  max-height: none;
}

/* MERCHANT ADDRESS LINE */
.merchant-address-line{
  font-size: 13px;
  color: #777;
  margin: 0;
}

/* MERCHANT RATING */
.merchant-rating{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: #555;
}
.merchant-rating .stars{
  display: inline-flex;
  align-items: center;
  gap: 1px;
  color: #f5a623;
  font-size: 14px;
}
.merchant-rating .stars .zmdi-star-half{
  color: #f5a623;
}
.merchant-rating .stars .zmdi-star-outline{
  color: #ddd;
}
.merchant-rating .rating-number{
  font-weight: 700;
  color: #333;
  margin-left: 4px;
}
.merchant-rating .rating-count{
  color: #999;
  font-size: 12px;
}
.merchant-rating:hover{
  cursor: pointer;
}
.merchant-rating:hover .rating-number{
  color: #000;
}

/* DELIVERY INFO ROW (simple, no borders) */
.delivery-info-row{
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.delivery-info-item{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #555;
}
.delivery-info-item > i{
  font-size: 16px;
  color: #999;
}
.delivery-info-item .delivery-info-value{
  font-weight: 600;
  color: #333;
}
.delivery-info-item .delivery-info-label{
  color: #999;
}
.delivery-info-item-success{
  color: #FF6B00;
}
.delivery-info-item-success > i{
  color: #FF6B00;
}
.delivery-info-item-success .delivery-info-value{
  color: #FF6B00;
}
.delivery-info-separator{
  width: 1px;
  height: 16px;
  background: #ddd;
}
@media (max-width: 991px){
  .delivery-info-row{
    gap: 6px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 2px 0;
  }
  .delivery-info-row::-webkit-scrollbar{
    display: none;
  }
  .delivery-info-item{
    font-size: 11px;
    gap: 3px;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .delivery-info-item > i{
    font-size: 12px;
  }
  .delivery-info-separator{
    height: 12px;
    flex-shrink: 0;
  }
}
@media (max-width: 420px){
  .delivery-info-row{
    gap: 4px;
  }
  .delivery-info-item{
    font-size: 10px;
    gap: 2px;
  }
  .delivery-info-item > i{
    font-size: 11px;
  }
}

/* CART EMPTY STATE */
.cart-empty-state{
  padding: 30px 10px;
}
.cart-empty-state .cart-empty-icon{
  margin-top: 10px;
}
.cart-empty-state h6{
  font-size: 15px;
}
.cart-empty-state p{
  max-width: 200px;
  margin: 0 auto;
  line-height: 1.5;
}

/* CART SIDEBAR CARD - border+shadow on inner-wrapper so it scrolls as one body */
.menu-right .sticky-cart .inner-wrapper-sticky{
  background: #F9FAFB;
  border: none;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.05);
}

/* ROUNDED CONTAINER for banner */
.rounded-container{
  overflow: hidden;
  border-radius: 12px;
}

/* =============================================
   CATEGORY BANNER (menu-data-right)
   ============================================= */
.cat-banner{
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #f0f0f0;
  border-radius: 10px;
  overflow: hidden;
  margin: 20px 0 8px;
  height: 160px;
}
.cat-banner:first-child,
section:first-child .cat-banner{
  margin-top: 8px;
}
.cat-banner-overlay{
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.35) 50%, transparent 100%);
  padding: 12px 16px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.cat-banner-title{
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  text-shadow: 0 1px 6px rgba(0,0,0,0.5);
}
.cat-banner-desc{
  margin: 4px 0 0;
  font-size: 13px;
  color: rgba(255,255,255,0.92);
  line-height: 1.3;
  text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}

@media (max-width: 767px){
  .cat-banner{
    border-radius: 8px;
    margin: 16px 0 6px;
    height: 120px;
  }
  .cat-banner-overlay{
    padding: 10px 12px;
  }
  .cat-banner-title{
    font-size: 15px;
  }
  .cat-banner-desc{
    font-size: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .menu-item-simple-desc{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11.5px;
  }
}

/* =============================================
   SIMPLE MENU ITEM LIST (menu-data-right)
   ============================================= */
.menu-item-simple{
  border-bottom: 1px solid #f0ede8;
  padding: 0;
  cursor: pointer;
  transition: background-color 0.15s ease, box-shadow 0.25s ease, transform 0.25s ease;
  min-height: 120px;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 8px;
  position: relative;
}
.menu-item-simple:last-child{
  border-bottom: none;
}
.menu-item-simple:hover{
  background-color: #fafafa;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}
.menu-item-simple.item-unavailable{
  opacity: 0.5;
  cursor: default;
}
.menu-item-simple.item-unavailable:hover{
  box-shadow: none;
  transform: none;
}

.menu-item-simple-header{
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  min-height: inherit;
}
.menu-item-simple-info{
  flex: 1;
  min-width: 0;
  padding: 14px 12px 14px 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Title row: name + Produktinfo link */
.menu-item-simple-title-row{
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}
.menu-item-simple-name{
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.35;
}
.menu-item-info-link{
  font-size: 13px;
  color: #4a90d9;
  text-decoration: none;
  white-space: nowrap;
  font-weight: 400;
}
.menu-item-info-link:hover{
  text-decoration: underline;
  color: #3a7bc8;
}

/* Price */
.menu-item-simple-price{
  margin-top: 3px;
  font-size: 14px;
  font-weight: 700;
  color: #333;
  line-height: 1.4;
}
.menu-item-simple-price del{
  color: #999;
  font-weight: 400;
  margin-right: 4px;
}

/* Description */
.menu-item-simple-desc{
  margin: 3px 0 0;
  font-size: 13px;
  color: #666;
  line-height: 1.45;
}
.menu-item-simple-desc *{
  margin: 0;
  padding: 0;
}

/* Thumbnail wrapper (right side) */
.menu-item-simple-thumb{
  position: relative;
  flex-shrink: 0;
  width: 120px;
  overflow: visible;
  align-self: stretch;
}
.menu-item-simple-img{
  width: 120px !important;
  height: 100% !important;
  display: block;
  overflow: hidden;
  background: #f5f5f5;
  border-radius: 0;
}
.menu-item-simple-img .el-image__inner{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

/* Action button overlaid on top-right of image — Quarter Circle Pattern */
.menu-item-simple-action{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}

/* Quarter-circle add button (Corner Integration Pattern) */
.add-circle{
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  width: 56px;
  height: 56px;
  border-radius: 0 12px 0 56px;
  background: #FF6B00;
  color: #fff;
  font-size: 20px;
  box-shadow: none;
  transition: filter 0.16s ease, transform 0.16s ease;
  padding: 10px 12px 0 0;
  cursor: pointer;
}
.add-circle::before{
  content: '';
  position: absolute;
  top: -4px;
  right: -4px;
  bottom: -4px;
  left: -4px;
  pointer-events: auto;
}
.menu-item-simple:hover .add-circle{
  filter: brightness(1.05);
  transform: scale(1.03);
}
.menu-item-simple .add-circle:active{
  transform: scale(0.96);
}

/* Inline quantity controls */
.quantity-inline{
  display: flex;
  align-items: center;
  gap: 4px;
  background: #fff;
  border-radius: 20px;
  padding: 2px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.quantity-inline .qty-circle{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f0f0f0;
  color: #555;
  font-size: 14px;
  text-decoration: none;
  transition: background-color 0.2s;
}
.quantity-inline .qty-circle:hover{
  background: #e0e0e0;
  color: #333;
}
.quantity-inline .qty-circle-add{
  background: #FF6B00;
  color: #fff;
}
.quantity-inline .qty-circle-add:hover{
  background: #E05E00;
}
.quantity-inline .qty-count{
  font-weight: 700;
  font-size: 14px;
  min-width: 22px;
  text-align: center;
  color: #1a1a1a;
}

/* =============================================
   ADD-TO-CART: Animation + Badge + Note Button
   ============================================= */

/* Pulse animation on item card when added to cart */
@keyframes itemAddedPulse {
  0%   { box-shadow: 0 0 0 0 rgba(255, 107, 0, 0.5); }
  70%  { box-shadow: 0 0 0 10px rgba(255, 107, 0, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 107, 0, 0); }
}
.item-added-pulse {
  animation: itemAddedPulse 0.6s ease-out;
}

/* Brief green flash overlay */
@keyframes itemAddedFlash {
  0%   { opacity: 1; transform: scale(0.5); }
  50%  { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.2); }
}
.item-added-check {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.5);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 107, 0, 0.92);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  z-index: 20;
  pointer-events: none;
  animation: itemAddedFlash 0.55s ease-out forwards;
  box-shadow: 0 2px 12px rgba(255, 107, 0, 0.4);
}

/* Cart quantity badge on item card (for items with addons/sizes) */
.cart-qty-badge {
  position: absolute;
  top: 4px;
  left: 4px;
  background: #FF6B00;
  color: #fff;
  min-width: 22px;
  height: 22px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  z-index: 10;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  padding: 0 4px;
  line-height: 1;
}

/* Cart item note/comment button */
.cart-note-btn {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 8px;
  border-radius: 12px;
  background: #f5f5f5;
  border: 1px solid #e5e5e5;
  color: #888;
  font-size: 11px;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none !important;
  margin-top: 4px;
  line-height: 1.4;
}
.cart-note-btn:hover {
  background: #eee;
  border-color: #ddd;
  color: #555;
}
.cart-note-btn i {
  font-size: 12px;
}
.cart-note-btn.has-note {
  background: #FFF5EB;
  border-color: #FFD9B3;
  color: #E05E00;
}

/* Item badges row on menu card */
.menu-item-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 5px;
}
.menu-item-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  height: 24px;
}
.menu-item-badge i {
  font-size: 11px;
}
/* Collapse secondary badges: hide 3rd+ badge on desktop */
.menu-item-badges .menu-item-badge:nth-child(n+3) {
  display: none;
}
/* New — bright blue */
.badge-new {
  background: linear-gradient(135deg, #e3f2fd, #bbdefb);
  border: 1px solid #90caf9;
  color: #1565c0;
}
.badge-new i { color: #1e88e5; }
/* Trending — orange/fire */
.badge-trending {
  background: linear-gradient(135deg, #fff3e0, #ffe0b2);
  border: 1px solid #ffcc80;
  color: #e65100;
}
.badge-trending i { color: #f57c00; }
/* Best Seller — gold */
.badge-bestseller {
  background: linear-gradient(135deg, #fff8e1, #fff3cd);
  border: 1px solid #ffe082;
  color: #e6a200;
}
.badge-bestseller i { color: #f9a825; }
/* Recommended — green */
.badge-recommended {
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
  border: 1px solid #a5d6a7;
  color: #2e7d32;
}
.badge-recommended i { color: #43a047; }
/* Discount/Offer — red */
.badge-discount {
  background: linear-gradient(135deg, #fff0f0, #ffe0e0);
  border: 1px solid #ffb3b3;
  color: #d32f2f;
}
.badge-discount i { color: #e53935; }
/* Service-specific discount — warm amber */
.badge-discount-svc {
  background: linear-gradient(135deg, #fff8e1, #ffecb3);
  border: 1px solid #ffca28;
  color: #e65100;
}
.badge-discount-svc i { color: #ef6c00; }
/* Promo eligible — green */
.badge-promo-eligible {
  background: #e8f5e9;
  border: 1px solid #a5d6a7;
  color: #2e7d32;
}
.badge-promo-eligible i { color: #43a047; }
/* Promo not yet eligible — blue */
.badge-promo {
  background: #e3f2fd;
  border: 1px solid #90caf9;
  color: #1565c0;
}
.badge-promo i { color: #1e88e5; }

/* Featured ribbon on carousel slide */
.ribbon {
  position: absolute;
  top: 10px;
  left: 0;
  background: linear-gradient(135deg, #f9a825, #f57f17);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 12px 3px 8px;
  border-radius: 0 12px 12px 0;
  box-shadow: 0 2px 6px rgba(249, 168, 37, 0.35);
  letter-spacing: 0.3px;
  z-index: 5;
}

/* Mobile adjustments for simple menu items */
@media (max-width: 767px){
  .menu-item-simple{
    padding: 0;
    min-height: 100px;
    margin-bottom: 6px;
  }
  .menu-item-simple:hover{
    transform: none;
    box-shadow: none;
  }
  .menu-item-simple-info{
    padding: 12px 10px 12px 10px;
  }
  .menu-item-simple-name{
    font-size: 14px;
  }
  .menu-item-simple-price{
    font-size: 13px;
  }
  .menu-item-simple-desc{
    font-size: 12px;
  }
  .menu-item-simple-thumb{
    width: 90px;
  }
  .menu-item-simple-img{
    width: 90px !important;
  }
  .add-circle{
    width: 44px;
    height: 44px;
    font-size: 16px;
    border-radius: 0 12px 0 44px;
    padding: 8px 10px 0 0;
  }
  .quantity-inline .qty-circle{
    width: 24px;
    height: 24px;
    font-size: 12px;
  }
  .quantity-inline .qty-count{
    font-size: 12px;
    min-width: 18px;
  }
}
