/* Customer cart: shared by both website templates and all examples.
   ⚠️ **字型堆疊一定要有本機的 CJK 備援（`PingFang TC`），跟 `buy.css` 同一組。**
   Google Fonts 沒載到時（App 的 WKWebView 預覽、客人網路慢、或被擋），
   `sans-serif` 在 iOS 上會落到 Helvetica——它**沒有全形加號 `＋`（U+FF0B）**，
   數量列的 ＋ 會變成一個空白方框，而減號 `−`（U+2212）Helvetica 有、照樣顯示。
   ⚠️ 症狀是「只有一顆按鈕變亂碼」，看起來像資料壞掉而不是字型沒載到
   （2026-09-10 Kelly 在 App 的購物車上撞到）。

   ⚠️⚠️ **光補堆疊不夠，`button` 還要 `font: inherit`。** 表單控制項**不繼承
   font-family**，用的是 WebKit 自己的預設字型——所以頁面上的字全對、
   只有數量列那顆 `＋` 是空白方框。`buy.css` 一開始就有 `.ps-buy button{font:inherit}`，
   這一支漏了，而**兩邊的差別只有在缺字的那一個字元上看得出來**。 */
/* 字型由 renderCartPage 的 <link> 載（不在 CSS 裡 @import：多一次串接往返）。 */
.customer-cart{margin:0;background:#fff;color:#191e1b;font:14px/1.5 'Noto Sans TC','PingFang TC',-apple-system,sans-serif}.customer-cart *{box-sizing:border-box}.customer-cart button,.customer-cart a{font:inherit;color:inherit}.cart-page{max-width:780px;min-height:100dvh;margin:auto;display:flex;flex-direction:column}.cart-header{display:flex;align-items:center;gap:20px;padding:24px}.cart-header h1{font:600 19px/1.5 'Noto Sans TC','PingFang TC',sans-serif;margin:0}.cart-header [data-cart-items]{margin-left:auto;color:#6f6a60;font-size:13px}.cart-body{padding:0 24px 32px;flex:1}.cart-row{display:flex;gap:14px;margin:0 0 28px}.cart-photo{flex:0 0 78px;width:78px;height:97.5px;border-radius:2px;overflow:hidden;background:repeating-linear-gradient(135deg,#f1efe9 0 14px,#e3dfd6 14px 15px)}.cart-photo img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}.cart-info{flex:1;min-width:0}.cart-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.cart-line:first-child{align-items:baseline;gap:12px}.cart-line h2{font:600 16px/1.5 'Noto Sans TC','PingFang TC',sans-serif;margin:0;overflow-wrap:anywhere}.cart-qty{display:flex;align-items:center;gap:12px}.customer-cart .cart-remove{background:none;border:0;min-height:44px;padding:0 4px;color:#6f6a60;font-size:13px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;cursor:pointer}.cart-duration{font-size:13px;color:#6f6a60;margin:2px 0 8px}.cart-stepper{display:flex;align-items:center;border:1px solid #e5e0d7;border-radius:2px;height:36px}.cart-stepper button{border:0;background:none;width:32px;height:34px;font-size:18px;cursor:pointer}.cart-stepper b{min-width:32px;text-align:center}.cart-stepper button:disabled{opacity:.35;cursor:default}.cart-price{font:500 16px 'Noto Sans TC','PingFang TC',sans-serif;white-space:nowrap}.cart-subtotal,.cart-total{display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-subtotal{padding:10px 0 12px;border-bottom:1px solid #191e1b}.cart-subtotal>span:first-child{color:#938f87;font-size:12px;letter-spacing:1px}.cart-total{padding-top:12px;font:19px 'Noto Sans TC','PingFang TC',sans-serif}.cart-total strong{font-size:30px;font-weight:400}.cart-footer{position:sticky;bottom:0;background:white;border-top:1px solid #e5e0d7;padding:14px 24px 24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.cart-checkout{display:block;text-align:center;border-radius:99px;background:#191e1b!important;color:white!important;padding:15px;font-weight:500;text-decoration:none}.cart-checkout[aria-disabled=true]{opacity:.35;cursor:default}[data-cart-status]{color:#6f6a60;font-size:13px}[data-cart-status]:empty{display:none}@media(max-width:360px){.cart-header,.cart-body,.cart-footer{padding-left:16px;padding-right:16px}.cart-photo{flex-basis:64px;width:64px;height:80px}.cart-price{font-size:15px}.cart-stepper button{width:28px}.cart-stepper b{min-width:24px}}

.customer-cart .sum-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0}
.customer-cart .shipping-total{border-top:1px solid #1a1c1a;padding-top:16px;margin-top:20px;font-size:15px}.customer-cart .shipping-total .product-price{font:600 22px/1.4 'Noto Sans TC','PingFang TC',sans-serif}
.customer-cart .shipping-progress,.customer-cart .shipping-alert{padding:12px 16px;background:#faf9f6;border-radius:8px;font-size:13px;line-height:1.8}.customer-cart .shipping-alert{background:#fff8f3;color:#843809;border-left:2px solid #b93e0c;border-radius:0 8px 8px 0}.customer-cart .form-note{font-size:13px;color:#6f6a60;line-height:1.8}

.shipping-progress{display:flex;flex-direction:column;gap:6px}

.customer-cart .cart-continue{display:inline-flex;align-items:center;gap:2px;min-height:44px;margin-top:16px;color:#1a1c1a;text-underline-offset:4px}.customer-cart .cart-continue svg{flex:0 0 auto;width:16px;height:16px;margin-left:-3px}.customer-cart .cart-stepper{height:44px}.customer-cart .cart-stepper button{min-width:44px;height:44px}

/* 每列：右上是小計（單價 × 數量），名稱下一行是單價與件數；有設庫存才印剩餘（Kelly 2026-10-07）。 */
.customer-cart .cart-variant{margin:0;color:#4a463f;font-size:13.5px}
.customer-cart :is(.cart-unit,.cart-stock){margin:2px 0 0;color:#6f6a60;font-size:13px}
.customer-cart .cart-unit{font-variant-numeric:tabular-nums}
.customer-cart .cart-info>p:nth-last-child(2){margin-bottom:8px}
