/* Jiva Celebrations — Menu Builder styles (brown · ivory · gold) */
/*vars*/:root{--jc-ink:var(--c2b211c-fg,var(--c2b211c,#2b211c));--jc-ink2:var(--c4a382d-fg,var(--c4a382d,#4a382d));--jc-muted:var(--c6e5c50-fg,var(--c6e5c50,#6e5c50));--jc-gold:var(--cc7a35d,#c7a35d);--jc-gold-d:var(--c9c753b,#9c753b);--jc-gold-l:var(--cead5a4,#ead5a4);--jc-ivory:var(--cfbf6ee-bg,var(--cfbf6ee,#fbf6ee));--jc-cream:var(--cfffdf9-bg,var(--cfffdf9,#fffdf9));--jc-line:var(--ce4d8ca,#e4d8ca);--jc-ok:#1d7a46;--jc-err:#a8321f}
.jc-section{padding:46px 0 90px;background:linear-gradient(180deg,var(--cfffdf9-bg,var(--cfffdf9,#fffdf9)) 0,var(--cfbf6ee-bg,var(--cfbf6ee,#fbf6ee)) 100%)}
.jc-wrap{max-width:1040px}
.jc-wrap *{box-sizing:border-box}
.jc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.jc-hide{display:none}

.jc-hero-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.jc-h2{font-family:var(--f-head,'Playfair Display',serif);font-size:clamp(28px,3.6vw,40px);line-height:1.15;margin:0 0 8px;font-weight:600}
.form .jc-enq-summary{margin:0 0 18px;text-align:left;max-width:none;font-size:14px}
.jc-sum-k{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--jc-gold-d);margin-right:6px}
.jc-sum-link,.jc-note a{color:var(--jc-gold-d);font-weight:700;border-bottom:1px solid rgba(var(--r156-117-59,156,117,59),.4)}
.jc-link-btn{appearance:none;background:none;border:0;border-bottom:1px solid currentColor;padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer}
.jc-note.warn{background:var(--cfbf3e0-bg,var(--cfbf3e0,#fbf3e0));color:var(--c7a5a1c-fg,var(--c7a5a1c,#7a5a1c));border:1px solid var(--cecd9a8,#ecd9a8)}
#enquiry{scroll-margin-top:96px}#menu{scroll-margin-top:86px}
.jc-coupon [hidden],.jc-coupon[hidden]{display:none!important}
.jc-coupon{margin:22px auto 0;max-width:820px;padding:18px 20px;border:1.5px dashed var(--jc-gold);border-radius:20px;background:var(--cfffaf0-bg,var(--cfffaf0,#fffaf0))}
.jc-coupon.is-on{border-style:solid;background:#f3faf5;border-color:#9fd0b2}
.jc-coupon-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.jc-coupon-ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--cd5b675-bg,var(--cd5b675,#d5b675)),var(--cb88e47-bg,var(--cb88e47,#b88e47)));color:var(--c241a13-fg,var(--c241a13,#241a13));font-weight:800;font-size:18px;flex:none}
.jc-coupon-txt{display:grid;gap:2px;flex:1 1 220px;min-width:0}
.jc-coupon-txt strong{font-family:var(--f-head,'Playfair Display',serif);font-size:19px;font-weight:600}
.jc-coupon-txt>span{font-size:13px;color:var(--jc-muted)}
.jc-coupon-ask{display:flex;gap:8px;flex:1 1 260px}
.jc-coupon-ask input,.jc-coupon-flat input{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--cd8ccbe,#d8ccbe);border-radius:12px;background:var(--w-bg,#fff);font:inherit;font-size:15px;text-transform:uppercase}
.jc-coupon-flat input{text-transform:none;width:100%}
.jc-coupon-ask .jc-btn{padding:12px 22px}
.jc-coupon-badge{display:flex;align-items:center;gap:14px;font-weight:700;color:#1d5a36;font-size:14px}
.jc-coupon-flat{display:grid;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid #cfe6d8}
.jc-coupon-flat label{font-size:13px;font-weight:700}
.jc-coupon-flat small{color:var(--jc-muted);font-size:12px}
.jc-coupon-msg{margin-top:8px;font-size:13px;color:#1d5a36}
.jc-coupon-msg:empty{display:none}
.jc-coupon-msg.err{color:var(--jc-err);font-weight:600}
.jc-card-disc{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding:10px 14px;border-radius:12px;background:#eaf5ee;color:#1d5a36;font-size:13px;font-weight:600;text-align:left}
.pm-disc{margin-top:5mm;padding:2.5mm 4mm;background:#eef7f1;border-radius:2mm;font-size:10.5pt;color:#1d5a36;text-align:center}
/* switch */
.jc-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 auto;max-width:1040px}
.jc-tab{appearance:none;text-align:left;background:var(--jc-cream);border:1px solid var(--jc-line);border-radius:22px;padding:20px 24px;cursor:pointer;font:inherit;color:var(--jc-ink);display:grid;gap:2px;transition:.25s ease;position:relative;box-shadow:0 6px 22px rgba(var(--r43-33-28,43,33,28),.04)}
.jc-tab:hover{border-color:var(--jc-gold);transform:translateY(-2px)}
.jc-tab-k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--jc-gold-d)}
.jc-tab-t{font-family:var(--f-head,'Playfair Display',serif);font-size:25px;font-weight:600;line-height:1.2}
.jc-tab-s{font-size:13px;color:var(--jc-muted)}
.jc-tab.is-active{background:linear-gradient(145deg,var(--c352920-bg,var(--c352920,#352920)),var(--c241b17-bg,var(--c241b17,#241b17)));color:var(--cfff8ec-fg,var(--cfff8ec,#fff8ec));border-color:var(--c241b17,#241b17);box-shadow:0 18px 44px rgba(var(--r43-33-28,43,33,28),.28)}
.jc-tab.is-active .jc-tab-k{color:var(--jc-gold)}
.jc-tab.is-active .jc-tab-s{color:var(--ce9dcc8-fg,var(--ce9dcc8,#e9dcc8))}
.jc-tab.is-active:after{content:"";position:absolute;left:50%;bottom:-8px;width:16px;height:16px;background:var(--c241b17-bg,var(--c241b17,#241b17));transform:translateX(-50%) rotate(45deg);border-radius:2px}
.jc-tab:focus-visible,.jc-pkg:focus-visible,.jc-btn:focus-visible,.jc-add:focus-visible{outline:3px solid rgba(var(--r199-163-93,199,163,93),.55);outline-offset:2px}
.jc-dl{text-align:center;margin:22px 0 6px}
.jc-dl a{font-size:13px;font-weight:700;color:var(--jc-gold-d);border-bottom:1px solid rgba(var(--r156-117-59,156,117,59),.4);padding-bottom:2px}
.jc-dl a:hover{color:var(--jc-ink)}

/* panels */
.jc-panel{margin-top:34px}
.jc-head{text-align:center;max-width:680px;margin:0 auto 28px}
.jc-head h2{font-family:var(--f-head,'Playfair Display',serif);font-size:clamp(32px,4.2vw,46px);line-height:1.12;margin:0 0 10px}
.jc-head p{color:var(--jc-muted);margin:0;font-size:17px}
.jc-head-sm h2{font-size:clamp(28px,3.4vw,36px)}
.jc-head .eyebrow{margin-bottom:8px}

/* custom highlight card */
.jc-hero-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:10px 34px;align-items:center;padding:28px 34px;border-radius:26px;color:var(--cfff8ec-fg,var(--cfff8ec,#fff8ec));background:radial-gradient(circle at 92% 0,rgba(var(--r199-163-93,199,163,93),.28),transparent 42%),linear-gradient(135deg,var(--c3a2c22-bg,var(--c3a2c22,#3a2c22)),var(--c241b17-bg,var(--c241b17,#241b17)));border:1px solid rgba(var(--r199-163-93,199,163,93),.45);box-shadow:0 22px 56px rgba(var(--r43-33-28,43,33,28),.22);overflow:hidden}
.jc-hero-card:before{content:"";position:absolute;inset:9px;border:1px solid rgba(var(--r199-163-93,199,163,93),.28);border-radius:19px;pointer-events:none}
.jc-hero-main span{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--jc-gold);font-weight:700}
.jc-hero-main strong{font-family:var(--f-head,'Playfair Display',serif);font-size:58px;line-height:1.1;font-weight:600;color:#fff}
.jc-hero-main small{font-family:var(--f-body,'DM Sans',sans-serif);font-size:16px;font-weight:500;color:var(--ce9dcc8-fg,var(--ce9dcc8,#e9dcc8))}
.jc-hero-pts{list-style:none;margin:0;padding:0;display:grid;gap:5px;color:var(--cefe3d0-fg,var(--cefe3d0,#efe3d0));font-size:15px}
.jc-hero-pts li:before{content:"✦";color:var(--jc-gold);margin-right:10px;font-size:11px}
.jc-hero-pts b{color:var(--jc-gold-l)}
.jc-hero-comp{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:16px;border-top:1px solid rgba(var(--r199-163-93,199,163,93),.3)}
.jc-hero-comp em{font-style:normal;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--jc-gold);margin-right:6px;font-weight:700}
.jc-hero-comp span{padding:5px 13px;border-radius:999px;border:1px solid rgba(var(--r234-213-164,234,213,164),.45);font-size:13px;color:var(--cfff3de-fg,var(--cfff3de,#fff3de));background:rgba(255,255,255,.06)}

/* builder */
.jc-builder{margin-top:26px;background:var(--w-bg,#fff);border:1px solid var(--jc-line);border-radius:26px;padding:26px;box-shadow:0 14px 44px rgba(var(--r43-33-28,43,33,28),.07)}
.jc-meter{position:sticky;top:90px;z-index:5;margin:-26px -26px 18px;padding:18px 26px 14px;background:rgba(var(--r255-253-249,255,253,249),.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--jc-line);border-radius:26px 26px 0 0}
.jc-meter-top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.jc-count{font-family:var(--f-head,'Playfair Display',serif);font-size:23px;font-weight:600}
.jc-count.is-full{color:var(--jc-ok)}
.jc-meter-price{display:flex;align-items:baseline;gap:6px;color:var(--jc-muted)}
.jc-meter-price b{font-family:var(--f-head,'Playfair Display',serif);font-size:30px;color:var(--jc-ink);line-height:1}
.jc-bar{height:7px;border-radius:99px;background:var(--cefe6d8-bg,var(--cefe6d8,#efe6d8));margin:11px 0 8px;overflow:hidden}
.jc-bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--cd5b675-bg,var(--cd5b675,#d5b675)),var(--cb88e47-bg,var(--cb88e47,#b88e47)));transition:width .35s ease}
.jc-price-line{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--jc-muted)}
.jc-plus{color:var(--jc-gold-d);font-weight:700}

.jc-rows{display:grid;gap:10px}
.jc-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--jc-line);border-radius:16px;background:var(--jc-cream);transition:.2s}
.jc-row.is-done{border-color:rgba(var(--r199-163-93,199,163,93),.7);background:var(--cfffaf0-bg,var(--cfffaf0,#fffaf0))}
.jc-row.is-extra{background:var(--cfbf3e4-bg,var(--cfbf3e4,#fbf3e4));border-style:dashed;border-color:rgba(var(--r199-163-93,199,163,93),.7)}
.jc-row-n{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--jc-ink);color:var(--jc-gold-l);font-weight:700;font-size:14px}
.jc-row.is-done .jc-row-n{background:linear-gradient(135deg,var(--cd5b675-bg,var(--cd5b675,#d5b675)),var(--cb88e47-bg,var(--cb88e47,#b88e47)));color:var(--c241a13-fg,var(--c241a13,#241a13))}
.jc-row-fields{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;min-width:0}
.jc-wrap select,.jc-wrap input,.jc-wrap textarea{font:inherit;color:var(--jc-ink)}
.jc-wrap select.jc-cat,.jc-wrap select.jc-item{width:100%;min-width:0;padding:12px 38px 12px 14px;border:1px solid var(--cd8ccbe,#d8ccbe);border-radius:12px;background:var(--w-bg,#fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239c753b' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;-webkit-appearance:none;appearance:none;font-size:15px;outline:none;text-overflow:ellipsis;cursor:pointer}
.jc-wrap select:focus,.jc-wrap input:focus,.jc-wrap textarea:focus{border-color:var(--jc-gold);box-shadow:0 0 0 3px rgba(var(--r199-163-93,199,163,93),.18);outline:none}
.jc-wrap select:disabled{background-color:var(--cf4eee5-bg,var(--cf4eee5,#f4eee5));color:var(--c9a8b7d-fg,var(--c9a8b7d,#9a8b7d));cursor:not-allowed}
.jc-tag{font-size:12px;font-weight:700;color:var(--jc-gold-d);padding:4px 10px;border-radius:99px;background:var(--cf6ecd8-bg,var(--cf6ecd8,#f6ecd8));white-space:nowrap}
.jc-tag-in{color:var(--jc-muted);background:var(--cf1ebe2-bg,var(--cf1ebe2,#f1ebe2));font-weight:600}
.jc-x{width:32px;height:32px;border-radius:50%;border:1px solid var(--jc-line);background:var(--w-bg,#fff);color:var(--jc-err);font-size:20px;line-height:1;cursor:pointer;margin-left:-4px}
.jc-row.has-x{grid-template-columns:40px 1fr auto auto}
.jc-tag-todo{color:var(--ca8721f-fg,var(--ca8721f,#a8721f));background:var(--cfbf0d9-bg,var(--cfbf0d9,#fbf0d9));font-weight:600}
.jc-warn{color:var(--ca8721f-fg,var(--ca8721f,#a8721f));font-weight:600}
.jc-x:hover{background:var(--cfbe9e5-bg,var(--cfbe9e5,#fbe9e5))}
.jc-add{margin-top:14px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px;border-radius:16px;border:1.5px dashed var(--jc-gold);background:var(--cfffaf0-bg,var(--cfffaf0,#fffaf0));color:var(--jc-ink);font:inherit;font-weight:700;cursor:pointer;transition:.2s}
.jc-add em{font-style:normal;font-weight:600;color:var(--jc-gold-d);font-size:13px}
.jc-add:hover{background:var(--cf8ecd4-bg,var(--cf8ecd4,#f8ecd4))}

/* fixed packages */
.jc-pkgs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.jc-pkg{appearance:none;font:inherit;cursor:pointer;display:grid;gap:0;justify-items:center;padding:26px 8px 22px;border-radius:22px;border:1px solid var(--jc-line);background:var(--w-bg,#fff);color:var(--jc-ink);transition:.25s ease;box-shadow:0 8px 26px rgba(var(--r43-33-28,43,33,28),.05);position:relative}
.jc-pkg:hover{transform:translateY(-4px);border-color:var(--jc-gold);box-shadow:0 18px 40px rgba(var(--r43-33-28,43,33,28),.12)}
.jc-pkg-price{font-family:var(--f-head,'Playfair Display',serif);font-size:34px;font-weight:600;line-height:1.1}
.jc-pkg-per{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--jc-gold-d);font-weight:700;margin-top:4px}
.jc-pkg.is-active{background:linear-gradient(145deg,var(--c352920-bg,var(--c352920,#352920)),var(--c241b17-bg,var(--c241b17,#241b17)));color:var(--cfff8ec-fg,var(--cfff8ec,#fff8ec));border-color:var(--jc-gold);box-shadow:0 0 0 2px var(--jc-gold),0 20px 44px rgba(var(--r43-33-28,43,33,28),.28);transform:translateY(-4px)}
.jc-pkg.is-active .jc-pkg-per{color:var(--jc-gold)}
.jc-pkg.is-active:after{content:"✓";position:absolute;top:9px;right:12px;font-size:13px;color:var(--jc-gold)}
.jc-comp-line{text-align:center;color:var(--jc-muted);font-size:14px;margin:16px 0 0}
.jc-comp-line em{font-style:normal;font-weight:700;color:var(--jc-gold-d)}
.jc-empty{margin-top:26px;padding:34px;text-align:center;border:1.5px dashed var(--jc-line);border-radius:22px;color:var(--jc-muted);background:rgba(255,255,255,.6)}
#jc-fixed-body{margin-top:26px}
.jc-includes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:16px 20px;border-radius:18px;background:var(--w-bg,#fff);border:1px solid var(--jc-line);margin-bottom:16px;font-size:14px}
.jc-includes strong{font-family:var(--f-head,'Playfair Display',serif);font-size:18px;margin-right:6px}
.jc-chip{padding:5px 12px;border-radius:99px;background:var(--cf6ecd8-bg,var(--cf6ecd8,#f6ecd8));color:var(--c6a5132-fg,var(--c6a5132,#6a5132));font-weight:600;font-size:13px}
.jc-rows-fixed{background:var(--w-bg,#fff);border:1px solid var(--jc-line);border-radius:26px;padding:22px;box-shadow:0 14px 44px rgba(var(--r43-33-28,43,33,28),.07)}
.jc-slot-head{margin:12px 2px 0;font-family:var(--f-head,'Playfair Display',serif);font-size:19px;color:var(--jc-gold-d);font-weight:600}
.jc-slot-head:first-child{margin-top:0}
.jc-row .jc-row-n-sm,.jc-row-n.jc-row-n-sm{width:auto;min-width:0;height:auto;border-radius:10px;padding:6px 10px;font-size:12px;text-align:center;line-height:1.25;justify-self:stretch}
.jc-rows-fixed .jc-row{grid-template-columns:104px 1fr}

/* totals + preview */
.jc-two{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;margin-top:26px;align-items:start}
.jc-people-box{background:var(--w-bg,#fff);border:1px solid var(--jc-line);border-radius:24px;padding:24px;box-shadow:0 14px 44px rgba(var(--r43-33-28,43,33,28),.07);position:sticky;top:96px}
.jc-people-box label{display:block;font-weight:700;font-size:14px;margin-bottom:8px}
.jc-people-box input{width:100%;padding:14px 16px;border:1px solid var(--cd8ccbe,#d8ccbe);border-radius:12px;background:var(--cfffdf9-bg,var(--cfffdf9,#fffdf9));font-size:22px;font-family:var(--f-head,'Playfair Display',serif)}
.jc-est{margin-top:18px;padding:20px;border-radius:18px;background:linear-gradient(145deg,var(--c352920-bg,var(--c352920,#352920)),var(--c241b17-bg,var(--c241b17,#241b17)));color:var(--cfff8ec-fg,var(--cfff8ec,#fff8ec));text-align:center}
.jc-est small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--jc-gold);font-weight:700}
.jc-est strong{display:block;font-family:var(--f-head,'Playfair Display',serif);font-size:38px;line-height:1.2;margin:4px 0}
.jc-est span{font-size:13px;color:var(--ce4d6c1-fg,var(--ce4d6c1,#e4d6c1))}
.jc-h3{font-family:var(--f-head,'Playfair Display',serif);font-size:22px;margin:0 0 12px}
.jc-prev-empty{padding:40px 24px;text-align:center;color:var(--jc-muted);border:1.5px dashed var(--jc-line);border-radius:22px;background:rgba(255,255,255,.6)}
.jc-card{position:relative;background:var(--cfffdf8-bg,var(--cfffdf8,#fffdf8));border:1px solid var(--jc-gold);border-radius:22px;padding:34px 30px 26px;box-shadow:0 18px 50px rgba(var(--r43-33-28,43,33,28),.1);text-align:center}
.jc-card:before{content:"";position:absolute;inset:7px;border:1px solid rgba(var(--r199-163-93,199,163,93),.4);border-radius:16px;pointer-events:none}
.jc-card-brand{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--jc-gold-d);font-weight:700}
.jc-card-type{font-family:var(--f-head,'Playfair Display',serif);font-size:30px;margin:4px 0 6px;font-weight:600}
.jc-card-meta{display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;color:var(--jc-muted);font-size:14px;font-weight:600;padding-bottom:16px;margin-bottom:14px;border-bottom:1px solid var(--jc-line)}
.jc-card-warn{font-size:12px;color:var(--jc-gold-d);background:var(--cf8ecd2-bg,var(--cf8ecd2,#f8ecd2));border-radius:99px;padding:4px 12px;display:inline-block;margin-bottom:12px;font-weight:700}
.jc-prev-list{list-style:none;margin:0;padding:0;text-align:left;display:grid;gap:7px}
.jc-prev-list li{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:15px;padding:7px 4px;border-bottom:1px dotted var(--ce6dac8,#e6dac8);counter-increment:jc}
.jc-prev-list{counter-reset:jc}
.jc-prev-list li:before{content:counter(jc) ".";color:var(--jc-gold-d);font-weight:700;min-width:22px}
.jc-prev-cat{color:var(--jc-muted);font-size:13px}
.jc-prev-dish{font-weight:700}
.jc-prev-plus{font-style:normal;font-size:11px;font-weight:700;color:var(--jc-gold-d);background:var(--cf6ecd8-bg,var(--cf6ecd8,#f6ecd8));border-radius:99px;padding:1px 8px;margin-left:auto}
.jc-prev-group{text-align:left;margin-bottom:12px}
.jc-prev-group h5{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--jc-gold-d);margin:0 0 4px}
.jc-prev-group ul{list-style:none;margin:0;padding:0}
.jc-prev-group li{font-weight:600;font-size:15px;padding:5px 0 5px 16px;position:relative;border-bottom:1px dotted var(--ce6dac8,#e6dac8)}
.jc-prev-group li:before{content:"✦";position:absolute;left:0;top:8px;font-size:8px;color:var(--jc-gold)}
.jc-card-comp{margin-top:16px;padding:14px;border-radius:14px;background:var(--cf8f0e0-bg,var(--cf8f0e0,#f8f0e0));display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;font-size:13px;color:var(--c6a5132-fg,var(--c6a5132,#6a5132))}
.jc-card-comp b{width:100%;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--jc-gold-d)}
.jc-card-total{margin-top:18px;padding-top:16px;border-top:1px solid var(--jc-line)}
.jc-card-total small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--jc-muted);font-weight:700}
.jc-card-total strong{font-family:var(--f-head,'Playfair Display',serif);font-size:34px}

/* buttons */
.jc-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}
.jc-actions-left{justify-content:flex-start}
.jc-btn{appearance:none;font:inherit;font-weight:700;font-size:14px;padding:14px 28px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:.22s ease}
.jc-btn-lg{padding:16px 36px;font-size:15px}
.jc-btn-gold{background:linear-gradient(135deg,var(--cd5b675-bg,var(--cd5b675,#d5b675)),var(--cb88e47-bg,var(--cb88e47,#b88e47)));color:var(--c241a13-fg,var(--c241a13,#241a13));box-shadow:0 10px 28px rgba(var(--r185-142-69,185,142,69),.28)}
.jc-btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(var(--r185-142-69,185,142,69),.38)}
.jc-btn-outline{background:var(--cfffaf4-bg,var(--cfffaf4,#fffaf4));border-color:var(--ccdb99f,#cdb99f);color:var(--jc-ink)}
.jc-btn-outline:hover{background:var(--cf4eadf-bg,var(--cf4eadf,#f4eadf))}
.jc-btn-ghost{background:transparent;border-color:var(--jc-line);color:var(--jc-muted)}
.jc-btn-ghost:hover{border-color:var(--jc-err);color:var(--jc-err);background:var(--w-bg,#fff)}
.jc-btn:disabled{opacity:.6;cursor:wait}

/* enquiry */
.jc-enquiry{margin-top:64px;padding:40px;border-radius:30px;background:var(--w-bg,#fff);border:1px solid var(--jc-line);box-shadow:0 22px 64px rgba(var(--r43-33-28,43,33,28),.09);scroll-margin-top:96px}
.jc-enq-summary{margin:0 auto 24px;max-width:760px;text-align:center;padding:13px 18px;border-radius:14px;background:var(--cf8f0e0-bg,var(--cf8f0e0,#f8f0e0));color:var(--c5b4635-fg,var(--c5b4635,#5b4635));font-size:14px}
.jc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.jc-f{display:grid;gap:6px;align-content:start}
.jc-f.jc-full{grid-column:1/-1}
.jc-f label{font-size:13px;font-weight:700}
.jc-f input,.jc-f select,.jc-f textarea{width:100%;padding:13px 14px;border:1px solid var(--cd8ccbe,#d8ccbe);border-radius:12px;background:var(--cfffdf9-bg,var(--cfffdf9,#fffdf9));font-size:15px}
.jc-f textarea{resize:vertical}
.jc-f input:invalid:not(:placeholder-shown):not(:focus){border-color:var(--cd79a8d,#d79a8d)}
.jc-note{margin-top:20px;padding:16px 18px;border-radius:14px;font-size:14px}
.jc-note.ok{background:#eaf5ee;color:#1d5a36;border:1px solid #bfe0cb}
.jc-note.err{background:var(--cfbeae6-bg,var(--cfbeae6,#fbeae6));color:var(--jc-err);border:1px solid var(--cefc3ba,#efc3ba)}
.jc-note pre{white-space:pre-wrap;font:13px/1.55 ui-monospace,Menlo,Consolas,monospace;background:var(--w-bg,#fff);border:1px solid #cfe6d8;border-radius:10px;padding:14px;margin:10px 0 0;color:var(--c2b211c-fg,var(--c2b211c,#2b211c))}
.jc-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--c241b17-bg,var(--c241b17,#241b17));color:var(--cfff8ec-fg,var(--cfff8ec,#fff8ec));padding:12px 22px;border-radius:99px;font-size:14px;opacity:0;pointer-events:none;transition:.3s;z-index:300;box-shadow:0 14px 34px rgba(0,0,0,.28);max-width:90vw;text-align:center}
.jc-toast.show{opacity:1;transform:translate(-50%,0)}

/* responsive */
@media(max-width:900px){
  .jc-two{grid-template-columns:1fr}
  .jc-people-box{position:static}
  .jc-pkgs{grid-template-columns:repeat(3,1fr)}
  .jc-hero-card{grid-template-columns:1fr;padding:26px 22px}
  .jc-hero-main strong{font-size:48px}
}
@media(max-width:640px){
  .jc-section{padding:30px 0 70px}
  .jc-switch{grid-template-columns:1fr}
  .jc-tab{padding:16px 18px}.jc-tab-t{font-size:21px}
  .jc-builder{padding:16px;border-radius:20px}
  .jc-meter{margin:-16px -16px 14px;padding:14px 16px 10px;top:80px;border-radius:20px 20px 0 0}
  .jc-count{font-size:19px}.jc-meter-price b{font-size:25px}
  .jc-row,.jc-row.has-x{grid-template-columns:30px 1fr;padding:10px;gap:8px 10px;position:relative}
  .jc-row-n{width:28px;height:28px;font-size:12px}
  .jc-row-fields{grid-template-columns:1fr}
  .jc-row .jc-tag{grid-column:2;justify-self:start}
  .jc-row.has-x .jc-x{position:absolute;right:8px;top:8px}
  .jc-rows-fixed{padding:14px}
  .jc-rows-fixed .jc-row{grid-template-columns:1fr}
  .jc-rows-fixed .jc-row .jc-row-n-sm{justify-self:start;width:auto;height:auto}
  .jc-tab.is-active:after{display:none}
  .jc-pkgs{grid-template-columns:1fr 1fr}
  .jc-pkgs .jc-pkg:last-child{grid-column:1/-1}
  .jc-pkg-price{font-size:30px}
  .jc-enquiry{padding:22px 18px;border-radius:22px;margin-top:44px}
  .jc-form-grid{grid-template-columns:1fr}
  .jc-actions .jc-btn{flex:1 1 100%}
  .jc-card{padding:28px 18px 22px}
  .jc-add{flex-wrap:wrap}
}

/* print sheet (used for printing and the on-screen preview) */
.pm{font-family:var(--f-body,'DM Sans',Arial,sans-serif);color:var(--c2b211c-fg,var(--c2b211c,#2b211c))}
.pm-frame{border:2px solid var(--cc7a35d,#c7a35d);padding:10mm 11mm;position:relative;outline:1px solid var(--cc7a35d,#c7a35d);outline-offset:-5px}
.pm-brand{text-align:center;font-family:var(--f-head,'Playfair Display',Georgia,serif);font-size:28pt;letter-spacing:.14em;font-weight:600}
.pm-sub{text-align:center;font-size:9pt;letter-spacing:.2em;text-transform:uppercase;color:var(--c9c753b-fg,var(--c9c753b,#9c753b));margin-top:2px}
.pm-rule{height:1px;background:var(--cc7a35d-bg,var(--cc7a35d,#c7a35d));margin:5mm auto;width:50%}
.pm-type{text-align:center;font-family:var(--f-head,'Playfair Display',Georgia,serif);font-size:18pt;letter-spacing:.2em;font-weight:600}
.pm-meta{display:flex;justify-content:center;gap:12mm;margin:5mm 0 6mm;padding:3mm 0;border-top:1px solid var(--ce4d8ca,#e4d8ca);border-bottom:1px solid var(--ce4d8ca,#e4d8ca)}
.pm-meta div{text-align:center}
.pm-meta small{display:block;font-size:8pt;letter-spacing:.14em;text-transform:uppercase;color:var(--c6e5c50-fg,var(--c6e5c50,#6e5c50))}
.pm-meta b{font-size:13pt}
.pm-group{margin-bottom:4.5mm;break-inside:avoid}
.pm-group h3{font-size:9pt;letter-spacing:.2em;text-transform:uppercase;color:var(--c9c753b-fg,var(--c9c753b,#9c753b));margin:0 0 1.5mm;border-bottom:1px solid var(--ceadfcd,#eadfcd);padding-bottom:1mm}
.pm-group ul{list-style:none;margin:0;padding:0;columns:2;column-gap:10mm}
.pm-group li{font-size:12pt;padding:.7mm 0;break-inside:avoid}
.pm-group li:before{content:"✦ ";color:var(--cc7a35d-fg,var(--cc7a35d,#c7a35d));font-size:8pt}
.pm-group li i{font-size:9pt;color:var(--c9c753b-fg,var(--c9c753b,#9c753b))}
.pm-comp{background:var(--cfaf3e4-bg,var(--cfaf3e4,#faf3e4));padding:3mm 4mm;border-radius:2mm}
.pm-total{text-align:center;margin-top:6mm;padding-top:4mm;border-top:2px solid var(--cc7a35d,#c7a35d)}
.pm-total small{display:block;font-size:9pt;letter-spacing:.2em;text-transform:uppercase;color:var(--c6e5c50-fg,var(--c6e5c50,#6e5c50))}
.pm-total b{font-family:var(--f-head,'Playfair Display',Georgia,serif);font-size:26pt}
.pm-total span{display:block;font-size:9.5pt;color:var(--c6e5c50-fg,var(--c6e5c50,#6e5c50))}
.pm-foot{text-align:center;font-size:8pt;color:var(--c6e5c50-fg,var(--c6e5c50,#6e5c50));margin-top:7mm;line-height:1.5}
.jc-pv{position:fixed;inset:0;z-index:500;background:rgba(var(--r36-27-23,36,27,23),.78);overflow:auto;padding:24px 12px}
.jc-pv-bar{max-width:794px;margin:0 auto 12px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--cfff8ec-fg,var(--cfff8ec,#fff8ec));font-size:13px}
.jc-pv-bar button{font:inherit;font-weight:700;padding:8px 18px;border-radius:99px;border:0;background:var(--cd5b675-bg,var(--cd5b675,#d5b675));color:var(--c241a13-fg,var(--c241a13,#241a13));cursor:pointer}
.jc-pv-sheet{max-width:794px;margin:0 auto;background:var(--w-bg,#fff);padding:22px;border-radius:6px}
.pm-frame{max-width:100%}
/* print */
.jc-menu-print-area{display:none}
@media print{
  body.jc-printing{background:var(--w-bg,#fff)!important}
  body.jc-printing:before{display:none}
  body.jc-printing>*:not(#jc-menu-print-area){display:none!important}
  body.jc-printing #jc-menu-print-area{display:block!important}
  @page{size:A4;margin:14mm}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ===== Occasion menu (added) ===== */
.jc-step{display:flex;align-items:center;gap:10px;margin:30px 0 14px;font-family:var(--f-head,'Playfair Display',serif);font-size:21px;font-weight:600;color:var(--jc-ink)}
.jc-step:first-of-type{margin-top:6px}
.jc-step span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--cd5b675-bg,var(--cd5b675,#d5b675)),var(--cb88e47-bg,var(--cb88e47,#b88e47)));color:var(--c241a13-fg,var(--c241a13,#241a13));font-family:var(--f-body,'DM Sans',sans-serif);font-size:14px;font-weight:700;flex:none}
.jc-occs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.jc-occ{appearance:none;font:inherit;cursor:pointer;text-align:left;display:grid;gap:4px;align-content:start;padding:22px 20px;border-radius:22px;border:1px solid var(--jc-line);background:var(--w-bg,#fff);color:var(--jc-ink);transition:.25s ease;box-shadow:0 8px 26px rgba(var(--r43-33-28,43,33,28),.05);position:relative}
.jc-occ:hover{transform:translateY(-4px);border-color:var(--jc-gold);box-shadow:0 18px 40px rgba(var(--r43-33-28,43,33,28),.12)}
.jc-occ-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--cf6ecd8-bg,var(--cf6ecd8,#f6ecd8));color:var(--jc-gold-d);margin-bottom:8px}
.jc-occ-ico svg{width:28px;height:28px}
.jc-occ-name{font-family:var(--f-head,'Playfair Display',serif);font-size:24px;font-weight:600;line-height:1.15}
.jc-occ-sub{font-size:13.5px;line-height:1.45;color:var(--jc-muted)}
.jc-occ.is-active{background:linear-gradient(145deg,var(--c352920-bg,var(--c352920,#352920)),var(--c241b17-bg,var(--c241b17,#241b17)));color:var(--cfff8ec-fg,var(--cfff8ec,#fff8ec));border-color:var(--jc-gold);box-shadow:0 0 0 2px var(--jc-gold),0 20px 44px rgba(var(--r43-33-28,43,33,28),.28);transform:translateY(-4px)}
.jc-occ.is-active .jc-occ-ico{background:rgba(var(--r199-163-93,199,163,93),.18);color:var(--jc-gold)}
.jc-occ.is-active .jc-occ-sub{color:var(--ce9dcc8-fg,var(--ce9dcc8,#e9dcc8))}
.jc-occ.is-active:after{content:"✓";position:absolute;top:12px;right:16px;font-size:14px;color:var(--jc-gold)}
.jc-occ-custom{background:var(--cfffaf0-bg,var(--cfffaf0,#fffaf0));border-style:dashed;border-color:var(--jc-gold)}
.jc-occ:focus-visible{outline:3px solid rgba(var(--r199-163-93,199,163,93),.55);outline-offset:2px}
.jc-occ-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;margin:16px 2px 0}
.jc-occ-head:first-child{margin-top:0}
.jc-occ-title{font-family:var(--f-head,'Playfair Display',serif);font-size:19px;color:var(--jc-gold-d);font-weight:600}
.jc-occ-title em{font-style:normal;font-family:var(--f-body,'DM Sans',sans-serif);font-size:12px;color:var(--jc-muted);font-weight:600;margin-left:8px}
.jc-lv{display:flex;gap:6px;flex-wrap:wrap}
.jc-lv button{appearance:none;font:inherit;font-size:12px;font-weight:700;padding:6px 13px;border-radius:99px;border:1px solid var(--jc-line);background:var(--w-bg,#fff);color:var(--jc-muted);cursor:pointer;transition:.2s}
.jc-lv button:hover{border-color:var(--jc-gold);color:var(--jc-ink)}
.jc-lv button.is-on{background:linear-gradient(135deg,var(--cd5b675-bg,var(--cd5b675,#d5b675)),var(--cb88e47-bg,var(--cb88e47,#b88e47)));border-color:var(--cb88e47,#b88e47);color:var(--c241a13-fg,var(--c241a13,#241a13))}
.jc-lv button:focus-visible{outline:3px solid rgba(var(--r199-163-93,199,163,93),.55);outline-offset:2px}
.jc-rows-occ .jc-row-fields{grid-template-columns:1fr}
@media(max-width:900px){
  .jc-occs{grid-template-columns:repeat(2,1fr)}
  .jc-switch{grid-template-columns:1fr}
}
@media(max-width:640px){
  .jc-occ{padding:18px 16px}
  .jc-occ-name{font-size:21px}
  .jc-occs{gap:10px}
}

/* ===== One-page menu planner (v3) ===== */
.jc-start{max-width:1040px;margin:0 auto}
.jc-occs{grid-template-columns:repeat(4,1fr)}
.jc-occ{min-height:182px;overflow:hidden;padding:24px 22px}
.jc-occ:before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,var(--cd5b675-bg,var(--cd5b675,#d5b675)),var(--cb88e47-bg,var(--cb88e47,#b88e47)));opacity:0;transition:.25s}
.jc-occ:hover:before,.jc-occ.is-active:before{opacity:1}
.jc-occ-ico{width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,var(--cfbf0d8-bg,var(--cfbf0d8,#fbf0d8)),var(--cf2e0b8-bg,var(--cf2e0b8,#f2e0b8)));box-shadow:inset 0 0 0 1px rgba(var(--r184-142-71,184,142,71),.35)}
.jc-occ-ico svg{width:28px;height:28px}
.jc-occ.is-active .jc-occ-ico{background:rgba(var(--r199-163-93,199,163,93),.16);box-shadow:inset 0 0 0 1px rgba(var(--r199-163-93,199,163,93),.6)}
.jc-occ-custom{background:linear-gradient(160deg,var(--cfffaf0-bg,var(--cfffaf0,#fffaf0)),var(--cfbf1dc-bg,var(--cfbf1dc,#fbf1dc)));border:1.5px dashed var(--jc-gold)}
.jc-occ-custom.is-active{background:linear-gradient(145deg,var(--c352920-bg,var(--c352920,#352920)),var(--c241b17-bg,var(--c241b17,#241b17)));border-style:solid}
.jc-segwrap{margin-top:18px;padding:20px 22px;border:1.5px dashed var(--jc-gold);border-radius:22px;background:var(--cfffaf0-bg,var(--cfffaf0,#fffaf0));display:grid;gap:14px}
.jc-segwrap[hidden]{display:none}
.jc-seg-lead{margin:0;font-size:15px;color:var(--jc-muted)}
.jc-seg-lead b{color:var(--jc-ink);font-family:var(--f-head,'Playfair Display',serif);font-size:18px;font-weight:600;margin-right:4px}
.jc-seg-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jc-seg{appearance:none;font:inherit;text-align:left;cursor:pointer;display:grid;gap:3px;padding:16px 20px;border-radius:16px;border:1px solid var(--jc-line);background:var(--w-bg,#fff);color:var(--jc-ink);transition:.2s;box-shadow:0 6px 18px rgba(var(--r43-33-28,43,33,28),.05)}
.jc-seg b{font-family:var(--f-head,'Playfair Display',serif);font-size:21px;font-weight:600;line-height:1.2}
.jc-seg em{font-style:normal;font-size:13px;color:var(--jc-muted)}
.jc-seg:hover{border-color:var(--jc-gold);transform:translateY(-2px)}
.jc-seg.is-active{background:linear-gradient(145deg,var(--c352920-bg,var(--c352920,#352920)),var(--c241b17-bg,var(--c241b17,#241b17)));color:var(--cfff8ec-fg,var(--cfff8ec,#fff8ec));border-color:var(--jc-gold);box-shadow:0 14px 32px rgba(var(--r43-33-28,43,33,28),.22)}
.jc-seg.is-active em{color:var(--ce9dcc8-fg,var(--ce9dcc8,#e9dcc8))}
.jc-seg:focus-visible{outline:3px solid rgba(var(--r199-163-93,199,163,93),.55);outline-offset:2px}
.jc-hint{margin:0 0 14px;font-size:14px;color:var(--jc-muted)}
.jc-min{display:block;margin-top:7px;font-size:12px;font-weight:600;color:var(--jc-muted)}
.jc-panel{margin-top:28px}
@media(max-width:900px){.jc-occs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.jc-seg-row{grid-template-columns:1fr}.jc-occ{min-height:0}.jc-segwrap{padding:16px}}

/* Search any dish */
.jc-search{position:relative;margin:0 0 16px}
.jc-search-l{display:block;font-size:13px;font-weight:700;margin:0 0 6px;color:var(--ink)}
.jc-search-f{position:relative;display:flex;align-items:center}
.jc-search-f>span{position:absolute;left:14px;font-size:20px;line-height:1;color:var(--gold);pointer-events:none}
.jc-search-f input{width:100%;padding:13px 42px 13px 42px;border:1.5px solid var(--cd8ccbe,#d8ccbe);border-radius:14px;background:var(--w-bg,#fff);color:var(--ink);font:inherit;font-size:16px;outline:none;-webkit-appearance:none;appearance:none}
.jc-search-f input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(var(--r200-165-106,200,165,106),.18)}
.jc-search-x{position:absolute;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.jc-search-r{position:absolute;left:0;right:0;top:100%;margin-top:6px;z-index:30;max-height:340px;overflow:auto;background:var(--w-bg,#fff);border:1px solid var(--line,#e4d8ca);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.18);padding:6px}
.jc-search-i{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;text-align:left;border:0;background:transparent;color:var(--ink);padding:11px 12px;border-radius:10px;font:inherit;cursor:pointer}
.jc-search-i small{color:var(--jc-muted,#6e5c50);font-size:12px;text-align:right}
.jc-search-i:hover,.jc-search-i:focus{background:rgba(var(--r200-165-106,200,165,106),.16);outline:none}
.jc-search-i[disabled]{opacity:.5;cursor:not-allowed}
.jc-search-n{margin:0;padding:12px;font-size:14px;color:var(--jc-muted,#6e5c50)}
.jc-row.jc-flash{animation:jcFlash 1.6s ease}
@keyframes jcFlash{0%,60%{box-shadow:0 0 0 3px var(--gold)}100%{box-shadow:none}}
.jc-search{scroll-margin-top:104px}
.jc-search-f input::-webkit-search-cancel-button,.jc-search-f input::-webkit-search-decoration{-webkit-appearance:none;display:none}

/* Visible offer and estimate savings */
.jc-total .jc-coupon,.jc-coupon{width:100%;box-sizing:border-box}
.jc-savings[hidden]{display:none!important}
.jc-savings{margin-top:18px;padding:18px;border:1px solid #bed5c5;border-radius:14px;background:#f2faf4;color:#244b35;flex-basis:100%;width:100%;box-sizing:border-box}
.jc-savings>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;font-size:15px}
.jc-saving-line{color:#287b40}.jc-saving-final{border-top:1px solid #bed5c5;margin-top:6px;font-size:20px!important;font-weight:700}
.jc-savings small{display:block;margin-top:10px;font-size:12px;line-height:1.5}
@media(max-width:600px){.jc-coupon{padding:16px}.jc-coupon-ask{flex-basis:100%}.jc-coupon-ask .jc-btn{min-height:44px}.jc-savings>div{font-size:14px}}

.jc-people-box>.jc-coupon,.jc-people-box>.jc-savings{grid-column:1/-1;flex-basis:100%;max-width:none}
