/* Explicit first choice, optional assistance, then an editable order. */
.home-order-start { margin-top:24px; max-width:560px; }
.home-order-label { font-size:17px; font-weight:600; margin-bottom:12px; }
.home-format-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.home-format-choice { position:relative; display:grid; gap:7px; padding:20px 42px 20px 18px; border:1px solid #847155; border-radius:18px; background:#27231d; color:#f5eee3; text-align:left; }
.home-format-choice strong { font-size:20px; line-height:1.2; white-space:nowrap; }
.home-format-choice span { font-size:14px; line-height:1.45; color:#d2c5b2; }
.home-format-choice svg { position:absolute; right:14px; top:20px; width:20px; height:20px; color:#dfc7a4; }
.home-format-choice:hover { background:#393126; border-color:#dfc7a4; }
.home-browse-menu { display:inline-flex; min-height:44px; align-items:center; margin-top:6px; font-size:15px; color:#dfc7a4; text-decoration:underline; text-underline-offset:5px; }
.home-navigation-sheet { background:#211f1b!important; color:#f4eee5!important; }
.home-navigation-sheet a { color:#f4eee5; border-color:#5c5143; }
.home-navigation-sheet button { color:#f4eee5; min-width:44px; min-height:44px; }
.menu-page .menu-title { padding-bottom:16px; }
.order-start { padding:22px 0 24px; border-top:1px solid #39352e; }
.order-step { color:#d4bd9d; font-size:14px; line-height:1.5; }
.order-start h1 { margin:5px 0 8px; font-size:32px; line-height:1.15; font-weight:600; letter-spacing:-.8px; }
.order-start-heading>p:last-child { color:#bdb5a9; font-size:16px; line-height:1.55; }
.menu-page .order-context { display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:650px; background:none; border-radius:0; padding:0; margin-top:20px; }
.menu-page .order-context button { position:relative; display:grid; text-align:left; gap:7px; border:1px solid #5e5547; border-radius:18px; padding:18px 42px 18px 20px; background:#24211c; color:#f4eee5; min-height:100px; }
.order-context strong { font-size:20px; line-height:1.25; font-weight:550; }
.order-context span { font-size:14px; line-height:1.5; color:#c5bbac; }
.order-context b { position:absolute; right:16px; top:16px; color:#dfc7a4; visibility:hidden; }
.menu-page .order-context button[aria-pressed=true] { background:#342c21; border-color:#dfc7a4; box-shadow:inset 0 0 0 1px #dfc7a4; }
.order-context button[aria-pressed=true] b { visibility:visible; }
.order-format-status { font-size:14px; line-height:1.5; color:#bdb5a9; margin:12px 0 0; }
.group-offer { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:24px; padding:22px 24px; border:1px solid #554a3b; border-radius:20px; background:#211e19; }
.group-offer h2 { font-size:23px; line-height:1.25; font-weight:550; margin:6px 0 9px; letter-spacing:-.4px; }
.group-offer p { max-width:650px; font-size:15px; line-height:1.6; color:#c5bbac; }
.group-offer-actions { flex:none; display:grid; gap:6px; min-width:190px; }
.group-offer .button { font-size:16px; }
.order-skip { display:flex; justify-content:center; align-items:center; min-height:44px; font-size:15px; color:#dfc7a4; text-decoration:underline; text-underline-offset:4px; }
.order-start .menu-booking-entry { display:flex; max-width:650px; background:none; border:0; padding:10px 0; margin:10px 0 0; min-height:44px; }
.order-start .menu-booking-entry strong { font-size:17px; }
.order-start .menu-booking-entry span { font-size:14px; color:#c5bbac; }
.menu-page .menu-stories { padding-top:4px; }
.menu-page .menu-story>span:last-child { font-size:18px; }
.menu-page .story-order { font-size:14px; margin-top:7px; }
.menu-page .dish-category,.menu-page .card-portion,.menu-page .snapshot-note,.menu-page .menu-footer { font-size:14px; line-height:1.5; }
.menu-page .results-top p { font-size:14px; }
.menu-page .section-switch small { font-size:13px; color:#bdb5a9; }
.menu-page .brand small { font-size:10px; letter-spacing:1px; }
.menu-page .staff-link { font-size:14px; min-height:44px; display:flex; align-items:center; }
.menu-page .location-trigger small { font-size:14px; line-height:1.4; }
.menu-page .location-trigger { font-size:17px; }
.menu-page .search-box input { font-size:16px; min-height:48px; }
.menu-page .search-box button { min-width:44px; min-height:44px; flex:none; }
.cart-heading { border-bottom:1px solid #3a3732; }
.cart-format { font-size:15px; line-height:1.4; color:#c7bba9; margin-top:7px; }
.cart-body .cart-row strong { font-size:17px; line-height:1.4; }
.cart-body .cart-row p,.cart-body .cart-row span { font-size:15px; line-height:1.5; }
.cart-body .cart-row-note { font-size:15px!important; min-height:44px; }
.cart-body .qty-controls button { width:44px; min-height:44px; }
.cart-body .cart-remove { font-size:14px; min-height:44px; }
.cart-body .cart-dish-image { border-radius:16px; }
.cart-body .cart-next { border-top:1px solid #4b4133; background:#181612; margin-top:20px; padding:18px 0 max(12px,env(safe-area-inset-bottom)); position:sticky; bottom:0; z-index:1; }
/* While editing the basket, keep totals in flow so keyboard focus is never covered. */
.cart-body:has(#cart-items:focus-within, #cart-extras:focus-within) .cart-next { position:static; }
.cart-body #order-system-options>summary { min-height:44px; padding:12px 0; font-size:15px; line-height:1.5; cursor:pointer; }
.cart-body #order-system-options>summary:focus-visible { outline:3px solid #dfc7a4; outline-offset:3px; }
.cart-body .basket-summary { padding:8px 0 10px; font-size:17px; }
.basket-count,.cart-summary-note { font-size:14px; color:#c5bbac; line-height:1.5; }
.cart-summary-note { margin:0 0 14px; }
.cart-body #checkout-start { font-size:17px; min-height:54px; }
.cart-body #order-form label { font-size:16px; }
.cart-body .order-disclaimer,.cart-body .per-person,.cart-body #order-preview-box p,.cart-body #order-preview,.cart-body #checkout-error,.cart-body .edit-basket { font-size:15px; line-height:1.6; }
.cart-body #order-form .button,.cart-body #order-preview-box .button { font-size:16px; }
.cart-body #intake-refresh { font-size:14px; min-height:44px; }
.cart-extras { margin:24px 0 12px; }
.cart-extras h3 { font-size:22px; line-height:1.3; margin:0 0 7px; }
.cart-extras>p { color:#bdb5a9; font-size:14px; line-height:1.5; }
#cart-extras-list { display:flex; overflow-x:auto; gap:12px; padding:16px 0 8px; }
.cart-extra { flex:0 0 155px; display:flex; flex-direction:column; gap:12px; border-radius:18px; background:#27231e; padding:12px; }
.cart-extra img { width:100%; height:92px; object-fit:contain; border-radius:12px; }
.cart-extra h4 { font-size:15px; line-height:1.4; font-weight:500; margin:0; }
.cart-extra button { margin-top:auto; border:1px solid #685943; border-radius:30px; background:#3b3227; color:#f4eee5; min-height:44px; font-size:15px; }
.group-order-format { margin-top:22px; font-size:15px; }
.group-back-menu { display:inline-flex; min-height:44px; align-items:center; font-size:15px; color:#dfc7a4; }
.group-layout label,.group-layout summary,.group-layout .natural-request label { font-size:15px; }
.group-layout .footnote,.group-layout .source-warning,.group-layout .group-visit p { font-size:14px; line-height:1.6; }
.group-layout .lead { font-size:16px; }
.group-layout .builder-steps { font-size:13px; flex-wrap:wrap; }
.group-layout .text-button,.group-layout .group-visit a { font-size:14px; min-height:44px; }
.group-layout .variant .dish-row h3 { font-size:16px; overflow-wrap:anywhere; }
.group-layout .variant .dish-row>div { min-width:0; }
.group-layout .variant .dish-row p { font-size:14px; }
.group-layout .variant .row-actions input { min-height:44px; font-size:16px; }
.group-layout .builder-tabs button { font-size:15px; min-height:44px; }
.group-layout .chips label { font-size:14px; min-height:44px; }
@media(max-width:960px) {
  .home-format-choice { padding:17px 14px; gap:8px; }
  .home-format-choice strong { font-size:19px; }
  .home-format-choice span { font-size:14px; }
  .home-format-choice svg { display:none; }
}
/* Tablet hides dish photos in service.css: do not retain their empty grid track. */
@media(min-width:701px) and (max-width:900px) {
  .group-layout .variant .dish-row,
  .group-layout .variant .dish-row.no-image { grid-template-columns:minmax(0,1fr); }
  .group-layout .variant .row-actions { grid-column:1; width:auto; display:flex; justify-content:flex-start; flex-wrap:wrap; }
}
@media(max-width:700px) {
  .order-start { padding-top:20px; }
  .order-start h1 { font-size:28px; }
  .menu-page .order-context { gap:10px; }
  .menu-page .order-context button { padding:17px 14px; min-height:114px; }
  .order-context strong { font-size:19px; padding-right:8px; }
  .order-context span { font-size:14px; }
  .order-context b { right:10px; top:9px; font-size:13px; }
  .group-offer { display:block; padding:20px 18px; margin-top:20px; }
  .group-offer h2 { font-size:22px; }
  .group-offer-actions { margin-top:18px; }
  .menu-page .menu-stories { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .menu-page .menu-story { height:136px; padding:12px 10px; }
  .menu-page .menu-story>span:last-child { font-size:15px; }
  .menu-page .story-order { font-size:12px; }
  .menu-page .brand small { font-size:9px; letter-spacing:.6px; }
  .cart-body { padding-inline:18px; }
  .cart-body .cart-row.with-image { grid-template-columns:76px minmax(0,1fr); }
  .group-layout .variant .dish-row { grid-template-columns:54px minmax(0,1fr); }
  .group-layout .variant .row-actions { grid-column:2; width:auto; justify-content:flex-start; flex-wrap:wrap; }
  .group-layout .variant .dish-row.no-image { grid-template-columns:minmax(0,1fr); }
  .group-layout .variant .dish-row.no-image .row-actions { grid-column:1; }
}


.saved-order-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;border-radius:14px;background:#171612;color:#eee5d8;font:inherit;font-size:15px;line-height:1.6}
.saved-order-handoff .secondary{min-height:46px;padding:12px 16px;border:1px solid #806b4f;border-radius:12px;background:#3b3227;color:#f3e4cd;font-size:15px}


.cart-heading-actions{display:flex;align-items:center;gap:10px;flex:none}
.cart-heading .cart-clear-open{width:auto;min-width:44px;font-size:14px;padding:10px 12px;border-radius:14px;color:#dfc7a4;background:transparent;border:1px solid #665640}
.cart-clear-confirm,.cart-undo-notice{padding:16px;margin-top:16px;background:#30291f;border:1px solid #766348;border-radius:16px;font-size:15px;line-height:1.55}
.cart-clear-confirm>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.cart-undo-notice{display:flex;align-items:center;justify-content:space-between;gap:14px}
.cart-clear-confirm .secondary,.cart-undo-notice .secondary{min-height:44px;padding:10px 14px;border:1px solid #8d7654;border-radius:12px;background:#403626;color:#f4e6ce;font-size:15px}
.cart-body #order-site-result>.secondary{min-height:46px;font-size:15px;padding:12px 15px;margin:8px 10px 4px 0;border:1px solid #806b4f;border-radius:12px;background:#3b3227;color:#f3e4cd}
@media(max-width:400px){.cart-heading{gap:12px;padding-inline:18px}.cart-heading h2{font-size:24px}.cart-heading-actions{gap:5px}.cart-heading .cart-clear-open{font-size:14px;padding-inline:8px}}
/* Long messages stay complete and keyboard-scrollable; copy/open actions stay reachable. */
.saved-order-preview,#order-preview{max-height:42dvh;overflow:auto;overscroll-behavior:contain}
