
/* ======================================================================
   2027 · part B: modals, product sheet, welcome fix, checkout bar, journey
   ====================================================================== */

/* ---------- welcome section ---------- */
body.p8ld-site .p8ld-welcome{position:relative!important;left:auto!important;right:auto!important;width:auto!important;max-width:1180px!important;margin:36px auto!important;padding:0 clamp(16px,3vw,28px)!important;transform:none}
body.p8ld-site .p8ld-welcome-grid{margin:0 auto!important;max-width:100%!important;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px;align-items:stretch}
body.p8ld-site .p8ld-welcome-copy{max-width:none!important;padding:8px 0}
body.p8ld-site .p8ld-welcome-copy h2{font:700 clamp(30px,4.2vw,46px)/1.08 Georgia,serif!important;color:var(--ld-ink)!important;letter-spacing:-.5px}
body.p8ld-site .p8ld-welcome-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;background:linear-gradient(135deg,#ffe3cf,#ffd0b0);color:#8a3414!important;font-weight:850!important;letter-spacing:.06em}
body.p8ld-site .p8ld-visit-card{background:linear-gradient(155deg,#3a150e,#7a2a18)!important;color:#fff!important;border:0!important;box-shadow:0 24px 54px rgba(74,31,21,.3)!important;position:relative;overflow:hidden}
body.p8ld-site .p8ld-visit-card *{color:inherit}
body.p8ld-site .p8ld-visit-card a{color:var(--ld-gold-2)!important;font-weight:800}
@media(max-width:820px){body.p8ld-site .p8ld-welcome-grid{grid-template-columns:1fr}}

/* ---------- global modal layer ---------- */
body.p8ld-site .p8ld-modal-layer{background:rgba(30,12,8,.55)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body.p8ld-site .p8ld-web-modal{border-radius:32px!important;background:linear-gradient(180deg,#fffdf9,var(--ld-cream))!important;border:1px solid rgba(255,255,255,.7)!important;
  box-shadow:0 40px 90px rgba(30,12,8,.45)!important;animation:ld-modal-in .55s var(--ld-spring) both}
@keyframes ld-modal-in{from{opacity:0;transform:translateY(28px) scale(.96)}to{opacity:1;transform:none}}
body.p8ld-site .p8ld-modal-close,body.p8ld-site .p8-modal-close{display:grid!important;place-items:center;width:42px!important;height:42px!important;border-radius:14px!important;border:1px solid var(--ld-line)!important;background:#fff!important;color:var(--ld-ink)!important;font-size:22px!important;line-height:1;
  box-shadow:0 6px 16px rgba(74,31,21,.1);transition:transform .25s var(--ld-spring)}
body.p8ld-site .p8ld-modal-close:hover,body.p8ld-site .p8-modal-close:hover{transform:rotate(90deg) scale(1.05)}
body.p8ld-site .p8ld-modal-kicker{color:#a0481f!important;font-weight:850;letter-spacing:.12em}
body.p8ld-site .p8ld-modal-emblem{filter:drop-shadow(0 12px 22px rgba(74,31,21,.25));animation:ld-float 5s ease-in-out infinite}
body.p8ld-site .p8ld-web-modal h2{font-family:Georgia,serif!important;color:var(--ld-ink)!important;letter-spacing:-.4px}
/* forms inside modals: no overlapping columns */
body.p8ld-site .p8ld-web-modal form{display:grid;gap:12px}
body.p8ld-site .p8ld-register-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 14px!important}
body.p8ld-site .p8ld-register-form > *,body.p8ld-site .p8ld-web-modal form > *{min-width:0}
body.p8ld-site .p8ld-register-form label,body.p8ld-site .p8ld-web-modal label{display:grid;gap:6px;min-width:0;font-size:12.5px;font-weight:800;color:var(--ld-ink-2);letter-spacing:.02em}
body.p8ld-site .p8ld-web-modal input:not([type=checkbox]):not([type=radio]),body.p8ld-site .p8ld-web-modal select{width:100%!important;min-width:0;box-sizing:border-box;min-height:52px;padding:12px 14px;border:1.5px solid var(--ld-line)!important;border-radius:16px!important;background:#fff!important;font-size:16px;color:var(--ld-ink);transition:border-color .2s,box-shadow .2s}
body.p8ld-site .p8ld-web-modal input:focus,body.p8ld-site .p8ld-web-modal select:focus{outline:0;border-color:var(--ld-chili)!important;box-shadow:0 0 0 4px rgba(198,54,31,.14)!important}
body.p8ld-site .p8ld-register-form .p8ld-register-submit,body.p8ld-site .p8ld-register-form .p8ld-form-status,body.p8ld-site .p8ld-register-form .p8ld-guest-order{grid-column:1/-1}
body.p8ld-site .p8ld-guest-order{background:transparent!important;border:1.5px solid var(--ld-line)!important;color:var(--ld-ink-2)!important;border-radius:16px!important;min-height:50px;font-weight:800}
@media(max-width:640px){
  body.p8ld-site .p8ld-modal-layer{align-items:flex-end!important;padding:0!important}
  body.p8ld-site .p8ld-web-modal{width:100%!important;max-width:100%!important;max-height:92vh!important;max-height:92dvh!important;overflow:auto;border-radius:30px 30px 0 0!important;margin:0!important;padding-bottom:calc(22px + env(safe-area-inset-bottom))!important;animation:ld-sheet-up .55s var(--ld-ease) both}
  body.p8ld-site .p8ld-web-modal::before{content:'';display:block;width:44px;height:5px;border-radius:9px;background:#dcc7b3;margin:0 auto 14px}
  body.p8ld-site .p8ld-register-form{grid-template-columns:1fr!important}
}
@keyframes ld-sheet-up{from{transform:translateY(100%)}to{transform:none}}

/* ---------- product / customize sheet (.p8-modal) ---------- */
body.p8-modal-open .p8-modal-backdrop{background:rgba(30,12,8,.55)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body .p8-modal{display:flex!important;flex-direction:column!important;width:min(540px,calc(100vw - 24px))!important;max-height:min(88vh,780px)!important;border-radius:30px!important;overflow:hidden!important;
  background:linear-gradient(180deg,#fffdf9,var(--ld-cream))!important;border:1px solid rgba(255,255,255,.7)!important;box-shadow:0 40px 90px rgba(30,12,8,.5)!important;animation:ld-modal-in .5s var(--ld-spring) both}
body .p8-modal-header{padding:20px 22px 12px!important;border:0!important;background:linear-gradient(180deg,#fff3e4,transparent)!important;position:relative}
body .p8-modal-kicker{color:#a0481f!important;font-weight:850!important;font-size:11px!important;letter-spacing:.14em!important}
body .p8-modal-title-row{display:flex!important;align-items:baseline!important;gap:10px!important;flex-wrap:wrap}
body .p8-modal-title-row h2,body .p8-modal-title-row h3,body .p8-modal-title-row > *:first-child{font:700 28px/1.1 Georgia,serif!important;color:var(--ld-ink)!important;margin:0!important}
body .p8-modal-price{display:inline-flex!important;padding:4px 10px!important;border-radius:99px!important;background:linear-gradient(135deg,var(--ld-chili),var(--ld-chili-2))!important;color:#fff!important;font-weight:850!important;font-size:14px!important}
body .p8-modal-description{margin:6px 0 0!important;color:var(--ld-ink-2)!important;font-size:14px!important}
body .p8-modal-image{max-height:150px;object-fit:cover;border-radius:20px;margin:0 0 10px!important;width:100%}
body .p8-addon-form{display:flex!important;flex-direction:column!important;min-height:0!important;flex:1 1 auto!important}
body .p8-addon-groups{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:2px 18px 10px!important;-webkit-overflow-scrolling:touch}
body .p8-addon-group{margin:0!important;padding:12px 0 14px!important;border:0!important;border-top:1px solid var(--ld-line)!important;background:transparent!important}
body .p8-addon-group:first-child{border-top:0!important}
body .p8-addon-group > :first-child{margin:0 0 8px!important}
body .p8-addon-group legend,body .p8-addon-group h3,body .p8-addon-group h4,body .p8-addon-group strong{font:800 15.5px/1.25 system-ui,sans-serif!important;color:var(--ld-ink)!important}
body .p8-optional{font-size:10.5px!important;font-weight:850!important;letter-spacing:.08em;padding:3px 8px!important;border-radius:99px!important;background:var(--ld-sand)!important;color:var(--ld-ink-2)!important}
body .p8-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0!important}
body .p8-option{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-height:44px!important;height:auto!important;padding:9px 12px!important;margin:0!important;border:1.5px solid var(--ld-line)!important;border-radius:14px!important;background:#fff!important;font-size:14px!important;font-weight:700!important;line-height:1.2!important;color:var(--ld-ink)!important;cursor:pointer;transition:border-color .2s,background .2s,transform .2s var(--ld-spring),box-shadow .2s}
body .p8-option:active{transform:scale(.97)}
body .p8-option:has(input:checked){border-color:var(--ld-chili)!important;background:linear-gradient(135deg,#fff3ec,#ffe6d8)!important;box-shadow:0 6px 16px rgba(198,54,31,.18)}
body .p8-option small,body .p8-option .p8-option-price{display:block;margin-top:2px;color:var(--ld-chili)!important;font-weight:800;font-size:12.5px}
body .p8-option input[type=radio],body .p8-option input[type=checkbox]{flex:none;accent-color:var(--ld-chili);width:18px;height:18px;margin:0}
body .p8-textarea{min-height:64px!important;border:1.5px solid var(--ld-line)!important;border-radius:14px!important;background:#fff!important;padding:10px 12px!important}
body .p8-addon-help{font-size:12.5px!important;color:var(--ld-muted)!important}
body .p8-group-error{border-radius:12px!important}
body .p8-modal-footer{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:10px!important;padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;border-top:1px solid var(--ld-line)!important;background:rgba(255,251,246,.96)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
body .p8-quantity-wrap label{font-size:10.5px!important;letter-spacing:.1em;font-weight:850;color:var(--ld-muted)}
body .p8-quantity{border-radius:14px!important;border:1.5px solid var(--ld-line)!important;background:#fff!important}
body .p8-modal-cancel{border-radius:14px!important;min-height:50px!important;background:transparent!important;border:1.5px solid var(--ld-line)!important;color:var(--ld-ink-2)!important;font-weight:800!important}
body .p8-modal-submit{min-height:50px!important;padding:0 20px!important;border:0!important;border-radius:14px!important;background:linear-gradient(135deg,var(--ld-chili),var(--ld-chili-2))!important;color:#fff!important;font-weight:850!important;box-shadow:0 12px 26px rgba(198,54,31,.35)!important;transition:transform .2s var(--ld-spring)!important}
body .p8-modal-submit:active{transform:scale(.96)}
@media(max-width:640px){
  body .p8-modal{left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;max-width:100%!important;transform:none!important;max-height:90vh!important;max-height:90dvh!important;border-radius:30px 30px 0 0!important;margin:0!important;animation:ld-sheet-up .55s var(--ld-ease) both}
  body .p8-modal-header::before{content:'';display:block;width:44px;height:5px;border-radius:9px;background:#dcc7b3;margin:-8px auto 12px}
  body .p8-modal-footer{grid-template-columns:auto 1fr!important}
  body .p8-modal-cancel{display:none!important}
  body .p8-modal-submit{width:100%}
}

/* ---------- checkout bar ---------- */
.ld-cta{position:fixed;z-index:99989;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%,140%);width:min(calc(100% - 24px),500px);
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px;border-radius:22px;color:#fff;
  background:linear-gradient(150deg,rgba(42,18,11,.97),rgba(74,31,21,.97));box-shadow:0 18px 40px rgba(30,12,8,.45);border:1px solid rgba(255,255,255,.1);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .6s var(--ld-spring),opacity .3s;opacity:0;pointer-events:none}
.ld-cta.on{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.ld-cta .tx{display:grid;gap:1px;min-width:0}.ld-cta .tx b{font-size:15px}.ld-cta .tx span{font-size:12.5px;color:#e6c9b4}
.ld-cta a{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:15px;background:linear-gradient(135deg,var(--ld-gold-2),var(--ld-gold));color:#3a1710!important;font-weight:900;text-decoration:none!important;box-shadow:0 8px 20px rgba(241,185,74,.4);animation:ld-nudge 2.6s ease-in-out infinite}
@keyframes ld-nudge{0%,88%,100%{transform:translateX(0)}92%{transform:translateX(4px)}96%{transform:translateX(0)}}
.ld-cta .ct{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:rgba(255,255,255,.1);font-size:18px;margin-right:10px}
.ld-cta .row{display:flex;align-items:center;min-width:0}
@media(min-width:1100px){.ld-cta{bottom:24px;left:auto;right:24px;transform:translate(0,140%);width:420px}.ld-cta.on{transform:none}}

/* ---------- rewards journey (checkpoints) ---------- */
.ld-journey{position:relative;margin:0 0 22px;padding:22px 20px 20px;border-radius:30px;color:#fff;overflow:hidden;
  background:radial-gradient(520px 260px at 95% -10%,rgba(241,185,74,.38),transparent 60%),linear-gradient(145deg,#3a150e,#6e2616 65%,#9a3a1c);box-shadow:0 26px 60px rgba(74,31,21,.35)}
.ld-journey::before{content:'';position:absolute;inset:-60%;background:conic-gradient(from 0deg,transparent 0 72%,rgba(255,217,138,.13) 82%,transparent 92%);animation:ld-spin 18s linear infinite;pointer-events:none}
.ld-journey > *{position:relative}
.ld-journey .eyebrow{margin:0 0 6px;color:var(--ld-gold-2);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.ld-journey h2{margin:0;font:700 clamp(26px,4vw,36px)/1.1 Georgia,serif;color:#fff}
.ld-journey h2 b{color:var(--ld-gold-2)}
.ld-journey .sub{display:block;margin-top:6px;color:#f1d6c2;font-size:14.5px}
.ld-track{position:relative;height:74px;margin:22px 10px 8px}
.ld-track::before{content:'';position:absolute;left:0;right:0;top:20px;height:10px;border-radius:99px;background:rgba(255,255,255,.14)}
.ld-fill{position:absolute;left:0;top:20px;height:10px;width:var(--p,0%);border-radius:99px;background:linear-gradient(90deg,var(--ld-chili-2),var(--ld-gold-2));box-shadow:0 0 22px rgba(241,185,74,.65);transition:width 1.4s var(--ld-ease)}
.ld-you{position:absolute;top:10px;left:var(--p,0%);width:30px;height:30px;margin-left:-15px;border-radius:50%;display:grid;place-items:center;font-size:15px;background:#fff;color:#a0481f;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:left 1.4s var(--ld-ease);z-index:2}
.ld-cp{position:absolute;top:12px;left:var(--at);transform:translateX(-50%);display:grid;justify-items:center;gap:6px;z-index:1}
.ld-cp i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-style:normal;font-size:12px;font-weight:900;background:#4a1f15;border:2px solid rgba(255,255,255,.35);color:#f1d6c2}
.ld-cp span{font-size:11.5px;font-weight:850;color:#f1d6c2;white-space:nowrap;margin-top:18px}
.ld-cp.reached i{background:linear-gradient(135deg,var(--ld-gold-2),var(--ld-gold));border-color:#fff;color:#4a1f15;box-shadow:0 0 0 5px rgba(241,185,74,.25)}
.ld-cp.next i{border-color:var(--ld-gold-2);color:#fff;animation:ld-pulse2 1.8s infinite}
@keyframes ld-pulse2{0%{box-shadow:0 0 0 0 rgba(255,217,138,.55)}100%{box-shadow:0 0 0 12px rgba(255,217,138,0)}}
.ld-cps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:10px}
.ld-cpcard{padding:16px;border-radius:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .3s var(--ld-spring)}
.ld-cpcard:hover{transform:translateY(-3px)}
.ld-cpcard.reached{background:rgba(255,255,255,.96);color:var(--ld-ink);border-color:#fff;box-shadow:0 16px 36px rgba(0,0,0,.28)}
.ld-cpcard .hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}
.ld-cpcard .hd b{font:700 22px Georgia,serif}.ld-cpcard .hd span{font-size:12px;font-weight:850;letter-spacing:.04em;color:#f1d6c2}
.ld-cpcard.reached .hd span{color:#a0481f}
.ld-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:8px;padding:11px 14px;border-radius:15px;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:inherit;font:800 14.5px system-ui;text-align:left;cursor:default}
.ld-cpcard.reached .ld-opt{border-color:var(--ld-line);background:#fff;color:var(--ld-ink);cursor:pointer;transition:transform .2s var(--ld-spring),border-color .2s,box-shadow .2s}
.ld-cpcard.reached .ld-opt:hover{border-color:var(--ld-chili);box-shadow:0 8px 20px rgba(198,54,31,.18);transform:translateY(-1px)}
.ld-cpcard.reached .ld-opt:active{transform:scale(.97)}
.ld-opt em{font-style:normal;font-size:12px;font-weight:900;padding:4px 10px;border-radius:99px;background:linear-gradient(135deg,var(--ld-chili),var(--ld-chili-2));color:#fff;white-space:nowrap}
.ld-cpcard:not(.reached) .ld-opt em{background:rgba(255,255,255,.14);color:#f1d6c2}
.ld-cpcard .more{margin:8px 0 0;font-size:12px;color:#f1d6c2}.ld-cpcard.reached .more{color:var(--ld-muted)}

/* ---------- notification sheet: alerts CTA ---------- */
.ld-pushcta{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;margin:4px 14px 6px;padding:12px 14px;border-radius:20px;background:linear-gradient(135deg,#3a150e,#6e2616);color:#fff}
.ld-pushcta .ic{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:rgba(255,255,255,.12);font-size:22px}
.ld-pushcta b{display:block;font-size:14.5px}.ld-pushcta span.tx{display:block;font-size:12.5px;color:#f1d6c2;line-height:1.3}
.ld-pushcta button{border:0;border-radius:13px;padding:10px 14px;font:850 13.5px system-ui;background:linear-gradient(135deg,var(--ld-gold-2),var(--ld-gold));color:#3a1710;cursor:pointer}
.ld-pushcta.on{background:linear-gradient(135deg,#1f4d2b,#2f6b3a)}

/* ---------- /food-menu/ page header ---------- */
.ld-page-head{margin:6px 4px 4px}
.ld-page-head p{margin:0 0 8px;color:#a0481f;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.ld-page-head h1{margin:0 0 8px;font:700 clamp(38px,6vw,60px)/1.02 Georgia,serif;color:var(--ld-ink);letter-spacing:-1px}
.ld-page-head span{display:block;max-width:620px;color:var(--ld-ink-2);font-size:16px;line-height:1.5}
body.ld-menu-page .entry-content{padding-top:0}
body.p8ld-site .ld-page-head h1{font:700 clamp(38px,6vw,60px)/1.02 Georgia,serif!important;margin:0 0 8px!important;color:var(--ld-ink)!important;letter-spacing:-1px!important}
body.p8ld-site .ld-page-head p{margin:0 0 8px!important;color:#a0481f!important;font-size:12px!important;font-weight:900!important;letter-spacing:.14em!important;text-transform:uppercase!important}
body.p8ld-site .ld-page-head span{display:block!important;max-width:620px;color:var(--ld-ink-2)!important;font-size:16px!important;line-height:1.5!important}
body.p8ld-site .ld-menu-shell{padding-bottom:0!important;margin-bottom:0!important}
body .p8-option{flex-direction:row!important;flex-wrap:nowrap!important;align-content:center!important;min-height:44px!important;height:auto!important}
body .p8-option > span{flex:1 1 auto;min-width:0;line-height:1.2!important}
body .p8-addon-group{padding:10px 0 12px!important}
body .p8-modal .p8-options{grid-auto-rows:auto!important;grid-template-rows:none!important;align-items:stretch!important;min-height:0!important}
body .p8-modal .p8-option{min-height:46px!important;height:auto!important;max-height:none!important;padding:8px 12px!important}
body .p8-modal .p8-option{box-sizing:border-box!important;min-height:44px!important;padding:6px 38px 6px 12px!important}
body .p8-modal .p8-option i{right:12px}
body .p8-modal .p8-textarea{width:100%!important;box-sizing:border-box!important;max-width:100%!important}
body .p8-modal .p8-addon-group{border-top:1px solid var(--ld-line)!important}
body .p8-modal .p8-addon-group:first-child{border-top:0!important}
body.p8ld-site .p8ld-web-modal label{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:4px 6px!important}
body.p8ld-site .p8ld-web-modal label > input,body.p8ld-site .p8ld-web-modal label > select{flex:1 0 100%}
body.p8ld-site .p8ld-web-modal label small,body.p8ld-site .p8ld-web-modal label em,body.p8ld-site .p8ld-web-modal label span{font-weight:600;color:var(--ld-muted)}

/* ---------- fixes after sign-in review ---------- */
body.p8ld-site .ld-topbar{max-width:none!important;width:100%!important}
body.p8ld-site .p8ld-rewards-access-shell,body.p8ld-site .p8ld-member-page > .p8ld-rewards-access-shell{max-width:none!important;width:100%!important}
body.p8ld-site .p8ld-rewards-summary{max-width:none!important;width:100%!important;border:0!important;color:#fff!important;
  background:radial-gradient(420px 200px at 100% -20%,rgba(241,185,74,.3),transparent 60%),linear-gradient(145deg,#2a120b,#5a2216)!important;box-shadow:0 18px 44px rgba(74,31,21,.3)!important}
body.p8ld-site .p8ld-rewards-summary *{color:inherit}
body.p8ld-site .p8ld-rewards-summary a,body.p8ld-site .p8ld-rewards-summary button{color:var(--ld-gold-2)!important}
body.p8ld-site .p8ld-rewards-summary .p8ld-progress{background:rgba(255,255,255,.16)!important}
