
:root{--bg:#111315;--card:#1b1f22;--card2:#22272b;--field:#171a1d;--text:#f2f4f5;--muted:#9ca6ad;--line:#30363b;--brand:#ef6a43;--shadow:0 12px 34px rgba(0,0,0,.30)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
button,input,textarea{font:inherit}.topbar{height:66px;background:#171a1d;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:20}.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}.logoMark{width:34px;height:34px;border-radius:11px;background:var(--brand);color:#fff;display:grid;place-items:center}.previewBtn{border:1px solid var(--line);background:#22272b;color:var(--text);border-radius:12px;padding:9px 12px;font-weight:650}.wrap{max-width:720px;margin:auto;padding:22px 14px 100px}.intro h1{font-size:25px;margin:0 0 5px}.intro p{margin:0;color:var(--muted);line-height:1.45}.sectionHead{display:flex;align-items:end;justify-content:space-between;margin:25px 2px 12px}.sectionHead h2{font-size:16px;margin:0}.sectionHead span{font-size:12px;color:var(--muted)}
.category{background:var(--card);border-radius:18px;border:1px solid var(--line);box-shadow:0 5px 20px rgba(0,0,0,.18);margin-bottom:12px;overflow:hidden;transition:.2s}.category.dragging,.dish.dragging{opacity:.96;transform:scale(1.015) rotate(.2deg);box-shadow:0 20px 48px rgba(0,0,0,.48);z-index:999}.dropPlaceholder{border:2px dashed #667078;background:#202529;border-radius:16px;margin-bottom:12px;box-sizing:border-box;position:relative}.dropPlaceholder:after{content:'Hier ablegen';position:absolute;inset:0;display:grid;place-items:center;color:#aab3b9;font-size:12px;font-weight:800}.dishPlaceholder{border-radius:13px;margin-bottom:8px}.dragActive{cursor:grabbing!important}.catHead{display:flex;align-items:center;gap:11px;padding:14px}.drag{width:26px;color:#7e8991;font-size:20px;cursor:grab;user-select:none;text-align:center}.catIcon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:23px;background:var(--cat,#f3d1c7)}.catInfo{min-width:0;flex:1}.catTitle{font-weight:760}.catSub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.catHead{cursor:pointer}.toggle{border:0;background:transparent;width:32px;height:32px;padding:0;display:grid;place-items:center;color:#a2abb2;font-size:0;cursor:pointer;transition:transform .22s ease,color .18s ease}.toggle::before{content:'›';font-size:27px;font-weight:300;line-height:1}.toggle:hover{color:#fff}.category:not(.collapsed) .toggle{transform:rotate(90deg)}.category.collapsed .catBody{display:none}.catBody{border-top:1px solid var(--line);padding:16px}.label{font-size:12px;font-weight:700;margin:0 0 7px;display:block}.field{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;outline:none;background:var(--field);color:var(--text)}.field:focus{border-color:#66727b;box-shadow:0 0 0 3px rgba(255,255,255,.05)}textarea.field{resize:vertical;min-height:70px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formGroup{margin-bottom:14px}.icons{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.iconOption{aspect-ratio:1;border:1px solid var(--line);background:#202428;color:var(--text);border-radius:11px;font-size:21px;display:grid;place-items:center}.iconOption.selected{border:2px solid var(--brand);background:#34231e}.colors{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.swatch{width:31px;height:31px;border-radius:10px;border:2px solid #202428;box-shadow:0 0 0 1px #4a5258}.swatch.selected{box-shadow:0 0 0 2px #f2f4f5}.hex{width:100px;border:1px solid var(--line);border-radius:10px;padding:7px 9px;background:var(--field);color:var(--text)}.dishesTitle{font-size:13px;font-weight:800;margin:20px 0 9px}.dish{border:1px solid var(--line);border-radius:13px;padding:11px 12px;margin-bottom:8px;display:flex;align-items:center;gap:10px;cursor:pointer;background:var(--card2)}.dishDrag{color:#7e8991;font-size:18px;cursor:grab;user-select:none}.dish:hover{background:#292f34}.dishMain{flex:1;min-width:0}.dishName{font-weight:700;font-size:14px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.dishBadges{display:inline-flex;align-items:center;gap:4px}.dishBadge{width:20px;height:20px;border-radius:6px;background:#30363b;border:1px solid #485159;display:inline-grid;place-items:center;font-size:12px;line-height:1}.dishBadge.property{background:#263b2b;border-color:#416e49}.dishBadge.allergen{background:#45342a;border-color:#75523d}.dishDesc{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.dishPrice{font-weight:750;font-size:13px}.addDish{width:100%;border:1.5px dashed #4a5258;background:#181c1f;border-radius:13px;padding:12px;font-weight:750;color:#c4cbd0}.addDish:hover{background:#202529}.addCat{width:100%;border:0;background:#f1f3f4;color:#151719;border-radius:15px;padding:14px;font-weight:760;margin-top:4px}.hint{text-align:center;font-size:11px;color:#929aa1;margin-top:12px}.modalBg{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:50;display:none;align-items:flex-end;justify-content:center}.modalBg.open{display:flex}.modal{background:#1b1f22;color:var(--text);width:min(720px,100%);border-radius:22px 22px 0 0;padding:18px 16px 24px;max-height:90vh;overflow:auto}.modalGrip{width:42px;height:5px;background:#d8dadd;border-radius:10px;margin:0 auto 17px}.modal h3{margin:0 0 16px}.modalActions{display:flex;gap:9px;margin-top:16px}.modalActions button{flex:1;border:0;border-radius:12px;padding:12px;font-weight:750}.priceRow{display:grid;grid-template-columns:1fr 120px 38px;gap:8px;margin-bottom:8px}.removePrice{border:0;background:#f4f5f7;border-radius:10px;font-size:18px}.addPrice{border:1.5px dashed #d6dade;background:#fafbfb;border-radius:11px;padding:10px 12px;font-weight:700;width:100%}.deleteDish{background:#fff0ed!important;color:#b23a21!important;display:none}.modal.editing .deleteDish{display:block}.categorySelect{width:100%}.choiceGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.choiceChip{position:relative;border:1px solid var(--line);background:#202428;color:var(--text);border-radius:12px;padding:10px 34px 10px 11px;text-align:left;font-size:13px;font-weight:650;transition:.15s}.choiceChip:hover{border-color:#59636a;background:#262c31}.choiceChip.selected{border-color:#ff7a59;background:#4b2922;color:#fff;box-shadow:0 0 0 1px #ff7a59,0 5px 14px rgba(255,122,89,.13)}.choiceChip.selected::after{content:'✓';position:absolute;right:11px;top:50%;transform:translateY(-50%);width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#ff7a59;color:#16191b;font-size:12px;font-weight:900}.choiceChip small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.subLabel{font-size:12px;color:var(--muted);margin:-3px 0 9px;line-height:1.4}.cancel{background:#f0f2f3}.save{background:#20262b;color:#fff}@media(max-width:520px){.choiceGrid{grid-template-columns:1fr 1fr}.wrap{padding-top:18px}.row{grid-template-columns:1fr}.icons{grid-template-columns:repeat(6,1fr)}.intro h1{font-size:22px}.topbar{height:60px}.catHead{padding:12px}.catBody{padding:14px}}
svg{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}.catIcon{color:#25282b}.catIcon svg{width:25px;height:25px}.iconOption svg{width:24px;height:24px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,summary:focus-visible,[role=button]:focus-visible,.uploadButton:focus-within{outline:2px solid #ff9779;outline-offset:3px}.drag,.dishDrag{border:0;background:none;padding:4px;touch-action:none;flex-shrink:0}.moveCat,.moveDish{border:0;background:transparent;color:#9ca6ad;min-height:32px;padding:3px;flex-shrink:0}.moveCat:hover,.moveDish:hover{color:white}.moveCat svg,.moveDish svg{width:16px;height:16px}.moveDish{display:none}.dish:hover .moveDish,.dish:focus-within .moveDish{display:block}.dishPrice{white-space:nowrap}.catSub,.dishDesc,.label,.choiceChip,.dishPrice,.sectionHead span{font-size:14px}.small,.hint{font-size:13px}.catTitle,.dishName{font-size:16px}.choiceChip{display:flex;align-items:center;gap:8px;min-height:48px}.choiceChip svg{width:18px;height:18px}.dishBadge svg{width:13px;height:13px}.dishBadge{width:23px;height:23px}.addPrice{background:#22272b;border-color:#495159;color:#e4e8eb}.removePrice{background:#30363b;color:#e4e8eb}.cancel{background:#30363b;color:#e4e8eb}.save{background:#ef6a43;color:#151719}.modalGrip{background:#596168}.modalActions{position:sticky;bottom:-24px;background:#1b1f22;padding:12px 0 10px}.categoryActions{text-align:right}.deleteCategory,.removeImage{border:0;background:transparent;color:#f3a48d;font-size:14px;padding:8px}.deleteCategory svg{width:16px;height:16px}.muted{color:var(--muted);font-weight:400}.imageOptions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.imageOption{position:relative;padding:0;border:2px solid transparent;border-radius:11px;overflow:hidden;background:#24292d;color:#fff}.imageOption img{width:100%;height:78px;object-fit:cover;display:block}.imageOption span{display:block;padding:6px;font-size:14px}.imageOption.selected{border-color:#ef6a43}.chosenHeader{width:100%;height:140px;object-fit:cover;border-radius:12px;margin-bottom:10px}.imageActions{display:flex;align-items:center;gap:10px;margin-top:12px}.uploadButton{border:1px solid #495159;background:#24292d;padding:10px 13px;border-radius:10px;font-size:14px;cursor:pointer;display:inline-flex;gap:7px;align-items:center}.uploadButton.busy{opacity:.4;pointer-events:none}.error{color:#ffad97}#retrySave{background:transparent;border:0;text-decoration:underline;color:#fff;padding:5px}.empty{padding:30px 20px;background:var(--card);border:1px dashed #495159;border-radius:15px;text-align:center}.empty p{color:var(--muted);line-height:1.6}.previewScreen{position:fixed;inset:0;background:#111315;z-index:40;overflow:auto}.previewScreen[hidden]{display:none}.guestMenu{max-width:720px;margin:auto;padding:30px 18px 80px}.previewIntro{text-align:center;padding:20px 0 30px}.eyebrow{font-size:13px;letter-spacing:.16em;color:#f48b6b;font-weight:800}.previewIntro h1{font-size:32px;margin:12px 0}.previewIntro p{color:#9ca6ad}.guestCategory{margin-bottom:30px;background:#1b1f22;border:1px solid #30363b;border-radius:18px;padding:18px;overflow:hidden}.guestHeader{width:calc(100% + 36px);margin:-18px -18px 18px;height:200px;object-fit:cover;max-width:none}.guestCategoryTitle{display:flex;align-items:center;gap:12px}.guestCategoryTitle h2{font-size:24px;margin:0}.guestDish{border-top:1px solid #30363b;padding:0}.guestDish:first-of-type{margin-top:20px}.guestDish summary{display:flex;align-items:center;gap:14px;cursor:pointer;padding:18px 0;list-style:none}.guestDish summary::-webkit-details-marker{display:none}.guestDish summary>strong{white-space:nowrap;font-size:15px}.guestDish p{font-size:14px;line-height:1.5;margin:6px 0 0;color:#aab3b9}.guestDish[open] summary>svg{transform:rotate(180deg)}.guestDetails{padding:0 0 16px}.guestPrice{display:flex;justify-content:space-between;padding:10px 12px;background:#22272b;border-radius:8px;margin-bottom:6px}.infoTag{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:7px;background:#30363b;font-size:13px;margin:5px 5px 0 0}.infoTag svg{width:16px;height:16px}#notice{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);width:max-content;max-width:calc(100% - 30px);background:#f1f3f4;color:#171a1d;border-radius:12px;padding:14px 20px;z-index:90;box-shadow:0 5px 30px #0009;opacity:0;pointer-events:none;transition:.2s}#notice.visible{opacity:1;transform:translate(-50%,0)}.previewBtn{font-size:14px}.catHead{gap:8px}.modal{padding-bottom:24px}.icons{max-width:470px}.iconOption{max-height:62px}.dishDesc{max-width:100%}.choiceGrid{gap:9px}.priceRow{grid-template-columns:minmax(0,1fr) 115px 34px}@media(max-width:520px){.choiceGrid{grid-template-columns:1fr}.catHead{padding:10px 8px;gap:5px}.catIcon{width:36px;height:36px;flex-shrink:0}.catIcon svg{width:22px;height:22px}.catTitle{font-size:15px}.catSub{font-size:13px}.moveCat{padding:0;width:22px}.drag{width:24px;padding:2px}.topbar{padding:0 12px}.logo{font-size:18px}.dish{padding:11px 7px;gap:7px}.dishPrice{font-size:14px}.guestMenu{padding:15px 10px 50px}.guestDish summary{gap:8px}.guestHeader{height:160px}.guestDish summary>strong{font-size:14px}.imageOption img{height:68px}.previewScreen .topbar strong{font-size:14px;max-width:110px}.priceRow{grid-template-columns:minmax(0,1fr) 100px 32px}}

/* Preview product cards: number left, shared allergen group right. */
.guestDish{border:1px solid #394147;border-radius:14px;background:#202529;margin:10px 0;overflow:hidden}
.guestDish summary{display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:14px;list-style:none}
.guestDishMeta{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}
.guestDishNumber{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:28px;padding:5px 10px;border-radius:999px;background:var(--category-color);color:var(--number-ink);font-size:13px;font-weight:800;line-height:1.35;flex-shrink:0;max-width:45%;overflow-wrap:anywhere}
.guestDishMeta .dishBadges{margin-left:auto;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px;max-width:65%;padding:6px 10px;border:1px solid #40494f;border-radius:18px;background:#2b3237}
.guestDishMeta .dishBadge{width:17px;height:17px;border:0;border-radius:0;background:none;flex-shrink:0}
.guestDishMeta .dishBadge svg{width:16px;height:16px}
.guestDishMeta .dishBadge.property{color:#9ed58c}.guestDishMeta .dishBadge.allergen{color:#efc19b}
.guestDish .dishName{font-size:16px;line-height:1.45;overflow-wrap:anywhere}
.guestDishBottom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.guestDishBottom strong{font-size:16px;line-height:1.5}.guestDishBottom>svg{width:20px;height:20px;color:var(--category-color);transition:transform .2s}
.guestDish[open] .guestDishBottom>svg{transform:rotate(180deg)}
.guestDish .guestDetails{padding:0 14px 14px}
@media(max-width:520px){.guestDish summary{padding:12px;gap:8px}.guestDishMeta{gap:10px}.guestDishMeta .dishBadges{gap:6px;padding:6px 8px}.guestDish .guestDetails{padding:0 12px 12px}}
/* Visitor selection, local wishlist and category navigation. */
.guestDishIdentity{display:flex;gap:8px;align-items:center;min-width:0}.guestDishIdentity .guestDishNumber{max-width:none}.dishHeart{background:none;border:0;color:#bcc5cb;padding:5px;display:grid;place-items:center;min-width:36px;min-height:36px;border-radius:9px}.dishHeart:hover{background:#ffffff0c;color:#f7c0ae}.dishHeart.isSaved{color:#ef8b6c}.dishHeart.isSaved svg{fill:currentColor}.variantPicker{border:0;padding:0;margin:0 0 14px;min-width:0}.variantPicker legend{font-size:14px;font-weight:700;color:#c6cfd5;margin:4px 0 10px}.variantPicker .guestPrice{align-items:center;gap:10px;cursor:pointer;border:1px solid transparent;min-height:46px}.variantPicker .guestPrice:has(input:checked){background:#3d2c26;border-color:#ef8b6c}.variantPicker .guestPrice span{flex:1}.variantPicker input{accent-color:#ef8b6c;width:18px;height:18px;margin:0;flex-shrink:0}.rememberRow{display:flex;gap:12px;margin:12px 0 16px}.quantityPicker{display:flex;align-items:center;border:1px solid #4a555e;border-radius:11px;overflow:hidden;background:#171b1e;flex-shrink:0}.quantityPicker button{width:40px;min-height:42px;background:#30383e;border:0;color:#f2f4f5;font-size:22px}.quantityPicker input{width:45px;min-height:42px;text-align:center;background:#171b1e;color:white;border:0;font-size:16px;padding:0;appearance:textfield;-moz-appearance:textfield}.quantityPicker input::-webkit-inner-spin-button,.quantityPicker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rememberButton{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:11px;background:#ef8b6c;color:#171a1d;padding:11px;font-weight:750;font-size:15px}.rememberButton svg{width:18px;height:18px}.guestCategory{scroll-margin-top:90px}.categoryShortcuts{position:fixed;right:max(12px,env(safe-area-inset-right));top:96px;z-index:42;display:flex;flex-direction:column;gap:6px;max-height:calc(70dvh - 96px);overflow:auto;background:#20262bf2;border:1px solid #495159;border-radius:15px;padding:6px;box-shadow:0 7px 25px #0005;scrollbar-width:thin}.categoryShortcuts:empty{display:none}.categoryShortcuts a{width:42px;min-height:42px;border-radius:10px;display:grid;place-items:center;color:var(--shortcut-color);text-decoration:none;border:1px solid transparent}.categoryShortcuts a:hover,.categoryShortcuts a.active{background:#ffffff15;border-color:var(--shortcut-color)}.categoryShortcuts svg{width:24px;height:24px}.shortcutName{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}.wishlistFab{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:43;display:flex;align-items:center;gap:9px;min-height:52px;border:1px solid #f9b29b;border-radius:16px;background:#ef8b6c;color:#171a1d;box-shadow:0 8px 26px #0007;padding:12px 15px;font-weight:800}.wishlistFab svg{fill:currentColor;width:22px;height:22px}.wishlistCount{min-width:24px;height:24px;padding:3px 5px;display:grid;place-items:center;background:#171a1d;color:#fff;border-radius:999px;font-size:12px}.wishlistDialog{color:#f2f4f5;background:#1b1f22;border:1px solid #48535a;border-radius:20px;width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 40px);padding:24px;overflow:auto;box-sizing:border-box;box-shadow:0 20px 80px #0009}.wishlistDialog::backdrop{background:#000b}.wishlistHeading{display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;top:-24px;background:#1b1f22;padding:12px 0;z-index:1}.wishlistHeading h2{margin:0;font-size:22px}.iconButton{display:grid;place-items:center;border:0;background:#30383e;color:white;width:40px;height:40px;border-radius:10px}.wishlistExplanation,.wishlistPrivacy{font-size:14px;line-height:1.6;color:#b9c2c8}.wishlistItem{padding:18px 0;border-bottom:1px solid #3c454b}.wishlistItemTop{display:flex;justify-content:space-between;gap:16px}.wishlistItemTop>strong{white-space:nowrap;font-size:16px}.wishlistItem h3{font-size:16px;line-height:1.4;margin:0 0 6px;overflow-wrap:anywhere}.wishlistItem h3 span{color:#f2b19a}.wishlistItem p{margin:0;color:#aab5bd;font-size:14px;line-height:1.4}.wishlistItemActions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.removeWishlistItem,.clearWishlist{background:transparent;border:0;color:#f2b19a;padding:9px 0;font-size:14px;display:flex;gap:6px;align-items:center}.removeWishlistItem svg{width:16px;height:16px}.wishlistTotal{display:flex;justify-content:space-between;gap:16px;font-size:20px;margin-top:22px}.clearWishlist:disabled{opacity:.4;cursor:default}.wishlistNotesLabel{display:block;font-size:14px;font-weight:650;margin-top:16px}.wishlistNotes{display:block;width:100%;min-height:100px;margin-top:8px;border:1px solid #48535a;border-radius:12px;background:#131719;color:#f2f4f5;padding:12px;font:inherit;resize:vertical}.wishlistEmpty{text-align:center;padding:30px 5px;font-weight:700}.wishlistEmpty p{font-size:14px;font-weight:400;color:#aab5bd}.wishlistToast{position:fixed;left:16px;bottom:88px;z-index:44;max-width:calc(100vw - 90px);background:#eef2f4;color:#15191c;border-radius:11px;padding:12px 15px;box-shadow:0 6px 22px #0006;opacity:0;pointer-events:none;transform:translateY(8px);transition:.18s;font-size:14px}.wishlistToast.visible{opacity:1;transform:none}.guestMenu.hasMenuControls{padding-bottom:110px}@media(max-width:850px){.guestMenu.hasMenuControls{padding-right:72px}.categoryShortcuts{right:8px;padding:4px;border-radius:12px}.categoryShortcuts a{width:38px;min-height:40px}.categoryShortcuts svg{width:22px;height:22px}.guestDishMeta .dishBadges{max-width:58%}.rememberRow{gap:8px}.quantityPicker button{width:32px}.quantityPicker input{width:36px}.rememberButton{font-size:14px;gap:5px}.wishlistDialog{padding:18px}.wishlistHeading{top:-18px}.wishlistFab{left:12px;bottom:max(14px,env(safe-area-inset-bottom));padding:12px}.fabLabel{display:none}}@media(max-width:390px){.rememberRow{flex-wrap:wrap}.rememberButton{min-width:100px}.guestDishBottom strong{font-size:14px}.guestDishMeta .dishBadges{gap:4px;padding:5px}.wishlistItemTop{gap:8px}.wishlistItemTop>strong{font-size:14px}}@media(prefers-reduced-motion:reduce){.wishlistToast{transition:none}}

.categoryPrices{padding:18px;border:1px solid #41494f;border-radius:12px;background:#202529}.categoryPricesHelp{font-size:14px;line-height:1.5;color:#aeb9c1;margin:8px 0 12px}.categoryPricesHelp:last-child{margin-bottom:0}.categoryPriceRows{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}.categoryPriceRow{display:flex;gap:8px;min-width:0}.categoryPriceRow .field{min-width:0;flex:1}.removeCategoryPrice{flex:0 0 42px;display:grid;place-items:center;background:#30383e;color:#e2e8ec;border:1px solid #4a555e;border-radius:9px}.removeCategoryPrice svg,.addCategoryPrice svg{width:18px;height:18px}.addCategoryPrice{display:flex;align-items:center;gap:8px;margin-top:12px;border:1px solid #95624f;border-radius:9px;background:#ef8b6c15;color:#f3b59e;padding:10px 14px;font-size:14px;font-weight:600}.addCategoryPrice:disabled{opacity:.5;cursor:default}.categoryPrices button:focus-visible{outline:2px solid #f3b59e;outline-offset:3px}

.categoryExtras{padding:18px;border:1px solid #41494f;border-radius:12px;background:#202529}.extrasEditorRows{display:grid;gap:14px}.extraEditorRow{padding:14px;background:#171c20;border-radius:10px}.extraEditorTitle{display:flex;gap:10px}.extraEditorTitle .field{flex:1;min-width:0}.extraEditorPrices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px;margin-top:12px}.extraEditorPrices label{min-width:0;font-size:14px;color:#b9c4cc}.extraEditorPrices label span{display:block;margin-bottom:6px;overflow-wrap:anywhere}.extraEditorPrices input{width:100%}.extrasPicker{border:0;padding:0;margin:18px 0}.extrasPicker legend{font-size:16px;font-weight:700;margin-bottom:10px}.extrasPicker legend span{font-weight:400;color:#aeb9c1}.guestExtraOption{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #49535b;border-radius:10px;margin-bottom:8px;cursor:pointer}.guestExtraOption:has(input:checked){border-color:#ef8b6c;background:#ef8b6c18}.guestExtraOption input{width:20px;height:20px;accent-color:#ef8b6c;flex-shrink:0}.guestExtraOption span{flex:1;overflow-wrap:anywhere}.guestExtraOption strong{white-space:nowrap;font-size:14px}.selectionTotal{font-size:16px;font-weight:700;color:#f3b59e}.wishlistItem .wishlistExtras{margin-top:7px;color:#f3b59e;overflow-wrap:anywhere}

.categoryTypeBadge{display:inline-block;margin-top:6px;padding:3px 8px;border:1px solid #58636b;border-radius:6px;color:#c9d2d8;font-size:12px;font-weight:600}.categoryTypeDialog{width:min(740px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;padding:26px;border:1px solid #4a555e;border-radius:18px;background:#1b2024;color:#f2f4f5;box-sizing:border-box;box-shadow:0 24px 90px #0009}.categoryTypeDialog::backdrop{background:#000b}.categoryTypeHeading{display:flex;align-items:flex-start;gap:18px;justify-content:space-between}.categoryTypeHeading h2{font-size:22px;line-height:1.35;margin:0}.categoryTypeHeading .iconButton{flex-shrink:0}.categoryTypeDialog>p{color:#b8c3cb;font-size:16px;line-height:1.5;margin:10px 0 22px}.categoryTypeOptions{display:grid;grid-template-columns:1fr 1fr;gap:16px}.categoryTypeOption{display:flex;flex-direction:column;align-items:flex-start;gap:14px;text-align:left;padding:22px;background:#252c31;border:1px solid #4b5760;border-radius:13px;color:#d3dce2;font:inherit;cursor:pointer}.categoryTypeOption:hover,.categoryTypeOption:focus-visible{border-color:#ef8b6c;background:#302b29;outline:2px solid #ef8b6c;outline-offset:2px}.categoryTypeOption>strong{font-size:20px;color:#fff}.categoryTypeOption>span:not(.categoryTypeIcon){font-size:14px;line-height:1.65}.categoryTypeIcon{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#ef8b6c1f;color:#f3b59e}.categoryTypeIcon svg{width:26px;height:26px}.categoryTypeOption small{margin-top:auto;font-size:13px;line-height:1.5;color:#f3b59e}.cancelCategoryType{display:block;margin:20px 0 0 auto;border:1px solid #55616b;background:#30383e;border-radius:9px;color:#fff;padding:10px 18px;font:inherit}.ingredientFoundationNotice{font-size:14px;line-height:1.6;color:#bdc9d1;background:#252c31;border-left:3px solid #ef8b6c;padding:14px 16px;margin:0 0 20px;border-radius:7px}.ingredientFoundationNotice strong{display:block;color:#f3b59e;margin-bottom:4px}@media(max-width:600px){.categoryTypeDialog{padding:20px}.categoryTypeOptions{grid-template-columns:1fr}.categoryTypeOption{padding:18px;gap:10px}.categoryTypeHeading h2{font-size:20px}}

.ingredientChoices{display:flex;flex-wrap:wrap;gap:9px}.ingredientChoice{display:flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid #53606a;border-radius:10px;background:#252c31;color:#e3e9ed;font-size:15px;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.ingredientChoice:has(input:checked){border-color:#ef8b6c;background:#ef8b6c22;color:#ffccba}.ingredientChoice input{accent-color:#ef8b6c;width:19px;height:19px;flex-shrink:0}.ingredientPriceNote{font-size:14px;line-height:1.5;color:#bac6ce;margin:0 0 12px}.includedPicker .guestExtraOption:has(input:not(:checked)){opacity:.65}.includedPicker .guestExtraOption:has(input:not(:checked)) span{text-decoration:line-through}.wishlistItem .wishlistRemoved{color:#f3b59e;margin-top:7px}.dishIngredientSummary{color:#ced7dd}

.availabilityChoice{display:flex;align-items:center;gap:10px;font-size:16px}.availabilityChoice input{accent-color:#ef8b6c;width:20px;height:20px}.unavailableBadge{display:inline-block;margin-left:8px;padding:3px 7px;border:1px solid #af8172;border-radius:6px;font-size:12px;color:#ffcbb8}.rememberButton:disabled,.dishHeart:disabled{opacity:.45;cursor:default}.wishlistItemActions{flex-wrap:wrap}

/* Compact guest dish headers and keyboard-accessible ingredient tags. */
.guestDishTitle{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}
.guestDishTitle .dishName{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.5}
.guestDishTitle .guestDishBottom{flex-shrink:0;justify-content:flex-end;gap:8px;margin-left:auto;text-align:right}
.guestDishTitle .guestDishBottom strong{white-space:nowrap;font-size:16px}
.guestDish .dishMain>p{margin:5px 0 0;line-height:1.5}
.guestDish .ingredientTags{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.guestDish .ingredientTags .guestExtraOption{position:relative;display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:40px;box-sizing:border-box;margin:0;padding:7px 10px;border-radius:9px;font-size:14px;line-height:1.4;background:#252c31;color:#dbe3e9}
.guestDish .ingredientTags .guestExtraOption input{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0}
.guestDish .ingredientTags .guestExtraOption::before{content:'+';flex-shrink:0;font-size:17px;font-weight:700;color:#bac6ce}
.guestDish .ingredientTags .guestExtraOption:has(input:checked){background:#4a3027;border-color:#ef8b6c;color:#ffdacd;box-shadow:inset 0 0 0 1px #ef8b6c33}
.guestDish .ingredientTags .guestExtraOption:has(input:checked)::before{content:'✓';color:#ffb89f}
.guestDish .includedPicker .ingredientTags .guestExtraOption:has(input:not(:checked)){opacity:1;background:#1b2227;color:#9eabb5;border-style:dashed}
.guestDish .includedPicker .ingredientTags .guestExtraOption:has(input:not(:checked))::before{content:'−'}
.guestDish .ingredientTags .guestExtraOption:focus-within{outline:2px solid #ffb89f;outline-offset:3px}
.guestDish .ingredientTags .guestExtraOption span{flex:initial;min-width:0;overflow-wrap:anywhere}
.guestDish .ingredientTags .guestExtraOption strong{font-size:14px;white-space:nowrap}
.guestDish .extrasPicker{margin:14px 0;min-width:0}
.guestDish .extrasPicker legend{font-size:15px;margin-bottom:8px}
.guestDish .ingredientPriceNote{margin-bottom:8px}
@media(max-width:390px){.guestDishTitle{gap:8px}.guestDishTitle .guestDishBottom{gap:5px}.guestDishTitle .guestDishBottom strong{font-size:14px}.guestDish .ingredientTags .guestExtraOption{padding:7px 8px}}

/* Variants wrap by their label width rather than a fixed column count. */
.guestDish .variantOptions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.guestDish .variantOptions .guestPrice{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:5px 10px;align-items:start;flex:1 1 auto;width:max-content;min-width:min(100%,120px);max-width:100%;min-height:68px;box-sizing:border-box;margin:0;padding:9px 11px;font-size:14px;line-height:1.4}
.guestDish .variantOptions .guestPrice span{grid-column:1;grid-row:1;min-width:0;overflow-wrap:anywhere}
.guestDish .variantOptions .guestPrice strong{grid-column:1/-1;grid-row:2;white-space:nowrap;text-align:left;font-size:14px;align-self:end}
.guestDish .variantOptions .guestPrice input{grid-column:2;grid-row:1;margin-top:1px}

.guestDish .dishHeart{width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:1px solid #63717b;border-radius:50%;background:#293238;color:#f4f6f8;font-size:25px;font-weight:400;line-height:1}
.guestDish .dishHeart:hover{border-color:#ef8b6c;background:#4a3027;color:#ffdacd}
.guestDish .dishHeart.isSaved{border-color:#ef8b6c;color:#ffb89f}
.wishlistFab svg{fill:none}

.guestDish .dishHeart{width:30px;height:30px;min-width:30px;min-height:30px;display:grid;place-items:center}
.guestDish .dishHeart>span{position:relative;display:block;width:12px;height:12px;font-size:0;line-height:0}
.guestDish .dishHeart>span::before,.guestDish .dishHeart>span::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:currentColor;border-radius:1px}
.guestDish .dishHeart>span::before{width:12px;height:2px}.guestDish .dishHeart>span::after{width:2px;height:12px}
.dishNoteLabel{display:block;color:#c3cdd4;font-size:14px;margin:12px 0 0}.dishNoteLabel>span{color:#9ba8b1}
.dishNoteInput{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:9px 11px;border:1px solid #48545d;border-radius:8px;background:#1b2227;color:#edf2f5;font:inherit;font-size:14px;min-height:38px}
.dishNoteInput::placeholder{color:#9ba8b1}.wishlistDishNote{white-space:pre-wrap;overflow-wrap:anywhere}

.editorSegment{border:1px solid #414b53;border-radius:12px;background:#20262b;margin-bottom:10px;overflow:hidden}
.editorSegment>summary{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 13px;box-sizing:border-box;cursor:pointer;list-style:none;font-size:14px;font-weight:700;color:#e1e8ed}
.editorSegment>summary::-webkit-details-marker{display:none}.editorSegment>summary>span{flex:1;min-width:0}
.editorSegment>summary>small{font-size:13px;font-weight:400;color:#aebac3;white-space:nowrap}
.editorSegment>summary>svg{width:16px;height:16px;color:#b5c1ca;transition:transform .18s}.editorSegment[open]>summary>svg{transform:rotate(180deg)}
.editorSegment[open]>summary{border-bottom:1px solid #414b53}.editorSegmentBody{padding:14px}
.editorSegmentBody>.categoryPrices,.editorSegmentBody>.categoryExtras{border:0;border-radius:0;background:transparent;padding:0;margin-bottom:0}
.editorSegmentBody>.formGroup:last-child{margin-bottom:0}.catBody>.dishesTitle{font-size:16px;margin-top:22px}
@media(prefers-reduced-motion:reduce){.editorSegment>summary>svg{transition:none}}

.extrasToggle{display:none}
.choiceGroupEditor{padding:14px;margin:12px 0;border:1px solid #414c55;border-radius:12px;background:#171c20}
.choiceOptionRow{display:grid;grid-template-columns:minmax(0,1fr) 115px 32px;gap:8px;align-items:center;margin:10px 0}
.choiceGroupEditor .extraEditorTitle{margin-bottom:12px}.choiceGroupEditor .addChoiceOption{margin-top:8px}
.guestChoiceHint{padding:10px 12px;border:1px solid #ae7654;background:#362820;border-radius:8px;color:#ffcead!important;font-size:14px}
.requiredPicker legend span{color:#f1b194;font-size:14px;font-weight:400}
.guestChoiceOption{cursor:pointer}.guestChoiceOption:has(input:checked){border-color:#ef8b6c;background:#443128}
@media(max-width:420px){.choiceOptionRow{grid-template-columns:minmax(0,1fr) 90px 28px;gap:6px}.choiceGroupEditor{padding:10px}}
.menuPatternSurface{isolation:isolate}
.menuPatternLayer{position:fixed;inset:0;z-index:-1;pointer-events:none;background-repeat:repeat;mix-blend-mode:screen}
.backgroundPanel .backgroundHelp{font-size:14px;color:#aebac3;line-height:1.5;margin:8px 0 16px}
.patternChoices{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;max-width:none}
.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.backgroundPanel .patternChoice{position:relative;display:grid;margin:0;gap:5px;padding:10px;background:#171a1d;border:2px solid #414c55;border-radius:12px;cursor:pointer}
.patternChoice.selected,.patternChoice:has(input:checked){border-color:#ef8b6c}.patternChoice:focus-within{outline:2px solid #f5c3b2;outline-offset:3px}
.backgroundPanel .patternChoice input{position:absolute;right:18px;top:18px;accent-color:#ef8b6c;width:18px;height:18px;margin:0}
.patternThumb{display:block;height:90px;border-radius:7px;background-color:#111315;border:1px solid #31393f}
.patternThumb.pizza{background-image:linear-gradient(#11131566,#11131566),url('/patterns/pizzeria.png');background-repeat:repeat;background-size:220px}
.patternChoice strong{font-size:16px}.patternChoice small{font-size:14px;color:#aebac3}
.patternSliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:20px 0}
.patternSliders label{display:block;font-size:14px;font-weight:650}.patternSliders output{float:right;color:#f5b79f;font-weight:400}
.patternSliders input{display:block;width:100%;margin:14px 0;accent-color:#ef8b6c;cursor:pointer;min-height:24px}
.rangeHints{display:flex;justify-content:space-between;gap:8px;color:#aebac3;font-size:14px;font-weight:400}
.patternSample{position:relative;isolation:isolate;overflow:hidden;background:#111315;border:1px solid #414c55;border-radius:12px;padding:26px 18px;margin-top:18px;min-height:190px}
.patternSample .menuPatternLayer{position:absolute}
.sampleHeading{display:block;font-size:14px;margin-bottom:20px;color:#d2dbe1}
.sampleDish{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;max-width:450px;border:1px solid #414c55;border-radius:12px;padding:16px;background:#1f252a}
.sampleDish p{grid-column:1/-1;font-size:14px;color:#aebac3;margin:0}.sampleDish>span{white-space:nowrap;font-weight:700}
@media(max-width:520px){.patternSliders{grid-template-columns:1fr;gap:20px}.patternThumb{height:75px}}
@media(max-width:850px){
 .guestMenu.hasMenuControls{padding:14px 12px 110px}
 .guestMenu .categoryShortcuts{position:sticky;top:0;right:auto;left:auto;z-index:42;flex-direction:row;align-items:center;gap:7px;max-height:none;max-width:100%;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;padding:8px 0;margin:0 0 18px;background:#111315f5;border:0;border-bottom:1px solid #39434b;border-radius:0;box-shadow:none;scrollbar-width:none}
 .guestMenu .categoryShortcuts::-webkit-scrollbar{display:none}
 .previewScreen .guestMenu .categoryShortcuts{top:60px}
 .guestMenu .categoryShortcuts a{display:flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;width:auto;min-height:42px;padding:8px 12px;border:1px solid #414c55;border-radius:999px;background:#20282e;font-size:14px;color:#dce5eb;box-sizing:border-box;max-width:80vw}
 .guestMenu .categoryShortcuts a.active{color:var(--shortcut-color);border-color:var(--shortcut-color);background:#2d343b}
 .guestMenu .categoryShortcuts svg{width:18px;height:18px;color:var(--shortcut-color)}
 .guestMenu .categoryShortcuts .shortcutName{position:static;display:block;width:auto;height:auto;padding:0;margin:0;clip-path:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .guestMenu .guestCategory{background:#1b1f22;border:1px solid #30363b;border-radius:14px;padding:10px;margin-bottom:28px;overflow:hidden;scroll-margin-top:76px}
 .previewScreen .guestCategory{scroll-margin-top:136px}
 .guestMenu .guestHeader{display:block;width:calc(100% + 20px);max-width:none;margin:-10px -10px 14px;height:160px;object-fit:cover;border-radius:0}
 .guestMenu .guestCategoryTitle{gap:10px;margin:0 0 8px}.guestMenu .guestCategoryTitle h2{font-size:23px}
 .guestMenu .guestCategoryTitle .catIcon{width:36px;height:36px;border-radius:11px}.guestMenu .guestCategoryTitle .catIcon svg{width:22px;height:22px}
 .guestMenu .guestCategory>p{font-size:14px;line-height:1.5;margin:0 0 14px}
 .guestMenu .guestDish{margin-bottom:10px;border-radius:14px}.guestMenu .guestDish summary{padding:12px;gap:8px}
 .guestDish:not([data-extras-expanded=true]) .ingredientTags .guestExtraOption[data-extra-overflow]:not(:has(input:checked)){display:none}
 .guestDish .extrasToggle{display:inline-flex;align-items:center;min-height:38px;margin-top:8px;padding:6px 10px;border:1px solid #48565f;border-radius:8px;background:#232c33;color:#f3b59e;font:inherit;font-size:14px;cursor:pointer}
}

.patternThumb.imbiss{background-image:linear-gradient(#11131566,#11131566),url('/patterns/imbiss.png');background-repeat:repeat;background-size:220px}
.patternThumb.griechisch{background-image:linear-gradient(#11131566,#11131566),url('/patterns/griechisch.png');background-repeat:repeat;background-size:220px}
.patternThumb.haehnchengrill{background-image:linear-gradient(#11131566,#11131566),url('/patterns/haehnchengrill.png');background-repeat:repeat;background-size:220px}
.previewIntro.restaurantHero{position:relative;overflow:hidden;text-align:left;padding:20px;margin:4px 0 12px;border:1px solid #3a444d;border-radius:18px;background:linear-gradient(135deg,#252f36,#181e23);isolation:isolate}
.restaurantIdentity{display:flex;align-items:center;gap:12px}.restaurantIdentity>div{min-width:0;flex:1}.restaurantMonogram{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;background:#ef8b6c;color:#201712;font-size:20px;font-weight:800;border:1px solid #ffc3ad}
.restaurantHero h1{font-size:26px;line-height:1.2;margin:0;overflow-wrap:anywhere}.restaurantHero .restaurantCuisine{font-size:14px;color:#ffc1aa;margin:0 0 5px}
.restaurantHeaderImage{position:absolute;right:0;top:0;width:230px;height:100%;object-fit:cover;opacity:.18;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000)}
.restaurantDetailsButton{border:1px solid #6c777f;background:#1b252ce8;color:#fff;padding:10px 12px;min-height:42px;border-radius:10px;font-size:14px;cursor:pointer;flex-shrink:0}
.restaurantDetailsButton:hover{background:#36414a}.restaurantHero .restaurantShortDescription{font-size:14px;line-height:1.5;margin:14px 0 0;color:#d2dbe1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.restaurantHeaderStatus{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:14px;font-size:14px;color:#bac7cf}.restaurantLiveStatus{display:inline-flex;align-items:center;gap:7px;color:#ffb5a0}.restaurantLiveStatus:before{content:'';width:7px;height:7px;flex-shrink:0;border-radius:50%;background:currentColor}.restaurantLiveStatus.open{color:#9de0b1}
.restaurantFacts{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.restaurantFacts>span{border:1px solid #4a545b;padding:5px 8px;border-radius:7px;background:#182128dd;font-size:14px;color:#e2e9ed}
.restaurantTestBanner{margin:0 0 20px}.restaurantTestBanner .testNotice{padding:8px 12px;margin:0;font-size:14px;line-height:1.4}
.restaurantDetailsDialog{color:#f2f4f5;background:#1b2227;border:1px solid #56646d;border-radius:18px;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:22px;overflow:auto;box-sizing:border-box;box-shadow:0 24px 80px #0009}
.restaurantDetailsDialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.restaurantDetailsHeading{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-22px;background:#1b2227;z-index:1;padding:12px 0}.restaurantDetailsHeading h2{font-size:23px;line-height:1.3;margin:0;overflow-wrap:anywhere}
.restaurantDetailsDialog .restaurantCuisine{font-size:14px;color:#f8b59b;margin:0 0 12px}.restaurantDetailsDialog p{font-size:16px;line-height:1.6;margin:8px 0;overflow-wrap:anywhere;white-space:pre-line}.restaurantDetailsDialog section{padding:16px 0;border-top:1px solid #3a474f;margin-top:16px}.restaurantDetailsDialog h3{font-size:17px;margin:0 0 10px}.restaurantDetailsDialog a{color:#ffc0a7;text-decoration:underline;text-underline-offset:3px}.restaurantDetailsDialog .restaurantDetailHelp{font-size:14px;color:#b2bec6;line-height:1.5}.restaurantTextLink{display:inline-block;min-height:40px;padding:8px 0;font-size:16px}
.restaurantHours{width:100%;border-collapse:collapse;font-size:16px}.restaurantHours th{font-weight:400;text-align:left}.restaurantHours td{text-align:right}.restaurantHours th,.restaurantHours td{padding:9px 6px;border-bottom:1px solid #34414a;vertical-align:top}.restaurantHours tr.today{color:#ffc0a7;background:#2c3338}.restaurantHours small{font-size:14px;white-space:nowrap}
.restaurantZones>div{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #34414a;font-size:14px}.restaurantZones span{color:#c5d0d7}.restaurantSeller{font-size:16px;line-height:1.5;overflow-wrap:anywhere}.restaurantSeller dt{font-size:14px;color:#b2bec6;margin-top:10px}.restaurantSeller dd{margin:3px 0 0}
@media(max-width:520px){.previewIntro.restaurantHero{padding:16px;border-radius:14px}.restaurantIdentity{flex-wrap:wrap;gap:10px}.restaurantIdentity>div{flex-basis:calc(100% - 52px)}.restaurantMonogram{flex-basis:42px;height:42px;font-size:18px;border-radius:12px}.restaurantHero h1{font-size:23px}.restaurantDetailsButton{margin-left:52px;flex-basis:auto}.restaurantDetailsDialog{padding:16px}.restaurantDetailsHeading{top:-16px}.restaurantDetailsHeading h2{font-size:21px}.restaurantHeaderStatus{align-items:flex-start;gap:7px}.restaurantToday{flex-basis:100%}}

/* Delivery is selected and checked before choosing dishes. */
.guestMenu .guestCategory[hidden],.guestMenu .categoryShortcuts[hidden],.guestMenu .wishlistFab[hidden],.fulfilmentGate [hidden]{display:none!important}
.fulfilmentGate{margin:18px 0 24px;padding:22px;background:#1d2326;border:1px solid #394246;border-radius:20px;color:#f4f6f6}
.fulfilmentHeading{display:flex;align-items:center;justify-content:space-between;gap:12px}.fulfilmentHeading h2{font-size:21px;margin:6px 0 16px}.fulfilmentHeading .eyebrow{font-size:10px;letter-spacing:.12em;color:#aaa}
.fulfilmentOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fulfilmentOptions button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:16px;background:#252d31;color:#f4f6f6;border:1px solid #4a555a;border-radius:14px;text-align:left;cursor:pointer;min-width:0}.fulfilmentOptions button strong{font-size:17px}.fulfilmentOptions button span{font-size:13px;color:#b9c3c6}.fulfilmentOptions button[aria-pressed=true]{border-color:#ff946e;background:#3e2f2a}.fulfilmentOptions button:focus-visible,.changeFulfilment:focus-visible{outline:3px solid #ff946e;outline-offset:3px}
.fulfilmentAddress{margin-top:18px}.fulfilmentFeedback{font-size:14px;line-height:1.5;margin:16px 0 0}.fulfilmentFeedback.isError,.deliveryEligibilityError{padding:14px 16px;border:1px solid #e87979;border-left:4px solid #f18b8b;border-radius:10px;background:#432729;color:#ffd5d5;font-weight:600}.fulfilmentFeedback.isSuccess{color:#b6e7cc}.fulfilmentSelection{margin:10px 0 0;font-size:14px;line-height:1.5;color:#dce5e8;overflow-wrap:anywhere}.deliveryQuote{color:#b6e7cc}
.deliveryAreaButton{margin-left:8px}.guestDeliveryMap{height:340px;border-radius:14px;margin:16px 0;background:#ddd;color:#222;isolation:isolate}.deliveryAreaLegend>div{position:relative;padding:13px 12px 13px 32px;border-bottom:1px solid #394246}.deliveryAreaLegend p{margin:5px 0 0;font-size:14px;color:#bac6ca}.zoneColor{position:absolute;left:4px;top:18px;width:14px;height:14px;border-radius:4px}.deliveryPostcodes{line-height:1.8}.checkoutChangeAddress{margin:0 0 16px}
@media(max-width:600px){.fulfilmentGate{padding:16px;border-radius:16px}.fulfilmentHeading h2{font-size:19px}.fulfilmentOptions{gap:8px}.fulfilmentOptions button{padding:13px}.fulfilmentOptions button span{font-size:12px}.deliveryAreaButton{margin:8px 0 0}.guestDeliveryMap{height:290px}}
.restaurantIdentity>.restaurantHeaderActions{display:flex;gap:8px;flex:0 0 auto;flex-wrap:wrap}.restaurantHeaderActions .restaurantDetailsButton{margin:0}
@media(max-width:700px){.restaurantIdentity{flex-wrap:wrap}.restaurantIdentity>.restaurantHeaderActions{flex-basis:100%;margin-left:60px}.restaurantHeaderActions .restaurantDetailsButton{font-size:12px;padding:9px 10px}.deliveryAreaButton{margin:0}}
@media(max-width:520px){.restaurantIdentity>.restaurantHeaderActions{margin-left:52px}}

/* Once selected, fulfillment lives in the compact restaurant header. */
.fulfilmentGate[hidden]{display:none!important}.restaurantFacts>button{border:1px solid #4a545b;padding:6px 10px;border-radius:7px;background:#182128dd;font:inherit;font-size:14px;color:#e2e9ed;cursor:pointer;min-height:34px}.restaurantFacts>button[aria-pressed=true]{background:#ff9561;border-color:#ffb58f;color:#172024;font-weight:700}.restaurantFacts>button:focus-visible,.restaurantAddressChange:focus-visible{outline:2px solid #ffb58f;outline-offset:3px}.restaurantFulfilmentSummary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;font-size:14px;color:#dbe1e4;text-align:left}.restaurantFulfilmentSummary[hidden]{display:none}.restaurantFulfilmentSummary>span{overflow-wrap:anywhere}.restaurantAddressChange{padding:4px 0;min-height:32px;border:0;background:transparent;color:#ffb48b;text-decoration:underline;font:inherit;font-size:14px;cursor:pointer}

/* Restaurant identity mirrors the image-and-logo composition of discovery cards. */
.previewIntro.restaurantHero{padding:0;background:#1b252b;border-color:#3b484e}.restaurantHeaderImage{position:static;display:block;width:100%;height:240px;object-fit:cover;opacity:1;z-index:auto;mask-image:none}.restaurantHeroContent{padding:22px}.restaurantIdentity{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding-left:112px;min-height:58px}.restaurantIdentity>div{min-width:0;flex:none}.restaurantMonogram{position:absolute;left:0;top:0;display:grid;place-items:center;width:96px;height:96px;flex:none;border:4px solid #1b252b;border-radius:50%;background:#fff1e7;color:#743e26;font-size:30px;overflow:hidden}.hasCover .restaurantMonogram{top:-58px}.restaurantMonogram img{display:block;width:100%;height:100%;object-fit:contain;background:white}.restaurantHero h1{font-size:28px}.restaurantHeaderActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.restaurantHero .restaurantDetailsButton{margin:0;flex-basis:auto}.restaurantHero .restaurantShortDescription{margin-top:16px}.restaurantHero:not(.hasCover) .restaurantIdentity{min-height:96px}@media(max-width:650px){.restaurantHeaderImage{height:200px}.restaurantHeroContent{padding:18px}.restaurantIdentity{grid-template-columns:minmax(0,1fr);padding-left:0;gap:16px;min-height:58px}.restaurantIdentity>div:not(.restaurantHeaderActions){margin-left:96px;min-height:52px}.restaurantMonogram{width:80px;height:80px;font-size:26px}.hasCover .restaurantMonogram{top:-46px}.restaurantHeaderActions{justify-content:flex-start}.restaurantHero h1{font-size:24px}.restaurantHero:not(.hasCover) .restaurantIdentity>div:not(.restaurantHeaderActions){min-height:80px}.restaurantHero:not(.hasCover) .restaurantIdentity{min-height:80px}}@media(max-width:380px){.restaurantHeaderImage{height:170px}.restaurantHeroContent{padding:16px}.restaurantHero h1{font-size:22px}.restaurantIdentity>div:not(.restaurantHeaderActions){margin-left:86px}.restaurantMonogram{width:72px;height:72px}.hasCover .restaurantMonogram{top:-42px}}

/* Restaurant menus now use a plain background; retain stored appearance for compatibility. */
.backgroundPanel{display:none}

/* Compact cart actions share one row wherever space permits. */
.wishlistItemActions{justify-content:flex-start;gap:8px 10px;flex-wrap:wrap}
.wishlistItemActions .quantityPicker{border-radius:8px}
.wishlistItemActions .quantityPicker button{width:28px;min-height:34px;font-size:18px}
.wishlistItemActions .quantityPicker input{width:30px;min-height:34px;font-size:14px}
.wishlistItemActions .removeWishlistItem{min-height:34px;padding:6px 0;gap:5px;white-space:nowrap;font-size:14px}
.wishlistItemActions .removeWishlistItem svg{width:14px;height:14px}
