@charset "utf-8";/*
 * BISTRO BUDDY COMPLETE PRODUCTION CSS — V13
 * Source: uploaded live templates archive, cleaned of experimental V8-V12 layers.
 * Includes the proven smart-cart UI plus the stable V13 whole-site experience override.
 */

#es .es-media-nav__img{
    width: 220px;
    height: 120px;
    background-color: #000000c9 !important;
    background-repeat: no-repeat !important;
    border: 6px double;
    border-left-color: #ef7724;
    border-right-color: #7CA4DD;
    border-top-color: #ef7724;
    border-bottom-color: #7CA4DD;
    animation: spin-border-colors 2s infinite linear;
}
#es .mod-card{
    border: 1px solid #000000;
    border-radius: 6px;
}
#es .es-card--border{
    border-top: 1px solid #7da3d5;
}

#es .es-card__ft{
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    padding: 8px 16px;
    background-color: #000000c7;
}
#es .es-card__ft, #es .es-card__ft a{
    color: #888;
}
/* Pre-loader Styles */
#sp-main-body{
    background: #FFF;
}
.jitem-body.pb-4.px-3{
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
}
body, .sp-preloader{
    background-color: #252525;
    color: #252525;
}
figcaption.caption.text-dark{
    padding: 10px;
}
.sp-pre-loader{
    border: 2px solid #7CA4DD !important;
    background-image: url("https://bistrobuddy.com/images/bistro_buddy/bistro-buddy-loader.png") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background: rgb(239,117,33);
    background: linear-gradient(90deg, rgba(239,117,33,1) 4%, rgba(239,117,33,0.7931547619047619) 7%, rgba(239,117,33,0) 49%, rgba(124,164,221,0) 49%, rgba(124,164,221,0.9332107843137255) 97%, rgba(124,164,221,1) 100%) !important;
    z-index: 99999999999 !important;
}
.details-container{
    display: none;
}

.jbd-container i.eye{
    -webkit-mask: url(https://bistrobuddy.com/images/animated-eye.svg) no-repeat center !important;
    mask: url(https://bistrobuddy.com/images/animated-eye.svg) no-repeat center !important;
    background: #4CAF50;
}
.sp-page-title .breadcrumb>.active{
    color: #84aadf;
    text-shadow: 1px 1px 3.7px #000 !important;
}
.jbd-container i.eye{
    -webkit-mask: url(https://bistrobuddy.com/components/com_jbusinessdirectory/assets/images/icons/eye.svg) no-repeat center;
    mask: url(https://bistrobuddy.com/components/com_jbusinessdirectory/assets/images/icons/eye.svg) no-repeat center;
}
.jbd-container .search-options .view-mode a.active{
    border: 2px solid #ef7521;
    border: 2px solid;
    border-left-color: #ef7724;
    border-right-color: #7CA4DD;
    border-top-color: #ef7724;
    border-bottom-color: #7CA4DD;
}
.ug-thumb-wrapper .ug-thumb-overlay{
    border-radius: 15px;
}
.sppb-img-responsive{
    border-radius: 15px !important;
}
.sppb-img-responsive{
    border-radius: 15px !important;
}
.mfp-iframe-holder .mfp-content{
    line-height: 0;
    width: 100%;
    max-width: 1240px;
    height: 100%;
    max-height: 800px;
}

div#projectImageGallery{
    border-radius: 15px;
}
.dropzone{
  min-height: 150px;
  width: 300px; /* Adjust as needed */
  background: radial-gradient(circle at center, #ffffff 30%, #ddd 70%);
  padding: 20px;
  box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.2), 0 8px 16px rgba(0, 0, 0, 0.1);
  border-radius: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease-out, box-shadow 0.3s ease-out;
  border: 2px solid rgba(0, 0, 0, 0.1);
}

.dropzone::before{
  content: "";
  position: absolute;
  top: 5%;
  left: 5%;
  right: 5%;
  bottom: 5%;
  background: radial-gradient(circle at center, #eee 0%, transparent 80%);
  border-radius: 15px;
}

.dropzone::after{
  content: "Drop files here";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #000;
  font-size: 16px;
  z-index: 10;
}

.dropzone:hover{
  transform: scale(1.02);
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.3), 0 10px 20px rgba(0, 0, 0, 0.15);
}
.dz-default.dz-message{
    margin-top: -10px;
    font-size: x-large;
    font-weight: bolder;
    color: #000;
    z-index: 6;
}
.jbd-container .socials-network a .tiktok{
    margin: 0 0 20px 0;
}

.sppb-img-responsive{
    overflow: hidden;
    border-radius: 15px !important;
    position: 1;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 4ms;
    animation-name: zoomIn;
}
.sppb-addon-article{
    border-radius: 15px !important;
}
.sppb-addon-article{
    border-radius: 15px !important;
}
/* Ribbon OPEN CLOSED */

.jbd-container .ribbon-close, .jbd-container .ribbon-open{
    position: absolute;
    top: 10px;
    left: -30px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0;
    background-color: #ff0000;
}

.ribbon-open{
    background-color: #00ff00; /* Green background for .ribbon-open */
}

.jbd-container #company-style-5-container .ribbon-open, .jbd-container #company-style-5-container .ribbon-close{
    left: 10px;
    top: 10px;
}
#es .docker-popup-menu ul li a:hover{
    background: var(--bs-orange);
    color: #333;
}
/* Keyframes for moving stripes animation */
@keyframes moveStripes{
    0%{
        background-position: 0 0;
    }
    100%{
        background-position: 100px 0; /* Adjusted to match the new, larger background size */
    }
}

/* Styling for ribbon-open span */
.jbd-container .ribbon-open span{
    font-size: 10px;
    font-weight: bold;
    color: #000;
    text-transform: uppercase;
    text-align: center;
    line-height: 20px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    width: 100px;
    display: block;
    background: linear-gradient(#9bc90d00 0%, #79a70a00 100%);
    box-shadow: 0 3px 10px -5px #0000;
    position: absolute;
    top: 10px;
    left: -30px;
}

/* Styling for jtoggle-text label */
.jbd-container #plans-container .jtoggle-text label{
    background-color: #23b26b; /* Fallback color */
    background-image: repeating-linear-gradient(
        -45deg,
        #23b26b,
        #23b26b 20px, /* Increased stripe width */
        #2de07d 20px,
        #2de07d 40px /* Double the stripe width for the next color, making it as wide as possible */
    );
    background-size: 1359px 100px; /* Increased to ensure a less frequent pattern repeat */
    animation: moveStripes 4s linear infinite; /* Adjust the timing as needed for a smooth transition */
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 15px;
    width: 100%;
    height: 100%;
    z-index: 1;
    box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.1);
    transition: all 0.1s ease;
}


/* SPINNING COLORS BUTTON */

@keyframes spin-border-colors{
  0%{
    border-left-color: #ef7724; /* Orange */
    border-right-color: #7CA4DD; /* Blue */
    border-top-color: #ef7724; /* Orange */
    border-bottom-color: #7CA4DD; /* Blue */
  }
  25%{
    border-left-color: #7CA4DD; /* Blue */
    border-right-color: #ef7724; /* Orange */
    border-top-color: #7CA4DD; /* Blue */
    border-bottom-color: #ef7724; /* Orange */
  }
  50%{
    border-left-color: #ef7724; /* Orange */
    border-right-color: #7CA4DD; /* Blue */
    border-top-color: #ef7724; /* Orange */
    border-bottom-color: #7CA4DD; /* Blue */
  }
  75%{
    border-left-color: #7CA4DD; /* Blue */
    border-right-color: #ef7724; /* Orange */
    border-top-color: #7CA4DD; /* Blue */
    border-bottom-color: #ef7724; /* Orange */
  }
  100%{
    border-left-color: #ef7724; /* Orange */
    border-right-color: #7CA4DD; /* Blue */
    border-top-color: #ef7724; /* Orange */
    border-bottom-color: #7CA4DD; /* Blue */
  }
}
.jbd-mod-user .jbd-username i{
    background: #000000;
    padding: 4px 6px;
    border-radius: 50%;
    color: #0dfd00;
    font-size: 20px;
    text-align: center;
    margin-right: 7px;
    border: 6px double;
    border-left-color: #ef7724;
    border-right-color: #7CA4DD;
    border-top-color: #ef7724;
    border-bottom-color: #7CA4DD;
    animation: spin-border-colors 2s infinite linear;
}
.jbd-mod-user .jbd-button-container .button-create{
    background-color: #000000c9 !important;
    background-repeat: no-repeat !important;
    border: 6px double;
    border-left-color: #ef7724; /* Orange */
    border-right-color: #7CA4DD; /* Blue */
    border-top-color: #ef7724; /* Orange */
    border-bottom-color: #7CA4DD; /* Blue */
    animation: spin-border-colors 2s infinite linear;
}
.jbd-mod-user .jbd-username i{
    background: var(--bs-black) !important;
    padding: 4px 6px;
    border-radius: 50%;
    color: #0dff00 !important;
    font-size: 24px;
    text-align: center;
}
.dropdown-inner{
    background: #252525;
    border-radius: 0 0 0.5rem 0.5rem;
 

}
div#rsseo-cookie-accept{
    bottom: 40px !important;
    font-size: 9px !important;
}
.sp-scroll-up{
    bottom: 100px !important;
}
.sp-module ul>li>a{
    color: #40f907;
}

.jbd-user-menu .user-menu .dropdown li.menu-item{
    padding: 0 !important;
}
/* Tooltip styling */
.jbd-container .ribbon-close::after, .jbd-container .ribbon-open::after{
    content: attr(data-tooltip) !important; /* Use the data-tooltip attribute for the content */
    position: absolute !important;
    bottom: -30px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    white-space: nowrap !important;
    z-index: 1001 !important;
    background-color: #333 !important;
    color: #fff !important;
    padding: 5px 8px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    display: none !important; /* Hide tooltip by default */
}

.jbd-container .ribbon-close:hover::after, .jbd-container .ribbon-open:hover::after{
    display: block !important; /* Show tooltip on hover */
}
.jbd-container h1 .claimed{
    color: #7f7f7f;
    font-weight: 400;
    vertical-align: middle;
    font-size: 20px;
}

.jbd-container .btn-outline-success:not(:disabled):not(.disabled):active, .jbd-container .btn-outline-success:not(:disabled):not(.disabled).active, .show>.jbd-container .btn-outline-success.dropdown-toggle{
    color: #fff0;
    background-color: #fff0;
    border-color: #fff0;
}
.jbd-container:not(.jbd-edit-container) .btn-outline-success:hover, .jbd-container:not(.jbd-edit-container) .btn-outline-success:focus, .jbd-container:not(.jbd-edit-container) .add-review-link:hover, .jbd-container:not(.jbd-edit-container) .add-review-link:focus,{
    background-color: #e6681100 !important;
    border-color: #9f470b00 !important;
}
.ug-strip-panel{
    background-color: rgb(35 35 35 / 0%) !important;
}
.ug-gallery-wrapper .ug-strip-panel{
    background-color: #0000 !important;
}


.ug-arrow-right.ug-skin-default, .ug-arrow-left.ug-skin-default{
    cursor: pointer;
    display: inline-block;
    background-color: transparent; /* Ensuring the background doesn't interfere with the arrow shape */
    height: 30px; /* Adjust the size of the arrow container if needed */
    width: 30px; /* Adjust the size of the arrow container if needed */
    position: relative;
}
div#event-map-2{
    border-radius: 15px;
}
.ug-gallery-wrapper .ug-textpanel-bg{
    background-color: #FF5722 !important;
}
.ug-item-wrapper{
margin-top: -40px;
}



a.button-contact-event-organizer{
background-color: #000000c9 !important;
    background-repeat: no-repeat !important;
    border: 6px double !important;
    border-left-color: #ef7724 !important;
    border-right-color: #7CA4DD !important;
    border-top-color: #ef7724 !important;
    border-bottom-color: #7CA4DD !important;
    color: #89ff00;
    font-weight: 900;
    border-radius: 5px;
    padding: 5px;
}
.jbd-container i.icon{
    background: #ef7521;
}
/* Left Arrow */
.ug-arrow-left.ug-skin-default::before{
    content: "";
    position: absolute;
    border: solid #333; /* Arrow color */
    border-width: 0 3px 3px 0; /* Adjust thickness of arrow */
    display: inline-block;
    padding: 5px; /* Size of the arrow */
    transform: rotate(135deg); /* Adjust angle for left arrow */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(135deg);
}

/* Right Arrow */
.ug-arrow-right.ug-skin-default::before{
    content: "";
    position: absolute;
    border: solid #333; /* Arrow color */
    border-width: 0 3px 3px 0; /* Adjust thickness of arrow */
    display: inline-block;
    padding: 5px; /* Size of the arrow */
    transform: rotate(-45deg); /* Adjust angle for right arrow */
    top: 50%;
    right: 50%;
    transform: translate(50%, -50%) rotate(-45deg);
}
.ug-gallery-wrapper .ug-slider-wrapper{
    position: absolute;
    overflow: hidden;
    z-index: 1;
    background-color: #00000000;
}

.jbd-container h1 .claimed i{
    background-color: #7ca3d6;
    border-radius: 100%;
    color: #fff;
    display: inline-block;
    height: 30px;
    line-height: 15px;
    margin-top: -3px;
    text-align: center;
    vertical-align: middle;
    width: 30px;
    font-size: 40px;
    font-weight: bolder;
}

.card{
    border-radius: 15px !important;
    border: 0px;
    background-color: #fff0;
    padding: 0px;
}

.slider-content{
    border-radius: 15px;
    background: #0000 !important;
}



.slider-content{
    border-radius: 15px;

}
.jbd-container div.company-style-5-header-image{
border-radius: 15px !important;
}

div#company-style-5-container{
    border-radius: 15px;
}
#searchform #searchkeyword{
    width: 300px;
}
.jbd-container .company-style-box{
    border-radius: 15px;
}
.jbd-container .jitem-card .jitem-img-wrap .card-hoverable{
    background-image: url(https://bistrobuddy.com/images/bistro_buddy/bistro-buddy-loader.png) !important;
    background-repeat: no-repeat !important;
    background-position: center;
    background-position: center;
    background-size: contain;
    border-radius: 15px;
    background-size: 33%;
    opacity: 0.7;
    border: 6px double;
    border-left-color: #ef7724;
    border-right-color: #7CA4DD;
    border-top-color: #ef7724;
    border-bottom-color: #7CA4DD;
}
.jbd-container ul.event-list img{
    border-radius: 15px;
}

.sppb-carousel-inner{
    object-fit: cover !important;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 15px;
    height: 100%;
}
.video-details .video-content{
    background: linear-gradient(66deg, rgba(239, 117, 33, 1) 0%, rgba(254, 249, 246, 1) 45%, rgba(255, 255, 255, 1) 55%, rgba(124, 164, 221, 1) 100%) !important;
    border-radius: 15px;
}

.jbd-container .events-grid-style-1 .jitem-card{
    overflow: hidden;
    border-radius: 15px;
}
.sp-page-title .sp-page-title-heading, .sp-page-title .sp-page-title-sub-heading{
    color: #fff;
    font-weight: 900;
}
div#slider-content-4653{
      background-color: #ffffff;
    border-color: #aaaaaa00;
}


.jbd-container #offer-detail-1{
    padding: 0px !important;
    background-color: #fff;
}   
    
.sp-page-title .breadcrumb>.active{
    color: #84aadf;
    text-shadow: 1px 1px 3.7px #fff;
}


.sppb-articles-carousel-content, .jbd-container .place-card-info{
    background: #fff;
    box-shadow: 0 6px 12px -3px rgb(49 41 41 / 36%);
    padding: 20px 20px 25px;
    margin-bottom: 15px;
    border-radius: 0px 0px 15px 15px;
    margin-top: -10px;    background: #fff;
    box-shadow: 0 6px 12px -3px rgb(49 41 41 / 36%);
    padding: 20px 20px 25px;
    margin-bottom: 15px;
    border-radius: 0px 0px 15px 15px;
    margin-top: -10px;
}

.sppb-articles-carousel-img, .place-card-body, .slick-slide img{
    border-radius: 15px;
    border: 0;
    width: 100%;
    aspect-ratio: 16 / 9 !important;
    border-radius: 15px;
    height: 100%;
    object-fit: cover !important;
}
img.mfp-img{
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 0px;
    margin: 0 auto;
    border-radius: 15px;
}
#div#event-map-2{
    border-radius: 15px;
}
.carousel-inner{
    position: relative;
    width: 100%;
    overflow: hidden;
    object-fit: cover !important;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    height: 100%;
    max-height: 620px;
}
.sppb-addon-articles .sppb-carousel .sppb-carousel-control{
    border: 1px solid #ef7724;
    color: #ef7724;
}
.sp-module-content .menu li{
    font-size: 16px;
}
.article-list .article{
    border-radius: 15px !important;
}
.ratio-16x9{
    --bs-aspect-ratio: 16 / 9;
    aspect-ratio: 16 / 9;
}
#es .es-stream-embed__title,{
    margin: 0;
    padding: 0 20px;
    font-weight: bold;
    font-size: 34px;
}
#es .es-stream-embed.is-link .es-stream-embed__desc{
    margin-bottom: 8px;
    margin: 0;
    padding: 0 20px;
}
.circle-two{
    background-image: url("https://www.bistrobuddy.com/templates/j-network/css/images/bistro_buddy/bistro-buddy-loader.png") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    height: 230px !important;
    width: 230px !important;
    z-index: 99999999999 !important;
}
.jbd-container .recommended{
    background-color: #00ff0a;
}
#btn-1703824704505{
    left: 50%;
    position: absolute;
    margin-left: -150px;
}
.o-dropdown__bd.px-md.py-sm{
    display: none;
}
.jbd-container .jitem-card .jitem-body{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    flex: 1;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-radius: 15px !important;
    border: 1px solid #ccc0;
    border-top: none;
}
.jbd-container .jitem-card{
    background-color: #fff;
    color: #8B8F98;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    position: relative;
    border: none;
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid #cccccc;
}
div#gallery{
    max-width: 1200px;
    min-width: 300px;
    min-height: 550px;
    width: auto;
    height: 231px;
}
div#gallery{
    box-shadow: 0px 0px 30px rgba(0,0,0,.1) !important;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.125) !important;
    border-radius: 15px !important;
    margin: 0 auto;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 4ms;
    animation-name: zoomIn;
}
.dir-company-module.company-style-box{
    padding: 0;
    margin: 0;
}
.video{
    position: relative;
    overflow: hidden;
    padding-top: 56.25%;
    width: 100%;
    object-fit: cover !important;
    width: 100%;
    aspect-ratio: 16 / 9 !important;
    border-radius: 15px;
    height: 100%;
    max-height: 900px;
    width: 100%;
    margin-bottom: 40px;
    margin-top: 40px;
}
ins.adsbygoogle{
    margin: 60px 0;
    max-width: 1120px;
}
#sp-main-body{
    padding: 10px 0;
}
.page-header{
    padding-bottom: 15px;
    padding-top: 15px;
}
.speasyimagegallery-gallery-item img, .speasyimagegallery-modal, img.speasyimagegallery-image{
    border-radius: 15px;
}
.article-list .article .article-intro-image, .article-list .article .article-featured-video, .article-list .article .article-featured-audio, .article-list .article .article-feature-gallery{
    border-radius: 8px !important;
    border-bottom: 1px solid #f5f5f5;
    overflow: hidden;
    margin: -1.2rem -1.2rem 0rem -1.2rem !important;
    height: 100.3%;
    max-height: 200px;
}
.video-iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#sp-bottom .sp-module .sp-module-title{
    font-size: 15px;
}
#es .es-mobile-filter-slider .is-active .es-mobile-filter-slider__btn, #es .es-mobile-filter-slider .is-active .es-mobile-filter-slider__btn:focus, #es .es-mobile-filter-slider .is-active .es-mobile-filter-slider__btn:active, #es .es-story-privacy .es-privacy .es-privacy-toggle, #es .btn-es-primary{
    background: #008000 !important;
    color: #ffffff !important;
    border-color: rgba(78, 114, 226, 0) !important;
}
.cat-read-more{
    cursor: pointer;
    border-radius: 8px;
    padding: 3px;
    background-color: #000000c9 !important;
    background-repeat: no-repeat !important;
    border: 6px double !important;
    border-left-color: #ef7724 !important;
    border-right-color: #7CA4DD !important;
    border-top-color: #ef7724 !important;
    border-bottom-color: #7CA4DD !important;
    margin-bottom: 20px !important;
}
span.irs.irs--flat.js-irs-0.irs-with-grid{
    top: -250px;
}
.jbd-container .jitem-card .jitem-img-wrap > img{
    border-radius: 15px;
}
.jitem-img-wrap.min-height-sm{
    aspect-ratio: 16 / 9;
}
.geo-location{
    top: -230px;
    position: absolute;
}
.article-list .article .article-intro-image.float-left img{
    margin-right: 20px;
    border-radius: 15px;
}
.article-list .article{
    box-shadow: 0px 0px 30px rgba(0,0,0,.1) !important;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, .125) !important;
    border-radius: 15px !important;
    visibility: visible !important;
    animation-duration: 600ms !important;
    animation-delay: 4ms !important;
    animation-name: zoomIn !important;
    border-radius: 15px !important;
}
.featured-text{
    background-color: #000000c9 !important;
    background-repeat: no-repeat !important;
    border: 6px double;
    border-left-color: #ef7724;
    border-right-color: #7CA4DD;
    border-top-color: #ef7724;
    border-bottom-color: #7CA4DD;
    border-radius: 8px;
    padding: 1px;
    z-index: 3000;
    position: relative;
    margin-left: 10px;
    margin-top: 10px;
    color: #ffc83d;
    font-size: 14px;
    max-width: 100px;
}
.jbd-container .process-steps{
    margin: 50px auto;
}
.jbd-container:not(.jbd-edit-container) .btn-success{
    background-color: #000000c9 !important;
    background-repeat: no-repeat !important;
    border: 6px double !important;
    border-left-color: #ef7724 !important;
    border-right-color: #7CA4DD !important;
    border-top-color: #ef7724 !important;
    border-bottom-color: #7CA4DD !important;
    color: #89ff00;
    font-weight: 900;
}
.jbd-container .process-steps li:before{
    display: block;
    margin: 0 auto;
    background: #dfe3e4;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: .25em;
    border-radius: 100%;
    position: relative;
    z-index: 3;
    font: normal normal normal 44px / 1 "LineAwesome";
    text-align: center;
    line-height: 1.5em;
    text-decoration: inherit;
    text-rendering: optimizeLegibility;
    text-transform: none;
}
.jbd-container .process-steps li:after{
    content: "";
    position: absolute;
    top: 30px;
    left: 40px;
    display: block;
    width: 100%;
    height: 2px; /* Adjust the height to match your dashed line thickness */
    margin-left: 1.7em;
    z-index: 1;
    background: repeating-linear-gradient(
        to right,
        #ef7724 0,
        #ef7724 10px,
        transparent 10px,
        transparent 20px
    ); /* Create a dashed effect */
    background-size: 40px 2px; /* Adjust the size to control the dash and gap size */
    animation: marchAnts 1s linear infinite;
}
button.btn.btn-es-primary-o{
  background-color: #000000c9 !important;
  background-repeat: no-repeat !important;
  border: 6px double !important;
  border-color: #ef7724 #7CA4DD #ef7724 #7CA4DD !important;
  animation: spin-border 2s infinite linear !important;
  color: white !important;
}
.btn-success{
    color: #ffffff !important;
    background-color: #04ff00 !important;
    border-color: #03b500 !important;
    border-radius: 0.35rem !important;
    background-position: center !important;
    transition: background 0.8s !important;
}
es-docker{
    overflow: hidden !important;
}
.es-social-signon__hd{
    display: hidden !important;
}
@keyframes spin-border{
  0%{
    border-color: #ef7724 #7CA4DD #ef7724 #7CA4DD;
  }
  25%{
    border-color: #7CA4DD #ef7724 #ef7724 #7CA4DD;
  }
  50%{
    border-color: #ef7724 #ef7724 #7CA4DD #ef7724;
  }
  75%{
    border-color: #7CA4DD #7CA4DD #ef7724 #ef7724;
  }
  100%{
    border-color: #ef7724 #7CA4DD #ef7724 #7CA4DD;
  }
}

@keyframes marchAnts{
    from{
        background-position: 0px;
    }
    to{
        background-position: 40px; /* Move the background by one full cycle of the dash+gap */
    }
}
.jbd-container .process-steps li.is-active:before{
    color: #fff;
    background: #93b4e3;
}
.jbd-container .process-steps{

    color: #ef7a29;
}
.jbd-container .process-steps li:after{
    content: "";
    position: absolute;
    top: 30px;
    left: 50%;
    display: block;
    border-bottom: 8px dashed #84aadf;
    width: 100%;
    height: .4em;
    margin-left: 1.5em;
    z-index: 1;
}
.ticket-url{
  display: inline-block;
  padding: 4px 24px;
  margin: 5px;
  border-radius: 5px;
  text-decoration: none;
  color: #ffffff;
  background-color: #008000;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: bold;
  font-size: 16px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  -webkit-transition: box-shadow 0.3s ease-in-out;
  -moz-transition: box-shadow 0.3s ease-in-out;
  transition: box-shadow 0.3s ease-in-out;
  transition: background 0.8s;
}
.ticket-url:hover{
    background-color: #009800;
    box-shadow: 0px 0px 8px 8px rgb(0 0 0 / 15%);
    color: #fcc338;
    text-shadow: 1px 1px black;
}

.jbd-container:not(.jbd-edit-container) .btn-success:hover, .jbd-container:not(.jbd-edit-container) .btn-success:focus{
    background-color: #e66811 !important;
    border-color: #7CA4DD !important;
    text-shadow: 2px 2px 1px #7CA4DD;
}
.ticket-url:active{
  background-color: #004085;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transform: translateY(2px);
}
.view-all-deals a{
    display: inline-block;
    padding: 10px 20px;
    margin: 10px 27%;
    background-color: #178d00;
    color: white;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
    transition: background-color 0.3s;
}
#sp-bottom .sp-module .sp-module-title{
    font-weight: 700;
    font-size: 15px;
    margin: 0 0 30px;
}
.jbd-container .list-grid-3 .jitem-card .jitem-img-wrap{
    min-height: 240px;
}
.faq-item__question{
    background: linear-gradient(66deg, rgba(239,117,33,1) 0%, rgba(254,249,246,1) 45%, rgba(255,255,255,1) 55%, rgba(124,164,221,1) 100%) !important;
}
.sppb-row-container{
    padding-left: 10px !important;
    padding-right: 10px !important;
}
.video-iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    border-radius: 8px;
    height: 100%;
    aspect-ratio: 16 / 9;
}
div#gallery{
    min-height: 400px;
}
.article-author-information{
    padding: 0px 10px;
}
.tags{
    padding: 0px 10px;
}
#article-comments{
    margin: 0 10% !important;
    padding: 0px 10px;
}
div#es{
    margin-top: 2rem;
}
#article-comments{
    margin: 0 auto !important;
}
.article-author-information{
    margin: 0 auto  !important;
}
#sppb-addon-Jv8XpVUB3_mZyL0KD_9zH #btn-Jv8XpVUB3_mZyL0KD_9zH.sppb-btn-custom{
    color: #FFFFFF !important;
}
#sppb-addon-m1fDki52vZ7GLkHrxEd5T #btn-m1fDki52vZ7GLkHrxEd5T.sppb-btn-custom{
    color: #FFFFFF !important;
}
#sp-footer a, #sp-bottom a{
    color: #7ca4dd !important;
}
.bx-wrapper{
    margin: 0 auto;
}
div#events-container{
    padding-bottom: 2rem;
}
.video-details{
    visibility: visible !important;
    animation-duration: 600ms !important;
    animation-delay: 4ms;
    animation-name: zoomIn !important;
}
.category-desc.clearfix{
    margin-bottom: 2rem;
}
.article-list .article .article-intro-image, .article-list .article .article-featured-video, .article-list .article .article-featured-audio, .article-list .article .article-feature-gallery{
    border-radius: 3px 3px 0 0;
    border-bottom: 1px solid #f5f5f5;
    overflow: hidden;
    margin: -1.2rem -1.2rem 0rem -1.2rem !important;
    height: 66.3%;
    max-height: 285px;
}
.article-list .article .article-intro-image, .article-list .article .article-featured-video, .article-list .article .article-featured-audio, .article-list .article .article-feature-gallery{
    border-radius: 15px !important;
}
.item-image-wrap{
    margin: -2rem -2rem 2rem -2rem !important;
    border-radius: 15px !important;
}
.article-intro-image{
    margin: -2rem -2rem 2rem -2rem !important;
}
.article-list .article{
    box-shadow: 0 0 30px rgba(0,0,0,.1)!important;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, .125) !important;
    border-radius: .35rem !important;
    visibility: visible !important;
    animation-duration: 600ms !important;
    animation-delay: 4ms !important;
    animation-name: zoomIn !important;
    border-radius: 15px !important;
}
.article-list.articles-leading{
    margin: 0 auto;
    max-width: 1200px;
    margin-bottom: 2rem;
}
.article{
    box-shadow: 0px 0px 30px rgba(0,0,0,.1) !important;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.125) !important;
    border-radius: 15px !important;
    visibility: visible !important;
    animation-duration: 600ms !important;
    animation-delay: 4ms !important;
    animation-name: zoomIn !important;
}
.item-text-holder{
    padding: 0 !important;
    border: 0px solid rgba(0, 0, 0, 0.125) !important;
}
.jbd-container img{
    max-width: 100%;
    border-radius: 15px;
}
.company-style-5-header-image{
    box-shadow: 0px 0px 30px rgba(0,0,0,.1) !important;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.125) !important;
    border-radius: 15px !important;
    margin: 0 auto;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 4ms;
    animation-name: zoomIn;
}
div#company-map{
    border-radius: 15px;
}

.slider-item{
    border-radius: 15px !important;
}
.reviews-wrapper{
    background: #fff;
    margin-bottom: 12px;
    padding-bottom: 15px;
    background-color: #FFFFFF;
    border-radius: 10px;
    border: 1px solid #D3D3D3;
    padding: 2rem;
    padding: 1rem;
    margin: 1rem;
    position: relative;
}
.jbd-container .socials-network a{
    padding: 5px !important;
    font-size: 50px;
    width: 60px;
    aspect-ratio: 1 / 1;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    margin: 2px 5px 0 0;
    border-radius: 50%;
    background: #7ca3d6;
    color: #eee;
}
div#gallery{
    box-shadow: 0px 0px 30px rgba(0,0,0,.1) !important;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.125) !important;
    margin: 0 auto;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 4ms;
    animation-name: zoomIn;
}
.article-details, .related-article-list-container, .blog-list-item-inner{
    max-width: 1200px;
    padding: 2rem;
    box-shadow: 0px 0px 30px rgba(0,0,0,.1) !important;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.125) !important;
    border-radius: .35rem !important;
    margin: 0 auto;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 4ms;
    animation-name: zoomIn;
}
.article-intro-image{
    margin: -2rem -2rem 2rem -2rem;
    overflow: hidden;
    padding-bottom: 55%;
    border-radius: .35rem !important;
    position: relative;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 4ms;
    animation-name: zoomIn;
}

.article-featured-video{
    margin: -2rem -2rem 2rem -2rem;
    overflow: hidden;
    border-radius: .35rem !important;
    position: relative;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 4ms;
    animation-name: zoomIn;
}
.sppb-row-container{
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
}
.offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent .menu-toggler{
    color: rgb(255 255 255);
}
.offcanvas-menu .offcanvas-inner ul.menu>li li a, .offcanvas-menu .offcanvas-inner ul.menu>li>ul li a{
    font-size: 14px !important;
    color: #ffffff !important;
}
h3.sppb-addon-title{
    text-align: center;
    display: block !important;
}
.blog{
    max-width: 1200px;
    margin: 0 auto;
}
.article-list.articles-leading{
    margin: 0 auto;
    max-width: 1200px;
}
.offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent li.menu-parent .menu-toggler{
    right: -35px;
}
.offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent li.menu-parent .menu-toggler{
    right: -35px;
    display: block;
    position: absolute;
    top: 50%;
    cursor: pointer;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    padding: 2px 10px;
}
.offcanvas-menu .offcanvas-inner a{
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #ffffff75 !important;
}
.offcanvas-menu .offcanvas-inner .sp-contact-info>li>a, .offcanvas-menu .offcanvas-inner .social-icons>li>a{
    opacity: 1;
}
i.icon.download-circle{
    display: none;
}
.jbd-container .view-counter{
    font-size: 30px;
    display: inline-block;
    color: #00bc5f;
}
.icon.eye{
    width: 30px;
    height: 30px;
    color: #00bc5f;
}

.sp-megamenu-parent{
    z-index: 9;
}
.jbd-container .listing-login-warning{
    z-index: 3000;
}
h5.sp-module-title{
    padding-top: 50px;
}
.container, .container-lg, .container-md, .container-sm, .container-xl{
    max-width: 100%;
    padding: 0px 10px;
}
.jbd-container .company-style-5-header-info .business-logo{
    width: auto !important;
    height: auto !important;
    min-width: 150px;
    border-radius: 5rem;
    margin: auto;
    padding: 0px;
}
.result-item.featured{
    background: linear-gradient(66deg, rgb(239 117 33 / 33%) 29%, rgba(254,249,246,1) 45%, rgba(255,255,255,1) 55%, rgb(124 164 221 / 33%) 100%) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ef7521",endColorstr="#7ca4dd",GradientType=1) !important;
}
.jbd-container .result-item .company-intro{
    display: block;
    font-size: 13px;
    color: #000000;
    background: #fff;
    border-radius: 0.8rem;
    padding: 5px;
    border-radius: 15px;
    font-weight: 700;
}
.jbd-container .list-style-7 .company-gallery img{
    border-radius: 15px;
}
.jbd-container .result-item{
    border-radius: 15px;

}
.ticketBookBtn{
    font-size: 14px;
    color: #f00;
    font-weight: bolder;
}
.btn-info, .btn-success{
    --bs-btn-color: #fff;
    --bs-btn-bg: #028900;
    --bs-btn-border-color: #028900;
    --bs-btn-hover-color: #d8ffd8;
    --bs-btn-hover-bg: #028900;
    --bs-btn-hover-border-color: #028900;
    --bs-btn-focus-shadow-rgb: 11,172,204;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #028900;
    --bs-btn-active-border-color: #028900;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #028900;
    --bs-btn-disabled-border-color: #028900;
    margin: 10px 0px;
    padding: 10px;
}
.jbd-container #slidergallery ul.gallery li img{
    min-width: 180px;
    min-height: 180px;
}
#sp-footer a, #sp-bottom a{
    color: #ef7521;
}
.responsive-container{
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%; /* Aspect Ratio 16:9 */
}
.videos-list-view .card-video{
    -webkit-box-shadow: 0 1.2rem 2.7rem rgb(52 79 110 / 0%);
    box-shadow: 0 1.2rem 2.7rem rgb(52 79 110 / 0%);
    box-shadow: 0px 0px 30px rgba(0,0,0,.1) !important;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.125) !important;
    border-radius: 15px !important;
    margin: 0 auto;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 4ms;
    animation-name: zoomIn;
}
.card-video-wrap{
    border-radius: 15px !important;
    border-bottom: 0px solid #f5f5f500;
    overflow: hidden !important;
    margin: -1rem -1rem 0rem -1rem;
    height: auto;
    max-height: 330px;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 4ms;
    animation-name: zoomIn;
}
.responsive-container iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.jbd-container .events-grid-style-1 .item-organizer .image-circle{
    width: 100px !important;
    height: 34px;
}
div#jtwrap{
    margin: 50px 0px;
}
section#sp-section-6{
    padding-top: 30px;
}
div#sp-trending-searches{
    padding-top: 25px;
}
.jbd-container .image-circle{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    max-width: 35px;
    max-height: 35px;
    margin-right: 10px;
    overflow: hidden;
    position: relative;
}
.sp-module ul>li>a{
    color: #ef7521;
}


.review-author-initials{
    position: absolute;
    top: 56%;
    left: 7px;
    right: 0px;
    transform: translateY(-50%) skewX(11deg);
    line-height: 1;
    font-size: 32px;
}
.videos-list-view .card-video .card-video-wrap{
    padding-bottom: 100%;
}
.review-author-wrapper .review-author{
    border-radius: 50%;
    text-align: center;
    padding-bottom: 100%;
    position: relative;
    text-transform: uppercase;
    color: #fff;
    font-weight: bold;
    background-image: url(https://bistrobuddy.com/images/icons/bg-logo.jpg) !important;
    background-position: 10px 10px!important;
    background-repeat: no-repeat !important;
    background-size: 50px 50px !important;
    color: white;
    z-index: 1;
    /* background: #fff0 !important; */
}
.feed-item-text{
    overflow-y: scroll;
    overflow-x: hidden;
}

.btn-amazon{
display: inline-block;
    padding: 10px 15px;
    background-color: #ffd814;
    color: #232f3e;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%); /* Adjusts position to center the button */
    margin-bottom: 30px; /* Adds buffer space below the button */
}

/* Hover effect: reverse the background and text colors */
.btn-amazon:hover{
    background-color: #232f3e; /* Changes background on hover */
    color: #ffd814; /* Changes text color on hover */
}



div#activity-post-text-length{
    display: none;
}
div#card-elements-processor{
    margin: 0 auto;
}
.jbd-container .btn-primary:hover{
    color: #fff;
    background-color: #ef7521;
    border-color: #ef7521;
}
#jdb-wrapper.tmpl-style-1 .nav>li.active ul, #jdb-wrapper.tmpl-style-1 .nav>li.active a{
    background-image: linear-gradient(165deg,rgb(255 197 156 / 45%) 0%,rgb(239 117 36 / 0%) 128%) !important;
    background-color: #ef7724;
    color: #fff;
}
#jdb-wrapper.tmpl-style-1 .nav>li.active ul li a{
    background: #f77400;
    color: #ffffff;
}
#jdb-wrapper.tmpl-style-1 .nav>li.active ul li.active{
    background: #e1e6ea3b;
}
#jdb-wrapper.tmpl-style-1 .nav>li.active{
    background: #ffffff00;
}
#jdb-wrapper.tmpl-style-1 .nav>li.active ul{
    background: #eef1f300;
    border-radius: 8px;
}
#jdb-wrapper.tmpl-style-1 .nav>li:hover a{
    background: #7ca3d6;
    color: #fff;
}
a.export_pdf.btn.btn-sm.btn-success.btn-panel.right, a.export_pdf.btn.btn-sm.btn-success.btn-panel.right, a.export_csv.btn.btn-sm.btn-primary.btn-panel.right, a.export_csv.btn.btn-sm.btn-primary.btn-panel.right{
    display: none;
}
h2.error-message{
    display: none !important;
}
.error-message{
    display: none !important;
}
.jbd-container.jdb-wrapper-front#jdb-wrapper{
    background: linear-gradient(165deg, rgba(124, 164, 221, 0.25) 0%, rgba(239, 117, 36, 0.25) 128%);
}
span.speasyimagegallery-album-title{
    display: none !important;
}
.speasyimagegallery-album-info{
    display: none;
}
.sp-module-content .menu li{
    display: inline-block;
    margin-right: 10px;
    font-size: 11px;
}
.speasyimagegallery-image-content{
    bottom: -100%;
}
.result-category{
    display: none;
}
.jbd-container .place-card-body{
    min-height: 175px;
    border-radius: 15px !important;
}
.jbd-container .place-card-body > img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    object-position: center;
    border-top-left-radius: 15px  !important;
    border-top-right-radius: 15px !important;
    aspect-ratio: 16 / 9 !important;
    }
section#section-id-T_lRz0Ow_K78hpHMVC4Mc{
    background-attachment: fixed  !important;
    background-position: 50% 50% !important;
}
.empty-cart{
    margin: 50px auto 0px auto;
    max-width: 250px;
}
.jbd-container .jpackage-wrap .jpackage-footer{
    background-color: #000000c9 !important;
    background-repeat: no-repeat !important;
    border: 6px double;
    border-left-color: #ef7724;
    border-right-color: #7CA4DD;
    border-top-color: #ef7724;
    border-bottom-color: #7CA4DD;
}
.cart-badge{
    background: #7ca4dd;
}
i.fa.fa-shopping-basket{
    background-image: url(https://www.bistrobuddy.com/images/bistro-buddy-bag-small.png);
    background-size: contain;
    color: #a12f2f00;
    background-repeat: no-repeat;
}
.jbd-mod-user .jbd-button-container .button-create{
    background-color: #000000c9 !important;
    background-repeat: no-repeat !important;
    border: 6px double;
    border-left-color: #ef7724;
    border-right-color: #7CA4DD;
    border-top-color: #ef7724;
    border-bottom-color: #7CA4DD;
}
.jbd-container .jpackage-wrap .jpackage-trial-text{
    background-repeat: no-repeat !important;
    border: 6px double;
    border-left-color: #ef7724;
    border-right-color: #7CA4DD;
    border-top-color: #ef7724;
    border-bottom-color: #7CA4DD;
}
.jbd-container *[class*=jbtn-order] .jbtn-order-btn{
    padding: 10px !important;
    background-color: #009020 !important;
}
.jbd-container .process-steps{
    margin: 40px auto;
}
button.btn.btn-success.search-dir-button{
    width: -webkit-fill-available;
}
.method-descriptions{
  font-size: 18pt;
  font-weight: bold;
  color: black; /* Text color */
}
.payment-errors{
  color: #ef7521; /* Error messages in orange */
}
#card-elements-processor{
  background-color: white;
  border: 1px solid #7ca4dd; /* Blue border for the card element */
}
#card-button{
  background-color: #ef7521; /* Orange background for the button */
  color: white; /* White text for the button */
  font-size: 18pt;
  font-weight: bold;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
  display: block; /* To override the display:none; */
}
/* Additional styles for Stripe elements */
.StripeElement{
  background-color: white;
  padding: 10px;
  border: 1px solid #ccd0d2; /* Neutral border color for input fields */
}
.StripeElement--focus{
  border-color: #ef7521; /* Orange border for focus */
}
.StripeElement--invalid{
  border-color: #fa755a; /* Red border for invalid input */
}
.StripeElement--webkit-autofill{
  background-color: #fefde5 !important; /* Background for autofill */
}
#card-elements-processor{
    background-color: white;
    border: 8px solid #4CAF50;
    border-radius: 11px;
}
.sp-megamenu-parent{
    margin: 0px 0px 0px -25px;
}
.jbd-container .filter-switch{
    background-color: #003cde;
}
.jbd-container .announcement-container img{
    width: 100px;
    height: 100px;
}
.view-all-offers a{
    display: inline-block;
    padding: 10px 20px;
    margin: 10px 27%;
    background-color: #007bff;
    color: white;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
    transition: background-color 0.3s;
}
.view-all-offers a:hover{
    background-color: #0056b3; /* Darker shade for hover effect */
    text-decoration: none; /* Ensure underline doesn't re-appear on hover */
    color: white; /* Text color remains the same on hover */
}
.view-all-items a{
    display: inline-block;
    padding: 10px 20px;
    margin: 10px 27%;
    background-color: #007bff;
    color: white;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
    transition: background-color 0.3s;
}
.view-all-items a:hover{
    background-color: #0056b3; /* Darker shade for hover effect */
    text-decoration: none; /* Ensure underline doesn't re-appear on hover */
    color: white; /* Text color remains the same on hover */
}
div#column-id-38brzRHCCU5OosDNfyLhD{
    padding-left: 0px;
    padding-right: 0px;
}
div#column-id-UtEmfOQp0Ye-KszEklLC6{
    padding-left: 0px;
    padding-right: 0px;
}
div#column-id-foBM6yfIRnMNFhZrIoe8n{
    padding-left: 0px;
    padding-right: 0px;
}
div#column-id-WR9L-wTFIhVR9LcQj3Kf-{
    padding-left: 0px;
    padding-right: 0px;
}
#column-id-BVdVakdE8Uzuxg3YdqI61{
    padding-top: 100px;
    padding-right: 5px;
    padding-bottom: 0px;
    padding-left: 5px;
}
#sp-page-builder .sppb-icon span{
    background: #ef2121;
    opacity: 0.5;
}
#sp-footer a, #sp-bottom a{
    color: #252525;
}
.article-full-image{
    margin: -1.3rem -1.3rem 1.3rem -1.3rem  !important;
    overflow: hidden  !important;
    border-radius: 15px !important;
    position: relative  !important;
    visibility: visible  !important;
    animation-duration: 600ms  !important;
    animation-delay: 4ms  !important;
    animation-name: zoomIn  !important;
    border-radius: 15px !important;
}
.article-details .article-full-image{
    text-align: center;
}
.sp-scroll-up{
    right: 50%;
    margin-right: -15px;
}
.module.latestbusiness-box{
    -webkit-box-shadow: 0 1.2rem 2.7rem rgb(52 79 110 / 0%);
    box-shadow: 0 1.2rem 2.7rem rgb(52 79 110 / 0%);
}

#searchform .form-field select, #searchform .form-field input[type=text]{
    font-size: 24px;
    font-weight: 600;
    height: 50px;
}
#searchform .form-field select{
    font-size: 24px;
    font-weight: 600;
    height: 50px;
}
#searchform .search-dir-button{
    font-weight: 500 !important;
    font-size: 24px !important;
    height: 50px!important;
}
.form-field select{
    font-size: 24px !important;
}
i.la.la-angle-left{
    left: -50px;
    display: inline;
}
i.la.la-angle-left{
    margin-left: 10px;
}
i.la.la-angle-right{
    margin-right: 10px;
}
.slick-slider .controller-prev i, .slick-slider .controller-next i, .carousel-control-next-icon, .carousel-control-prev-icon{
    background: #2d2d2dde;
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.7);
    font-size: 48px;
    font-weight: bold;
    height: 80px;
    width: 80px;
    line-height: 80px;
    margin-top: 25px;
    position: absolute;
    text-align: center;
    top: 50%;
    transition: all 300ms ease 0s;
    z-index: 999;
    border: solid;
    border-color: #ef7521b0;
}
.carousel-control-next-icon{
    background-image: url("https://www.bistrobuddy.com/images/next.svg"); /* Use the external SVG file for the next icon */
    background-size: 50px;
    background-repeat: no-repeat;
    background-position: center;
    animation-fill-mode: backwards;
}
.carousel-control-prev-icon{
    background-image: url("https://www.bistrobuddy.com/images/prev.svg"); /* Use the external SVG file for the previous icon */
    background-size: 50px;
    background-repeat: no-repeat;
    background-position: center;
    animation-fill-mode: backwards;
}
h3.sppb-addon-title{
  text-align: center;
}
/* General Styles */
.jbd-container .autocomplete-box{
    padding: 8px;
    background-color: #4CAF50;
    border-radius: 15px;
}
.col-lg-5.order-1.order-lg-2{
    background: #4caf50;
    padding: 8px;
    border-radius: 15px;
}
.order-items .order-spacer{
    border: 4px solid #4caf50 !important;
    margin: 40px 0;
    border-radius: 15px;
}
.formError .formErrorContent{
    width: 100%;
    background: #ee0101;
    position: relative;
    color: #fff;
    min-width: 225px !important;
    font-size: 14px;
    border: 4px double #ddd;
    box-shadow: 0 0 6px #000;
    -moz-box-shadow: 0 0 6px #000;
    -webkit-box-shadow: 0 0 6px #000;
    -o-box-shadow: 0 0 6px #000;
    padding: 4px 10px 4px 10px !important;
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    -o-border-radius: 6px;
    animation: spin-border-colors 2s infinite linear!important;
}
.play-pause{
    opacity: 0.5;
}
.videos-list-view .card-video .card-video-wrap .play-pause{
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 2;
    background: #ef2121 !important;
    opacity: 0.5 !important;
    border-radius: 16.8rem;
    width: 56px !important;
    height: 56px !important;
    font-size: 2.2rem;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease;
}

.videos-list-view .card-video .card-video-wrap .play-pause:hover{
    width: 75px !important;
    height: 75px !important;
    opacity: 0.6;
    border:2px;
}


 
 .videoSitesLoader{
    border-radius: 15px;
}
.burger-icon{
    margin-top: 0px !important;
}
/* Offcanvas Menu Styles */
.offcanvas-active .burger-icon>span, #modal-menu-toggler.active .burger-icon>span{
    background-color: #ffffff;
}
.offcanvas-menu .offcanvas-inner ul.menu>li>a, .offcanvas-menu .offcanvas-inner ul.menu>li>span, .offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>a>.menu-toggler, .offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>.menu-separator>.menu-toggler, .offcanvas-menu .offcanvas-inner ul.menu>li li a, .offcanvas-menu .offcanvas-inner ul.menu>li>ul li a{
    color: #ffffff;
}
.offcanvas-menu .offcanvas-inner a{
    color: #ef7724;
    font-weight: 500;
}
.offcanvas-menu .fa, .offcanvas-menu .fab, .offcanvas-menu .far, .offcanvas-menu .fas{
    color: #7ca3d6;
    font-size: 20px;
}

/* Header Styles */



/* Progress Bar Styles */
.sp-reading-progress-bar{
    position: fixed;
    z-index: 9999;
    height: 10px;
    top: 0;
    background-color: #80a2d0 !important;
    border-right: 30px solid #ef7524;
    width: calc(100% - 6.65115%);
}
/* Overlay Styles */
.offcanvas-overlay{
    z-index: 9106 !important;
    background: rgb(239,117,33);
    background: linear-gradient(90deg, rgba(239,117,33,1) 4%, rgba(239,117,33,0.7931547619047619) 7%, rgba(239,117,33,0) 49%, rgba(124,164,221,0) 49%, rgba(124,164,221,0.9332107843137255) 97%, rgba(124,164,221,1) 100%);
}
/* Mega Menu Styles */
.sp-megamenu-parent .sp-mega-group>li>a{
    color: #ef7521;
}
/* Event Container Styles */
#events-container .entry-date, #events-container .item-location, .jbd-container .jitem-card .jitem-date-wrap{
    background: #00000078 !important;
    background-color: #000000c9 !important;
    background-image: url(https://bistrobuddy.com/images/bistro_buddy/bistro-buddy-logo-tiny-glow.png) !important;
    background-repeat: no-repeat !important;
    border: 6px double;
    border-left-color: #ef7724;
    border-right-color: #7CA4DD;
    border-top-color: #ef7724;
    border-bottom-color: #7CA4DD;
    border-radius: 15px;
    background-size: contain !important;
    padding-top: 30px;
}
.jbd-container .bg-dark, .jbd-container .event-container .event-main-info{
    background-color: #000000c9 !important;
    background-image: url(https://www.bistrobuddy.com/images/bistro_buddy/bistro-buddy-logo-tiny-glow.png) !important;
    background-repeat: no-repeat !important;
    border: 6px double;
    border-left-color: #ef7724;
    border-right-color: #7CA4DD;
    border-top-color: #ef7724;
    border-bottom-color: #7CA4DD;
}
.jbd-container .event-container .event-main-info{
    background-position: center top !important;
    border-radius: 15px;
    text-transform: uppercase;
    padding: 40px 0px;
}
/* Button Styles */
.jbd-container .btn-primary:not(:disabled):not(.disabled):active, .jbd-container .btn-primary:not(:disabled):not(.disabled).active, .show>.jbd-container .btn-primary.dropdown-toggle, .jbd-container .btn-primary{
    color: #252729;
    background-color: #ef7521;
    border-color: #252729;
    font-weight: 600;
    font-size: 20px;
}
.jbd-container .btn-primary:not(:disabled):not(.disabled):active, .jbd-container .btn-primary:not(:disabled):not(.disabled).active, .show>.jbd-container .btn-primary.dropdown-toggle{
    background-color: #7ca3d6;
    border-color: #ef7724;
}
.jbd-mod-user .jbd-button-container .button-create:hover{
    color: #00ff0a !important;
}
/* Contact Info Styles */
.sp-contact-info li{
    display: inline-block;
    margin: 0px 10px 0 0;
    font-size: 130%;
    white-space: nowrap;
}
/* Header Styles */



.jbd-container .jupload .jupload-body .jupload-files{
    display: flex;
    margin: 4px 0;
    background-color: #fff;
    padding: 15px;
    border-radius: 15px;
    border: 6px double;
    border-left-color: #ef7724;
    border-right-color: #7CA4DD;
    border-top-color: #ef7724;
    border-bottom-color: #7CA4DD;
    animation: spin-border-colors 2s infinite linear;
}
/* Offcanvas Menu Styles */
.offcanvas-menu .offcanvas-inner ul.menu>li>a, .offcanvas-menu .offcanvas-inner ul.menu>li>span{
    display: block;
    font-size: 20px;
    padding: 10px 0;
    position: relative;
    line-height: 18px;
    opacity: unset;
    color: white;
    transition: .3s;
}
.offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>a>.menu-toggler, .offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>.menu-separator>.menu-toggler{
    color: #ffffff;
}
.offcanvas-menu .offcanvas-inner ul.menu>li li a, .offcanvas-menu .offcanvas-inner ul.menu>li>ul li a{
    color: #ffffff;
    font-size: 15px;
    padding: 4px 0;
    line-height: 35px;
    font-weight: 700;
}
.offcanvas-menu .offcanvas-inner ul.menu li.active a{
    color: #252729 !important;
}
/* Logo Image Styles */


/* Font Awesome Icon Styles */
.offcanvas-menu .fa, .offcanvas-menu .fab, .offcanvas-menu .far, .offcanvas-menu .fas{
    color: #7ca3d6;
    font-size: 20px;
}
/* Link Styles */
.offcanvas-menu .offcanvas-inner a{
    color: #ef7724;
    font-weight: 500;
}
.offcanvas-menu .offcanvas-inner a{
    font-weight: 900;
}
/* Scrollbar Styles for Webkit Browsers */
::-webkit-scrollbar{
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track{
    border-radius: 4px;
    background: linear-gradient(165deg, rgba(124, 164, 221, 0.25) 0%, rgba(239, 117, 36, 0.25) 128%);
}
::-webkit-scrollbar-thumb{
    border-radius: 4px;
    background-color: #ef7724;
}
/* Scrollbar Styles for Firefox */
*{
    scrollbar-width: thin;
    scrollbar-color: #ef7724 linear-gradient(165deg, rgba(124, 164, 221, 0.25) 0%, rgba(239, 117, 36, 0.25) 128%);
}
/* Scrollbar Styles for Internet Explorer and Edge */
*::-ms-scrollbar{
    width: 8px;
}
*::-ms-scrollbar-track{
    border-radius: 4px;
    background: linear-gradient(165deg, rgba(124, 164, 221, 0.25) 0%, rgba(239, 117, 36, 0.25) 128%);
}
*::-ms-scrollbar-thumb{
    border-radius: 4px;
    background-color: #ef7724;
}
/* Styles for Stripe Elements */
.ElementsApp, .ElementsApp .InputElement{
    color: #ef7626;
}
.ElementsApp .InputElement.is-invalid{
    color: #ff2b00;
}
/* Page Title Styles */
.sp-page-title{
    background: linear-gradient(66deg, rgba(239,117,33,1) 0%, rgba(254,249,246,1) 45%, rgba(255,255,255,1) 55%, rgba(124,164,221,1) 100%) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ef7521",endColorstr="#7ca4dd",GradientType=1) !important;
}
h2.sp-page-title-heading, ol.breadcrumb{
    text-shadow: 1px 1px 3.7px rgba(0,0,0,1);
        color: #fff;
    font-weight: 900;
}
.sp-page-title .sp-page-title-sub-heading{
    font-weight: bold;
}
.sp-page-title .breadcrumb>span, .sp-page-title .breadcrumb>li, .sp-page-title .breadcrumb>li+li:before, .sp-page-title .breadcrumb>li>a{
    color: #fff;
    text-shadow: 1px 1px 3.7px rgba(0,0,0,1);
    color: #fff;
    font-weight: 900;
}
/* User CP Panel Styles */
.jbd-container.jdb-wrapper-front#jdb-wrapper{
    padding: 20px 20px 50px 20px !important; 
    border-radius: 24px;
    background-image: linear-gradient(165deg, rgba(124, 164, 221, 0.25) 0%, rgba(239, 117, 36, 0.25) 128%) !important;
}
#jdb-wrapper.tmpl-style-1 .nav>li.active ul, #jdb-wrapper.tmpl-style-1 .nav>li.active a{
    background-image: linear-gradient(165deg,rgb(255 197 156 / 45%) 0%,rgb(239 117 36 / 0%) 128%) !important;
    background-color: #ef7724;
    color: #fff;
}
/* Bottom Section Styles */
#sp-bottom{
    background: linear-gradient(66deg, rgba(239,117,33,1) 0%, rgba(254,249,246,1) 45%, rgba(255,255,255,1) 55%, rgba(124,164,221,1) 100%) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ef7521",endColorstr="#7ca4dd",GradientType=1) !important;
}
/* Logo Image Styles */


/* Offcanvas Menu Styles */
.offcanvas-menu .fa, .offcanvas-menu .fab, .offcanvas-menu .far, .offcanvas-menu .fas{
    color: #7ca3d6;
    font-size: 20px;
}
.offcanvas-menu .offcanvas-inner a{
    color: #7fa2d1;
    font-weight: 900;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}
.offcanvas-menu .offcanvas-inner a{
    color: #ef7724;
    font-weight: 500;
}
/* Contact Info Styles */
.sp-contact-info li{
    display: inline-block;
    margin: 0px 10px 0 0;
    font-size: 130%;
    white-space: nowrap;
}
/* Button Styles */
.jbd-container .btn-primary:not(:disabled):not(.disabled):active, .jbd-container .btn-primary:not(:disabled):not(.disabled).active, .show>.jbd-container .btn-primary.dropdown-toggle{
    color: #000;
    background-color: #7ca3d6;
    background-image: none;
    border-color: #ef7724;
    font-weight: 600;
    font-size: 20px;
}
.jbd-container .btn-primary{
    color: #252729;
    background-color: #ef7521;
    border-color: #252729;
    border-radius: 15px;
    background-position: center;
    transition: background .8s;
    font-weight: 600;
    font-size: 20px;
}
/* Offcanvas Menu List Styles */
.offcanvas-menu .offcanvas-inner ul.menu>li>a, .offcanvas-menu .offcanvas-inner ul.menu>li>span{
    display: block;
    font-size: 30px;
    padding: 9px 0px;
    position: relative;
    line-height: 30px;
    opacity: unset;
    color: white;
    transition: .3s;
    text-shadow: 2px 2px 4px rgb(0 0 0);
}
.offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>a>.menu-toggler, .offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>.menu-separator>.menu-toggler{
    color: #ffffff;
}
.offcanvas-menu .offcanvas-inner ul.menu>li li a, .offcanvas-menu .offcanvas-inner ul.menu>li>ul li a{
    color: #ffffff;
    font-size: 15px;
    padding: 4px 0;
    line-height: 35px;
    font-weight: 700;
}
/* Scrollbar Styles for Webkit Browsers */
::-webkit-scrollbar{
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track{
    border-radius: 4px;
    background: linear-gradient(165deg, rgba(124, 164, 221, 0.25) 0%, rgba(239, 117, 36, 0.25) 128%);
}
::-webkit-scrollbar-thumb{
    border-radius: 4px;
    background-color: #ef7724;
}
/* Scrollbar Styles for Firefox */
*{
    scrollbar-width: thin;
    scrollbar-color: #ef7724 linear-gradient(165deg, rgba(124, 164, 221, 0.25) 0%, rgba(239, 117, 36, 0.25) 128%);
}
/* Scrollbar Styles for Internet Explorer and Edge */
*::-ms-scrollbar{
    width: 8px;
}
*::-ms-scrollbar-track{
    border-radius: 4px;
    background: linear-gradient(165deg, rgba(124, 164, 221, 0.25) 0%, rgba(239, 117, 36, 0.25) 128%);
}
*::-ms-scrollbar-thumb{
    border-radius: 4px;
    background-color: #ef7724;
}
/* Styles for Credit Card Input Fields */
.ElementsApp, .ElementsApp .InputElement{
    color: #ef7626;
}
.ElementsApp .InputElement.is-invalid{
    color: #ff2b00;
}
/* Page Title Styles */
.sp-page-title{
    background: linear-gradient(66deg, rgba(239,117,33,1) 0%, rgba(254,249,246,1) 45%, rgba(255,255,255,1) 55%, rgba(124,164,221,1) 100%) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ef7521",endColorstr="#7ca4dd",GradientType=1) !important;
}
h2.sp-page-title-heading, ol.breadcrumb{
    text-shadow: 2px 2px 3px rgba(0,0,0,1);
}
.offcanvas-menu .offcanvas-inner ul.menu>li li a, .offcanvas-menu .offcanvas-inner ul.menu>li>ul li a{
    color: #ffffff;
    font-size: 17px;
    padding: 4px 0;
    line-height: 35px;
    font-weight: 800;
}
.offcanvas-menu .offcanvas-inner ul.menu>li a:hover, .offcanvas-menu .offcanvas-inner ul.menu>li a:focus, .offcanvas-menu .offcanvas-inner ul.menu>li span:hover, .offcanvas-menu .offcanvas-inner ul.menu>li span:focus{
    color: #00ff03 !important;
}
#es .es-mobile-filter-slider .is-active .es-mobile-filter-slider__btn, #es .es-mobile-filter-slider .is-active .es-mobile-filter-slider__btn:focus, #es .es-mobile-filter-slider .is-active .es-mobile-filter-slider__btn:active, #es .es-story-privacy .es-privacy .es-privacy-toggle, #es .btn-es-primary{
    background: #008000 !important;
    color: #ffffff !important;
    border-color: rgba(78, 114, 226, 0) !important;
}
.sp-page-title-sub-heading{
    color: black !important;
}
.offcanvas-menu .offcanvas-inner ul.menu li.active a{
    color: #ef7721 !important;
}
html{
  scroll-behavior: smooth;
}
#es .es-stream-embed__meta{
    color: #888;
    padding: 0px 20px;
    margin-bottom: 8px;
}
#es .es-stream-embed__title{
    padding: 5px 20px;
    font-weight: 700;
    font-size: 24px;
}
#sp-page-builder .blog-list-container .item-image-wrap{
    min-height: 233px;
    position: relative;
    z-index: 1;
    width: 412px;
}

.sppb-img-responsive{
    overflow: hidden;
    border-radius: 15px !important;
    position: relative;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 4ms;
    animation-name: zoomIn;
}
/* General Styles */
.entry-video{
    height: 230px; /* Default height */
    overflow: hidden;
    border-radius: 15px !important;
    position: relative;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 4ms;
    animation-name: zoomIn;
}
#sp-page-builder .blog-list-container .item-image-wrap{
    position: relative;
    z-index: 1;
}
.sppb-addon-article{
    object-fit: cover;
    object-position: center;
    border: 1px solid #d2d2d2;
    border-radius: 8px;
    background: #fff;
    margin: 1rem 0;
}
div#events-container{
    margin-top: 150px;
}
.sppb-article-info-wrap{
    padding: 1rem;
}



.jbd-container .card{
    border-radius: 15px !important;
    border: 0px solid rgba(0, 0, 0, 0.000) !important;
    background-color: #fff0 !important;
    padding: 10px;
}

.jbd-container #companies-map-container{
    border: 1px solid #c7c7c7;
    margin-bottom: 25px;
    border-radius: 15px;
    overflow: hidden;
    border: 0px solid;
}
/* Medium screens */
@media screen and (max-width: 1450px){
    .entry-video{
        height: 165px;
    }
}
/* Medium screens */

@media screen and (max-width: 1401px){
    .entry-video{
        height: 198px;
    }
}
/* Large screens, default styles */
@media screen and (min-width: 1401px){
    .entry-video{
        height: 230px;
    }
    
}
/* Medium screens */
@media screen and (max-width: 1200px){
    .entry-video{
        height: 165px;
    }
    div#companies-search{
        margin-top: 70px;
    }
    #sp-page-builder .blog-list-container .item-image-wrap{
        min-height: 159px;
        width: 291px;
    }
    
}
@media screen and (max-width: 992px){
    
    #sp-page-builder .blog-list-container .item-image-wrap{
        min-height: 186px;
        width: 331px;
    }
    .entry-video{
        height: 120px;
    }
    
}
@media screen and (max-width: 805px){
    
    .col-lg-3{
        flex: 0 0 auto;
        width: 50%;
    }
    #sp-page-builder .blog-list-container .item-image-wrap{
        min-height: 285px;
        width: 508px;
    }
    
}
@media screen and (max-width: 768px){
    .entry-video{
        height: 286px;
    }
    .page-content{
    margin-top: 20px;
}
    .vent-container{
        padding: 0;
    }
    .sppb-addon-image-content .sppb-image-holder{
        position: inherit;
        width: 100% !important;
        height: 400px;
    }
    .jbd-container .event-container{
        width: 100%;
        clear: both;
        padding: 0;
    }
    .featured-text{
    margin-top: -45px;
    }
  .listing-style-8{
    margin-top: 250px !important;
  }
  
#dir-search-listing-top{
    display: none !important;
  }
}
/* Small screens */
@media screen and (max-width: 480px){
    .hidden-xs{
        display: block;
    }
    .ticketBookBtn{
        background: #eee;
    }
    #sp-page-builder .blog-list-container .item-image-wrap{
        min-height: 288px;
        width: 508px;
    }
    .entry-video{
        height: 248px;
    }
    ins.adsbygoogle{
        margin: 60px 0;
        max-width: 300px;
    }
}
/* Very small screens and up */
@media screen and (min-width: 481px){
    .hidden-xs{
        display: block;
    }
}

/* ========================================================================
   BISTRO BUDDY V11 — RESPONSIVE NAV, MENU/PRODUCT UX + SMART CART OVERLAY
   Progressive enhancement only. Existing J-BusinessDirectory cart actions,
   checkout, item forms, and detail-page lightboxes remain the source of truth.
   ======================================================================== */

:root {
  --bb-orange: #ef7724;
  --bb-orange-2: #ff9d54;
  --bb-blue: #7ca4dd;
  --bb-blue-2: #a9c9f6;
  --bb-ink: #202124;
  --bb-panel: #ffffff;
  --bb-soft: #f5f8fc;
  --bb-line: rgba(33, 49, 75, .14);
  --bb-shadow: 0 18px 50px rgba(22, 34, 54, .22);
  --bb-radius: 18px;
}

/* Main-level icons: small, deliberate separation from the title only. */
html body #sp-header .sp-megamenu-parent > li > a > i,
html body #sp-header .sp-megamenu-parent > li > a > span[class*="fa"],
html body #sp-header .sp-megamenu-parent > li > a > span[class*="icon-"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 4px !important;
  transform-origin: center !important;
  transition: transform .22s ease, color .22s ease, filter .22s ease !important;
}

@media (min-width: 1500px) and (hover: hover) {
  html body #sp-header .sp-megamenu-parent > li > a {
    position: relative !important;
    border-radius: 9px !important;
    transition: background-color .22s ease, color .22s ease, transform .22s ease !important;
  }
  html body #sp-header .sp-megamenu-parent > li > a::after {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: 7px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--bb-orange), var(--bb-blue));
    opacity: 0;
    transition: left .22s ease, right .22s ease, opacity .22s ease;
  }
  html body #sp-header .sp-megamenu-parent > li:hover > a,
  html body #sp-header .sp-megamenu-parent > li:focus-within > a {
    background: rgba(255,255,255,.07) !important;
    transform: translateY(-1px);
  }
  html body #sp-header .sp-megamenu-parent > li:hover > a::after,
  html body #sp-header .sp-megamenu-parent > li:focus-within > a::after {
    left: 10px;
    right: 10px;
    opacity: 1;
  }
  html body #sp-header .sp-megamenu-parent > li:hover > a > i,
  html body #sp-header .sp-megamenu-parent > li:hover > a > span[class*="fa"],
  html body #sp-header .sp-megamenu-parent > li:focus-within > a > i,
  html body #sp-header .sp-megamenu-parent > li:focus-within > a > span[class*="fa"] {
    transform: translateY(-1px) rotate(-4deg) scale(1.08);
    filter: drop-shadow(0 2px 5px rgba(124,164,221,.45));
  }
  html body #sp-header .sp-megamenu-parent > li:hover > .sp-dropdown,
  html body #sp-header .sp-megamenu-parent > li:focus-within > .sp-dropdown {
    animation: bb-v11-dropdown-in .2s ease-out both;
  }
}

@keyframes bb-v11-dropdown-in {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Fixed mega menus use their existing X centering while receiving only Y motion. */
@media (min-width: 1500px) {
  html body #sp-header .sp-megamenu-parent > li:hover > .sp-dropdown.sp-dropdown-mega.sp-menu-center,
  html body #sp-header .sp-megamenu-parent > li:focus-within > .sp-dropdown.sp-dropdown-mega.sp-menu-center,
  html body #sp-header .sp-megamenu-parent > li:hover > .sp-dropdown.sp-dropdown-mega.sp-menu-full,
  html body #sp-header .sp-megamenu-parent > li:focus-within > .sp-dropdown.sp-dropdown-mega.sp-menu-full {
    animation: bb-v11-mega-in .2s ease-out both;
  }
}
@keyframes bb-v11-mega-in {
  from { opacity: 0; transform: translate(-50%, -6px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

/* General graphical refinement for directory cards. */
html body .jbd-container .jitem-card,
html body .jbd-container .place-card,
html body .jbd-container [class*="offer-card"],
html body .jbd-container [class*="product-card"] {
  border: 1px solid rgba(124,164,221,.28) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
  box-shadow: 0 8px 24px rgba(32, 48, 75, .10) !important;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease !important;
}
@media (hover: hover) {
  html body .jbd-container .jitem-card:hover,
  html body .jbd-container .place-card:hover,
  html body .jbd-container [class*="offer-card"]:hover,
  html body .jbd-container [class*="product-card"]:hover {
    transform: translateY(-4px);
    border-color: rgba(239,119,36,.55) !important;
    box-shadow: 0 18px 38px rgba(32, 48, 75, .18) !important;
  }
}

/* JS marks actual collection cards; detail pages keep their normal lightbox. */
html body.bb-menu-collection .bb-item-card {
  position: relative !important;
  isolation: isolate;
  overflow: hidden;
}
html body.bb-menu-collection .bb-item-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  z-index: 4;
  background: linear-gradient(90deg, var(--bb-orange), var(--bb-blue));
  transform: scaleX(.25);
  transform-origin: left;
  opacity: .75;
  transition: transform .28s ease, opacity .28s ease;
}
@media (hover: hover) {
  html body.bb-menu-collection .bb-item-card:hover::before {
    transform: scaleX(1);
    opacity: 1;
  }
}
html body.bb-menu-collection .bb-item-card img {
  transition: transform .35s ease, filter .35s ease !important;
}
@media (hover: hover) {
  html body.bb-menu-collection .bb-item-card:hover img {
    transform: scale(1.035);
    filter: saturate(1.06) contrast(1.02);
  }
}
html body.bb-menu-collection .bb-item-card [data-bb-item-url] {
  cursor: pointer !important;
}
html body.bb-menu-collection .bb-item-card [data-bb-item-url]::after {
  content: "View details";
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 5;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(32,33,36,.84);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .22s ease, transform .22s ease;
  pointer-events: none;
}
@media (hover: hover) {
  html body.bb-menu-collection .bb-item-card:hover [data-bb-item-url]::after {
    opacity: 1;
    transform: translateY(0);
  }
}

.bb-save-item {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 8 !important;
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 50% !important;
  background: rgba(32,33,36,.78) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.22) !important;
  cursor: pointer !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform .2s ease, background-color .2s ease, color .2s ease !important;
}
.bb-save-item:hover,
.bb-save-item:focus-visible {
  transform: scale(1.08);
  background: var(--bb-orange) !important;
  outline: 3px solid rgba(124,164,221,.38) !important;
  outline-offset: 2px !important;
}
.bb-save-item[aria-pressed="true"] {
  background: var(--bb-orange) !important;
  color: #fff !important;
}

/* Add-to-cart and quantity controls gain clearer interactive states. */
html body .jbd-container button[class*="cart"],
html body .jbd-container a[class*="cart"],
html body .jbd-container input[type="submit"][value*="Cart" i],
html body .jbd-container button[data-bb-add-cart] {
  border-radius: 10px !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
@media (hover: hover) {
  html body .jbd-container button[class*="cart"]:hover,
  html body .jbd-container a[class*="cart"]:hover,
  html body .jbd-container input[type="submit"][value*="Cart" i]:hover,
  html body .jbd-container button[data-bb-add-cart]:hover {
    transform: translateY(-2px) scale(1.015);
    box-shadow: 0 10px 20px rgba(0,144,32,.24) !important;
    filter: saturate(1.08);
  }
}

/* Smart cart launcher. */
#bb-smart-cart-launcher {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(78px + env(safe-area-inset-bottom));
  z-index: 2147482400;
  min-width: 54px;
  height: 54px;
  padding: 0 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 999px;
  background: linear-gradient(135deg, #202124 0%, #30343a 100%);
  color: #fff;
  box-shadow: 0 14px 34px rgba(0,0,0,.28), 0 0 0 2px rgba(239,119,36,.55);
  font-weight: 900;
  cursor: pointer;
  transform: translateZ(0);
  transition: transform .22s ease, box-shadow .22s ease;
}
#bb-smart-cart-launcher:hover,
#bb-smart-cart-launcher:focus-visible {
  transform: translateY(-3px) scale(1.025);
  box-shadow: 0 18px 42px rgba(0,0,0,.34), 0 0 0 3px rgba(124,164,221,.58);
  outline: none;
}
#bb-smart-cart-launcher .bb-cart-launch-icon {
  font-size: 22px;
  line-height: 1;
}
#bb-smart-cart-launcher .bb-cart-launch-label {
  font-size: 13px;
}
#bb-smart-cart-launcher .bb-cart-count {
  min-width: 23px;
  height: 23px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--bb-orange);
  color: #fff;
  font-size: 12px;
  box-shadow: 0 0 0 2px #202124;
}
#bb-smart-cart-launcher.bb-cart-bump { animation: bb-cart-bump .55s ease; }
@keyframes bb-cart-bump {
  0%,100% { transform: scale(1); }
  35% { transform: scale(1.13) rotate(-2deg); }
  65% { transform: scale(.98) rotate(1deg); }
}

/* Smart cart overlay and drawer. */
#bb-smart-cart {
  position: fixed;
  inset: 0;
  z-index: 2147482500;
  visibility: hidden;
  pointer-events: none;
}
#bb-smart-cart[aria-hidden="false"] {
  visibility: visible;
  pointer-events: auto;
}
#bb-smart-cart .bb-cart-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(10,14,22,.62);
  opacity: 0;
  cursor: default;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  transition: opacity .24s ease;
}
#bb-smart-cart[aria-hidden="false"] .bb-cart-backdrop { opacity: 1; }
#bb-smart-cart .bb-cart-drawer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(560px, 46vw);
  min-width: 420px;
  display: grid;
  grid-template-rows: auto auto auto minmax(0,1fr) auto;
  background:
    radial-gradient(circle at 100% 0, rgba(124,164,221,.22), transparent 32%),
    radial-gradient(circle at 0 0, rgba(239,119,36,.18), transparent 28%),
    #fff;
  color: var(--bb-ink);
  box-shadow: -22px 0 62px rgba(0,0,0,.34);
  transform: translateX(104%);
  transition: transform .28s cubic-bezier(.2,.8,.2,1);
  overflow: hidden;
}
#bb-smart-cart[aria-hidden="false"] .bb-cart-drawer { transform: translateX(0); }
.bb-cart-open { overflow: hidden !important; }

.bb-cart-head {
  min-height: 72px;
  padding: 14px 16px 12px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--bb-line);
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.bb-cart-brand {
  flex: 1 1 auto;
  min-width: 0;
}
.bb-cart-eyebrow {
  display: block;
  color: var(--bb-orange);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.bb-cart-title {
  margin: 1px 0 0;
  font-size: clamp(19px, 2.2vw, 27px);
  line-height: 1.05;
  font-weight: 950;
}
.bb-cart-head-count {
  min-width: 32px;
  height: 32px;
  padding: 0 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(135deg,var(--bb-orange),#ff9b4e);
  color: #fff;
  font-weight: 950;
  box-shadow: 0 7px 16px rgba(239,119,36,.28);
}
.bb-cart-icon-button {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bb-line);
  border-radius: 12px;
  background: #fff;
  color: var(--bb-ink);
  font-size: 21px;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}
.bb-cart-icon-button:hover,
.bb-cart-icon-button:focus-visible {
  transform: translateY(-1px);
  border-color: var(--bb-blue);
  background: var(--bb-soft);
  outline: none;
}

.bb-cart-progress {
  padding: 10px 16px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 5px;
  border-bottom: 1px solid var(--bb-line);
  background: rgba(245,248,252,.88);
}
.bb-cart-step {
  position: relative;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  color: #6d7480;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
.bb-cart-step::before {
  content: attr(data-step);
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #dfe5ed;
  color: #4a5360;
  font-size: 10px;
}
.bb-cart-step.is-active { color: var(--bb-ink); }
.bb-cart-step.is-active::before,
.bb-cart-step.is-done::before {
  background: linear-gradient(135deg,var(--bb-orange),var(--bb-blue));
  color: #fff;
}

.bb-cart-tabs {
  padding: 8px 12px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 7px;
  border-bottom: 1px solid var(--bb-line);
  background: #fff;
}
.bb-cart-tab {
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: #626a76;
  font-weight: 900;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.bb-cart-tab:hover,
.bb-cart-tab:focus-visible { background: var(--bb-soft); outline: none; }
.bb-cart-tab[aria-selected="true"] {
  border-color: rgba(124,164,221,.42);
  background: linear-gradient(135deg,rgba(239,119,36,.10),rgba(124,164,221,.14));
  color: var(--bb-ink);
}

.bb-cart-content { min-height: 0; position: relative; overflow: hidden; }
.bb-cart-pane { display: none; height: 100%; overflow: auto; overscroll-behavior: contain; }
.bb-cart-pane.is-active { display: block; }
.bb-cart-frame-wrap { position: relative; height: 100%; min-height: 320px; background: #fff; }
#bb-cart-frame { width: 100%; height: 100%; min-height: 420px; border: 0; background: #fff; }
.bb-cart-loading {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255,255,255,.94);
  font-weight: 900;
  transition: opacity .2s ease, visibility .2s ease;
}
.bb-cart-loading::before {
  content: "";
  width: 24px;
  height: 24px;
  border: 3px solid rgba(124,164,221,.28);
  border-top-color: var(--bb-orange);
  border-radius: 50%;
  animation: bb-spin .75s linear infinite;
}
.bb-cart-loading.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
@keyframes bb-spin { to { transform: rotate(360deg); } }

.bb-cart-form,
.bb-saved-wrap { padding: 18px; }
.bb-cart-form h3,
.bb-saved-wrap h3 { margin: 0 0 5px; font-size: 20px; }
.bb-cart-muted { margin: 0 0 16px; color: #69717d; font-size: 13px; line-height: 1.45; }
.bb-cart-choice-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 14px; }
.bb-cart-choice { position: relative; }
.bb-cart-choice input { position: absolute; opacity: 0; pointer-events: none; }
.bb-cart-choice span {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bb-line);
  border-radius: 12px;
  background: #fff;
  font-weight: 900;
  cursor: pointer;
}
.bb-cart-choice input:checked + span {
  border-color: var(--bb-orange);
  background: linear-gradient(135deg,rgba(239,119,36,.12),rgba(124,164,221,.12));
  box-shadow: 0 0 0 2px rgba(239,119,36,.12);
}
.bb-cart-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.bb-cart-field { min-width: 0; }
.bb-cart-field.is-wide { grid-column: 1 / -1; }
.bb-cart-field label { display: block; margin: 0 0 5px; font-size: 12px; font-weight: 900; color: #4f5865; }
.bb-cart-field input,
.bb-cart-field select,
.bb-cart-field textarea {
  width: 100%;
  min-height: 43px;
  padding: 9px 11px;
  border: 1px solid #cfd7e2;
  border-radius: 10px;
  background: #fff;
  color: var(--bb-ink);
  font: inherit;
  box-sizing: border-box;
}
.bb-cart-field textarea { min-height: 82px; resize: vertical; }
.bb-cart-field input:focus,
.bb-cart-field select:focus,
.bb-cart-field textarea:focus {
  border-color: var(--bb-blue);
  outline: 3px solid rgba(124,164,221,.22);
}
.bb-cart-form-actions { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.bb-cart-button {
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--bb-line);
  border-radius: 11px;
  background: #fff;
  color: var(--bb-ink);
  font-weight: 900;
  cursor: pointer;
}
.bb-cart-button.is-primary {
  border-color: transparent;
  background: linear-gradient(135deg,var(--bb-orange),#ff9950 48%,var(--bb-blue));
  color: #fff;
  box-shadow: 0 10px 22px rgba(71,96,132,.22);
}
.bb-cart-button:hover,
.bb-cart-button:focus-visible { transform: translateY(-1px); outline: none; }

.bb-saved-list { display: grid; gap: 10px; }
.bb-saved-empty {
  padding: 30px 18px;
  border: 1px dashed #c8d2df;
  border-radius: 14px;
  text-align: center;
  color: #68717e;
  background: var(--bb-soft);
}
.bb-saved-item {
  display: grid;
  grid-template-columns: 68px minmax(0,1fr) auto;
  gap: 11px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--bb-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(32,48,75,.08);
}
.bb-saved-item img { width: 68px; height: 62px; object-fit: cover; border-radius: 10px; background: #eef2f7; }
.bb-saved-item-title { margin: 0 0 3px; font-size: 14px; font-weight: 950; line-height: 1.2; }
.bb-saved-item-meta { color: #6c7480; font-size: 12px; }
.bb-saved-item-actions { display: flex; flex-direction: column; gap: 6px; }
.bb-saved-item-actions a,
.bb-saved-item-actions button {
  min-width: 38px;
  min-height: 34px;
  border: 1px solid var(--bb-line);
  border-radius: 9px;
  background: #fff;
  color: var(--bb-ink);
  text-align: center;
  line-height: 32px;
  cursor: pointer;
  text-decoration: none;
}

.bb-cart-footer {
  min-height: 68px;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 9px;
  align-items: center;
  border-top: 1px solid var(--bb-line);
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(13px);
  -webkit-backdrop-filter: blur(13px);
}
.bb-cart-summary { min-width: 0; }
.bb-cart-summary strong { display: block; font-size: 15px; }
.bb-cart-summary span { display: block; color: #6c7480; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bb-cart-footer .bb-cart-button { white-space: nowrap; }

.bb-cart-toast {
  position: fixed;
  left: 50%;
  bottom: calc(82px + env(safe-area-inset-bottom));
  z-index: 2147482600;
  max-width: min(92vw, 420px);
  padding: 11px 15px;
  border-radius: 999px;
  background: #202124;
  color: #fff;
  box-shadow: 0 12px 32px rgba(0,0,0,.32);
  font-size: 13px;
  font-weight: 850;
  opacity: 0;
  transform: translate(-50%, 10px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.bb-cart-toast.is-visible { opacity: 1; transform: translate(-50%,0); }

@media (max-width: 900px) {
  #bb-smart-cart .bb-cart-drawer { width: min(600px, 92vw); min-width: 0; }
}
@media (max-width: 575.98px) {
  #bb-smart-cart-launcher {
    right: 10px;
    bottom: calc(67px + env(safe-area-inset-bottom));
    min-width: 48px;
    height: 48px;
    padding: 0 11px;
  }
  #bb-smart-cart-launcher .bb-cart-launch-label { display: none; }
  #bb-smart-cart .bb-cart-drawer { width: 100vw; min-width: 0; }
  .bb-cart-head { min-height: 62px; padding: 10px 11px 9px 13px; }
  .bb-cart-progress { padding: 8px; }
  .bb-cart-step { justify-content: center; font-size: 0; }
  .bb-cart-step::before { width: 25px; height: 25px; font-size: 11px; }
  .bb-cart-tabs { padding: 7px; gap: 5px; }
  .bb-cart-tab { min-height: 38px; font-size: 12px; }
  .bb-cart-form,
  .bb-saved-wrap { padding: 14px 12px; }
  .bb-cart-fields { grid-template-columns: 1fr; }
  .bb-cart-field.is-wide { grid-column: auto; }
  .bb-cart-choice-grid { grid-template-columns: 1fr; }
  .bb-cart-footer { grid-template-columns: auto 1fr; }
  .bb-cart-footer .bb-checkout-button { grid-column: 1 / -1; width: 100%; }
  .bb-saved-item { grid-template-columns: 58px minmax(0,1fr) auto; }
  .bb-saved-item img { width: 58px; height: 54px; }
}
@media (max-width: 359.98px) {
  .bb-cart-title { font-size: 18px; }
  .bb-cart-head-count { display: none; }
  .bb-cart-icon-button { width: 36px; height: 36px; }
  .bb-cart-form h3,
  .bb-saved-wrap h3 { font-size: 18px; }
}

html.bb-component-embed,
html.bb-component-embed body {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  overflow-x: hidden !important;
}
html.bb-component-embed .header-wrapper,
html.bb-component-embed #sp-header,
html.bb-component-embed #sp-bottom,
html.bb-component-embed #sp-footer,
html.bb-component-embed .offcanvas-menu,
html.bb-component-embed .sp-scroll-up,
html.bb-component-embed #bb-smart-cart-launcher,
html.bb-component-embed #bb-smart-cart {
  display: none !important;
}
html.bb-component-embed .body-wrapper,
html.bb-component-embed .body-innerwrapper,
html.bb-component-embed #sp-main-body,
html.bb-component-embed main#sp-component {
  margin: 0 !important;
  padding: 0 !important;
  top: auto !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html body *, html body *::before, html body *::after {
    scroll-behavior: auto !important;
  }
  #bb-smart-cart *, #bb-smart-cart *::before, #bb-smart-cart *::after,
  #bb-smart-cart-launcher,
  html body.bb-menu-collection .bb-item-card,
  html body.bb-menu-collection .bb-item-card img {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* === END BISTRO BUDDY V11 EXPERIENCE + SMART CART === */

/* ========================================================================
   BISTRO BUDDY V13 — STABLE BRAND MOTION + WHOLE-SITE EXPERIENCE OVERRIDE
   Built from the uploaded production template archive.
   - One fixed header reservation; no automatic scroll tricks.
   - Orange/blue-only border animation (never white).
   - Progressive enhancement across Joomla, SP Page Builder,
     J-BusinessDirectory and EasySocial.
   ======================================================================== */

:root {
  --bb-header-h: 64px;
  --bb-orange: #ef7724;
  --bb-orange-bright: #ff8b33;
  --bb-orange-soft: #fff1e7;
  --bb-blue: #7ca4dd;
  --bb-blue-bright: #4d8fe8;
  --bb-blue-soft: #eef5ff;
  --bb-green: #129b2e;
  --bb-ink: #202124;
  --bb-ink-2: #34383f;
  --bb-muted: #68717e;
  --bb-canvas: #f5f7fb;
  --bb-panel: #ffffff;
  --bb-line: rgba(48, 66, 94, .15);
  --bb-line-strong: rgba(48, 66, 94, .28);
  --bb-shadow-xs: 0 3px 10px rgba(31, 47, 73, .08);
  --bb-shadow-sm: 0 7px 22px rgba(31, 47, 73, .11);
  --bb-shadow-md: 0 16px 42px rgba(31, 47, 73, .16);
  --bb-shadow-lg: 0 26px 70px rgba(20, 35, 60, .25);
  --bb-radius-sm: 9px;
  --bb-radius: 15px;
  --bb-radius-lg: 22px;
  --bb-ease: cubic-bezier(.2,.75,.25,1);
  --bb-focus: 0 0 0 4px rgba(124, 164, 221, .28);
  --bb-gradient: linear-gradient(112deg, var(--bb-orange) 0%, #ff9b51 35%, var(--bb-blue) 72%, #5f91d4 100%);
  --bb-gradient-soft: linear-gradient(112deg, rgba(239,119,36,.11), rgba(124,164,221,.15));
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--bb-header-h) + 14px);
  scrollbar-color: var(--bb-orange) #252525;
  scrollbar-width: thin;
}
html::-webkit-scrollbar { width: 12px; height: 12px; }
html::-webkit-scrollbar-track { background: #252525; }
html::-webkit-scrollbar-thumb {
  border: 3px solid #252525;
  border-radius: 999px;
  background: linear-gradient(var(--bb-orange), var(--bb-blue));
}

::selection { background: rgba(239,119,36,.28); color: #111; }

/* ------------------------------------------------------------------------
   ONE HEADER, ONE RESERVATION, ZERO EXTRA DARK SPACER
   ------------------------------------------------------------------------ */
html,
html body,
html body.site,
html body.site.sticky-header,
html body.site.layout-fluid,
html body.site.sticky-header.layout-fluid,
html body.offcanvas-active {
  margin-top: 0 !important;
  padding-top: 0 !important;
  top: auto !important;
  transform: none !important;
}

html body .body-wrapper,
html body.site .body-wrapper,
html body.site.sticky-header .body-wrapper,
html body.site.layout-fluid .body-wrapper,
html body.site.sticky-header.layout-fluid .body-wrapper,
html body.offcanvas-active .body-wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
  top: auto !important;
  transform: none !important;
}

html body .body-innerwrapper,
html body.site .body-innerwrapper,
html body.site.sticky-header .body-innerwrapper,
html body.site.layout-fluid .body-innerwrapper,
html body.site.sticky-header.layout-fluid .body-innerwrapper,
html body.offcanvas-active .body-innerwrapper {
  margin-top: 0 !important;
  padding-top: var(--bb-header-h) !important;
  top: auto !important;
  transform: none !important;
}

html body .header-wrapper,
html body.site .header-wrapper,
html body.site.sticky-header .header-wrapper,
html body.site.layout-fluid .header-wrapper,
html body.site.sticky-header.layout-fluid .header-wrapper,
html body.offcanvas-active .header-wrapper {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: var(--bb-header-h) !important;
  min-height: var(--bb-header-h) !important;
  max-height: var(--bb-header-h) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  z-index: 2147480000 !important;
  background: rgba(31,32,34,.97) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.07), 0 9px 24px rgba(0,0,0,.12) !important;
  backdrop-filter: saturate(1.08) blur(14px);
  -webkit-backdrop-filter: saturate(1.08) blur(14px);
}

html body #sp-header,
html body header#sp-header {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: var(--bb-header-h) !important;
  min-height: var(--bb-header-h) !important;
  max-height: var(--bb-header-h) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  background: transparent !important;
  overflow: visible !important;
  z-index: 3 !important;
}

/* Only the structural header row gets locked. Dropdown rows are excluded. */
html body #sp-header > .container,
html body #sp-header > .container-fluid,
html body #sp-header > .container > .container-inner,
html body #sp-header > .container-fluid > .container-inner,
html body #sp-header > .container > .container-inner > .row,
html body #sp-header > .container-fluid > .container-inner > .row {
  height: var(--bb-header-h) !important;
  min-height: var(--bb-header-h) !important;
  max-height: var(--bb-header-h) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
}

html body #sp-header #sp-logo,
html body #sp-header #sp-menu,
html body #sp-header #sp-logo > .sp-column,
html body #sp-header #sp-menu > .sp-column {
  height: var(--bb-header-h) !important;
  min-height: var(--bb-header-h) !important;
  max-height: var(--bb-header-h) !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}
html body #sp-header #sp-menu,
html body #sp-header #sp-menu > .sp-column { justify-content: flex-end !important; min-width: 0 !important; }

html body #sp-header-sticky-wrapper,
html body .sticky-wrapper,
html body .is-sticky #sp-header,
html body .is-sticky .header-wrapper {
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  top: 0 !important;
  transform: none !important;
}

/* No legacy first-content correction survives. */
html body .bb-first-content-sync,
html body [data-bb-document-top-correction],
html body #section-id-1703965929560,
html body .sp-page-title,
html body #sp-feature,
html body #sp-main-body,
html body main#sp-component {
  margin-top: 0 !important;
  top: auto !important;
  transform: none !important;
}
html body #section-id-1703965929560,
html body .sp-page-title,
html body #sp-feature,
html body #sp-main-body { scroll-margin-top: var(--bb-header-h) !important; }

/* ------------------------------------------------------------------------
   LOGO + NAVIGATION
   ------------------------------------------------------------------------ */
html body #sp-header .logo,
html body #sp-header .logo > a,
html body #sp-header #sp-logo a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  height: var(--bb-header-h) !important;
  max-height: var(--bb-header-h) !important;
  line-height: 1 !important;
}
html body #sp-header img.logo-image,
html body #sp-header img.logo-image-phone {
  width: auto !important;
  height: auto !important;
  max-height: 38px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 7px rgba(124,164,221,.16));
}
html body #sp-header img.logo-image { display: block !important; }
html body #sp-header img.logo-image-phone { display: none !important; }

html body #sp-header .sp-megamenu-wrapper,
html body #sp-header .sp-megamenu-parent {
  height: var(--bb-header-h) !important;
  min-height: var(--bb-header-h) !important;
  max-height: var(--bb-header-h) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}
html body #sp-header .sp-megamenu-parent > li {
  height: var(--bb-header-h) !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
}
html body #sp-header .sp-megamenu-parent > li > a {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  border-radius: 10px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  transition: background-color .2s var(--bb-ease), color .2s var(--bb-ease), transform .2s var(--bb-ease) !important;
}
html body #sp-header .sp-megamenu-parent > li > a > i,
html body #sp-header .sp-megamenu-parent > li > a > span[class*="fa"],
html body #sp-header .sp-megamenu-parent > li > a > span[class*="icon-"] {
  margin: 0 1px 0 0 !important;
  flex: 0 0 auto !important;
  line-height: 1 !important;
}
@media (hover:hover) {
  html body #sp-header .sp-megamenu-parent > li:hover > a,
  html body #sp-header .sp-megamenu-parent > li:focus-within > a {
    background: rgba(255,255,255,.075) !important;
    transform: translateY(-1px) !important;
  }
}

/* Dropdowns align consistently without old negative-left rules. */
html body #sp-header .sp-dropdown {
  top: calc(var(--bb-header-h) - 1px) !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 2147480200 !important;
  filter: drop-shadow(0 18px 32px rgba(10,20,36,.22));
}
html body #sp-header .sp-dropdown-inner {
  width: 100% !important;
  margin: 0 !important;
  padding: 15px !important;
  border: 1px solid rgba(124,164,221,.28) !important;
  border-top: 3px solid var(--bb-orange) !important;
  border-radius: 0 0 15px 15px !important;
  background: rgba(37,37,37,.985) !important;
  box-shadow: var(--bb-shadow-md) !important;
  overflow: visible !important;
}
html body #sp-header .sp-dropdown.sp-dropdown-main:not(.sp-dropdown-mega) {
  width: min(370px, calc(100vw - 24px)) !important;
  max-width: min(370px, calc(100vw - 24px)) !important;
}
html body #sp-header .sp-dropdown.sp-menu-right { right: 0 !important; left: auto !important; transform: none !important; }
html body #sp-header .sp-dropdown.sp-menu-left { left: 0 !important; right: auto !important; transform: none !important; }
html body #sp-header .sp-dropdown.sp-menu-center:not(.sp-dropdown-mega) {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}
html body #sp-header .sp-dropdown.sp-dropdown-mega {
  position: fixed !important;
  top: var(--bb-header-h) !important;
  left: 50% !important;
  right: auto !important;
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: min(1180px, calc(100vw - 32px)) !important;
  transform: translateX(-50%) !important;
}
html body #sp-header .sp-dropdown.sp-dropdown-mega .sp-dropdown-inner > .row {
  width: 100% !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
html body #sp-header .sp-dropdown-items > li > a,
html body #sp-header .sp-mega-group > li > a {
  min-height: 37px !important;
  padding: 7px 9px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  line-height: 1.25 !important;
  transition: background-color .18s ease, color .18s ease, padding-left .18s ease !important;
}
@media (hover:hover) {
  html body #sp-header .sp-dropdown-items > li:hover > a,
  html body #sp-header .sp-mega-group > li:hover > a {
    background: linear-gradient(90deg, rgba(239,119,36,.14), rgba(124,164,221,.13)) !important;
    color: #fff !important;
    padding-left: 13px !important;
  }
}

/* One primary hamburger. */
html body #sp-header a#offcanvas-toggler,
html body #sp-header .offcanvas-toggler-right {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  margin: 0 0 0 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 11px !important;
  color: #fff !important;
  transition: background-color .18s ease, transform .18s ease !important;
}
html body #sp-header #offcanvas-toggler + nav #offcanvas-toggler { display: none !important; }
@media (hover:hover) {
  html body #sp-header a#offcanvas-toggler:hover,
  html body #sp-header .offcanvas-toggler-right:hover {
    background: rgba(255,255,255,.09) !important;
    transform: scale(1.04) !important;
  }
}

/* ------------------------------------------------------------------------
   CALM BRAND CONTROLS — V14
   Restores the restrained double-border animation. No rotating rings,
   no white color stops, and no pseudo-element outlines.
   ------------------------------------------------------------------------ */
@keyframes bb-v14-brand-border {
  0%, 100% {
    border-color: #ef7724 !important;
    box-shadow: 0 0 0 1px rgba(239,119,36,.16), 0 5px 13px rgba(0,0,0,.18) !important;
  }
  50% {
    border-color: #7ca4dd !important;
    box-shadow: 0 0 0 1px rgba(124,164,221,.22), 0 7px 17px rgba(0,0,0,.21) !important;
  }
}

html body #sp-header .animated-avatar,
html body #sp-header .jbd-username > i:not(.animated-avatar),
html body #sp-header .jbd-button-container .button-create {
  position: relative !important;
  isolation: isolate !important;
  border-width: 3px !important;
  border-style: double !important;
  border-color: #ef7724 !important;
  background: #090a0c !important;
  color: #fff !important;
  overflow: visible !important;
  animation: bb-v14-brand-border 3.8s ease-in-out infinite !important;
}

html body #sp-header .animated-avatar::before,
html body #sp-header .animated-avatar::after,
html body #sp-header .jbd-username > i:not(.animated-avatar)::before,
html body #sp-header .jbd-username > i:not(.animated-avatar)::after,
html body #sp-header .jbd-button-container .button-create::before,
html body #sp-header .jbd-button-container .button-create::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

html body #sp-header .animated-avatar > *,
html body #sp-header .jbd-username > i:not(.animated-avatar) > *,
html body #sp-header .jbd-button-container .button-create > * {
  position: relative !important;
  z-index: 1 !important;
}

html body #sp-header .animated-avatar,
html body #sp-header .jbd-username > i:not(.animated-avatar) {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  flex: 0 0 42px !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 7px 0 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  color: #19ff40 !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
html body #sp-header .animated-avatar > i {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  animation: none !important;
}
html body #sp-header .jbd-username {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  line-height: 1.1 !important;
}
html body #sp-header .jbd-button-container {
  height: var(--bb-header-h) !important;
  padding: 0 3px !important;
  display: inline-flex !important;
  align-items: center !important;
}
html body #sp-header .jbd-button-container .button-create {
  width: auto !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 6px 13px !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transform: none !important;
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease !important;
}
@media (hover:hover) {
  html body #sp-header .jbd-button-container .button-create:hover {
    transform: none !important;
    background: #111316 !important;
    color: #fff !important;
  }
}

/* ------------------------------------------------------------------------
   OFFCANVAS UPGRADE
   ------------------------------------------------------------------------ */
html body .offcanvas-overlay {
  background: rgba(8,12,20,.58) !important;
  backdrop-filter: blur(6px) saturate(.9);
  -webkit-backdrop-filter: blur(6px) saturate(.9);
  z-index: 2147480100 !important;
}
html body .offcanvas-menu {
  width: min(390px, 92vw) !important;
  max-width: min(390px, 92vw) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(124,164,221,.16), transparent 34%),
    radial-gradient(circle at 0 100%, rgba(239,119,36,.15), transparent 38%),
    #252525 !important;
  box-shadow: -24px 0 60px rgba(0,0,0,.34) !important;
  z-index: 2147480300 !important;
}
html body .offcanvas-menu .offcanvas-inner { padding: 80px 24px 30px !important; }
html body .offcanvas-menu .close-offcanvas {
  width: 44px !important;
  height: 44px !important;
  top: 13px !important;
  right: 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  transition: transform .2s ease, background-color .2s ease !important;
}
html body .offcanvas-menu .close-offcanvas:hover { transform: rotate(90deg) !important; background: rgba(239,119,36,.22) !important; }
html body .offcanvas-menu .offcanvas-inner ul.menu > li > a {
  min-height: 48px !important;
  padding: 9px 8px !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1.25 !important;
}
html body .offcanvas-menu .offcanvas-inner ul.menu > li > a:hover { background: var(--bb-gradient-soft) !important; }

/* ------------------------------------------------------------------------
   GLOBAL COMPONENT POLISH
   ------------------------------------------------------------------------ */
html body {
  background-color: var(--bb-canvas);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
html body a { text-underline-offset: 3px; }
html body :where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 2px solid var(--bb-blue-bright) !important;
  outline-offset: 3px !important;
  box-shadow: var(--bb-focus) !important;
}

html body :where(.jbd-container,.sp-page-builder,.com-content-article,.blog,.blog-featured,#es) :where(h1,h2,h3) {
  text-wrap: balance;
}

/* Cards across JBD, Joomla articles, SP Page Builder and EasySocial. */
html body :where(
  .jbd-container .jitem-card,
  .jbd-container .place-card,
  .jbd-container [class*="offer-card"],
  .jbd-container [class*="product-card"],
  .jbd-container [class*="event-card"],
  .jbd-container .service-card,
  .article-list .article,
  .blog-list-item-inner,
  .sppb-addon-article,
  .sppb-addon-person,
  .sppb-addon-feature,
  .sppb-addon-pricing-table,
  #es .es-card,
  #es .mod-card
) {
  border: 1px solid var(--bb-line) !important;
  border-radius: var(--bb-radius) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(249,252,255,.99)) !important;
  box-shadow: var(--bb-shadow-sm) !important;
  overflow: clip;
  transition: transform .24s var(--bb-ease), box-shadow .24s var(--bb-ease), border-color .24s ease !important;
}
@media (hover:hover) {
  html body :where(
    .jbd-container .jitem-card,
    .jbd-container .place-card,
    .jbd-container [class*="offer-card"],
    .jbd-container [class*="product-card"],
    .jbd-container [class*="event-card"],
    .jbd-container .service-card,
    .article-list .article,
    .blog-list-item-inner,
    .sppb-addon-article,
    .sppb-addon-person,
    .sppb-addon-feature,
    .sppb-addon-pricing-table,
    #es .es-card,
    #es .mod-card
  ):hover {
    transform: translateY(-4px) !important;
    border-color: rgba(239,119,36,.46) !important;
    box-shadow: var(--bb-shadow-md) !important;
  }
}

/* Images stay crisp and gain restrained depth. */
html body :where(.jbd-container,.article-list,.blog,.sp-page-builder,#es) img {
  max-width: 100%;
}
html body .bb-media-shell,
html body.bb-menu-collection .bb-item-card [data-bb-item-url] {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  background: linear-gradient(135deg,#edf2f8,#f9fbfe) !important;
}
html body .bb-media-shell img,
html body.bb-menu-collection .bb-item-card img {
  transition: transform .42s var(--bb-ease), filter .42s ease !important;
}
@media (hover:hover) {
  html body .bb-media-shell:hover img,
  html body.bb-menu-collection .bb-item-card:hover img {
    transform: scale(1.035) !important;
    filter: saturate(1.06) contrast(1.025) !important;
  }
}

/* Buttons: motion and clarity without forcing every button to one color. */
html body :where(button,.btn,.button,.jbtn,input[type="button"],input[type="submit"],input[type="reset"]) {
  position: relative;
  overflow: hidden;
  transition: transform .18s var(--bb-ease), box-shadow .18s ease, filter .18s ease, background-color .18s ease !important;
  -webkit-tap-highlight-color: transparent;
}
@media (hover:hover) {
  html body :where(button,.btn,.button,.jbtn,input[type="button"],input[type="submit"]):not(:disabled):hover {
    transform: translateY(-1px);
    filter: saturate(1.045);
  }
}
html body :where(.btn-primary,.button-primary,.jbtn-primary,.ticket-button,.bb-brand-button,.jbd-button-container .button-create):not(#sp-header *) {
  border-color: transparent !important;
  background: var(--bb-gradient) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(79,111,157,.20) !important;
}
.bb-ripple-dot {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(255,255,255,.48);
  pointer-events: none;
  transform: translate(-50%,-50%) scale(0);
  animation: bb-v13-ripple .58s ease-out forwards;
}
@keyframes bb-v13-ripple { to { transform: translate(-50%,-50%) scale(18); opacity: 0; } }

/* Forms. */
html body :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  border-radius: 10px !important;
  border-color: #cdd6e2 !important;
  background-color: #fff !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
html body :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus {
  border-color: var(--bb-blue-bright) !important;
  box-shadow: var(--bb-focus) !important;
  outline: none !important;
}
html body label { font-weight: 750; }

/* Tables remain readable and horizontally safe. */
html body :where(.jbd-container,.com-content-article,#es) table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--bb-line);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--bb-shadow-xs);
}
html body :where(.jbd-container,.com-content-article,#es) table th {
  background: linear-gradient(135deg,rgba(239,119,36,.11),rgba(124,164,221,.13));
  font-weight: 900;
}
html body :where(.jbd-container,.com-content-article,#es) table th,
html body :where(.jbd-container,.com-content-article,#es) table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--bb-line);
}
html body :where(.jbd-container,.com-content-article,#es) table tr:last-child td { border-bottom: 0; }

/* Breadcrumbs, pagination, badges, alerts, tabs and accordions. */
html body .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
html body :where(.pagination,.com-content-category-blog__navigation) a,
html body .pagination .page-link {
  min-width: 40px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px !important;
  transition: transform .18s ease, background-color .18s ease !important;
}
html body :where(.badge,.label,.tag,.sp-menu-badge,.jbadge) {
  border-radius: 999px !important;
  font-weight: 850 !important;
  letter-spacing: .01em;
}
html body :where(.alert,.jbd-alert,.es-alert) {
  border: 1px solid var(--bb-line) !important;
  border-left: 5px solid var(--bb-orange) !important;
  border-radius: 12px !important;
  box-shadow: var(--bb-shadow-xs) !important;
}
html body :where(.accordion-item,.sppb-panel,.faq-item) {
  border: 1px solid var(--bb-line) !important;
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: var(--bb-shadow-xs);
}
html body :where(.nav-tabs,.sppb-nav-tabs) {
  gap: 5px;
  border-bottom-color: var(--bb-line) !important;
}
html body :where(.nav-tabs,.sppb-nav-tabs) a {
  border-radius: 10px 10px 0 0 !important;
}

/* Modal and popover polish. */
html body :where(.modal-content,.jmodal,.sppb-modal-content,.es-dialog) {
  border: 1px solid rgba(124,164,221,.32) !important;
  border-radius: var(--bb-radius-lg) !important;
  box-shadow: var(--bb-shadow-lg) !important;
  overflow: hidden;
}
html body :where(.modal-backdrop,.mfp-bg,.jmodal-overlay) {
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* ------------------------------------------------------------------------
   SMART CART V13 REFINEMENT
   ------------------------------------------------------------------------ */
#bb-smart-cart-launcher {
  border: 1px solid rgba(255,255,255,.48) !important;
  background: linear-gradient(145deg,#17191d,#2d3138) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.30), 0 0 0 2px rgba(239,119,36,.58), 0 0 24px rgba(124,164,221,.18) !important;
}
#bb-smart-cart .bb-cart-drawer {
  border-left: 1px solid rgba(124,164,221,.32) !important;
  background: #fff !important;
  box-shadow: -25px 0 70px rgba(0,0,0,.30) !important;
}
#bb-smart-cart .bb-cart-head {
  background:
    radial-gradient(circle at 100% 0,rgba(124,164,221,.22),transparent 43%),
    linear-gradient(135deg,#202124,#30343a) !important;
}
#bb-smart-cart .bb-cart-tabs {
  position: sticky;
  top: 0;
  z-index: 2;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
#bb-smart-cart .bb-cart-tab[aria-selected="true"] {
  box-shadow: inset 0 -3px 0 var(--bb-orange) !important;
}
#bb-smart-cart .bb-cart-button.is-primary {
  background: var(--bb-gradient) !important;
}

/* ------------------------------------------------------------------------
   PROGRESS, REVEAL, TOAST, QUICK ACTIONS
   ------------------------------------------------------------------------ */
#bb-site-progress {
  position: fixed;
  top: var(--bb-header-h);
  left: 0;
  width: 100%;
  height: 3px;
  z-index: 2147480050;
  pointer-events: none;
  background: transparent;
}
#bb-site-progress > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: 0 999px 999px 0;
  background: var(--bb-gradient);
  box-shadow: 0 0 10px rgba(124,164,221,.45);
  transition: width .08s linear;
}

.bb-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .55s var(--bb-ease), transform .55s var(--bb-ease) !important;
}
.bb-reveal.bb-reveal-visible { opacity: 1; transform: translateY(0); }

.bb-image-loading { background: linear-gradient(90deg,#eef2f7 25%,#f9fbfd 42%,#eef2f7 62%); background-size: 220% 100%; animation: bb-v13-shimmer 1.2s linear infinite; }
@keyframes bb-v13-shimmer { to { background-position: -220% 0; } }

#bb-quick-actions {
  position: fixed;
  right: max(13px,env(safe-area-inset-right));
  top: calc(var(--bb-header-h) + 90px);
  z-index: 2147479000;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#bb-quick-actions button {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  background: rgba(32,33,36,.88);
  color: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
}
#bb-quick-actions button:hover { background: var(--bb-orange); }

.bb-site-toast {
  position: fixed;
  left: 50%;
  bottom: calc(78px + env(safe-area-inset-bottom));
  z-index: 2147483000;
  max-width: min(92vw,460px);
  padding: 11px 16px;
  border-radius: 999px;
  background: #202124;
  color: #fff;
  box-shadow: var(--bb-shadow-lg);
  font-weight: 800;
  opacity: 0;
  transform: translate(-50%,12px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.bb-site-toast.is-visible { opacity: 1; transform: translate(-50%,0); }

/* ------------------------------------------------------------------------
   RESPONSIVE STATES
   ------------------------------------------------------------------------ */
@media (max-width: 1499.98px) {
  html body #sp-header .sp-megamenu-parent { display: none !important; }
  html body #sp-header .sp-megamenu-wrapper { margin-left: auto !important; }
  html body #sp-header a#offcanvas-toggler,
  html body #sp-header .offcanvas-toggler-right { display: inline-flex !important; }
}
@media (min-width: 1500px) {
  html body #sp-header .sp-megamenu-parent { display: flex !important; }
}
@media (max-width: 1199.98px) {
  :root { --bb-header-h: 62px; }
  html body #sp-header img.logo-image { display: none !important; }
  html body #sp-header img.logo-image-phone {
    display: block !important;
    max-height: 34px !important;
    max-width: 190px !important;
  }
  html body #sp-header .jbd-user-name { display: none !important; }
  html body #sp-header .animated-avatar,
  html body #sp-header .jbd-username > i:not(.animated-avatar) {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    flex-basis: 36px !important;
    border-width: 4px !important;
    margin-right: 5px !important;
  }
  html body #sp-header .jbd-button-container .button-create {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 5px 10px !important;
    border-width: 4px !important;
    font-size: 12px !important;
  }
}
@media (max-width: 767.98px) {
  :root { --bb-header-h: 58px; }
  html body #sp-header > .container,
  html body #sp-header > .container-fluid { padding-left: 10px !important; padding-right: 8px !important; }
  html body #sp-header img.logo-image-phone { max-width: 150px !important; max-height: 30px !important; }
  html body #sp-header .animated-avatar,
  html body #sp-header .jbd-username > i:not(.animated-avatar) { display: none !important; }
  html body #sp-header .jbd-button-container .button-create {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 4px 9px !important;
    font-size: 11px !important;
  }
  html body #sp-header .jbd-button-container .button-create i { margin-right: 0 !important; }
  html body #sp-header a#offcanvas-toggler,
  html body #sp-header .offcanvas-toggler-right {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    margin-left: 5px !important;
  }
  #bb-quick-actions { top: auto; right: 10px; bottom: calc(130px + env(safe-area-inset-bottom)); }
  #bb-quick-actions button { width: 40px; height: 40px; min-width: 40px; min-height: 40px; }
  html body :where(.jbd-container,.com-content-article,#es) table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 419.98px) {
  html body #sp-header img.logo-image-phone { max-width: 112px !important; }
  html body #sp-header .jbd-button-container .button-create { padding: 4px 7px !important; }
  html body #sp-header .jbd-button-container .button-create span { display: none !important; }
  html body #sp-header .jbd-button-container .button-create i { font-size: 16px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  html body *, html body *::before, html body *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .bb-reveal { opacity: 1 !important; transform: none !important; }
}

@media (forced-colors: active) {
  html body #sp-header .animated-avatar,
  html body #sp-header .jbd-username > i:not(.animated-avatar),
  html body #sp-header .jbd-button-container .button-create {
    border-color: ButtonText !important;
    animation: none !important;
  }
}

/* Component iframe mode used by the smart cart. */
html.bb-component-embed,
html.bb-component-embed body {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  overflow-x: hidden !important;
}
html.bb-component-embed .header-wrapper,
html.bb-component-embed #sp-header,
html.bb-component-embed #sp-bottom,
html.bb-component-embed #sp-footer,
html.bb-component-embed .offcanvas-menu,
html.bb-component-embed .sp-scroll-up,
html.bb-component-embed #bb-smart-cart-launcher,
html.bb-component-embed #bb-smart-cart,
html.bb-component-embed #bb-site-progress,
html.bb-component-embed #bb-quick-actions {
  display: none !important;
}
html.bb-component-embed .body-wrapper,
html.bb-component-embed .body-innerwrapper,
html.bb-component-embed #sp-main-body,
html.bb-component-embed main#sp-component {
  margin: 0 !important;
  padding: 0 !important;
  top: auto !important;
  transform: none !important;
}

/* === END BISTRO BUDDY V13 WHOLE-SITE EXPERIENCE OVERRIDE === */

/* ------------------------------------------------------------------------
   V14 LOGO CHROME FIX
   Header/offcanvas logos are branding, not content cards. Keep every logo
   background transparent and slightly increase the rendered logo size.
   ------------------------------------------------------------------------ */
html body #sp-header .logo,
html body #sp-header .logo > a,
html body #sp-header #sp-logo,
html body #sp-header #sp-logo > .sp-column,
html body #sp-header #sp-logo a,
html body .offcanvas-menu .logo,
html body .offcanvas-menu .logo > a,
html body .offcanvas-menu .logo .bb-media-shell,
html body #sp-header .logo .bb-media-shell {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  overflow: visible !important;
}
html body #sp-header .logo > a,
html body .offcanvas-menu .logo > a {
  padding: 0 !important;
}
html body #sp-header .logo img,
html body .offcanvas-menu .logo img {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
html body #sp-header img.logo-image {
  max-height: 44px !important;
  max-width: 224px !important;
}
html body #sp-header img.logo-image-phone {
  max-height: 38px !important;
  max-width: 196px !important;
}
html body .offcanvas-menu > .d-flex:first-child {
  min-height: 92px !important;
  padding: 14px 18px !important;
  background: linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0)) !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}
html body .offcanvas-menu .logo {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}
html body .offcanvas-menu .logo a {
  display: inline-flex !important;
  align-items: center !important;
  max-width: calc(100% - 58px) !important;
}
html body .offcanvas-menu .logo img.logo-image {
  width: auto !important;
  height: auto !important;
  max-width: 286px !important;
  max-height: 68px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 5px 13px rgba(0,0,0,.18)) !important;
}
html body .offcanvas-menu .logo img.logo-image-phone {
  width: auto !important;
  height: auto !important;
  max-width: 250px !important;
  max-height: 58px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 5px 13px rgba(0,0,0,.18)) !important;
}
html body .offcanvas-menu .logo .bb-image-loading,
html body #sp-header .logo .bb-image-loading {
  animation: none !important;
  background: transparent !important;
  background-image: none !important;
}
@media (max-width:1199.98px) {
  html body #sp-header img.logo-image-phone {
    max-height: 36px !important;
    max-width: 190px !important;
  }
  html body #sp-header .animated-avatar,
  html body #sp-header .jbd-username > i:not(.animated-avatar) {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    flex-basis: 38px !important;
    border-width: 3px !important;
  }
  html body #sp-header .jbd-button-container .button-create {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    border-width: 3px !important;
  }
}
@media (max-width:767.98px) {
  html body #sp-header img.logo-image-phone {
    max-height: 33px !important;
    max-width: 164px !important;
  }
  html body .offcanvas-menu .logo img.logo-image-phone {
    max-width: 226px !important;
    max-height: 54px !important;
  }
  html body #sp-header .jbd-button-container .button-create {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }
}
@media (max-width:419.98px) {
  html body #sp-header img.logo-image-phone {
    max-width: 122px !important;
    max-height: 31px !important;
  }
}

/* ========================================================================
   BISTRO BUDDY V15 — DESKTOP SUBMENU + OFFCANVAS EDGE + FLAG CHROME FIX
   2026-07-20
   - Nested desktop dropdowns open directly to the right with no hover gap.
   - The wider 390px offcanvas panel is translated fully outside the viewport
     when closed, eliminating the visible 90px desktop sliver left by Helix's
     original -300px positioning rule.
   - Language flags and social icons are excluded from content-image loading
     shells so no white rectangle appears beside the guest cart.
   ======================================================================== */

/* Only first-level dropdowns belong below the fixed header. */
html body #sp-header .sp-dropdown.sp-dropdown-main {
  top: calc(var(--bb-header-h) - 1px) !important;
}

/* Second-level dropdowns sit beside their parent item, not below the header. */
html body #sp-header .sp-dropdown.sp-dropdown-sub {
  position: absolute !important;
  top: -15px !important;
  left: calc(100% - 5px) !important;
  right: auto !important;
  width: min(330px, calc(100vw - 32px)) !important;
  max-width: min(330px, calc(100vw - 32px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  filter: drop-shadow(0 18px 32px rgba(10,20,36,.24)) !important;
  z-index: 2147480250 !important;
}

/* Invisible bridge overlaps the parent menu edge and prevents hover loss. */
html body #sp-header .sp-dropdown.sp-dropdown-sub::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: -14px !important;
  width: 16px !important;
  background: transparent !important;
  pointer-events: auto !important;
}

html body #sp-header .sp-dropdown.sp-dropdown-sub > .sp-dropdown-inner {
  width: 100% !important;
  padding: 12px !important;
  border: 1px solid rgba(124,164,221,.28) !important;
  border-left: 3px solid var(--bb-orange) !important;
  border-top: 1px solid rgba(124,164,221,.28) !important;
  border-radius: 0 14px 14px 14px !important;
  overflow: visible !important;
}

/* If a right-aligned parent explicitly requests inward opening, overlap it too. */
html body #sp-header .sp-dropdown.sp-menu-right .sp-dropdown.sp-dropdown-sub,
html body #sp-header li.sp-menu-item.sp-menu-right > .sp-dropdown.sp-dropdown-sub {
  left: auto !important;
  right: calc(100% - 5px) !important;
}
html body #sp-header .sp-dropdown.sp-menu-right .sp-dropdown.sp-dropdown-sub::before,
html body #sp-header li.sp-menu-item.sp-menu-right > .sp-dropdown.sp-dropdown-sub::before {
  left: auto !important;
  right: -14px !important;
}

/* Closed offcanvas: translate the complete responsive width offscreen. */
html body:not(.offcanvas-active) .offcanvas-menu {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body.ltr.offcanvs-position-right:not(.offcanvas-active) .offcanvas-menu,
html body.ltr:not(.offcanvs-position-left):not(.offcanvas-active) .offcanvas-menu {
  right: 0 !important;
  left: auto !important;
  transform: translate3d(100%,0,0) !important;
}
html body.ltr.offcanvs-position-left:not(.offcanvas-active) .offcanvas-menu {
  left: 0 !important;
  right: auto !important;
  transform: translate3d(-100%,0,0) !important;
}
html body.offcanvas-active .offcanvas-menu,
html body.ltr.offcanvs-position-right.offcanvas-active .offcanvas-menu,
html body.ltr.offcanvs-position-left.offcanvas-active .offcanvas-menu {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translate3d(0,0,0) !important;
}
html body.ltr.offcanvs-position-right.offcanvas-active .offcanvas-menu {
  right: 0 !important;
  left: auto !important;
}
html body.ltr.offcanvs-position-left.offcanvas-active .offcanvas-menu {
  left: 0 !important;
  right: auto !important;
}

/* Do not leave a blurred/clickable overlay when the panel is closed. */
html body:not(.offcanvas-active) .offcanvas-overlay {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body.offcanvas-active .offcanvas-overlay {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Clean language/social chrome inside the offcanvas panel. */
html body .offcanvas-menu .mod-languages,
html body .offcanvas-menu .mod-languages ul,
html body .offcanvas-menu .mod-languages li,
html body .offcanvas-menu .mod-languages a,
html body .offcanvas-menu .mod-languages .bb-media-shell,
html body .offcanvas-menu .social-icons,
html body .offcanvas-menu .social-icons li,
html body .offcanvas-menu .social-icons a,
html body .offcanvas-menu .social-icons .bb-media-shell {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
html body .offcanvas-menu .mod-languages ul.lang-inline {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}
html body .offcanvas-menu .mod-languages ul.lang-inline > li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 2px !important;
  border: 0 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
html body .offcanvas-menu .mod-languages ul.lang-inline > li.lang-active {
  background: rgba(239,119,36,.18) !important;
  box-shadow: 0 0 0 1px rgba(239,119,36,.7) inset !important;
}
html body .offcanvas-menu .mod-languages ul.lang-inline a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 2px !important;
  line-height: 0 !important;
  overflow: hidden !important;
}
html body .offcanvas-menu .mod-languages img,
html body .offcanvas-menu .social-icons img {
  display: block !important;
  width: auto !important;
  height: 15px !important;
  max-width: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 1px !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  object-fit: cover !important;
}
html body .offcanvas-menu .mod-languages .bb-image-loading,
html body .offcanvas-menu .social-icons .bb-image-loading {
  animation: none !important;
  background: transparent !important;
  background-image: none !important;
}

/* Keep the floating cart from sitting directly on top of language flags. */
html body.offcanvas-active #bb-smart-cart-launcher {
  bottom: max(18px, env(safe-area-inset-bottom)) !important;
  right: 18px !important;
  z-index: 2147480400 !important;
}
html body .offcanvas-menu .offcanvas-inner {
  padding-bottom: 112px !important;
}

@media (max-width: 1499.98px) {
  /* Desktop megamenu is hidden here, so nested desktop rules cannot interfere. */
  html body #sp-header .sp-dropdown.sp-dropdown-sub { display: none !important; }
}

/* === END BISTRO BUDDY V15 MENU NAV FIX === */



/* ========================================================================
   BISTRO BUDDY V16 — ABOUT SUBMENU RIGHT + HAMBURGER FAR RIGHT
   2026-07-20
   - Keeps the complete V15 design unchanged.
   - Forces About's second-level desktop panels to open to the right.
   - Maintains the overlap hover bridge so the submenu remains clickable.
   - Header PHP now renders the primary hamburger after the desktop menu,
     placing it at the far-right edge without fragile CSS reordering.
   ======================================================================== */
@media (min-width: 1500px) {
  html body #sp-header .bb-about-menu-item > .sp-dropdown.sp-dropdown-sub,
  html body #sp-header .bb-about-menu-item > .sp-dropdown.sp-dropdown-sub.sp-menu-right,
  html body #sp-header .sp-dropdown.sp-menu-right .bb-about-menu-item > .sp-dropdown.sp-dropdown-sub {
    left: calc(100% - 5px) !important;
    right: auto !important;
    top: -15px !important;
    transform: none !important;
  }

  html body #sp-header .bb-about-menu-item > .sp-dropdown.sp-dropdown-sub::before,
  html body #sp-header .bb-about-menu-item > .sp-dropdown.sp-dropdown-sub.sp-menu-right::before,
  html body #sp-header .sp-dropdown.sp-menu-right .bb-about-menu-item > .sp-dropdown.sp-dropdown-sub::before {
    left: -14px !important;
    right: auto !important;
    width: 16px !important;
  }

  html body #sp-header .bb-about-menu-item > .sp-dropdown.sp-dropdown-sub > .sp-dropdown-inner {
    border-left: 3px solid var(--bb-orange) !important;
    border-right: 1px solid rgba(124,164,221,.28) !important;
    border-radius: 0 14px 14px 14px !important;
  }
}

/* Defensive far-right placement in case a cached header still has old order. */
html body #sp-header #sp-menu > .sp-column > a#offcanvas-toggler,
html body #sp-header #sp-menu > .sp-column > .offcanvas-toggler-right {
  order: 9999 !important;
  margin-left: 8px !important;
  margin-right: 0 !important;
  flex: 0 0 auto !important;
}
/* === END BISTRO BUDDY V16 === */


/* ========================================================================
   BISTRO BUDDY V17 — SINGLE RIGHT HAMBURGER + DUAL BRAND MOTION + EFFECTS
   2026-07-20
   ======================================================================== */

:root {
  --bb-v17-orange: #ff6a00;
  --bb-v17-blue: #2f6fbd;
  --bb-v17-ink: #25243d;
}

/* The header PHP now renders one trigger only. Keep that trigger at the far right. */
html body #sp-header #sp-menu > .sp-column {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}
html body #sp-header #sp-menu > .sp-column > .sp-megamenu-wrapper {
  order: 10 !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
html body #sp-header #sp-menu > .sp-column > #offcanvas-toggler.offcanvas-toggler-right {
  order: 1000 !important;
  margin-left: 10px !important;
  margin-right: 0 !important;
  flex: 0 0 44px !important;
}
html body:not(.offcanvs-position-left) #sp-logo #offcanvas-toggler-left,
html body:not(.offcanvs-position-left) #sp-logo .offcanvas-toggler-left {
  display: none !important;
}

/* Slightly larger brand logo while retaining the fixed header geometry. */
html body #sp-header .logo img.logo-image {
  width: auto !important;
  height: auto !important;
  max-height: 48px !important;
  max-width: min(255px, 20vw) !important;
  object-fit: contain !important;
}
@media (max-width: 1499.98px) {
  html body #sp-header .logo img.logo-image-phone {
    width: auto !important;
    height: auto !important;
    max-height: 39px !important;
    max-width: min(205px, 31vw) !important;
    object-fit: contain !important;
  }
}
@media (max-width: 575.98px) {
  html body #sp-header .logo img.logo-image-phone {
    max-height: 35px !important;
    max-width: min(158px, 35vw) !important;
  }
}

/* Two colors are always visible. The inner and outer lines exchange colors calmly. */
@keyframes bb-v17-dual-brand {
  0%, 100% {
    filter: drop-shadow(0 0 2px rgba(255,106,0,.20));
  }
  50% {
    filter: drop-shadow(0 0 5px rgba(47,111,189,.42));
  }
}
html body #sp-header .animated-avatar,
html body #sp-header .jbd-username > i:not(.animated-avatar),
html body #sp-header .jbd-button-container .button-create {
  border: 2px solid var(--bb-v17-orange) !important;
  box-shadow: 0 0 0 2px var(--bb-v17-blue), 0 6px 15px rgba(0,0,0,.20) !important;
  background: #090a0c !important;
  animation: bb-v17-dual-brand 3.6s ease-in-out infinite !important;
  will-change: border-color, box-shadow !important;
}
html body #sp-header .animated-avatar,
html body #sp-header .jbd-username > i:not(.animated-avatar) { border-radius: 50% !important; }
html body #sp-header .jbd-button-container .button-create { border-radius: 8px !important; }
html body #sp-header .jbd-button-container .button-create:hover,
html body #sp-header .jbd-button-container .button-create:focus-visible {
  background: #11151b !important;
  color: #fff !important;
  filter: brightness(1.08) !important;
}

/* Nested menus default to the right. JS flips only when the viewport requires it. */
@media (min-width: 1500px) {
  html body #sp-header li.sp-menu-item > .sp-dropdown.sp-dropdown-sub,
  html body #sp-header .sp-dropdown.sp-menu-right li.sp-menu-item > .sp-dropdown.sp-dropdown-sub,
  html body #sp-header li.sp-menu-item.sp-menu-right > .sp-dropdown.sp-dropdown-sub {
    left: calc(100% - 5px) !important;
    right: auto !important;
    top: -15px !important;
    transform: none !important;
  }
  html body #sp-header li.sp-menu-item > .sp-dropdown.sp-dropdown-sub::before {
    left: -14px !important;
    right: auto !important;
  }
  html body #sp-header li.sp-menu-item.bb-submenu-flip-left > .sp-dropdown.sp-dropdown-sub {
    left: auto !important;
    right: calc(100% - 5px) !important;
  }
  html body #sp-header li.sp-menu-item.bb-submenu-flip-left > .sp-dropdown.sp-dropdown-sub::before {
    left: auto !important;
    right: -14px !important;
  }
}

/* Lightweight BISTRO BUDDY lighting. */
html body #bb-v17-cursor-light {
  position: fixed !important;
  left: 0 !important; top: 0 !important;
  width: 150px !important; height: 150px !important;
  margin: -75px 0 0 -75px !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 2147479000 !important;
  opacity: 0 !important;
  background: radial-gradient(circle, rgba(255,106,0,.14) 0%, rgba(47,111,189,.10) 34%, transparent 70%) !important;
  mix-blend-mode: screen !important;
  transform: translate3d(-300px,-300px,0) !important;
  transition: opacity .18s ease !important;
  will-change: transform !important;
}
html.bb-v17-pointer-active body #bb-v17-cursor-light { opacity: 1 !important; }

.bb-v17-click-spark {
  position: fixed !important;
  width: 7px !important; height: 7px !important;
  margin: -3.5px 0 0 -3.5px !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 2147483000 !important;
  background: var(--bb-spark-color, var(--bb-v17-orange)) !important;
  box-shadow: 0 0 10px var(--bb-spark-color, var(--bb-v17-orange)) !important;
  animation: bb-v17-spark .56s cubic-bezier(.2,.75,.2,1) forwards !important;
}
@keyframes bb-v17-spark {
  from { opacity: .95; transform: translate3d(0,0,0) scale(1); }
  to { opacity: 0; transform: translate3d(var(--bb-spark-x), var(--bb-spark-y), 0) scale(.2); }
}

/* Branded button light sweep, excluding the header controls above. */
html body :where(.btn,.button,.jbtn,.sppb-btn,button):not(#sp-header *):not(.no-ripple) {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  -webkit-tap-highlight-color: transparent !important;
}
html body :where(.btn,.button,.jbtn,.sppb-btn,button):not(#sp-header *):not(.no-ripple)::after {
  content: "" !important;
  position: absolute !important;
  inset: -40% auto -40% -55% !important;
  width: 38% !important;
  pointer-events: none !important;
  z-index: -1 !important;
  opacity: 0 !important;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.42), transparent) !important;
  transform: skewX(-18deg) !important;
  transition: left .55s ease, opacity .18s ease !important;
}
@media (hover:hover) and (pointer:fine) {
  html body :where(.btn,.button,.jbtn,.sppb-btn,button):not(#sp-header *):not(.no-ripple):hover::after {
    left: 120% !important; opacity: .9 !important;
  }
  html body :where(.jitem-card,.place-card,[class*="product-card"],[class*="offer-card"],[class*="event-card"],.sppb-addon-feature,.sppb-addon-pricing-table) {
    transition: transform .24s ease, box-shadow .24s ease, filter .24s ease !important;
  }
  html body :where(.jitem-card,.place-card,[class*="product-card"],[class*="offer-card"],[class*="event-card"],.sppb-addon-feature,.sppb-addon-pricing-table):hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 42px rgba(37,36,61,.16), 0 0 0 1px rgba(47,111,189,.12) !important;
    filter: saturate(1.035) !important;
  }
}

/* Mobile gets crisp tap feedback without costly continuous animation. */
@media (max-width: 767.98px), (pointer:coarse) {
  html body #bb-v17-cursor-light { display: none !important; }
  html body :where(a,button,.btn,.button,.jbtn,.sppb-btn,.jitem-card,.place-card) {
    -webkit-tap-highlight-color: rgba(255,106,0,.10) !important;
  }
  html body :where(button,.btn,.button,.jbtn,.sppb-btn,a.button,a.btn):active {
    transform: scale(.975) !important;
    filter: brightness(1.06) saturate(1.05) !important;
  }
  html body main :where(input,select,textarea):focus {
    border-color: var(--bb-v17-blue) !important;
    box-shadow: 0 0 0 3px rgba(47,111,189,.15), 0 8px 22px rgba(37,36,61,.08) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body #sp-header .animated-avatar,
  html body #sp-header .jbd-username > i:not(.animated-avatar),
  html body #sp-header .jbd-button-container .button-create {
    animation: none !important;
    border-color: var(--bb-v17-orange) !important;
    box-shadow: 0 0 0 2px var(--bb-v17-blue), 0 6px 15px rgba(0,0,0,.20) !important;
  }
  html body #bb-v17-cursor-light, .bb-v17-click-spark { display: none !important; }
}
/* === END BISTRO BUDDY V17 === */


/* ========================================================================
   BISTRO BUDDY V18 — ONE WORKING FAR-RIGHT HAMBURGER + ORIGINAL BRAND BORDERS
   2026-07-20
   ======================================================================== */

:root {
  --bb-v18-orange: #ef7724;
  --bb-v18-blue: #7ca4dd;
}


/* Let the far-right trigger use the full header width instead of the Bootstrap container cap. */
html body #sp-header > .container,
html body #sp-header > .container-fluid {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 18px !important;
  padding-right: 10px !important;
}
@media (max-width: 767.98px) {
  html body #sp-header > .container,
  html body #sp-header > .container-fluid {
    padding-left: 10px !important;
    padding-right: 6px !important;
  }
}


html body #sp-header > .container > .container-inner,
html body #sp-header > .container-fluid > .container-inner,
html body #sp-header > .container > .container-inner > .row,
html body #sp-header > .container-fluid > .container-inner > .row {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
}
html body #sp-header #sp-logo {
  width: auto !important;
  max-width: 38% !important;
  flex: 0 1 auto !important;
}
html body #sp-header #sp-menu {
  width: auto !important;
  max-width: none !important;
  flex: 1 1 0 !important;
}
@media (max-width: 575.98px) {
  html body #sp-header #sp-logo { max-width: 36% !important; }
}

/* Remove every legacy/left duplicate. The only retained trigger is inside #sp-menu. */
html body #sp-logo #offcanvas-toggler,
html body #sp-logo #offcanvas-toggler-left,
html body #sp-logo .offcanvas-toggler-left,
html body #sp-header a.offcanvas-toggler-left {
  display: none !important;
}

/* Reserve real flex space for the menu and keep the working trigger at the true far right. */
html body #sp-header #sp-menu,
html body #sp-header #sp-menu > .sp-column {
  min-width: 0 !important;
}
html body #sp-header #sp-menu > .sp-column {
  width: 100% !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  overflow: visible !important;
}
html body #sp-header #sp-menu > .sp-column > .sp-megamenu-wrapper {
  order: 10 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 56px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
html body #sp-header #sp-menu > .sp-column > #offcanvas-toggler.offcanvas-toggler-right {
  order: 9999 !important;
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  float: none !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 0 0 12px !important;
  padding: 0 !important;
  transform: none !important;
  z-index: 80 !important;
}
html body #sp-header #sp-menu .sp-megamenu-parent {
  width: 100% !important;
  min-width: 0 !important;
  justify-content: flex-end !important;
  padding-right: 0 !important;
}

/* Give dense desktop menus a little breathing room before the fixed hamburger cell. */
@media (min-width: 1500px) and (max-width: 1799.98px) {
  html body #sp-header .sp-megamenu-parent > li > a,
  html body #sp-header .sp-megamenu-parent > li > span {
    padding-left: 5px !important;
    padding-right: 5px !important;
    letter-spacing: -.08px !important;
  }
}
@media (max-width: 1499.98px) {
  html body #sp-header #sp-menu > .sp-column > .sp-megamenu-wrapper {
    max-width: calc(100% - 50px) !important;
  }
  html body #sp-header #sp-menu > .sp-column > #offcanvas-toggler.offcanvas-toggler-right {
    flex-basis: 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin-left: 8px !important;
  }
}

/* Original two-color motion: orange and blue remain visible while the sides swap.
   The border declaration remains !important for legacy-rule protection, while
   animated custom color properties drive its live colors. */
@property --bb-v18-top { syntax: "<color>"; inherits: false; initial-value: #ef7724; }
@property --bb-v18-right { syntax: "<color>"; inherits: false; initial-value: #7ca4dd; }
@property --bb-v18-bottom { syntax: "<color>"; inherits: false; initial-value: #ef7724; }
@property --bb-v18-left { syntax: "<color>"; inherits: false; initial-value: #7ca4dd; }
@keyframes bb-v18-brand-border {
  0%, 100% {
    --bb-v18-top: var(--bb-v18-orange);
    --bb-v18-right: var(--bb-v18-blue);
    --bb-v18-bottom: var(--bb-v18-orange);
    --bb-v18-left: var(--bb-v18-blue);
  }
  25% {
    --bb-v18-top: var(--bb-v18-blue);
    --bb-v18-right: var(--bb-v18-orange);
    --bb-v18-bottom: var(--bb-v18-blue);
    --bb-v18-left: var(--bb-v18-orange);
  }
  50% {
    --bb-v18-top: var(--bb-v18-orange);
    --bb-v18-right: var(--bb-v18-blue);
    --bb-v18-bottom: var(--bb-v18-blue);
    --bb-v18-left: var(--bb-v18-orange);
  }
  75% {
    --bb-v18-top: var(--bb-v18-blue);
    --bb-v18-right: var(--bb-v18-orange);
    --bb-v18-bottom: var(--bb-v18-orange);
    --bb-v18-left: var(--bb-v18-blue);
  }
}
html body #sp-header .animated-avatar,
html body #sp-header .jbd-username > i:not(.animated-avatar),
html body #sp-header .jbd-button-container .button-create {
  border-width: 4px !important;
  border-style: double !important;
  --bb-v18-top: var(--bb-v18-orange);
  --bb-v18-right: var(--bb-v18-blue);
  --bb-v18-bottom: var(--bb-v18-orange);
  --bb-v18-left: var(--bb-v18-blue);
  border-color: var(--bb-v18-top) var(--bb-v18-right) var(--bb-v18-bottom) var(--bb-v18-left) !important;
  background: rgba(0,0,0,.80) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(124,164,221,.30), 0 6px 15px rgba(0,0,0,.20), 0 0 7px rgba(239,119,36,.18), 0 0 11px rgba(124,164,221,.14) !important;
  animation: bb-v18-brand-border 2.8s linear infinite !important;
  filter: none !important;
  will-change: border-color, box-shadow !important;
}
html body #sp-header .animated-avatar,
html body #sp-header .jbd-username > i:not(.animated-avatar) {
  border-radius: 50% !important;
  aspect-ratio: 1 / 1 !important;
}
html body #sp-header .jbd-button-container .button-create {
  border-radius: 8px !important;
}
html body #sp-header .animated-avatar::before,
html body #sp-header .animated-avatar::after,
html body #sp-header .jbd-username > i:not(.animated-avatar)::before,
html body #sp-header .jbd-username > i:not(.animated-avatar)::after,
html body #sp-header .jbd-button-container .button-create::before,
html body #sp-header .jbd-button-container .button-create::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html body #sp-header .animated-avatar,
  html body #sp-header .jbd-username > i:not(.animated-avatar),
  html body #sp-header .jbd-button-container .button-create {
    animation: none !important;
    border-color: var(--bb-v18-orange) var(--bb-v18-blue) var(--bb-v18-orange) var(--bb-v18-blue) !important;
  }
}
/* === END BISTRO BUDDY V18 === */

/* ======================================================================
   BISTRO BUDDY V21 — UNIFIED SITE EXPERIENCE AUTHORITY
   Full template installer release. Balanced performance, accessibility,
   responsive navigation, branded motion and AJAX-safe enhancements.
   ====================================================================== */
:root {
  --bb-v21-header-h: 64px;
  --bb-v21-orange: #ef7724;
  --bb-v21-orange-bright: #ff6a00;
  --bb-v21-blue: #2f6fbd;
  --bb-v21-blue-soft: #7ca4dd;
  --bb-v21-ink: #25243d;
  --bb-v21-muted: #646274;
  --bb-v21-panel: #fff;
  --bb-v21-line: rgba(47,111,189,.16);
  --bb-v21-radius: 18px;
  --bb-v21-shadow-sm: 0 8px 24px rgba(37,36,61,.10);
  --bb-v21-shadow: 0 18px 46px rgba(37,36,61,.14);
}
html { overflow-x: clip; scroll-padding-top: calc(var(--bb-v21-header-h) + 12px); }
html, body, body.site, body.site.sticky-header, body.site.layout-fluid,
body.site.sticky-header.layout-fluid { margin-top:0!important; padding-top:0!important; }
body .body-wrapper, body.site .body-wrapper { margin-top:0!important; padding-top:0!important; min-height:100vh; overflow-x:clip; }
body .body-innerwrapper, body.site .body-innerwrapper {
  margin-top:0!important; padding-top:var(--bb-v21-header-h)!important;
  min-height:100vh; overflow-x:clip;
}
body.site .header-wrapper, body.site #sp-header, body.site #sp-header.header-sticky {
  position:fixed!important; inset:0 0 auto 0!important; width:100%!important;
  height:var(--bb-v21-header-h)!important; min-height:var(--bb-v21-header-h)!important;
  max-height:var(--bb-v21-header-h)!important; margin:0!important; transform:none!important;
  z-index:10050!important;
}
body.site .header-wrapper { pointer-events:none; background:transparent!important; }
body.site #sp-header { pointer-events:auto; }
body.site .sticky-header-placeholder, body.site #sp-header-sticky-wrapper, body.site .sticky-wrapper {
  height:0!important; min-height:0!important; max-height:0!important; margin:0!important; padding:0!important;
}
body.site #sp-header>.container, body.site #sp-header>.container-fluid {
  width:100%!important; max-width:none!important; height:100%!important;
  padding-inline:clamp(8px,1.35vw,22px)!important;
}
body.site #sp-header .container-inner, body.site #sp-header .container-inner>.row {
  width:100%!important; max-width:100%!important; height:100%!important; min-height:0!important;
  margin:0!important; align-items:center!important; flex-wrap:nowrap!important;
}
body.site #sp-header #sp-logo { flex:0 1 auto!important; width:auto!important; max-width:min(31%,310px)!important; min-width:0!important; }
body.site #sp-header #sp-menu { flex:1 1 0!important; width:auto!important; max-width:none!important; min-width:0!important; }
body.site #sp-header #sp-menu>.sp-column {
  display:flex!important; flex-flow:row nowrap!important; align-items:center!important;
  justify-content:flex-end!important; width:100%!important; min-width:0!important; overflow:visible!important;
}
body.site #sp-header #sp-menu>.sp-column>.sp-megamenu-wrapper {
  order:10!important; flex:1 1 auto!important; min-width:0!important;
  max-width:calc(100% - 54px)!important; overflow:visible!important;
}
body.site #sp-header #sp-menu>.sp-column>#offcanvas-toggler.offcanvas-toggler-right {
  order:9999!important; position:relative!important; inset:auto!important; float:none!important;
  flex:0 0 44px!important; width:44px!important; min-width:44px!important; max-width:44px!important;
  height:44px!important; min-height:44px!important; max-height:44px!important;
  margin:0 0 0 10px!important; padding:0!important; transform:none!important; z-index:120!important;
}
body.site #sp-logo #offcanvas-toggler, body.site #sp-logo #offcanvas-toggler-left,
body.site #sp-logo .offcanvas-toggler-left, body.site #sp-header a.offcanvas-toggler-left { display:none!important; }
body.site #sp-header .sp-megamenu-parent { width:100%!important; min-width:0!important; justify-content:flex-end!important; padding-right:0!important; }
body.site #sp-header .logo img.logo-image, body.site #sp-header .logo img.logo-image-phone {
  width:auto!important; height:auto!important; max-height:calc(var(--bb-v21-header-h) - 12px)!important;
  max-width:min(285px,25vw)!important; object-fit:contain!important; background:transparent!important;
  box-shadow:none!important; filter:drop-shadow(0 3px 5px rgba(0,0,0,.18))!important;
}

/* Keep ticker / first content flush with the one header reservation. */
body.site #sp-main-body, body.site #sp-feature,
body.site .body-innerwrapper>main, body.site .body-innerwrapper>.sp-page-builder,
body.site #section-id-1703965929560 { margin-top:0!important; top:auto!important; transform:none!important; }

/* Stable two-color Free Listing + user identity animation. */
@property --bb-v21-top { syntax:"<color>"; inherits:false; initial-value:#ef7724; }
@property --bb-v21-right { syntax:"<color>"; inherits:false; initial-value:#7ca4dd; }
@property --bb-v21-bottom { syntax:"<color>"; inherits:false; initial-value:#ef7724; }
@property --bb-v21-left { syntax:"<color>"; inherits:false; initial-value:#7ca4dd; }
@keyframes bb-v21-brand-border {
  0%,100%{--bb-v21-top:var(--bb-v21-orange);--bb-v21-right:var(--bb-v21-blue-soft);--bb-v21-bottom:var(--bb-v21-orange);--bb-v21-left:var(--bb-v21-blue-soft)}
  25%{--bb-v21-top:var(--bb-v21-blue-soft);--bb-v21-right:var(--bb-v21-orange);--bb-v21-bottom:var(--bb-v21-blue-soft);--bb-v21-left:var(--bb-v21-orange)}
  50%{--bb-v21-top:var(--bb-v21-orange);--bb-v21-right:var(--bb-v21-blue-soft);--bb-v21-bottom:var(--bb-v21-blue-soft);--bb-v21-left:var(--bb-v21-orange)}
  75%{--bb-v21-top:var(--bb-v21-blue-soft);--bb-v21-right:var(--bb-v21-orange);--bb-v21-bottom:var(--bb-v21-orange);--bb-v21-left:var(--bb-v21-blue-soft)}
}
body.site #sp-header .animated-avatar,
body.site #sp-header .jbd-username>i:not(.animated-avatar),
body.site #sp-header .jbd-button-container .button-create {
  border-width:4px!important; border-style:double!important;
  --bb-v21-top:var(--bb-v21-orange);--bb-v21-right:var(--bb-v21-blue-soft);
  --bb-v21-bottom:var(--bb-v21-orange);--bb-v21-left:var(--bb-v21-blue-soft);
  border-color:var(--bb-v21-top) var(--bb-v21-right) var(--bb-v21-bottom) var(--bb-v21-left)!important;
  background:rgba(5,7,10,.88)!important; color:#fff!important;
  box-shadow:0 0 0 1px rgba(124,164,221,.26),0 6px 15px rgba(0,0,0,.20),0 0 8px rgba(239,119,36,.18)!important;
  animation:bb-v21-brand-border 3.15s linear infinite!important; filter:none!important;
}
body.site #sp-header .animated-avatar, body.site #sp-header .jbd-username>i:not(.animated-avatar) {
  border-radius:50%!important; aspect-ratio:1/1!important;
}
body.site #sp-header .jbd-button-container .button-create { border-radius:8px!important; }
body.site #sp-header .animated-avatar::before, body.site #sp-header .animated-avatar::after,
body.site #sp-header .jbd-username>i:not(.animated-avatar)::before,
body.site #sp-header .jbd-username>i:not(.animated-avatar)::after,
body.site #sp-header .jbd-button-container .button-create::before,
body.site #sp-header .jbd-button-container .button-create::after { content:none!important; display:none!important; animation:none!important; }

/* Nested menus open right by default; runtime flips only at viewport edges. */
@media (min-width:1500px) {
  body.site #sp-header li.sp-menu-item>.sp-dropdown.sp-dropdown-sub,
  body.site #sp-header .sp-dropdown.sp-menu-right li.sp-menu-item>.sp-dropdown.sp-dropdown-sub {
    left:calc(100% - 5px)!important; right:auto!important; top:-15px!important; transform:none!important;
  }
  body.site #sp-header li.sp-menu-item>.sp-dropdown.sp-dropdown-sub::before { left:-16px!important; right:auto!important; width:18px!important; }
  body.site #sp-header li.sp-menu-item.bb-submenu-flip-left>.sp-dropdown.sp-dropdown-sub { left:auto!important; right:calc(100% - 5px)!important; }
  body.site #sp-header li.sp-menu-item.bb-submenu-flip-left>.sp-dropdown.sp-dropdown-sub::before { left:auto!important; right:-16px!important; }
}

/* Universal component polish, activated after the runtime is ready. */
body.bb-v21-enhanced :where(.card,.jitem-card,.place-card,.listing-item,.event-item,.offer-item,.sppb-addon-feature,.sppb-addon-pricing-table,#es .es-stream) {
  border-color:var(--bb-v21-line); border-radius:var(--bb-v21-radius); box-shadow:var(--bb-v21-shadow-sm);
}
body.bb-v21-enhanced :where(.btn,.button,.jbtn,.sppb-btn,button):not(#sp-header *):not(.no-ripple) {
  position:relative; overflow:hidden; isolation:isolate; border-radius:9px;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,border-color .2s ease;
  -webkit-tap-highlight-color:transparent;
}
body.bb-v21-enhanced :where(.btn,.button,.jbtn,.sppb-btn,button):not(#sp-header *):not(.no-ripple)::after {
  content:""; position:absolute; inset:-45% auto -45% -58%; width:38%; pointer-events:none; z-index:-1;
  opacity:0; background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
  transform:skewX(-18deg); transition:left .55s ease,opacity .18s ease;
}
body.bb-v21-enhanced :where(input,select,textarea,.form-control) {
  max-width:100%; border-radius:9px; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
body.bb-v21-enhanced :where(input,select,textarea,.form-control):focus {
  border-color:var(--bb-v21-blue)!important; box-shadow:0 0 0 3px rgba(47,111,189,.14)!important;
}
body.bb-v21-enhanced :where(.modal-content,.dialog-content,.offcanvas-menu) { border-radius:18px; box-shadow:0 24px 70px rgba(37,36,61,.26); }
body.bb-v21-enhanced :where(table) { max-width:100%; }
body.bb-v21-enhanced .bb-v21-table-scroll { width:100%; overflow:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
body.bb-v21-enhanced :where(.pagination,.jbd-pagination) a { min-width:40px; min-height:40px; display:inline-flex; align-items:center; justify-content:center; }

/* Performance-aware reveal. */
body.bb-v21-motion .bb-v21-reveal { opacity:0; transform:translate3d(0,18px,0); transition:opacity .52s ease,transform .52s cubic-bezier(.2,.75,.2,1); }
body.bb-v21-motion .bb-v21-reveal.bb-v21-visible { opacity:1; transform:none; }
body.bb-v21-enhanced .bb-v21-below-fold { content-visibility:auto; contain-intrinsic-size:1px 720px; }

/* Branded runtime controls. */
#bb-v21-progress { position:fixed; inset:0 auto auto 0; width:0; height:3px; z-index:2147482000; pointer-events:none;
  background:linear-gradient(90deg,var(--bb-v21-orange),var(--bb-v21-blue-soft)); box-shadow:0 0 10px rgba(47,111,189,.35); }
#bb-v21-pointer { position:fixed; left:0; top:0; width:170px; height:170px; margin:-85px 0 0 -85px; border-radius:50%;
  pointer-events:none; z-index:2147479000; opacity:0; transform:translate3d(-300px,-300px,0);
  background:radial-gradient(circle,rgba(239,119,36,.13),rgba(47,111,189,.09) 35%,transparent 70%); mix-blend-mode:screen; will-change:transform; }
html.bb-v21-pointer-active #bb-v21-pointer { opacity:1; }
.bb-v21-ripple { position:fixed; width:10px; height:10px; margin:-5px 0 0 -5px; border-radius:50%; pointer-events:none;
  z-index:2147483000; background:radial-gradient(circle,#fff 0 12%,var(--bb-v21-orange) 20% 45%,var(--bb-v21-blue-soft) 50% 72%,transparent 76%);
  animation:bb-v21-ripple .62s ease-out forwards; }
@keyframes bb-v21-ripple { from{opacity:.92;transform:scale(.25)} to{opacity:0;transform:scale(7.5)} }
#bb-v21-scrolltop { position:fixed; right:max(14px,env(safe-area-inset-right)); bottom:max(18px,calc(env(safe-area-inset-bottom) + 14px));
  width:46px; height:46px; border:0; border-radius:50%; z-index:10020; opacity:0; visibility:hidden; transform:translateY(12px);
  color:#fff; background:linear-gradient(135deg,var(--bb-v21-orange),var(--bb-v21-blue)); box-shadow:0 12px 28px rgba(37,36,61,.24);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease; }
#bb-v21-scrolltop.is-visible { opacity:1; visibility:visible; transform:none; }
#bb-v21-toast-region { position:fixed; right:max(14px,env(safe-area-inset-right)); bottom:max(78px,calc(env(safe-area-inset-bottom) + 72px));
  z-index:2147482500; width:min(360px,calc(100vw - 28px)); display:grid; gap:8px; pointer-events:none; }
.bb-v21-toast { padding:12px 14px; border-radius:12px; color:#fff; background:rgba(37,36,61,.96); border:1px solid rgba(124,164,221,.35);
  box-shadow:0 16px 38px rgba(37,36,61,.24); animation:bb-v21-toast-in .24s ease both; }
.bb-v21-toast.is-warn { border-color:rgba(239,119,36,.58); }
@keyframes bb-v21-toast-in { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
.bb-v21-skeleton { position:relative; overflow:hidden; min-height:80px; background:linear-gradient(110deg,#edf1f7 8%,#fff 18%,#edf1f7 33%); background-size:200% 100%; animation:bb-v21-skeleton 1.35s linear infinite; }
@keyframes bb-v21-skeleton { to{background-position-x:-200%} }

@media (hover:hover) and (pointer:fine) {
  body.bb-v21-enhanced :where(.btn,.button,.jbtn,.sppb-btn,button):not(#sp-header *):not(.no-ripple):hover::after { left:120%; opacity:.9; }
  body.bb-v21-enhanced :where(.card,.jitem-card,.place-card,.listing-item,.event-item,.offer-item,.sppb-addon-feature,.sppb-addon-pricing-table):hover {
    transform:translateY(-4px); box-shadow:var(--bb-v21-shadow); filter:saturate(1.025);
  }
}
@media (max-width:1199.98px) {
  :root{--bb-v21-header-h:62px}
  body.site #sp-header #sp-logo{max-width:min(38%,250px)!important}
  body.site #sp-header .logo img.logo-image,body.site #sp-header .logo img.logo-image-phone{max-width:min(230px,39vw)!important}
}
@media (max-width:767.98px), (pointer:coarse) {
  :root{--bb-v21-header-h:58px}
  body.site #sp-header>.container,body.site #sp-header>.container-fluid{padding-inline:7px!important}
  body.site #sp-header #sp-logo{max-width:52%!important}
  body.site #sp-header .logo img.logo-image,body.site #sp-header .logo img.logo-image-phone{max-height:44px!important;max-width:min(205px,51vw)!important}
  body.site #sp-header #sp-menu>.sp-column>.sp-megamenu-wrapper{max-width:calc(100% - 48px)!important}
  body.site #sp-header #sp-menu>.sp-column>#offcanvas-toggler.offcanvas-toggler-right{flex-basis:42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin-left:6px!important}
  #bb-v21-pointer{display:none!important}
  body.bb-v21-enhanced :where(button,.btn,.button,.jbtn,.sppb-btn,a.button,a.btn):active{transform:scale(.975);filter:brightness(1.06) saturate(1.05)}
  body.bb-v21-enhanced :where(.btn,.button,.jbtn,.sppb-btn,button,.offcanvas-menu a,.sp-megamenu-parent>li>a){min-height:44px}
  body.bb-v21-enhanced .offcanvas-menu{padding-bottom:max(24px,env(safe-area-inset-bottom))}
  #bb-v21-scrolltop{width:44px;height:44px;bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px))}
}
@media (max-width:389.98px) {
  :root{--bb-v21-header-h:56px}
  body.site #sp-header .logo img.logo-image,body.site #sp-header .logo img.logo-image-phone{max-height:41px!important;max-width:min(180px,49vw)!important}
}
@media (prefers-reduced-motion:reduce) {
  html{scroll-behavior:auto!important}
  body.site #sp-header .animated-avatar,body.site #sp-header .jbd-username>i:not(.animated-avatar),body.site #sp-header .jbd-button-container .button-create{
    animation:none!important;border-color:var(--bb-v21-orange) var(--bb-v21-blue-soft) var(--bb-v21-orange) var(--bb-v21-blue-soft)!important}
  body.bb-v21-enhanced *,body.bb-v21-enhanced *::before,body.bb-v21-enhanced *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  #bb-v21-pointer,.bb-v21-ripple{display:none!important}
  body.bb-v21-motion .bb-v21-reveal{opacity:1!important;transform:none!important}
}
/* === END BISTRO BUDDY V21 === */

/* ======================================================================
   BISTRO BUDDY V28 — CONSOLIDATED QA AUTHORITY
   One cohesive front-end authority layer for Helix, EasySocial,
   J-BusinessDirectory, the fixed Docker, commerce, navigation and media.
   ====================================================================== */
:root{
  --bb-orange:#ef7724;
  --bb-orange-bright:#ff9a44;
  --bb-blue:#2f6fbd;
  --bb-blue-soft:#7ca4dd;
  --bb-ink:#25243d;
  --bb-ink-2:#1d1d24;
  --bb-paper:#fff;
  --bb-soft:#f4f7fb;
  --bb-line:rgba(47,111,189,.18);
  --bb-shadow-sm:0 8px 22px rgba(37,36,61,.11);
  --bb-shadow:0 18px 48px rgba(37,36,61,.16);
  --bb-shadow-lg:0 30px 80px rgba(37,36,61,.24);
  --bb-radius-sm:12px;
  --bb-radius:18px;
  --bb-radius-lg:24px;
  --bb-header-h:58px;
  --bb-docker-h:0px;
  --bb-safe-bottom:env(safe-area-inset-bottom,0px);
  --bb-first-gap-fix:0px;
  color-scheme:light;
}
html{overflow-x:clip;scroll-padding-top:calc(var(--bb-header-h) + 12px)}
body{overflow-x:clip!important;background:var(--bb-paper);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.site{padding-bottom:var(--bb-docker-h)!important}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{max-width:100%}

/* --- Fixed shell: exactly one header height, no artificial scrolling. --- */
.header-wrapper,
#sp-header,
#sp-header.header-sticky,
#sp-header.bb-header-fixed{
  position:fixed!important;
  inset:0 0 auto 0!important;
  width:100%!important;
  margin:0!important;
  transform:none!important;
  z-index:10050!important;
  background:linear-gradient(180deg,#242426 0%,#1d1d20 100%)!important;
  border-bottom:1px solid rgba(239,119,36,.62)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.20)!important;
}
.header-wrapper{height:auto!important;min-height:0!important}
#sp-header>.container,
#sp-header>.container-fluid,
#sp-header .container-inner{width:100%!important;max-width:none!important;margin:0!important;padding-inline:clamp(10px,1.55vw,28px)!important}
#sp-header .row{min-height:var(--bb-header-h)!important;margin:0!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:clamp(8px,1vw,18px)!important}
.body-wrapper,.body-innerwrapper{margin:0!important;top:auto!important;transform:none!important}
.body-innerwrapper{padding-top:var(--bb-header-h)!important}
.sticky-header-placeholder,#sp-header-sticky-wrapper{height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}
#section-id-1703965929560,.sp-page-title,#sp-main-body.bb28-first-content,main#sp-component.bb28-first-content{margin-top:var(--bb-first-gap-fix)!important}
#section-id-1703965929560{position:relative!important;z-index:100!important;border-radius:0!important}

/* --- Header layout and branding. --- */
#sp-logo{flex:0 0 auto!important;width:auto!important;max-width:clamp(132px,12.5vw,224px)!important;padding:0!important}
#sp-logo .sp-column,#sp-logo .logo,#sp-logo .logo>a{display:flex!important;align-items:center!important;min-width:0!important;background:transparent!important}
#sp-logo img.logo-image{display:block!important;width:auto!important;height:clamp(37px,3.2vw,52px)!important;max-height:52px!important;object-fit:contain!important;background:transparent!important;border:0!important;box-shadow:none!important;filter:drop-shadow(0 0 8px rgba(124,164,221,.24))!important}
#sp-logo img.logo-image-phone{width:auto!important;height:34px!important;max-height:34px!important;object-fit:contain!important;background:transparent!important;border:0!important}
#sp-menu{flex:1 1 auto!important;width:auto!important;max-width:none!important;min-width:0!important;padding:0!important}
#sp-menu>.sp-column{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:clamp(8px,.8vw,14px)!important;min-width:0!important}
#sp-menu .sp-megamenu-wrapper{order:20!important;flex:1 1 auto!important;min-width:0!important;display:flex!important;justify-content:flex-end!important}
#sp-menu .sp-megamenu-parent{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:clamp(5px,.5vw,11px)!important;margin:0!important;min-width:0!important}
#sp-menu .sp-megamenu-parent>li>a{display:flex!important;align-items:center!important;gap:4px!important;min-height:var(--bb-header-h)!important;padding:0 clamp(2px,.28vw,6px)!important;color:#fff!important;font-size:clamp(12px,.82vw,15px)!important;font-weight:650!important;line-height:1.1!important;white-space:nowrap!important;text-decoration:none!important;transition:color .18s ease,filter .18s ease!important}
#sp-menu .sp-megamenu-parent>li>a:hover,#sp-menu .sp-megamenu-parent>li.active>a{color:var(--bb-orange-bright)!important;filter:drop-shadow(0 0 7px rgba(239,119,36,.30))!important}
#sp-menu .sp-megamenu-parent>li>a i{margin:0!important;flex:0 0 auto!important}
#offcanvas-toggler{order:99!important;position:relative!important;inset:auto!important;flex:0 0 44px!important;width:44px!important;height:44px!important;margin-left:4px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:13px!important;background:linear-gradient(145deg,#353538,#202024)!important;box-shadow:inset 0 0 0 1px rgba(239,119,36,.20),0 6px 16px rgba(0,0,0,.2)!important;color:#fff!important;z-index:4!important}
#offcanvas-toggler:hover,#offcanvas-toggler:focus-visible{border-color:var(--bb-orange)!important;box-shadow:inset 0 0 0 1px rgba(47,111,189,.55),0 0 18px rgba(239,119,36,.24)!important;outline:none!important}
#offcanvas-toggler .burger-icon{width:22px!important;height:16px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important}
#offcanvas-toggler .burger-icon span{display:block!important;width:100%!important;height:2px!important;border-radius:4px!important;background:#fff!important}

/* --- Exact BISTRO BUDDY identity controls; no white-only override. --- */
body.site #sp-header a.jbd-username>span.animated-avatar,
body.site #sp-header .jbd-mod-user a.jbd-username>span.animated-avatar{
  width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  margin:0 7px 0 0!important;padding:0!important;border:2px solid var(--bb-orange)!important;border-radius:50%!important;
  color:#39ff55!important;background:#111!important;
  box-shadow:0 0 0 2px var(--bb-blue),0 0 15px rgba(239,119,36,.34),inset 0 0 12px rgba(47,111,189,.24)!important;
  animation:bb28IdentityOrbit 4.8s linear infinite!important;
}
body.site #sp-header a.jbd-username>span.animated-avatar i{border:0!important;box-shadow:none!important;color:#39ff55!important;background:transparent!important}
body.site #sp-header .jbd-button-container a.button-create,
body.site #sp-header a.button-create{
  position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  min-height:40px!important;padding:8px 15px!important;margin:0!important;border:2px solid var(--bb-orange)!important;border-radius:10px!important;
  color:#fff!important;background:linear-gradient(145deg,#17171a,#29292d)!important;
  font-size:clamp(13px,.9vw,16px)!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;text-decoration:none!important;
  box-shadow:0 0 0 2px var(--bb-blue),0 0 15px rgba(239,119,36,.30),inset 0 0 12px rgba(47,111,189,.18)!important;
  animation:bb28IdentityOrbit 4.8s linear infinite!important;
}
body.site #sp-header .jbd-button-container a.button-create::before,
body.site #sp-header .jbd-button-container a.button-create::after,
body.site #sp-header a.jbd-username>span.animated-avatar::before,
body.site #sp-header a.jbd-username>span.animated-avatar::after{content:none!important;display:none!important}
body.site #sp-header .jbd-button-container a.button-create i{border:0!important;box-shadow:none!important;background:transparent!important;color:#fff!important}
@keyframes bb28IdentityOrbit{
  0%,100%{border-color:var(--bb-orange) var(--bb-blue) var(--bb-orange) var(--bb-blue);box-shadow:0 0 0 2px var(--bb-blue),0 0 13px rgba(239,119,36,.30),inset 0 0 10px rgba(47,111,189,.20)}
  25%{border-color:var(--bb-blue) var(--bb-orange) var(--bb-blue) var(--bb-orange);box-shadow:0 0 0 2px var(--bb-orange),0 0 16px rgba(47,111,189,.32),inset 0 0 11px rgba(239,119,36,.20)}
  50%{border-color:var(--bb-orange-bright) var(--bb-blue-soft) var(--bb-orange-bright) var(--bb-blue-soft);box-shadow:0 0 0 2px var(--bb-blue-soft),0 0 17px rgba(239,119,36,.34),inset 0 0 12px rgba(47,111,189,.22)}
  75%{border-color:var(--bb-blue-soft) var(--bb-orange-bright) var(--bb-blue-soft) var(--bb-orange-bright);box-shadow:0 0 0 2px var(--bb-orange-bright),0 0 16px rgba(47,111,189,.34),inset 0 0 11px rgba(239,119,36,.20)}
}

/* --- Desktop dropdowns: continuous hover path and deterministic direction. --- */
#sp-header .sp-megamenu-parent .sp-dropdown{margin:0!important;padding:0!important}
#sp-header .sp-megamenu-parent>li>.sp-dropdown{top:100%!important}
#sp-header .sp-dropdown .sp-dropdown-inner{background:#232326!important;color:#fff!important;border:1px solid rgba(124,164,221,.38)!important;border-top:2px solid var(--bb-orange)!important;border-radius:0 0 16px 16px!important;box-shadow:var(--bb-shadow-lg)!important;padding:16px!important}
#sp-header .sp-dropdown .sp-dropdown-items{margin:0!important;padding:0!important}
#sp-header .sp-dropdown li.sp-menu-item{position:relative!important}
#sp-header .sp-dropdown li.sp-menu-item>a{display:flex!important;align-items:center!important;gap:8px!important;min-height:40px!important;padding:9px 12px!important;border-radius:9px!important;color:#fff!important;font-weight:650!important;text-decoration:none!important}
#sp-header .sp-dropdown li.sp-menu-item>a:hover,#sp-header .sp-dropdown li.sp-menu-item:focus-within>a{color:var(--bb-orange-bright)!important;background:linear-gradient(90deg,rgba(239,119,36,.15),rgba(47,111,189,.10))!important}
#sp-header .sp-dropdown li.sp-menu-item>.sp-dropdown-sub{top:-8px!important;left:calc(100% - 7px)!important;right:auto!important;margin:0!important;padding-left:7px!important}
#sp-header .sp-dropdown li.sp-menu-item.bb-submenu-flip-left>.sp-dropdown-sub{left:auto!important;right:calc(100% - 7px)!important;padding-left:0!important;padding-right:7px!important}
#sp-header .sp-dropdown li.sp-menu-item>.sp-dropdown-sub::before{content:""!important;position:absolute!important;top:0!important;bottom:0!important;left:-10px!important;width:18px!important;background:transparent!important}
#sp-header .sp-dropdown li.sp-menu-item.bb-submenu-flip-left>.sp-dropdown-sub::before{left:auto!important;right:-10px!important}

/* --- Offcanvas: fully hidden when closed, fully scrollable when open. --- */
.offcanvas-overlay{position:fixed!important;inset:0!important;z-index:11000!important;background:rgba(16,17,22,.64)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;opacity:0!important;visibility:hidden!important;transition:opacity .22s ease,visibility .22s ease!important}
.offcanvas-menu{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:min(420px,94vw)!important;height:100dvh!important;max-height:100dvh!important;z-index:11010!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;overscroll-behavior:contain!important;background:linear-gradient(165deg,#202024 0%,#242429 54%,#171719 100%)!important;border-left:2px solid var(--bb-orange)!important;box-shadow:-24px 0 64px rgba(0,0,0,.38)!important;transform:translate3d(105%,0,0)!important;visibility:hidden!important;transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility .26s ease!important}
.offcanvs-menu-open .offcanvas-overlay{opacity:1!important;visibility:visible!important}
.offcanvs-menu-open .offcanvas-menu{transform:translate3d(0,0,0)!important;visibility:visible!important}
.offcanvas-menu>.d-flex{flex:0 0 auto!important;min-height:84px!important;padding:14px 18px!important;border-bottom:1px solid rgba(124,164,221,.20)!important;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)!important}
.offcanvas-menu .logo,.offcanvas-menu .logo>a{display:flex!important;align-items:center!important;background:transparent!important}
.offcanvas-menu .logo img{width:auto!important;height:clamp(42px,8vw,62px)!important;max-height:62px!important;object-fit:contain!important;background:transparent!important;border:0!important;box-shadow:none!important;filter:drop-shadow(0 0 10px rgba(239,119,36,.22))!important}
.offcanvas-menu .close-offcanvas{width:44px!important;height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;background:#34343a!important;border:1px solid rgba(255,255,255,.16)!important}
.offcanvas-menu .offcanvas-inner{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;touch-action:pan-y!important;padding:12px 16px calc(150px + var(--bb-safe-bottom))!important;scrollbar-width:thin!important;scrollbar-color:var(--bb-orange) #18181b!important}
.offcanvas-menu .offcanvas-inner::-webkit-scrollbar{width:8px!important}.offcanvas-menu .offcanvas-inner::-webkit-scrollbar-track{background:#18181b!important}.offcanvas-menu .offcanvas-inner::-webkit-scrollbar-thumb{background:linear-gradient(var(--bb-orange),var(--bb-blue))!important;border-radius:999px!important}
.offcanvas-menu ul.menu,.offcanvas-menu ul.menu-child{margin:0!important;padding:0!important;list-style:none!important}
.offcanvas-menu ul.menu>li{margin:6px 0!important;border:1px solid rgba(124,164,221,.20)!important;border-left:3px solid var(--bb-orange)!important;border-radius:12px!important;background:linear-gradient(90deg,rgba(239,119,36,.08),rgba(47,111,189,.05))!important;overflow:hidden!important}
.offcanvas-menu ul.menu li>a{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:48px!important;padding:11px 13px!important;color:#fff!important;font-size:17px!important;font-weight:750!important;text-decoration:none!important;border:0!important}
.offcanvas-menu ul.menu li>a:hover,.offcanvas-menu ul.menu li.active>a,.offcanvas-menu ul.menu li.current>a{color:#fff!important;background:linear-gradient(90deg,rgba(239,119,36,.34),rgba(47,111,189,.20))!important}
.offcanvas-menu ul.menu-child{padding:4px 8px 10px 14px!important;background:rgba(0,0,0,.12)!important}
.offcanvas-menu ul.menu-child li{margin:5px 0!important;border-left:2px solid var(--bb-blue)!important;border-radius:8px!important;background:rgba(255,255,255,.035)!important}
.offcanvas-menu ul.menu-child li>a{min-height:42px!important;padding:9px 11px!important;font-size:15px!important;font-weight:600!important}
.offcanvas-menu .mod-languages img,.offcanvas-menu .mod-languages a,.offcanvas-menu .social-icons img{background:transparent!important;border:0!important;box-shadow:none!important}
#bb28-menu-scroll-cue{position:sticky!important;bottom:8px!important;display:none!important;align-items:center!important;justify-content:center!important;width:max-content!important;margin:10px auto 0!important;padding:7px 12px!important;border:1px solid rgba(239,119,36,.55)!important;border-radius:999px!important;color:#fff!important;background:rgba(24,24,27,.92)!important;box-shadow:0 8px 20px rgba(0,0,0,.22)!important;font-size:12px!important;font-weight:800!important;z-index:4!important}
.offcanvas-menu.bb28-can-scroll #bb28-menu-scroll-cue{display:flex!important}
.offcanvas-menu.bb28-at-scroll-end #bb28-menu-scroll-cue{display:none!important}

/* --- EasySocial Docker stays at the bottom and fills the entire bar. --- */
#es.es-docker{
  position:fixed!important;inset:auto 0 0 0!important;top:auto!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;max-width:none!important;min-height:58px!important;margin:0!important;padding:5px max(8px,env(safe-area-inset-left)) calc(5px + var(--bb-safe-bottom)) max(8px,env(safe-area-inset-right))!important;
  display:flex!important;align-items:center!important;z-index:12000!important;transform:none!important;
  background:linear-gradient(180deg,#242428,#19191d)!important;border-top:1px solid var(--bb-orange)!important;box-shadow:0 -10px 28px rgba(0,0,0,.22)!important;
}
#es.es-docker .docker__inner,#es.es-docker .docker__content{width:100%!important;max-width:none!important;display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
#es.es-docker .docker__search,#es.es-docker .docker__search-form{flex:1 1 360px!important;min-width:120px!important;max-width:520px!important;margin-right:auto!important}
#es.es-docker .docker__search-form{display:flex!important;align-items:center!important;min-height:44px!important;border:1px solid rgba(124,164,221,.40)!important;border-radius:10px!important;background:#34444d!important;overflow:hidden!important}
#es.es-docker .docker__search-form input{width:100%!important;min-width:0!important;height:42px!important;padding:8px 12px!important;color:#fff!important;background:transparent!important;border:0!important;outline:0!important;font-size:16px!important}
#es.es-docker .btn-docker,#es.es-docker [class*="docker__nav"]>a,#es.es-docker .docker__menu>a{flex:0 0 44px!important;width:44px!important;height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;border:1px solid rgba(239,119,36,.72)!important;border-radius:11px!important;color:#fff!important;background:linear-gradient(145deg,#303034,#202024)!important;box-shadow:inset 0 0 0 1px rgba(47,111,189,.30)!important}
#es.es-docker .btn-docker:hover,#es.es-docker .btn-docker:focus-visible{border-color:var(--bb-blue-soft)!important;box-shadow:inset 0 0 0 1px var(--bb-orange),0 0 16px rgba(47,111,189,.26)!important;outline:none!important}
#es.es-docker .docker__menu,#es.es-docker .docker-avatar{flex:0 0 auto!important}
#es.es-docker .docker__menu>a:last-child,#es.es-docker .docker-avatar>a{width:46px!important;height:46px!important;padding:4px!important;border:2px solid var(--bb-orange)!important;border-radius:50%!important;background:linear-gradient(145deg,#29292d,#171719)!important;box-shadow:inset 0 0 0 2px var(--bb-blue),0 0 12px rgba(239,119,36,.25)!important;overflow:hidden!important}
#es.es-docker .docker__menu>a:last-child img,#es.es-docker .docker-avatar>a img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important;background:transparent!important}
#es.es-docker .docker-popup{bottom:calc(100% + 8px)!important;top:auto!important;max-height:min(72vh,640px)!important;overflow:auto!important;background:#242428!important;color:#fff!important;border:1px solid rgba(124,164,221,.28)!important;border-radius:16px!important;box-shadow:var(--bb-shadow-lg)!important}

/* --- Commerce: one launcher; Full Cart remains inside the expanded bag. --- */
#bb-full-cart-launcher,#bb-native-cart-fab,.bb-full-cart-fab{display:none!important}
html body #bb-smart-cart-launcher{
  position:fixed!important;right:max(14px,env(safe-area-inset-right))!important;bottom:calc(var(--bb-docker-h) + 14px + var(--bb-safe-bottom))!important;left:auto!important;top:auto!important;
  min-width:148px!important;min-height:50px!important;padding:9px 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  border:1px solid var(--bb-orange)!important;border-radius:999px!important;color:#fff!important;background:linear-gradient(135deg,#33343b,#252733 56%,#34465d)!important;
  box-shadow:inset 0 0 0 1px rgba(124,164,221,.55),0 12px 30px rgba(37,36,61,.28),0 0 18px rgba(239,119,36,.16)!important;z-index:11950!important;
}
html body #bb-smart-cart-launcher:hover,html body #bb-smart-cart-launcher:focus-visible{transform:translateY(-2px)!important;box-shadow:inset 0 0 0 1px var(--bb-blue-soft),0 16px 34px rgba(37,36,61,.32),0 0 24px rgba(239,119,36,.24)!important;outline:none!important}
html body #bb-smart-cart-launcher .bb-cart-count{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:25px!important;height:25px!important;padding:0 6px!important;border-radius:999px!important;background:var(--bb-orange)!important;color:#fff!important;font-weight:900!important}
#bb-smart-cart{z-index:12100!important}
#bb-smart-cart .bb-cart-panel{border-left:2px solid var(--bb-orange)!important;background:linear-gradient(165deg,#fff 0%,#f7f9fd 100%)!important;box-shadow:-28px 0 80px rgba(20,22,32,.34)!important}
#bb-smart-cart .bb-full-cart-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:46px!important;padding:11px 16px!important;border:1px solid var(--bb-orange)!important;border-radius:11px!important;color:#fff!important;background:linear-gradient(135deg,var(--bb-orange),#d65c0b 50%,var(--bb-blue))!important;font-weight:850!important;text-decoration:none!important;box-shadow:0 10px 24px rgba(37,36,61,.18)!important}

/* --- Cohesive modern surfaces. --- */
body.site :where(.btn,.sppb-btn,.jbtn,.es-btn,button:not(.close):not(.close-offcanvas),input[type="submit"],input[type="button"]){transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,border-color .18s ease!important}
body.site :where(.btn,.sppb-btn,.jbtn,.es-btn,button:not(.close):not(.close-offcanvas),input[type="submit"],input[type="button"]):hover{transform:translateY(-1px);filter:saturate(1.05)}
body.site :where(input,select,textarea):focus{outline:none!important;border-color:var(--bb-blue)!important;box-shadow:0 0 0 3px rgba(47,111,189,.15),0 0 16px rgba(239,119,36,.08)!important}
.bb28-table-scroll{width:100%;overflow:auto;overscroll-behavior-inline:contain;border-radius:var(--bb-radius-sm)}

/* --- EasySocial 2026 canvas. --- */
body.com-easysocial #sp-main-body,body.bb28-easysocial #sp-main-body{background:linear-gradient(180deg,#f7f9fc,#fff 420px)!important}
body.com-easysocial #sp-main-body>.container,body.com-easysocial #sp-main-body>.container-fluid,body.bb28-easysocial #sp-main-body>.container,body.bb28-easysocial #sp-main-body>.container-fluid{width:min(100%,1540px)!important;max-width:1540px!important;padding-inline:clamp(10px,1.6vw,28px)!important}
#es{--si-primary:var(--bb-blue);--si-success:var(--bb-orange);font-size:15px;line-height:1.55;color:#333241}
#es .es-container,#es .es-content,#es .es-main{max-width:none!important}
#es .es-stream-list{display:grid!important;gap:clamp(12px,1.4vw,20px)!important}
#es .es-stream-item,#es .es-story,#es .es-card,#es .es-widget,#es .o-card,#es .es-profile-header,#es .es-cluster-header{
  position:relative!important;border:1px solid rgba(47,111,189,.14)!important;border-radius:20px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 12px 34px rgba(37,36,61,.10)!important;overflow:clip!important;
}
#es .es-stream-item::before,#es .es-story::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--bb-orange),var(--bb-blue));opacity:.86}
#es .es-stream-item:hover,#es .es-story:hover{border-color:rgba(239,119,36,.34)!important;box-shadow:0 18px 44px rgba(37,36,61,.14)!important}
#es .es-stream-item .es-stream-content,#es .es-stream-item .es-stream-body,#es .es-stream-item .es-stream-meta,#es .es-stream-item .es-stream-actions,#es .es-story{padding-inline:clamp(13px,1.4vw,22px)!important}
#es .es-stream-item img:not(.o-avatar-v2__img):not([class*="avatar"]){height:auto!important;object-fit:cover;border-radius:14px!important}
#es .es-stream-item .o-avatar-v2,#es .es-avatar,#es [class*="avatar"] img{border-radius:50%!important}
#es .es-stream-item .o-avatar-v2,#es .es-profile-header__avatar,#es .es-avatar{box-shadow:0 0 0 2px var(--bb-orange),0 0 0 4px var(--bb-blue)!important}
#es .es-stream-actions,#es .es-comments-form,#es .es-comments-item{border-color:rgba(47,111,189,.12)!important}
#es .es-stream-actions a,#es .es-stream-actions button{min-height:38px!important;border-radius:9px!important}
#es .es-story textarea,#es .es-comments-form textarea{min-height:48px!important;border:1px solid rgba(47,111,189,.24)!important;border-radius:12px!important;background:#fff!important;font-size:16px!important}
#es .es-profile-header__cover,#es .es-cluster-header__cover{position:relative!important;min-height:clamp(190px,28vw,380px)!important;border-radius:20px 20px 0 0!important;overflow:hidden!important;background:#1e1e24!important}
#es .es-profile-header__cover::after,#es .es-cluster-header__cover::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,rgba(239,119,36,.12) 44%,rgba(124,164,221,.15) 56%,transparent 78%);background-size:220% 100%;animation:bb28CoverLight 9s ease-in-out infinite}
@keyframes bb28CoverLight{0%,100%{background-position:180% 0}50%{background-position:-80% 0}}
#es .es-profile-header__nav,#es .es-cluster-header__nav,#es .es-nav{display:flex!important;gap:6px!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;scrollbar-width:thin!important;padding:8px!important}
#es .es-profile-header__nav a,#es .es-cluster-header__nav a,#es .es-nav a{flex:0 0 auto!important;min-height:40px!important;padding:9px 13px!important;border-radius:10px!important;white-space:nowrap!important}
#es .es-profile-header__nav a.active,#es .es-cluster-header__nav a.active,#es .es-nav a.active{color:#fff!important;background:linear-gradient(135deg,var(--bb-orange),var(--bb-blue))!important}
#es .es-edit-form,#es form[name*="profile"],#es .es-profile-edit{display:grid!important;gap:16px!important}
#es .es-field,#es .es-form-group,#es .o-form-group{padding:14px!important;border:1px solid rgba(47,111,189,.12)!important;border-radius:14px!important;background:#fff!important}
#es :where(input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="url"],select,textarea){min-height:46px!important;border-radius:10px!important;font-size:16px!important}
#bb28-profile-progress{padding:14px 16px!important;border:1px solid rgba(239,119,36,.24)!important;border-radius:14px!important;background:linear-gradient(135deg,rgba(239,119,36,.08),rgba(47,111,189,.08))!important;box-shadow:var(--bb-shadow-sm)!important}
#bb28-profile-progress .bb28-progress-track{height:10px;border-radius:999px;background:rgba(37,36,61,.10);overflow:hidden}
#bb28-profile-progress .bb28-progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--bb-orange),var(--bb-blue));transition:width .25s ease}
#es .bb28-long-post{position:relative;max-height:840px;overflow:hidden}
#es .bb28-long-post::after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,#fff);pointer-events:none}
#es .bb28-long-post.is-expanded{max-height:none}
#es .bb28-long-post.is-expanded::after{display:none}
#es .bb28-long-post-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin:10px 0;padding:9px 14px;border:1px solid var(--bb-orange);border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--bb-orange),var(--bb-blue));font-weight:800}
#es .bb28-deferred{content-visibility:auto;contain-intrinsic-size:1px 620px}
#es .bb28-reveal{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease}
#es .bb28-reveal.is-visible{opacity:1;transform:none}
#es .bb28-ajax-new{animation:bb28AjaxArrival .6s ease both}
@keyframes bb28AjaxArrival{0%{opacity:.2;transform:translateY(12px);box-shadow:0 0 0 rgba(239,119,36,0)}65%{box-shadow:0 0 28px rgba(239,119,36,.20)}100%{opacity:1;transform:none;box-shadow:0 12px 34px rgba(37,36,61,.10)}}

/* --- Media loading states are opt-in and never hide critical content. --- */
img.bb28-media-pending{opacity:.72;filter:saturate(.82);transition:opacity .25s ease,filter .25s ease}
img.bb28-media-ready{opacity:1;filter:none}

/* --- Strong but GPU-only BISTRO BUDDY cursor lighting. --- */
#bb-v28-cursor-lights{position:fixed;left:0;top:0;width:1px;height:1px;z-index:2147482000;pointer-events:none;opacity:0;transform:translate3d(-300px,-300px,0);will-change:transform,opacity;transition:opacity .15s ease}
html.bb28-cursor-active #bb-v28-cursor-lights{opacity:1}
#bb-v28-cursor-lights::before,#bb-v28-cursor-lights::after{content:"";position:absolute;left:0;top:0;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}
#bb-v28-cursor-lights::before{width:190px;height:190px;background:radial-gradient(circle,rgba(255,255,255,.18) 0 4%,rgba(239,119,36,.24) 13%,rgba(47,111,189,.18) 33%,rgba(239,119,36,.08) 52%,transparent 72%);filter:blur(4px);animation:bb28CursorPulse 2.8s ease-in-out infinite}
#bb-v28-cursor-lights::after{width:96px;height:96px;border:2px solid rgba(239,119,36,.48);box-shadow:0 0 0 4px rgba(47,111,189,.30),0 0 28px rgba(239,119,36,.38),inset 0 0 22px rgba(47,111,189,.22);animation:bb28CursorSpin 4.4s linear infinite}
@keyframes bb28CursorPulse{50%{transform:translate(-50%,-50%) scale(1.15);filter:blur(6px)}}
@keyframes bb28CursorSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.bb28-firework-ring,.bb28-firework-core,.bb28-firework-particle{position:fixed;left:0;top:0;z-index:2147482100;pointer-events:none;will-change:transform,opacity}
.bb28-firework-ring{width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid var(--bb-orange);border-radius:50%;box-shadow:0 0 0 3px rgba(47,111,189,.60),0 0 24px rgba(239,119,36,.62);animation:bb28Ring .72s ease-out forwards}
.bb28-firework-core{width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;box-shadow:0 0 18px 8px rgba(239,119,36,.75),0 0 28px 12px rgba(47,111,189,.46);animation:bb28Core .42s ease-out forwards}
.bb28-firework-particle{width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--spark,var(--bb-orange));box-shadow:0 0 12px 3px var(--spark,var(--bb-orange));animation:bb28Spark .82s cubic-bezier(.1,.75,.2,1) forwards}
.bb28-firework-particle.is-diamond{border-radius:1px;transform:rotate(45deg)}
@keyframes bb28Ring{to{transform:scale(6);opacity:0}}
@keyframes bb28Core{to{transform:scale(2.2);opacity:0}}
@keyframes bb28Spark{to{transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot));opacity:0}}

/* --- Responsive breakpoints validated by the V28 browser matrix. --- */
@media (max-width:1399.98px){
  #sp-menu .sp-megamenu-parent{gap:4px!important}
  #sp-menu .sp-megamenu-parent>li>a{font-size:12px!important;padding-inline:2px!important}
  #sp-logo{max-width:174px!important}
}
@media (max-width:1199.98px){
  #sp-menu .sp-megamenu-wrapper{display:none!important}
  #sp-logo{max-width:190px!important}
  #offcanvas-toggler{margin-left:auto!important}
}
@media (max-width:767.98px){
  :root{--bb-header-h:56px}
  #sp-header>.container,#sp-header>.container-fluid,#sp-header .container-inner{padding-inline:8px!important}
  #sp-header .row{gap:6px!important}
  #sp-logo{max-width:142px!important}
  #sp-logo img.logo-image-phone{height:30px!important;max-height:30px!important}
  #sp-header .jn-user-menu .jbd-user-name{display:none!important}
  body.site #sp-header a.jbd-username>span.animated-avatar{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;margin-right:3px!important}
  body.site #sp-header .jbd-button-container a.button-create,body.site #sp-header a.button-create{min-height:36px!important;padding:7px 10px!important;font-size:12px!important}
  #offcanvas-toggler{width:40px!important;height:40px!important;flex-basis:40px!important;border-radius:11px!important}
  #es.es-docker{min-height:56px!important;padding:5px 6px calc(5px + var(--bb-safe-bottom))!important}
  #es.es-docker .docker__search,#es.es-docker .docker__search-form{flex:1 1 120px!important;max-width:none!important}
  #es.es-docker .btn-docker,#es.es-docker [class*="docker__nav"]>a,#es.es-docker .docker__menu>a{width:40px!important;height:40px!important;flex-basis:40px!important}
  #es.es-docker .docker__menu>a:last-child,#es.es-docker .docker-avatar>a{width:40px!important;height:40px!important}
  html body #bb-smart-cart-launcher{right:8px!important;min-width:126px!important;min-height:46px!important;padding:8px 10px!important}
  html body #bb-smart-cart-launcher .bb-cart-launch-label{font-size:12px!important}
  #bb-smart-cart .bb-cart-panel{width:100vw!important;max-width:100vw!important;border-left:0!important}
  #es .es-stream-item,#es .es-story,#es .es-card,#es .es-widget,#es .o-card{border-radius:14px!important}
  #es .es-stream-item .es-stream-content,#es .es-stream-item .es-stream-body,#es .es-stream-item .es-stream-meta,#es .es-stream-item .es-stream-actions,#es .es-story{padding-inline:11px!important}
}
@media (max-width:389.98px){
  #sp-logo{max-width:116px!important}
  body.site #sp-header .jbd-button-container a.button-create .button-text{display:none!important}
  body.site #sp-header .jbd-button-container a.button-create{width:38px!important;min-width:38px!important;padding:0!important;border-radius:9px!important}
  #es.es-docker .docker__search-form input{padding-inline:8px!important}
  #es.es-docker .btn-docker,#es.es-docker [class*="docker__nav"]>a,#es.es-docker .docker__menu>a{width:38px!important;height:38px!important;flex-basis:38px!important}
}
@media (hover:none),(pointer:coarse){#bb-v28-cursor-lights{display:none!important}.bb28-firework-particle{width:7px;height:7px}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  #bb-v28-cursor-lights,.bb28-firework-ring,.bb28-firework-core,.bb28-firework-particle{display:none!important}
  #es .bb28-reveal{opacity:1!important;transform:none!important}
}
html.bb28-low-motion #bb-v28-cursor-lights,html.bb28-low-motion .bb28-firework-ring,html.bb28-low-motion .bb28-firework-core,html.bb28-low-motion .bb28-firework-particle{display:none!important}
/* === END BISTRO BUDDY V28 CONSOLIDATED QA AUTHORITY === */
/* V28 cart geometry hard stop: beats legacy global button positioning. */
html body button#bb-smart-cart-launcher{
  position:fixed!important;left:auto!important;right:max(14px,env(safe-area-inset-right))!important;top:auto!important;
  bottom:calc(var(--bb-docker-h) + 14px + var(--bb-safe-bottom))!important;margin:0!important;transform:none!important;
}
@media(max-width:767.98px){html body button#bb-smart-cart-launcher{right:8px!important}}
html body.site button#bb-smart-cart-launcher:not(.no-ripple){position:fixed!important;left:auto!important;right:max(14px,env(safe-area-inset-right))!important;top:auto!important;bottom:calc(var(--bb-docker-h) + 14px + var(--bb-safe-bottom))!important;margin:0!important;transform:none!important}
@media(max-width:767.98px){html body.site button#bb-smart-cart-launcher:not(.no-ripple){right:8px!important}}

/* V28 final accessibility authority */
@media (max-width: 767.98px) {
  #es input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  #es select,
  #es textarea,
  .offcanvas-menu input,
  #bb-smart-cart input,
  #bb-smart-cart select,
  #bb-smart-cart textarea {
    font-size: 16px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body.site #sp-header a.button-create,
  html body.site #sp-header .button-create,
  html body.site #sp-header a.jbd-username > span.animated-avatar,
  html body.site #sp-header .animated-avatar,
  #bb-smart-cart-launcher,
  #es .es-stream-item,
  #es .es-profile-header__cover,
  #es .o-avatar-v2,
  #es .o-avatar {
    animation: none !important;
    transition: none !important;
  }
}
html.bb28-reduce-motion body.site #sp-header a.button-create,
html.bb28-reduce-motion body.site #sp-header .button-create,
html.bb28-reduce-motion body.site #sp-header a.jbd-username > span.animated-avatar,
html.bb28-reduce-motion body.site #sp-header .animated-avatar,
html.bb28-reduce-motion #bb-smart-cart-launcher,
html.bb28-reduce-motion #es .es-stream-item,
html.bb28-reduce-motion #es .es-profile-header__cover,
html.bb28-reduce-motion #es .o-avatar-v2,
html.bb28-reduce-motion #es .o-avatar {
  animation: none !important;
  transition: none !important;
}

/* ========================================================================
   BISTRO BUDDY V29 — HAMBURGER INDICATOR VISIBILITY ONLY
   Keeps the existing button, menu behavior, sizing, and placement unchanged.
   ======================================================================== */
html body #sp-header #offcanvas-toggler .burger-icon,
html body .close-offcanvas .burger-icon {
  position: relative !important;
  width: 22px !important;
  height: 16px !important;
  min-width: 22px !important;
  min-height: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
}
html body #sp-header #offcanvas-toggler .burger-icon > span,
html body .close-offcanvas .burger-icon > span {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 2px !important;
  min-height: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #fff !important;
  background-color: #fff !important;
  box-shadow: 0 0 3px rgba(0,0,0,.55) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transform-origin: center !important;
}
html body.offcanvas-active #sp-header #offcanvas-toggler .burger-icon > span:nth-child(1),
html body .offcanvas-active #sp-header #offcanvas-toggler .burger-icon > span:nth-child(1),
html body .close-offcanvas .burger-icon > span:nth-child(1) {
  transform: translateY(7px) rotate(45deg) !important;
}
html body.offcanvas-active #sp-header #offcanvas-toggler .burger-icon > span:nth-child(2),
html body .offcanvas-active #sp-header #offcanvas-toggler .burger-icon > span:nth-child(2),
html body .close-offcanvas .burger-icon > span:nth-child(2) {
  opacity: 0 !important;
  visibility: hidden !important;
}
html body.offcanvas-active #sp-header #offcanvas-toggler .burger-icon > span:nth-child(3),
html body .offcanvas-active #sp-header #offcanvas-toggler .burger-icon > span:nth-child(3),
html body .close-offcanvas .burger-icon > span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg) !important;
}
/* === END BISTRO BUDDY V29 HAMBURGER INDICATOR FIX === */
