.tbw-ordering{max-width:1360px;margin:0 auto;padding:32px 18px 120px}.tbw-ordering-layout{display:block}.tbw-ordering-menu{max-width:1080px}.tbw-ordering-menu-block{margin-bottom:36px}.tbw-ordering-menu-block>h2{font-family:inherit;font-size:32px;font-weight:400;margin-bottom:20px}.tbw-ordering-category{margin:28px 0}.tbw-ordering-category>h3{font-family:inherit;font-size:24px;font-weight:400;border-bottom:1px solid var(--tbw-front-border);padding-bottom:8px;margin:0 0 8px}.tbw-ordering-item{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--tbw-front-border)}.tbw-ordering-item__main{min-width:0}.tbw-ordering-item p{margin:4px 0 0;color:var(--tbw-front-muted);font-size:14px;line-height:1.5}.tbw-ordering-item__side{display:flex;gap:14px;align-items:center;white-space:nowrap;flex-shrink:0}.tbw-ordering-item__price{font-size:18px}.tbw-order-add{border:0;background:var(--tbw-front-primary);color:var(--tbw-front-on-primary);width:38px;height:38px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 14px rgba(38,53,42,.18)}.tbw-order-add:hover{transform:translateY(-1px)}.tbw-ordering-message,.tbw-ordering-error,.tbw-public-order{max-width:760px;margin:30px auto;padding:24px;border:1px solid var(--tbw-front-border);background:var(--tbw-front-surface);border-radius:10px}.tbw-ordering-error{border-color:var(--tbw-front-error);background:var(--tbw-front-error-bg)}.tbw-cart-toggle{position:fixed;right:20px;bottom:20px;z-index:9997;display:flex;align-items:center;gap:14px;border:1px solid var(--tbw-front-border);background:var(--tbw-front-surface);backdrop-filter:blur(8px);padding:12px 16px;border-radius:999px;box-shadow:0 8px 30px rgba(0,0,0,.12);cursor:pointer;color:var(--tbw-front-text)}.tbw-cart-toggle__label{font-weight:700}.tbw-cart-toggle__meta{display:flex;align-items:center;gap:10px}.tbw-cart-toggle__count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--tbw-front-primary);color:var(--tbw-front-on-primary);font-size:13px;font-weight:700}.tbw-cart-toggle__total{font-weight:700}.tbw-cart-backdrop{position:fixed;inset:0;background:rgba(20,23,20,.32);z-index:9998}.tbw-cart-drawer{position:fixed;top:0;right:0;height:100vh;width:min(460px,100vw);transform:translateX(100%);transition:transform .22s ease;z-index:9999}.tbw-cart-drawer.is-open{transform:translateX(0)}body.tbw-cart-open{overflow:hidden}.tbw-cart{height:100%;overflow:auto;border-left:1px solid var(--tbw-front-border);background:var(--tbw-front-surface-soft);padding:22px 22px 30px;box-shadow:-8px 0 30px rgba(0,0,0,.08)}.tbw-cart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.tbw-cart h2,.tbw-cart h3{font-family:inherit;font-weight:400}.tbw-cart-summary{margin:4px 0 0;color:var(--tbw-front-muted);font-size:14px}.tbw-cart-close{border:1px solid var(--tbw-front-border);background:var(--tbw-front-surface);border-radius:999px;width:36px;height:36px;font-size:26px;line-height:1;cursor:pointer}.tbw-cart-line{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--tbw-front-border)}.tbw-cart-line small{display:block;color:var(--tbw-front-muted);margin-top:3px}.tbw-cart-line__actions{display:flex;gap:6px;align-items:center}.tbw-cart-line button{border:1px solid var(--tbw-front-border);background:var(--tbw-front-surface);border-radius:5px;padding:4px 7px;cursor:pointer}.tbw-cart-empty{color:var(--tbw-front-muted)}.tbw-cart-total,.tbw-public-order__total{display:flex;justify-content:space-between;font-size:20px;padding:18px 0 10px}.tbw-cart form label{display:grid;gap:6px;margin:12px 0;font-size:14px}.tbw-cart input,.tbw-cart select,.tbw-cart textarea{font:inherit;padding:11px 12px;border:1px solid var(--tbw-front-border);border-radius:6px;width:100%;box-sizing:border-box;background:var(--tbw-front-surface)}.tbw-cart select:disabled,.tbw-cart input:disabled,.tbw-order-submit:disabled{opacity:.6;cursor:not-allowed}.tbw-cart .tbw-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tbw-radio,.tbw-checkout-privacy{display:flex!important;align-items:flex-start;gap:8px!important}.tbw-radio input,.tbw-checkout-privacy input{width:auto!important;margin-top:3px;flex:0 0 auto}.tbw-schedule-fields{margin-top:12px;padding:12px 14px;border:1px solid var(--tbw-front-border);border-radius:8px;background:var(--tbw-front-surface)}.tbw-form-hint{margin:8px 0 0;color:var(--tbw-front-muted);font-size:13px}.tbw-order-submit{width:100%;border:0;background:var(--tbw-front-primary);color:var(--tbw-front-on-primary);padding:14px;border-radius:6px;font-weight:700;cursor:pointer;margin-top:10px}.tbw-public-order ul{list-style:none;padding:0}.tbw-public-order li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--tbw-front-border)}.tbw-public-order__status{display:inline-block;padding:6px 9px;background:var(--tbw-front-success-bg);border-radius:5px}.tbw-option-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:18px;z-index:10000}.tbw-option-modal[hidden]{display:none}.tbw-option-modal__panel{background:var(--tbw-front-surface);max-width:520px;width:100%;max-height:90vh;overflow:auto;border-radius:10px;padding:22px}.tbw-option-group-public{border-top:1px solid var(--tbw-front-border);padding:13px 0}.tbw-option-group-public label{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.tbw-option-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.tbw-option-modal__actions button{padding:10px 14px}.tbw-option-note{width:100%;box-sizing:border-box;margin-top:10px;padding:9px}.tbw-option-error{color:var(--tbw-front-error);font-size:13px}.tbw-order-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tbw-orders-list{display:grid;gap:12px}.tbw-order-card{border:1px solid var(--tbw-front-border);border-radius:8px;padding:16px}.tbw-order-card__top{display:flex;justify-content:space-between;gap:14px}.tbw-order-card__top>div:first-child{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tbw-order-time{font-size:18px;font-weight:700}.tbw-order-total{font-size:18px;font-weight:700}.tbw-order-customer{margin:10px 0;color:var(--tbw-front-muted)}.tbw-order-lines{margin:10px 0;padding-left:20px}.tbw-order-lines li{margin:8px 0}.tbw-order-lines small{display:block;color:var(--tbw-front-muted)}.tbw-order-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tbw-order-note{background:var(--tbw-front-panel);padding:9px;border-radius:5px}.tbw-order-hours{display:grid;grid-template-columns:130px 110px 20px 110px 110px 20px 110px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--tbw-front-border)}.tbw-option-group{border:1px solid var(--tbw-front-border);border-radius:7px;margin:10px 0}.tbw-option-group>summary{padding:12px;display:flex;justify-content:space-between;cursor:pointer}.tbw-option-form,.tbw-option-list{padding:12px;border-top:1px solid var(--tbw-front-border)}.tbw-option-row{display:grid;grid-template-columns:1fr 100px 80px auto;gap:8px;align-items:center;margin:8px 0}.tbw-option-row input{padding:8px;border:1px solid var(--tbw-front-border);border-radius:5px}@media(max-width:900px){.tbw-ordering{padding-bottom:110px}.tbw-ordering-menu{max-width:none}.tbw-order-hours{grid-template-columns:1fr 1fr 20px 1fr}.tbw-order-hours input:nth-of-type(3){grid-column:2}.tbw-order-hours span:nth-of-type(2){grid-column:3}.tbw-order-hours input:nth-of-type(4){grid-column:4}}@media(max-width:600px){.tbw-ordering{padding:24px 14px 110px}.tbw-ordering-item{align-items:flex-start}.tbw-ordering-item__side{gap:10px}.tbw-cart{padding:18px 16px 24px}.tbw-cart .tbw-form-row{grid-template-columns:1fr}.tbw-option-row{grid-template-columns:1fr 90px}.tbw-option-row label,.tbw-option-row button{grid-column:auto}.tbw-order-card__top{display:block}.tbw-order-total{margin-top:8px}.tbw-cart-toggle{left:14px;right:14px;bottom:14px;justify-content:space-between}.tbw-cart-drawer{width:100vw}}
/* v0.23.9: review the binding order and amount immediately before submitting. */
.tbw-ordering .tbw-checkout-data-notice{font-size:13px;line-height:1.5;color:var(--tbw-front-muted);margin:18px 0}
.tbw-ordering .tbw-checkout-data-notice a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.tbw-ordering .tbw-checkout-review{border:1px solid var(--tbw-front-border);border-radius:10px;background:var(--tbw-front-surface);padding:16px;margin:24px 0 12px}
.tbw-ordering .tbw-checkout-review h3{font-size:22px;margin:0 0 5px}
.tbw-ordering .tbw-review-intro{font-size:13px;line-height:1.45;color:var(--tbw-front-muted);margin:0 0 14px}
.tbw-ordering .tbw-review-line{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--tbw-front-border)}
.tbw-ordering .tbw-review-line strong{display:block;font-size:14px}
.tbw-ordering .tbw-review-line small{display:block;color:var(--tbw-front-muted);margin-top:3px;line-height:1.35}
.tbw-ordering .tbw-review-line__amount{white-space:nowrap;font-weight:650;font-size:14px}
.tbw-ordering .tbw-review-edit{border:0;background:none;padding:8px 0;color:var(--tbw-front-primary);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font:inherit;font-size:13px}
.tbw-ordering .tbw-review-details{margin:8px 0 0}
.tbw-ordering .tbw-review-details>div{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:7px 0}
.tbw-ordering .tbw-review-details dt{color:var(--tbw-front-muted);font-size:13px}
.tbw-ordering .tbw-review-details dd{margin:0;font-size:13px;font-weight:600}
.tbw-ordering .tbw-review-final-total{border-top:2px solid var(--tbw-front-primary);display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;margin-top:12px;font-size:18px}
.tbw-ordering .tbw-review-final-total strong{white-space:nowrap}
.tbw-ordering .tbw-review-final-total small{display:block;color:var(--tbw-front-muted);font-size:12px;font-weight:400;line-height:1.3;margin-top:4px}
.tbw-ordering .tbw-order-submit{margin-top:0;min-height:52px;font-size:16px}
.tbw-ordering .tbw-checkout-status{font-size:13px;color:var(--tbw-front-muted);margin:7px 0 0}
.tbw-ordering .tbw-cart-line__actions button:focus-visible,.tbw-ordering button:focus-visible,.tbw-ordering input:focus-visible,.tbw-ordering select:focus-visible,.tbw-ordering textarea:focus-visible{outline:3px solid var(--tbw-front-focus);outline-offset:2px}
.tbw-ordering .tbw-review-lines:empty::after{content:'Noch keine Gerichte ausgewählt.';display:block;color:var(--tbw-front-muted);font-size:13px;padding:6px 0}
@media(max-width:600px){.tbw-ordering .tbw-checkout-review{padding:13px}.tbw-ordering .tbw-review-details>div{grid-template-columns:76px 1fr}}

/* v0.23.10: Mobile Safari checkout scroll fix.
   The old 100vh drawer extended beneath browser chrome, and the 100%-height
   scroll pane exceeded its parent because padding was added to content-box.
   Keep the complete form and its final button inside the visible viewport. */
.tbw-ordering .tbw-cart-drawer{
    height:100vh; /* Fallback for browsers without dynamic viewport units. */
    height:100dvh;
    max-height:100dvh;
    overflow:hidden;
}
.tbw-ordering .tbw-cart{
    box-sizing:border-box;
    height:100%;
    max-height:100%;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    padding-bottom:calc(40px + env(safe-area-inset-bottom, 0px));
}


/* v0.23.11: three-step food checkout; step 3 is the only binding submit. */
.tbw-ordering .tbw-checkout-step[hidden]{display:none!important}
.tbw-ordering .tbw-checkout-step > h3:first-child{margin:18px 0 12px}
.tbw-ordering .tbw-checkout-progress{margin:16px 0 8px}
.tbw-ordering .tbw-checkout-progress ol{display:flex;justify-content:space-between;gap:6px;list-style:none;margin:0;padding:0}
.tbw-ordering .tbw-checkout-progress li{display:flex;flex:1;align-items:center;flex-direction:column;gap:5px;text-align:center;white-space:nowrap;color:var(--tbw-front-muted);font-size:12px}
.tbw-ordering .tbw-checkout-progress li span{width:27px;height:27px;display:flex;align-items:center;justify-content:center;border:1px solid var(--tbw-front-border);border-radius:50%;font-size:13px;font-weight:700}
.tbw-ordering .tbw-checkout-progress li[aria-current="step"]{color:var(--tbw-front-text);font-weight:700}
.tbw-ordering .tbw-checkout-progress li[aria-current="step"] span{color:var(--tbw-front-on-primary);background:var(--tbw-front-primary);border-color:var(--tbw-front-primary)}
.tbw-ordering .tbw-checkout-next{width:100%;min-height:48px;display:block;border:0;background:var(--tbw-front-primary);color:var(--tbw-front-on-primary);font:inherit;font-weight:700;font-size:15px;border-radius:7px;padding:12px;cursor:pointer;margin:18px 0 8px}
.tbw-ordering .tbw-checkout-step-actions{display:flex;flex-direction:column;gap:8px;margin:22px 0 0}
.tbw-ordering .tbw-checkout-step-actions .tbw-checkout-next{margin:0;order:0}
.tbw-ordering .tbw-checkout-back{display:block;background:transparent;border:1px solid var(--tbw-front-border);border-radius:7px;min-height:44px;width:100%;font:inherit;font-size:14px;color:var(--tbw-front-text);padding:10px 12px;margin:8px 0;cursor:pointer}
.tbw-ordering .tbw-checkout-step-actions .tbw-checkout-back{margin:0;order:1}
.tbw-ordering .tbw-checkout-step-status{color:var(--tbw-front-error);font-size:13px;line-height:1.5;min-height:0;margin:6px 0}
.tbw-ordering .tbw-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tbw-ordering .tbw-review-details dd{overflow-wrap:anywhere}
.tbw-ordering .tbw-review-details #tbwReviewNote{white-space:pre-wrap}
.tbw-ordering #tbwCheckoutStepReview .tbw-checkout-review{margin:14px 0 12px}
.tbw-ordering #tbwCheckoutStepReview .tbw-order-submit{margin:10px 0 0}


/* v0.23.12: cleaner menu labels and prevent horizontal scrolling on iPhone. */
.tbw-ordering,.tbw-ordering *{box-sizing:border-box}
.tbw-ordering,.tbw-ordering-layout,.tbw-ordering-menu,.tbw-cart-drawer,.tbw-cart{max-width:100%}
.tbw-ordering-layout,.tbw-cart,.tbw-checkout-step,.tbw-checkout-review{overflow-x:hidden}
.tbw-ordering .tbw-ordering-item__main{display:grid;gap:4px;min-width:0;flex:1 1 auto}
.tbw-ordering .tbw-ordering-item__name{display:block;line-height:1.25}
.tbw-ordering .tbw-ordering-item__meta{font-size:12px;line-height:1.35;color:var(--tbw-front-muted)}
.tbw-ordering .tbw-food-legend{margin:26px 0 0;padding:14px 16px;border:1px solid var(--tbw-front-border);border-radius:10px;background:var(--tbw-front-surface)}
.tbw-ordering .tbw-food-legend__group + .tbw-food-legend__group{margin-top:10px;padding-top:10px;border-top:1px solid var(--tbw-front-border)}
.tbw-ordering .tbw-food-legend__group strong{display:block;font-size:13px;margin-bottom:4px}
.tbw-ordering .tbw-food-legend__group p{margin:0;color:var(--tbw-front-muted);font-size:12px;line-height:1.45}
.tbw-ordering .tbw-checkout-progress li{min-width:0;white-space:normal}
.tbw-ordering .tbw-checkout-progress li span{flex-shrink:0}
.tbw-ordering .tbw-review-line,.tbw-ordering .tbw-review-final-total{min-width:0}
.tbw-ordering .tbw-review-line > div{min-width:0;flex:1 1 auto}
.tbw-ordering .tbw-review-line__amount{margin-left:auto}
.tbw-ordering .tbw-review-details>div{grid-template-columns:88px minmax(0,1fr)}
.tbw-ordering .tbw-review-details dt,.tbw-ordering .tbw-review-details dd{min-width:0}
@media(max-width:600px){
  .tbw-ordering .tbw-ordering-item{gap:12px}
  .tbw-ordering .tbw-ordering-item__side{align-self:center}
  .tbw-ordering .tbw-food-legend{padding:12px 14px}
  .tbw-ordering .tbw-checkout-progress ol{gap:2px}
  .tbw-ordering .tbw-checkout-progress li{font-size:11px}
  .tbw-ordering .tbw-review-line{flex-wrap:wrap}
  .tbw-ordering .tbw-review-line__amount{width:100%;margin-left:0;padding-top:2px}
  .tbw-ordering .tbw-review-details>div{grid-template-columns:72px minmax(0,1fr)}
  .tbw-ordering .tbw-review-final-total{flex-wrap:wrap}
  .tbw-ordering .tbw-review-final-total strong{width:100%;text-align:right}
}


/* v0.23.13: iOS Safari zooms the visual viewport when a form control
   has a computed font size below 16px. Labels intentionally remain 14px;
   input text, dropdowns and notes do not. Do NOT disable browser zoom. */
.tbw-ordering .tbw-cart #tbwCheckout input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.tbw-ordering .tbw-cart #tbwCheckout select,
.tbw-ordering .tbw-cart #tbwCheckout textarea{
  font-size:16px!important;
  line-height:1.4;
  min-width:0;
  max-width:100%;
}

/* v0.23.19: explicit errors for required checkout fields. */
.tbw-ordering .tbw-contact-field-error{display:block;font-size:13px;line-height:1.4;color:var(--tbw-front-error);margin:2px 0 4px}
.tbw-ordering .tbw-contact-field-error[hidden]{display:none!important}
.tbw-ordering .tbw-cart input[aria-invalid=true]{border:2px solid var(--tbw-front-error);background:var(--tbw-front-error-bg)}
.tbw-ordering .tbw-checkout-step-status:not(:empty){font-weight:600}

/* 0.23.22: keep full order reference without making it the main headline. */
.tbw-ordering .tbw-public-order__reference{font-size:12px;color:var(--tbw-front-muted);margin:18px 0 0;padding-top:12px;border-top:1px solid var(--tbw-front-border);overflow-wrap:anywhere}
