/* Burger Life: a calm ordering flow, with a playful illustrated menu. */
:root { --radius: 22px; }
html, body { overflow-x:clip; }
.category-nav { top:calc(78px + var(--service-height, 72px))!important; z-index:18; }
.simulation-banner { position:relative; top:auto; }
button, a, summary, input, select, textarea { touch-action: manipulation; }
button:focus-visible, summary:focus-visible, a:focus-visible { outline: 3px solid #1769e0; outline-offset: 4px; }
body.service-selected .ordering-mode, body.service-selected #changeServiceHero { display: none; }
body.service-selected .hero { min-height: 200px; padding: 30px clamp(20px,5vw,70px); }
body.service-selected .hero h1 { font-size: clamp(30px,4vw,52px); }
body.service-selected .hero-content { padding:12px 0; }
body.service-selected .hero .store-state { margin:12px 0 0; font-size:13px; }
body.service-selected .hero-product-card { width: 210px; height: 190px; }
.hero-product-card img { object-fit: contain; border-radius: 26px; background: #f6efdf; }
.delivery-status-bar { position: sticky; top: 78px!important; z-index: 19; margin: 0; padding: 12px clamp(16px,4vw,60px); border-radius: 0; background: #fffefa; border-bottom: 1px solid #dedbcf; box-shadow: 0 3px 12px #08142608; }
.delivery-status-bar>div { min-width: 0; }
.delivery-status-bar strong { font-size: 13px; }
.delivery-status-bar span { font-size: 13px; line-height: 1.4; }
.delivery-status-bar button { flex-shrink: 0; min-height: 42px; border-radius: 12px; }
.customer-access { display: block; max-width: 1280px; margin: 20px auto; padding: 16px 20px; border: 1px solid #dcd8ce; border-radius: 18px; background: #fffefa; box-shadow: none; }
.customer-access>summary { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; cursor: pointer; list-style: none; font-size: 14px; }
.customer-access>summary::-webkit-details-marker { display: none; }
.customer-access>summary>span { margin-left: auto; font-size: 20px; }
.customer-access[open]>summary { padding-bottom: 14px; border-bottom: 1px solid #eee; }
.customer-access>p { color: #586473; font-size: 14px; }
.illustration-notice { color: #65707c; font-size: 12px; margin: 12px 0 20px; line-height: 1.5; }
.product-grid { gap: 22px; }
.product-card { border-radius: var(--radius); overflow: hidden; border: 1px solid #e2ded2; box-shadow: 0 5px 20px #08142606; transition: box-shadow .2s,transform .2s; }
.product-card:hover { box-shadow: 0 12px 30px #08142616; transform: translateY(-3px); }
.product-card img { width: 100%; object-fit: contain; background: #f7f0e3; aspect-ratio: 1.3; }
.product-card h3 { font-size: 19px; }
.product-card p { line-height: 1.55; }
.product-card button { border-radius: 13px; min-height: 45px; }
.cart-added-toast { width: min(430px,calc(100vw - 24px)); padding: 12px 16px; }
.cart-added-copy span { display: none; }
.cart-added-actions { display:grid; }
.cart-added-toast #cartAddedOpen { background:#1769e0; }
.order-day-choices { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px; }
.order-day-choices button { display:grid;gap:6px;text-align:left;padding:15px;border:2px solid #cdd5df;background:#fff;border-radius:16px;min-height:112px;color:#102039; }
.order-day-choices strong { font-size:19px; }
.order-day-choices span { font-size:13px; }
.order-day-choices small { font-size:12px;line-height:1.4; }
.order-day-choices button[aria-pressed="true"] { border-color:#1769e0;background:#edf4ff;box-shadow:0 0 0 2px #1769e015; }
.order-day-choices button:disabled { opacity:.48;cursor:not-allowed; }
.checkout-scheduling-notice { background:#edf4ff;border-color:#9cbbeb;color:#102039; }
.checkout-scheduling-notice.future-order { background:#fff1d5;border:2px solid #ce8200;color:#6b3d00; }
.scheduled-confirmation { display:flex!important;align-items:flex-start;gap:12px;background:#fff1d5;border:1px solid #ce8200;padding:14px;border-radius:12px;line-height:1.5;font-size:14px; }
.scheduled-confirmation.hidden { display:none!important; }
.scheduled-confirmation input { flex:none;width:22px;height:22px;min-height:22px!important;margin:2px 0; }
.checkout-final-when { display:block;text-align:center;font-size:12px;line-height:1.4;color:#17345a; }
.checkout-final-when.future-order { color:#754200;background:#fff1d5;border-radius:8px;padding:5px; }
.mobile-cart-bar { display: none; }
.creator-credit { display:flex; justify-content:center; align-items:center; gap:10px; font-size:12px; }
.creator-credit img { width:124px; height:31px; margin:0; }
.service-dialog { border-radius: 28px; }
.service-dialog-content>img { max-height: 78px; }
.service-dialog-content>h2 { font-size: clamp(25px,5vw,34px); line-height: 1.12; }
.service-dialog-content:has(#initialAddressForm:not(.hidden))>img,
.service-dialog-content:has(#initialAddressForm:not(.hidden))>h2,
.service-dialog-content:has(#initialAddressForm:not(.hidden))>p { display:none; }
.service-dialog-content:has(#initialAddressForm:not(.hidden)) { padding-top:20px; }
.service-choice-grid button { min-height: 112px; border: 2px solid #e0ded6; border-radius: 20px; text-align:left; transition: border-color .15s,background .15s; }
.service-choice-grid button:hover { border-color: #1769e0; background: #f0f5ff; }
.initial-address-form:has(.address-confirmation:not(.hidden))>.address-helper,
.initial-address-form:has(.address-confirmation:not(.hidden))>#useCurrentLocation { display: none; }
.address-confirmation { box-shadow: none; }
.address-confirmation small { font-size: 12px; }
.address-suggestions button { width:100%; }
.product-dialog { border-radius:26px; }
.product-dialog #dialogImage { object-fit: contain; background: #f7f0e3; }
.combo-mode #dialogImage { height: 155px; }
.dialog-action { align-items:center; gap:10px; background: #fffefa; border-top: 1px solid #ddd8ce; padding-bottom: max(14px,env(safe-area-inset-bottom)); }
.customizer-price { display:none; font-weight:900; font-size:19px; color: #081426; }
.combo-navigation .customizer-price { display:block; }
.dialog-action.combo-navigation { display:flex; flex-wrap:wrap; }
.combo-navigation .combo-next { flex:1; }
.combo-navigation .combo-back { min-width:76px; }
.combo-option-list { gap:10px; }
.combo-option-list .option-row { min-height:64px; padding:14px; border:2px solid #e2dfd5; border-radius:15px; }
.combo-option-list .option-row:has(input:checked) { border-color:#1769e0; background:#eef4ff; }
.combo-step-intro p { line-height:1.45; }
.customization-summary span { white-space:normal; line-height:1.5; }
.cart-item-actions { display:flex; flex-wrap:wrap; gap:7px; }
.cart-item-actions .edit-cart-item { color:#1769e0; background:#eef4ff; border-color:#c0d5f6; font-weight:800; }
.cart-item-actions button { min-height:40px; }
.cart-footer { max-height:58dvh; overflow-y:auto; overscroll-behavior:contain; }
.checkout-summary { border-radius:18px; }
.checkout-summary p { gap:15px; line-height:1.5; }
.checkout-card { border-radius:20px; box-shadow:none; }
.payment-options label { min-height:70px; border-radius:15px; }
.payment-options label:has(input:checked) { border-color:#1769e0; background:#edf4ff; }
.checkout-dialog h2 { font-size:30px; }
.checkout-dialog input, .checkout-dialog select, .checkout-dialog textarea { font-size:16px; }
.checkout-dialog .single button { white-space:normal; line-height:1.35; min-height:54px; }
.customer-code-row input { letter-spacing:.2em; font-size:22px; }
@media(max-width:700px) {
  body { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .site-header { height:68px; padding:8px 16px; }
  .brand img { height:46px; width:62px; }
  .brand span { font-size:10px; }
  .delivery-status-bar { top:68px!important; padding:10px 16px; gap:12px; }
  .simulation-banner { position:relative; top:auto; font-size:11px; }
  body.service-selected .hero { min-height:155px; padding:22px 18px; }
  body.service-selected .hero h1 { font-size:29px; }
  body.service-selected .hero p:not(.eyebrow) { font-size:13px; }
  body.service-selected .hero-product-card { display:none; }
  .customer-access { margin:14px 16px; padding:14px; }
  .customer-access>summary { font-size:13px; }
  .catalog { padding-top:18px; }
  .catalog-heading h2 { font-size:26px; }
  .category-nav { top:calc(68px + var(--service-height, 72px))!important; padding:10px 0; background:var(--cream); }
  .category-nav button { min-height:43px; padding:10px 15px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .product-card { border-radius:18px; flex-direction:column; }
  .product-card .product-image-wrap { width:100%; flex-basis:auto; }
  .product-card .product-card-content { padding:12px; }
  .product-card .product-card-bottom { flex-wrap:wrap; gap:8px; }
  .site-header .cart-shortcut { position:static; min-height:40px; padding:6px 10px; box-shadow:none; border:1px solid #ffffff50; }
  .site-header .cart-shortcut small { display:none; }
  .product-card img { height:auto; aspect-ratio:1.1; }
  .product-card h3 { font-size:16px; line-height:1.22; }
  .product-card p { font-size:12px; }
  .product-card .product-body { padding:12px; }
  .product-card button { font-size:13px; min-height:42px; }
  .mobile-cart-bar { display:flex; position:fixed; bottom:calc(12px + env(safe-area-inset-bottom)); left:14px; right:14px; z-index:35; align-items:center; gap:12px; min-height:58px; padding:12px 18px; border:0; border-radius:19px; background:#1769e0; color:white; box-shadow:0 10px 30px #08142645; }
  .mobile-cart-bar>span { display:grid; place-items:center; width:29px; height:29px; background:#ffffff24; border-radius:8px; }
  .mobile-cart-bar b { margin-left:auto; }
  body.page-locked .mobile-cart-bar { display:none; }
  .cart-added-toast { top:auto; bottom:calc(84px + env(safe-area-inset-bottom)); left:12px; right:12px; }
  .service-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 24px); border-radius:24px; }
  .service-dialog-content { padding:22px 18px; }
  .service-choice-grid { gap:12px; }
  .service-choice-grid button { min-height:95px; padding:16px; }
  .combo-mode #dialogImage { height:110px; }
  .product-dialog .dialog-body { padding:18px; }
  .combo-mode #dialogDescription { display:none; }
  .combo-mode #dialogName { font-size:24px; margin:5px 0 12px; }
  .combo-navigation .customizer-price { font-size:16px; }
  .combo-navigation .combo-next { font-size:13px; padding:12px; }
  .dialog-action.combo-final { display:grid; grid-template-columns:auto 1fr; }
  .combo-final #addProductButton { grid-column:1/-1; }
  .cart-drawer { width:100%; }
  .cart-item { gap:9px; }
  .cart-item h3 { font-size:16px; }
  .cart-item p { font-size:12px; }
  .cookie-banner { bottom:calc(82px + env(safe-area-inset-bottom)); }
  body:has(.cookie-banner:not(.hidden)) .cart-added-toast { bottom:calc(84px + env(safe-area-inset-bottom)); }
}
#orderTimingSummary { margin:0 0 12px; font-weight:700; line-height:1.5; }
#checkoutFinalWhen { display:none; }
#checkoutSummary details summary { cursor:pointer; padding:10px 0; }
#checkoutSummary details p { font-size:14px; }
#toggleOrderSchedule { min-height:44px; white-space:normal; }
#orderSchedulePanel .checkout-time-field { display:grid; gap:8px; margin-top:14px; }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
#checkoutRecovery { padding:16px; margin:14px 0; border:2px solid #bf7512; border-radius:16px; background:#fff5df; color:#352600; }
#checkoutRecovery button { min-height:44px; margin:6px; }
