/* LieferCH – Warenkorb / Bestellformular. Nutzt die Variablen aus /css/styles.css mit Fallbacks. */
.lc-ctl{display:flex;align-items:center;gap:.4rem}
.lc-add{font:inherit;font-weight:700;font-size:.85rem;border:0;border-radius:999px;padding:.45rem .85rem;background:var(--brand,#0b6e4f);color:#fff;cursor:pointer;white-space:nowrap;min-height:36px}
.lc-add:hover{background:var(--brand-dark,#08553c)}
.lc-mini{display:none;align-items:center;gap:.15rem;background:var(--brand-soft,#e7f5ef);border-radius:999px;padding:.15rem}
.lc-mini button{width:32px;height:32px;border-radius:50%;border:0;background:#fff;color:var(--brand,#0b6e4f);font-size:1.1rem;font-weight:800;cursor:pointer;line-height:1}
.lc-mini .lc-q{min-width:1.6rem;text-align:center;font-weight:800;color:var(--brand-dark,#08553c)}
.lc-ctl.lc-in .lc-add{display:none}.lc-ctl.lc-in .lc-mini{display:inline-flex}
.lc-phoneonly{font-size:.75rem;color:var(--muted,#64748b)}
.lc-cartbar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:9990;display:flex;align-items:center;gap:.7rem;max-width:560px;margin:0 auto;border:0;border-radius:16px;padding:.9rem 1.1rem;background:var(--coral,#ff4d6d);color:#fff;font:inherit;font-weight:700;font-size:1rem;box-shadow:0 14px 36px rgba(15,23,42,.25);cursor:pointer}
.lc-cartbar span:nth-child(2){flex:1;text-align:left}
.lc-cartbar[hidden]{display:none}
.lc-badge{background:#fff;color:var(--coral-dark,#e8365a);border-radius:999px;min-width:1.7rem;height:1.7rem;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem}
body.lc-has-cart .lp-mobilecall{display:none!important}
body.lc-has-cart{padding-bottom:84px}
html.lc-lock{overflow:hidden}
.lc-drawer{position:fixed;inset:0;z-index:10050}
.lc-drawer[hidden]{display:none}
.lc-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.lc-panel{position:absolute;right:0;top:0;bottom:0;width:min(440px,100%);background:#fff;display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.2)}
@media (max-width:600px){.lc-panel{top:auto;max-height:92vh;width:100%;border-radius:20px 20px 0 0}}
.lc-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border-bottom:1px solid var(--line,#e8ecef)}
.lc-head h2{font-size:1.15rem;margin:0}
.lc-x{border:0;background:var(--bg,#f6f7f9);width:38px;height:38px;border-radius:50%;font-size:1.4rem;cursor:pointer}
.lc-body{overflow:auto;padding:1rem 1.1rem calc(1.2rem + env(safe-area-inset-bottom,0px))}
.lc-empty{text-align:center;color:var(--muted,#64748b);padding:2rem 0}
.lc-lines{list-style:none;margin:0;padding:0}
.lc-lines li{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;padding:.7rem 0;border-bottom:1px solid var(--line,#e8ecef)}
.lc-ln b{display:block;font-size:.95rem}.lc-ln span{font-size:.8rem;color:var(--muted,#64748b)}
.lc-step{display:inline-flex;align-items:center;gap:.2rem;background:var(--bg,#f6f7f9);border-radius:999px;padding:.15rem;align-self:center}
.lc-step button{width:34px;height:34px;border:0;border-radius:50%;background:#fff;font-size:1.15rem;font-weight:800;color:var(--brand,#0b6e4f);cursor:pointer}
.lc-step span{min-width:1.5rem;text-align:center;font-weight:800}
.lc-lt{grid-column:2;text-align:right;font-weight:700;font-size:.9rem}
.lc-total,.lc-sum{display:flex;justify-content:space-between;align-items:center;padding:.9rem 0 .3rem;font-size:1.1rem}
.lc-hint{font-size:.82rem;color:var(--muted,#64748b);margin:.35rem 0}
.lc-pay{font-size:.85rem;background:var(--brand-soft,#e7f5ef);color:var(--brand-dark,#08553c);border-radius:10px;padding:.55rem .7rem;margin:.6rem 0}
.lc-primary{display:block;width:100%;border:0;border-radius:14px;padding:.95rem 1rem;background:var(--brand,#0b6e4f);color:#fff;font:inherit;font-weight:800;font-size:1rem;cursor:pointer;margin-top:.6rem}
.lc-primary:disabled{opacity:.5;cursor:not-allowed}
.lc-link{display:block;margin:.6rem auto 0;border:0;background:none;color:var(--muted,#64748b);font:inherit;cursor:pointer}
.lc-form{display:flex;flex-direction:column;gap:.55rem}
.lc-seg{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;background:var(--bg,#f6f7f9);padding:.3rem;border-radius:14px}
.lc-seg input{position:absolute;opacity:0;pointer-events:none}
.lc-seg span{display:block;text-align:center;padding:.65rem;border-radius:11px;font-weight:700;cursor:pointer}
.lc-seg input:checked+span{background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.1);color:var(--brand-dark,#08553c)}
.lc-seg input:focus-visible+span{outline:2px solid var(--brand,#0b6e4f)}
.lc-f{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600}
.lc-f input,.lc-f select,.lc-f textarea{font:inherit;font-size:16px;font-weight:400;border:1.5px solid var(--line,#d5dbe0);border-radius:11px;padding:.65rem .75rem;background:#fff;color:inherit;width:100%;box-sizing:border-box}
.lc-f input:focus,.lc-f select:focus,.lc-f textarea:focus{outline:none;border-color:var(--brand,#0b6e4f)}
.lc-bad{border-color:#dc2626!important;background:#fef2f2!important}
.lc-check{display:flex;gap:.55rem;align-items:flex-start;font-size:.82rem}
.lc-check input{width:20px;height:20px;flex:none;margin-top:.1rem}
.lc-err,.lc-min{color:#b91c1c;font-size:.85rem;background:#fef2f2;border-radius:10px;padding:.5rem .7rem;margin:0}
.lc-err[hidden],.lc-min[hidden]{display:none}
.lc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.lc-done{text-align:center}
.lc-ok{width:64px;height:64px;margin:.5rem auto;border-radius:50%;background:var(--ok,#059669);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center}
.lc-no-l{margin:.8rem 0 0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#64748b)}
.lc-no{font-size:2.2rem;font-weight:800;letter-spacing:.04em;margin:.1rem 0 .6rem}
.lc-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:.75rem;text-align:left;font-size:.9rem;margin:.8rem 0}
/* keep site overlays (chat bubble, PWA install bar) out of the cart's way */
body.lc-has-cart .lc-chat{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
body.lc-has-cart #lieferch-install,html.lc-lock #lieferch-install{display:none!important}
/* ---- Artikel-Optionen (Bottom-Sheet mobil / Dialog Desktop) ---- */
.lc-incart{font-size:.72rem;font-weight:800;color:var(--brand-dark,#3d0f9e);background:var(--brand-soft,#f1eaff);border-radius:999px;padding:.2rem .5rem;white-space:nowrap}
.lc-incart[hidden]{display:none}
.lc-ctl{flex-wrap:wrap;justify-content:flex-end}
.lc-om{position:fixed;inset:0;z-index:10080}
.lc-om[hidden]{display:none}
.lc-om-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 32px));max-height:min(88vh,860px);background:#fff;border-radius:22px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(20,8,60,.35)}
@media (max-width:600px){.lc-om-panel{left:0;right:0;top:auto;bottom:0;transform:none;width:100%;max-height:94vh;border-radius:22px 22px 0 0;animation:lc-up .22s ease-out}}
@keyframes lc-up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.lc-om-panel{animation:none}}
.lc-om-x{position:absolute;top:10px;right:10px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.95);box-shadow:0 2px 10px rgba(0,0,0,.18);font-size:1.5rem;line-height:1;cursor:pointer;color:#1a1a1a}
.lc-om-scroll{overflow:auto;overscroll-behavior:contain;flex:1}
.lc-om-img{position:relative;margin:0;background:var(--brand-soft,#f1eaff)}
.lc-om-img img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.lc-om-img figcaption{position:absolute;left:10px;bottom:10px;font-size:.7rem;font-weight:700;background:rgba(0,0,0,.6);color:#fff;border-radius:6px;padding:.15rem .45rem}
.lc-om-head{padding:1rem 1.1rem .4rem}
.lc-om-rest{display:flex;align-items:center;gap:.45rem;margin:0 2.4rem .35rem 0;font-size:.82rem;font-weight:700;color:var(--muted,#6b6480)}.lc-om-rest img{flex:none;width:24px;height:24px;border-radius:50%;background:#1a1f25;object-fit:contain}
.lc-om-head h2{margin:0 2.4rem .25rem 0;font-size:1.35rem;line-height:1.2}
.lc-om-desc{margin:0 0 .35rem;color:var(--muted,#64748b);font-size:.9rem}
.lc-om-base{margin:0;font-weight:800;color:var(--brand-dark,#3d0f9e)}
.lc-om-allerg{margin:.45rem 0 0;font-size:.78rem;color:var(--muted,#64748b)}
.lc-last{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;margin:.7rem 0 .1rem;border:1.5px dashed var(--brand,#5b21d6);background:var(--brand-soft,#f1eaff);color:var(--brand-dark,#3d0f9e);border-radius:12px;padding:.55rem .75rem;font:inherit;font-weight:800;text-align:left;cursor:pointer}
.lc-last small{font-weight:500;font-size:.78rem;color:#4b3a7a}
.lc-last.lc-last-on{border-style:solid;background:var(--sun,#ffd60a);color:#1a1a1a}
.lc-og{border:0;margin:0;min-width:0;padding:1.1rem 1.1rem .5rem;box-shadow:inset 0 8px 0 var(--bg,#f6f7f9)}
.lc-og legend{float:left;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:0;margin:0 0 .35rem;width:100%}
.lc-og legend+*{clear:both}
.lc-gt{font-weight:800;font-size:1.02rem;margin-right:auto}
.lc-badge-req{background:var(--sun,#ffd60a);color:#1a1a1a;font-size:.7rem;font-weight:900;border-radius:999px;padding:.15rem .55rem;text-transform:uppercase;letter-spacing:.04em}
.lc-badge-opt{background:var(--bg,#f1f2f6);color:#475569;font-size:.7rem;font-weight:800;border-radius:999px;padding:.15rem .55rem;text-transform:uppercase;letter-spacing:.04em}
.lc-gsub{flex-basis:100%;font-size:.78rem;color:var(--muted,#64748b)}
.lc-og-err{background:#fff1f2;box-shadow:inset 0 8px 0 var(--bg,#f6f7f9),inset 4px 0 0 #dc2626}
.lc-og-err .lc-badge-req{background:#dc2626;color:#fff}
.lc-gerr{margin:.1rem 0 .35rem;color:#b91c1c;font-weight:700;font-size:.85rem}
.lc-gerr[hidden]{display:none}
.lc-opt{display:flex;align-items:center;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--line,#eef0f3);cursor:pointer;min-height:44px}
.lc-opt:last-child{border-bottom:0}
.lc-opt input{width:22px;height:22px;flex:none;accent-color:var(--brand,#5b21d6);margin:0}
.lc-opt-n{flex:1}
.lc-opt-p{font-size:.85rem;font-weight:700;color:var(--brand-dark,#3d0f9e)}
.lc-opt.lc-on .lc-opt-n{font-weight:700}
.lc-opt:has(input:disabled){opacity:.45;cursor:not-allowed}
.lc-om-note{display:flex;flex-direction:column;gap:.3rem;padding:1.2rem 1.1rem 1.1rem;box-shadow:inset 0 8px 0 var(--bg,#f6f7f9);font-weight:800}
.lc-om-note small{font-weight:500;color:var(--muted,#64748b)}
.lc-om-note textarea{font:inherit;font-size:16px;font-weight:400;border:1.5px solid var(--line,#d5dbe0);border-radius:11px;padding:.6rem .75rem;resize:vertical}
.lc-om-note textarea:focus{outline:none;border-color:var(--brand,#5b21d6)}
.lc-cnt{align-self:flex-end}
.lc-om-foot{display:flex;gap:.6rem;align-items:center;padding:.75rem 1.1rem calc(.75rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line,#e8ecef);background:#fff}
.lc-om-foot .lc-primary{margin:0;flex:1;display:flex;justify-content:space-between;align-items:center;gap:.6rem;white-space:nowrap}
.lc-om-q button:disabled{opacity:.4}
.lc-om :focus-visible{outline:3px solid var(--brand,#5b21d6);outline-offset:2px}
/* Warenkorb-Zeilen mit Optionen */
.lc-opts{display:flex;flex-wrap:wrap;gap:.25rem;margin:.3rem 0 .1rem}
.lc-o{font-size:.74rem;border-radius:6px;padding:.08rem .4rem;background:var(--bg,#f1f2f6);color:#334155}
.lc-oc{background:var(--brand-soft,#f1eaff);color:var(--brand-dark,#3d0f9e);font-weight:700}
.lc-op{background:#fffbe0;color:#6b5600;font-weight:700}
.lc-ox{background:#fef2f2;color:#b91c1c;font-weight:700}
.lc-om .lc-step{background:var(--brand-soft,#f1eaff)}
.lc-lnote{font-size:.78rem;font-style:italic;color:#475569;margin-top:.15rem}
.lc-edit{border:0;background:none;padding:.2rem 0;margin-top:.15rem;color:var(--brand,#5b21d6);font:inherit;font-size:.8rem;font-weight:800;text-decoration:underline;cursor:pointer}
.lc-lmiss{background:#fff1f2}
.lc-lines .lc-err{margin-top:.3rem;font-size:.78rem;padding:.3rem .5rem}
.lc-toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:10090;background:#1a1036;color:#fff;font-weight:700;font-size:.9rem;border-radius:999px;padding:.6rem 1rem;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.lc-toast[hidden]{display:none}
/* Tisch-Modus */
.lc-tablepill{position:sticky;top:0;z-index:9995;text-align:center;background:var(--sun,#ffd60a);color:#1a1a1a;font-size:.9rem;padding:.5rem .8rem;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.lc-tablebadge{margin:0 0 .5rem;background:var(--sun,#ffd60a);border-radius:10px;padding:.45rem .7rem;font-size:.9rem}
.lc-tablehead{display:flex;align-items:center;gap:.8rem;background:var(--brand,#5b21d6);color:#fff;border-radius:16px;padding:.8rem 1rem}
.lc-tablehead div{display:flex;flex-direction:column}
.lc-tablehead b{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;opacity:.9}
.lc-tablehead div span{font-size:1.6rem;font-weight:900;color:var(--sun,#ffd60a);line-height:1.1}
.lc-tableico{font-size:1.8rem}
.lc-og>:not(legend){clear:both}
.lc-om-foot .lc-primary{min-width:0;padding:.9rem .85rem;font-size:.95rem}
.lc-om-q button{width:32px;height:32px}
.lc-om-q span{min-width:1.3rem}
.lc-lock .lc-cartbar{visibility:hidden}
.lc-tablepill{position:relative;top:auto}
.lc-ogna{margin:.35rem 0 .2rem;font-size:.85rem;color:#6b6880;font-style:italic}

/* Restaurant logo badge on Symbolbild photos (only with html.lc-logo-badge, set from partners.json) */
/* v26c: also on the category header photos (.lp-secimg); not on the real menu-board photo (.lp-boardimg) */
.lc-logo-badge .lp-thumb::before,.lc-logo-badge .lc-om-img::before,.lc-logo-badge .lp-secimg:not(.lp-boardimg)::before{content:"";position:absolute;z-index:1;top:5px;left:5px;width:22px;height:22px;border-radius:50%;background:#fff var(--lc-badge-logo) center/cover no-repeat;box-shadow:0 0 0 2px #fff,0 1px 4px rgba(0,0,0,.35);pointer-events:none}
.lc-logo-badge .lc-om-img::before{top:12px;left:12px;width:40px;height:40px;background-image:var(--lc-badge-logo-lg,var(--lc-badge-logo))}
.lc-logo-badge .lp-secimg:not(.lp-boardimg)::before{top:10px;left:10px;width:48px;height:48px;background-image:var(--lc-badge-logo-lg,var(--lc-badge-logo));box-shadow:0 0 0 2.5px #fff,0 2px 8px rgba(0,0,0,.4)}
@media (max-width:600px){.lc-logo-badge .lp-thumb::before{top:4px;left:4px;width:18px;height:18px}.lc-logo-badge .lc-om-img::before{width:34px;height:34px}.lc-logo-badge .lp-secimg:not(.lp-boardimg)::before{top:8px;left:8px;width:40px;height:40px}}
@media print{.lc-logo-badge .lp-thumb::before,.lc-logo-badge .lc-om-img::before,.lc-logo-badge .lp-secimg::before{display:none}}

/* Zahlung (Tisch-Modus): Auswahl + «Jetzt bezahlen» mit dem eigenen Zahlungslink des Restaurants */
.lc-payopts{border:0;margin:.6rem 0;padding:0}
.lc-payopts legend{font-weight:800;font-size:.95rem;margin-bottom:.4rem;padding:0}
.lc-payopt{display:flex;gap:.6rem;align-items:flex-start;border:2px solid #e5e7eb;border-radius:12px;padding:.65rem .75rem;margin-bottom:.45rem;cursor:pointer;background:#fff}
.lc-payopt input{margin-top:.2rem;accent-color:var(--brand,#0b6e4f);width:1.1rem;height:1.1rem;flex:none}
.lc-payopt span{display:flex;flex-direction:column;gap:.1rem;font-size:.95rem}.lc-payopt small{color:#6b7280;font-size:.8rem}
.lc-payopt:has(input:checked){border-color:var(--brand,#0b6e4f);background:var(--brand-soft,#e7f5ef)}
.lc-payopt:has(input:focus-visible){outline:3px solid #f59e0b;outline-offset:2px}
.lc-paynow{border:2px solid var(--brand,#0b6e4f);border-radius:14px;padding:.9rem;margin:.9rem 0;text-align:left;background:#fff}
.lc-paynow p{margin:.25rem 0}.lc-paynow-t{font-weight:900;font-size:1.1rem;color:var(--brand-dark,#08553c)}
.lc-ref{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;letter-spacing:.03em}
.lc-copy{border:1px solid #d1d5db;background:#f9fafb;border-radius:8px;padding:.3rem .6rem;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;letter-spacing:0}
.lc-paybtn{text-align:center;text-decoration:none;box-sizing:border-box}
.lc-paynote{font-size:.85rem;background:#f9fafb;border-radius:8px;padding:.4rem .55rem}
.lc-small{font-size:.78rem;color:#6b7280}
