/* JZ's Pizza brand fonts + base */
@font-face{font-family:'Brother 1816';src:url('/wp-content/uploads/jz-fonts/Brother1816-Book.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Brother 1816';src:url('/wp-content/uploads/jz-fonts/Brother1816-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Brother 1816';src:url('/wp-content/uploads/jz-fonts/Brother1816-Black.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Brother 1816';src:url('/wp-content/uploads/jz-fonts/Brother1816-Black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap;}
@font-face{font-family:'Sumber Brush';src:url('/wp-content/uploads/jz-fonts/SumberBrush.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
html{background:#020202;}
body{background:#020202;}
.jz-brush{font-family:'Sumber Brush',cursive !important;}

/* ---- Contact Form 7 — dark theme ---- */
.jz-cf7 input[type=text],.jz-cf7 input[type=email],.jz-cf7 input[type=tel],.jz-cf7 input[type=date],.jz-cf7 select,.jz-cf7 textarea{width:100%;background:#0A0A0A;border:1px solid #2A2825;border-radius:10px;color:#fff;padding:13px 15px;font-family:'Brother 1816',sans-serif;font-size:16px;box-sizing:border-box;color-scheme:dark;}
.jz-cf7 textarea{min-height:130px;resize:vertical;}
.jz-cf7 input:focus,.jz-cf7 select:focus,.jz-cf7 textarea:focus{outline:none;border-color:#FF7729;}
.jz-cf7 input::placeholder,.jz-cf7 textarea::placeholder{color:#7A736A;}
.jz-cf7 select option{color:#111;}
.jz-cf7 label{display:block;font-family:'Brother 1816',sans-serif;text-transform:uppercase;letter-spacing:1.2px;font-size:11px;font-weight:700;color:#a9a29a;margin-bottom:6px;}
.jz-cf7 p{margin:0 0 14px;}
.jz-cf7 .wpcf7-submit{background:#FF7729;color:#020202;border:none;border-radius:999px;padding:15px 30px;font-weight:900;text-transform:uppercase;letter-spacing:1px;font-family:'Brother 1816',sans-serif;cursor:pointer;transition:.2s;width:100%;}
.jz-cf7 .wpcf7-submit:hover{background:#E5601A;}
.wpcf7-response-output{border-radius:10px;color:#ECE8E2;}

/* ---- Order popup ---- */
.jz-popup{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s ease;}
.jz-popup.is-open{opacity:1;visibility:visible;}
.jz-popup-backdrop{position:absolute;inset:0;background:rgba(2,2,2,.82);backdrop-filter:blur(6px);cursor:pointer;}
.jz-popup .jz-popup-inner{position:relative;z-index:2;transform:translateY(12px);transition:transform .25s ease;width:100%;max-width:940px;}
.jz-popup.is-open .jz-popup-inner{transform:none;}
.jz-popup-close{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border-radius:50%;background:#ff7729;color:#020202;border:none;font-size:22px;line-height:1;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;font-family:'Brother 1816',sans-serif;}
body.jz-noscroll{overflow:hidden;}

/* ---- Reviews marquee ---- */
.jz-marquee{overflow:hidden;width:100%;}
.jz-marquee>.e-con-inner{flex-wrap:nowrap !important;width:max-content !important;animation:jzMarquee 60s linear infinite;}
.jz-marquee:hover>.e-con-inner{animation-play-state:paused;}
@keyframes jzMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---- Hover-reveal cards (catering 'why') ---- */
.jz-hover-card{transition:background .22s ease,border-color .22s ease,transform .22s ease;}
.jz-hover-card .jz-reveal{max-height:0;opacity:0;overflow:hidden;margin-top:0 !important;transition:max-height .3s ease,opacity .25s ease,margin .3s ease;}
.jz-hover-card:hover{background:#ff7729 !important;border-color:#ff7729 !important;transform:translateY(-4px);}
.jz-hover-card:hover .jz-reveal{max-height:180px;opacity:1;margin-top:10px !important;}
.jz-hover-card:hover .elementor-heading-title,.jz-hover-card:hover .elementor-widget-text-editor,.jz-hover-card:hover p{color:#020202 !important;}

/* ---- Event cards (catering gathering) ---- */
.jz-event{position:relative;transition:transform .3s ease;}
.jz-event .jz-reveal{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .25s ease,margin .3s ease;margin-top:0 !important;}
.jz-event:hover .jz-reveal{max-height:90px;opacity:1;margin-top:6px !important;}
.jz-event>.e-con-inner{position:relative;z-index:2;}
.jz-event:hover{transform:translateY(-3px);}

/* ---- Gallery tiles ---- */
.jz-tile{position:relative;overflow:hidden;aspect-ratio:1/1;}
.jz-tile .elementor-widget-image,.jz-tile .elementor-widget-image .elementor-widget-container,.jz-tile .elementor-widget-image a,.jz-tile .elementor-widget-image img{height:100%;width:100%;}
.jz-tile img{object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1);display:block;}
.jz-tile:hover img{transform:scale(1.09);}
.jz-tile-label{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(180deg,rgba(2,2,2,0) 45%,rgba(2,2,2,.85) 100%);opacity:0;transition:opacity .3s ease;z-index:3;pointer-events:none;}
.jz-tile:hover .jz-tile-label{opacity:1;}

/* ---- Menu sticky subnav + scroll-spy ---- */
.jz-menu-nav{position:sticky;top:0;z-index:90;background:rgba(2,2,2,.94);backdrop-filter:blur(12px);}
.jz-menu-nav a{transition:all .15s ease;}
.jz-menu-nav a.is-active{background:#ff7729 !important;color:#020202 !important;border-color:#ff7729 !important;}
.jz-menu-nav a.is-active .elementor-button-text{color:#020202 !important;}

/* ---- misc ---- */
html{scroll-behavior:smooth;}
.jz-hero-scrim{position:absolute;inset:0;z-index:1;}

/* ---- header + popup supplements ---- */
.jz-header-bar{backdrop-filter:blur(12px);}
.jz-phone .elementor-icon-list-items{margin:0;padding:0;}
.jz-phone .elementor-icon-list-item{padding:0;}
.jz-phone a,.jz-phone .elementor-icon-list-text{color:#fff !important;}
.jz-phone a:hover .elementor-icon-list-text{color:#FF7729 !important;}
.jz-popup-inner .jz-pop-btn{width:100%;}
.jz-popup-inner .jz-pop-btn a,.jz-popup-inner .jz-pop-btn .xpro-btn{display:flex !important;width:100%;justify-content:center;}
.jz-popup-close .elementor-heading-title{color:#020202 !important;line-height:1;}

/* ---- popup: id-based (themer strips container classes) ---- */
#jz-order-popup{position:fixed !important;inset:0;z-index:99999;display:flex !important;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s ease;background:rgba(2,2,2,.82);backdrop-filter:blur(6px);}
#jz-order-popup.is-open{opacity:1;visibility:visible;}
#jz-order-popup>.e-con-inner{width:100%;max-width:940px;position:relative;transform:translateY(12px);transition:transform .25s ease;}
#jz-order-popup.is-open>.e-con-inner{transform:none;}
#jz-order-popup .elementor-element-jzpopbd{display:none;}

/* ================= PAGE INTERACTIONS ================= */
.jz-hero{position:relative;}
.jz-hero-img{position:absolute !important;inset:0;z-index:0;height:100%;width:100%;margin:0 !important;}
.jz-hero-img .elementor-widget-container,.jz-hero-img figure,.jz-hero-img a{height:100%;margin:0;}
.jz-hero-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);display:block;}
.jz-gray-soft img{filter:grayscale(.4) !important;}
.jz-hero-scrim{position:absolute !important;inset:0;z-index:1;}
.jz-hero-content{position:relative;z-index:2;}
.jz-scrim-hero{background:linear-gradient(180deg,rgba(2,2,2,.55) 0%,rgba(2,2,2,.2) 40%,rgba(2,2,2,.92) 100%);}
.jz-scrim-left{background:linear-gradient(90deg,rgba(2,2,2,.92) 0%,rgba(2,2,2,.6) 55%,rgba(2,2,2,.3) 100%);}
.jz-scrim-visit{background:linear-gradient(90deg,rgba(2,2,2,.9) 0%,rgba(2,2,2,.5) 60%,rgba(2,2,2,.25) 100%);}
.jz-scrim-flat{background:rgba(2,2,2,.82);}
.jz-scrim-flat8{background:rgba(2,2,2,.8);}
.jz-hero-eyebrow .elementor-heading-title{display:inline-block;background:rgba(2,2,2,.5);border:1px solid rgba(255,119,41,.55);padding:8px 16px;border-radius:999px;backdrop-filter:blur(8px);}
.jz-feat .elementor-heading-title{display:inline-flex;align-items:center;}
.jz-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff7729;margin-right:10px;}
.jz-tile{position:relative;overflow:hidden;aspect-ratio:1/1;}
.jz-tile>.e-con-inner{height:100%;width:100%;}
.jz-tile .elementor-widget-image{height:100%;width:100%;margin:0;}
.jz-tile .elementor-widget-image .elementor-widget-container,.jz-tile .elementor-widget-image figure,.jz-tile .elementor-widget-image a{height:100%;width:100%;margin:0;display:block;}
.jz-tile img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1);display:block;}
.jz-tile:hover img{transform:scale(1.09);}
.jz-tile-label{position:absolute !important;inset:0;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(180deg,rgba(2,2,2,0) 45%,rgba(2,2,2,.85) 100%);opacity:0;transition:opacity .3s ease;z-index:3;}
.jz-tile:hover .jz-tile-label{opacity:1;}
.jz-insta img{filter:grayscale(.15);}
.jz-badge{position:absolute !important;bottom:18px;left:18px;width:auto !important;z-index:3;}
.jz-badge .elementor-widget-container{display:inline-block;}
.jz-story-img{position:relative;}
.jz-round img{border-radius:10px;display:block;}
.jz-cover-col{position:relative;overflow:hidden;min-height:300px;}
.jz-cover-abs{position:absolute !important;inset:0;height:100%;width:100%;margin:0 !important;}
.jz-cover-abs .elementor-widget-container,.jz-cover-abs figure,.jz-cover-abs a{height:100%;margin:0;}
.jz-cover-abs img{width:100%;height:100%;object-fit:cover;display:block;}
.jz-rule{display:inline-block;width:36px;height:2px;background:#ff7729;vertical-align:middle;margin-right:14px;}
.jz-block-btn a,.jz-block-btn .elementor-button{width:100%;justify-content:center;}
.jz-stars .elementor-star-rating__wrapper{color:#ff7729;}
/* ===== id-based container hooks (Elementor drops container classes) ===== */
[id^="jzhero"]{position:relative;}
[id^="jzhc"]{position:relative;z-index:2;}
[id^="jzscrim"]{position:absolute !important;inset:0;z-index:1;}
#jzscrimhero{background:linear-gradient(180deg,rgba(2,2,2,.55) 0%,rgba(2,2,2,.2) 40%,rgba(2,2,2,.92) 100%);}
#jzscrimcat{background:linear-gradient(90deg,rgba(2,2,2,.92) 0%,rgba(2,2,2,.6) 55%,rgba(2,2,2,.3) 100%);}
#jzscrimvisit{background:linear-gradient(90deg,rgba(2,2,2,.9) 0%,rgba(2,2,2,.5) 60%,rgba(2,2,2,.25) 100%);}
#jzscrimgather{background:rgba(2,2,2,.82);}
#jzscrimnear{background:rgba(2,2,2,.8);}
[id^="jztile"]{position:relative;overflow:hidden;line-height:0;}
[id^="jztile"] .elementor-widget-image,[id^="jztile"] .elementor-widget-image .elementor-widget-container,[id^="jztile"] .elementor-widget-image figure,[id^="jztile"] .elementor-widget-image a{width:100%;margin:0;display:block;line-height:0;}
[id^="jztile"] img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1);display:block;}
[id^="jztile"]:hover img{transform:scale(1.09);}
[id^="jztl"]{position:absolute !important;inset:0;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(180deg,rgba(2,2,2,0) 45%,rgba(2,2,2,.85) 100%);opacity:0;transition:opacity .3s ease;z-index:3;}
[id^="jztile"]:hover [id^="jztl"]{opacity:1;}
#jzmarquee{display:flex;flex-wrap:nowrap;width:max-content;animation:jzMarquee 60s linear infinite;}
#jzmarquee:hover{animation-play-state:paused;}
#jzbadge{position:absolute !important;bottom:18px;left:18px;z-index:3;}
[id^="jzcover"]{position:relative;overflow:hidden;min-height:300px;}
#jzstoryimg{position:relative;}
[id^="jzwhy"]{transition:background .22s ease,border-color .22s ease,transform .22s ease;}
[id^="jzwhy"] .jz-reveal{max-height:0;opacity:0;overflow:hidden;margin-top:0 !important;transition:max-height .3s ease,opacity .25s ease,margin .3s ease;}
[id^="jzwhy"]:hover{background:#ff7729 !important;border-color:#ff7729 !important;transform:translateY(-4px);}
[id^="jzwhy"]:hover .jz-reveal{max-height:180px;opacity:1;margin-top:10px !important;}
[id^="jzwhy"]:hover .elementor-heading-title,[id^="jzwhy"]:hover .elementor-widget-text-editor,[id^="jzwhy"]:hover p{color:#020202 !important;}
[id^="jzevent"]{position:relative;transition:transform .3s ease;}
[id^="jzevent"] .jz-reveal{max-height:0;opacity:0;overflow:hidden;margin-top:0 !important;transition:max-height .3s ease,opacity .25s ease,margin .3s ease;}
[id^="jzevent"]:hover .jz-reveal{max-height:90px;opacity:1;margin-top:6px !important;}
[id^="jzevent"]:hover{transform:translateY(-3px);}
[id^="jznear"]{transition:transform .18s ease,border-color .18s ease,background .18s ease;}
[id^="jznear"]:hover{transform:translateY(-4px);border-color:#ff7729 !important;background:rgba(32,28,23,.9) !important;}
#jzmenunav{position:sticky;top:0;z-index:90;background:rgba(2,2,2,.94);backdrop-filter:blur(12px);}
#jzmenunav a.is-active,#jzmenunav .is-active a{background:#ff7729 !important;color:#020202 !important;border-color:#ff7729 !important;}
/* ===== menu / catering / visit ===== */
.jz-mcard-img img{width:64px;height:64px;object-fit:cover;border-radius:4px;display:block;}
.jz-mk .elementor-heading-title{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid;font-size:10px;letter-spacing:1.2px;font-weight:700;text-transform:uppercase;}
.jz-mk-v .elementor-heading-title{color:#4a7c3f;border-color:#4a7c3f;}
.jz-mk-s .elementor-heading-title{color:#c0392b;border-color:#c0392b;}
.jz-mk-gf .elementor-heading-title{color:#e0a83c;border-color:#e0a83c;}
[id^="menu-"]{scroll-margin-top:150px;}
.jz-cat .elementor-button{white-space:nowrap;}
.jz-perk .elementor-heading-title{display:inline-block;padding:8px 14px;border:1px solid rgba(255,255,255,.24);border-radius:999px;letter-spacing:1px;}
.jz-hh .elementor-heading-title{display:inline-block;background:rgba(224,168,60,.12);color:#e0a83c;padding:10px 16px;border-radius:999px;letter-spacing:1px;}
.jz-map iframe{width:100% !important;height:420px !important;filter:grayscale(.25);display:block;border:0;}
[id^="jzec"]{position:relative;z-index:2;}
[id^="jzescrim"]{position:absolute !important;inset:0;z-index:1;background:linear-gradient(180deg,rgba(2,2,2,0) 35%,rgba(2,2,2,.85) 100%);}
[id^="jzevent"] .jz-cover-abs{z-index:0;}
.jz-faq .elementor-accordion-item{background:#211F1D;border:1px solid rgba(255,255,255,.12) !important;border-radius:10px;margin-bottom:12px;overflow:hidden;}
.jz-faq .elementor-tab-title{padding:20px 22px !important;border:none !important;}
.jz-faq .elementor-tab-title a,.jz-faq .elementor-accordion-title,.jz-faq .elementor-tab-title .elementor-accordion-title{color:#fff !important;}
.jz-faq .elementor-tab-content{background:#211F1D !important;color:#a9a29a !important;border:none !important;padding:0 22px 22px !important;}
.jz-faq .elementor-accordion-icon{color:#ff7729 !important;}
.jz-cf7-grid{display:flex;flex-direction:column;}
.jz-iconbox .elementor-icon{background:rgba(255,119,41,.12);color:#ff7729;width:46px;height:46px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px;}
.jz-iconbox .elementor-icon svg{width:22px;height:22px;fill:#ff7729;}

/* ===== footer ===== */
.jz-flogo img{height:46px;width:auto;display:block;}
.jz-flink .elementor-heading-title,.jz-flink .elementor-heading-title a{color:#D7D1C9 !important;transition:color .15s ease;}
.jz-flink .elementor-heading-title a:hover,.jz-flink:hover .elementor-heading-title{color:#ff7729 !important;}
.jz-soc .elementor-icon{width:40px;height:40px;border:1px solid rgba(255,255,255,.12);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff !important;background:transparent !important;transition:.15s ease;}
.jz-soc .elementor-icon:hover{border-color:#ff7729;color:#ff7729 !important;}
.jz-soc .elementor-icon svg{fill:currentColor;width:18px;height:18px;}
/* ===== popup stacked links ===== */
#jzpopbd{display:none;}
#jzpopin{width:100%;max-width:460px;position:relative;transform:translateY(12px);transition:transform .25s ease;margin:0 auto;}
#jz-order-popup.is-open #jzpopin{transform:none;}
.jz-poplink .elementor-button{width:100%;justify-content:space-between;gap:14px;}
/* ================= MOBILE HEADER + OFF-CANVAS NAV (v6.0) ================= */
/* Replaces the old XPro horizontal-menu collapse hacks entirely. The XPro menu
   is desktop-only; <=1024px we hide it and use our own #jz-mobile-nav panel. */

/* --- hamburger: hidden on desktop, aligned with the other header items --- */
.jz-burger{display:none !important;}
.jz-burger .elementor-icon{color:#fff !important;line-height:1 !important;}
.jz-burger .elementor-widget-container{display:flex !important;align-items:center !important;line-height:0 !important;}

@media(max-width:1024px){
  /* kill the XPro menu on mobile — we supply our own panel */
  #jzhdnav{display:none !important;}
  .jz-burger{display:flex !important;align-items:center !important;justify-content:center !important;
             width:44px !important;height:44px !important;flex:0 0 44px !important;margin:0 !important;padding:0 !important;}
  .jz-burger a,.jz-burger .elementor-icon{display:flex !important;align-items:center !important;justify-content:center !important;
             width:44px !important;height:44px !important;}
  .jz-burger .elementor-icon svg,.jz-burger .elementor-icon i{font-size:22px !important;width:22px !important;height:22px !important;}

  /* header row: everything on one baseline, evenly aligned */
  #jzhdrow{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;
           align-items:center !important;justify-content:space-between !important;gap:12px !important;
           padding-top:0 !important;padding-bottom:0 !important;}
  #jzhdlogo{order:1 !important;flex:1 1 auto !important;min-width:0 !important;width:auto !important;
            display:flex !important;align-items:center !important;padding:0 !important;margin:0 !important;}
  #jzhdright{order:2 !important;flex:0 0 auto !important;width:auto !important;max-width:none !important;
             display:flex !important;flex-direction:row !important;align-items:center !important;gap:10px !important;
             padding:0 !important;margin:0 !important;}
  .jz-phone{display:none !important;}
  .jz-order-trigger .elementor-button,.jz-order-trigger .xpro-elementor-button,.jz-order-trigger a{
    padding:11px 16px !important;font-size:12.5px !important;line-height:1 !important;white-space:nowrap !important;}
  #jzhdright>.elementor-widget{margin-bottom:0 !important;display:flex !important;align-items:center !important;}
}

/* --- the off-canvas panel itself --- */
#jz-mobile-nav{
  position:fixed !important;inset:0 !important;z-index:100000 !important;
  width:100% !important;max-width:none !important;min-height:100dvh !important;height:100dvh !important;
  background:#020202 !important;
  display:none !important;
  overflow-y:auto !important;-webkit-overflow-scrolling:touch;
}
#jz-mobile-nav.is-open{display:flex !important;}
body.jz-mnav-open{overflow:hidden !important;}

#jzmnavtop{flex:0 0 auto !important;}
.jz-mnav-close{cursor:pointer !important;user-select:none;}
.jz-mnav-close .elementor-heading-title{cursor:pointer !important;padding:6px 10px !important;display:inline-block !important;}

#jzmnavlinks{flex:1 1 auto !important;justify-content:center !important;}
.jz-mnav-link .elementor-heading-title{font-size:30px !important;letter-spacing:.5px !important;}
.jz-mnav-link a{color:#fff !important;text-decoration:none !important;display:block !important;padding:6px 0 !important;}
.jz-mnav-link a:hover,.jz-mnav-link a:active{color:#ff7729 !important;}

#jzmnavfoot{flex:0 0 auto !important;}
.jz-mnav-phone a{color:#fff !important;text-decoration:none !important;font-size:30px !important;display:block !important;}
.jz-mnav-order .elementor-button{width:100% !important;justify-content:center !important;
  background-color:#ff7729 !important;color:#020202 !important;letter-spacing:1px !important;}
#jzmnavfoot>.elementor-widget,#jzmnavfoot>.e-con{width:100% !important;}
.jz-mnav-order{width:100% !important;max-width:420px !important;}

/* the panel must never show on desktop */
@media(min-width:1025px){
  #jz-mobile-nav{display:none !important;}
}

/* ===== sticky header (XPro sticky JS not loaded; overflow-x:clip keeps sticky working) ===== */

.xpro-theme-builder-header,.elementor-location-header{position:-webkit-sticky !important;position:sticky !important;top:0 !important;z-index:1000 !important;}
/* logo height + header bar padding */
.jz-logo img{height:44px !important;width:auto !important;max-width:none !important;display:block !important;}
#jzhdbar{padding-top:12px !important;padding-bottom:12px !important;}
@media(max-width:767px){.jz-logo img{height:32px !important;}#jzhdbar{padding-top:8px !important;padding-bottom:8px !important;}}
/* compact header height */
#jzhdrow{min-height:0 !important;align-items:center !important;}
.jz-logo,.jz-logo .elementor-widget-container,.jz-logo a{line-height:0 !important;padding:0 !important;}
@media(min-width:1025px){
  #jzhdnav .xpro-elementor-horizontal-navbar,#jzhdnav .xpro-elementor-horizontal-navbar-nav{min-height:0 !important;height:auto !important;align-items:center !important;}
  #jzhdnav .xpro-elementor-nav-link{padding-top:4px !important;padding-bottom:4px !important;line-height:1.3 !important;min-height:0 !important;}
}
#jzhdlogo,.jz-logo,.jz-logo .elementor-widget-container{padding:0 !important;margin:0 !important;}
.jz-order-trigger .xpro-elementor-button{padding-top:11px !important;padding-bottom:11px !important;}
#jzhdright{align-items:center !important;}
/* ===== header height (remove redundant inner/row padding) + sticky subnav ===== */
#jzhdbar{padding-top:10px !important;padding-bottom:10px !important;}
#jzhdbar>.e-con-inner{padding-top:0 !important;padding-bottom:0 !important;}
#jzhdrow{padding-top:0 !important;padding-bottom:0 !important;}
@media(max-width:767px){#jzhdbar{padding-top:8px !important;padding-bottom:8px !important;}}
/* sticky secondary menu nav (below sticky header) */
#jzmenunav{position:-webkit-sticky !important;position:sticky !important;top:129px !important;z-index:90 !important;padding-top:0 !important;padding-bottom:0 !important;}
@media(max-width:767px){#jzmenunav{top:104px !important;}}
/* ===== mobile spacing ===== */
@media(max-width:767px){
  .elementor-109>.e-con:not([id^="jzhero"]),.elementor-111>.e-con:not([id^="jzhero"]),.elementor-112>.e-con:not([id^="jzhero"]),.elementor-110>.e-con:not(#jzmenunav){padding-top:48px !important;padding-bottom:48px !important;}
  #jzherohome,#jzherocat,#jzherovisit{min-height:430px !important;}
  #jzherogather,#jzheronear{padding-top:56px !important;padding-bottom:56px !important;}
  [id^="jzhc"]{padding-left:16px !important;padding-right:16px !important;}
}
/* menu cards: kill default Elementor widget spacing so cards fit content */
[id^="menu-"] .elementor-widget{margin-bottom:0 !important;}
[id^="menu-"] .elementor-widget-text-editor p{margin:0 !important;}
[id^="menu-"] .elementor-heading-title{margin:0 !important;}
/* override Astra body overflow-x:hidden (breaks sticky) with clip (keeps sticky, blocks h-scroll, y-scroll unaffected) */


#jzmenunav a.elementor-button.is-active,#jzmenunav .elementor-widget.is-active a.elementor-button{background-color:#ff7729 !important;color:#020202 !important;border-color:#ff7729 !important;}
#jzmenunav a.is-active .elementor-button-text,#jzmenunav .is-active a .elementor-button-text{color:#020202 !important;}


/* ================= v6.0 REVISION ROUND ================= */

/* --- sticky subnav now wraps; height is variable so pin below the header --- */
#jzmenunav{position:-webkit-sticky !important;position:sticky !important;top:129px !important;z-index:90 !important;
  background:rgba(2,2,2,.96) !important;backdrop-filter:blur(12px) !important;
  padding-top:0 !important;padding-bottom:0 !important;overflow:visible !important;}
#jzmenunavrow{overflow:visible !important;}
#jzmenunav .elementor-widget{margin-bottom:0 !important;}
#jzmenunav .elementor-button{white-space:nowrap !important;transition:none !important;}
@media(max-width:767px){
  #jzmenunav{top:96px !important;}
  #jzmenunavrow{gap:6px !important;padding:8px 12px !important;}
  #jzmenunav .elementor-button{font-size:11px !important;padding:7px 12px !important;letter-spacing:.6px !important;}
}

/* --- catering "why" + event cards: no hover dependency, always readable ---
   NOTE: Elementor strips container _css_classes, so the live rules are the
   id-based ones ([id^="jzwhy"] / [id^="jzevent"]). Override those, not the
   .jz-hover-card / .jz-event class selectors, which never match. */
[id^="jzwhy"] .jz-reveal,[id^="jzevent"] .jz-reveal,
.jz-hover-card .jz-reveal,.jz-event .jz-reveal{
  max-height:none !important;opacity:1 !important;overflow:visible !important;transition:none !important;}
[id^="jzwhy"] .jz-reveal{margin-top:10px !important;}
[id^="jzevent"] .jz-reveal{margin-top:6px !important;}
/* body copy was black to suit the orange hover fill — make it readable unhovered */
[id^="jzwhy"] .jz-reveal,[id^="jzwhy"] .jz-reveal p{color:#B9B2A9 !important;}

/* hover is unreachable on touch — neutralise the hover states entirely there */
@media(max-width:1024px){
  [id^="jzwhy"]:hover,.jz-hover-card:hover{background:#211F1D !important;
    border-color:rgba(255,255,255,.12) !important;transform:none !important;}
  [id^="jzwhy"]:hover .elementor-heading-title,[id^="jzwhy"]:hover .jz-reveal,
  [id^="jzwhy"]:hover .jz-reveal p,[id^="jzwhy"]:hover p{color:#B9B2A9 !important;}
  [id^="jzwhy"]:hover h3.elementor-heading-title{color:#fff !important;}
  [id^="jzevent"]:hover,.jz-event:hover{transform:none !important;}
}

/* --- home: Our Story image above the copy on mobile --- */
@media(max-width:767px){
  #jzstoryimg{order:-1 !important;margin-bottom:24px !important;}
}

/* --- menu cards: compact horizontal card, image left, no dead space --- */
[id^="menu-"] .elementor-widget{margin-bottom:0 !important;}
[id^="menu-"] .elementor-widget-text-editor p{margin:0 !important;}
[id^="menu-"] .elementor-heading-title{margin:0 !important;}
.jz-mcard-img img{width:60px !important;height:60px !important;object-fit:cover !important;border-radius:6px !important;display:block !important;}
/* the card is a strict 2-column row; kill Elementor's default nested container padding
   (that padding was the "blank space" and the width:100% was forcing a wrap) */
[id^="jzmc"]{flex-wrap:nowrap !important;align-items:center !important;}
[id^="jzmc"] > .e-con{padding:0 !important;}
[id^="jzmc"] > .e-con:first-child{flex:0 0 60px !important;width:60px !important;max-width:60px !important;}
[id^="jzmc"] > .e-con:last-child{flex:1 1 auto !important;width:auto !important;min-width:0 !important;}
[id^="jzmc"] .e-con{padding:0 !important;}
[id^="jzmc"] .elementor-widget{margin-bottom:0 !important;}
@media(max-width:767px){
  .jz-mcard-img img{width:54px !important;height:54px !important;}
  [id^="jzmc"] > .e-con:first-child{flex:0 0 54px !important;width:54px !important;max-width:54px !important;}
  [id^="jzmc"]{padding:8px 10px !important;}
  [id^="menu-"] h3.elementor-heading-title{font-size:13.5px !important;line-height:1.15 !important;}
  [id^="menu-"] .elementor-widget-text-editor{font-size:12px !important;line-height:1.35 !important;}
  [id^="menu-"] .jz-mk{font-size:9px !important;padding:2px 6px !important;}
}

/* --- mobile: centre content that reads left-aligned --- */
@media(max-width:767px){
  #jzherocat .jz-cf7 input,#jzherocat .jz-cf7 select{width:100% !important;}
  [id^="jzwhy"]{text-align:center !important;align-items:center !important;}
  [id^="jzwhy"] .elementor-heading-title,[id^="jzwhy"] p{text-align:center !important;}
  #jzhcgather,#jzhcgather .e-con{align-items:center !important;}
  [id^="jzevent"] .elementor-heading-title,[id^="jzevent"] p{text-align:center !important;}
  [id^="jzevent"]{align-items:center !important;}
  #jzfootcols,#jzfootcols>.e-con{align-items:center !important;text-align:center !important;}
  #jzfootcols .elementor-heading-title,#jzfootcols p{text-align:center !important;}
  #jzfootcols .jz-soc{justify-content:center !important;}
  #jzfootcols>.e-con>.e-con{justify-content:center !important;}
  #jzfootbottom{justify-content:center !important;text-align:center !important;}
  #jzfootbottom .elementor-heading-title,#jzfootbottom p{text-align:center !important;}
  /* section headings + step cards read centred on mobile */
  #jzhcgather,#jzhcgather .e-con,#jzhcgather .elementor-heading-title,#jzhcgather p{text-align:center !important;}
  #jzherocat .elementor-heading-title,#jzherocat p{text-align:center !important;}
  #jzherocat .e-con{align-items:center !important;}
  .elementor-111 .elementor-heading-title,.elementor-111 .elementor-widget-text-editor{text-align:center !important;}
  .elementor-111 .e-con{align-items:center !important;}
  /* keep the FAQ accordion left-aligned — centred accordion text is unreadable */
  .jz-faq,.jz-faq *{text-align:left !important;}
  /* menu page: trim dead space above the first section */
  .elementor-110 .e-con-inner{padding-top:8px !important;}
  [id^="menu-"]{padding-top:14px !important;}
}

/* --- mobile header: phone must actually hide (Elementor's widget rule ties on
       specificity and loads later, so qualify with the parent id) --- */
@media(max-width:1024px){
  #jzhdright .jz-phone,#jzhdright .elementor-widget-icon-list.jz-phone{display:none !important;}
}

/* --- menu card name row: drop the dotted leader on mobile so the item name
       gets the full width instead of wrapping to 3 lines --- */
@media(max-width:767px){
  [id^="jzmc"] > .e-con:last-child > .e-con:first-child > .e-con{display:none !important;}
  [id^="jzmc"] > .e-con:last-child > .e-con:first-child{gap:8px !important;align-items:baseline !important;}
  [id^="jzmc"] h3.elementor-heading-title{flex:1 1 auto !important;}
  [id^="jzmc"] > .e-con:last-child > .e-con:first-child > .elementor-widget:first-child{flex:1 1 auto !important;min-width:0 !important;}
  [id^="jzmc"] > .e-con:last-child > .e-con:first-child > .elementor-widget:last-child{flex:0 0 auto !important;white-space:nowrap !important;}
  /* tighten the dead space between the sticky subnav and the first section */
  .elementor-110 .e-con > .e-con[id^="menu-"]:first-child{padding-top:12px !important;}
}

/* --- catering hero form --- */
#jzheroform .jz-cf7 p{margin:0 0 10px !important;}
#jzheroform .jz-cf7 input[type=submit]{width:100% !important;}
@media(max-width:767px){
  #jzheroform{margin-top:24px !important;padding:20px !important;}
  #jzherocat{min-height:auto !important;}
  #jzherocat .e-con{padding-top:40px !important;padding-bottom:40px !important;}
}

/* --- catering: centred full-width order form --- */
#jzformwrap{margin-left:auto !important;margin-right:auto !important;}
#jzformbox{width:100% !important;}
#jzformbox .jz-cf7{width:100% !important;}
@media(max-width:767px){
  #jzformbox{padding:20px !important;}
}

/* ================= v7.0 REVISION ROUND 2 ================= */

/* --- sticky subnav sits exactly under the header. The offset is measured at
       runtime into --jz-hdr (jz-interactions.js) so it can never drift when the
       header height changes; the literals are only a pre-JS fallback. --- */
#jzmenunav{top:var(--jz-hdr,129px) !important;}
@media(max-width:767px){#jzmenunav{top:var(--jz-hdr,106px) !important;}}

/* --- sitewide: brand-orange text selection --- */
::selection{background:#ff7729;color:#020202;}
::-moz-selection{background:#ff7729;color:#020202;}

/* --- announcement bar: shorter, one line on mobile --- */
#jzann{padding-top:5px !important;padding-bottom:5px !important;}
.jz-ann .elementor-heading-title{line-height:1.25 !important;}
.jz-ann-mob{display:none !important;}
@media(max-width:767px){
  .jz-ann-desk{display:none !important;}
  .jz-ann-mob{display:block !important;}
  .jz-ann-mob .elementor-heading-title{font-size:9.5px !important;letter-spacing:.4px !important;
    white-space:nowrap !important;line-height:1.2 !important;}
  #jzann{padding:4px 8px !important;}
}

/* --- mobile header: bigger logo + hamburger only --- */
@media(max-width:1024px){
  /* Order Online lives in the off-canvas panel on mobile; drop it from the bar */
  #jzhdright .jz-order-trigger{display:none !important;}
  #jzhdbar{padding-top:14px !important;padding-bottom:14px !important;}
  .jz-logo img{height:46px !important;width:auto !important;}
  .jz-burger{width:48px !important;height:48px !important;flex:0 0 48px !important;}
  .jz-burger a,.jz-burger .elementor-icon{width:48px !important;height:48px !important;}
  .jz-burger .elementor-icon svg,.jz-burger .elementor-icon i{font-size:26px !important;width:26px !important;height:26px !important;}
  #jzhdrow{align-items:center !important;}
}

/* --- home hero (mobile): readable copy, stacked equal orange buttons --- */
@media(max-width:767px){
  .jz-hero-eyebrow{display:none !important;}
  /* subheader: solid white + heavier so it reads over the photo */
  #jzhchome .elementor-widget-text-editor,#jzhchome .elementor-widget-text-editor p{
    color:#FFFFFF !important;font-weight:600 !important;text-shadow:0 1px 12px rgba(0,0,0,.85) !important;}
  #jzhchome h1.elementor-heading-title{text-shadow:0 2px 18px rgba(0,0,0,.8) !important;}
  #jzherobtns{flex-direction:column !important;align-items:center !important;width:100% !important;gap:12px !important;}
  #jzherobtns > .elementor-widget{width:100% !important;max-width:340px !important;margin:0 !important;}
  .jz-hero-btn .elementor-button{width:100% !important;justify-content:center !important;
    background-color:#ff7729 !important;color:#020202 !important;border:0 !important;
    padding:16px 24px !important;font-size:14px !important;}
  #jzherorating{justify-content:center !important;}
}
/* both hero buttons are orange at every size now */
.jz-hero-btn .elementor-button{background-color:#ff7729 !important;color:#020202 !important;border-color:#ff7729 !important;}
.jz-hero-btn .elementor-button:hover{background-color:#ff8a45 !important;}
.jz-hero-btn .elementor-button-text,.jz-hero-btn .elementor-button-icon{color:#020202 !important;}

/* --- rating row: microcopy on the same baseline as the stars (desktop fix) --- */
#jzherorating{align-items:center !important;}
#jzherorating .elementor-widget{margin-bottom:0 !important;display:flex !important;align-items:center !important;}
#jzherorating .elementor-heading-title{line-height:1 !important;margin:0 !important;display:flex !important;align-items:center !important;}
.jz-stars .elementor-heading-title{color:#ff7729 !important;letter-spacing:1.5px !important;}

/* --- desktop hero: left-aligned black gradient for copy legibility --- */
@media(min-width:768px){
  #jzscrimhero{background:linear-gradient(90deg,rgba(2,2,2,.94) 0%,rgba(2,2,2,.82) 28%,rgba(2,2,2,.45) 58%,rgba(2,2,2,.15) 100%) !important;}
}

/* --- reviews marquee: full readable cards, slower on mobile --- */
#jzmarquee{animation-duration:90s !important;}
#jzmarquee > .e-con{align-self:stretch !important;}
@media(max-width:767px){
  #jzmarquee{animation-duration:150s !important;}
  #jzmarquee > .e-con{width:86vw !important;max-width:340px !important;}
  #jzmarquee .elementor-widget-text-editor,#jzmarquee .elementor-widget-text-editor p{
    font-size:14px !important;line-height:1.5 !important;}
}

/* --- "Feeding the whole crew" / venue cards: stop squeezing the copy ---
   The section kept 40px + nested 10px side padding (Elementor's page-scoped
   selector out-specifies the global 16px rule), leaving the card ~268px wide
   with a 2-line cramped headline. Reclaim the width with id-scoped rules. --- */
@media(max-width:767px){
  #jzadvsec,#jzvenuesec{padding-left:8px !important;padding-right:8px !important;}
  #jzadvsec > .e-con-inner,#jzvenuesec > .e-con-inner,
  #jzadvcard,#jzadvcard > .e-con-inner,#jzvenuecard,#jzvenuecard > .e-con-inner{
    padding-left:0 !important;padding-right:0 !important;max-width:100% !important;width:100% !important;}
  #jzadvtxt,#jzvenuetxt{padding:24px 18px !important;}
  #jzadvtxt .elementor-heading-title,#jzadvtxt p,
  #jzvenuetxt .elementor-heading-title,#jzvenuetxt p{text-align:center !important;}
  #jzadvtxt h2.elementor-heading-title,#jzvenuetxt h2.elementor-heading-title{font-size:26px !important;line-height:1.1 !important;}
  #jzadvtxt p,#jzvenuetxt p{font-size:14.5px !important;line-height:1.5 !important;}
  /* the perk pills were stacking one per row */
  .jz-perk{display:inline-block !important;}
  #jzvenuetxt .e-con{flex-direction:row !important;flex-wrap:wrap !important;justify-content:center !important;}
}

/* --- gathering cards: name pinned bottom-left, no micro copy ---
   High specificity ([id^=jzevent] [id^=jzec] .cls = 0,3,0) so it beats the
   .elementor-111 mobile-centering rule; applies at all widths (desktop wants
   bottom-left too). --- */
[id^="jzevent"]{align-items:flex-start !important;justify-content:flex-end !important;}
[id^="jzevent"] [id^="jzec"]{align-items:flex-start !important;width:100% !important;text-align:left !important;}
/* #jzhcgather .elementor-heading-title (1,1,0, !important) centres the section
   head AND — as a descendant match — the event names. Re-include the section id
   here so the left rule is (1,2,0) and wins for the names only. */
#jzhcgather [id^="jzec"] .elementor-heading-title,
[id^="jzevent"] [id^="jzec"] .elementor-heading-title{text-align:left !important;}
[id^="jzescrim"]{background:linear-gradient(180deg,rgba(2,2,2,0) 35%,rgba(2,2,2,.88) 100%) !important;}
@media(max-width:767px){
  [id^="jzevent"]{min-height:130px !important;}
  [id^="jzevent"] [id^="jzec"] .elementor-heading-title{font-size:14px !important;}
}

/* --- menu page: bigger cards, bigger text, less side padding --- */
@media(max-width:767px){
  /* reclaim the black gutters */
  body .elementor-110 .e-con.e-parent{padding-left:8px !important;padding-right:8px !important;}
  .elementor-110 .e-con-inner{padding-left:0 !important;padding-right:0 !important;}
  [id^="menu-"]{padding-left:0 !important;padding-right:0 !important;}
  /* larger card + type. The image wrapper chain must be widened too, or
     Elementor's .elementor-widget-image img{max-width:100%} clamps the img. */
  [id^="jzmc"]{padding:12px 12px !important;}
  .jz-mcard-img img{width:72px !important;height:72px !important;max-width:none !important;}
  [id^="jzmc"] > .e-con:first-child,
  [id^="jzmc"] .jz-mcard-img,
  [id^="jzmc"] .jz-mcard-img .elementor-widget-container,
  [id^="jzmc"] .jz-mcard-img .elementor-image,
  [id^="jzmc"] .jz-mcard-img a{width:72px !important;max-width:72px !important;}
  [id^="jzmc"] > .e-con:first-child{flex:0 0 72px !important;}
  [id^="menu-"] h3.elementor-heading-title{font-size:16px !important;line-height:1.2 !important;}
  [id^="menu-"] .elementor-widget-text-editor,[id^="menu-"] .elementor-widget-text-editor p{
    font-size:13.5px !important;line-height:1.4 !important;}
  [id^="jzmc"] .elementor-heading-title{font-size:16px !important;}
  [id^="menu-"] h2.elementor-heading-title{font-size:28px !important;}
  [id^="menu-"] .jz-mk{font-size:10px !important;padding:3px 8px !important;}
}

/* --- drinks / list items: strictly one line (name · leader · price) --- */
[id^="jzml"] > .e-con{flex-wrap:nowrap !important;align-items:center !important;padding:0 !important;}
[id^="jzml"] > .e-con > .elementor-widget{margin-bottom:0 !important;}
[id^="jzml"] > .e-con > .elementor-widget:first-child{flex:0 1 auto !important;min-width:0 !important;}
[id^="jzml"] > .e-con > .e-con{flex:1 1 auto !important;min-width:18px !important;}
[id^="jzml"] > .e-con > .elementor-widget:last-child{flex:0 0 auto !important;white-space:nowrap !important;}
[id^="jzml"] .elementor-heading-title{white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
[id^="jzml"] .elementor-widget{margin-bottom:0 !important;}
@media(max-width:767px){
  [id^="jzml"]{padding-top:7px !important;padding-bottom:7px !important;}
  [id^="jzml"] .elementor-heading-title{font-size:15px !important;}
}

/* --- forms: stop inputs overflowing their container --- */
.jz-cf7,.jz-cf7 *{box-sizing:border-box !important;}
.jz-cf7 input[type=text],.jz-cf7 input[type=email],.jz-cf7 input[type=tel],
.jz-cf7 input[type=date],.jz-cf7 input[type=url],.jz-cf7 input[type=number],
.jz-cf7 select,.jz-cf7 textarea{
  width:100% !important;max-width:100% !important;min-width:0 !important;display:block !important;}
.jz-cf7 p,.jz-cf7 label,.jz-cf7 form,.jz-cf7 .wpcf7-form-control-wrap{
  display:block !important;width:100% !important;max-width:100% !important;box-sizing:border-box !important;}
.jz-cf7 textarea{resize:vertical !important;}
#jzformbox,#jzheroform{overflow:hidden !important;}
@media(max-width:767px){
  .jz-cf7 input,.jz-cf7 select,.jz-cf7 textarea{font-size:16px !important;} /* 16px stops iOS zoom-on-focus */
  #jzformbox{padding:18px 14px !important;}
  #jzheroform{padding:18px 14px !important;}
}

/* ================= v8.0 FINAL ROUND ================= */

/* --- announcement bar: now a single .jz-ann heading (desktop copy matches
       the mobile short version). Old .jz-ann-desk/.jz-ann-mob rules are dead. --- */
.jz-ann .elementor-heading-title{font-size:12px !important;line-height:1.25 !important;white-space:normal;}
@media(max-width:767px){
  .jz-ann .elementor-heading-title{font-size:9.5px !important;letter-spacing:.4px !important;white-space:nowrap !important;}
  #jzann{padding-top:4px !important;padding-bottom:4px !important;}
}

/* --- reviews carousel must NOT widen the page. The track (#jzmarquee) is
       width:max-content; its overflow-clipping wrapper class was stripped by
       Elementor, so the page grew to the track's width. Clip via the id wrapper. --- */
#jzmarqwrap{overflow:hidden !important;width:100% !important;max-width:100% !important;}

/* --- home hero (mobile): even vertical spacing between elements, tighter
       subheader -> buttons gap, still fits without scrolling --- */
@media(max-width:767px){
  /* boxed containers put the flex layout on .e-con-inner, so gap/padding must
     target that, not #jzhchome. Even 18px gaps + a top margin above the H1. */
  #jzhchome > .e-con-inner{gap:18px !important;padding-top:22px !important;padding-bottom:8px !important;}
  #jzhchome > .e-con-inner > .elementor-widget{margin-bottom:0 !important;}
  #jzherobtns{padding-top:0 !important;margin-top:0 !important;}
  #jzherorating{padding-top:0 !important;margin-top:0 !important;}
}

/* --- menu item text +15% (mobile overrides; desktop base bumped in generator) --- */
@media(max-width:767px){
  [id^="menu-"] h3.elementor-heading-title,
  [id^="jzmc"] .jz-mname .elementor-heading-title{font-size:18px !important;line-height:1.2 !important;}
  [id^="jzmc"] .jz-mprice .elementor-heading-title{font-size:18px !important;}
  [id^="menu-"] .elementor-widget-text-editor,
  [id^="menu-"] .elementor-widget-text-editor p{font-size:15px !important;line-height:1.4 !important;}
  [id^="jzml"] .jz-mname .elementor-heading-title,
  [id^="jzml"] .jz-mprice .elementor-heading-title,
  [id^="jzml"] .elementor-heading-title{font-size:18px !important;}
  /* slightly bigger image + card to balance the larger type */
  .jz-mcard-img img{width:76px !important;height:76px !important;}
  [id^="jzmc"] > .e-con:first-child{flex:0 0 76px !important;width:76px !important;max-width:76px !important;}
  [id^="jzmc"] .jz-mcard-img,
  [id^="jzmc"] .jz-mcard-img .elementor-widget-container,
  [id^="jzmc"] .jz-mcard-img .elementor-image,
  [id^="jzmc"] .jz-mcard-img a{width:76px !important;max-width:76px !important;}
}

/* --- list items (beverages / cocktails): name fully readable, single line,
       NO ellipsis truncation ("Espr..." bug). Name holds its width, leader
       shrinks. --- */
[id^="jzml"] .jz-mname .elementor-heading-title,
[id^="jzml"] .elementor-heading-title{
  white-space:nowrap !important;overflow:visible !important;text-overflow:clip !important;}
[id^="jzml"] > .e-con > .elementor-widget:first-child{flex:0 0 auto !important;min-width:0 !important;}
[id^="jzml"] > .e-con > .e-con{flex:1 1 auto !important;min-width:10px !important;}
[id^="jzml"] > .e-con > .elementor-widget:last-child{flex:0 0 auto !important;white-space:nowrap !important;}

/* --- card titles single line (desktop especially) --- */
[id^="jzmc"] .jz-mname .elementor-heading-title{white-space:nowrap !important;}
@media(min-width:768px){
  [id^="jzmc"] .jz-mname{flex:0 0 auto !important;}
}

/* --- DESKTOP menu: remove the dotted leader lines (keep the invisible flex
       spacer so price stays right-aligned) --- */
@media(min-width:768px){
  [id^="jzlead"]{border:0 !important;}
}

/* --- catering contact form: tighter spacing, equal full-width fields, no
       overflow (event-date input has size=40 and was spilling out) --- */
.jz-cf7 p{margin:0 0 10px !important;}
.jz-cf7 label{margin:0 0 2px !important;line-height:1.3 !important;display:block !important;}
.jz-cf7 .wpcf7-form-control-wrap{display:block !important;width:100% !important;}
.jz-cf7 input[type=text],.jz-cf7 input[type=email],.jz-cf7 input[type=tel],
.jz-cf7 input[type=date],.jz-cf7 input[type=url],.jz-cf7 input[type=number],
.jz-cf7 select,.jz-cf7 textarea{
  width:100% !important;max-width:100% !important;min-width:0 !important;
  box-sizing:border-box !important;display:block !important;}
.jz-cf7 input[type=date]{-webkit-appearance:none !important;appearance:none !important;}
.jz-cf7 textarea{min-height:120px !important;}
.jz-cf7 input[type=submit]{width:100% !important;margin-top:4px !important;}
@media(max-width:767px){
  /* full-width form, minimal side margins, shorter overall */
  #catering-form{padding-left:8px !important;padding-right:8px !important;}
  #jzformwrap{max-width:100% !important;width:100% !important;}
  #jzformbox{padding:16px 14px !important;width:100% !important;}
  .jz-cf7 p{margin:0 0 8px !important;}
  .jz-cf7 textarea{min-height:100px !important;}
}


/* ================= v9.0 REVISION ROUND 3 ================= */

/* --- Task 1: mobile header — centre the logo, hamburger pinned right --- */
@media(max-width:1024px){
  #jzhdrow{position:relative !important;justify-content:center !important;align-items:center !important;}
  #jzhdlogo{order:0 !important;flex:1 1 auto !important;display:flex !important;
    justify-content:center !important;align-items:center !important;text-align:center !important;}
  #jzhdlogo .jz-logo,#jzhdlogo .elementor-widget-container,#jzhdlogo .xpro-site-logo,#jzhdlogo a{
    margin-left:auto !important;margin-right:auto !important;text-align:center !important;}
  #jzhdlogo .jz-logo img{margin-left:auto !important;margin-right:auto !important;}
  #jzhdright{position:absolute !important;right:0 !important;top:50% !important;
    transform:translateY(-50%) !important;margin:0 !important;}
}

/* --- Task 2: home hero fills the mobile screen, content evenly centred --- */
@media(max-width:767px){
  #jzherohome{min-height:calc(100dvh - var(--jz-hdr,106px)) !important;
    justify-content:stretch !important;padding-bottom:0 !important;}
  #jzhchome{flex:1 1 auto !important;align-self:stretch !important;display:flex !important;
    flex-direction:column !important;justify-content:center !important;}
  #jzhchome > .e-con-inner{flex:1 1 auto !important;justify-content:center !important;
    min-height:100% !important;gap:22px !important;padding-top:28px !important;padding-bottom:28px !important;}
}

/* --- Task 3: reviews carousel — manual scroll-snap + prev/next arrows --- */
#jzrevcar{position:relative !important;}
#jzmarqwrap{overflow-x:auto !important;overflow-y:hidden !important;width:100% !important;max-width:100% !important;
  scroll-snap-type:x proximity !important;scroll-behavior:auto !important;-webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;-ms-overflow-style:none !important;padding:4px 0 !important;}
#jzmarqwrap::-webkit-scrollbar{display:none !important;height:0 !important;}
#jzmarquee{display:flex !important;flex-wrap:nowrap !important;width:max-content !important;
  animation:none !important;transform:none !important;padding:0 6px !important;}
#jzmarquee > .e-con{scroll-snap-align:start !important;align-self:stretch !important;}
.jz-revarrow{position:absolute !important;top:50% !important;transform:translateY(-50%) !important;z-index:6 !important;
  cursor:pointer !important;width:46px !important;height:46px !important;border-radius:50% !important;
  background:rgba(20,19,17,.92) !important;border:1px solid rgba(255,255,255,.2) !important;
  display:flex !important;align-items:center !important;justify-content:center !important;margin:0 !important;
  transition:background .15s ease,border-color .15s ease !important;-webkit-tap-highlight-color:transparent;}
.jz-revarrow .elementor-widget-container{display:flex !important;align-items:center !important;justify-content:center !important;line-height:0 !important;}
.jz-revarrow .elementor-heading-title{color:#fff !important;line-height:1 !important;margin:0 !important;font-size:30px !important;}
.jz-revarrow:hover{background:#ff7729 !important;border-color:#ff7729 !important;}
.jz-revarrow:hover .elementor-heading-title{color:#020202 !important;}
.jz-revprev{left:8px !important;}
.jz-revnext{right:8px !important;}
@media(max-width:767px){
  .jz-revarrow{width:40px !important;height:40px !important;}
  .jz-revarrow .elementor-heading-title{font-size:26px !important;}
  .jz-revprev{left:2px !important;}
  .jz-revnext{right:2px !important;}
}

/* --- Task 4/5: menu — orange price beside the title, smaller left info tags --- */
[id^="jznr"]{flex-wrap:wrap !important;justify-content:flex-start !important;align-items:baseline !important;gap:9px !important;}
[id^="jznr"] .jz-mname{flex:0 1 auto !important;min-width:0 !important;}
[id^="jznr"] .jz-mname .elementor-heading-title{white-space:normal !important;overflow:visible !important;text-overflow:clip !important;}
[id^="jznr"] .jz-mprice{flex:0 0 auto !important;}
[id^="jznr"] .jz-mprice .elementor-heading-title{white-space:nowrap !important;}
[id^="jzml"] > .e-con{flex-wrap:wrap !important;justify-content:flex-start !important;align-items:baseline !important;}
[id^="jzml"] > .e-con > .elementor-widget:first-child{flex:0 1 auto !important;min-width:0 !important;}
[id^="jzml"] > .e-con > .elementor-widget:last-child{flex:0 0 auto !important;white-space:nowrap !important;}
[id^="jzml"] .elementor-heading-title{white-space:normal !important;overflow:visible !important;text-overflow:clip !important;}
[id^="jzml"] .jz-mprice .elementor-heading-title{white-space:nowrap !important;}
[id^="jzmc"] .jz-mname .elementor-heading-title{white-space:normal !important;}
@media(min-width:768px){[id^="jzmc"] .jz-mname{flex:0 1 auto !important;}}
.jz-mk .elementor-heading-title{font-weight:400 !important;font-size:9px !important;letter-spacing:.5px !important;padding:2px 8px !important;}
[id^="menu-"] .jz-mk{font-size:9px !important;}
[id^="menu-"] .jz-mk .elementor-heading-title{font-size:9px !important;font-weight:400 !important;padding:2px 8px !important;}

/* --- Task 7: menu page must not scroll sideways on mobile --- */
@media(max-width:767px){
  [id^="jzml"],[id^="jzmc"],[id^="jznr"]{max-width:100% !important;}
}
/* --- v9.0 fix: neutralise the old leader-era rule that grew the card name
       widget on mobile (flex:1 1 auto, spec 0,6,0) so the price now sits
       right beside the title instead of at the card edge --- */
@media(max-width:767px){
  [id^="jzmc"] > .e-con:last-child > .e-con:first-child > .elementor-widget:first-child{flex:0 1 auto !important;min-width:0 !important;}
  [id^="jzmc"] h3.elementor-heading-title{flex:0 1 auto !important;}
}

/* ================= v9.5 REVISION ROUND 4 ================= */
/* --- home gallery: overlay label pinned bottom-left (was top-right: column
       flex + align-items:flex-end put it top-right) for max contrast on the
       bottom-weighted hover gradient --- */
[id^="jztl"]{flex-direction:column !important;justify-content:flex-end !important;align-items:flex-start !important;text-align:left !important;}
[id^="jztl"] .elementor-heading-title{text-align:left !important;margin:0 !important;}

/* --- catering form: label sits directly above its field (kill wpautop <br>),
       tighter gap, slightly larger label text --- */
.jz-cf7 br{display:none !important;}
.jz-cf7 label{display:block !important;margin:0 0 5px !important;font-size:13px !important;
  line-height:1.25 !important;letter-spacing:1px !important;font-weight:700 !important;text-transform:uppercase !important;color:#B9B2A9 !important;}
.jz-cf7 p{margin:0 0 14px !important;}
.jz-cf7 .wpcf7-form-control-wrap{display:block !important;width:100% !important;margin:0 !important;}
.jz-cf7 input[type=text],.jz-cf7 input[type=email],.jz-cf7 input[type=tel],
.jz-cf7 input[type=date],.jz-cf7 select,.jz-cf7 textarea{font-size:16px !important;}/* form fields read left-aligned even inside centred hero copy */
.jz-cf7,.jz-cf7 label,.jz-cf7 .wpcf7-form-control-wrap,.jz-cf7 p{text-align:left !important;}