
:root{--primary:#f4bd27;--primary-dark:#58400b;--primary-light:#fff0ad;--on-primary:#342608;--bg:#fffaf0;--card:#fffefa;--border:transparent;--shadow:0 7px 22px rgba(92,67,13,.07);--shadow-md:0 14px 38px rgba(92,67,13,.09);--shadow-lg:0 22px 60px rgba(67,48,8,.2)}
button,input,select{font:inherit}
body{background:radial-gradient(circle at 50% -8%,rgba(255,214,74,.32),transparent 36%),linear-gradient(180deg,#fffaf0 0%,#fff7e7 100%)}
.header{padding:30px 20px 34px;border:0;background:linear-gradient(145deg,#ffe173 0%,#f6c437 48%,#dda100 100%);border-radius:0 0 28px 28px;box-shadow:0 16px 38px rgba(194,137,0,.2)}
.header::before{right:-38px;top:-72px;width:190px;height:190px;background:rgba(255,255,255,.17)}.header::after{left:-72px;bottom:-118px;width:250px;height:250px;background:rgba(255,255,255,.1)}
.header h1{font-size:24px;font-weight:850;letter-spacing:.01em}.header p{color:rgba(52,38,8,.72)}
.member-bar{border:0;border-radius:22px;background:linear-gradient(155deg,#fffefa,#fffaf0);box-shadow:var(--shadow-md);backdrop-filter:blur(10px)}
.member-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.member-summary-copy{min-width:0}.member-logout-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:32px;padding:0 12px;border:0;border-radius:999px;background:#fff5d5;color:#806f4b;font-size:11px;line-height:1;font-weight:750;cursor:pointer;box-shadow:none;transition:background .15s ease,color .15s ease,transform .15s ease}.member-logout-button:hover{background:#ffeaa1;color:#614600}.member-logout-button:active{transform:scale(.97)}
.member-actions{align-items:center}.member-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:0;background:#fff2c2;color:#614600;font-size:12px;line-height:1;font-weight:750;box-shadow:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.member-button:hover{background:#ffeaa1;box-shadow:0 6px 16px rgba(122,86,0,.1)}.member-button.primary,.member-button.preorder{border:0;background:linear-gradient(135deg,#ffd85d,#e5a900);color:var(--on-primary);box-shadow:0 7px 18px rgba(198,140,0,.17)}
.wallet-preferences{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:14px;border-radius:16px;background:#fff4cc}.wallet-preferences-copy{min-width:0;flex:1}.wallet-preferences-title{color:#58400b;font-size:14px;font-weight:800}.wallet-preferences-status{margin-top:3px;color:var(--text-secondary);font-size:12px;line-height:1.45}.wallet-preferences .member-button{width:auto;flex:0 0 auto;white-space:nowrap}
.announcement{border:0;border-radius:16px;background:linear-gradient(135deg,#fff7d5,#ffedaa);box-shadow:var(--shadow)}
.menu-nav-sticky{background:linear-gradient(180deg,rgba(255,250,240,.97) 72%,rgba(255,250,240,0));padding-top:14px}.menu-search-row{align-items:center}.menu-search,.service-button{height:42px;min-height:42px;border:0}.menu-search{background:#fffefa;box-shadow:var(--shadow)}.menu-search:focus-within{border:0;box-shadow:0 0 0 3px rgba(244,189,39,.2),var(--shadow)}.service-button{display:inline-flex;align-items:center;justify-content:center;padding:0 16px;background:#fff2c2;color:#614600;font-size:12px;line-height:1;font-weight:750;box-shadow:none}
.category-nav button{min-height:38px;padding:0 16px;border:0;background:#fff2c2;color:#684b06;font-size:13px;line-height:1;font-weight:700;box-shadow:none}.category-nav button.active{border:0;background:linear-gradient(135deg,#ffd85d,var(--primary));color:var(--on-primary);box-shadow:0 7px 17px rgba(198,140,0,.18)}
.category-title{display:flex;align-items:center;min-height:34px;color:#58400b}.category-title::before{background:var(--primary)}
.menu-item,.combo-card,.shop-card{border:0;border-radius:18px;background:linear-gradient(155deg,#fffefa,#fffaf0);box-shadow:var(--shadow)}.menu-item:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(92,67,13,.1)}.menu-item-img{border:0;border-radius:14px;background:linear-gradient(145deg,#fff4c8,#ffe29a);box-shadow:none}.menu-item-price,.combo-price,.cart-total{color:#a76700}
.qty-btn,.qty-input,.flavor-tag{border:0}.qty-btn{width:32px;height:32px;background:#fff2c2;color:#684b06;box-shadow:0 4px 12px rgba(122,86,0,.09)}.qty-btn.add{border:0;background:var(--primary);color:var(--on-primary);box-shadow:0 5px 14px rgba(198,140,0,.18)}.qty-input{height:32px;background:#fff8df;box-shadow:inset 0 0 0 1px rgba(218,175,66,.12)}.flavor-tag{background:#fff2c2}.flavor-tag.active{border:0;background:var(--primary);color:var(--on-primary);box-shadow:0 5px 14px rgba(198,140,0,.16)}
.cart-bar{border:0;background:rgba(255,254,250,.96);box-shadow:0 -12px 34px rgba(92,67,13,.11)}.cart-icon{background:linear-gradient(145deg,#ffd85d,#dfa400);box-shadow:0 7px 18px rgba(198,140,0,.25)}.cart-submit,.submit-order{border:0;background:linear-gradient(135deg,#ffd85d,var(--primary));color:var(--on-primary);box-shadow:0 7px 18px rgba(198,140,0,.2)}
.form-input,.form-select,.form-radio,.zone-trigger,.zone-select,.checkout-coupon{border:0;background:#fff7dc;box-shadow:inset 0 0 0 1px rgba(218,175,66,.12)}.form-input:focus,.form-select:focus{border:0;box-shadow:0 0 0 3px rgba(244,189,39,.2)}.form-radio.active{border:0;background:#ffe99a;box-shadow:0 6px 16px rgba(198,140,0,.12)}
.modal,.member-auth-modal,.cart-drawer,.combo-modal,.exchange-modal{border:0;box-shadow:var(--shadow-lg)}
.checkout-modal{border:1px solid #e7d6a5;background:#fffaf0}
.checkout-modal>.modal-title{background:#fffefa;border-bottom:1px solid #e7d6a5}
.checkout-scroll{background:linear-gradient(180deg,#fffaf0 0%,#fff6df 100%)}
.checkout-modal .form-group{margin-bottom:12px;padding:12px;border:1px solid #e7d6a5;border-radius:14px;background:linear-gradient(155deg,#fffefa,#fff7df);box-shadow:0 5px 16px rgba(92,67,13,.05)}
.checkout-modal .form-group>.form-label{color:#684b06}
.checkout-modal .form-radio-group{padding:4px;border:1px solid #ead39a;border-radius:13px;background:#fff4cc}
.checkout-modal .form-radio{border:1px solid transparent;background:#fffdf3}
.checkout-modal .form-radio.active{border-color:#e8b326;background:#ffe99a}
#delivery-fields{padding:0;border:0;background:transparent;box-shadow:none}
#pickup-location{border:1px solid #e4c979!important;background:linear-gradient(135deg,#fff3c9,#fffaf0)!important;box-shadow:0 4px 12px rgba(92,67,13,.06)}
.checkout-modal .pickup-date-tabs{margin-top:8px;padding:6px;border:1px solid #ead39a;border-radius:12px;background:#fff4cc}
.checkout-modal .pickup-slot-list{margin-top:7px;padding:6px;border:1px solid #ead39a;border-radius:12px;background:#fff8e8}
.checkout-modal .pickup-slot{background:#fffefa;box-shadow:0 2px 7px rgba(92,67,13,.05)}
#pickup-lead-time-hint,#delivery-slot-hint{margin:8px 2px 0!important;padding-top:7px;border-top:1px dashed #dec77f}
#order-summary{margin-top:12px;padding:12px;border:1px solid #e7d6a5;border-radius:14px;background:linear-gradient(155deg,#fffefa,#fff4cc);box-shadow:0 5px 16px rgba(92,67,13,.05)}
#order-summary .summary-row{border-bottom:1px solid rgba(231,214,165,.65)}
#order-summary .summary-row:last-child{border-bottom:0}
.points-app-label{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.points-app-badge{display:inline-flex;align-items:center;min-height:20px;padding:1px 7px;border:1px solid rgba(22,128,60,.2);border-radius:999px;background:rgba(22,128,60,.1);font-size:10px;font-weight:800;line-height:1;letter-spacing:.02em}
.maintenance-preview-banner{display:none;position:sticky;top:0;z-index:80;padding:10px 16px;background:#33280f;color:#fff4cc;text-align:center;font-size:12px;font-weight:750;letter-spacing:.02em;box-shadow:0 4px 14px rgba(51,40,15,.2)}
.checkout-footer{border-top:1px solid #e7d6a5;background:#fff3cd}
@media(max-width:480px){.header{padding:25px 16px 29px;border-radius:0 0 24px 24px}.member-bar{display:block;padding:14px;border-radius:18px}.member-summary{width:100%}.member-summary-copy{padding-right:8px}.member-logout-button{min-height:30px;padding:0 11px}.member-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-top:12px}.member-actions.active-member{grid-template-columns:repeat(2,minmax(0,1fr))}.member-button{width:100%;min-height:38px;padding:0 8px;white-space:nowrap}.menu-nav-sticky{padding-top:10px}.menu-search,.service-button{height:40px;min-height:40px}.service-button{padding:0 12px}.category-nav button{min-height:36px}}

.compact-shop-navigation .shop-navigation{display:flex;align-items:center;gap:8px;margin:12px 14px 8px}
.compact-shop-navigation .shop-navigation a,.compact-shop-navigation .shop-navigation button{padding:9px 12px;border:0;border-radius:10px;background:transparent;color:#614600;text-decoration:none;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.compact-shop-navigation .shop-navigation a[aria-current]{background:#f5c438}
.compact-shop-navigation .shop-navigation button{margin-left:auto;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.compact-shop-navigation.customer-order-page .member-bar{display:flex;gap:8px;margin:0 14px;padding:10px 12px;border:1px solid #eee8dc;border-radius:12px;background:#fff;box-shadow:none}
.compact-shop-navigation.customer-order-page .member-actions,.compact-shop-navigation.customer-order-page .member-actions.active-member{display:flex;gap:6px;width:auto;margin:0;flex-wrap:wrap}
.compact-shop-navigation.customer-order-page .member-button{width:auto;min-height:36px;padding:0 10px;background:#f6f3ec;color:#614600;box-shadow:none}
.compact-shop-navigation .member-bar-copy{font-size:11px}
.compact-shop-navigation #pickup-info-content,.compact-shop-navigation #delivery-info-content{font-size:13px;line-height:1.7}
.compact-shop-navigation #pickup-info-content p,.compact-shop-navigation #delivery-info-content p{margin:8px 0}
@media(max-width:480px){.compact-shop-navigation.customer-order-page .member-bar{align-items:flex-start}.compact-shop-navigation .member-summary{width:auto;flex:1;flex-wrap:wrap}.compact-shop-navigation .member-bar-copy{display:none}.compact-shop-navigation.customer-order-page .member-actions{flex-shrink:1}.compact-shop-navigation .member-bar-title{font-size:12px;line-height:36px}.compact-shop-navigation .shop-navigation{gap:2px}.compact-shop-navigation .shop-navigation a,.compact-shop-navigation .shop-navigation button{padding:9px 8px}}
.checkout-exchange-intro{font-size:13px;line-height:1.6;color:var(--text-secondary);margin-bottom:14px}
.checkout-exchange-offer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:14px;border:1px solid #eadcae;border-radius:12px;background:#fffdf8}
.checkout-exchange-offer>div{min-width:0;overflow-wrap:anywhere}
.checkout-exchange-offer strong{font-size:14px}
.checkout-exchange-offer p{font-size:12px;line-height:1.6;margin-top:5px;color:var(--text-secondary)}
.checkout-exchange-offer button{flex:0 0 auto}
.checkout-exchange-footer{position:sticky;bottom:0;padding:12px 0 0;background:#fffdf8}
.checkout-exchange-skip{display:block;width:100%;min-height:44px;margin-top:8px;background:transparent;border:1px solid #eadcae;border-radius:10px;color:var(--text-secondary);font:inherit;font-size:13px;cursor:pointer}
.pickup-instructions{margin-top:12px}
.pickup-instruction{margin-top:10px}
.pickup-instruction p{margin:5px 0;line-height:1.7}
.pickup-map-link{display:inline-flex;align-items:center;min-height:40px;margin-top:8px;color:#765716;font-weight:700;text-underline-offset:3px}
.pickup-contact-button{margin:8px 0 0 8px}
#shopping-info-modal{background:#fffdf8}
#shopping-info-modal .modal-title{padding-bottom:14px;border-bottom:1px solid #eadfbe;margin-bottom:16px}
#pickup-info-content .pickup-location-title{display:block;font-size:13px;line-height:1.7}
#pickup-info-content .pickup-address{color:#756744;margin-top:4px;overflow-wrap:anywhere}
#pickup-info-content .pickup-instruction{padding:12px;background:#faf7ef;border-radius:10px}
#pickup-info-content .pickup-instruction b{font-size:13px;color:#665225}
#pickup-info-content .pickup-instruction p{font-size:12px;margin:6px 0 0}

/* Shopping tabs and a separate delivery information entry. */
.compact-shop-navigation .shop-navigation{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:12px 14px}
.compact-shop-navigation .shop-segments{display:flex;align-self:flex-start;padding:4px;gap:4px;border:1px solid #f0e1ae;border-radius:14px;background:#fff3cd}
.compact-shop-navigation .shop-segments a{display:flex;align-items:center;justify-content:center;min-height:40px;min-width:112px;padding:8px 18px;border-radius:10px;color:#806c3a;font-size:14px}
.compact-shop-navigation .shop-segments a[aria-current]{background:#f5c438;color:#513b0d;box-shadow:0 2px 6px rgba(134,98,15,.12)}
.compact-shop-navigation .shop-navigation .shopping-info-entry{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;margin:0;padding:9px 12px;border:1px solid #eee5cd;border-radius:10px;background:#fffdf7;text-decoration:none;text-align:left;color:#7f7354;font-size:12px;font-weight:400}
.compact-shop-navigation .shopping-info-entry strong{color:#67552c;font-size:12px;font-weight:650}
.compact-shop-navigation .shopping-info-entry span:last-child{margin-left:auto;font-size:20px;line-height:1;color:#a78c43}
@media(max-width:480px){.compact-shop-navigation .shop-segments{align-self:stretch}.compact-shop-navigation .shop-segments a{flex:1;min-width:0}}

.compact-shop-navigation .shop-utility-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.compact-shop-navigation .shop-navigation .shop-utility-buttons button{margin:0;padding:10px 6px;min-height:42px;min-width:0;background:#fffdf6;border:1px solid #eadfbe;border-radius:10px;text-decoration:none;color:#725d2d;font-size:13px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.compact-shop-navigation.customer-order-page .member-bar{flex-wrap:wrap;align-items:center}
.compact-shop-navigation .member-summary{width:auto;flex:1 1 170px}
.compact-shop-navigation .member-summary-copy{min-width:0}
.compact-shop-navigation .member-bar-copy{display:block;white-space:normal;line-height:1.6}
.compact-shop-navigation .member-bar-title{line-height:1.5}
.compact-shop-navigation.customer-order-page .member-actions{flex:1 1 200px;display:flex;flex-wrap:wrap}
.compact-shop-navigation.customer-order-page .member-button{flex:1;white-space:normal;line-height:1.5;padding:8px 10px;min-width:80px}
#announcement-modal{background:#fffdf7}
#announcement-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.9;color:#594c31;margin:8px 0 24px}
@media(max-width:340px){.compact-shop-navigation .shop-utility-buttons{gap:5px}.compact-shop-navigation .shop-navigation .shop-utility-buttons button{font-size:12px}}
.compact-shop-navigation .shop-utility-buttons button{justify-content:center;align-items:center;text-align:center}

.customer-order-page .header{position:relative;padding-right:60px}
.header-title-row{display:flex;align-items:center;gap:12px;text-align:left}
.header-title-row h1{flex:1;min-width:0;overflow-wrap:anywhere}
#announcement-button{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1;display:flex;align-items:center;justify-content:center;width:40px;height:64px;padding:10px 0;border:0;border-radius:12px 0 0 12px;background:#fff1c7;color:#674c14;font:inherit;font-size:14px;font-weight:650;line-height:1.4;letter-spacing:3px;writing-mode:vertical-rl;text-orientation:upright;cursor:pointer}
.announcement-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:#d94f30}
.compact-shop-navigation.customer-order-page .member-bar{margin-top:12px}
#announcement-pickup-details,#announcement-delivery-details{margin:0 0 12px;border:1px solid #eadfbe;border-radius:12px;background:#fff}
#announcement-delivery-details{margin-bottom:20px}
#announcement-pickup-details summary,#announcement-delivery-details summary{padding:14px 16px;font-size:14px;font-weight:650;color:#725d2d;cursor:pointer}
#announcement-pickup-details[open] summary,#announcement-delivery-details[open] summary{border-bottom:1px solid #eee5cd}
#pickup-info-content,#delivery-info-content{padding:14px;font-size:13px;line-height:1.7}
#pickup-info-content .shopping-pickup-info{padding:0;border:0;background:transparent}
.delivery-zone-search-label{display:block;margin-bottom:7px;color:#594c31;font-weight:700}
.delivery-zone-search-hint{margin:6px 0 10px;color:var(--text-secondary);font-size:12px}
.delivery-zone-note{margin:0 0 12px;color:var(--text-secondary)}
.delivery-zone-empty{margin:10px 0 0;padding:12px;border-radius:10px;background:#faf7ef;color:#756744}
#announcement-zone-results .shopping-zone-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;margin:0;padding:12px 0;border-bottom:1px solid #eee8d9}
#announcement-zone-results .shopping-zone-row:last-child{border-bottom:0}
#announcement-zone-results .shopping-zone-row span{overflow-wrap:anywhere}
#announcement-zone-results .shopping-zone-row strong{color:#72551a}
#announcement-zone-results .shopping-zone-row small{grid-column:1 / -1;color:#756744}
#announcement-modal .modal-title{gap:10px;font-size:18px}

.exchange-spotlight-heading{flex-wrap:wrap;overflow-wrap:anywhere;line-height:1.5}
.exchange-spotlight-badge{flex:0 0 auto;white-space:nowrap}
.exchange-spotlight-detail{display:block;overflow-wrap:anywhere}

/* The language controls have their own row on narrow customer screens. */
.customer-order-page .language-control-row { display:flex; justify-content:flex-end; margin-bottom:8px; }
html[lang^="zh"] .customer-order-page:not(.simple-mode) .language-control-row { padding-right:40px; }
html[lang="en"] .customer-order-page .header-title-row { align-items:center; gap:10px; }
html[lang="en"] .customer-order-page .header-title-row h1 { min-width:0; overflow-wrap:anywhere; }
html[lang="en"] .customer-order-page #announcement-button { position:static; transform:none; writing-mode:horizontal-tb; text-orientation:mixed; letter-spacing:0; width:auto; height:auto; min-height:36px; padding:8px 10px; border-radius:12px; flex:0 0 auto; white-space:nowrap; font-size:12px; }
html[lang="en"] .customer-order-page .member-actions { flex-wrap:wrap; }
html[lang="en"] .customer-order-page .cart-submit { white-space:normal; }
.order-payment-countdown {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px 14px;
  margin: 16px 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--primary-light);
  font-size: 14px;
}
.order-payment-countdown strong { font-size: 22px; font-variant-numeric: tabular-nums; }
.order-payment-countdown.critical { color: var(--danger); }
.order-payment-countdown.expired strong { color: var(--text-secondary); font-size: 14px; }
