/* Deckena Festtagsbestellung · Kundenseite · 0.16
   Grundlage: Apple Human Interface Guidelines – Inhalt zuerst, klare Typo-Hierarchie (iOS-Textstile),
   Tippflächen ≥ 44 pt, Sheets für fokussierte Aufgaben, gruppierte Listen für Formulare,
   ein klar erkennbarer Hauptbutton pro Schritt, ruhige Farben mit einer Akzentfarbe, reduzierte Bewegung. */
.dk-app{
 --dk-tint:#23485f;--dk-tint-hover:#183748;--dk-tint-soft:#e7eff4;--dk-tint-soft-hover:#d9e6ee;
 --dk-label:#1d1d1f;--dk-secondary:#5d6974;--dk-tertiary:#6f7880;
 --dk-separator:rgba(60,60,67,.16);--dk-fill:#f2f3f5;--dk-fill-strong:#e6e8eb;--dk-card:#fff;
 --dk-success:#1d7a46;--dk-success-soft:#e6f4ec;--dk-danger:#b3261e;--dk-danger-soft:#fdecea;--dk-warn-soft:#fbf3df;
 --dk-radius:14px;--dk-radius-sm:10px;--dk-shadow:0 1px 2px rgba(0,0,0,.04),0 4px 16px rgba(20,40,60,.06);
 --dk-sticky-top:0px;
 font-family:var(--dk-font,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,Roboto,"Helvetica Neue",Arial,sans-serif);
 -webkit-font-smoothing:antialiased;color:var(--dk-label);font-size:17px;line-height:1.47;letter-spacing:-.01em;
 max-width:1120px;margin:0 auto;padding:16px 16px calc(112px + env(safe-area-inset-bottom));box-sizing:border-box}
body.admin-bar .dk-app{--dk-sticky-top:32px}
@media(max-width:782px){body.admin-bar .dk-app{--dk-sticky-top:46px}}
.dk-app *,.dk-app *::before,.dk-app *::after{box-sizing:border-box}
.dk-app [hidden]{display:none!important}
.dk-app h1,.dk-app h2,.dk-app h3,.dk-app h4{font-family:inherit;color:var(--dk-label);margin:0;letter-spacing:-.022em;text-transform:none}
.dk-app p{margin:0}
.dk-app svg{width:20px;height:20px;flex:none;display:block}
.dk-app button{font:inherit;letter-spacing:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.dk-app button:disabled{cursor:default}
.dk-app :focus{outline:none}
.dk-app :focus-visible{outline:3px solid #3b82c4;outline-offset:2px;border-radius:var(--dk-radius-sm)}
.dk-app a{color:var(--dk-tint);text-underline-offset:2px}
.dk-sr,.dk-honey{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:-1px!important}
.dk-eyebrow{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px;font-weight:600;letter-spacing:.02em;color:var(--dk-secondary);text-transform:none}
.dk-eyebrow svg{width:16px;height:16px;color:var(--dk-success)}
.dk-muted{color:var(--dk-secondary);font-size:15px;line-height:20px;font-weight:400}
.dk-center{text-align:center}
/* ---------- Buttons ---------- */
.dk-app .dk-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border:0;border-radius:12px;background:var(--dk-tint);color:#fff;font-size:17px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,transform .1s}
.dk-app .dk-button:hover{background:var(--dk-tint-hover)}
.dk-app .dk-button:active{transform:scale(.98)}
.dk-app .dk-button:disabled{background:var(--dk-fill-strong);color:var(--dk-tertiary);transform:none}
.dk-app .dk-button--secondary{background:var(--dk-tint-soft);color:var(--dk-tint)}
.dk-app .dk-button--secondary:hover{background:var(--dk-tint-soft-hover)}
.dk-app .dk-button--block{width:100%}
.dk-app .dk-button.is-busy{background:var(--dk-tint);color:#fff;opacity:.75}
.dk-app .dk-link{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 4px;border:0;background:none;color:var(--dk-tint);font-size:17px;font-weight:500;text-decoration:none}
.dk-app .dk-link:hover{text-decoration:underline}
.dk-app .dk-link svg{width:18px;height:18px}
/* ---------- Kopfbereich ---------- */
.dk-app .dk-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-height:clamp(220px,28vw,380px);padding:clamp(22px,4vw,48px);border-radius:20px;background-color:#eaf1f5;background-image:linear-gradient(90deg,rgba(234,241,245,.98) 0%,rgba(234,241,245,.93) 38%,rgba(234,241,245,.55) 64%,rgba(234,241,245,.05) 100%),var(--dk-hero-image,none);background-size:cover;background-position:center,right center;background-repeat:no-repeat}
.dk-app .dk-hero h1{font-size:clamp(28px,3.6vw,44px);line-height:1.1;font-weight:700;letter-spacing:-.03em;max-width:720px;text-wrap:balance}
.dk-app .dk-hero>p{font-size:clamp(17px,1.5vw,19px);line-height:1.4;color:#33424d;max-width:560px}
.dk-pills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:6px 0 0;padding:0}
.dk-pills li{background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:6px 12px;font-size:14px;line-height:20px;color:var(--dk-label)}
.dk-app[data-step="2"] .dk-hero,.dk-app[data-step="3"] .dk-hero{display:none}
@media(max-width:640px){.dk-app .dk-hero{min-height:0;padding:22px 20px 20px;border-radius:16px;background-image:linear-gradient(0deg,rgba(234,241,245,.98) 0%,rgba(234,241,245,.94) 45%,rgba(234,241,245,.5) 80%,rgba(234,241,245,.15) 100%),var(--dk-hero-image,none);background-position:center,65% center}
.dk-app .dk-hero:not([style]){padding-top:20px}
.dk-app .dk-hero[style]{min-height:300px}
.dk-app .dk-hero h1{font-size:28px}
.dk-app .dk-hero>p{font-size:16px}
.dk-pills li{font-size:13px;padding:5px 10px}}
/* ---------- Hinweise ---------- */
.dk-notice{margin:16px 0 0;padding:14px 16px;border-radius:var(--dk-radius-sm);background:var(--dk-warn-soft);color:#5b4513;font-size:15px;line-height:21px}
.dk-notice--info{background:var(--dk-fill);color:var(--dk-secondary);margin:16px 0}
.dk-error,.dk-formerror{margin:16px 0;padding:14px 16px;border-radius:var(--dk-radius-sm);background:var(--dk-danger-soft);color:var(--dk-danger);font-size:15px;line-height:21px;font-weight:500}
.dk-formerror{margin:0 0 12px}
/* ---------- Schritte ---------- */
.dk-progress{display:flex;justify-content:center;gap:4px;list-style:none;margin:20px 0 12px;padding:0}
.dk-progress li{flex:1;max-width:220px;display:flex;position:relative}
.dk-progress li+li::before{content:"";position:absolute;left:-2px;top:22px;width:4px;height:1px}
.dk-progress span,.dk-progress button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 6px;border:0;background:none;font-size:15px;font-weight:500;color:var(--dk-tertiary);border-bottom:2px solid var(--dk-fill-strong)}
.dk-progress span>span,.dk-progress button>span{flex:none;border:0;min-height:0;padding:0}
.dk-stepdot{display:inline-grid!important;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--dk-fill-strong);color:var(--dk-secondary);font-size:13px;font-weight:600}
.dk-stepdot svg{width:14px;height:14px}
.dk-progress .is-current>span{color:var(--dk-label);font-weight:600;border-bottom-color:var(--dk-tint)}
.dk-progress .is-current .dk-stepdot{background:var(--dk-tint);color:#fff}
.dk-progress .is-done button{color:var(--dk-tint);border-bottom-color:var(--dk-tint-soft-hover)}
.dk-progress .is-done .dk-stepdot{background:var(--dk-tint-soft);color:var(--dk-tint)}
.dk-progress .is-done button:hover{background:var(--dk-fill);border-radius:8px 8px 0 0}
/* ---------- Schritt 1: Suche, Kategorien, Karte ---------- */
.dk-browsebar{position:sticky;top:var(--dk-sticky-top);z-index:15;display:flex;flex-direction:column;gap:10px;margin:0 -16px;padding:10px 16px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--dk-separator)}
.dk-searchfield{position:relative;display:block;max-width:560px}
.dk-searchfield svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--dk-tertiary);pointer-events:none}
.dk-app .dk-search{width:100%;min-height:40px;margin:0;padding:8px 12px 8px 36px;border:0;border-radius:10px;background:var(--dk-fill);font:inherit;font-size:17px;color:var(--dk-label);-webkit-appearance:none;appearance:none}
.dk-app .dk-search::placeholder{color:var(--dk-tertiary)}
.dk-app .dk-search:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(59,130,196,.35);background:#fff}
.dk-categorynav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px;scroll-padding:0 16px;-webkit-overflow-scrolling:touch}
.dk-categorynav::-webkit-scrollbar{display:none}
.dk-app .dk-catbutton{flex:none;min-height:36px;padding:0 14px;border:0;border-radius:999px;background:var(--dk-fill);color:var(--dk-label);font-size:15px;font-weight:500;white-space:nowrap;position:relative}
.dk-app .dk-catbutton::after{content:"";position:absolute;inset:-4px 0}
.dk-app .dk-catbutton:hover{background:var(--dk-fill-strong)}
.dk-app .dk-catbutton.is-active{background:var(--dk-tint);color:#fff}
.dk-menu{min-width:0;padding-top:8px}
.dk-foodgroup{margin:20px 0 8px}
.dk-app .dk-grouphead{font-size:22px;line-height:28px;font-weight:700;margin:0 0 12px;scroll-margin-top:calc(var(--dk-sticky-top) + 120px)}
.dk-tilegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dk-app .dk-foodrow{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;border-radius:var(--dk-radius);background:var(--dk-card);box-shadow:var(--dk-shadow);border:1px solid rgba(0,0,0,.04);cursor:pointer;transition:box-shadow .15s}
.dk-app .dk-foodrow:hover{box-shadow:0 1px 2px rgba(0,0,0,.05),0 8px 24px rgba(20,40,60,.1)}
.dk-app .dk-foodrow.is-selected{box-shadow:inset 0 0 0 2px var(--dk-tint),var(--dk-shadow)}
.dk-foodinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.dk-app .dk-foodinfo h4{font-size:17px;line-height:22px;font-weight:600;overflow-wrap:anywhere}
.dk-fooddesc{font-size:15px;line-height:20px;color:var(--dk-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dk-foodprice{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;margin-top:4px}
.dk-foodprice strong{font-size:17px;font-weight:600;color:var(--dk-label);font-variant-numeric:tabular-nums}
.dk-foodprice span{font-size:15px;color:var(--dk-secondary)}
.dk-app .dk-orderbutton{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px 0 12px;border:0;border-radius:999px;background:var(--dk-tint-soft);color:var(--dk-tint);font-size:15px;font-weight:600;white-space:nowrap;transition:background-color .15s}
.dk-app .dk-orderbutton:hover{background:var(--dk-tint-soft-hover)}
.dk-app .dk-foodrow.is-selected .dk-orderbutton{background:var(--dk-tint);color:#fff}
.dk-app .dk-productimage{display:block;width:100%;height:150px;object-fit:cover;border-radius:10px;background:var(--dk-fill)}
.dk-empty{padding:28px 20px;border-radius:var(--dk-radius);background:var(--dk-fill);text-align:center;color:var(--dk-secondary)}
.dk-empty strong{display:block;color:var(--dk-label);font-size:17px;margin-bottom:4px}
.dk-recommend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:12px 16px;margin:12px 0;border-radius:var(--dk-radius-sm);background:var(--dk-tint-soft)}
@media(min-width:900px){.dk-browsebar{flex-direction:row;align-items:center;gap:16px;margin:0;padding:12px 0;border-radius:0}
.dk-searchfield{flex:0 0 280px}
.dk-categorynav{flex:1;margin:0;padding:2px 0;scroll-padding:0}}
@media(max-width:899px) and (min-width:641px){.dk-tilegrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* iPhone: Karte als Liste (Inset Grouped), Button rechts */
@media(max-width:640px){.dk-app{padding-left:16px;padding-right:16px;font-size:17px}
.dk-foodgroup{margin-top:24px}
.dk-app .dk-grouphead{font-size:20px;line-height:25px;margin:0 4px 8px}
.dk-tilegrid{display:block;border-radius:var(--dk-radius);background:var(--dk-card);box-shadow:var(--dk-shadow);border:1px solid rgba(0,0,0,.04);overflow:hidden}
.dk-app .dk-foodrow{flex-direction:row;align-items:center;gap:12px;padding:12px 12px 12px 16px;border:0;border-radius:0;box-shadow:none;background:none}
.dk-app .dk-foodrow+.dk-foodrow{border-top:1px solid var(--dk-separator)}
.dk-app .dk-foodrow:hover{box-shadow:none;background:var(--dk-fill)}
.dk-app .dk-foodrow.is-selected{box-shadow:inset 3px 0 0 var(--dk-tint)}
.dk-app .dk-productimage{width:64px;height:64px;flex:0 0 64px;border-radius:8px}
.dk-app .dk-foodinfo h4{font-size:17px;line-height:22px}
.dk-fooddesc{font-size:14px;line-height:19px}
.dk-app .dk-orderbutton{align-self:center;flex:none;min-width:44px;padding:0 12px;justify-content:center}
.dk-app .dk-foodrow:not(.is-selected) .dk-orderbutton{width:44px;padding:0}
.dk-orderlabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
/* ---------- Sheet (Produkt & Extras) ---------- */
.dk-dialog-open{overflow:hidden}
.dk-app .dk-productdialog{display:none;flex-direction:column;width:min(480px,calc(100vw - 32px));max-width:480px;max-height:min(760px,calc(100dvh - 48px));margin:auto;padding:0;border:0;border-radius:18px;background:var(--dk-card);color:var(--dk-label);box-shadow:0 24px 80px rgba(0,0,0,.25);overflow:hidden;font:inherit}
.dk-app .dk-productdialog[open]{display:flex;animation:dk-pop .22s cubic-bezier(.2,.9,.3,1)}
.dk-app .dk-productdialog.is-closing{animation:dk-pop-out .18s ease-in forwards}
.dk-productdialog::backdrop{background:rgba(0,0,0,.32);animation:dk-fade .22s}
@keyframes dk-pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes dk-pop-out{to{opacity:0;transform:scale(.97)}}
@keyframes dk-fade{from{opacity:0}}
.dk-grabber{display:none}
.dk-dialoghead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 0 20px;flex:none}
.dk-app .dk-close{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--dk-fill);color:var(--dk-secondary);position:relative}
.dk-app .dk-close::after{content:"";position:absolute;inset:-6px}
.dk-app .dk-close svg{width:16px;height:16px}
.dk-app .dk-close:hover{background:var(--dk-fill-strong)}
.dk-sheetbody{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:8px 20px 20px;display:flex;flex-direction:column;gap:10px}
.dk-app .dk-productdialog h2{font-size:24px;line-height:29px;font-weight:700;margin-top:2px}
.dk-productdesc{font-size:17px;line-height:23px;color:var(--dk-secondary)}
.dk-already{display:flex;align-items:center;gap:6px;font-size:15px;color:var(--dk-success);font-weight:500}
.dk-already svg{width:16px;height:16px}
.dk-disclosure{border-radius:var(--dk-radius-sm);background:var(--dk-fill);padding:0 14px;font-size:15px}
.dk-disclosure summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:500;color:var(--dk-tint)}
.dk-disclosure p{padding:0 0 12px;color:var(--dk-secondary)}
.dk-productform{display:flex;flex-direction:column;gap:16px;margin-top:8px}
.dk-variants{border:0;margin:0;padding:0;border-radius:var(--dk-radius-sm);background:var(--dk-fill);overflow:hidden}
.dk-variants legend{float:left;width:100%;padding:12px 16px 4px;font-size:13px;font-weight:600;color:var(--dk-secondary)}
.dk-app .dk-choice{clear:both;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 16px;margin:0;font-size:17px;font-weight:400;cursor:pointer}
.dk-app .dk-choice+.dk-choice{border-top:1px solid var(--dk-separator)}
.dk-choice input{order:2;appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;border-radius:50%;border:1.5px solid var(--dk-tertiary);display:grid;place-items:center}
.dk-choice input:checked{border-color:var(--dk-tint);background:var(--dk-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7.5' stroke='white' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.dk-choice input:focus-visible{outline:3px solid #3b82c4;outline-offset:2px}
.dk-qtyrow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dk-qtylabel{display:flex;flex-direction:column;font-size:17px;font-weight:600}
.dk-qtylabel small{font-size:13px;font-weight:400;color:var(--dk-secondary)}
.dk-stepper{display:inline-flex;align-items:center;border-radius:12px;background:var(--dk-fill);padding:3px}
.dk-app .dk-stepper button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--dk-tint)}
.dk-app .dk-stepper button:hover:not(:disabled){background:var(--dk-card)}
.dk-app .dk-stepper button:disabled{color:var(--dk-tertiary);opacity:.6}
.dk-app .dk-stepper input{width:76px;min-height:44px;margin:0;padding:0;border:0;background:transparent;text-align:center;font:inherit;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--dk-label);-moz-appearance:textfield;appearance:textfield}
.dk-app .dk-stepper input::-webkit-inner-spin-button,.dk-app .dk-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dk-modalerror{padding:10px 14px;border-radius:var(--dk-radius-sm);background:var(--dk-danger-soft);color:var(--dk-danger);font-size:15px}
.dk-sheetfooter{flex:none;display:flex;align-items:center;gap:16px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--dk-separator);background:rgba(255,255,255,.94)}
.dk-sheetfooter .dk-total{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:0;border:0;padding:0;font-size:13px;color:var(--dk-secondary)}
.dk-sheetfooter .dk-total strong{font-size:20px;line-height:24px;color:var(--dk-label);font-variant-numeric:tabular-nums}
.dk-sheetfooter .dk-button{flex:1}
.dk-addedname{font-size:15px;color:var(--dk-secondary)}
.dk-upsellitems{display:flex;flex-direction:column;border-radius:var(--dk-radius-sm);background:var(--dk-fill);overflow:hidden;margin-top:6px}
.dk-upsellrow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:12px 14px}
.dk-upsellrow+.dk-upsellrow{border-top:1px solid var(--dk-separator)}
.dk-upsellrow .dk-productimage{grid-row:span 2;width:56px;height:56px;border-radius:8px}
.dk-upsellrow:has(.dk-productimage){grid-template-columns:56px minmax(0,1fr) auto}
.dk-upsellinfo{display:flex;flex-direction:column;min-width:0}
.dk-app .dk-upsellrow h3{font-size:17px;line-height:22px;font-weight:600}
.dk-upsellrow small{font-size:14px;color:var(--dk-secondary)}
.dk-app .dk-upsellrow .dk-extra-added{display:flex;align-items:center;gap:4px;color:var(--dk-success);font-weight:500}
.dk-extra-added svg{width:14px;height:14px}
.dk-extra-added:empty{display:none!important}
.dk-upsellactions{display:flex;align-items:center;gap:8px}
.dk-upsellactions .dk-stepper{background:var(--dk-card)}
.dk-app .dk-upsellactions .dk-stepper button{width:36px;height:40px}
.dk-app .dk-upsellactions .dk-stepper input{width:48px;min-height:40px}
.dk-app .dk-upsellbutton{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 14px 0 10px;border:0;border-radius:999px;background:var(--dk-tint);color:#fff;font-size:15px;font-weight:600;white-space:nowrap}
.dk-app .dk-upsellbutton:disabled{background:var(--dk-fill-strong);color:var(--dk-tertiary)}
.dk-upsellbutton svg{width:16px;height:16px}
.dk-extrastatus{font-size:15px;color:var(--dk-success)}
.dk-extrastatus:empty{display:none}
@media(max-width:640px){.dk-app .dk-productdialog{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;border-radius:16px 16px 0 0}
.dk-app .dk-productdialog[open]{animation:dk-sheet .3s cubic-bezier(.2,.9,.3,1)}
.dk-app .dk-productdialog.is-closing{animation:dk-sheet-out .18s ease-in forwards}
@keyframes dk-sheet{from{transform:translateY(100%)}to{transform:none}}
@keyframes dk-sheet-out{to{transform:translateY(100%)}}
.dk-grabber{display:block;flex:none;width:36px;height:5px;border-radius:3px;background:var(--dk-fill-strong);margin:6px auto 0}
.dk-dialoghead{padding-top:4px;touch-action:none}
.dk-upsellrow{grid-template-columns:minmax(0,1fr)}
.dk-upsellrow:has(.dk-productimage){grid-template-columns:56px minmax(0,1fr)}
.dk-upsellactions{grid-column:1/-1;justify-content:flex-end}
.dk-upsellrow:has(.dk-productimage) .dk-upsellactions{grid-column:2}}
/* ---------- Warenkorb-Leiste ---------- */
.dk-dock{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:30;width:min(560px,calc(100% - 24px));display:flex;align-items:center;gap:12px;padding:8px 8px 8px 14px;border-radius:18px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 0 0 1px rgba(0,0,0,.06),0 10px 30px rgba(0,0,0,.14);animation:dk-rise .25s cubic-bezier(.2,.9,.3,1)}
@keyframes dk-rise{from{transform:translate(-50%,120%)}to{transform:translateX(-50%)}}
.dk-summary{flex:1;min-width:0;display:flex;align-items:center;gap:12px}
.dk-bag{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--dk-tint-soft);color:var(--dk-tint)}
.dk-bag b{position:absolute;top:-4px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--dk-tint);color:#fff;font-size:12px;line-height:20px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.dk-bag.is-bump{animation:dk-bump .35s}
@keyframes dk-bump{40%{transform:scale(1.18)}}
.dk-summarytext{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.dk-summarytext strong{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.dk-summarytext small{font-size:13px;color:var(--dk-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-dock .dk-button{min-height:48px;padding:0 18px;border-radius:12px}
.dk-toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:110;max-width:calc(100vw - 32px);padding:10px 16px;border-radius:999px;background:rgba(29,29,31,.92);color:#fff;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;animation:dk-fade .2s;transition:opacity .25s}
.dk-toast.is-out{opacity:0}
.dk-dialog-open .dk-toast{bottom:auto;top:calc(16px + env(safe-area-inset-top))}
/* ---------- Schritt 2 & 3 ---------- */
.dk-app [data-panel]>h2{font-size:28px;line-height:34px;font-weight:700;margin:8px 0 16px}
.dk-columns{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px;align-items:start}
.dk-box{margin:0 0 16px;padding:16px;border:1px solid rgba(0,0,0,.04);border-radius:var(--dk-radius);background:var(--dk-card);box-shadow:var(--dk-shadow)}
fieldset.dk-box{min-width:0}
.dk-box legend{float:left;width:100%;padding:0;margin:0 0 4px}
.dk-box legend+*{clear:both}
.dk-app .dk-box h3{font-size:20px;line-height:25px;font-weight:700}
.dk-boxhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.dk-boxhead>span{font-size:15px;color:var(--dk-secondary)}
.dk-boxhead .dk-link{font-size:15px;min-height:36px}
.dk-cartbox{position:sticky;top:calc(var(--dk-sticky-top) + 16px)}
.dk-cartrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 0;border-bottom:1px solid var(--dk-separator)}
.dk-cartinfo{display:flex;flex-direction:column;min-width:0}
.dk-cartinfo strong{font-size:17px;line-height:22px;font-weight:600}
.dk-cartinfo small{font-size:14px;color:var(--dk-secondary)}
.dk-cartsum{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.dk-cartcontrols{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}
.dk-stepper--small{padding:2px}
.dk-app .dk-stepper--small button{width:40px;height:36px}
.dk-stepper--small output{min-width:84px;text-align:center;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.dk-app .dk-remove{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:none;color:var(--dk-danger)}
.dk-app .dk-remove:hover{background:var(--dk-danger-soft)}
.dk-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0 6px;font-size:17px}
.dk-total strong{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.dk-cartbox .dk-link{margin-top:4px}
.dk-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.dk-app .dk-slot{position:relative;display:flex;flex-direction:column;min-height:64px;padding:10px 12px;margin:0;border-radius:12px;background:var(--dk-fill);cursor:pointer;font-weight:400;transition:background-color .15s}
.dk-slot input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.dk-slotday{font-size:15px;font-weight:600;line-height:20px}
.dk-slottime{font-size:15px;color:var(--dk-secondary);font-variant-numeric:tabular-nums}
.dk-slotstate{font-size:13px;color:var(--dk-tertiary)}
.dk-slotstate:empty{display:none}
.dk-app .dk-slot:hover{background:var(--dk-fill-strong)}
.dk-app .dk-slot:has(input:checked){background:var(--dk-tint);color:#fff}
.dk-app .dk-slot:has(input:checked) .dk-slottime{color:rgba(255,255,255,.85)}
.dk-app .dk-slot:has(input:focus-visible){outline:3px solid #3b82c4;outline-offset:2px}
.dk-app .dk-slot.is-full{cursor:not-allowed;opacity:.55;background:var(--dk-fill)}
.dk-slot.is-full .dk-slotday,.dk-slot.is-full .dk-slottime{text-decoration:line-through}
.dk-slotbox.is-invalid .dk-slots{outline:2px solid var(--dk-danger);outline-offset:4px;border-radius:12px}
.dk-group{margin-top:10px;border-radius:12px;background:var(--dk-fill);overflow:hidden}
.dk-app .dk-field{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 0 0 14px;margin:0;font-weight:400;cursor:text}
.dk-app .dk-field+.dk-field{border-top:1px solid var(--dk-separator)}
.dk-field>span{flex:0 0 100px;font-size:17px;color:var(--dk-label)}
.dk-app .dk-field input,.dk-app .dk-field textarea{flex:1;min-width:0;min-height:48px;margin:0;padding:12px 14px 12px 0;border:0;border-radius:0;background:transparent;font:inherit;font-size:17px;color:var(--dk-label);box-shadow:none;-webkit-appearance:none;appearance:none}
.dk-app .dk-field textarea{resize:vertical;min-height:68px;line-height:22px}
.dk-app .dk-field--area{align-items:flex-start}
.dk-field--area>span{padding-top:12px}
.dk-app .dk-field input::placeholder,.dk-app .dk-field textarea::placeholder{color:var(--dk-tertiary)}
.dk-app .dk-field:focus-within{background:#fff;box-shadow:inset 0 0 0 2px rgba(59,130,196,.5)}
.dk-app .dk-field input:focus-visible,.dk-app .dk-field textarea:focus-visible{outline:none}
.dk-app .dk-field.is-invalid{background:var(--dk-danger-soft);box-shadow:inset 3px 0 0 var(--dk-danger)}
.dk-app .dk-check{display:flex;align-items:flex-start;gap:12px;margin:16px 0 0;font-size:15px;line-height:21px;font-weight:400;color:var(--dk-secondary);cursor:pointer}
.dk-check input{flex:0 0 22px;width:22px;height:22px;margin:0;accent-color:var(--dk-tint)}
.dk-app .dk-check.is-invalid{color:var(--dk-danger)}
.dk-contact>.dk-button{margin-top:4px}
.dk-contact>.dk-muted{margin-top:10px}
.dk-review .dk-box p{font-size:17px;line-height:24px}
.dk-reviewrow{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--dk-separator);font-size:17px}
.dk-reviewrow small{color:var(--dk-secondary);font-size:14px}
.dk-reviewrow strong{white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}
.dk-finalactions{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:560px;margin:0 auto}
.dk-success{max-width:520px;margin:24px auto;padding:32px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.dk-successmark{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--dk-success-soft);color:var(--dk-success)}
.dk-app .dk-successmark svg{width:38px;height:38px}
.dk-app .dk-success h2{font-size:28px;line-height:34px;font-weight:700}
.dk-success .dk-ordernumber{display:flex;flex-direction:column;font-size:28px;color:var(--dk-label);font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.dk-ordernumber small{font-size:13px;font-weight:500;letter-spacing:0;color:var(--dk-secondary)}
.dk-group--plain{width:100%;padding:0 16px;text-align:left}
.dk-group--plain .dk-reviewrow:last-child{border-bottom:0}
.dk-group--plain .dk-reviewrow strong{white-space:normal;text-align:right}
.dk-success>p{color:var(--dk-secondary);font-size:17px}
@media(max-width:899px){.dk-columns{grid-template-columns:minmax(0,1fr);gap:0}
.dk-cartbox{position:static}}
@media(max-width:640px){.dk-app [data-panel]>h2{font-size:28px;margin:4px 0 12px}
.dk-progress{margin:8px -4px 8px}
.dk-progress span,.dk-progress button{font-size:14px;gap:6px}
.dk-dock .dk-button{padding:0 16px;font-size:17px}
.dk-field>span{flex-basis:96px}}
@media(max-width:360px){.dk-slots{grid-template-columns:1fr}
.dk-field{flex-direction:column;align-items:stretch;gap:0;padding-top:8px}
.dk-field>span{flex-basis:auto;font-size:13px;color:var(--dk-secondary)}
.dk-app .dk-field input{min-height:36px;padding-top:4px}}
/* ---------- Barrierefreiheit ---------- */
@media(prefers-reduced-motion:reduce){.dk-app *,.dk-app *::before,.dk-app *::after,.dk-productdialog::backdrop{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-contrast:more){.dk-app{--dk-secondary:#3c4650;--dk-separator:rgba(0,0,0,.35);--dk-fill:#e9ebee}
.dk-app .dk-orderbutton,.dk-app .dk-catbutton{box-shadow:inset 0 0 0 1px currentColor}}
@media(forced-colors:active){.dk-app .dk-button,.dk-app .dk-orderbutton,.dk-app .dk-catbutton,.dk-slot,.dk-stepper{border:1px solid ButtonText}}
@media print{.dk-dock,.dk-toast,.dk-browsebar{display:none!important}}
/* ==========================================================================
   0.17 · Gestaltung der Weihnachtskarte 2026 (Flyer)
   Navy #122232 · Creme #FEF4DC · Gold #AB8B4A (Deko, Schrift auf Navy) · Gold dunkel #7A6330 (kleine Schrift auf Creme)
   Titel wie Umschlag: Cormorant Garamond / Minion Pro · Überschriften: Henderson Slab · Text: Henderson Sans
   Bedienung (Tippflächen, Sheets, Leiste) bleibt wie in 0.16.
   ========================================================================== */
.dk-app{
 --dk-tint:#122232;--dk-tint-hover:#0A1522;--dk-tint-soft:#F6E8C9;--dk-tint-soft-hover:#EFDDB6;
 --dk-label:#122232;--dk-secondary:#56626E;--dk-tertiary:#6E7680;
 --dk-separator:#E5D3AF;--dk-fill:#FAEDD2;--dk-fill-strong:#F1E0BC;--dk-card:#FFFBF1;
 --dk-gold:#AB8B4A;--dk-gold-text:#7A6330;--dk-paper:#FEF4DC;
 --dk-success:#2F6B47;--dk-success-soft:#E8F0E2;--dk-warn-soft:#FBF0D8;
 --dk-radius:8px;--dk-radius-sm:6px;--dk-shadow:0 1px 2px rgba(18,34,50,.05),0 6px 18px rgba(18,34,50,.07);
 --dk-slab:'Henderson Slab','Henderson Slab Basic','Roboto Slab',Rockwell,'Rockwell Nova',Georgia,serif;
 --dk-serif:'Cormorant Garamond','Minion Pro',Garamond,'Palatino Linotype','Book Antiqua',Georgia,serif;
 font-family:var(--dk-font,'Henderson Sans','Henderson Sans Basic','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,Roboto,Arial,sans-serif);
 color:#243746;background:var(--dk-paper);border-radius:16px;padding-top:0;overflow:clip}
@media(max-width:640px){.dk-app{border-radius:0}}
.dk-app h1,.dk-app h2,.dk-app h3,.dk-app h4{font-family:var(--dk-slab);letter-spacing:0;color:var(--dk-label)}
.dk-app .dk-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dk-gold-text)}
.dk-app a{color:var(--dk-gold-text)}
/* Kopfbereich wie das Titelblatt: Nachthimmel mit Hochlandrind, navyfarbenes Band */
.dk-app .dk-hero{display:block;min-height:0;padding:0;margin:0 -16px;border-radius:0;border:0;background:var(--dk-tint);box-shadow:none;overflow:hidden}
.dk-hero-art{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:6px;min-height:clamp(300px,40vw,470px);padding:clamp(26px,4vw,52px) clamp(20px,4.5vw,56px);
 background-color:#16243A;background-image:linear-gradient(180deg,rgba(10,20,34,.55) 0%,rgba(10,20,34,.15) 45%,rgba(10,20,34,0) 70%),var(--dk-hero-image,none);background-size:cover,cover;background-position:center,center 62%}
.dk-app .dk-hero .dk-eyebrow{color:#E2C98F;margin:0}
.dk-app .dk-hero h1{font-family:var(--dk-serif);font-weight:600;text-transform:none;letter-spacing:0;font-size:clamp(34px,5vw,64px);line-height:1.02;color:#FFFFFF;max-width:640px;text-shadow:0 2px 14px rgba(5,12,24,.45)}
.dk-app .dk-hero h1 em{display:block;font-style:italic;color:#D1B06A}
.dk-hero-claim{font-size:13px!important;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#F5EBD6!important;text-shadow:0 1px 6px rgba(5,12,24,.6)}
.dk-hero-band{padding:18px clamp(20px,4.5vw,56px) 20px;background:var(--dk-tint);color:#FFFFFF;display:flex;flex-direction:column;gap:4px}
.dk-hero-slogan{font-family:var(--dk-serif);font-size:clamp(26px,3vw,36px);line-height:1.1;font-weight:500;color:#FFFFFF}
.dk-hero-sub{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#D9DEE5}
.dk-app .dk-hero .dk-pills{margin-top:10px}
.dk-app .dk-hero .dk-pills li{background:rgba(255,255,255,.08);border:1px solid rgba(209,176,106,.55);color:#F5EBD6;-webkit-backdrop-filter:none;backdrop-filter:none}
@media(min-width:1121px){.dk-app .dk-hero{margin:0;border-radius:16px 16px 0 0}}
@media(max-width:640px){.dk-hero-art{min-height:360px;background-position:center,58% 70%;justify-content:flex-start}
.dk-app .dk-hero h1{font-size:38px}
.dk-hero-slogan{font-size:26px}
.dk-hero-sub{font-size:11.5px}}
/* Schritte */
.dk-progress{margin-top:18px}
.dk-progress span,.dk-progress button{border-bottom-color:var(--dk-separator)}
.dk-progress .is-current>span{border-bottom-color:var(--dk-gold)}
.dk-stepdot{background:var(--dk-fill-strong)}
/* Suche & Kategorien */
.dk-browsebar{background:rgba(254,244,220,.92);border-bottom-color:var(--dk-separator)}
.dk-app .dk-search{background:var(--dk-card);box-shadow:inset 0 0 0 1px var(--dk-separator)}
.dk-app .dk-catbutton{background:var(--dk-card);box-shadow:inset 0 0 0 1px var(--dk-separator);color:var(--dk-label);font-weight:600;border-radius:4px}
.dk-app .dk-catbutton:hover{background:var(--dk-fill)}
.dk-app .dk-catbutton.is-active{background:var(--dk-tint);color:#fff;box-shadow:none}
/* Rubrik-Köpfe wie im Flyer: navyfarbener Balken, Versalien, kursive Unterzeile */
.dk-app .dk-grouphead{margin:0 0 12px;font-size:inherit}
.dk-app .dk-grouphead h3{display:block;margin:0;padding:9px 14px;background:var(--dk-tint);color:#fff;font-size:17px;line-height:22px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:0;scroll-margin-top:calc(var(--dk-sticky-top) + 120px)}
.dk-app .dk-grouphead p{margin:7px 2px 0;font-size:14px;line-height:19px;font-weight:600;font-style:italic;color:#243746}
/* Gerichte */
.dk-app .dk-foodrow{background:var(--dk-card);border:1px solid var(--dk-separator);box-shadow:none;border-radius:var(--dk-radius)}
.dk-app .dk-foodrow:hover{box-shadow:var(--dk-shadow)}
.dk-app .dk-foodrow.is-selected{box-shadow:inset 0 0 0 2px var(--dk-tint)}
.dk-app .dk-foodinfo h4{font-family:var(--dk-slab);font-weight:600;font-size:17px;line-height:22px;color:var(--dk-label)}
.dk-app .dk-fooddesc{color:#243746}
.dk-app .dk-foodprice strong{font-family:var(--dk-slab);font-weight:600;color:var(--dk-label)}
.dk-app .dk-foodprice span{font-size:13px;color:var(--dk-secondary)}
.dk-app .dk-orderbutton{background:var(--dk-tint-soft);color:var(--dk-label);box-shadow:inset 0 0 0 1px var(--dk-separator)}
.dk-app .dk-orderbutton:hover{background:var(--dk-tint-soft-hover)}
.dk-app .dk-foodrow.is-selected .dk-orderbutton{background:var(--dk-tint);color:#fff;box-shadow:none}
@media(max-width:640px){.dk-app .dk-grouphead{margin:0 0 10px}
.dk-app .dk-grouphead h3{font-size:15px;line-height:20px;padding:8px 12px}
.dk-app .dk-grouphead p{font-size:13.5px}
.dk-tilegrid{background:var(--dk-card);border:1px solid var(--dk-separator);box-shadow:none;border-radius:var(--dk-radius)}
.dk-app .dk-foodrow{border:0;border-radius:0}
.dk-app .dk-foodrow+.dk-foodrow{border-top:1px solid var(--dk-separator)}
.dk-app .dk-foodrow:hover{background:var(--dk-fill);box-shadow:none}
.dk-app .dk-foodrow.is-selected{box-shadow:inset 3px 0 0 var(--dk-gold)}}
/* Sheet */
.dk-app .dk-productdialog{background:var(--dk-card)}
.dk-app .dk-productdialog h2{font-family:var(--dk-slab);font-weight:600}
.dk-app .dk-productdialog .dk-eyebrow svg{color:var(--dk-success)}
.dk-sheetfooter{background:rgba(254,244,220,.96);border-top-color:var(--dk-separator)}
.dk-variants,.dk-upsellitems,.dk-disclosure{background:var(--dk-fill)}
.dk-app .dk-close{background:var(--dk-fill);color:var(--dk-label)}
.dk-stepper{background:var(--dk-fill)}
/* Warenkorb-Leiste & Hinweise */
.dk-dock{background:rgba(18,34,50,.94);box-shadow:0 10px 30px rgba(10,20,34,.3)}
.dk-dock .dk-summarytext strong{color:#fff}
.dk-dock .dk-summarytext small{color:#D9DEE5}
.dk-bag{background:rgba(255,255,255,.1);color:#F5EBD6}
.dk-bag b{background:var(--dk-gold);color:#122232}
.dk-dock .dk-button{background:var(--dk-gold);color:#122232}
.dk-dock .dk-button:hover{background:#C3A15C}
.dk-toast{background:rgba(18,34,50,.95)}
.dk-notice,.dk-notice--info{background:var(--dk-card);border:2px dotted var(--dk-gold);color:#243746}
/* Schritt 2 & 3 */
.dk-app [data-panel]>h2{font-family:var(--dk-slab);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.dk-box{background:var(--dk-card);border:1px solid var(--dk-separator);box-shadow:none}
.dk-app .dk-box h3{font-family:var(--dk-slab);font-weight:600}
.dk-group{background:var(--dk-fill)}
.dk-app .dk-field:focus-within{background:var(--dk-card);box-shadow:inset 0 0 0 2px rgba(171,139,74,.7)}
.dk-app .dk-slot{background:var(--dk-fill)}
.dk-app .dk-slot:hover{background:var(--dk-fill-strong)}
.dk-app .dk-slot:has(input:checked){background:var(--dk-tint);color:#fff}
.dk-app .dk-slotday{font-family:var(--dk-slab)}
.dk-check input{accent-color:var(--dk-tint)}
.dk-successmark{background:var(--dk-tint);color:#D1B06A}
.dk-app .dk-success h2{font-family:var(--dk-serif);font-weight:600;font-size:34px;line-height:38px}
.dk-app .dk-success .dk-ordernumber{font-family:var(--dk-slab)}
.dk-app :focus-visible{outline-color:#AB8B4A}
.dk-app .dk-search:focus-visible{box-shadow:0 0 0 3px rgba(171,139,74,.45)}
/* 0.19.1 · Smartphone-Feinschliff */
@media(max-width:640px){/* kompakter Kopf: erste Gerichte schneller sichtbar */
.dk-hero-art{min-height:236px;padding:22px 20px 18px;gap:4px;background-position:center,60% 64%}
.dk-app .dk-hero h1{font-size:33px;line-height:1.02}
.dk-hero-claim{font-size:11.5px!important;letter-spacing:.1em}
.dk-hero-band{padding:14px 20px 16px;gap:3px}
.dk-hero-slogan{font-size:22px}
.dk-hero-sub{font-size:10.5px;letter-spacing:.07em}
.dk-app .dk-hero .dk-pills{margin-top:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.dk-app .dk-hero .dk-pills::-webkit-scrollbar{display:none}
.dk-app .dk-hero .dk-pills li{flex:none;white-space:nowrap;font-size:12.5px}
/* Kategorie-Chips: weicher Rand rechts zeigt, dass man wischen kann */
.dk-categorynav{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);scroll-padding:0 16px}
/* letzte Gerichte nicht unter der Warenkorb-Leiste */
.dk-app [data-panel="1"]{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.dk-toast{bottom:calc(100px + env(safe-area-inset-bottom));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
/* Kontaktfelder auf dem Smartphone untereinander: Beschriftung oben, Eingabe volle Breite */
@media(max-width:430px){.dk-app .dk-field{flex-direction:column;align-items:stretch;gap:0;padding:8px 0 0 14px;min-height:0}
.dk-app .dk-field>span{flex:none;font-size:13px;line-height:18px;color:var(--dk-secondary);padding-top:0}
.dk-app .dk-field input,.dk-app .dk-field textarea{width:100%;min-height:40px;padding:4px 14px 10px 0;font-size:17px}
.dk-app .dk-field--area>span{padding-top:0}}
/* 0.19.2 · iPhone/Safari: Produkt-Sheet klappte zusammen + Theme-Buttons */
/* Safari berechnet flex:1 in einem Dialog ohne feste Höhe als 0 – Inhalt wächst jetzt mit und scrollt erst ab max-height */
.dk-app .dk-productdialog[open]{height:-webkit-fit-content;height:fit-content;min-height:0}
.dk-app .dk-productdialog .dk-sheetbody{flex:0 1 auto;min-height:0;-webkit-overflow-scrolling:touch}
.dk-app .dk-productdialog .dk-sheetbody>*{flex-shrink:0}
.dk-app .dk-productdialog .dk-dialoghead,.dk-app .dk-productdialog .dk-sheetfooter{flex:0 0 auto}
@media(max-width:640px){.dk-app .dk-productdialog{max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px)}}
/* Fokus auf Überschriften (für VoiceOver) ohne sichtbaren Rahmen */
.dk-app [tabindex="-1"]:focus,.dk-app [tabindex="-1"]:focus-visible{outline:none!important;box-shadow:none!important;border:0!important}
/* Theme-Buttons (grau, Versalien) überstimmen */
.dk-app button.dk-button,.dk-app a.dk-button,.dk-app .dk-dock button.dk-button{background:var(--dk-tint)!important;color:#fff!important;text-transform:none!important;letter-spacing:0!important;font-family:inherit!important;font-size:17px!important;font-weight:600!important;border:0!important;border-radius:12px!important;box-shadow:none!important;text-shadow:none!important;line-height:1.2!important;min-height:50px}
.dk-app .dk-sheetfooter button.dk-button{flex:1 1 auto}
.dk-app .dk-dock button.dk-button{background:var(--dk-gold)!important;color:#122232!important;min-height:48px}
.dk-app button.dk-button--secondary,.dk-app a.dk-button--secondary{background:var(--dk-tint-soft)!important;color:var(--dk-label)!important}
.dk-app button.dk-button:disabled{opacity:.5}
.dk-app button.dk-button:hover{filter:brightness(1.08)}
/* 0.20.1 · Produktbilder im Fenster groß, Theme-Rahmen am Mengenfeld/Knopf entfernt */
.dk-app .dk-stepper input,.dk-app .dk-stepper input:focus{border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;border-radius:0!important;-webkit-appearance:none;appearance:none}
.dk-app .dk-stepper:focus-within{box-shadow:0 0 0 2px rgba(171,139,74,.6)}
.dk-app button.dk-button{outline:0!important}
.dk-app button.dk-button:focus-visible{outline:3px solid #AB8B4A!important;outline-offset:2px}
.dk-app button.dk-button::before,.dk-app button.dk-button::after{display:none!important}
/* Produktbild als Header des Fensters (randlos, Schließen-Knopf darüber) */
.dk-app .dk-sheethero{position:relative;flex:none;margin:0;background:#16243A;overflow:hidden}
.dk-app .dk-sheethero img.dk-productimage{display:block;width:100%!important;height:auto!important;aspect-ratio:16/10;max-height:34vh;max-height:34dvh;flex:none;object-fit:cover;object-position:center 55%;border-radius:0!important;margin:0!important}
.dk-app .dk-sheethero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,34,.35) 0%,rgba(10,20,34,0) 32%);pointer-events:none}
.dk-app .dk-productdialog:has(.dk-sheethero) .dk-grabber{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:3;background:rgba(255,255,255,.75)}
.dk-app .dk-productdialog:has(.dk-sheethero) .dk-dialoghead{padding-top:14px}
.dk-app .dk-productdialog:has(.dk-sheethero) .dk-close{position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;background:rgba(18,30,50,.55)!important;color:#fff!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* 0.20.2 · „Passt dazu“: hinzugefügter Artikel als Karte, Zeilen einheitlich */
.dk-app .dk-addedcard{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:0 0 4px;border-radius:12px;background:var(--dk-card);border:1px solid var(--dk-separator);flex-shrink:0}
.dk-app .dk-addedcard .dk-addedimg{width:52px!important;height:52px!important;flex:0 0 52px;border-radius:10px!important;object-fit:cover;margin:0!important}
.dk-app .dk-addedcard .dk-noimg{display:grid;place-items:center;background:var(--dk-tint);color:#D1B06A}
.dk-app .dk-addedcard small{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dk-success,#2f7d4b)}
.dk-app .dk-addedcard small svg{width:14px;height:14px}
.dk-app .dk-addedcard .dk-addedname{margin:2px 0 0;font-size:15px;line-height:19px;font-weight:600;color:var(--dk-label)}
.dk-app .dk-upsellrow .dk-noimg{display:block;background:var(--dk-fill-strong) center/26px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23AB8B4A' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M7 3v8a2 2 0 0 0 2 2v8M5 3v5M9 3v5M17 3c-1.7 1-2.5 3-2.5 6s1 4 2.5 4v8'/%3E%3C/svg%3E")}
/* 0.21.0 · Gezeichnete Deckena-Icons */
.dk-app img.dk-productimage.is-art{background:#FEF4DC;object-fit:cover;box-shadow:inset 0 0 0 1px rgba(171,139,74,.25);border:1px solid rgba(171,139,74,.28)}
.dk-app .dk-sheethero--art{background:#FEF4DC;display:flex;justify-content:center;padding:18px 0 4px}
.dk-app .dk-sheethero--art::after{display:none}
.dk-app .dk-sheethero--art img.dk-productimage{width:auto!important;height:min(240px,30vh)!important;aspect-ratio:1/1;max-height:none;object-fit:cover;border:0!important;box-shadow:none!important;border-radius:22px!important;background:transparent}
.dk-app .dk-productdialog:has(.dk-sheethero--art) .dk-grabber{background:rgba(18,30,50,.22)}
.dk-app .dk-productdialog:has(.dk-sheethero--art) .dk-close{background:rgba(18,30,50,.08)!important;color:var(--dk-label)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
.dk-app .dk-productdialog:has(.dk-sheethero--art) .dk-dialoghead{padding-top:6px}
@media(min-width:641px){.dk-app .dk-foodrow img.dk-productimage.is-art{height:180px;object-fit:contain;padding:6px 0}}
/* Icon-Hintergrund mit der Kartenfarbe verschmelzen lassen */
@media(min-width:641px){.dk-app .dk-foodrow img.dk-productimage.is-art{width:auto;max-width:100%;margin:0 auto;aspect-ratio:1/1;height:180px;padding:0;object-fit:cover;border-radius:16px;border:0;box-shadow:0 1px 0 rgba(171,139,74,.25)}}
/* 0.31.0 Wunschartikel */
.dk-wishcard{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:22px 0 8px;padding:18px 20px;border-radius:var(--dk-radius);background:#EDF3F8;border:1px dashed #9DBBD3}
.dk-wishcard strong{display:block;font-size:17px;color:var(--dk-label)}
.dk-wishcard p{margin:4px 0 0;font-size:15px;line-height:1.4;color:var(--dk-secondary);max-width:46ch}
.dk-app .dk-wishcard .dk-button,.dk-app .dk-empty .dk-button{display:inline-flex;align-items:center;gap:6px;width:auto;margin-top:0}
.dk-app .dk-empty .dk-button{margin-top:14px}
.dk-wishcard .dk-button svg,.dk-empty .dk-button svg,.dk-addwish svg{width:18px;height:18px}
.dk-wishbadge{display:inline-block;font-size:11.5px;font-weight:700;line-height:1;padding:3px 7px;border-radius:999px;background:#EDF3F8;color:#2E6690;margin-right:4px;vertical-align:1px}
.dk-app .dk-addwish{display:flex;align-items:center;gap:6px;margin:10px 0 2px;padding:6px 0}
.dk-app .dk-addwish small{color:var(--dk-secondary);font-weight:400}
.dk-cartrow--wish .dk-cartcontrols{display:flex;align-items:center;gap:10px}
.dk-reviewrow--wish strong{font-weight:500}
.dk-wishform{margin-top:14px}
.dk-app .dk-wishqty input{flex:1 1 60px;min-width:0}
.dk-app .dk-wishqty select{flex:0 0 auto;margin:0 10px 0 0;min-height:36px;padding:0 28px 0 10px;border:1px solid var(--dk-separator);border-radius:9px;background:#fff;font:inherit;font-size:16px;color:var(--dk-label)}
.dk-app .dk-field.dk-wishqty{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}
.dk-app .dk-field.dk-wishqty>span{grid-column:1/-1}
.dk-app .dk-wishqty select{margin:0 12px 0 0;width:auto;min-width:118px}
.dk-app .dk-addwish{display:block;width:100%;text-align:left;line-height:1.35}
.dk-app .dk-addwish svg{vertical-align:-3px;margin-right:4px}
.dk-app .dk-addwish small{display:block;margin-left:26px;font-size:13px}
.dk-app .dk-cartrow--wish .dk-cartcontrols .dk-link{min-height:36px;padding:0 4px;font-size:15px}
.dk-app .dk-review .dk-total small{font-size:13px;font-weight:600;color:var(--dk-secondary);white-space:nowrap}
.dk-app .dk-addwish{display:flex!important;align-items:flex-start;gap:8px}
.dk-app .dk-addwish>span{display:flex;flex-direction:column;align-items:flex-start}
.dk-app .dk-addwish small{margin-left:0!important}
.dk-app .dk-addwish svg{flex:none;margin:2px 0 0!important}
/* 0.31.4 Wunschartikel als seitlicher Button */
.dk-app .dk-wishfab{position:fixed;right:0;top:58%;z-index:40;display:flex;flex-direction:column;align-items:center;gap:6px;width:40px;padding:12px 0 14px;border:0;border-radius:12px 0 0 12px;background:#4182B3;color:#fff;box-shadow:-2px 4px 14px rgba(18,30,50,.18);cursor:pointer;font:600 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.02em;opacity:.92;transform:translateX(0);transition:opacity .2s,transform .2s,background .2s;animation:dk-fabin .45s ease-out .8s both}
.dk-app .dk-wishfab[hidden]{display:none}
.dk-app .dk-wishfab svg{width:18px;height:18px;flex:none}
.dk-app .dk-wishfab span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;hyphens:none}
.dk-app .dk-wishfab:hover,.dk-app .dk-wishfab:focus-visible{opacity:1;background:#2E6690;width:44px}
.dk-app .dk-wishfab:focus-visible{outline:3px solid rgba(65,130,179,.45);outline-offset:2px}
.dk-wishfab-n{position:absolute;top:-7px;left:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#B28762;color:#fff;font-size:11.5px;line-height:20px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.dk-wishfab-n[hidden]{display:none}
@keyframes dk-fabin{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:.92}}
html.dk-dialog-open .dk-app .dk-wishfab{opacity:0;pointer-events:none}
@media (max-width:640px){.dk-app .dk-wishfab{top:auto;bottom:calc(150px + env(safe-area-inset-bottom));width:36px;font-size:12px;padding:10px 0 12px}.dk-app .dk-wishfab.is-docked{bottom:calc(170px + env(safe-area-inset-bottom))}}
@media print{.dk-wishfab{display:none!important}}
@media (prefers-reduced-motion:reduce){.dk-app .dk-wishfab{animation:none}}
@media (max-width:640px){
 .dk-app .dk-wishfab{width:24px;gap:5px;padding:9px 0 10px;border-radius:10px 0 0 10px;font-size:11px;letter-spacing:.03em}
 .dk-app .dk-wishfab svg{width:14px;height:14px}
 .dk-app .dk-wishfab:hover,.dk-app .dk-wishfab:focus-visible{width:28px}
 .dk-app .dk-wishfab::before{content:"";position:absolute;inset:-6px 0}
 .dk-wishfab-n{top:-10px;left:50%;transform:translateX(-50%);min-width:18px;height:18px;line-height:18px;font-size:10.5px}
}
/* 0.31.5 Wunschartikel: Stück / Gramm umschalten */
.dk-app .dk-wishunit{border:0;margin:18px 0 10px;padding:0;min-width:0}
.dk-app .dk-wishunit legend{font-size:13px;font-weight:600;color:var(--dk-secondary);margin:0 0 8px;padding:0;text-transform:none;letter-spacing:0}
.dk-app .dk-seg{display:flex;padding:3px;border-radius:12px;background:var(--dk-fill-strong);gap:3px}
.dk-app .dk-seg label{flex:1;margin:0;cursor:pointer;position:relative}
.dk-app .dk-seg input{position:absolute;opacity:0;pointer-events:none}
.dk-app .dk-seg span{display:block;text-align:center;padding:9px 6px;border-radius:9px;font-size:16px;font-weight:600;color:var(--dk-secondary);transition:background .15s,color .15s}
.dk-app .dk-seg input:checked+span{background:#fff;color:var(--dk-label);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.dk-app .dk-seg input:focus-visible+span{outline:3px solid rgba(65,130,179,.45)}
.dk-app .dk-wishunit select{display:block;margin-top:10px;width:100%;min-height:44px;padding:0 12px;border:1px solid var(--dk-separator);border-radius:10px;background:#fff;font:inherit;font-size:16px;color:var(--dk-label)}
.dk-app .dk-wishunit select[hidden]{display:none}
.dk-app .dk-wchips{display:flex;gap:8px;margin:2px 0 6px;flex-wrap:wrap}
.dk-app .dk-wchips[hidden]{display:none}
.dk-app .dk-wchips button{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid #c7d8e6;background:#EDF3F8;color:#2E6690;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.dk-app .dk-wchips button.is-on{background:#4182B3;border-color:#4182B3;color:#fff}
/* 0.31.6 Wunschartikel: kleines Hinweisfenster, das zum Seitenbutton wird */
.dk-app .dk-wishpop{position:fixed;right:20px;bottom:24px;z-index:41;display:flex;gap:12px;align-items:flex-start;width:min(320px,calc(100vw - 32px));padding:16px 16px 16px 14px;border-radius:16px;background:#fff;border:1px solid #D5E3EE;border-left:4px solid #4182B3;box-shadow:0 10px 30px rgba(18,30,50,.18);animation:dk-popin .35s ease-out both;transform-origin:100% 50%}
.dk-app .dk-wishpop[hidden]{display:none}
.dk-app .dk-wishpop.is-docked{bottom:100px}
.dk-app .dk-wishpop strong{display:block;font-size:16px;line-height:1.3;color:var(--dk-label);padding-right:22px}
.dk-app .dk-wishpop p{margin:4px 0 12px;font-size:14px;line-height:1.45;color:var(--dk-secondary)}
.dk-app .dk-wishpop .dk-wishpop-go{width:auto;min-height:40px;padding:0 16px;font-size:15px;background:#4182B3!important;color:#fff!important}
.dk-wishpop-icon{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#EDF3F8;color:#2E6690}
.dk-wishpop-icon svg{width:18px;height:18px}
.dk-app .dk-wishpop-x{position:absolute;top:8px;right:8px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--dk-secondary);cursor:pointer}
.dk-app .dk-wishpop-x:hover{background:var(--dk-fill)}
.dk-wishpop-x svg{width:16px;height:16px}
.dk-app .dk-wishpop.is-leaving{animation:dk-poptofab .32s ease-in both}
@keyframes dk-popin{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
@keyframes dk-poptofab{to{opacity:0;transform:translateX(70%) scale(.3)}}
.dk-app .dk-wishfab.is-hello{animation:dk-fabhello 1.2s ease-out both}
@keyframes dk-fabhello{0%{transform:translateX(100%)}35%{transform:translateX(-6px)}55%{transform:translateX(0)}70%{box-shadow:0 0 0 6px rgba(65,130,179,.25)}100%{box-shadow:-2px 4px 14px rgba(18,30,50,.18)}}
html.dk-dialog-open .dk-app .dk-wishpop{display:none}
@media (max-width:640px){.dk-app .dk-wishpop{right:12px;left:12px;width:auto;bottom:calc(16px + env(safe-area-inset-bottom))}.dk-app .dk-wishpop.is-docked{bottom:calc(88px + env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){.dk-app .dk-wishpop,.dk-app .dk-wishpop.is-leaving,.dk-app .dk-wishfab.is-hello{animation:none}}
@media print{.dk-wishpop{display:none!important}}

/* Öffnungszeiten Fachgeschäft */
.dk-hours{margin-top:14px;border-top:1px solid var(--dk-line,#e7dfd0);padding-top:10px}
.dk-hours summary{cursor:pointer;font-weight:600;color:var(--dk-blue,#2E6690);list-style:none}
.dk-hours summary::-webkit-details-marker{display:none}
.dk-hours summary::after{content:" ▾";font-size:.8em}
.dk-hours[open] summary::after{content:" ▴"}
.dk-hours ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 18px}
.dk-hours li{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px dotted #e3dccd;font-size:.92em;font-variant-numeric:tabular-nums}
.dk-hours li.is-closed span:last-child{color:#B03A2E}

