@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@400;500;600;700&display=swap');


/* vars — Luxe (Booo-inspired) */
:root {
    --luxe-black: #111111;
    --luxe-white: #ffffff;
    --luxe-cream: #f5f0e8;
    --luxe-green: #2d6a4f;
    --luxe-green-hover: #245a41;
    --luxe-orange: #e8630a;
    --luxe-gray-text: #666666;
    --luxe-border: #e0e0e0;
    --luxe-radius: 14px;
    --luxe-shadow: 0 4px 20px rgba(0,0,0,0.08);
    --luxe-nav-height: 72px;
    --border-radius: 14px;
    --color-primary: #e8630a;
    --color-background: #f5f0e8;
    --color-rgb-highlighter: 45,106,79;
    --color-background-shadow: #f5f0e8;
    --color-buttons: #2d6a4f;
    --packer: 1200px;
    --font-weight-default: 300;
    --font-weight-medium: 400;
    --font-weight-bold: 500;
    --font-size: 14px;
    --font: 400 var(--font-size)/1.5 "DM Sans", sans-serif;
    --font-color: #666666;
    --hfont-size: 28px;
    --hfont: 600 var(--hfont-size)/1.1 "Bebas Neue", sans-serif;
    --hfont-color: #111111;
    --padding: 64px;
    --gap-lg: 20px;
    --gap: 16px;
    --gap-sm: 12px;
    --transition-speed: .3s ease-in-out;
    --transition: all var(--transition-speed);
    --header-height: 72px;
    --shadow: 0 var(--gap) calc(var(--gap) * 3) rgba(0,0,0,0.1);
}


@media only screen and (max-width: 1200px){
    :root {
        --border-radius: 3px;
        --padding: 48px;
        --gap: 14px;
        --gap-lg: 18px;
        --hfont-size: 24px;
    }
}
@media only screen and (max-width: 992px){
    :root {
        --padding: 40px;
        --hfont-size: 22px;
    }
 
}
@media only screen and (max-width: 576px){
    :root {
        --border-radius: 2px; 
        --padding: 26px;
        --gap: 12px;
        --gap-lg: 16px;
        --hfont-size: 18px;
    }

}
/* reset */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:none;-moz-appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}textarea{overflow:auto;vertical-align:top;resize:vertical}audio,canvas,video{display:inline-block;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}button,html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}
*{box-sizing: border-box;}
html {scroll-behavior: smooth; background-color: var(--color-background);scroll-padding-top: var(--padding);}
body{font: var(--font);color: var(--font-color); font-family: "DM Sans", sans-serif; background: var(--luxe-cream);}
small{font-size: calc(var(--font-size) - 2px);font-weight: var(--font-weight-bold);}
p + *{margin-top: var(--gap-sm);}
h1, h2, h3, h4{font: var(--hfont);color: var(--hfont-color); font-family: 'Open Sans', sans-serif;}
h1 {font-size: calc( var(--hfont-size) * 1.6 );}
h3 {font-size: calc( var(--hfont-size) * 0.8 );}
h4 {font-size: calc( var(--font-size) + 1px);}
h4 + * {margin-top: var(--gap);}
strong{color: var(--hfont-color);font-weight: var(--font-weight-bold); font-family: 'Open Sans', sans-serif;}
section, picture, img{display: block; margin: 0;position: relative;}
picture{display: block;}


img{max-width: 100%;}
a{transition: var(--transition); color: var(--hfont-color);text-decoration: none; }
a:hover{text-decoration: underline;text-underline-offset: 4px;}
as:focus{outline-offset: var(--gap);outline: solid 2px rgba(255,255,255, .2);border-radius: var(--border-radius);}
a[disabled], button:disabled, .button[disabled]{opacity: .5;pointer-events: none;}
picture[data-background="true"]{position: absolute;inset: 0;}
picture[data-background="true"] img{object-position: center center;width: 100%;height: 100%;object-fit: cover;}
/* tiny-slider */
.tns-outer{padding:0!important}.tns-outer [hidden]{display:none!important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{-webkit-transition:all 0s;-moz-transition:all 0s;transition:all 0s}.tns-slider>.tns-item{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:'';display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left}.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item{margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;-webkit-transition:transform 0s,opacity 0s;-moz-transition:transform 0s,opacity 0s;transition:transform 0s,opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:auto!important}.tns-gallery>.tns-moving{-webkit-transition:all .25s;-moz-transition:all .25s;transition:all .25s}.tns-autowidth{display:inline-block}.tns-lazy-img{-webkit-transition:opacity .6s;-moz-transition:opacity .6s;transition:opacity .6s;opacity:.6}.tns-lazy-img.tns-complete{opacity:1}.tns-ah{-webkit-transition:height 0s;-moz-transition:height 0s;transition:height 0s}.tns-ovh{overflow:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;z-index:0}.tns-fadeOut,.tns-normal{opacity:0;z-index:-1}.tns-vpfix{white-space:nowrap}.tns-vpfix>div,.tns-vpfix>li{display:inline-block}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333%;width:-webkit-calc(100% * 70 / 3);width:-moz-calc(100% * 70 / 3);width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:'';display:table;clear:both}.tns-t-ct>div{width:1.4285714%;width:-webkit-calc(100% / 70);width:-moz-calc(100% / 70);width:calc(100% / 70);height:10px;float:left}
.tns-controls{position: absolute;z-index: 1;}
.tns-nav{display: flex;align-items: center;justify-content: center;}
.tns-nav > button{width: 40px;height: 40px;display: inline-flex;justify-content: center;align-items: center;padding: 0;background: transparent;}
.tns-nav > button::before{content: " ";display: block;width: 8px;height: 8px;background-color: #EEE;border-radius: 50%;}
.tns-nav > .tns-nav-active::before{background-color: var(--color-buttons);}
.tns-ovh + .tns-nav{margin-top: var(--padding);}
/* map */
.map{width: 100%;position: relative;padding-top: 56.25%;background: #FFF;}
.map > iframe{display: block;position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
/* video */
.video{width: 100%;position: relative;padding-top: 56.25%;background: #FFF;}
.video > iframe{display: block;position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
/* tag */
.tag{display: inline-flex;font-size: calc(var(--font-size) - 5px);font-weight: var(--font-weight-bold);letter-spacing: 1px;line-height: 1;padding: 6px 8px;background: pink;border-radius: var(--border-radius);background: #edf7ee;color: #00bc8b;}
.tag.disabled{background:#EEE;color: #CCC;}
/* content-tab */
.content-tab:not(.expanded){display: none !important;}
/* .full-width */
.full-width{width: 100%;}
/* .full-button */
.full-button{width: 100%;justify-content: center;}
/* button */
button, .button{display: inline-flex;font: var(--font);letter-spacing: 1px;line-height: 1;padding: 18px 24px;background: var(--color-buttons);border: none;border-radius: var(--border-radius);font-weight: var(--font-weight-bold);white-space: nowrap;}
button:hover, .button:hover{filter: brightness(.9);text-decoration: none;}
/* input */
input {font: var(--font);letter-spacing: 1px;line-height: 1;padding: 18px 24px;border: none;box-sizing: content-box;}
::placeholder {opacity: .5;}
/* custom-controls */
.custom-controls{display: flex;gap: var(--gap-sm);}
.custom-controls > a{width: 36px;height: 36px;background-color: #FFF;display: inline-flex;align-items: center;justify-content: center;border-radius: 50%;box-shadow: var(--shadow);}
.custom-controls > a:hover{text-decoration: none;}
.custom-controls > a[aria-disabled="true"]{opacity: .15;pointer-events: none;}
@media only screen and (max-width: 576px){
    .custom-controls{gap: 0;}
    .custom-controls > a:first-child{border-radius: var(--border-radius) 0 0 var(--border-radius);}
    .custom-controls > a:last-child{border-radius: 0 var(--border-radius) var(--border-radius) 0;}
}
/* colorize */
.colorize{color: var(--color-buttons);}
/* ul.checked */
ul.checked > li{font-weight: var(--font-weight-bold);color: var(--hfont-color);font-size: calc(var(--font-size) - 2px);}
ul.checked > li + li{margin-top: var(--gap-sm);}
ul.checked > li {display: flex;align-items: flex-start;}
ul.checked > li::before{font-family: "Line Awesome Free";content: "\f00c";background: #00bc8b;border-radius: 50%;line-height: 22px;width: 22px;text-align: center;color: #FFF;margin-right: var(--gap-sm);}
ul.checked > li > span{width: calc(100% - 22px - var(--gap-sm));}
/* links */
.links > .item + .item{margin-top: var(--gap-sm);}
.links > .item >  a{color: var(--hfont-color);line-height: 1;font-size: calc(var(--font-size) - 1px);}
/* grid-links */
.grid-links{display: grid;grid-gap: var(--gap-sm);grid-template-columns: repeat(4, 1fr);}
.grid-links > .item > a{font-size: calc(var(--font-size) - 1px);}
@media only screen and (max-width: 1200px){
    .grid-links{grid-template-columns: repeat(3, 1fr);}
}
@media only screen and (max-width: 992px){
    .grid-links{grid-template-columns: repeat(2, 1fr);}
}
@media only screen and (max-width: 576px){
    /* .grid-links{grid-template-columns: 1fr;} */
}
/* inline-links */
.inline-links{display: flex;flex-wrap: wrap;gap: calc( var(--gap-sm) - 4px);}
.inline-links >  .item + .item{margin: 0;}
.inline-links > .item + .item::before{content: "●";font-size: 10px;color: var(--font-color);margin-right: calc( var(--gap) / 2 );}
.inline-links >  .item{display: flex;align-items: center;}
.inline-links >  .item > a{color: var(--font-color);line-height: 1;}
.inline-links >  .item > a:hover{color: var(--hfont-color);}
/* schedule-map */
.schedule-map {display: grid;grid-template-columns: repeat(2, 1fr);grid-gap: calc(var(--gap) * 2);}
@media only screen and (max-width: 1200px){
    .schedule-map{grid-template-columns: 1fr;}
}
.schedule .items > li{font-size: calc(var(--font-size) - 1px);display: flex;justify-content: space-between;padding: var(--gap-sm) 0;font-weight: var(--font-weight-default);color: var(--hfont-color);}
.schedule .items > li > .day{font-weight: var(--font-weight-bold);}
.schedule .items > li + li{border-top: 1px solid #EEE;}
@media only screen and (max-width: 576px){
    .schedule .items > li{flex-direction: column;}
    .schedule .items > li > * + *{margin-top: calc( var(--gap-sm) / 2);}
}
/* accordion */
.accordion > .accordion_content{display: none;padding: var(--gap) 0;}
.accordion.expanded > .accordion_content{display: block;}
.accordion > .accordion_head{display: flex;gap: var(--gap);padding: var(--gap) 0;border-bottom: 1px solid #EEE;}
.accordion > .accordion_head > a.collapse{color: var(--font-color);text-decoration: none;}
.accordion > .accordion_head > a.collapse > i{pointer-events: none;}
.accordion.expanded > .accordion_head > a.collapse > i{transform: rotateX(180deg);}
.accordion > .accordion_head > a.collapse:focus{outline: none;}
.accordion > .accordion_head > .accordion_title > a{color: var(--hfont-color);font-weight: var(--font-weight-bold);text-decoration: none;}
/* dropdown */
.dropdown{position: relative;}
.dropdown > a{display: flex;align-items: center;font-weight: var(--font-weight-bold) !important;}
.dropdown > a::after {margin-left: var(--gap-sm);content: " ";border-left: 5px solid transparent;border-right: 5px solid transparent;border-top: 5px solid #FFF;}
.dropdown > .dropdown-menu{display: none;padding: calc(var(--gap) * 2);background: #FFF;border-radius: var(--border-radius);color: var(--font-color);position: absolute;left: 50%;transform: translate(-50%, var(--gap));}
.dropdown.expanded > .dropdown-menu {display: block;box-shadow: var(--shadow);}
.dropdown > .dropdown-menu::before{position: absolute;left: calc(50% - 8px);top: -8px;content: " ";border-left: 8px solid transparent;border-right: 8px solid transparent;border-bottom: 8px solid #FFF;}
.dropdown > .dropdown-menu > .dropdown-menu-title{color: var(--hfont-color);font-weight: var(--font-weight-bold);}
.dropdown > .dropdown-menu > * + *{margin-top: var(--gap-sm);}
.dropdown > .dropdown-menu > a{color: var(--hfont-color) !important;display: block;white-space: nowrap;}
/* place-card */
.place-card{border-radius: var(--border-radius);box-shadow: var(--shadow);display: flex;background: #FFF;padding: var(--gap-lg);gap: var(--gap-lg);}
.place-card > .info > * + *{margin-top: var(--gap-sm);}
.place-card > .info > h1{font-size: calc(var(--hfont-size) * .8);}
@media only screen and (max-width: 576px){
    .place-card{justify-content: space-between;flex-direction: row-reverse;}
}
/* .avatar */
.avatar {object-fit: none; width: 54px;height: 54px;border-radius: 50%; overflow: hidden;}

/* .featured-search */
.featured-search{background: #FFF;padding: var(--gap);border-radius: var(--border-radius);box-shadow: var(--shadow);display: flex;align-items: center;gap: var(--gap);}
.featured-search + *{margin-top: var(--gap);}
.featured-search > i{font-size: var(--hfont-size);padding: 0 0 0 var(--gap);}
.featured-search > input{width: 0;flex-grow: 1;}
@media only screen and (max-width: 1200px){
    .featured-search{outline: 1px solid #EEE;}
}
@media only screen and (max-width: 576px){
    .featured-search{flex-wrap: wrap; padding: 0;gap: 0;}
    .featured-search > button{width: 100%;justify-content: center;border-radius: 0 0 var(--border-radius) var(--border-radius);}
}
/* .carousel */
* + .gap-stuck {margin-top: calc(var(--gap) * 2) !important;}
/* .carousel */
.carousel + *{margin-top: var(--padding);}
/* .align- */
.align-center{text-align: center;}
.align-left{text-align: left;}
.align-right{text-align: left;}
/* .heading-with-some */
.heading-with-some{display: flex;align-items: center;justify-content: space-between;}
.heading-with-some + *{margin-top: var(--gap);}
.heading-with-some > .heading + *{margin: 0 0 0 var(--gap);}
/* .heading */
.heading > * + *{margin-top: var(--gap);}
.heading + *{margin-top: var(--padding);}
.heading + .carousel{margin-top: var(--gap);}
/* .highlighter */
.highlighter {background-color: rgba( var(--color-rgb-highlighter), .25 );color: rgb(var(--color-rgb-highlighter));display: inline-block;line-height: 1;padding: 8px;white-space: nowrap;}
/* .breadcrumb */
.breadcrumb{display: flex;gap: var(--gap);align-items: center;}
.breadcrumb > i{color: rgba(255, 255, 255, .5);}
.breadcrumb > a{color: rgba(255, 255, 255, .75);font-weight: var(--font-weight-medium);display: flex;gap: var(--gap-sm);}
.breadcrumb > a:last-child{pointer-events: none;color: #FFF;font-weight: var(--font-weight-bold);}
/* mini-title */
.mini-title{font: var(--hfont);font-size: calc( var(--font-size) + 1px );color: var(--hfont-color);}
/* packer */
.packer {width: var(--packer);margin: 0 auto;position: relative;z-index: 1;max-width: calc(100% - var(--padding) * 2);}
@media only screen and (max-width: 1200px){
    .packer {max-width: calc(100% - var(--gap-lg) * 2);}
}
@media only screen and (max-width: 576px){
    .packer {max-width: calc(100% - var(--gap) * 2);}
}
/* pre-wrapper */
#pre-wrapper{background: var(--color-background-shadow);transition: max-height var(--transition-speed);overflow: hidden;max-height: 0;}
body.pre-wrapper-opened #pre-wrapper{max-height: max(100vh, 999px);}
/* wrapper */
#wrapper{position: relative;}
/* header */
#header{position: absolute;top: 0;left: 0;right: 0;z-index: 2;}
#header > .packer > .package{display: flex;align-items: center;height: var(--header-height);}
#header > .packer > .package > .left > .logo img{height: calc(var(--header-height) - var(--gap) * 3);width: auto;}
#header > .packer > .package > .right{flex-grow: 1;display: flex;justify-content: flex-end;padding-left: var(--padding);}
#header > .packer > .package > .related-mobile-menu{display: none;flex-grow: 1;justify-content: flex-end;}
#header > .packer > .package > .related-mobile-menu > .show-mobile-menu{ display: inline-flex;justify-content: center;align-items: center;width: 48px;height: 48px;border-radius: 50%;background: #FFF;box-shadow: var(--shadow);font-size: 24px;}
#header > .packer > .package > .related-mobile-menu > .show-mobile-menu:hover{text-decoration: none;box-shadow: var(--shadow), var(--shadow);}
#header > .packer > .package > .related-mobile-menu > .show-mobile-menu > i {pointer-events: none;}
body.mobile-menu-opened #header > .packer > .package > .related-mobile-menu > .show-mobile-menu{display: none;}
@media only screen and (max-width: 992px){
    #header > .packer > .package > .right > .menu{display: none;}
    #header > .packer > .package > .left > .logo {display: none;}
    #header > .packer > .package > .related-mobile-menu{display: inline-flex;}
}
/* menu */
#menu {display: flex;align-items: center;}
#menu > * + * {margin-left: var(--padding);}
#menu a {text-decoration: none;color: #FFF;font-weight: var(--font-weight-medium);}
#menu a.featured{ line-height: 1; padding: 12px 24px; border-radius: calc( var(--border-radius) + 1px ); border: 1px solid #FFF;}
#menu a.featured:hover{background: #FFF;color: #000;}
/* mobile-menu */
#mobile-menu{position: fixed;top: 0;left: 0;width: 100%;height: 100%;z-index: 5;background-color: rgba(0,0,0,.8);display: none;}
body.mobile-menu-opened #mobile-menu{display: block;}
body.mobile-menu-opened {overflow-y: hidden;}
#mobile-menu > .close-mobile-menu{display: inline-flex;justify-content: center;align-items: center;width: 48px;height: 48px;border-radius: 50%;background: #FFF;box-shadow: var(--shadow);font-size: 24px;position: fixed;top: var(--gap-lg);right: var(--gap-lg);}
#mobile-menu > .close-mobile-menu:hover{text-decoration: none;}
#mobile-menu > .close-mobile-menu > i{pointer-events: none;}

#mobile-menu > .content{position: absolute;top: 0;left: 0;width: 400px;max-width: calc(100% - var(--padding) * 2);background: #FFF;overflow-y: auto;bottom: 0;}
#mobile-menu > .content > .login{padding: var(--gap-lg);}
#mobile-menu > .content > nav{padding: var(--gap-lg);}
#mobile-menu > .content > .login + nav{border-top: 1px solid #EEE;}
#mobile-menu > .content > nav .item > a {align-items: center; display: flex;justify-content: space-between;padding: var(--gap-sm) var(--gap-lg);color: var(--font-color);font-size: calc( var(--font-size) + 2);font-weight: var(--font-weight-medium);}
#mobile-menu > .content > nav .item > a:hover {color: var(--hfont-color);text-decoration: none;}
#mobile-menu > .content > nav .item > .submenu{background-color: var(--color-background-shadow);display: none;;}
#mobile-menu > .content > nav .item.expanded > .submenu{display: block;}
#mobile-menu > .content > nav .item > a > .toggle-submenu{width: 32px;height: 32px;display: inline-flex;align-items: center;justify-content: center;}
#mobile-menu > .content > nav .item > a > .toggle-submenu > i{pointer-events: none;}
#mobile-menu > .content > nav .item.expanded > a > .toggle-submenu > i{transform: rotateX(180deg);}
@media only screen and (min-width: 993px){
    #mobile-menu{display: none !important;}
    #theCartBottomButton{display: none !important;}
}
/* footer */
#footer > .packer > .package{padding: var(--padding) 0;}
#footer > .packer > .package > .content{display: flex;gap: calc(var(--padding) * 2);}
#footer > .packer > .package > .content > .info {width: 40%;color: var(--hfont-color);font-weight: 300;}
#footer > .packer > .package > .content > .grid-links{width: 60%;grid-template-columns: repeat(3, 1fr);}
#footer > .packer > .package  .holder-logo + *{margin-top: var(--gap);}
#footer > .packer > .package  .holder-logo img{height: calc(var(--header-height) - var(--gap) * 2);width: auto;}
#footer > .packer > .package  .holder-logo > .logo{display: inline-block;}
#footer > .packer > .package > .content > .info > * + *{margin-top: var(--gap);}
@media only screen and (max-width: 1200px){
    #footer > .packer > .package > .content > .info {width: 50%;}
    #footer > .packer > .package > .content > .grid-links{width: 50%;grid-template-columns: repeat(2, 1fr);}
}
@media only screen and (max-width: 902px){
    #footer > .packer > .package > .content{flex-direction: column;}
    #footer > .packer > .package > .content > .info{width: 100%;}
    #footer > .packer > .package > .content > .grid-links{width: 100%;grid-template-columns: repeat(3, 1fr);}
}
@media only screen and (max-width: 768px){
    #footer > .packer > .package > .content > .grid-links{grid-template-columns: repeat(2, 1fr);}
}
@media only screen and (max-width: 576px){
    #footer > .packer > .package > .content > .grid-links{grid-template-columns: 1fr;}
}
/* social-networks */
.social-networks{display: flex;gap: var(--gap-sm);font-size: 22px;}
.social-networks > a{color: var(--font-color);}
.social-networks > a:hover{color: var(--hfont-color);}
/* copyright */
.copyright{font-size: calc(var(--font-size) - 1px);text-align: center;color: var(--hfont-color);border-top: 1px #EEE solid;}
.copyright .package{padding:  var(--gap) 0;}
/* section-welcome */
section.section-welcome > .packer > .package{min-height: max(600px, 50vh);display: flex;align-items: center;width: calc(50% - var(--padding));}
section.section-welcome > .packer > .package > .content{width: 100%;}
section.section-welcome > picture{left: 50vw;}
@media only screen and (max-width: 1200px){
    section.section-welcome > picture{bottom: 25%;left: 0;}
    section.section-welcome {padding: var(--padding) 0;padding-top: calc( 25% + var(--header-height));background-color: var(--color-background-shadow);}
    section.section-welcome > .packer > .package{min-height: 0;background-color: var(--color-background);padding: var(--padding);width: 100%;border-radius: var(--border-radius);box-shadow: var(--shadow);}
    section.section-welcome > .packer > .package > .content{text-align: center;}
}
/* section-steps */
section.section-steps > .packer > .package {position: relative;padding: var(--padding) 0;}
section.section-steps > .packer > .package > .items{display: flex;justify-content: center;}
section.section-steps > .packer > .package > .items > * + *{margin-left: var(--padding);}
@media only screen and (max-width: 768px){
    section.section-steps > .packer > .package > .items{flex-direction: column;}
    section.section-steps > .packer > .package > .items > * + *{margin: var(--gap-sm) 0 0 0;}
}

.item-feature{display: grid;grid-template-columns: 1fr;grid-gap: var(--gap);text-align: center;width: 200px;max-width: 100%;margin: 0 auto;}
.item-feature > .info > * + *{margin-top: calc(var(--gap-sm) / 2);}
@media only screen and (max-width: 768px){
    .item-feature{display: flex;align-items: center;gap: var(--gap-lg);width: 400px;max-width: 100%; padding: var(--gap-lg);background: var(--color-background);box-shadow: var(--shadow);border-radius: var(--border-radius);}
    .item-feature > picture > img{border-radius: var(--border-radius);width: 96px;}
    .item-feature > .info{text-align: left;}
}
/* section-latest */
section.section-latest {background-color: var(--color-background-shadow);}
section.section-latest  > .packer > .package{padding: var(--padding) 0;}
/* item-offer */
.item-offer, .item-offer:hover {text-decoration: none;white-space: initial;color: var(--font-color);}
.item-offer:focus{outline: none;filter: contrast(1.5);}
.item-offer > picture > img {border-radius: var(--border-radius);width: 100%;}
.item-offer > * + *{margin-top: var(--gap);}
.item-offer > .info > * + *{margin-top: calc(var(--gap) / 2);}
/* item-offer-horizontal */
.item-offer-horizontal{display: flex;align-items: flex-start;justify-content: space-between;color: var(--font-color);padding: var(--gap);}
.item-offer-horizontal + .item-offer-horizontal{border-top: 1px solid #EEE;}
.item-offer-horizontal:hover{text-decoration: none;}
.item-offer-horizontal > .info{ width: calc(100% - 120px - var(--gap)); }
.item-offer-horizontal > .info > p{white-space: initial;font-size: calc(var(--font-size) - 2px);}
.item-offer-horizontal > .info > .extras{display: flex;gap: var(--gap);align-items: center;}
.item-offer-horizontal > .info > .extras > .price{color: var(--hfont-color);font-weight: var(--font-weight-bold);}
.item-offer-horizontal picture > img{width: 120px;border-radius: var(--border-radius);}
@media only screen and (max-width: 768px){
    .item-offer-horizontal > .info{ width: calc(100% - 80px - var(--gap)); }
    .item-offer-horizontal picture > img{width: 80px;}
}
/* section-place-header */
section.section-place-header{ padding-top: calc(var(--header-height) + var(--padding));}
section.section-place-header > .packer > .package{padding: var(--padding) 0;}
section.section-place-header > .packer > .package > .content{width: 50%;}
section.section-place-header > .packer > .package > .content > * + *{margin-top: var(--padding);}
@media only screen and (max-width: 1200px){
    section.section-place-header > .packer > .package > .content{width: 75%;}
}
@media only screen and (max-width: 768px){
    section.section-place-header > .packer > .package > .content{width: 100%;}
    section.section-place-header > .packer > .package > .content > .breadcrumb{order: 1;}
    section.section-place-header > .packer > .package > .content > .place-card{order: 2;}
}
/* section-image-text */
section.section-image-text > .packer > .package{display: flex;align-items: center;width: calc(50% - var(--padding));padding: var(--padding) 0;min-height: 35vh;}
section.section-image-text.reverse > .packer {display: flex;justify-content: flex-end;}
section.section-image-text > picture{left: 50vw;}
section.section-image-text.reverse > picture{right: 50vw;left: 0;}
@media only screen and (max-width: 992px){
    section.section-image-text{padding-top: 25vh;}
    section.section-image-text{background: var(--color-background-shadow);}
    section.section-image-text > .packer > .package{width: 100%;background: var(--color-background);min-height: 0;padding: var(--padding);}
    section.section-image-text > picture{left: var(--gap-lg) !important;right: var(--gap-lg) !important;bottom: auto;height: 25vh;}
}
@media only screen and (max-width: 576px){
    section.section-image-text > .packer > .package{padding: var(--gap);}
}
/* section-links */
section.section-links{background: var(--color-background-shadow);}
section.section-links > .packer > .package{padding: var(--padding) 0;}
/* section-areas */
section.section-areas > .packer > .package{padding: var(--padding) 0;}
/* section-place-content-menu */
section.section-place-content-menu nav{display: flex;}
section.section-place-content-menu a{display: inline-block;line-height: calc(var(--header-height) - var(--gap) * 2);padding: 0 var(--gap);font-weight: var(--font-weight-medium);position: relative;white-space: nowrap;}
section.section-place-content-menu a:hover::after, section.section-place-content-menu a.current::after{opacity: 1;inset: calc(100% - 2px) 0 0 0;}
section.section-place-content-menu a::after{opacity: 0;position: absolute;inset: 100% 0 0 0;content: " ";display: block;background: var(--hfont-color);transition: var(--transition);}
section.section-place-content-menu a:hover{text-decoration: none;}
section.section-place-content-menu a.current{font-weight: var(--font-weight-bold);}
@media only screen and (max-width: 576px){
    section.section-place-content-menu a{line-height: 1;padding: var(--gap-sm);display: inline-flex;}
}
/* section-place-content */
section.section-place-content{background: var(--color-background-shadow);}
section.section-place-content > .packer > .package{padding: var(--padding) 0;}
section.section-place-content > .packer > .package > .content{display: flex;justify-content: space-between;}
section.section-place-content > .packer > .package > .content > .holder-left{width: calc(100% - 250px - var(--gap));display: flex;}
section.section-place-content > .packer > .package > .content > .fullHolder {width: calc(100%  - var(--gap)) !important;}
section.section-place-content > .packer > .package > .content > .holder-left > .content-left{padding-right: calc( var(--gap) * 2);}
section.section-place-content > .packer > .package > .content > .holder-left > .content-center{flex-grow: 1;}
section.section-place-content > .packer > .package > .content > .holder-right {width: 250px;}
section.section-place-content > .packer > .package > .content > .holder-left > .content-left > .categories,
section.section-place-content > .packer > .package > .content > .holder-right > .info{top: var(--gap);position: sticky;}
section.section-place-content > .packer > .package > .content > .holder-center{width: calc(100% - 450px);}
@media only screen and (max-width: 1024px){
    section.section-place-content > .packer > .package > .content > .holder-right{display: none;}
    section.section-place-content > .packer > .package > .content > .holder-left{width: 100%;}
}
@media only screen and (max-width: 768px){
    section.section-place-content > .packer > .package > .content > .holder-left {flex-direction: column;}
    section.section-place-content > .packer > .package > .content > .holder-left > .content-left{padding: 0;margin-bottom: var(--gap);}
    section.section-place-content > .packer > .package > .content > .holder-left > .content-left > .categories > nav{display: grid;gap: var(--gap-sm);grid-template-columns: repeat(2, 1fr);}
    section.section-place-content > .packer > .package > .content > .holder-left > .content-left > .categories > nav > .item{margin: 0;}
}
/* categories */
.categories > .categories_title {text-transform: uppercase;font-weight: var(--font-weight-bold);text-transform: uppercase;font-size: calc(var(--font-size) - 2px);margin-bottom: var(--gap-lg);}
.categories > nav > .item + .item{margin-top: var(--gap);}
/* section-areas */
section.section-download-app > .packer > .package{padding: var(--padding) 0;}
section.section-download-app::before{content: " ";display: block;position: absolute;top: 0;left: 0;right: 0;height: 50%;background-color: var(--color-background-shadow);}
/* box-info */
.box-info{background: #FFF;border-radius: var(--border-radius);box-shadow: var(--shadow);width: 100%;}
.box-info + * {margin-top: var(--gap-lg);}
.box-info > .head{position: sticky;top: 0;background: #FFF;z-index: 2;}
.box-info > .head, .box-info > .actions, .box-info > .content{padding: var(--gap);}
.actionsCart{padding: var(--gap);}
.box-info > .head{border-bottom: 1px solid #EEE;}
.box-info > * + .head{border-top: 1px solid #EEE;}
.box-info > .head > * + *{margin-top: var(--gap);}
.box-info > .head > .info >  * + *{margin-top: calc(var(--gap-sm) / 2);}
/* rounder-box */
.rounded-box{position: relative;background: #FFF;border-radius: var(--border-radius);overflow: hidden;padding: var(--padding) calc(50% + var(--padding) * 2) var(--padding) var(--padding);box-shadow: var(--shadow);}
.rounded-box > picture{left: 50%;}
@media only screen and (max-width: 1200px){
    .rounded-box{padding: var(--gap-lg) var(--gap-lg) calc(25vh + var(--gap-lg)) var(--gap-lg);}
    .rounded-box > picture{top: auto;height: 25vh;left: 0;}
}
/* stores */
.stores{display: grid;grid-gap: var(--gap);grid-template-columns: repeat(3, 1fr);}
@media only screen and (max-width: 1200px){
    .heading + .stores{margin-top: var(--gap-lg);}
}
@media only screen and (max-width: 576px){
    .stores{grid-template-columns: repeat(2, 1fr);}
}

.btn-cart-radius {
    margin-left: 4px;
}

#addToCart1 button{
    font-family: "Open Sans", sans-serif !important;
}

.modal {
    overflow-y:auto;
  }
.modal { overflow: auto !important; }

/* alllergen */
.item-offer-horizontal > .info > .allergens{display: flex;gap: 0;align-items: center;}
.item-offer-horizontal > .info > .allergens > .price{color: var(--hfont-color);font-weight: var(--font-weight-bold);}
.allergen{
    display: inline-flex;
    font-size: calc(var(--font-size) - 5px);
    font-weight: var(--font-weight-bold);
    letter-spacing: 1px;
    line-height: 1;
    padding: 6px 6px;
    background: pink;
    border-radius: var(--border-radius);
    background: #eee;
    color: #00bc8b;
}
.allergen img {
    height: 15px;
}
.allergen.disabled{background:#EEE;color: #CCC;}

/* =====================================================
   LUXE — Booo-inspired storefront overrides
===================================================== */

/* Sticky black top bar */
#header.bold-topbar {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 200;
    background: var(--luxe-black);
}
#header.bold-topbar > .packer > .package {
    height: var(--luxe-nav-height);
}
#header.bold-topbar .logo img {
    max-height: 48px;
    width: auto;
    filter: brightness(0) invert(1);
}
.bold-brand-wordmark,
.luxe-brand-wordmark {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 2rem;
    letter-spacing: 2px;
    color: var(--luxe-white);
    text-decoration: none;
}
#menu a.bold-nav-link {
    color: rgba(255,255,255,0.9) !important;
    font-weight: 600;
    font-size: 0.85rem;
    padding: 8px 14px;
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.08);
}
#menu a.bold-nav-link:hover {
    background: rgba(255,255,255,0.18);
    text-decoration: none;
}
#menu a.bold-nav-cta {
    background: var(--luxe-green);
    border-color: var(--luxe-green);
    color: var(--luxe-white) !important;
}
#menu a.bold-nav-cta:hover {
    background: var(--luxe-green-hover);
}
#header.bold-topbar > .packer > .package > .related-mobile-menu > .bold-mobile-toggle {
    background: var(--luxe-white);
    color: var(--luxe-black);
}

/* Hero */
section.section-place-header.bold-hero {
    padding-top: calc(var(--luxe-nav-height) + 24px);
}
.bold-place-card {
    border-radius: var(--luxe-radius);
    border: none;
}
.bold-restaurant-name {
    font-family: 'Bebas Neue', sans-serif;
    letter-spacing: 1px;
    font-size: 2.2rem !important;
}
.bold-min-order {
    color: var(--luxe-green);
    font-weight: 600;
}

/* Tab bar */
.bold-tabs-bar {
    background: var(--luxe-white);
    border-bottom: 2px solid var(--luxe-border);
}
.bold-tab-nav {
    display: flex;
    gap: 8px;
}
.bold-tab-nav a {
    padding: 14px 24px !important;
    line-height: 1.2 !important;
    font-weight: 600;
    color: var(--luxe-gray-text);
    border-radius: 8px 8px 0 0;
}
.bold-tab-nav a.current {
    color: var(--luxe-black);
    background: var(--luxe-cream);
}
.bold-tab-nav a::after {
    display: none;
}
section.section-place-content-menu a.current::after {
    background: var(--luxe-orange);
    height: 3px;
    opacity: 1;
    inset: auto 0 0 0;
}

/* Horizontal category nav */
.bold-category-nav {
    background: var(--luxe-black);
    padding: 14px 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.bold-category-nav::-webkit-scrollbar { display: none; }
.bold-category-list {
    display: flex;
    gap: 14px;
    list-style: none;
    margin: 0;
    padding: 0 8px;
    width: max-content;
    min-width: 100%;
    justify-content: center;
}
.bold-cat-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: rgba(255,255,255,0.75);
    transition: transform 0.2s;
}
.bold-cat-link:hover {
    text-decoration: none;
    color: var(--luxe-white);
    transform: translateY(-2px);
}
.bold-cat-img-wrap {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: 3px solid rgba(255,255,255,0.25);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #222;
}
.bold-cat-link:hover .bold-cat-img-wrap {
    border-color: var(--luxe-orange);
}
.bold-cat-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bold-cat-placeholder { font-size: 1.5rem; }
.bold-cat-label {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    max-width: 72px;
    line-height: 1.2;
}

/* Product grid */
.bold-menu-section {
    background: var(--luxe-cream);
}
.bold-main-layout {
    gap: 28px;
    align-items: flex-start;
}
.bold-section-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 2rem !important;
    letter-spacing: 1px;
    border-bottom: 3px solid var(--luxe-black);
    padding-bottom: 10px;
    scroll-margin-top: 200px;
}
.bold-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
    padding: 8px 0 24px;
}
.bold-product-card {
    background: var(--luxe-white);
    border-radius: var(--luxe-radius);
    box-shadow: var(--luxe-shadow);
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
}
.bold-product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(0,0,0,0.13);
}
.bold-product-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}
.bold-product-link:hover { text-decoration: none; color: inherit; }
.bold-card-img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    background: #f2f2f2;
}
.bold-card-img-placeholder {
    width: 100%;
    height: 170px;
    background: linear-gradient(135deg, #e8e0d4 0%, #d4c9b8 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
}
.bold-card-body {
    padding: 14px 16px 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.bold-card-name {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.2rem;
    letter-spacing: 0.5px;
    margin: 0;
    color: var(--luxe-black);
}
.bold-card-desc {
    font-size: 0.82rem;
    color: var(--luxe-gray-text);
    line-height: 1.45;
    margin: 0;
    flex: 1;
}
.bold-card-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}
.bold-card-price {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--luxe-black);
}
.bold-price-was {
    text-decoration: line-through;
    color: var(--luxe-gray-text);
    font-size: 0.85rem;
    font-weight: 500;
    margin-right: 6px;
}
.bold-card-add-hint {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--luxe-green);
    letter-spacing: 0.3px;
}
.bold-card-allergens { margin-top: 6px; }

.bold-card-order-row {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
}
.bold-card-qty {
    display: flex;
    align-items: center;
    border: 2px solid var(--luxe-black);
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #fff;
}
.bold-card-qty-btn {
    width: 40px;
    height: 42px;
    min-width: 40px;
    min-height: 42px;
    border: none;
    background: var(--luxe-black);
    color: var(--luxe-white);
    font-family: 'DM Sans', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1;
    padding: 0 !important;
    margin: 0;
    letter-spacing: 0;
    border-radius: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    white-space: nowrap;
}
.bold-card-qty-btn:hover {
    background: #333;
    filter: none;
}
.bold-card-qty-val {
    width: 40px;
    height: 42px;
    min-width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1;
    color: var(--luxe-black);
}
.bold-card-add-btn {
    flex: 1;
    min-width: 0;
    height: 42px;
    min-height: 42px;
    border: none;
    border-radius: 8px;
    padding: 0 12px !important;
    background: #5f8f7b !important;
    color: var(--luxe-white) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.bold-card-add-btn:hover {
    background: #547f6d !important;
    filter: none;
}

/* Hide legacy horizontal item rows if any remain */
.bold-menu-block .item-offer-horizontal { display: none; }

/* Sidebar categories */
.bold-sidebar-cats .categories_title {
    font-family: 'Bebas Neue', sans-serif;
    letter-spacing: 1px;
    color: var(--luxe-black);
}
.bold-sidebar-cats nav .item a {
    font-weight: 600;
    color: var(--luxe-black);
    padding: 6px 0;
    display: block;
}
.bold-sidebar-cats nav .item a:hover {
    color: var(--luxe-orange);
}

/* Cart panel */
.bold-cart-column .holder-right,
section.section-place-content > .packer > .package > .content > .holder-right {
    width: 320px;
}
.bold-cart-panel .box-info {
    border-radius: var(--luxe-radius);
    overflow: hidden;
    position: sticky;
    top: calc(var(--luxe-nav-height) + 16px);
}
.bold-cart-header {
    background: var(--luxe-black) !important;
    color: var(--luxe-white);
    border: none !important;
}
.bold-cart-header p,
.bold-cart-header strong {
    color: var(--luxe-white);
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.3rem;
    letter-spacing: 1px;
    margin: 0;
}
.bold-cart-items {
    max-height: 50vh;
    overflow-y: auto;
}
.bold-cart-item-name {
    font-weight: 600;
    font-size: 0.9rem;
}
.bold-cart-qty-row .bold-ciq-btn {
    border-radius: 50% !important;
    border: 2px solid var(--luxe-black) !important;
    width: 30px;
    height: 30px;
    padding: 0;
    margin-left: 6px;
}
.bold-cart-footer {
    border-top: 2px solid var(--luxe-border);
    padding-top: 12px !important;
}
.bold-cart-total-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
    font-size: 1.1rem;
}
.bold-checkout-btn,
.actionsCart .button.full-button {
    background: var(--luxe-green) !important;
    color: var(--luxe-white) !important;
    border: none !important;
    border-radius: 10px !important;
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: 1.15rem !important;
    letter-spacing: 1px;
    padding: 16px !important;
    width: 100%;
    justify-content: center;
}
.bold-checkout-btn:hover,
.actionsCart .button.full-button:hover {
    background: var(--luxe-green-hover) !important;
    filter: none;
}

/* Info tab */
.bold-info-card .head h3 {
    font-family: 'Bebas Neue', sans-serif;
    letter-spacing: 0.5px;
}

/* Mobile */
@media only screen and (max-width: 1024px) {
    .bold-cart-column { display: none; }
    .bold-sidebar-cats { display: none; }
    .bold-category-nav { display: block; }
}
@media only screen and (max-width: 768px) {
    .bold-product-grid {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: 14px;
    }
    .bold-category-list { justify-content: flex-start; }
}
#addToCart1 button {
    font-family: "DM Sans", sans-serif !important;
    background: var(--luxe-green) !important;
    border-color: var(--luxe-green) !important;
}
.modal-content .btn-primary {
    background: var(--luxe-green);
    border-color: var(--luxe-green);
}
.tag {
    background: rgba(45,106,79,0.12);
    color: var(--luxe-green);
}

/* =====================================================
   LUXE — Product modal (Booo sheet)
===================================================== */
.luxe-modal-legacy {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

body.luxe-modal-open { overflow: hidden; }

.modal-overlay.luxe-product-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 9999;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s;
}
.modal-overlay.luxe-product-modal.open {
    opacity: 1;
    pointer-events: auto;
}
.modal-overlay.luxe-product-modal .modal-sheet {
    background: var(--luxe-white);
    border-radius: 20px 20px 0 0;
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    overflow-y: auto;
    transform: translateY(30px);
    transition: transform 0.3s ease;
    padding: 24px;
}
.modal-overlay.luxe-product-modal.open .modal-sheet {
    transform: translateY(0);
}
.modal-overlay .modal-close {
    float: right;
    background: var(--luxe-gray-light, #f2f2f2);
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 1.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}
.modal-overlay .modal-img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 16px;
}
.luxe-modal-img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    background: linear-gradient(135deg, #e8e0d4, #d4c9b8);
}
.modal-overlay .modal-name {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.8rem;
    margin-bottom: 6px;
    color: var(--luxe-black);
}
.modal-overlay .modal-desc {
    font-size: 0.9rem;
    color: var(--luxe-gray-text);
    line-height: 1.6;
    margin-bottom: 16px;
}
.modal-overlay .modal-price-big {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 16px;
}
#luxeOptionsMount,
#luxeOptionsMount #variants-area,
#luxeOptionsMount #variants-area-inside,
#luxeOptionsMount #variants-area-inside label {
    pointer-events: auto;
}
.luxe-option-item:has(input[type="radio"]:disabled) {
    opacity: 0.45;
    cursor: not-allowed;
}
.luxe-option-item input[type="radio"]:disabled {
    cursor: not-allowed;
}
.luxe-option-item,
#luxeOptionsMount .btn-group-toggle label {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--luxe-border) !important;
    border-radius: 0 !important;
    background: none !important;
    color: var(--luxe-black) !important;
    box-shadow: none !important;
    margin: 0 !important;
    cursor: pointer;
    gap: 12px;
}
.luxe-option-item.selected,
#luxeOptionsMount .btn-group-toggle label.active {
    color: var(--luxe-green) !important;
    font-weight: 700;
}
.luxe-option-label {
    flex: 1;
    font-size: 0.95rem;
}
.luxe-option-input,
#luxeOptionsMount .btn-group-toggle label input[type="radio"],
#luxeOptionsMount .btn-group-toggle label input[type="checkbox"],
#luxeOptionsMount #exrtas-area-inside input[type="checkbox"] {
    position: static !important;
    clip: auto !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 0 0 0 auto !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    opacity: 1 !important;
    accent-color: var(--luxe-green);
}
#luxeOptionsMount .btn-group-toggle {
    display: block !important;
    width: 100%;
}
#luxeOptionsMount .options-section,
#luxeOptionsMount #variants-area {
    margin-bottom: 16px;
}
#luxeOptionsMount #variants-area .form-control-label {
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--luxe-gray-text);
}
.luxe-variant-heading,
#luxeNativeVariants .luxe-variant-heading {
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--luxe-gray-text);
    margin-bottom: 8px;
}
.luxe-native-variants {
    margin-bottom: 16px;
}
.luxe-option-item.luxe-option-disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.modal-add-row {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 20px;
}
.modal-qty-control {
    display: flex;
    align-items: center;
    border: 2px solid var(--luxe-black);
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}
.modal-qty-btn {
    background: var(--luxe-black);
    color: var(--luxe-white);
    border: none;
    width: 40px;
    height: 44px;
    min-width: 40px;
    min-height: 44px;
    font-family: 'DM Sans', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1;
    padding: 0 !important;
    margin: 0;
    letter-spacing: 0;
    border-radius: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    white-space: nowrap;
}
.modal-qty-btn:hover {
    background: #333;
    filter: none;
}
.modal-qty-val {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1;
}
.modal-add-btn {
    flex: 1;
    background: var(--luxe-green);
    color: var(--luxe-white);
    border: none;
    border-radius: 8px;
    height: 44px;
    min-height: 44px;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.2;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    padding: 0 12px !important;
    white-space: nowrap;
}
.modal-add-btn:hover {
    background: var(--luxe-green-hover);
    filter: none;
}
.modal-add-btn #luxeModalPriceCalc {
    margin-left: 4px;
    font-weight: 700;
}

/* =====================================================
   LUXE — Checkout page (Booo sheet)
===================================================== */
.luxe-checkout-page {
    font-family: 'DM Sans', sans-serif;
    background: var(--luxe-cream) !important;
    min-height: 100vh;
    padding: 32px 16px 48px;
}
.luxe-checkout-wrap {
    max-width: 560px;
    margin: 0 auto;
}
.luxe-checkout-sheet {
    background: var(--luxe-white);
    border-radius: 20px;
    box-shadow: var(--luxe-shadow);
    padding: 32px 28px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}
.luxe-checkout-sheet *,
.luxe-checkout-sheet *::before,
.luxe-checkout-sheet *::after {
    box-sizing: border-box;
}
.luxe-checkout-page .checkout-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 2rem;
    letter-spacing: 1px;
    margin: 0 0 24px;
    color: var(--luxe-black);
}
.luxe-checkout-back-wrap {
    text-align: center;
    margin-top: 16px;
}
.luxe-checkout-back-link {
    color: var(--luxe-gray-text);
    font-size: 0.9rem;
    text-decoration: none;
    font-weight: 500;
}
.luxe-checkout-back-link:hover {
    color: var(--luxe-green);
    text-decoration: none;
}
.luxe-checkout-legacy-host {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}
.luxe-checkout-page .form-group {
    margin-bottom: 16px;
    min-width: 0;
    max-width: 100%;
}
.luxe-checkout-page .form-input,
.luxe-checkout-page textarea.form-input,
.luxe-checkout-page select.form-input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: block;
}
.luxe-checkout-page .form-input:focus,
.luxe-checkout-page textarea.form-input:focus,
.luxe-checkout-page select.form-input:focus {
    outline: none;
    border-color: var(--luxe-green);
}
.luxe-checkout-page select.form-input {
    background: var(--luxe-white);
    cursor: pointer;
    appearance: auto;
}
.luxe-comment-input {
    min-height: 88px;
    resize: vertical;
}
.checkout-order-summary {
    background: var(--luxe-gray-light, #f5f5f5);
    border-radius: 10px;
    padding: 16px;
    margin: 20px 0;
}
.checkout-summary-title {
    font-weight: 700;
    margin-bottom: 10px;
    font-size: 0.9rem;
    color: var(--luxe-black);
}
.checkout-line {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    font-size: 0.88rem;
    margin-bottom: 8px;
    color: var(--luxe-gray-text);
}
.checkout-line-info {
    flex: 1;
    min-width: 0;
}
.checkout-line-name {
    line-height: 1.3;
    color: var(--luxe-black);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.82rem;
    letter-spacing: 0.3px;
}
.checkout-line-opts {
    font-size: 0.78rem;
    color: var(--luxe-gray-text);
    margin-top: 2px;
    line-height: 1.3;
}
.checkout-line-price {
    flex-shrink: 0;
    white-space: nowrap;
    font-weight: 600;
    color: var(--luxe-black);
}
.checkout-line.total {
    font-weight: 700;
    color: var(--luxe-black);
    font-size: 1rem;
    border-top: 1px solid var(--luxe-border);
    padding-top: 8px;
    margin-top: 4px;
    margin-bottom: 0;
}
.checkout-line.discount-line {
    color: var(--luxe-green);
    font-weight: 600;
}
.luxe-checkout-empty {
    font-size: 0.88rem;
    color: var(--luxe-gray-text);
    margin: 0;
}
.luxe-checkout-privacy {
    margin: 8px 0 16px;
}
.luxe-privacy-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.82rem;
    color: var(--luxe-gray-text);
    line-height: 1.45;
    margin-bottom: 10px;
    cursor: pointer;
}
.luxe-privacy-row a {
    color: var(--luxe-green);
    text-decoration: underline;
}
.luxe-privacy-check {
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: var(--luxe-green);
}
.submit-order-btn {
    width: 100%;
    background: var(--luxe-green);
    color: var(--luxe-white);
    border: none;
    border-radius: 10px;
    padding: 16px !important;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.3rem;
    letter-spacing: 1px;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.submit-order-btn:hover:not(:disabled) {
    background: var(--luxe-green-hover);
    filter: none;
}
.submit-order-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.luxe-checkout-whatsapp-hint {
    text-align: center;
    font-size: 0.78rem;
    color: var(--luxe-gray-text);
    margin: 12px 0 0;
    line-height: 1.4;
}
.luxe-custom-fields-wrap .card {
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
.luxe-custom-fields-wrap .card h3,
.luxe-custom-fields-wrap .mt-5 {
    display: none;
}
.luxe-custom-fields-wrap .form-control {
    border: 2px solid var(--luxe-border);
    border-radius: 8px;
    padding: 11px 14px;
}
.form-label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
    color: var(--luxe-gray-text);
}
.form-input,
.luxe-address-block .form-input {
    width: 100%;
    border: 2px solid var(--luxe-border);
    border-radius: 8px;
    padding: 11px 14px;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.95rem;
}
.use-location-btn {
    width: 100%;
    margin: 10px 0 14px;
    padding: 12px;
    border: 2px dashed var(--luxe-border);
    border-radius: 10px;
    background: var(--luxe-cream);
    font-family: 'DM Sans', sans-serif;
    font-weight: 600;
    cursor: pointer;
}
.address-search-hint {
    font-size: 0.78rem;
    color: var(--luxe-gray-text);
    margin: 6px 0 10px;
}
.luxe-address-suggestions {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 50;
    background: var(--luxe-white);
    border: 2px solid var(--luxe-green);
    border-radius: 10px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.15);
    max-height: 240px;
    overflow-y: auto;
}
.luxe-address-suggestion {
    display: block;
    width: 100%;
    text-align: left;
    padding: 10px 14px;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 0.9rem;
}
.luxe-address-suggestion:hover,
.boldplate-address-suggestion:hover { background: #f0fdf4; }

/* Address autocomplete dropdown (override global button pill styles on luxe checkout) */
.luxe-checkout-page .address-search-wrap {
    position: relative;
}
.luxe-checkout-page .boldplate-address-suggestions,
.luxe-checkout-page .luxe-address-suggestions {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 100;
    display: block;
    background: var(--luxe-white);
    border: 1px solid var(--luxe-border);
    border-radius: 10px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
    max-height: 260px;
    overflow-y: auto;
    overflow-x: hidden;
    margin: 0;
    padding: 4px 0;
}
.luxe-checkout-page .boldplate-address-suggestions .boldplate-address-suggestion,
.luxe-checkout-page .luxe-address-suggestions .luxe-address-suggestion {
    display: block;
    width: 100%;
    text-align: left;
    padding: 12px 14px;
    margin: 0;
    border: none;
    border-bottom: 1px solid #f0f0f0;
    border-radius: 0;
    background: #fff;
    color: #222;
    cursor: pointer;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.9rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.45;
    white-space: normal;
    box-shadow: none;
    filter: none;
}
.luxe-checkout-page .boldplate-address-suggestions .boldplate-address-suggestion:last-child,
.luxe-checkout-page .luxe-address-suggestions .luxe-address-suggestion:last-child {
    border-bottom: none;
}
.luxe-checkout-page .boldplate-address-suggestions .boldplate-address-suggestion:hover,
.luxe-checkout-page .luxe-address-suggestions .luxe-address-suggestion:hover {
    background: #f5f7f5;
    filter: none;
}
.luxe-checkout-page .pac-container {
    z-index: 100;
    border-radius: 10px;
    border: 1px solid var(--luxe-border);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
    margin-top: 4px;
    font-family: 'DM Sans', sans-serif;
}
.luxe-checkout-page .pac-item {
    padding: 10px 14px;
    font-size: 0.9rem;
    line-height: 1.45;
    cursor: pointer;
}
.luxe-checkout-page .pac-item:hover {
    background: #f5f7f5;
}

.address-distance-map {
    margin-top: 12px;
    border: 2px solid var(--luxe-border);
    border-radius: 12px;
    overflow: hidden;
}
.address-distance-map-canvas { height: 160px; background: #e8e8e8; }
.address-distance-map-footer {
    display: flex;
    gap: 10px;
    padding: 12px;
    background: var(--luxe-cream);
}
.luxe-toggle-active .custom-control-label { font-weight: 700; color: var(--luxe-green); }
@media (max-width: 992px) {
    .luxe-checkout-grid { grid-template-columns: 1fr; }
    .luxe-order-panel { position: static; }
}

.checkout-order-toggle {
    display: flex;
    width: 100%;
    background: #f0f0f0;
    border: 1.5px solid var(--luxe-border);
    border-radius: 30px;
    padding: 4px;
    gap: 4px;
}
.luxe-order-type-btn {
    flex: 1;
    border: none;
    background: transparent;
    border-radius: 24px;
    padding: 10px 12px;
    font-family: 'DM Sans', sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    color: var(--luxe-gray-text);
    transition: background 0.2s, color 0.2s;
}
.luxe-order-type-btn.active {
    background: var(--luxe-orange);
    color: var(--luxe-white);
    box-shadow: 0 2px 8px rgba(232, 99, 10, 0.3);
}
.luxe-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: 100%;
    min-width: 0;
}
.luxe-form-row .form-group {
    min-width: 0;
}
@media (max-width: 576px) {
    .luxe-form-row { grid-template-columns: 1fr; }
    .luxe-checkout-sheet { padding: 24px 18px; border-radius: 16px; }
    .luxe-checkout-page { padding: 16px 12px 32px; }
}
.field-hint {
    font-size: 0.78rem;
    color: var(--luxe-gray-text);
    margin-top: 6px;
}
.luxe-hidden-core {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
}
.luxe-hidden-legacy-wrap {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
}
.luxe-checkout-card .card,
.luxe-checkout-card .card-profile {
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
.luxe-checkout-card .card .px-4,
.luxe-checkout-card .card .mt-5,
.luxe-checkout-card .card h3,
.luxe-checkout-card .border-top {
    display: none !important;
}
.luxe-checkout-card .form-control {
    border: 2px solid var(--luxe-border);
    border-radius: 8px;
    padding: 11px 14px;
}
.luxe-phone-field {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.luxe-phone-field .iti {
    width: 100% !important;
    max-width: 100%;
    display: block;
}
.luxe-phone-field .iti__flag-container {
    z-index: 2;
}
.luxe-phone-field .form-input,
.luxe-phone-field input[type="tel"] {
    width: 100% !important;
    max-width: 100%;
    padding-left: 52px;
}
/* Stray intl-tel-input widgets (e.g. from hidden phone fields) */
.luxe-checkout-page .form-group .iti:not(.luxe-phone-field .iti) {
    display: none !important;
}
.luxe-checkout-page .address-search-wrap {
    width: 100%;
    max-width: 100%;
    position: relative;
}
.luxe-checkout-page .boldplate-address-block,
.luxe-checkout-page .luxe-delivery-fields {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.luxe-checkout-page .use-location-btn {
    width: 100%;
    max-width: 100%;
    padding: 12px !important;
    letter-spacing: 0;
    font-size: 0.9rem;
    line-height: 1.3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.luxe-checkout-page button.luxe-order-type-btn {
    padding: 10px 12px !important;
    letter-spacing: 0;
    font-size: 0.9rem;
    line-height: 1.2;
}
.luxe-order-panel-footer .custom-control.custom-radio {
    display: none;
}
.luxe-order-panel-footer .cards > .card-body > .row > .col > .custom-control {
    display: none;
}
.address-distance-map.visible { display: block !important; }
.distance-map-marker {
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 3px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
.distance-map-marker.venue { background: var(--luxe-green); }
.distance-map-marker.customer { background: var(--luxe-orange); }
.distance-map-label {
    background: var(--luxe-black);
    color: var(--luxe-white);
    font-size: 0.72rem;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 6px;
    white-space: nowrap;
}
body.luxe-modal-open { overflow: hidden; }
body.luxe-modal-open .modal-backdrop { display: none !important; }

