/* TableOrder MenuBook | konsolidiertes Premium-Design V12
   Urspruengliche Reihenfolge der acht Designschichten beibehalten.
   Aenderungen kuenftig nur in dieser Datei vornehmen. */

/* ===== ELEGANT ===== */
/* TableOrder MenuBook Elegant V1 - guest view only, non-destructive visual layer */
body.restaurant-theme.order-screen{
 --menubook-paper:#f7f4ee;--menubook-ink:#252723;--menubook-muted:#777269;--menubook-rule:#dcd5c9;
 background:var(--menubook-paper)!important;color:var(--menubook-ink)!important;
}
body.restaurant-theme.order-screen>header{
 background:#f7f4ee!important;border-bottom:1px solid var(--menubook-rule)!important;
 box-shadow:none!important;backdrop-filter:none!important;
}
body.restaurant-theme.order-screen>header .brand{font-family:Georgia,'Times New Roman',serif!important;font-weight:500!important;letter-spacing:.025em!important}
body.restaurant-theme.order-screen>main{background:transparent!important}
body.restaurant-theme.order-screen #tabs{border-bottom:1px solid var(--menubook-rule)!important}
body.restaurant-theme.order-screen #tabs .tab{
 background:transparent!important;color:var(--menubook-ink)!important;border:1px solid transparent!important;
 border-radius:3px!important;box-shadow:none!important;letter-spacing:.06em!important;
}
body.restaurant-theme.order-screen #tabs .tab.active{background:#292d28!important;color:#fff!important;border-color:#292d28!important}
body.restaurant-theme.order-screen .guest-category-grid{gap:17px!important}
body.restaurant-theme.order-screen .guest-category-card{
 background:#fffdf8!important;border:1px solid #e5dfd5!important;border-radius:4px!important;
 box-shadow:0 7px 25px rgba(40,35,25,.045)!important;
}
body.restaurant-theme.order-screen .guest-category-visual{background:#f4efe6!important;border-radius:2px!important}
body.restaurant-theme.order-screen .guest-category-label{
 font-family:Georgia,'Times New Roman',serif!important;font-weight:500!important;
 letter-spacing:.015em!important;color:var(--menubook-ink)!important;
}
body.restaurant-theme.order-screen .guest-category-arrow{color:#92816b!important;font-weight:400!important}
body.restaurant-theme.order-screen .products{gap:18px!important}
body.restaurant-theme.order-screen .product{
 background:#fffdf9!important;border:1px solid #e8e1d7!important;border-radius:4px!important;
 box-shadow:0 6px 24px rgba(38,32,24,.04)!important;overflow:hidden;
}
body.restaurant-theme.order-screen .productvisual{background:#f2ede4!important}
body.restaurant-theme.order-screen .productvisual img{object-fit:cover}
body.restaurant-theme.order-screen .productinfo{padding:20px!important}
body.restaurant-theme.order-screen .product h3{
 font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(19px,2vw,24px)!important;
 font-weight:500!important;letter-spacing:.005em!important;line-height:1.22!important;color:var(--menubook-ink)!important;
}
body.restaurant-theme.order-screen .product p{color:var(--menubook-muted)!important;line-height:1.65!important;font-size:13px!important}
body.restaurant-theme.order-screen .productfoot{border-top:1px solid var(--menubook-rule);padding-top:13px;margin-top:10px}
body.restaurant-theme.order-screen .productfoot strong{font-family:Georgia,'Times New Roman',serif!important;font-weight:500!important;color:#292a26!important}
body.restaurant-theme.order-screen .productfoot button{
 background:#292e29!important;color:#fff!important;border-radius:4px!important;
 font-weight:600!important;letter-spacing:.015em!important;box-shadow:none!important;
}
body.restaurant-theme.order-screen .productfoot button:disabled{background:#bcb8b0!important}
body.restaurant-theme.order-screen .cart{background:#fffdf9!important;border-left:1px solid var(--menubook-rule)!important;box-shadow:none!important}
body.restaurant-theme.order-screen .carthead{border-bottom:1px solid var(--menubook-rule)!important}
body.restaurant-theme.order-screen .carthead strong{font-family:Georgia,'Times New Roman',serif!important;font-weight:500!important}
body.restaurant-theme.order-screen .cartbottom{border-top:1px solid var(--menubook-rule)!important}
body.restaurant-theme.order-screen #checkout{background:#292e29!important;border-radius:4px!important}
body.restaurant-theme.order-screen #checkout:disabled{background:#bcb8b0!important}
body.restaurant-theme.order-screen .order-floating-cart{background:#292e29!important;border-radius:5px!important;box-shadow:0 8px 25px rgba(0,0,0,.18)!important}
body.restaurant-theme.order-screen .pill{background:#ebe6dc!important;color:#403b34!important;border-radius:4px!important}
body.restaurant-theme.order-screen #guest-language{border-radius:4px!important;background:#fffdf8!important}
@media(max-width:1000px){body.restaurant-theme.order-screen .cart{border-left:0!important;border-top:1px solid var(--menubook-rule)!important}}
@media(max-width:600px){
 body.restaurant-theme.order-screen .productinfo{padding:15px!important}
 body.restaurant-theme.order-screen .product h3{font-size:19px!important}
 body.restaurant-theme.order-screen .guest-category-grid{gap:10px!important}
}


/* ===== CHAPTERS ===== */
/* TableOrder MenuBook – Kapitelgestaltung V2, nur Gästeansicht */
body.restaurant-theme.order-screen{--menubook-ink:#302a25;--menubook-muted:#82766a;--menubook-gold:#a58b66;--menubook-line:#ded4c7}
body.restaurant-theme.order-screen.guest-category-landing #tabs{display:none!important}
body.restaurant-theme.order-screen.guest-category-landing #menu{max-width:820px;margin:0 auto 28px;padding:0 12px}
body.restaurant-theme.order-screen .menubook-opening{padding:clamp(25px,5vw,54px) 16px 24px;text-align:center;background:transparent}
body.restaurant-theme.order-screen .menubook-overline{display:block;font-size:.67rem;letter-spacing:.26em;color:var(--menubook-gold);font-weight:600;margin-bottom:14px}
body.restaurant-theme.order-screen .menubook-opening h1{margin:0;font:normal clamp(2rem,4.8vw,3.35rem)/1.14 Georgia,'Times New Roman',serif;letter-spacing:-.025em;color:var(--menubook-ink)}
body.restaurant-theme.order-screen .menubook-ornament{display:block;width:70px;height:1px;background:var(--menubook-gold);margin:21px auto 16px}
body.restaurant-theme.order-screen .menubook-opening p{margin:0;color:var(--menubook-muted);font:italic clamp(.9rem,1.7vw,1.08rem)/1.5 Georgia,serif}
body.restaurant-theme.order-screen.guest-category-landing .guest-category-grid.menubook-chapters{display:flex!important;flex-direction:column;gap:0!important;padding:0 0 24px!important;border-top:1px solid var(--menubook-line)}
body.restaurant-theme.order-screen.guest-category-landing .guest-category-card.menubook-chapter{display:grid!important;grid-template-columns:45px minmax(0,1fr) 28px;align-items:center;gap:12px;min-height:77px;padding:14px 10px!important;border:0!important;border-bottom:1px solid var(--menubook-line)!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;color:var(--menubook-ink)!important;text-align:left;transition:background .2s ease, padding .2s ease}
body.restaurant-theme.order-screen.guest-category-landing .guest-category-card.menubook-chapter:hover{background:rgba(165,139,102,.075)!important;padding-left:18px!important;transform:none!important}
body.restaurant-theme.order-screen .menubook-chapter-number{font:normal .82rem Georgia,serif;color:var(--menubook-gold);letter-spacing:.05em}
body.restaurant-theme.order-screen.guest-category-landing .menubook-chapter .guest-category-label{display:block!important;padding:0!important;font:normal clamp(1.3rem,2.7vw,1.85rem)/1.2 Georgia,'Times New Roman',serif!important;letter-spacing:-.01em;color:var(--menubook-ink)!important}
body.restaurant-theme.order-screen.guest-category-landing .menubook-chapter .guest-category-arrow{position:static!important;font:normal 1.4rem Georgia,serif!important;color:var(--menubook-gold)!important;justify-self:end}
body.restaurant-theme.order-screen .menubook-chapter:focus-visible{outline:2px solid var(--menubook-gold)!important;outline-offset:-3px}
@media(max-width:600px){body.restaurant-theme.order-screen.guest-category-landing #menu{padding:0 8px}body.restaurant-theme.order-screen .menubook-opening{padding:30px 6px 24px}body.restaurant-theme.order-screen.guest-category-landing .guest-category-card.menubook-chapter{grid-template-columns:30px minmax(0,1fr) 22px;gap:8px;min-height:72px;padding:12px 6px!important}}


/* ===== DISHES ===== */
/* TableOrder MenuBook V3 – ruhige, typografische Speisenseiten */
body.restaurant-theme.order-screen:not(.guest-category-landing) #menu{max-width:900px;margin:0 auto;padding:0 16px 100px}
body.restaurant-theme.order-screen:not(.guest-category-landing) #tabs{max-width:900px;margin:0 auto 8px;padding:22px 16px 8px;background:transparent!important;border:0!important;box-shadow:none!important;display:flex;align-items:center;gap:14px}
body.restaurant-theme.order-screen:not(.guest-category-landing) .guest-category-toolbar-title{font:normal clamp(1.7rem,3.5vw,2.6rem)/1.2 Georgia,'Times New Roman',serif!important;color:#302a25!important;text-align:center;flex:1}
body.restaurant-theme.order-screen:not(.guest-category-landing) .guest-category-back-icon{border:1px solid #dcd1c1!important;background:transparent!important;border-radius:50%!important;color:#574c3f!important;width:42px;height:42px;display:grid;place-items:center;flex-shrink:0}
body.restaurant-theme.order-screen:not(.guest-category-landing) .products{display:flex!important;flex-direction:column!important;gap:0!important;margin:12px 0 0!important;padding:0!important;border-top:1px solid #d8ccba}
body.restaurant-theme.order-screen:not(.guest-category-landing) .product{display:grid!important;grid-template-columns:minmax(0,1fr) 128px!important;grid-template-areas:'info visual';align-items:center;gap:20px;min-height:154px;padding:22px 4px!important;margin:0!important;border:0!important;border-bottom:1px solid #d8ccba!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;transform:none!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo{grid-area:info;min-width:0;padding:0!important;background:transparent!important;display:flex;flex-direction:column;align-items:stretch}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo h3{margin:0 0 8px!important;font:normal clamp(1.25rem,2.4vw,1.65rem)/1.22 Georgia,'Times New Roman',serif!important;color:#302a25!important;letter-spacing:-.015em}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo p{margin:0 0 12px!important;font:normal .94rem/1.55 system-ui,-apple-system,Arial,sans-serif!important;color:#766d61!important;max-width:60ch}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productvisual{grid-area:visual;width:128px!important;height:116px!important;min-height:0!important;max-height:none!important;border:0!important;border-radius:7px!important;background:#ede7dd!important;overflow:hidden!important;box-shadow:none!important;display:flex;align-items:center;justify-content:center}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productvisual img{width:100%!important;height:100%!important;object-fit:cover!important;border:0!important;border-radius:0!important;mix-blend-mode:normal}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productvisual.no-photo{font-size:2rem;color:#9a886d}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-top:auto!important;padding:0!important;background:transparent!important;border:0!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot strong{font:normal 1.13rem Georgia,serif!important;color:#302a25!important;white-space:nowrap}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot button{background:transparent!important;color:#594b39!important;border:1px solid #b7a68c!important;border-radius:999px!important;box-shadow:none!important;font:600 .82rem/1.2 system-ui,Arial,sans-serif!important;min-height:39px!important;padding:9px 16px!important;width:auto!important;white-space:nowrap}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot button:hover{background:#eae1d4!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot button:focus-visible{outline:2px solid #796347;outline-offset:3px}
@media(max-width:520px){body.restaurant-theme.order-screen:not(.guest-category-landing) #menu{padding:0 12px 90px}body.restaurant-theme.order-screen:not(.guest-category-landing) .product{grid-template-columns:minmax(0,1fr) 94px!important;gap:12px;min-height:135px;padding:18px 0!important}body.restaurant-theme.order-screen:not(.guest-category-landing) .productvisual{width:94px!important;height:98px!important}body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo h3{font-size:1.24rem!important}body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo p{font-size:.82rem!important;line-height:1.4!important}body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot button{font-size:.75rem!important;padding:8px 11px!important}}
@media(prefers-reduced-motion:reduce){body.restaurant-theme.order-screen:not(.guest-category-landing) .product *{transition:none!important}}


/* ===== UNIFIED ===== */
/* TableOrder MenuBook V4 — harmonisierte Gästeansicht. Rein visuell. */
body.restaurant-theme.order-screen{
  --menubook-ink:#302a25;--menubook-muted:#776c60;--menubook-gold:#a48a65;--menubook-line:#ded4c7;
  --restaurant-paper:#f6f2eb!important;--restaurant-header:#f6f2eb!important;
  background:#f6f2eb!important;color:#302a25!important;
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif!important;
}
body.restaurant-theme.order-screen>header{
  background:#f6f2eb!important;border-bottom:1px solid #ded4c7!important;
  box-shadow:none!important;min-height:76px;padding:12px clamp(14px,3vw,36px)!important;
}
body.restaurant-theme.order-screen>header .brand{min-width:0;max-width:56%;}
body.restaurant-theme.order-screen>header .restaurant-brand img{max-height:56px!important;max-width:100%!important;object-fit:contain}
body.restaurant-theme.order-screen .guest-header-controls{gap:9px!important;align-items:center!important}
body.restaurant-theme.order-screen .guest-header-controls .pill{
  background:transparent!important;border:1px solid #cfc0ac!important;color:#5a4d3e!important;
  box-shadow:none!important;border-radius:6px!important;letter-spacing:.04em;font-size:.78rem!important;
  white-space:nowrap;padding:10px 12px!important;
}
body.restaurant-theme.order-screen #guest-language{
  background:#fbf8f2!important;border:1px solid #ded4c7!important;color:#4e4439!important;
  box-shadow:none!important;border-radius:6px!important;
}
body.restaurant-theme.order-screen .to-call-waiter{
  background:#384a3d!important;color:#fff!important;box-shadow:none!important;
  border-radius:8px!important;border:1px solid #384a3d!important;
}
body.restaurant-theme.order-screen main{background:transparent!important;box-shadow:none!important}
body.restaurant-theme.order-screen .menubook-opening{padding-top:clamp(32px,5vw,62px)!important}
body.restaurant-theme.order-screen .menubook-opening h1{font-weight:400!important;letter-spacing:-.03em!important}
body.restaurant-theme.order-screen .menubook-chapter .guest-category-label{font-weight:400!important}
body.restaurant-theme.order-screen .menubook-chapter{touch-action:manipulation}
body.restaurant-theme.order-screen .order-floating-cart{
  background:#30342f!important;color:#fff!important;border:1px solid #30342f!important;
  border-radius:9px!important;box-shadow:0 7px 24px rgba(42,38,30,.14)!important;
  font-weight:600!important;letter-spacing:.01em!important;
}
body.restaurant-theme.order-screen .order-floating-cart:focus-visible,
body.restaurant-theme.order-screen .guest-category-card:focus-visible,
body.restaurant-theme.order-screen button:focus-visible{outline:2px solid #987951!important;outline-offset:3px}
body.restaurant-theme.order-screen aside.cart{
  background:#faf7f1!important;color:#302a25!important;
  border-left:1px solid #ded4c7!important;box-shadow:-12px 0 40px rgba(36,29,19,.14)!important;
}
body.restaurant-theme.order-screen aside.cart .carthead{
  background:transparent!important;color:#302a25!important;border-bottom:1px solid #ded4c7!important;
}
body.restaurant-theme.order-screen aside.cart .carthead strong{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important}
body.restaurant-theme.order-screen aside.cart .cartbottom{
  background:#faf7f1!important;border-top:1px solid #ded4c7!important;
}
body.restaurant-theme.order-screen aside.cart #checkout{
  background:#30342f!important;color:#fff!important;border-radius:7px!important;
  box-shadow:none!important;min-height:48px!important;
}
body.restaurant-theme.order-screen aside.cart #checkout:disabled{opacity:.45!important}
body.restaurant-theme.order-screen .productfoot button{transition:background-color .15s ease,border-color .15s ease}
@media(max-width:700px){
 body.restaurant-theme.order-screen>header{min-height:66px;padding:10px 12px!important;gap:8px!important}
 body.restaurant-theme.order-screen>header .brand{max-width:48%}
 body.restaurant-theme.order-screen .guest-header-controls{gap:5px!important}
 body.restaurant-theme.order-screen .guest-header-controls .pill{padding:8px!important;font-size:.72rem!important}
 body.restaurant-theme.order-screen .menubook-opening{padding-top:30px!important}
}
@media(prefers-reduced-motion:reduce){body.restaurant-theme.order-screen .menubook-chapter,body.restaurant-theme.order-screen .productfoot button{transition:none!important}}


/* ===== DETAILS ===== */
/* TableOrder MenuBook V5 — einheitliche Premium-Produktdetailansicht */
body .dish-detail-overlay{background:rgba(23,26,24,.68);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:clamp(12px,3vw,36px)}
body .dish-detail-panel{width:min(880px,100%);max-height:calc(100dvh - 32px);grid-template-columns:minmax(0,46%) minmax(0,54%);background:#f5f0e7;color:#2e2b26;border:1px solid #d7ccbb;border-radius:5px;box-shadow:0 30px 90px #15171366;font-family:Georgia,'Times New Roman',serif}
body .dish-detail-panel .dish-detail-image{height:100%;min-height:360px;max-height:calc(100dvh - 32px);object-fit:cover;background:#e9e2d8}
body .dish-detail-panel .dish-detail-content{padding:clamp(30px,5vw,58px);min-height:360px;max-height:calc(100dvh - 32px);font-family:Georgia,'Times New Roman',serif}
body .dish-detail-panel .dish-detail-kicker{color:#8a765c;opacity:1;font:600 11px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:.22em;margin:0 44px 20px 0}
body .dish-detail-panel .dish-detail-content h2{font:400 clamp(30px,3.8vw,44px)/1.15 Georgia,'Times New Roman',serif!important;letter-spacing:-.025em;color:#292821;margin:0 0 23px!important}
body .dish-detail-panel .dish-detail-description{font:400 16px/1.8 Georgia,'Times New Roman',serif!important;color:#655e53;opacity:1;white-space:pre-line;margin:0 0 28px}
body .dish-detail-panel .dish-detail-footer{border-top:1px solid #d5c8b5;padding-top:24px;gap:18px}
body .dish-detail-panel .dish-detail-footer strong{font:400 27px/1.2 Georgia,'Times New Roman',serif!important;color:#302d27}
body .dish-detail-panel .dish-detail-footer button{background:#292f2b;color:#fffdf8;border:1px solid #292f2b;border-radius:4px;min-height:48px;padding:13px 19px;font:600 13px/1.4 Arial,Helvetica,sans-serif!important;letter-spacing:.025em;transition:background .15s,border-color .15s}
body .dish-detail-panel .dish-detail-footer button:hover:not(:disabled){background:#435248;border-color:#435248}
body .dish-detail-panel .dish-detail-close{width:42px;height:42px;min-width:42px;min-height:42px;top:14px;right:14px;border:1px solid #d9cdbb;border-radius:50%;background:#f9f5ed;color:#3b3832;font:400 25px/1 Arial,Helvetica,sans-serif;box-shadow:0 2px 12px #00000012}
body .dish-detail-panel .dish-detail-close:focus-visible,body .dish-detail-panel .dish-detail-footer button:focus-visible{outline:3px solid #977a52;outline-offset:3px}
@media(max-width:700px){body .dish-detail-overlay{padding:10px;align-items:center}body .dish-detail-panel{display:flex;flex-direction:column;width:min(480px,100%);max-height:calc(100dvh - 20px);overflow-y:auto}body .dish-detail-panel .dish-detail-image{height:clamp(190px,33dvh,270px);min-height:0;max-height:none;flex:none}body .dish-detail-panel .dish-detail-content{min-height:0;max-height:none;overflow:visible;padding:25px 24px 30px}body .dish-detail-panel .dish-detail-content h2{font-size:clamp(28px,6vw,36px)!important;margin-bottom:16px!important}body .dish-detail-panel .dish-detail-description{font-size:15px!important;line-height:1.7}body .dish-detail-panel .dish-detail-footer{margin-top:10px;padding-top:18px}body .dish-detail-panel .dish-detail-close{top:12px;right:12px}}
@media(max-width:380px){body .dish-detail-panel .dish-detail-footer{flex-direction:column;align-items:stretch}body .dish-detail-panel .dish-detail-footer button{width:100%}}
@media(prefers-reduced-motion:reduce){body .dish-detail-panel{animation:none!important}}


/* ===== RECEIPT ===== */
/* TableOrder MenuBook V9 — elegante Bestellübersicht; nur Präsentation. */
.order-screen aside.cart {
  --receipt-ink:#292824; --receipt-muted:#786f64; --receipt-line:#dcd1c1;
  background:#f8f5ee !important;
  color:var(--receipt-ink);
  border:1px solid #e6ded1;
  box-shadow:0 20px 60px rgba(34,29,22,.14);
}
.order-screen aside.cart .carthead {
  background:transparent !important;
  border-bottom:1px solid var(--receipt-line);
  padding:24px 26px 19px;
}
.order-screen aside.cart .carthead strong,
.order-screen aside.cart .cart-heading-text {
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:clamp(28px,4vw,36px) !important;
  font-weight:600 !important;
  letter-spacing:.005em;
  color:var(--receipt-ink) !important;
}
.order-screen aside.cart .carthead #count {
  font-family:'DM Sans',Arial,sans-serif;
  font-size:12px;
  letter-spacing:.035em;
  color:var(--receipt-muted);
}
.order-screen aside.cart .cartitems,
.order-screen aside.cart .ordered-items {
  font-family:'DM Sans',Arial,sans-serif;
  color:var(--receipt-ink);
}
.order-screen aside.cart .cartitems {padding:12px 26px 18px;}
.order-screen aside.cart .ordered-items {padding:6px 26px 22px;}
.order-screen aside.cart .menubook-section-title,
.order-screen aside.cart .history-title {
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:clamp(25px,3.6vw,31px) !important;
  font-weight:600 !important;
  color:var(--receipt-ink) !important;
  padding-bottom:9px;
  border-bottom:1px solid var(--receipt-line);
  margin:10px 0 13px;
}
.order-screen aside.cart .cartrow,
.order-screen aside.cart .history-item {
  display:flex;
  align-items:center;
  gap:16px;
  border:0;
  border-bottom:1px solid rgba(155,139,118,.19);
  background:transparent !important;
  padding:13px 0;
  font-size:14px;
  line-height:1.55;
}
.order-screen aside.cart .cartrow > span:first-child,
.order-screen aside.cart .history-item > span:first-child {flex:1;min-width:0;}
.order-screen aside.cart .history-order {background:transparent!important;border-top:0;padding:12px 0;}
.order-screen aside.cart .history-order + .history-order {border-top:1px solid var(--receipt-line);}
.order-screen aside.cart .history-order-head {font-size:11px;font-weight:600;letter-spacing:.055em;text-transform:uppercase;color:var(--receipt-muted);}
.order-screen aside.cart .history-item-price {font-weight:600;white-space:nowrap;}
.order-screen aside.cart .history-options {color:var(--receipt-muted);font-size:12px;}
.order-screen aside.cart .qty {display:flex;align-items:center;gap:8px;}
.order-screen aside.cart .qty button {
  min-width:32px;min-height:32px;border-radius:50%;
  border:1px solid #cfc2b1;background:#fffdf8;color:var(--receipt-ink);
  font-family:'DM Sans',Arial,sans-serif;font-weight:600;
}
.order-screen aside.cart .qty b {min-width:16px;text-align:center;font-weight:600;}
.order-screen aside.cart .menubook-section-subtotal {
  border-top:1px solid var(--receipt-line);
  font-size:13px;
  letter-spacing:.015em;
  color:var(--receipt-muted);
  margin-top:12px;
  padding:16px 0 5px;
}
.order-screen aside.cart .menubook-section-subtotal strong {color:var(--receipt-ink);font-size:17px;}
.order-screen aside.cart .cartbottom {
  background:#efe8dc!important;
  border-top:1px solid #d8caba;
  padding:22px 26px 26px;
}
.order-screen aside.cart .cartbottom .total {
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  color:var(--receipt-ink);font-family:'DM Sans',Arial,sans-serif;
}
.order-screen aside.cart .cartbottom .total span {font-size:13px;}
.order-screen aside.cart .cartbottom .total strong {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(29px,4.3vw,38px);font-weight:600;
  white-space:nowrap;
}
.order-screen aside.cart #checkout {
  background:#292e29!important;color:#fff!important;
  border:1px solid #292e29!important;border-radius:5px!important;
  font-family:'DM Sans',Arial,sans-serif!important;
  font-size:14px!important;font-weight:600!important;
  letter-spacing:.035em;min-height:54px;
}
.order-screen aside.cart #checkout:disabled {opacity:.48;cursor:not-allowed;}
.order-screen aside.cart .cartbottom small {color:var(--receipt-muted);font-size:11px;line-height:1.5;}
.order-screen .order-floating-cart {background:#292e29!important;border-radius:6px!important;box-shadow:0 9px 24px rgba(25,25,22,.18);}
.order-screen .order-floating-cart .order-bar-cart-line {font-family:'DM Sans',Arial,sans-serif;font-weight:600;}
.order-screen .order-floating-cart .order-bar-ordered-line {font-family:'DM Sans',Arial,sans-serif;font-weight:400;letter-spacing:.015em;}
@media(max-width:600px){
  .order-screen aside.cart .carthead{padding:20px 18px 15px;}
  .order-screen aside.cart .cartitems{padding:10px 18px 15px;}
  .order-screen aside.cart .ordered-items{padding:5px 18px 17px;}
  .order-screen aside.cart .cartbottom{padding:19px 18px 23px;}
  .order-screen aside.cart .cartrow{gap:8px;}
}


/* ===== BOTTOM-BAR ===== */
/* TableOrder MenuBook V10 – kompakte, immer sichtbare Bestellleiste.
   Nur Layout; Summen und Öffnen des Warenkorbs bleiben in order.js. */
@media (max-width:1000px) {
  body.restaurant-theme.order-screen { --menubook-bar-height:62px; }
  body.restaurant-theme.order-screen .order-floating-cart {
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    left:12px!important;
    right:12px!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    width:calc(100% - 24px)!important;
    min-height:var(--menubook-bar-height)!important;
    padding:10px 17px!important;
    border:1px solid #555b52!important;
    border-radius:10px!important;
    background:#292e29!important;
    color:#fff!important;
    box-shadow:0 5px 17px rgba(25,25,22,.17)!important;
    text-align:left!important;
    font-family:'DM Sans',Arial,sans-serif!important;
    line-height:1.3!important;
  }
  body.restaurant-theme.order-screen .order-floating-cart .order-bar-cart-line {
    flex:1 1 auto;min-width:0;display:block!important;
    font-size:clamp(13px,1.7vw,16px)!important;
    font-weight:600!important;line-height:1.35!important;
  }
  body.restaurant-theme.order-screen .order-floating-cart .order-bar-ordered-line {
    flex:0 0 auto;display:block!important;
    padding-left:14px;border-left:1px solid rgba(255,255,255,.24);
    font-size:clamp(12px,1.5vw,14px)!important;
    font-weight:500!important;color:#e4d9c7!important;opacity:1!important;
    white-space:nowrap;
  }
  body.restaurant-theme.order-screen>main {padding-bottom:calc(90px + env(safe-area-inset-bottom))!important;}
  body.restaurant-theme.order-screen .order-floating-cart:focus-visible {outline:3px solid #b89c73;outline-offset:3px;}
}
@media (max-width:560px) {
  body.restaurant-theme.order-screen { --menubook-bar-height:66px; }
  body.restaurant-theme.order-screen .order-floating-cart {
    flex-direction:column!important;align-items:stretch!important;
    justify-content:center!important;gap:2px!important;
    padding:9px 15px!important;
  }
  body.restaurant-theme.order-screen .order-floating-cart .order-bar-cart-line {font-size:14px!important;flex:none;}
  body.restaurant-theme.order-screen .order-floating-cart .order-bar-ordered-line {
    padding-left:0;border-left:0;flex:none;font-size:12px!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  body.restaurant-theme.order-screen .order-floating-cart {transition:none!important;}
}


/* ===== HEADER ===== */
/* TableOrder MenuBook V11: ruhiger Premium-Restaurantkopf, nur Gastansicht. */
body.restaurant-theme.order-screen>header{
  background:#f7f3eb!important;
  border-bottom:1px solid #ded5c7!important;
  box-shadow:0 3px 15px rgba(47,39,26,.035)!important;
  min-height:88px!important;
  padding:13px clamp(18px,3vw,46px)!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:20px!important;
}
body.restaurant-theme.order-screen>header .brand{
  min-width:0!important;max-width:60%;font-family:'Cormorant Garamond',Georgia,serif!important;
  font-size:clamp(24px,3vw,35px)!important;font-weight:600!important;
  letter-spacing:.015em!important;color:#302a25!important;
}
body.restaurant-theme.order-screen>header .brand img{
  max-height:64px!important;max-width:min(100%,240px)!important;object-fit:contain!important;
}
body.restaurant-theme.order-screen .guest-header-controls{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  flex-wrap:nowrap!important;gap:12px!important;min-width:0;
}
body.restaurant-theme.order-screen .guest-language-label{
  color:#766a5c!important;font-family:'DM Sans',Arial,sans-serif!important;
  font-size:12px!important;font-weight:500!important;white-space:nowrap;
}
body.restaurant-theme.order-screen #guest-language{
  min-height:40px!important;max-width:125px!important;padding:7px 26px 7px 11px!important;
  border:1px solid #d8cebf!important;border-radius:7px!important;
  background:#fffcf6!important;color:#37312a!important;
  box-shadow:none!important;font-family:'DM Sans',Arial,sans-serif!important;
  font-size:12px!important;font-weight:500!important;
}
body.restaurant-theme.order-screen .to-call-waiter{
  width:42px!important;height:42px!important;min-width:42px!important;
  border:1px solid #d5c8b6!important;border-radius:50%!important;
  background:#f1e9dc!important;color:#3d392f!important;
  box-shadow:none!important;
}
body.restaurant-theme.order-screen .to-call-waiter svg{width:23px!important;height:23px!important}
body.restaurant-theme.order-screen .to-call-waiter:hover:not(:disabled){
  background:#e8ddca!important;box-shadow:0 2px 9px rgba(45,38,25,.08)!important;
}
body.restaurant-theme.order-screen .to-call-waiter.is-called{
  background:#286746!important;color:#fff!important;border-color:#286746!important;
}
body.restaurant-theme.order-screen .guest-header-controls .pill{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:40px!important;padding:8px 13px!important;
  background:transparent!important;border:1px solid #d8cebf!important;
  border-radius:7px!important;color:#6b5b49!important;
  font:600 11px/1.2 'DM Sans',Arial,sans-serif!important;
  letter-spacing:.075em!important;text-transform:uppercase!important;
  white-space:nowrap!important;box-shadow:none!important;
}
@media(max-width:700px){
  body.restaurant-theme.order-screen>header{min-height:73px!important;padding:10px 13px!important;gap:8px!important}
  body.restaurant-theme.order-screen>header .brand{max-width:42%;font-size:23px!important}
  body.restaurant-theme.order-screen>header .brand img{max-height:48px!important;max-width:100%!important}
  body.restaurant-theme.order-screen .guest-header-controls{gap:6px!important}
  body.restaurant-theme.order-screen .guest-language-label{display:none!important}
  body.restaurant-theme.order-screen #guest-language{max-width:92px!important;min-height:36px!important;font-size:11px!important;padding:5px 20px 5px 7px!important}
  body.restaurant-theme.order-screen .to-call-waiter{width:37px!important;height:37px!important;min-width:37px!important}
  body.restaurant-theme.order-screen .guest-header-controls .pill{min-height:36px!important;padding:7px 8px!important;font-size:10px!important}
}
@media(max-width:410px){
  body.restaurant-theme.order-screen>header .brand{max-width:36%;font-size:20px!important}
  body.restaurant-theme.order-screen #guest-language{max-width:72px!important}
  body.restaurant-theme.order-screen .guest-header-controls{gap:4px!important}
}


/* V13: klare Kapitel-Navigation und ruhige Seitenwechsel */
body.restaurant-theme.order-screen .menubook-breadcrumb{display:flex;align-items:center;gap:9px;min-width:0;color:#897a68;font:500 13px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.01em;}
body.restaurant-theme.order-screen .menubook-breadcrumb button{border:0;background:none;padding:8px 2px;color:#75644e;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:inherit;}
body.restaurant-theme.order-screen .menubook-breadcrumb [aria-current=page]{color:#302a25;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.restaurant-theme.order-screen .guest-category-back-icon{flex:none;}
body.restaurant-theme.order-screen .dish-detail-close{width:auto!important;min-width:44px!important;min-height:42px!important;padding:9px 15px!important;border-radius:6px!important;font:600 13px/1.2 'DM Sans',Arial,sans-serif!important;white-space:nowrap;}
body.restaurant-theme.order-screen .menubook-chapters,body.restaurant-theme.order-screen .products{animation:menubook-page-enter .22s ease-out both;}
@keyframes menubook-page-enter{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){body.restaurant-theme.order-screen .menubook-chapters,body.restaurant-theme.order-screen .products{animation:none!important}}
@media(max-width:600px){body.restaurant-theme.order-screen .menubook-breadcrumb{font-size:11px;gap:5px;}body.restaurant-theme.order-screen .dish-detail-close{font-size:12px!important;padding:8px 11px!important}}

/* V14 – Speisenseiten: Feintypografie, ruhige Bildproportionen, klare Preise. */
body.restaurant-theme.order-screen:not(.guest-category-landing) #menu{max-width:860px!important;padding-left:clamp(16px,3vw,32px)!important;padding-right:clamp(16px,3vw,32px)!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .products{border-top:1px solid #cbbda9!important;margin-top:20px!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .product{grid-template-columns:minmax(0,1fr) 142px!important;column-gap:clamp(18px,3vw,34px)!important;min-height:166px!important;padding:26px 2px!important;border-bottom-color:#ded3c3!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo h3{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:clamp(26px,3.1vw,34px)!important;font-weight:600!important;line-height:1.08!important;letter-spacing:-.012em!important;margin-bottom:10px!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo p{font-family:'DM Sans',Arial,sans-serif!important;font-size:13px!important;line-height:1.7!important;color:#786e63!important;margin-bottom:16px!important;max-width:55ch!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productvisual{width:142px!important;height:122px!important;background:#eee8df!important;border-radius:3px!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productvisual img{object-fit:cover!important;object-position:center!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot{justify-content:flex-start!important;gap:22px!important;flex-wrap:wrap!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot strong{font-family:'DM Sans',Arial,sans-serif!important;font-size:15px!important;font-weight:600!important;font-variant-numeric:tabular-nums!important;letter-spacing:.005em!important;order:0}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot button{font-family:'DM Sans',Arial,sans-serif!important;font-size:12px!important;font-weight:600!important;min-height:42px!important;padding:10px 18px!important;border-radius:5px!important;order:1;transition:background .16s ease,border-color .16s ease!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot button:hover:not(:disabled){background:#e9dfd0!important;border-color:#8e785a!important}
body.restaurant-theme.order-screen:not(.guest-category-landing) .product:focus-within{outline-offset:2px}
@media(max-width:600px){
 body.restaurant-theme.order-screen:not(.guest-category-landing) .product{grid-template-columns:minmax(0,1fr) 112px!important;gap:14px!important;min-height:145px!important;padding:22px 0!important}
 body.restaurant-theme.order-screen:not(.guest-category-landing) .productvisual{width:112px!important;height:106px!important}
 body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo h3{font-size:27px!important}
 body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo p{font-size:12px!important;line-height:1.55!important;margin-bottom:12px!important}
 body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot{gap:12px!important}
 body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot button{min-height:40px!important;padding:9px 12px!important}
}
@media(max-width:380px){
 body.restaurant-theme.order-screen:not(.guest-category-landing) .product{grid-template-columns:minmax(0,1fr) 88px!important;gap:10px!important}
 body.restaurant-theme.order-screen:not(.guest-category-landing) .productvisual{width:88px!important;height:90px!important}
 body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo h3{font-size:24px!important}
}

/* V15 – Produktdetails: kompakte Bildfläche und eigenständige Zurück-Navigation.
   Bewusst am Ende der konsolidierten Datei: ältere Tablet-Regeln überschreiben
   sonst Bildhöhe, Innenabstände und Position des Zurück-Buttons. */
body.restaurant-theme.order-screen .dish-detail-panel .dish-detail-content{
  min-height:0!important;
}
body.restaurant-theme.order-screen .dish-detail-panel .dish-detail-description{
  margin-bottom:16px!important;
}
body.restaurant-theme.order-screen .dish-detail-panel .dish-detail-footer{
  margin-top:20px!important;
  padding-top:18px!important;
}
@media (max-width:700px){
  body.restaurant-theme.order-screen .dish-detail-overlay{
    padding:10px!important;
  }
  body.restaurant-theme.order-screen .dish-detail-panel{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    width:min(480px,100%)!important;
    max-height:calc(100dvh - 20px)!important;
    overflow-y:auto!important;
    padding:16px 18px 20px!important;
  }
  body.restaurant-theme.order-screen .dish-detail-panel .dish-detail-close{
    position:static!important;
    order:-2!important;
    align-self:flex-end!important;
    width:auto!important;
    height:auto!important;
    min-height:40px!important;
    margin:0 0 12px!important;
    padding:9px 13px!important;
    border-radius:5px!important;
    box-shadow:none!important;
    background:#f9f5ee!important;
  }
  body.restaurant-theme.order-screen .dish-detail-panel > img.dish-detail-image{
    order:-1!important;
    display:block!important;
    width:100%!important;
    height:clamp(145px,24dvh,210px)!important;
    min-height:0!important;
    max-height:210px!important;
    max-width:none!important;
    flex:none!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
    margin:0!important;
    padding:0!important;
    border-radius:3px!important;
  }
  body.restaurant-theme.order-screen .dish-detail-panel > .dish-detail-content{
    padding:20px 4px 0!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body.restaurant-theme.order-screen .dish-detail-panel .dish-detail-kicker{
    margin:0 0 12px!important;
  }
  body.restaurant-theme.order-screen .dish-detail-panel .dish-detail-content h2{
    margin-bottom:10px!important;
  }
  body.restaurant-theme.order-screen .dish-detail-panel .dish-detail-description{
    margin-bottom:14px!important;
    line-height:1.55!important;
  }
  body.restaurant-theme.order-screen .dish-detail-panel .dish-detail-footer{
    margin-top:14px!important;
    padding-top:16px!important;
    gap:12px!important;
  }
}


/* V16 – Lesefluss auf Tablet: Kapitel, Speisen und klare Bedienbarkeit */
body.restaurant-theme.order-screen .menubook-chapters{max-width:760px;margin-inline:auto;}
body.restaurant-theme.order-screen .menubook-chapter{
  min-height:76px;transition:background-color .18s ease,transform .18s ease;
}
body.restaurant-theme.order-screen .menubook-chapter:hover{background:rgba(177,153,115,.075)!important;}
body.restaurant-theme.order-screen .menubook-chapter:active{transform:translateY(1px);}
body.restaurant-theme.order-screen .menubook-chapter:focus-visible{outline:2px solid #927450!important;outline-offset:-3px;}
body.restaurant-theme.order-screen .menubook-breadcrumb{margin-bottom:12px;}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo h3{
  overflow-wrap:anywhere;text-wrap:balance;
}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo p{
  overflow-wrap:break-word;text-wrap:pretty;
}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot strong{
  white-space:nowrap;font-variant-numeric:tabular-nums;
}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot button:focus-visible{
  outline:2px solid #927450!important;outline-offset:3px;
}
/* Platz für die dauerhaft sichtbare Bestellleiste; letztes Gericht bleibt erreichbar. */
body.restaurant-theme.order-screen:not(.guest-category-landing) #menu{padding-bottom:max(125px,env(safe-area-inset-bottom) + 110px)!important;}
@media(max-width:700px){
  body.restaurant-theme.order-screen .menubook-chapter{min-height:72px;}
  body.restaurant-theme.order-screen:not(.guest-category-landing) .product{
    align-items:start!important;
  }
  body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot{
    row-gap:10px!important;
  }
}
@media(max-width:410px){
  body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo h3{font-size:24px!important;}
  body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot button{font-size:12px!important;}
}
@media(prefers-reduced-motion:reduce){
  body.restaurant-theme.order-screen .menubook-chapter{transition:none!important;}
}

/* V17 – Digitale Titelseite, nur beim ersten Öffnen einer Tischsitzung */
body.restaurant-theme .menubook-cover[hidden]{display:none!important}
body.restaurant-theme .menubook-cover{position:fixed;inset:0;z-index:100000;background:#272a26;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,28px);overflow:auto}
body.restaurant-theme .menubook-cover-page{width:min(100%,700px);min-height:min(730px,calc(100dvh - 40px));box-sizing:border-box;background:#f5f0e7;border:1px solid #bca98b;box-shadow:0 15px 60px #0005;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(24px,6vw,62px);color:#302b25}
body.restaurant-theme .menubook-cover-top,body.restaurant-theme .menubook-cover-foot{font:600 11px/1.5 'DM Sans',sans-serif;letter-spacing:.24em;color:#917c60}
body.restaurant-theme .menubook-cover-brand{margin:35px 0 24px;max-width:100%;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,6vw,48px);color:#292823;overflow-wrap:anywhere}
body.restaurant-theme .menubook-cover-brand img{display:block;max-height:105px;max-width:min(100%,330px);object-fit:contain;margin:auto}
body.restaurant-theme .menubook-cover-rule{width:70px;height:1px;background:#a98e69;margin:0 auto 24px}
body.restaurant-theme .menubook-cover h1{font:500 clamp(38px,8vw,66px)/1.08 'Cormorant Garamond',Georgia,serif;color:#292823;margin:0 0 15px}
body.restaurant-theme .menubook-cover p{font:400 15px/1.7 'DM Sans',sans-serif;color:#6f675c;max-width:350px;margin:0 0 36px}
body.restaurant-theme #menubook-cover-open{min-height:52px;border:1px solid #292e29;border-radius:4px;background:#292e29;color:#fff;font:600 14px 'DM Sans',sans-serif;letter-spacing:.025em;padding:13px 28px;cursor:pointer}
body.restaurant-theme #menubook-cover-open:focus-visible{outline:3px solid #a98e69;outline-offset:4px}
body.restaurant-theme .menubook-cover-foot{margin-top:55px}
@media(max-height:640px){body.restaurant-theme .menubook-cover-page{min-height:0;padding-top:22px;padding-bottom:22px}body.restaurant-theme .menubook-cover-brand{margin:15px 0}body.restaurant-theme .menubook-cover-foot{margin-top:25px}}

/* V18 – dezente Buchseiten-Übergänge (keine 3D-Drehung, kein Layoutsprung) */
@keyframes menubook-page-appear {
  from { opacity:.35; transform:translateY(7px); }
  to { opacity:1; transform:translateY(0); }
}
body.restaurant-theme.order-screen #menu.menubook-page-enter {
  animation:menubook-page-appear 220ms cubic-bezier(.2,.65,.25,1) both;
}
@media (prefers-reduced-motion:reduce) {
  body.restaurant-theme.order-screen #menu.menubook-page-enter { animation:none!important; }
}

/* V19 – Tablet-Hochformat: Galaxy Tab A11 (CSS-Viewport, nicht physische Pixel) */
@media (min-width: 540px) and (max-width: 900px) and (orientation: portrait) {
  body.restaurant-theme.order-screen main {
    box-sizing: border-box;
    width: 100%;
  }
  body.restaurant-theme.order-screen .menubook-chapters {
    width: min(100%, 690px);
    margin-inline: auto;
  }
  body.restaurant-theme.order-screen .menubook-chapter {
    min-height: 82px;
    box-sizing: border-box;
  }
  body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo h3 {
    font-size: clamp(25px, 3.5vw, 31px) !important;
    line-height: 1.15 !important;
  }
  body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo p {
    line-height: 1.55 !important;
  }
  body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot button {
    min-height: 46px !important;
    padding: 11px 16px !important;
  }
  body.restaurant-theme.order-screen .dish-detail-overlay {
    padding: 14px;
  }
  body.restaurant-theme.order-screen .dish-detail-panel {
    box-sizing: border-box;
    width: min(100%, 620px);
    max-height: calc(100dvh - 28px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  body.restaurant-theme.order-screen .dish-detail-panel > img.dish-detail-image {
    max-height: min(250px, 28dvh) !important;
    object-fit: cover;
  }
  body.restaurant-theme.order-screen .dish-detail-panel .dish-detail-footer button {
    min-height: 48px;
  }
  body.restaurant-theme.order-screen:not(.guest-category-landing) #menu {
    padding-bottom: max(140px, calc(env(safe-area-inset-bottom) + 125px)) !important;
  }
}
@media (max-width: 900px) and (orientation: portrait) {
  body.restaurant-theme.order-screen .menubook-chapter,
  body.restaurant-theme.order-screen:not(.guest-category-landing) .productfoot button {
    touch-action: manipulation;
  }
}


/* V20 – Premium-Titelseite: abgestimmt auf das schwarze MenuBook-Gehäuse */
body.restaurant-theme .menubook-cover {
  background: radial-gradient(ellipse at 50% 35%, #42433b 0%, #242824 65%, #191c19 100%);
  padding: clamp(12px, 3.5vw, 30px);
}
body.restaurant-theme .menubook-cover-page {
  position: relative;
  isolation: isolate;
  width: min(100%, 620px);
  min-height: min(760px, calc(100dvh - 34px));
  padding: clamp(32px, 7vw, 72px) clamp(24px, 6vw, 60px);
  background: linear-gradient(145deg, #faf7f0 0%, #f3ede2 100%);
  border: 1px solid #c5b597;
  outline: 1px solid rgba(255,255,255,.22);
  outline-offset: -10px;
  box-shadow: 0 25px 80px rgba(0,0,0,.38), inset 0 0 0 8px rgba(170,145,110,.055);
}
body.restaurant-theme .menubook-cover-page::before,
body.restaurant-theme .menubook-cover-page::after {
  content: '';
  position: absolute;
  pointer-events: none;
  inset: 22px;
  border: 1px solid rgba(166,143,109,.28);
  z-index: -1;
}
body.restaurant-theme .menubook-cover-page::after {
  inset: 28px;
  border-color: rgba(166,143,109,.09);
}
body.restaurant-theme .menubook-cover-top {
  font-size: 10px;
  letter-spacing: .32em;
  color: #8b765a;
}
body.restaurant-theme .menubook-cover-brand {
  margin: clamp(24px, 5dvh, 48px) 0 clamp(18px, 3dvh, 30px);
  font-size: clamp(30px, 5.5vw, 52px);
  line-height: 1.08;
}
body.restaurant-theme .menubook-cover-brand img {
  max-height: 96px;
  max-width: min(100%, 300px);
}
body.restaurant-theme .menubook-cover-rule {
  width: 64px;
  margin-bottom: clamp(20px, 4dvh, 34px);
  background: #b59b73;
}
body.restaurant-theme .menubook-cover h1 {
  max-width: 440px;
  font-size: clamp(42px, 7.5vw, 68px);
  line-height: 1.02;
  letter-spacing: -.015em;
  text-wrap: balance;
}
body.restaurant-theme .menubook-cover p {
  font-size: clamp(13px, 1.7vw, 15px);
  line-height: 1.75;
  margin-bottom: clamp(25px, 4dvh, 38px);
}
body.restaurant-theme #menubook-cover-open {
  min-height: 52px;
  border-radius: 2px;
  background: #292e29;
  border-color: #292e29;
  padding: 13px 28px;
  transition: background .18s ease, transform .18s ease;
}
body.restaurant-theme #menubook-cover-open:hover { background: #3d473c; }
body.restaurant-theme #menubook-cover-open:active { transform: translateY(1px); }
body.restaurant-theme .menubook-cover-foot {
  margin-top: clamp(30px, 6dvh, 64px);
  font-size: 10px;
  letter-spacing: .27em;
}
@media (max-width: 600px), (max-height: 740px) {
  body.restaurant-theme .menubook-cover-page {
    min-height: min(640px, calc(100dvh - 24px));
    padding: 30px 26px;
  }
  body.restaurant-theme .menubook-cover-page::before { inset: 13px; }
  body.restaurant-theme .menubook-cover-page::after { inset: 18px; }
  body.restaurant-theme .menubook-cover-brand { margin: 22px 0 17px; }
  body.restaurant-theme .menubook-cover-rule { margin-bottom: 20px; }
  body.restaurant-theme .menubook-cover-foot { margin-top: 28px; }
}
@media (max-height: 540px) {
  body.restaurant-theme .menubook-cover { align-items: flex-start; }
  body.restaurant-theme .menubook-cover-page { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.restaurant-theme #menubook-cover-open { transition: none; }
}

/* V22 – langsamer, durchgehender Buchauftakt mit überlappender Enthüllung. */
body.restaurant-theme .menubook-cover {
  perspective: 1400px;
  opacity: 1;
  transition: opacity 900ms cubic-bezier(.42,0,.18,1);
}
body.restaurant-theme .menubook-cover-page {
  transform-origin: 8% 50%;
  backface-visibility: hidden;
  will-change: transform, opacity;
  transition: transform 900ms cubic-bezier(.42,0,.18,1),
              opacity 900ms cubic-bezier(.42,0,.18,1);
}
body.restaurant-theme .menubook-cover.menubook-cover-opening {
  opacity: 0;
  pointer-events: none;
}
body.restaurant-theme .menubook-cover.menubook-cover-opening .menubook-cover-page {
  transform: perspective(1400px) rotateY(-9deg) translateX(-12px) scale(.992);
  opacity: .78;
}
/* Kapitelübersicht beginnt bereits unter der weich ausblendenden Titelseite. */
body.restaurant-theme.menubook-cover-visible main { opacity: .86; transform: translateY(9px); }
body.restaurant-theme.menubook-cover-visible main {
  transition: opacity 850ms cubic-bezier(.22,.65,.2,1),
              transform 850ms cubic-bezier(.22,.65,.2,1);
}
body.restaurant-theme.menubook-cover-opening-active main { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  body.restaurant-theme .menubook-cover,
  body.restaurant-theme .menubook-cover-page,
  body.restaurant-theme.menubook-cover-visible main { transition: none !important; }
}

/* V23 – Inhaltsverzeichnis mit ruhiger, informativer Kapitelhierarchie. */
body.restaurant-theme.order-screen.guest-category-landing .guest-category-card.menubook-chapter {
  grid-template-columns: 42px minmax(0, 1fr) 28px;
  min-height: 88px;
  padding-block: 17px !important;
}
body.restaurant-theme.order-screen .menubook-chapter-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
}
body.restaurant-theme.order-screen .menubook-chapter-count {
  display: block;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: .075em;
  color: #85786a;
}
body.restaurant-theme.order-screen.guest-category-landing .menubook-chapter .guest-category-label {
  overflow-wrap: anywhere;
}
body.restaurant-theme.order-screen.guest-category-landing .menubook-chapter:active {
  background: rgba(165,139,102,.11) !important;
}
@media (max-width: 600px) {
  body.restaurant-theme.order-screen.guest-category-landing .guest-category-card.menubook-chapter {
    grid-template-columns: 30px minmax(0, 1fr) 22px;
    min-height: 80px;
    padding-block: 14px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.restaurant-theme.order-screen.guest-category-landing .guest-category-card.menubook-chapter { transition: none !important; }
}


/* V24 – diskrete Buchkapitel-Navigation in geöffneter Kategorie */
.menubook-chapter-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:12px 0 6px;padding:10px 0;border-top:1px solid rgba(139,115,85,.24);border-bottom:1px solid rgba(139,115,85,.24)}
.menubook-chapter-step{display:inline-flex;align-items:center;gap:9px;max-width:49%;min-height:46px;padding:8px 10px;border:0;border-radius:5px;background:transparent;color:#514636;font-family:'DM Sans',sans-serif;font-size:13px;line-height:1.35;text-align:left;cursor:pointer}
.menubook-chapter-step.is-next{margin-left:auto;text-align:right;justify-content:flex-end}
.menubook-chapter-step .menubook-step-arrow{font-size:19px;flex-shrink:0;color:#a18762}
.menubook-chapter-step span:not(.menubook-step-arrow){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menubook-chapter-step:hover,.menubook-chapter-step:focus-visible{background:rgba(161,135,99,.1)}
.menubook-chapter-step:focus-visible{outline:2px solid #a18762;outline-offset:2px}
.menubook-chapter-step:disabled{visibility:hidden;pointer-events:none}
@media(max-width:540px){.menubook-chapter-navigation{gap:4px}.menubook-chapter-step{font-size:12px;padding:7px 4px}}

/* V25 – Abschluss einer Speisenseite mit Verweis auf das folgende Buchkapitel */
body.restaurant-theme.order-screen .menubook-chapter-ending{margin:34px auto 18px;padding:24px 16px 18px;max-width:650px;text-align:center;border-top:1px solid rgba(139,115,85,.2)}
body.restaurant-theme.order-screen .menubook-ending-ornament{display:block;width:48px;height:1px;margin:0 auto 15px;background:#ae9471}
body.restaurant-theme.order-screen .menubook-ending-hint{margin:0 0 12px;font-family:'DM Sans',Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.17em;color:#97846c}
body.restaurant-theme.order-screen .menubook-ending-next{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:10px;row-gap:4px;width:100%;min-height:58px;padding:10px 14px;border:1px solid rgba(139,115,85,.25);border-radius:4px;background:rgba(250,247,240,.65);color:#302a25;cursor:pointer}
body.restaurant-theme.order-screen .menubook-ending-next:hover{background:#efe7da}
body.restaurant-theme.order-screen .menubook-ending-next:focus-visible{outline:2px solid #a18762;outline-offset:3px}
body.restaurant-theme.order-screen .menubook-ending-lead{font-family:'DM Sans',Arial,sans-serif;font-size:12px;color:#766a5c}
body.restaurant-theme.order-screen .menubook-ending-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;font-weight:600;line-height:1.1}
body.restaurant-theme.order-screen .menubook-ending-arrow{font-size:22px;color:#9c805b}
@media(max-width:600px){body.restaurant-theme.order-screen .menubook-chapter-ending{margin-top:25px;padding:20px 8px 16px}body.restaurant-theme.order-screen .menubook-ending-title{font-size:23px}}

/* V26 – Lange Speisekarten: weitere Gerichte in überschaubaren Portionen anzeigen. */
body.restaurant-theme.order-screen .menubook-show-more{display:block;width:min(100%,650px);min-height:54px;margin:26px auto 16px;padding:13px 20px;background:#f5efe5;border:1px solid #cdbda8;border-radius:4px;color:#463c31;font:600 14px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.015em;cursor:pointer;text-align:center}
body.restaurant-theme.order-screen .menubook-show-more:hover{background:#eee3d3}
body.restaurant-theme.order-screen .menubook-show-more:focus-visible{outline:2px solid #9c805b;outline-offset:3px}
body.restaurant-theme.order-screen .menubook-show-more[hidden],body.restaurant-theme.order-screen .menubook-chapter-ending[hidden]{display:none!important}

/* V27: ruhige, tabletgerechte Suche in der Kapitelübersicht */
.menubook-search{max-width:720px;margin:12px auto 24px;padding:0 16px}
.menubook-search-toggle{display:block;width:100%;min-height:48px;border:1px solid #cbbda7;border-radius:3px;background:transparent;color:#655642;font:500 14px 'DM Sans',sans-serif;letter-spacing:.025em;cursor:pointer}
.menubook-search-panel{padding:14px 0 0}
.menubook-search-panel[hidden]{display:none!important}
.menubook-search-input{box-sizing:border-box;width:100%;min-height:48px;padding:12px 15px;border:1px solid #cbbda7;border-radius:3px;background:#fffdf8;color:#302a25;font:16px 'DM Sans',sans-serif}
.menubook-search-input:focus-visible,.menubook-search-toggle:focus-visible,.menubook-search-result:focus-visible{outline:2px solid #a58b66;outline-offset:3px}
.menubook-search-results{max-height:360px;overflow:auto;overscroll-behavior:contain}
.menubook-search-summary{margin:14px 0 4px;color:#85786a;font:13px 'DM Sans',sans-serif}
.menubook-search-result{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:60px;padding:11px 3px;border:0;border-bottom:1px solid #ded4c7;background:transparent;text-align:left;color:#302a25;cursor:pointer}
.menubook-search-result-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.menubook-search-result-copy strong{font:500 23px 'Cormorant Garamond',Georgia,serif}
.menubook-search-result-copy small{font:12px 'DM Sans',sans-serif;color:#85786a}
.menubook-search-price{white-space:nowrap;font:500 14px 'DM Sans',sans-serif}

/* V28 – strukturierte, ruhige Gerichtsinformationen */
body.restaurant-theme.order-screen .menubook-dish-information{margin:18px 0 6px;display:grid;gap:15px;}
body.restaurant-theme.order-screen .menubook-dish-description-section h3{margin:0 0 7px;color:#a18a68;font:600 11px/1.5 'DM Sans',sans-serif;letter-spacing:.13em;text-transform:uppercase;}
body.restaurant-theme.order-screen .menubook-dish-description-section .dish-detail-description{margin:0;color:#50483e;line-height:1.65;}
body.restaurant-theme.order-screen .menubook-dish-allergens{border-top:1px solid #dfd4c5;border-bottom:1px solid #dfd4c5;padding:12px 0;color:#50483e;}
body.restaurant-theme.order-screen .menubook-dish-allergens summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font:500 13px/1.5 'DM Sans',sans-serif;}
body.restaurant-theme.order-screen .menubook-dish-allergens summary::-webkit-details-marker{display:none;}
body.restaurant-theme.order-screen .menubook-dish-allergens summary::after{content:'+';font-size:19px;font-weight:400;color:#a18a68;}
body.restaurant-theme.order-screen .menubook-dish-allergens[open] summary::after{content:'−';}
body.restaurant-theme.order-screen .menubook-dish-allergens p{margin:12px 0 2px;font:400 13px/1.65 'DM Sans',sans-serif;color:#756b5f;}
body.restaurant-theme.order-screen .menubook-dish-allergens summary:focus-visible{outline:2px solid #a18a68;outline-offset:4px;}


/* V31 – fotorealistische Leder-Titelseite. Text und Button bleiben echtes HTML. */
body.restaurant-theme .menubook-cover {
  background: #100c09;
  padding: clamp(8px, 1.8vw, 22px);
  overflow: auto;
}
body.restaurant-theme .menubook-cover-page {
  position: relative;
  isolation: isolate;
  width: min(100%, 980px);
  min-height: min(780px, calc(100dvh - 26px));
  box-sizing: border-box;
  border: 1px solid #967146;
  outline: 1px solid rgba(222,177,105,.45);
  outline-offset: -12px;
  padding: clamp(36px, 5dvh, 70px) clamp(22px, 8vw, 90px);
  color: #e8bf7b;
  background:
    radial-gradient(ellipse at 50% 44%, rgba(29,19,13,.13), rgba(0,0,0,.68) 95%),
    linear-gradient(110deg, rgba(12,8,5,.18), rgba(16,10,6,.04) 60%, rgba(0,0,0,.5)),
    url('menubook-leather.webp') center / 620px auto repeat;
  box-shadow: inset 0 0 0 5px rgba(0,0,0,.48), inset 0 0 70px rgba(0,0,0,.75), 0 25px 85px rgba(0,0,0,.75);
  text-shadow: 0 2px 2px rgba(0,0,0,.9);
  overflow: hidden;
}
body.restaurant-theme .menubook-cover-page::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 18px;
  pointer-events: none;
  border: 1px solid rgba(215,161,86,.5);
  background: radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(0,0,0,.35) 100%);
}
body.restaurant-theme .menubook-cover-page::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0 0 0 auto;
  width: 31%;
  pointer-events: none;
  background: url('menubook-cutlery.webp') right center / contain no-repeat;
  opacity: .53;
}
body.restaurant-theme .menubook-cover-top,
body.restaurant-theme .menubook-cover-foot {
  color: #d2a766;
  font: 500 clamp(10px,1.4vw,13px)/1.5 'DM Sans',sans-serif;
  letter-spacing: .28em;
}
body.restaurant-theme .menubook-cover-top { order: 1; }
body.restaurant-theme .menubook-cover-brand {
  order: 0;
  margin: 0 0 clamp(14px,3dvh,30px);
  font: 500 clamp(37px,7vw,74px)/1.02 'Cormorant Garamond',Georgia,serif;
  color: #e8bd79;
  max-width: 100%;
  filter: drop-shadow(0 2px 1px #000);
}
body.restaurant-theme .menubook-cover-brand img {
  max-height: clamp(72px, 13dvh, 115px);
  max-width: min(100%,330px);
  object-fit: contain;
}
body.restaurant-theme .menubook-cover-rule {
  order: 3;
  margin: 0 auto clamp(20px,4dvh,34px);
  width: min(70%,420px);
  height: 1px;
  background: linear-gradient(90deg, transparent,#d9a35b,transparent);
}
body.restaurant-theme .menubook-cover h1 {
  order: 2;
  font: 500 clamp(39px,7vw,76px)/1.08 'Cormorant Garamond',Georgia,serif;
  color: #e8bd79;
  margin: clamp(16px,3dvh,32px) 0 clamp(12px,2dvh,24px);
  text-transform: none;
  max-width: 760px;
}
body.restaurant-theme .menubook-cover p {
  order: 4;
  font: italic 400 clamp(17px,2.3vw,25px)/1.48 'Cormorant Garamond',Georgia,serif;
  color: #e4b87c;
  max-width: 510px;
  margin: 0 0 clamp(26px,5dvh,46px);
}
body.restaurant-theme #menubook-cover-open {
  order: 5;
  min-height: 62px;
  min-width: min(100%,345px);
  padding: 15px 28px;
  background: linear-gradient(145deg,rgba(55,34,20,.95),rgba(20,12,8,.98));
  color: #efc686;
  border: 1px solid #d3a161;
  box-shadow: inset 0 0 0 3px rgba(12,7,4,.9), inset 0 0 0 4px rgba(210,153,79,.35), 0 10px 20px rgba(0,0,0,.45);
  font: 500 clamp(17px,2vw,23px)/1.2 'Cormorant Garamond',Georgia,serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 3px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
body.restaurant-theme #menubook-cover-open:hover {
  background: linear-gradient(145deg,#59371f,#2b190d);
  box-shadow: inset 0 0 0 3px rgba(12,7,4,.9), inset 0 0 0 4px rgba(210,153,79,.6), 0 12px 24px rgba(0,0,0,.6);
}
body.restaurant-theme #menubook-cover-open:focus-visible { outline: 3px solid #ffe0a5; outline-offset: 5px; }
body.restaurant-theme .menubook-cover-foot { order: 6; margin-top: clamp(22px,4dvh,48px); }
@media (max-width: 700px) {
  body.restaurant-theme .menubook-cover-page { width:100%; padding: 32px 25px; min-height: min(710px, calc(100dvh - 20px)); }
  body.restaurant-theme .menubook-cover-page::after { opacity: .18; width: 45%; }
  body.restaurant-theme .menubook-cover-page::before { inset: 13px; }
  body.restaurant-theme .menubook-cover h1 { font-size: clamp(37px,8.5vw,59px); }
  body.restaurant-theme .menubook-cover p { font-size: clamp(17px,4.2vw,23px); }
}
@media (max-height: 640px) {
  body.restaurant-theme .menubook-cover-page { min-height: 0; padding-top: 26px; padding-bottom: 26px; }
  body.restaurant-theme .menubook-cover-brand { margin-bottom: 8px; }
  body.restaurant-theme .menubook-cover h1 { margin-top: 10px; margin-bottom: 10px; }
  body.restaurant-theme .menubook-cover p { margin-bottom: 17px; }
  body.restaurant-theme .menubook-cover-foot { margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body.restaurant-theme #menubook-cover-open { transition: none; }
}


/* V32 – Typografie für die komplette Gäste-Speisekarte.
   Bodoni Moda: Kapitel und große Titel; Cormorant Garamond: Gerichte;
   DM Sans: gut lesbare Fließtexte, Preise und Bedienoberfläche. */
body.restaurant-theme.order-screen {
  --menu-font-display: 'Bodoni Moda', 'Times New Roman', serif;
  --menu-font-dish: 'Cormorant Garamond', Georgia, serif;
  --menu-font-body: 'DM Sans', Arial, sans-serif;
  font-family: var(--menu-font-body);
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
}
body.restaurant-theme.order-screen .menubook-index-title,
body.restaurant-theme.order-screen .menubook-section-title,
body.restaurant-theme.order-screen .menubook-category-title,
body.restaurant-theme.order-screen .guest-category-title,
body.restaurant-theme.order-screen .menubook-landing-title,
body.restaurant-theme.order-screen #menu > h1,
body.restaurant-theme.order-screen #menu > h2,
body.restaurant-theme.order-screen .menubook-chapters-heading,
body.restaurant-theme.order-screen .menubook-ending-title {
  font-family: var(--menu-font-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
  line-height: 1.22 !important;
  text-wrap: balance;
}
body.restaurant-theme.order-screen .menubook-chapter .guest-category-label,
body.restaurant-theme.order-screen .menubook-chapter-text .guest-category-label {
  font-family: var(--menu-font-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.018em !important;
  line-height: 1.25 !important;
}
body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo h3,
body.restaurant-theme.order-screen .dish-detail-content h1,
body.restaurant-theme.order-screen .dish-detail-content h2,
body.restaurant-theme.order-screen .dish-detail-title {
  font-family: var(--menu-font-dish) !important;
  font-weight: 600 !important;
  letter-spacing: -.018em !important;
  line-height: 1.13 !important;
  text-wrap: balance;
}
body.restaurant-theme.order-screen .productinfo p,
body.restaurant-theme.order-screen .dish-detail-content p,
body.restaurant-theme.order-screen .menubook-chapter-count,
body.restaurant-theme.order-screen .productfoot,
body.restaurant-theme.order-screen .menubook-chapter-step,
body.restaurant-theme.order-screen button,
body.restaurant-theme.order-screen input,
body.restaurant-theme.order-screen select,
body.restaurant-theme.order-screen .cart {
  font-family: var(--menu-font-body) !important;
}
/* Der Lederumschlag behält sein warmes, klassisches Gold-Layout. */
body.restaurant-theme .menubook-cover h1 {
  font-family: 'Bodoni Moda', 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: -.025em !important;
  line-height: 1.18 !important;
}
@media (max-width: 600px) {
  body.restaurant-theme.order-screen .menubook-chapter .guest-category-label {letter-spacing:-.012em!important;}
  body.restaurant-theme.order-screen:not(.guest-category-landing) .productinfo h3 {line-height:1.15!important;}
}

/* V33: Nur die Begruessung auf dem Lederumschlag in Mea Culpa. */
body.restaurant-theme .menubook-cover #menubook-cover-title {
  font-family: 'Mea Culpa', 'Cormorant Garamond', cursive !important;
  font-size: clamp(54px, 9.4vw, 104px) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-wrap: balance;
}
@media (max-width: 600px) {
  body.restaurant-theme .menubook-cover #menubook-cover-title {
    font-size: clamp(48px, 10.5vw, 70px) !important;
    line-height: 1.15 !important;
  }
}

/* V34: Speisekarten-Ueberschrift in Mea Culpa, andere Titel unveraendert. */
body.restaurant-theme.order-screen .menubook-index-title,
body.restaurant-theme.order-screen .menubook-landing-title {
  font-family: 'Mea Culpa', 'Cormorant Garamond', cursive !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: clamp(48px, 7vw, 82px) !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
@media (max-width: 600px) {
  body.restaurant-theme.order-screen .menubook-index-title,
  body.restaurant-theme.order-screen .menubook-landing-title {
    font-size: clamp(43px, 9vw, 65px) !important;
  }
}

/* V36 – Goldglanz läuft weich vorwärts und anschließend rückwärts. */
body.restaurant-theme .menubook-cover:not([hidden]) .menubook-cover-page {
  animation: menubook-gold-outer 4.5s ease-in-out infinite alternate;
}
body.restaurant-theme .menubook-cover:not([hidden]) .menubook-cover-page::before {
  animation: menubook-gold-inner 4.5s ease-in-out infinite alternate;
}
body.restaurant-theme .menubook-cover:not([hidden]) .menubook-cover-rule {
  background: linear-gradient(100deg, transparent 0%, #ad7b43 24%, #d9a35b 42%, #ffe5a8 50%, #d9a35b 58%, #ad7b43 76%, transparent 100%);
  background-size: 230% 100%;
  animation: menubook-gold-rule 4.5s ease-in-out infinite alternate;
}
@keyframes menubook-gold-outer {
  from { border-color: #967146; outline-color: rgba(222,177,105,.35); }
  to   { border-color: #d6ad72; outline-color: rgba(248,213,150,.65); }
}
@keyframes menubook-gold-inner {
  from { border-color: rgba(215,161,86,.40); box-shadow: inset 0 0 0 rgba(255,217,151,0); }
  to   { border-color: rgba(247,204,135,.80); box-shadow: inset 0 0 9px rgba(255,217,151,.13); }
}
@keyframes menubook-gold-rule {
  from { background-position: 100% 50%; opacity: .68; }
  to   { background-position: 0% 50%; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  body.restaurant-theme .menubook-cover:not([hidden]) .menubook-cover-page,
  body.restaurant-theme .menubook-cover:not([hidden]) .menubook-cover-page::before,
  body.restaurant-theme .menubook-cover:not([hidden]) .menubook-cover-rule { animation: none !important; }
}


/* V37 – Lederprägung sichtbarer: gerichtetes warmes Licht statt starker Abdunklung.
   Verwendet die vorhandene fotografische Ledertextur; Goldanimation V36 bleibt erhalten. */
body.restaurant-theme .menubook-cover-page {
  background:
    radial-gradient(ellipse 85% 72% at 31% 21%, rgba(144, 104, 66, .19) 0%, rgba(61, 39, 23, .09) 43%, transparent 78%),
    radial-gradient(ellipse 82% 88% at 77% 74%, rgba(114, 75, 43, .12) 0%, transparent 72%),
    linear-gradient(115deg, rgba(255, 211, 152, .075) 0%, transparent 33%, rgba(0, 0, 0, .18) 100%),
    url('menubook-leather.webp') center / 520px auto repeat;
  background-color: #15100d;
  box-shadow:
    inset 0 0 0 4px rgba(0,0,0,.35),
    inset 0 0 42px rgba(0,0,0,.38),
    inset 0 12px 26px rgba(255,211,150,.035),
    0 25px 85px rgba(0,0,0,.72);
}
body.restaurant-theme .menubook-cover-page::before {
  background: radial-gradient(ellipse at 50% 50%, transparent 49%, rgba(0,0,0,.17) 100%);
}
@media (max-width: 600px) {
  body.restaurant-theme .menubook-cover-page { background-size: auto, auto, auto, 420px auto; }
}

/* V38 – Recommendations are a restrained insert, not a separate shop page. */
.daily-recommendations{max-width:950px;margin:22px auto 32px;padding:20px 14px 25px;border-top:1px solid #b59a67;border-bottom:1px solid #d8c7a7;background:linear-gradient(120deg,#faf6ed,#f4eddf)}.daily-recommendations[hidden]{display:none!important}.daily-recommendations-heading{text-align:center;margin-bottom:20px}.daily-recommendations-heading span{display:block;font:600 11px 'DM Sans',sans-serif;letter-spacing:.18em;color:#a18351}.daily-recommendations-heading h2{font:normal clamp(32px,5vw,48px)/1.1 'Mea Culpa','Cormorant Garamond',serif;color:#4b3825;margin:8px 0}.daily-recommendations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px}.daily-recommendation-card{appearance:none;display:flex;align-items:center;text-align:left;gap:14px;background:#fffcf6;border:1px solid #d9c7a7;border-radius:8px;padding:13px;width:100%;color:#3a3026;cursor:pointer;box-shadow:0 6px 20px #6b4b2310}.daily-recommendation-card img{width:90px;height:90px;object-fit:cover;border-radius:5px;flex-shrink:0}.daily-recommendation-info{display:grid;gap:5px;min-width:0}.daily-recommendation-info strong{font:500 26px/1 'Cormorant Garamond',Georgia,serif}.daily-recommendation-info small{font:13px/1.35 'DM Sans',sans-serif;color:#786e60;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.daily-recommendation-price{font:600 15px 'DM Sans',sans-serif;color:#72562d}.daily-recommendation-card:focus-visible{outline:3px solid #a78b53;outline-offset:3px}@media(max-width:600px){.daily-recommendations{margin:12px 8px 25px}.daily-recommendation-card img{width:74px;height:74px}}

/* V39 – Flaggenauswahl auf der Leder-Titelseite */
body.restaurant-theme .menubook-cover-languages {
  order: 2; display:flex; justify-content:center; align-items:center; flex-wrap:wrap;
  gap:clamp(6px,1.1vw,12px); margin:clamp(12px,2.4dvh,22px) auto 0;
  max-width: min(100%, 680px); position:relative; z-index:3;
}
body.restaurant-theme .menubook-cover-languages .menubook-language-choice {
  appearance:none; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:4px; min-width:64px; min-height:65px; padding:7px 10px;
  border:1px solid rgba(207,167,97,.36); border-radius:9px;
  background:linear-gradient(145deg,rgba(54,38,25,.74),rgba(13,11,10,.76));
  box-shadow:inset 0 1px 0 rgba(255,224,165,.08); color:#e7c58a;
  cursor:pointer; transition:border-color .2s ease, background-color .2s ease, transform .2s ease;
  font-family:'DM Sans',Arial,sans-serif;
}
body.restaurant-theme .menubook-cover-languages .menubook-language-choice[aria-pressed="true"] {
  border-color:#f0cb82; background:linear-gradient(145deg,rgba(105,75,38,.78),rgba(33,24,17,.9));
  box-shadow:0 0 0 1px rgba(239,195,116,.28), inset 0 1px 0 rgba(255,235,185,.16);
}
body.restaurant-theme .menubook-cover-languages .menubook-language-choice:hover { transform:translateY(-2px);border-color:#eac27b; }
body.restaurant-theme .menubook-cover-languages .menubook-language-choice:focus-visible { outline:2px solid #ffdfa1;outline-offset:3px; }
body.restaurant-theme .menubook-language-flag {font-size:27px;line-height:1.15;filter:drop-shadow(0 1px 2px #0009)}
body.restaurant-theme .menubook-language-name {font-size:10px;letter-spacing:.02em;white-space:nowrap}
@media(max-width:600px){
 body.restaurant-theme .menubook-cover-languages {gap:5px;margin-top:9px}
 body.restaurant-theme .menubook-cover-languages .menubook-language-choice {min-width:55px;min-height:56px;padding:5px 7px}
 body.restaurant-theme .menubook-language-flag {font-size:23px}
 body.restaurant-theme .menubook-language-name {font-size:9px}
}
@media(prefers-reduced-motion:reduce){body.restaurant-theme .menubook-cover-languages .menubook-language-choice{transition:none}}

/* V40: kompakte SVG-Flaggen statt Emoji, sichtbar nur für im Admin aktivierte Sprachen. */
body.restaurant-theme .menubook-cover-languages .menubook-language-choice { min-width:58px; min-height:57px; padding:7px 9px; gap:5px; }
body.restaurant-theme .menubook-cover-languages .menubook-language-flag { display:block; width:28px; height:19px; object-fit:cover; border-radius:2px; border:1px solid rgba(255,255,255,.22); box-shadow:0 1px 4px rgba(0,0,0,.45); filter:none; }
body.restaurant-theme .menubook-cover-languages .menubook-language-name { font-size:10px; line-height:1.2; }
@media(max-width:600px){body.restaurant-theme .menubook-cover-languages .menubook-language-choice{min-width:53px;min-height:54px;padding:6px 7px}body.restaurant-theme .menubook-cover-languages .menubook-language-flag{width:25px;height:17px}}

/* V42 – Navigationszeilen getrennt und ohne Überlagerung von Speisen */
body.restaurant-theme.order-screen:not(.guest-category-landing) #tabs{
  display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;
  align-items:center!important;column-gap:12px!important;row-gap:12px!important;
  width:100%!important;box-sizing:border-box!important;
  padding:18px 16px 12px!important;margin:0 auto 16px!important;
  position:relative!important;z-index:1!important;
}
body.restaurant-theme.order-screen:not(.guest-category-landing) #tabs>.guest-category-back-icon{grid-column:1!important;grid-row:1!important;margin:0!important;}
body.restaurant-theme.order-screen:not(.guest-category-landing) #tabs>.menubook-breadcrumb{
  grid-column:2!important;grid-row:1!important;min-width:0!important;
  margin:0!important;display:flex!important;align-items:center!important;
  flex-wrap:wrap!important;gap:5px 9px!important;overflow-wrap:anywhere;
}
body.restaurant-theme.order-screen:not(.guest-category-landing) #tabs>.menubook-breadcrumb [aria-current=page]{white-space:normal!important;overflow:visible!important;}
body.restaurant-theme.order-screen:not(.guest-category-landing) #tabs>.menubook-chapter-navigation{
  grid-column:1/-1!important;grid-row:2!important;align-self:stretch!important;
  display:flex!important;position:static!important;clear:both!important;
  margin:0!important;padding:10px 0!important;min-height:62px!important;
  box-sizing:border-box!important;overflow:hidden!important;
}
body.restaurant-theme.order-screen:not(.guest-category-landing) #tabs>.menubook-chapter-navigation .menubook-chapter-step{
  min-width:0!important;max-width:48%!important;box-sizing:border-box!important;
  overflow:hidden!important;white-space:normal!important;
}
body.restaurant-theme.order-screen:not(.guest-category-landing) #tabs>.menubook-chapter-navigation .menubook-chapter-step span:not(.menubook-step-arrow){
  white-space:normal!important;overflow-wrap:anywhere!important;
}
body.restaurant-theme.order-screen:not(.guest-category-landing) #menu{position:relative!important;z-index:0!important;clear:both!important;}
@media(max-width:600px){
  body.restaurant-theme.order-screen:not(.guest-category-landing) #tabs{padding:14px 12px 12px!important;column-gap:9px!important;row-gap:10px!important;}
  body.restaurant-theme.order-screen:not(.guest-category-landing) #tabs>.menubook-chapter-navigation{min-height:58px!important;}
}
