/* Menübuch – nachempfunden der gedruckten Speisekarte */
.menu-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:0 auto 28px;padding:6px;background:var(--mint);border-radius:999px;width:max-content;max-width:100%}
.menu-tabs button{font-family:var(--sans);font-size:1rem;letter-spacing:.03em;border:0;background:transparent;color:var(--ink);padding:.75em 1.3em .6em;border-radius:999px;cursor:pointer}
.menu-tabs button[aria-selected="true"]{background:var(--teal);color:#fff}

.book-stage{position:relative;display:flex;flex-direction:column;align-items:center;min-height:420px}
.book{margin:0 auto}
.book-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px;font-family:var(--sans)}
.book-controls button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--teal);background:#fff;color:var(--teal);font-size:1.3rem;cursor:pointer}
.book-controls button:hover{background:var(--teal);color:#fff}
.book-controls button:disabled{opacity:.3;cursor:default;background:#fff;color:var(--teal)}
.book-count{min-width:90px;text-align:center;color:var(--ink-soft)}
.book-hint{font-family:var(--sans);font-size:.92rem;color:var(--ink-soft);text-align:center;margin:12px auto 0}
.book-status{font-family:var(--sans);color:var(--ink-soft);text-align:center;padding:60px 0}

/* Eine Seite */
.book,.measure{--pw:420px}
.mp{background:#fff;position:relative;overflow:hidden;color:#1f2a2a;font-family:var(--sans);box-shadow:inset 0 0 0 1px #e3eeed}
.mp__in{position:absolute;inset:0;padding:calc(var(--pw)*.085) calc(var(--pw)*.07) calc(var(--pw)*.09);display:flex;flex-direction:column;align-items:center;text-align:center}
.mp::before{content:"";position:absolute;inset:8% -14% -6% -22%;background:url(../img/logo-qui.svg) no-repeat center/contain;opacity:.055;filter:invert(27%) sepia(64%) saturate(1500%) hue-rotate(155deg);pointer-events:none}
.mp--frame .mp__in::after{content:"";position:absolute;inset:calc(var(--pw)*.05);border:1px dotted var(--teal);pointer-events:none}
.mp__title{display:inline-block;border:1px solid var(--teal);color:var(--teal);font-weight:300;letter-spacing:.16em;text-transform:uppercase;font-size:calc(var(--pw)*.046);padding:.32em .7em .18em;margin:0 0 .35em;line-height:1.2}
.mp__sub{color:var(--teal);letter-spacing:.12em;font-size:calc(var(--pw)*.03);margin:0 0 calc(var(--pw)*.06)}
.mp__items{width:100%;flex:1;min-height:0;overflow:hidden;padding-bottom:calc(var(--pw)*.04)}
.dish{padding:calc(var(--pw)*.022) 0;border-bottom:1px dotted var(--teal)}
.dish:last-child{border-bottom:0}
.dish__name{text-transform:uppercase;letter-spacing:.04em;font-size:calc(var(--pw)*.028);line-height:1.3;font-weight:400;margin:0}
.dish__name .leaf{display:inline-block;width:.95em;height:.95em;vertical-align:-.1em;margin-left:.35em;color:var(--teal)}
.dish__day{display:block;color:var(--teal);font-size:calc(var(--pw)*.026);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.2em}
.dish__desc{font-family:var(--serif);font-style:italic;font-size:calc(var(--pw)*.026);line-height:1.38;color:#3d4a4a;margin:.25em auto 0;max-width:92%}
.dish__price{color:var(--teal);font-size:calc(var(--pw)*.027);margin-top:.25em;letter-spacing:.04em}
.dish__var{margin-top:.35em}
.dish__var .dish__desc{margin-top:0}

/* Cover */
.mp--cover .mp__in{justify-content:center;padding-bottom:calc(var(--pw)*.3)}
.mp--cover .cover-logo{width:52%;margin-bottom:calc(var(--pw)*.1)}
.mp--cover .mp__title{font-size:calc(var(--pw)*.06)}
.mp--cover .cover-illu{position:absolute;height:calc(var(--pw)*.26);width:auto;bottom:6%;right:8%;transform:rotate(-8deg)}
.mp--cover .cover-illu--b{left:8%;right:auto;height:calc(var(--pw)*.2);transform:rotate(10deg)}
.mp--cover::before{display:none}
.mp__text{font-family:var(--serif);font-style:italic;font-size:calc(var(--pw)*.033);line-height:1.55;color:#1f4f52;text-align:left;margin:0 0 1em}
.mp__note{font-family:var(--serif);font-style:italic;font-size:calc(var(--pw)*.029);color:#1f4f52;margin-top:auto}
.mp__sign{align-self:flex-start;font-family:var(--serif);font-style:italic;color:#1f4f52;font-size:calc(var(--pw)*.033)}
.mp__folio{position:absolute;bottom:calc(var(--pw)*.045);left:0;right:0;text-align:center;font-size:calc(var(--pw)*.026);color:var(--teal);letter-spacing:.1em}

/* Liste (Alternative / ohne JS) */
.menu-list{max-width:720px;margin:0 auto}
.menu-list h3{color:var(--teal);font-size:1.4rem;margin:2em 0 .4em;letter-spacing:.06em}
.menu-list .dish{text-align:center}
.menu-list .dish__name{font-size:1.05rem}
.menu-list .dish__desc{font-size:1.05rem}
.menu-list .dish__price{font-size:1rem}
.menu-list .dish__day{font-size:.85rem}
.view-toggle{display:block;margin:28px auto 0;background:none;border:0;font-family:var(--sans);font-size:1rem;color:var(--teal);text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* StPageFlip Grundstile */
.stf__parent{position:relative;display:block;box-sizing:border-box;transform:translateZ(0);-ms-touch-action:pan-y;touch-action:pan-y}
.sft__wrapper{position:relative;width:100%;box-sizing:border-box}
.stf__parent canvas{position:absolute;width:100%;height:100%;left:0;top:0}
.stf__block{position:absolute;width:100%;height:100%;box-sizing:border-box;perspective:2000px}
.stf__item{display:none;position:absolute;transform-style:preserve-3d}
.stf__outerShadow,.stf__innerShadow,.stf__hardShadow,.stf__hardInnerShadow{position:absolute;left:0;top:0}
.book .mp{box-shadow:inset 0 0 0 1px #e3eeed}
.book{filter:drop-shadow(0 14px 22px rgba(0,60,64,.16))}
