/* Entry-specific layouts only. Colours, type, controls and panels come from
   the exact group-order customer token/component files loaded before this file. */
.customer-header nav{margin-left:auto}
.customer-account{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border:1px solid var(--ow-line);border-radius:10px;background:#fff;font-weight:600;text-decoration:none;color:inherit}
.customer-account:hover{background:var(--ow-customer-selected)}
.customer-picker{max-width:808px}
.customer-picker .ow-intro p{color:var(--ow-muted);margin-bottom:0}
.customer-picker h2{line-height:1.35}
.customer-picker p{line-height:1.5}
.customer-entry{margin-bottom:24px}
.customer-method{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-width:100%;padding:4px;margin:0 0 24px;border-radius:12px;background:var(--ow-paper)}
.customer-method label{position:relative;margin:0;cursor:pointer}
.customer-sr{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.customer-method input{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer;z-index:1}
.customer-method span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 24px;border:1px solid transparent;border-radius:var(--ow-customer-radius-control);font-weight:600;color:var(--ow-muted)}
.customer-method input:checked+span{background:#fff;color:var(--ow-ink);border-color:var(--ow-line);box-shadow:0 1px 2px #193b310a}
.customer-method input:focus-visible+span{outline:3px solid #8b6616;outline-offset:3px}
.customer-method label:hover span{color:var(--ow-ink)}
.customer-field-help{display:block;margin-top:8px;line-height:1.5}
.customer-location{display:grid;gap:8px;margin-top:20px}
.customer-location-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}
.customer-location-actions button{padding:6px 0;min-height:44px;border:0;background:transparent;text-align:left;color:var(--ow-primary);text-decoration:underline;text-underline-offset:4px}
.customer-location-actions button:hover:not(:disabled){background:transparent;text-decoration-thickness:2px}
.customer-location small{line-height:1.5}
.customer-location p{font-size:.875rem;margin:0}
#address-status{font-size:.875rem;color:var(--ow-muted);margin:10px 0 0}
#address-status:empty,#location-status:empty,#directory-status:empty{display:none}
#pickup-help p{color:var(--ow-muted);margin:0}
.customer-address{display:flex;align-items:center;justify-content:space-between;gap:16px}
.customer-address small,.customer-address strong{display:block;line-height:1.5}
.customer-address strong{overflow-wrap:anywhere}
.customer-address button{flex-shrink:0}
#directory-status{color:var(--ow-muted);margin:0 0 16px}
.customer-store{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:16px 0}
.customer-store>div{min-width:0}
.customer-store h2{margin:0 0 6px;font-size:1.125rem;overflow-wrap:anywhere}
.customer-store p{color:var(--ow-muted);margin:0;font-size:.875rem;overflow-wrap:anywhere}
.customer-store :is(button,a.ow-primary){flex-shrink:0;width:auto;min-height:48px}
.customer-option{margin:16px 0}
.customer-option h3{font-size:1.15rem;margin:6px 0 12px}
.customer-option p{color:var(--ow-muted);margin-bottom:16px}
.customer-option>button{width:auto;min-height:48px;margin:12px 12px 0 0}
.customer-option>small:last-child{display:block;margin-top:16px;line-height:1.5}
.customer-option>select{max-width:320px;display:block}
.customer-option .customer-window{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;text-align:left}
.customer-option .customer-window span:last-child{color:var(--ow-primary);white-space:nowrap}
.customer-option .customer-fee{color:var(--ow-ink);font-weight:600;margin-bottom:8px}
#delivery-options>h2{font-size:1rem;margin:24px 0 12px}
#delivery-options>p{color:var(--ow-muted)}
#delivery-options:focus{outline:0}
#address-suggestions{list-style:none;margin:8px 0 0;padding:4px;background:#fff;border:1px solid var(--ow-line);border-radius:var(--ow-customer-radius-control);box-shadow:0 6px 20px #193b310d}
#address-suggestions li+li{border-top:1px solid var(--ow-line)}
#address-suggestions button{width:100%;min-height:52px;padding:12px;border:0;text-align:left;border-radius:4px;font-weight:400;line-height:1.5}
#address-suggestions [aria-selected=true] button,#address-suggestions button:hover{background:var(--ow-customer-selected)}
#google-attribution{display:block;margin-top:6px;text-align:right}
.customer-empty{margin:16px 0;color:var(--ow-muted)}
#launch-error{border:1px solid var(--ow-line);border-left:3px solid var(--ow-danger);border-radius:var(--ow-customer-radius-control);padding:16px;background:#fff;color:var(--ow-danger)}
#retry,#choose-store{margin:0 8px 8px 0}
#onword-order [hidden]{display:none!important}
.customer-skip{position:fixed;top:-100px;left:16px;padding:12px 16px;background:#fff;z-index:20}
.customer-skip:focus{top:12px}
.ow-change-store{margin-left:auto;margin-right:12px}
@media(max-width:600px){
 .customer-store{display:block}
 .customer-store :is(button,a.ow-primary){width:100%;margin-top:18px}
 .customer-option>button{width:100%}
 .customer-address{align-items:flex-start;flex-direction:column;gap:12px}
 .customer-method{width:100%}
 .customer-window{flex-wrap:wrap}
 .ow-change-store{font-size:.875rem;margin-right:6px}
}
/* Restaurant entry: the same customer primitives, with a compact context strip. */
.customer-picker.restaurant-entry{max-width:1228px}
.customer-entry.customer-context{display:flex;align-items:center;gap:28px;padding:0;border:0;background:transparent;margin-bottom:28px}
.customer-context .customer-method{flex-shrink:0;margin:0;background:var(--ow-customer-selected);border:1px solid var(--ow-line)}
.customer-context .customer-address{flex:1;min-width:0;gap:18px}
.customer-context .customer-address small{font-size:.875rem}
.customer-context .customer-address strong{font-size:.9375rem}
.customer-context .customer-address button{background:transparent;border:0;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;padding:8px 0}
.customer-context #pickup-help h2{font-size:1.1rem;margin:0 0 4px}
.customer-context #pickup-help p{font-size:.875rem}
.customer-restaurant{display:grid;grid-template-columns:minmax(0,1fr) 358px;grid-template-areas:'cover booking' 'identity booking' 'menu booking';gap:0 32px;align-items:start}
.restaurant-cover{grid-area:cover;height:224px;overflow:hidden;border-radius:16px;background:var(--ow-customer-selected)}
.restaurant-cover img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.restaurant-cover-empty{height:80px;background:linear-gradient(120deg,var(--ow-customer-selected),var(--ow-paper));border:1px solid var(--ow-line)}
.restaurant-info{grid-area:identity;padding:24px 0 20px;border-bottom:1px solid var(--ow-line)}
.restaurant-eyebrow{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;font-weight:700;color:var(--ow-muted);margin-bottom:8px}
.customer-picker .restaurant-name{font-size:2.125rem;letter-spacing:-.035em;line-height:1.18;margin:0 0 8px;overflow-wrap:anywhere}
.restaurant-location{font-size:1rem;margin:0 0 8px}
.restaurant-address{font-size:.875rem;color:var(--ow-muted);margin:0}
.restaurant-map,.restaurant-phone{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;margin-right:16px;text-underline-offset:3px}
.restaurant-booking{grid-area:booking;position:sticky;top:20px;box-shadow:0 6px 18px #193b3104}
.restaurant-booking h2{font-size:1.4rem;letter-spacing:-.025em;line-height:1.3;margin-bottom:12px}
.restaurant-availability{font-size:.875rem;color:var(--ow-muted);margin:0 0 18px}
.restaurant-kinds{display:flex;gap:4px;background:var(--ow-paper);padding:4px;border-radius:10px;margin:0 0 18px}
.restaurant-kind{flex:1;min-width:0;font-size:.875rem;padding:8px 6px;border:1px solid transparent;background:transparent;font-weight:500}
.restaurant-kind[aria-pressed=true]{border-color:var(--ow-line);background:white;font-weight:650}
.restaurant-dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:18px 0 22px}
.restaurant-date{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:74px;padding:8px 2px;font-size:.875rem;font-weight:500;line-height:1.5;border-radius:9px}
.restaurant-date strong{font-size:1.125rem}.restaurant-date small{font-size:.875rem}
.restaurant-date[aria-pressed=true]{border-color:var(--ow-primary);background:var(--ow-customer-selected);box-shadow:inset 0 0 0 1px var(--ow-primary)}
.restaurant-date:disabled{opacity:1;color:#758279;border-color:#e8ede6;background:#f6f7f3}
.restaurant-more{font-size:.875rem;line-height:1.4;text-align:center}
.restaurant-booking label{font-size:.875rem}
.restaurant-booking select{border-color:var(--ow-line);font-size:16px}
.restaurant-fees{padding:18px 0;margin:22px 0 16px;border-top:1px solid var(--ow-line);border-bottom:1px solid var(--ow-line)}
.restaurant-fees>div{display:flex;justify-content:space-between;gap:12px;font-size:.9375rem}
.restaurant-fees strong{text-align:right}.restaurant-fees>small{display:block;margin-top:10px;font-size:.875rem}
.restaurant-selection{font-size:.875rem;font-weight:650;margin:16px 0}
.restaurant-next-note{display:block;text-align:center;font-size:.875rem;margin-top:12px;line-height:1.5}
.restaurant-menu{grid-area:menu;padding:26px 0 0}
.restaurant-menu-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.restaurant-menu-heading h2{font-size:1.2rem;letter-spacing:-.02em;margin:0}.restaurant-menu-heading small{font-size:.875rem}
.restaurant-meals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.restaurant-meal{display:flex;align-items:start;gap:14px;padding:16px;border:1px solid var(--ow-line);border-radius:12px;background:white;min-width:0}
.restaurant-meal img{width:86px;height:86px;border-radius:10px;object-fit:cover;flex-shrink:0}.restaurant-meal>div{min-width:0}
.restaurant-meal h3{margin:0 0 8px;font-size:1rem;overflow-wrap:anywhere}.restaurant-meal p{font-size:.875rem;color:var(--ow-muted);margin:0 0 10px;overflow-wrap:anywhere}.restaurant-meal strong{font-size:.9375rem}
.restaurant-currency{font-size:.875rem;color:var(--ow-muted);margin-top:24px}
.restaurant-back{padding:0;border:0;min-height:44px;background:transparent;text-decoration:underline;text-underline-offset:3px;margin-bottom:12px}
.restaurant-error{color:var(--ow-danger)}
@media(max-width:1000px){.customer-restaurant{grid-template-columns:minmax(0,1fr) 325px;column-gap:22px}.restaurant-booking{padding:20px}.restaurant-meals{grid-template-columns:1fr}.restaurant-cover{height:205px}}
@media(max-width:760px){
 .customer-picker.restaurant-entry{padding:20px 16px 32px}.customer-entry.customer-context{flex-wrap:wrap;gap:14px;margin-bottom:22px}.customer-context .customer-method{width:100%}.customer-context .customer-address{flex-basis:100%;flex-direction:row;align-items:center}.customer-context .customer-address strong{font-size:.875rem}.customer-context .customer-address button{font-size:.875rem}
 .customer-restaurant{display:flex;flex-direction:column}.restaurant-cover{width:100%;height:160px}.restaurant-cover-empty{height:56px}.restaurant-info{width:100%;padding:18px 0 16px;border:0}.customer-picker .restaurant-name{font-size:1.8rem}.restaurant-location{font-size:.9375rem}.restaurant-address{font-size:.875rem}.restaurant-booking{width:100%;position:static;padding:20px}.restaurant-menu{width:100%;padding-top:24px}.restaurant-meals{grid-template-columns:1fr}.restaurant-date{min-height:78px}.restaurant-booking h2{font-size:1.4rem}
}

.customer-store-photo{width:96px;height:96px;border-radius:12px;object-fit:cover;flex-shrink:0}.customer-store-price{display:block;margin-top:10px;color:var(--ow-ink)}
@media(max-width:600px){.customer-store-photo{float:right;margin:0 0 12px 14px}.customer-store :is(button,a.ow-primary){clear:both}.customer-store>div{min-width:0}}

@media(max-width:380px){.restaurant-dates{grid-template-columns:repeat(3,minmax(0,1fr))}.restaurant-more{grid-column:1/-1;min-height:44px}}
/* Public order workspace: menus are visible before location selection. */
.customer-header{gap:24px;padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2))}
.customer-header nav{margin-left:auto;flex-shrink:0}.customer-header .ow-brand{flex-shrink:0}
.customer-order-context{display:flex;gap:24px;align-items:center;min-width:0;flex:1}
.customer-order-context .customer-method{margin:0;background:var(--ow-customer-selected);flex-shrink:0}
.customer-order-context .customer-method span{padding:8px 16px;min-height:42px;font-size:.875rem}
.customer-order-context .customer-address{min-width:0;flex:1;gap:12px}
.customer-order-context .customer-address small{font-size:.875rem}.customer-order-context .customer-address strong{font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:310px}
.customer-order-context .customer-address>div{min-width:0}.customer-order-context .customer-address button{padding:6px 0;background:transparent;border:0;font-size:.875rem;text-decoration:underline;min-height:44px}
.customer-address-dialog{width:580px;padding:26px;max-height:90dvh;overflow:auto}.customer-address-dialog::backdrop,.restaurant-time-dialog::backdrop{background:#193b3166;backdrop-filter:blur(2px)}
.customer-dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:20px}.customer-dialog-heading h2{font-size:1.4rem;line-height:1.3;margin:0}.customer-dialog-heading button{border:0;background:var(--ow-paper);border-radius:50%;min-width:40px;min-height:40px;padding:0;font-size:24px;flex-shrink:0}
.customer-address-dialog #address-entry>h2{display:none}.customer-dialog-note{font-size:.875rem;color:var(--ow-muted);margin:20px 0 0}.customer-address-dialog #address-suggestions{max-height:290px;overflow:auto}
.customer-restaurant{grid-template-areas:'cover basket' 'identity basket' 'schedule basket' 'menu basket';grid-template-columns:minmax(0,1fr) 324px;gap:0 32px}
.restaurant-basket{grid-area:basket;position:sticky;top:20px;padding:24px}.restaurant-basket h2{font-size:1.35rem;margin:0 0 25px}.restaurant-chosen-name{font-size:1rem;font-weight:650;margin-bottom:12px}.restaurant-basket .customer-empty{font-size:.875rem;margin:0 0 25px}.restaurant-basket .restaurant-continue{width:100%}
.restaurant-context-line{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.875rem;color:var(--ow-muted);margin-bottom:18px}.restaurant-context-line .restaurant-back{margin:0;font-size:.875rem}
.restaurant-info{border-bottom:0}.restaurant-schedule{grid-area:schedule;min-width:0}.restaurant-time-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--ow-line);background:white;border-radius:12px}.restaurant-time-summary>div{min-width:0}.restaurant-time-summary .restaurant-eyebrow{font-size:.875rem;margin-bottom:5px}.restaurant-time-summary strong{font-size:.9375rem;line-height:1.5;display:block}.restaurant-change-time{flex-shrink:0;min-height:42px;font-size:.875rem;padding:8px 14px}
.restaurant-schedule .restaurant-fees{border:0;margin:12px 0 6px;padding:0}.restaurant-schedule .restaurant-fees>div{justify-content:start;gap:8px}.restaurant-schedule .restaurant-fees strong{text-align:left}.restaurant-schedule .restaurant-availability{font-size:.875rem;display:block;margin:10px 0 0}.restaurant-more{padding:8px 0;min-height:44px;background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;display:inline-flex;text-align:left;align-items:center}
.restaurant-time-dialog{padding:26px;width:550px;max-height:90dvh;overflow:auto}.restaurant-time-dialog select{font-size:16px}.customer-dialog-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--ow-line)}.customer-dialog-actions .ow-primary{flex:1}
.restaurant-meal{flex-direction:column;padding:0;overflow:hidden}.restaurant-meal img{width:100%;height:160px;border-radius:0;object-fit:cover}.restaurant-meal>div{width:100%;padding:18px;display:flex;flex-direction:column;flex:1}.restaurant-meal strong{margin-top:auto}.restaurant-choose-meal{align-self:flex-end;min-height:42px;font-size:.875rem;padding:8px 15px;background:var(--ow-customer-selected);margin-top:14px}
.customer-skip{top:12px;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.customer-skip:focus{clip-path:none;height:auto;width:auto}
@media(max-width:1100px){.customer-header{flex-wrap:wrap;gap:16px;padding:18px 24px}.customer-order-context{order:3;flex-basis:100%}.customer-order-context .customer-address strong{max-width:none;white-space:normal}.customer-order-context .customer-address{justify-content:start}.customer-header nav{margin-left:auto}.customer-restaurant{grid-template-columns:minmax(0,1fr) 300px;gap:0 24px}.restaurant-meals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.customer-header{padding:16px;gap:12px}.customer-order-context{gap:12px}.customer-order-context .customer-method{width:auto}.customer-order-context .customer-method span{padding:7px 12px}.customer-order-context .customer-address{flex-direction:column;align-items:start;gap:0}.customer-order-context .customer-address small{display:none}.customer-order-context .customer-address button{min-height:36px;padding:4px 0}.customer-order-context .customer-address strong{font-size:.875rem}.customer-restaurant{display:flex;flex-direction:column}.restaurant-cover{order:0}.restaurant-info{order:1}.restaurant-schedule{order:2;width:100%}.restaurant-menu{order:3}.restaurant-basket{order:4;position:static;width:100%;margin-top:26px}.restaurant-meals{grid-template-columns:1fr}.restaurant-meal{flex-direction:row;padding:16px;gap:14px}.restaurant-meal img{width:90px;height:90px;border-radius:9px}.restaurant-meal>div{padding:0}.restaurant-time-summary{padding:14px;gap:12px}.restaurant-time-summary strong{font-size:.875rem}.restaurant-time-summary .restaurant-eyebrow{font-size:.875rem}.restaurant-context-line{align-items:start;gap:10px;font-size:.875rem}.restaurant-context-line .restaurant-back{font-size:.875rem;min-height:36px;white-space:nowrap}.restaurant-choose-meal{min-height:44px;margin-top:12px}.restaurant-schedule .restaurant-fees>div{font-size:.875rem}.restaurant-schedule .restaurant-fees>div{flex-wrap:wrap}}
@media(max-width:600px){.customer-address-dialog,.restaurant-time-dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:92dvh;border-radius:18px 18px 0 0;padding:22px 18px}.customer-dialog-actions{position:sticky;bottom:-22px;background:white;padding-bottom:18px;margin-bottom:-18px}.customer-dialog-heading h2{font-size:1.3rem}.restaurant-meal img{width:80px;height:80px}.restaurant-meal{gap:12px;padding:14px}.restaurant-change-time{padding:8px 11px;min-height:44px}.restaurant-context-line{flex-wrap:wrap}.customer-header .customer-account{font-size:.875rem;padding:10px 12px}}

/* One full-width restaurant row, with native dish previews beneath its header. */
.restaurant-entry #store-list{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.customer-store-preview.ow-panel{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:24px;margin:0;min-width:0;overflow:hidden;border-radius:16px;box-shadow:none}
.customer-store-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.customer-store-preview .customer-store-detail{min-width:0;flex:1}
.customer-store-preview h2{font-size:1.375rem;letter-spacing:-.025em;margin-bottom:6px;line-height:1.3}
.customer-store-preview .customer-store-location{font-weight:600;color:var(--ow-ink);margin-bottom:5px}
.customer-store-preview .customer-store-address{font-size:.875rem}
.customer-store-actions{display:flex;align-items:center;gap:24px;flex-shrink:0}
.customer-store-pricing{text-align:right}
.customer-store-pricing .customer-store-price{display:block;margin:0;font-size:.9375rem}
.customer-store-pricing small{display:block;margin-top:5px;font-size:.75rem}
.customer-store-preview .customer-store-actions a.ow-primary{width:auto;min-height:48px;margin:0;white-space:nowrap}
.customer-store-menu{min-width:0}
.customer-store-menu .customer-dish-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.customer-dish-previews li{min-width:0;font-size:.875rem;line-height:1.45}
.customer-dish-image{position:relative;aspect-ratio:16/9;background:var(--ow-customer-selected);border-radius:10px;overflow:hidden}
.customer-dish-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.customer-dish-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:8px;text-align:center;font-size:.75rem;color:var(--ow-muted)}
.customer-dish-name{display:block;margin-top:9px;overflow-wrap:anywhere;font-weight:600}
.customer-dish-price{display:block;font-weight:400;margin-top:4px}
.customer-store-menu .customer-store-state{display:block;margin:0 0 8px;font-size:1rem}
.customer-store-preview[aria-busy] .customer-store-menu{min-height:240px;background:var(--ow-paper);border-radius:10px;padding:18px}
.customer-store-coming-soon .customer-store-menu{padding:24px;background:var(--ow-paper);border-radius:10px;min-height:116px;display:flex;flex-direction:column;justify-content:center}
.restaurant-coming-soon{margin-top:24px;padding:24px}
.customer-store-cover,.restaurant-cover{position:relative;isolation:isolate;overflow:hidden;background:var(--ow-customer-selected)}
.customer-store-cover{height:210px;width:100%;flex-shrink:0}
.restaurant-cover-placeholder{position:absolute;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:24px;text-align:center;background:linear-gradient(135deg,#e8efdf,#f6f7f0);color:var(--ow-primary);font-weight:650}
.restaurant-cover .restaurant-cover-placeholder img,.customer-store-cover .restaurant-cover-placeholder img{width:48px;height:48px;object-fit:contain;border-radius:0}
.restaurant-cover-photos{height:100%;display:flex;gap:3px}
.restaurant-cover .restaurant-cover-photos img,.customer-store-cover .restaurant-cover-photos img{width:0;min-width:0;flex:1;object-fit:cover;height:100%;border-radius:0;object-position:center}
@media(max-width:760px){
 .restaurant-entry #store-list{gap:20px}.customer-store-cover{height:185px}.customer-store-preview.ow-panel{padding:18px;gap:18px}.customer-store-preview h2{font-size:1.25rem}.restaurant-cover-photos{width:100%}
 .customer-store-heading{flex-direction:column;align-items:stretch;gap:16px}.customer-store-actions{justify-content:space-between;gap:12px}.customer-store-pricing{text-align:left}.customer-store-preview .customer-store-actions a.ow-primary{font-size:.875rem;padding:10px 14px}
 .customer-store-menu .customer-dish-previews{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}.customer-dish-previews li{flex:0 0 164px;scroll-snap-align:start}.customer-dish-image{aspect-ratio:4/3}.customer-store-preview[aria-busy] .customer-store-menu{min-height:180px}.customer-store-coming-soon .customer-store-menu{padding:18px}
}

.customer-store a.ow-primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:var(--ow-customer-radius-control);text-decoration:none;font-weight:600;background:var(--ow-primary);color:#fff}
.customer-store-coming-soon a.ow-primary{background:white;color:var(--ow-primary);border:1px solid var(--ow-line)}
.restaurant-context-line .restaurant-back{padding:8px 14px;border:1px solid var(--ow-line);border-radius:var(--ow-customer-radius-control);background:#fff;font-weight:600;text-decoration:none;min-height:44px;flex-shrink:0}

/* Inline feedback keeps the address editable and does not shift the dialog. */
.customer-address-control{position:relative}
.customer-address-control input{padding-right:44px}
.customer-address-spinner{position:absolute;right:16px;top:50%;width:18px;height:18px;margin-top:-9px;border:2px solid var(--ow-line);border-top-color:var(--ow-primary);border-radius:50%;pointer-events:none;animation:customer-address-spin .8s linear infinite}
.customer-address-control.is-loading input::-webkit-search-cancel-button{display:none}
@keyframes customer-address-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.customer-address-spinner{animation:none}}

@media(max-width:380px){.customer-store-actions{flex-wrap:wrap}.customer-store-pricing{flex:1 0 100%}.customer-store-preview .customer-store-actions a.ow-primary{width:100%}}

/* Narrow touch layouts: destination gets a full row; controls keep their size. */
@media(max-width:600px){
 .customer-order-context{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .customer-order-context .customer-method{justify-self:start;width:auto}
 .customer-order-context .customer-address{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--ow-line);padding-top:8px}
 .customer-order-context .customer-address>div{flex:1}
 .customer-order-context .customer-address button{min-height:44px;max-width:35%;padding:8px 0}
 .customer-order-context .customer-address strong{overflow-wrap:anywhere}
 .customer-address-dialog,.restaurant-time-dialog{max-height:calc(100dvh - 16px);padding-bottom:max(22px,env(safe-area-inset-bottom));overscroll-behavior:contain}
 .customer-dialog-heading button{min-width:44px;min-height:44px}
 .customer-dialog-actions{bottom:calc(-1 * max(22px,env(safe-area-inset-bottom)));padding-bottom:max(22px,env(safe-area-inset-bottom));margin-bottom:calc(-1 * max(22px,env(safe-area-inset-bottom)))}
 .restaurant-meal>div{width:auto;min-width:0}
 .restaurant-meal img{flex-shrink:0}
 .restaurant-meal :is(h3,p,strong){overflow-wrap:anywhere}
 .restaurant-time-summary{flex-wrap:wrap}
 .restaurant-time-summary>div{flex:1 1 170px}
 .restaurant-context-line .restaurant-back{min-height:44px}
 #pickup-help h2{font-size:1rem;margin:0 0 4px}#pickup-help p{font-size:.875rem}
}
