/* ==========================================================================
   NHE WooCommerce 交易頁樣式（site-wide on WC pages）
   reskin 真實 WC 頁，不碰功能。用 --nhe-* token（global.css 定義）。
   ★ 不使用 !important：覆寫 Astra/WC 用高 specificity（含 #content）；
     覆寫外掛 inline 樣式則先由 nhe.js 移除 inline 再套 CSS。
   ① 單一課程頁 ② 購物車 ③ 結帳
   ========================================================================== */

/* ---- ① 單一商品頁：2 欄（封面 | 資訊） ---- */
.single-product div.product{
  display:grid;grid-template-columns:1.02fr 1fr;gap:64px;align-items:stretch;
  max-width:1280px;margin:0 auto;padding-top:24px;
}
/* 覆寫 Astra 對 summary/tabs 的固定寬度與 float（Astra 用 #content 打底 → 跟進並加長以勝出） */
body.single-product #content div.product > div.summary.entry-summary{width:auto;max-width:none;float:none;margin:0}
body.single-product #content div.product > .woocommerce-tabs,
body.single-product #content div.product > .related,
body.single-product #content div.product > .upsells,
body.single-product #content div.product > .woocommerce-product-rating{grid-column:1/-1;width:100%;float:none}
.single-product .ast-onsale-card,.single-product span.onsale{display:none}

/* ---- 漸層封面（product-image.php 覆寫輸出 .nhe-cover） ---- */
.nhe-cover{
  position:relative;overflow:hidden;border-radius:26px;min-height:480px;color:#fff;
  display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,3.4vw,40px);
  box-shadow:var(--nhe-shadow);
}
.nhe-cover.cv1{background:linear-gradient(150deg,#8a4031 0%,#5a2a20 64%,#3a1c15 100%)}
.nhe-cover.cv2{background:linear-gradient(150deg,#2f5d4a 0%,#1e4034 64%,#13241d 100%)}
.nhe-cover.cv3{background:linear-gradient(150deg,#2c4a73 0%,#1d3350 64%,#13243a 100%)}
.nhe-cover::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 14px,rgba(255,255,255,0) 14px 30px);mix-blend-mode:overlay}
.nhe-cover > *{position:relative;z-index:1}
.nhe-cover-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nhe-cover-eyebrow{font-family:var(--nhe-serif);font-size:13px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.86)}
.nhe-cover-seal{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);padding:7px 13px;border-radius:999px}
.nhe-cover-seal svg{width:15px;height:15px}
.nhe-cover-rb{display:block;width:60px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--nhe-c1),var(--nhe-c2) 40%,var(--nhe-c3) 70%,var(--nhe-c4));margin-bottom:16px}
.nhe-cover-title{font-family:var(--nhe-serif-tc);font-weight:600;color:#fff;font-size:clamp(30px,4.4vw,48px);line-height:1.18;letter-spacing:.01em;margin:0}
.nhe-cover-sub{font-size:14.5px;color:rgba(255,255,255,.82);margin-top:12px;max-width:30ch}
.nhe-cover-foot{display:flex;flex-wrap:wrap;gap:8px}
.nhe-cover-chip{font-size:12.5px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:6px 12px;border-radius:999px}

/* ---- 右側資訊：標題 / 麵包屑 / 價格 ---- */
.single-product .summary.entry-summary{display:flex;flex-direction:column;margin:0}
.single-product .summary .woocommerce-breadcrumb{order:-2;font-size:13.5px;color:var(--nhe-ink-soft);margin-bottom:14px}
.single-product .summary .single-product-category{order:-1;font-family:var(--nhe-serif);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px}
.single-product .summary .single-product-category a{color:var(--nhe-maroon)}
.single-product .summary h1.product_title{font-family:var(--nhe-serif-tc);font-weight:700;font-size:clamp(28px,3.4vw,40px);line-height:1.2;color:var(--nhe-ink);margin:0 0 16px}
.single-product .summary > p.price{
  font-family:var(--nhe-serif);color:var(--nhe-maroon);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;
  margin:0 0 22px;padding:20px 0;border-top:1px solid var(--nhe-line);border-bottom:1px solid var(--nhe-line);
}
.single-product .summary > p.price .woocommerce-Price-amount{font-size:34px;font-weight:600}
.single-product .summary > p.price del{opacity:1}
.single-product .summary > p.price del .woocommerce-Price-amount{font-family:var(--nhe-sans);font-size:15px;color:var(--nhe-ink-soft);font-weight:400;text-decoration:line-through}
.single-product .summary > p.price ins{text-decoration:none}
.single-product .summary .woocommerce-product-details__short-description{color:var(--nhe-ink-soft);line-height:1.85;font-size:15.5px;margin-bottom:6px}

/* ---- 報名選擇器卡片 ---- */
.single-product .summary form.variations_form{
  background:var(--nhe-paper);border:1px solid var(--nhe-line);border-radius:18px;
  padding:clamp(20px,2.4vw,30px);box-shadow:0 1px 2px rgba(28,27,25,.04),0 6px 18px rgba(28,27,25,.05);margin-top:6px;
}
.single-product .summary form.variations_form::before{
  content:"選擇報名方案";display:block;font-family:var(--nhe-serif-tc);font-weight:600;font-size:20px;color:var(--nhe-ink);margin-bottom:4px;
}

/* ===== .nhe-vui 三步驟選擇器 — 改套品牌酒紅（高 specificity 覆寫外掛 inline CSS；不碰 JS/markup） ===== */
.single-product .nhe-vui{
  --p:#7A3B2E;--pd:#5A2A20;--ps:#EFE3DC;--pt:#FBF8F1;--ink:#1C1B19;--inks:#57534B;--mut:#8C8576;
  --line:#E2DCCF;--ok:#3AA655;--ssel:0 6px 22px rgba(122,59,46,.16);margin:14px 0 4px;
}
.single-product .nhe-vui .row{margin-bottom:22px}
.single-product .nhe-vui .row-num{background:var(--ps);color:var(--pd);width:26px;height:26px;font-size:14px}
.single-product .nhe-vui .row-title{font-family:var(--nhe-serif-tc);font-size:17px}
.single-product .nhe-vui .row-hint{color:var(--mut)}
.single-product .nhe-vui .grid-b{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:12px}
.single-product .nhe-vui .tile{min-height:118px;padding:18px 12px 16px;border:1.6px solid var(--line);border-radius:14px;background:var(--surface-2,#FBF8F1);gap:9px}
.single-product .nhe-vui .tile:hover{border-color:#cbb9a8;background:#fff}
.single-product .nhe-vui .tile .ic{width:48px;height:48px;color:var(--p)}
.single-product .nhe-vui .tile .ic svg{width:44px;height:44px}
.single-product .nhe-vui .tile.people .ic svg{width:38px;height:38px}
.single-product .nhe-vui .tile .t1{font-size:15px;color:var(--ink)}
.single-product .nhe-vui .tile .t2{font-size:11.5px;color:var(--inks)}
.single-product .nhe-vui .tile .badge{font-size:10px;color:var(--p);background:var(--ps);padding:2px 7px;border-radius:999px;top:8px;right:8px}
.single-product .nhe-vui .tile .tick{background:var(--p);width:21px;height:21px;top:8px;left:8px}
.single-product .nhe-vui .tile .tick svg{width:12px;height:12px}
.single-product .nhe-vui .tile[aria-pressed="true"]{border-color:var(--p);background:var(--ps);box-shadow:var(--ssel)}
.single-product .nhe-vui .tile[aria-pressed="true"] .ic,
.single-product .nhe-vui .tile[aria-pressed="true"] .t1{color:var(--pd)}
.single-product .nhe-vui .tile[aria-pressed="true"] .t2{color:var(--p)}
.single-product .nhe-vui .tile[aria-pressed="true"] .badge{background:#fff;color:var(--p)}
.single-product .nhe-vui .dates{gap:10px}
.single-product .nhe-vui .dcal{min-width:88px;padding:12px 16px 11px;border:1.6px solid var(--line);border-radius:14px;background:var(--surface-2,#FBF8F1)}
.single-product .nhe-vui .dcal:hover{border-color:#cbb9a8;background:#fff}
.single-product .nhe-vui .dcal .dc-day{font-family:var(--nhe-serif);font-size:30px;font-weight:600;color:var(--ink)}
.single-product .nhe-vui .dcal .dc-top{font-size:12px;color:var(--inks)}
.single-product .nhe-vui .dcal .dc-week{font-size:12px;color:var(--inks)}
.single-product .nhe-vui .dcal[aria-pressed="true"]{border-color:var(--p);background:var(--ps);box-shadow:var(--ssel)}
.single-product .nhe-vui .dcal[aria-pressed="true"] .dc-day,
.single-product .nhe-vui .dcal[aria-pressed="true"] .dc-top{color:var(--pd)}
.single-product .nhe-vui .dprompt{border:1.5px dashed #d9c6b3;background:var(--pt);color:var(--inks);border-radius:14px;padding:14px 18px}
.single-product .nhe-vui .dprompt svg{color:var(--p)}
.single-product .nhe-vui .dempty{border:1.5px solid var(--line);background:#FBF8F1;border-radius:14px;padding:14px 18px}
.single-product .nhe-vui .nhe-vui-reset{border:1.5px solid var(--line);color:var(--inks);border-radius:999px;padding:6px 14px}
.single-product .nhe-vui .nhe-vui-reset:hover{border-color:var(--p);color:var(--pd);background:var(--pt)}

/* ---- 變體價格 + 加入購物車 ---- */
.single-product .single_variation .price{font-family:var(--nhe-serif);color:var(--nhe-maroon);font-size:30px;font-weight:600}
.single-product .woocommerce-variation-add-to-cart{margin-top:18px;padding-top:18px;border-top:1px solid var(--nhe-line);display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.single-product .woocommerce-variation-add-to-cart .quantity{flex:none}
.single-product form.variations_form button.single_add_to_cart_button{
  background:var(--nhe-maroon);color:#fff;border:none;border-radius:999px;
  font-size:16.5px;font-weight:600;letter-spacing:.04em;padding:16px 34px;
  box-shadow:0 8px 28px rgba(122,59,46,.24);transition:background .2s;flex:1;min-width:200px;
}
.single-product form.variations_form button.single_add_to_cart_button:hover{background:var(--nhe-maroon-d)}

/* ---- 合購優惠（inline 樣式已由 nhe.js 移除 → 此處不需 !important） ---- */
.single-product .nhe-bundle-wrapper{
  border:1px solid var(--nhe-line);background:var(--nhe-paper);border-radius:16px;padding:22px;margin:22px 0 0;
}
.single-product .nhe-bundle-wrapper > h4{font-family:var(--nhe-serif-tc);font-weight:600;font-size:18px;color:var(--nhe-ink);margin:0 0 4px}
.single-product .nhe-bundle-wrapper > p{color:var(--nhe-ink-soft);font-size:13px}
.single-product .nhe-bundle-options{display:flex;flex-direction:column;gap:10px;margin:12px 0 0}
.single-product .nhe-bundle-options label{
  display:flex;align-items:center;gap:13px;margin:0;
  padding:15px 18px;border:1.6px solid var(--nhe-line);border-radius:14px;background:#FBF8F1;
  font-size:14.5px;color:var(--nhe-ink);cursor:pointer;transition:border-color .16s,background .16s;line-height:1.5;
}
.single-product .nhe-bundle-options label:hover{border-color:#cbb9a8;background:#fff}
.single-product .nhe-bundle-options input[type=radio]{accent-color:var(--nhe-maroon);width:18px;height:18px;flex:none;margin:0}
.single-product .nhe-bundle-options label:has(input:checked){border-color:var(--nhe-maroon);background:var(--nhe-accent-soft)}

/* ---- 商品頁響應式 ---- */
@media(max-width:980px){
  .single-product div.product{grid-template-columns:1fr;gap:32px}
  .nhe-cover{min-height:0;aspect-ratio:16/10}
}

/* ==========================================================================
   ② 購物車
   ========================================================================== */
.woocommerce-cart .nhe-cart-layout{display:grid;grid-template-columns:1fr;gap:28px;align-items:start;max-width:1280px;margin:0 auto}
@media(min-width:980px){
  .woocommerce-cart .nhe-cart-layout{grid-template-columns:minmax(0,1fr) 360px;gap:40px}
  .nhe-cart-side{position:sticky;top:120px}
}
.nhe-cart-list{display:flex;flex-direction:column;gap:16px}
.nhe-cart-item{display:grid;grid-template-columns:120px 1fr;gap:18px;background:var(--nhe-paper);border:1px solid var(--nhe-line);border-radius:18px;padding:18px;box-shadow:0 1px 2px rgba(28,27,25,.04),0 6px 18px rgba(28,27,25,.05)}
.nhe-ci-cover{width:120px;height:120px;border-radius:14px;overflow:hidden;position:relative;color:#fff;display:flex;align-items:flex-end;padding:12px;background:linear-gradient(150deg,#8a4031,#3a1c15 85%)}
.nhe-ci-cover.cv2{background:linear-gradient(150deg,#2f5d4a,#13241d 85%)}
.nhe-ci-cover.cv3{background:linear-gradient(150deg,#2c4a73,#13243a 85%)}
.nhe-ci-cover::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 10px,rgba(255,255,255,0) 10px 22px)}
.nhe-ci-cover span{position:relative;z-index:1;font-family:var(--nhe-serif-tc);font-weight:600;font-size:15px;line-height:1.2}
.nhe-ci-body{display:flex;flex-direction:column;gap:12px;min-width:0}
.nhe-ci-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.nhe-ci-name{font-family:var(--nhe-serif-tc);font-size:18px;font-weight:600}
.nhe-ci-name a{color:var(--nhe-ink);text-decoration:none}
.nhe-ci-name a:hover{color:var(--nhe-maroon)}
/* 移除鈕：用 a.remove.nhe-ci-remove 提高 specificity 勝過 WC 的 a.remove */
.nhe-cart-item a.remove.nhe-ci-remove{flex:none;width:34px;height:34px;border-radius:999px;border:1px solid var(--nhe-line);background:#FBF8F1;color:var(--nhe-ink-soft);display:grid;place-items:center;font-size:20px;line-height:1;text-decoration:none;transition:.16s}
.nhe-cart-item a.remove.nhe-ci-remove:hover{border-color:#cf7a68;color:var(--nhe-maroon);background:#fff}
.nhe-ci-attrs{display:flex;flex-wrap:wrap;gap:8px}
.nhe-ci-attr{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--nhe-ink-soft);background:#FBF8F1;border:1px solid var(--nhe-line);padding:5px 11px;border-radius:999px}
.nhe-ci-attr.type{background:var(--nhe-accent-soft);border-color:transparent;color:var(--nhe-maroon-d);font-weight:600}
.nhe-ci-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid #ECE7DB}
.nhe-ci-unit{font-size:13px;color:var(--nhe-ink-soft)}
.nhe-ci-unit b{font-family:var(--nhe-serif);color:var(--nhe-ink);font-weight:600}
.nhe-ci-qty{font-size:13px;color:var(--nhe-ink-soft)}
.nhe-ci-qty .quantity input.qty{width:54px;border:1px solid var(--nhe-line);border-radius:8px;padding:6px;text-align:center}
.nhe-ci-sub{margin-left:auto;text-align:right}
.nhe-ci-sub .cs-k{font-size:11.5px;color:var(--nhe-ink-mute);display:block}
.nhe-ci-sub .cs-v{font-family:var(--nhe-serif);font-weight:600;color:var(--nhe-maroon);font-size:21px}
.nhe-ci-sub .cs-v .woocommerce-Price-amount{color:var(--nhe-maroon)}
.nhe-cart-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.nhe-coupon{display:flex;gap:8px;flex:1;min-width:240px}
.nhe-coupon input{flex:1;min-width:0;border:1px solid var(--nhe-line);background:#FBF8F1;border-radius:999px;padding:11px 16px;font:inherit;font-size:14px}
.nhe-coupon input:focus{outline:none;border-color:var(--nhe-maroon);background:#fff}
.nhe-cart-keep{margin-top:20px}
.nhe-keep-link{display:inline-flex;align-items:center;gap:8px;color:var(--nhe-ink-soft);font-weight:500;text-decoration:none}
.nhe-keep-link svg{width:16px;height:16px}
.nhe-keep-link:hover{color:var(--nhe-maroon)}

/* 訂單摘要（沿用 .cart_totals 表 → 美化成卡片，保留 fee/coupon/tax 列）
   .nhe-cart-side 同時帶 .cart-collaterals → 用兩者組合提高 specificity 勝過 Astra 的 .cart-collaterals .cart_totals */
.nhe-cart-layout .nhe-cart-side.cart-collaterals .cart_totals{float:none;width:100%;background:var(--nhe-paper);border:1px solid var(--nhe-line);border-radius:22px;padding:28px;box-shadow:0 1px 2px rgba(28,27,25,.04),0 6px 18px rgba(28,27,25,.05)}
.nhe-cart-side .cart_totals h2{font-family:var(--nhe-serif-tc);font-size:20px;font-weight:600;margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--nhe-line)}
.nhe-cart-side .cart_totals table{width:100%;border:none;margin:0;background:none}
.nhe-cart-side .cart_totals table tr{display:flex;align-items:center;justify-content:space-between;gap:12px;border:none}
.nhe-cart-side .cart_totals table th,.nhe-cart-side .cart_totals table td{border:none;padding:8px 0;background:none;text-align:right;font-size:14.5px}
.nhe-cart-side .cart_totals table th{font-weight:400;color:var(--nhe-ink-soft);text-align:left}
.nhe-cart-side .cart_totals .order-total{border-top:1px solid var(--nhe-line);margin-top:8px;padding-top:10px}
.nhe-cart-side .cart_totals .order-total th{font-weight:600;color:var(--nhe-ink);font-size:15px}
.nhe-cart-side .cart_totals .order-total td .woocommerce-Price-amount{font-family:var(--nhe-serif);font-weight:600;color:var(--nhe-maroon);font-size:30px}
.nhe-cart-side .cart_totals .fee td,.nhe-cart-side .cart_totals .cart-discount td{color:var(--nhe-c3)}
.nhe-cart-side .wc-proceed-to-checkout{margin-top:18px}
/* 前往結帳鈕：a.checkout-button.button.alt 已夠 specificity 勝過 WC，不需 !important */
.nhe-cart-side .wc-proceed-to-checkout a.checkout-button{display:flex;align-items:center;justify-content:center;width:100%;background:var(--nhe-maroon);color:#fff;border-radius:999px;font-size:17px;font-weight:600;padding:16px}
.nhe-cart-side .wc-proceed-to-checkout a.checkout-button:hover{background:var(--nhe-maroon-d)}

/* 空購物車 */
.nhe-cart-empty{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--nhe-paper);border:1px solid var(--nhe-line);border-radius:22px;padding:clamp(40px,7vw,72px) 24px;max-width:640px;margin:0 auto}
.nhe-empty-ic{width:92px;height:92px;border-radius:999px;background:var(--nhe-accent-soft);color:var(--nhe-maroon);display:grid;place-items:center;margin-bottom:24px}
.nhe-empty-ic svg{width:44px;height:44px}
.nhe-cart-empty h2{font-family:var(--nhe-serif-tc);font-size:26px;font-weight:600;margin-bottom:12px}
.nhe-cart-empty p{font-size:15.5px;color:var(--nhe-ink-soft);max-width:38ch;margin-bottom:28px}
.nhe-cart-empty .nhe-empty-actions a.button{background:var(--nhe-maroon);color:#fff;border-radius:999px;padding:14px 30px;text-decoration:none}

@media(max-width:560px){
  .nhe-cart-item{grid-template-columns:80px 1fr;gap:14px;padding:14px}
  .nhe-ci-cover{width:80px;height:80px}
}

/* ==========================================================================
   ③ 結帳
   ========================================================================== */
/* 優惠券 / 登入提示列 */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle{max-width:1280px;margin:0 auto 18px}
.woocommerce-checkout .woocommerce-info{background:var(--nhe-paper);border-top:3px solid var(--nhe-maroon);color:var(--nhe-ink-soft);border-radius:8px}
.woocommerce-checkout .woocommerce-info a{color:var(--nhe-maroon)}

/* 兩欄版面：左資料 / 右訂單摘要(sticky)。Astra 用 #content + #id 打底 → 跟進 #content 並加長以勝出 */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:40px;align-items:start;max-width:1280px;margin:0 auto}
/* WC 結帳 AJAX 驗證失敗時，會把錯誤訊息 prepend 成 form.checkout 的第一個子元素
   (checkout.js: $checkout_form.prepend('.woocommerce-NoticeGroup-checkout'))。它會變成 grid
   第一格 → 把 #customer_details 擠到第二欄、#order_review 掉到第二列。讓它橫跨整列、自成一行。 */
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup{grid-column:1/-1;margin:0 0 8px}
body.woocommerce-checkout #content form.checkout > #customer_details,
body.woocommerce-checkout #content form.checkout > #order_review{width:auto;float:none;margin:0}
body.woocommerce-checkout #content form.checkout > #customer_details{padding:0}
body.woocommerce-checkout #content form.checkout > #order_review{padding:28px;border:1px solid var(--nhe-line);border-radius:22px}
.woocommerce-checkout form.checkout #order_review_heading{display:none}
@media(min-width:980px){.woocommerce-checkout form.checkout #order_review{position:sticky;top:120px}}
body.woocommerce-checkout #content #customer_details .col2-set,
body.woocommerce-checkout #content #customer_details .col-1,
body.woocommerce-checkout #content #customer_details .col-2{width:auto;float:none;margin:0;max-width:none}

/* 表單卡片 */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields{background:var(--nhe-paper);border:1px solid var(--nhe-line);border-radius:22px;box-shadow:0 1px 2px rgba(28,27,25,.04),0 6px 18px rgba(28,27,25,.05);padding:clamp(22px,3vw,34px);margin-bottom:24px}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3{font-family:var(--nhe-serif-tc);font-size:20px;font-weight:600;color:var(--nhe-ink);margin:0 0 20px;border:none}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.woocommerce-checkout .form-row{margin:0;padding:0}
.woocommerce-checkout .form-row.form-row-wide,
.woocommerce-checkout #billing_email_field,
.woocommerce-checkout .woocommerce-additional-fields .form-row{grid-column:1/-1}
.woocommerce-checkout .form-row label{font-size:13.5px;font-weight:600;color:var(--nhe-ink);margin-bottom:7px;display:block}
.woocommerce-checkout .form-row label .required,.woocommerce-checkout .form-row .optional{color:var(--nhe-maroon)}
/* 輸入框：用 #content + form.checkout 提高 specificity 勝過 Astra/WC 的輸入樣式 */
body.woocommerce-checkout #content form.checkout .form-row input.input-text,
body.woocommerce-checkout #content form.checkout .form-row textarea,
body.woocommerce-checkout #content form.checkout .select2-container .select2-selection{
  border:1.5px solid var(--nhe-line);background:#FBF8F1;border-radius:14px;
  padding:13px 15px;font:inherit;font-size:15px;color:var(--nhe-ink);width:100%;min-height:auto
}
.woocommerce-checkout .form-row textarea{min-height:90px}
body.woocommerce-checkout #content form.checkout .form-row input.input-text:focus,
body.woocommerce-checkout #content form.checkout .form-row textarea:focus{outline:none;border-color:var(--nhe-maroon);background:#fff;box-shadow:0 0 0 3px rgba(122,59,46,.08)}

/* 訂單摘要卡 */
.woocommerce-checkout #order_review::before{content:"訂單摘要";display:block;font-family:var(--nhe-serif-tc);font-size:20px;font-weight:600;color:var(--nhe-ink);margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--nhe-line)}
.woocommerce-checkout #order_review{background:var(--nhe-paper);box-shadow:0 1px 2px rgba(28,27,25,.04),0 6px 18px rgba(28,27,25,.05)}
.woocommerce-checkout #order_review table.shop_table{border:none;margin:0;width:100%}
.woocommerce-checkout #order_review table.shop_table thead{display:none}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{border:none;padding:8px 0;background:none}
.woocommerce-checkout #order_review .cart_item td.product-name{font-size:14.5px;color:var(--nhe-ink);font-weight:600}
.woocommerce-checkout #order_review .cart_item td.product-total{text-align:right;font-family:var(--nhe-serif);color:var(--nhe-ink-soft);white-space:nowrap;vertical-align:top}
.woocommerce-checkout #order_review .cart_item .variation,
.woocommerce-checkout #order_review .cart_item dl{margin:6px 0 0;font-size:12px;color:var(--nhe-ink-soft)}
.woocommerce-checkout #order_review .cart_item .variation dt,
.woocommerce-checkout #order_review .cart_item .variation dd{display:inline;margin:0;font-weight:400}
.woocommerce-checkout #order_review .cart_item{border-bottom:1px solid var(--nhe-line)}
.woocommerce-checkout #order_review .cart-subtotal th,
.woocommerce-checkout #order_review .order-total th{font-weight:400;color:var(--nhe-ink-soft);text-align:left}
.woocommerce-checkout #order_review tr.cart-subtotal{border-top:1px solid var(--nhe-line)}
.woocommerce-checkout #order_review td{text-align:right;font-size:14.5px}
.woocommerce-checkout #order_review .order-total th{font-weight:600;color:var(--nhe-ink);font-size:15px;padding-top:12px}
.woocommerce-checkout #order_review .order-total td{padding-top:12px}
.woocommerce-checkout #order_review .order-total .woocommerce-Price-amount{font-family:var(--nhe-serif);font-weight:600;color:var(--nhe-maroon);font-size:30px}
.woocommerce-checkout #order_review .fee td,.woocommerce-checkout #order_review .cart-discount td{color:var(--nhe-c3)}

/* 付款方式 → radio 卡片 */
.woocommerce-checkout #payment{background:none;border-radius:0;margin-top:20px}
.woocommerce-checkout #payment ul.wc_payment_methods{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.woocommerce-checkout #payment li.wc_payment_method{background:#FBF8F1;border:1.6px solid var(--nhe-line);border-radius:14px;padding:14px 16px;list-style:none;transition:border-color .16s,background .16s}
.woocommerce-checkout #payment li.wc_payment_method:hover{border-color:#cbb9a8;background:#fff}
.woocommerce-checkout #payment li.wc_payment_method > label{font-weight:600;color:var(--nhe-ink);display:inline-flex;align-items:center;gap:10px;font-size:14.5px}
.woocommerce-checkout #payment li.wc_payment_method input[type=radio]{accent-color:var(--nhe-maroon);width:18px;height:18px;margin:0}
.woocommerce-checkout #payment li.wc_payment_method:has(input:checked){border-color:var(--nhe-maroon);background:var(--nhe-accent-soft)}
.woocommerce-checkout #payment .wc_payment_method div.payment_box{background:none;border:none;margin:12px 0 0;padding:0;font-size:13px;color:var(--nhe-ink-soft)}
.woocommerce-checkout #payment .wc_payment_method div.payment_box::before{display:none}
.woocommerce-checkout #payment .place-order{padding:0;margin-top:20px}
/* 確認付款鈕：用 button#place_order + 類別 勝過 WC */
.woocommerce-checkout #payment button#place_order.button{width:100%;background:var(--nhe-maroon);color:#fff;border:none;border-radius:999px;font-size:17px;font-weight:600;padding:17px;box-shadow:0 8px 28px rgba(122,59,46,.24);transition:background .2s}
.woocommerce-checkout #payment button#place_order.button:hover{background:var(--nhe-maroon-d)}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{font-size:12.5px;color:var(--nhe-ink-soft);margin-bottom:14px}

/* 雙人同行驗證（#nhe-dual-enrollment 的 inline 樣式已由 nhe.js 移除 → 不需 !important） */
#nhe-dual-enrollment{margin:0 0 24px;padding:24px;border:1px solid var(--nhe-line);border-radius:22px;background:var(--nhe-paper);box-shadow:0 1px 2px rgba(28,27,25,.04),0 6px 18px rgba(28,27,25,.05)}
#nhe-dual-enrollment h3{font-family:var(--nhe-serif-tc);font-size:18px;font-weight:600;color:var(--nhe-ink);margin:0 0 8px}
#nhe-dual-enrollment p{font-size:13.5px;color:var(--nhe-ink-soft)}
#nhe-dual-enrollment input[type=email]{border:1.5px solid var(--nhe-line);background:#FBF8F1;border-radius:14px;padding:13px 15px;font:inherit;margin-top:6px}
#nhe-dual-enrollment input[type=email]:focus{outline:none;border-color:var(--nhe-maroon);background:#fff}

@media(max-width:980px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr;gap:24px}
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
}

/* ==========================================================================
   ④ 會員中心 My Account
   ========================================================================== */
/* 2 欄：左導覽 / 右內容（覆寫 Astra 的 float/width，用 #content 提高 specificity） */
.woocommerce-account .woocommerce{max-width:1280px;margin:0 auto}
/* 只在「已登入」套 2 欄 grid；未登入(登入/註冊頁 #customer_login)不套，否則被擠進左欄 */
body.woocommerce-account.logged-in #content .woocommerce-account .woocommerce,
body.woocommerce-account.logged-in #content div.woocommerce{display:grid;grid-template-columns:268px minmax(0,1fr);gap:32px;align-items:start}
body.woocommerce-account #content .woocommerce-MyAccount-navigation{width:auto;float:none;margin:0;grid-column:1;order:0}
body.woocommerce-account #content .woocommerce-MyAccount-content{width:auto;float:none;margin:0;grid-column:2;order:0}
@media(min-width:980px){.woocommerce-account .woocommerce-MyAccount-navigation{position:sticky;top:120px}}
/* 手機/平板：上下堆疊（左導覽在上、內容在下），避免側欄被擠掉或消失 */
@media(max-width:980px){
  body.woocommerce-account.logged-in #content .woocommerce-account .woocommerce,
  body.woocommerce-account.logged-in #content div.woocommerce{grid-template-columns:1fr;gap:20px}
  body.woocommerce-account #content .woocommerce-MyAccount-navigation,
  body.woocommerce-account #content .woocommerce-MyAccount-content{grid-column:1;width:auto}
}

/* 左導覽卡 */
.woocommerce-MyAccount-navigation{background:var(--nhe-paper);border:1px solid var(--nhe-line);border-radius:22px;box-shadow:0 1px 2px rgba(28,27,25,.04),0 6px 18px rgba(28,27,25,.05);overflow:hidden}
.nhe-acc-user{display:flex;align-items:center;gap:12px;padding:22px;border-bottom:1px solid var(--nhe-line)}
.nhe-acc-av{width:50px;height:50px;border-radius:999px;background:radial-gradient(circle at 35% 30%,#8a5446,#5a2a20);color:#f3e6d8;display:grid;place-items:center;font-family:var(--nhe-serif-tc);font-weight:700;font-size:20px;flex:none}
.nhe-acc-name{font-family:var(--nhe-serif-tc);font-size:17px;font-weight:600;color:var(--nhe-ink);line-height:1.2}
.nhe-acc-mail{font-size:12px;color:var(--nhe-ink-mute);word-break:break-all}
/* 選單填色：填滿整列、不要圓角；分隔用品牌髮絲線（蓋掉 Astra 的灰邊） */
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:block}
.woocommerce-MyAccount-navigation ul li{margin:0}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li{border:0;border-top:1px solid var(--nhe-line)}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li:first-child{border-top:0}
.woocommerce-MyAccount-navigation ul li a{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:0;font-size:15px;font-weight:500;color:var(--nhe-ink-soft);text-decoration:none;transition:background .15s,color .15s}
.woocommerce-MyAccount-navigation ul li a:hover{background:#FBF8F1;color:var(--nhe-maroon)}
.woocommerce-MyAccount-navigation ul li.is-active a{background:var(--nhe-accent-soft);color:var(--nhe-maroon-d);font-weight:600}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--nhe-ink-mute)}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{color:var(--nhe-c1);background:#FBF8F1}

/* 右內容卡 */
.woocommerce-MyAccount-content{background:var(--nhe-paper);border:1px solid var(--nhe-line);border-radius:22px;box-shadow:0 1px 2px rgba(28,27,25,.04),0 6px 18px rgba(28,27,25,.05);padding:clamp(24px,3vw,38px);min-width:0}
.woocommerce-MyAccount-content > p{color:var(--nhe-ink-soft);line-height:1.85}
.woocommerce-MyAccount-content a:not(.button):not(.nhe-obtn){color:var(--nhe-maroon)}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-family:var(--nhe-serif-tc);color:var(--nhe-ink);font-weight:600}
/* 控制台問候 */
.woocommerce-MyAccount-content .woocommerce-MyAccount-content__welcome,
.woocommerce-MyAccount-content > p:first-child{font-size:16px}

/* 訂單表格（扁平乾淨：髮絲線分隔，不做每列卡片以免與 Astra 表格邊框打架） */
.woocommerce-account .woocommerce-orders-table{width:100%;border-collapse:collapse;border:none;margin:0}
.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-orders-table td{border:none;background:none;text-align:left;padding:15px 14px;font-size:14px;vertical-align:middle}
.woocommerce-account .woocommerce-orders-table thead th{font-family:var(--nhe-sans);font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--nhe-ink-mute);text-transform:uppercase;border-bottom:1px solid var(--nhe-line);padding-bottom:12px}
.woocommerce-account .woocommerce-orders-table tbody td{border-bottom:1px solid var(--nhe-line)}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-number a{color:var(--nhe-maroon);font-weight:600}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-total .woocommerce-Price-amount{font-family:var(--nhe-serif);color:var(--nhe-maroon);font-weight:600}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions{text-align:right}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button{padding:9px 20px;font-size:13.5px}
.woocommerce-account .woocommerce-orders-table mark.order-status,
.woocommerce-account .woocommerce-orders-table .order-status{background:var(--nhe-accent-soft);color:var(--nhe-maroon-d);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:600;display:inline-block}

/* 表單（帳戶詳細 / 各 endpoint） */
.woocommerce-MyAccount-content form .woocommerce-form-row label,
.woocommerce-MyAccount-content form p label{font-size:13.5px;font-weight:600;color:var(--nhe-ink);margin-bottom:6px;display:block}
.woocommerce-MyAccount-content form input.input-text,
.woocommerce-MyAccount-content form input[type=text],
.woocommerce-MyAccount-content form input[type=email],
.woocommerce-MyAccount-content form input[type=password],
.woocommerce-MyAccount-content form input[type=tel],
.woocommerce-MyAccount-content form input[type=date],
.woocommerce-MyAccount-content form select,
.woocommerce-MyAccount-content form textarea{border:1.5px solid var(--nhe-line);background:#FBF8F1;border-radius:14px;padding:12px 15px;font:inherit;font-size:15px;line-height:1.5;height:auto;color:var(--nhe-ink);width:100%;max-width:480px}
/* select：補回下拉箭頭（上面 background 簡寫蓋掉 Astra 的箭頭），並確保高度足夠、文字不被切掉 */
.woocommerce-MyAccount-content form select{
  -webkit-appearance:none;appearance:none;min-height:48px;padding-right:42px;
  background-color:#FBF8F1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237A3B2E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;
}
.woocommerce-MyAccount-content form input:focus,
.woocommerce-MyAccount-content form select:focus,
.woocommerce-MyAccount-content form textarea:focus{outline:none;border-color:var(--nhe-maroon);background:#fff;box-shadow:0 0 0 3px rgba(122,59,46,.08)}
.woocommerce-MyAccount-content form button.button,
.woocommerce-MyAccount-content .button{background:var(--nhe-maroon);color:#fff;border:none;border-radius:999px;padding:13px 28px;font-weight:600}
.woocommerce-MyAccount-content form button.button:hover,
.woocommerce-MyAccount-content .button:hover{background:var(--nhe-maroon-d);color:#fff}

/* 地址卡：Astra 把標題列與地址各自加 1px 灰邊→兩線相鄰變「double line」。合併成單一品牌邊框卡 */
.woocommerce-MyAccount-content .woocommerce-Address{border:1px solid var(--nhe-line);border-radius:14px;overflow:hidden;background:#FBF8F1;max-width:520px}
.woocommerce-MyAccount-content .woocommerce-Address .title,
.woocommerce-MyAccount-content .woocommerce-Address-title{border:0;border-bottom:1px solid var(--nhe-line);background:transparent;padding:16px 20px;margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.woocommerce-MyAccount-content .woocommerce-Address .title h3,
.woocommerce-MyAccount-content .woocommerce-Address-title h3{margin:0;font-size:18px}
.woocommerce-MyAccount-content .woocommerce-Address .title .edit{font-size:13.5px;font-weight:600;color:var(--nhe-maroon);white-space:nowrap}
.woocommerce-MyAccount-content .woocommerce-Address address{border:0;background:transparent;padding:18px 20px;margin:0;font-style:normal;color:var(--nhe-ink-soft);line-height:1.8}

/* 顯示/隱藏密碼：WC 內建兩種狀態用同一個字型圖示（眼睛不會「閉」），改成 SVG 開眼 ↔ 斜線閉眼 */
.woocommerce .password-input{position:relative;display:flex;max-width:480px}
.woocommerce .password-input input{max-width:none}
/* 加 `form` 提高 specificity 蓋過 Astra inline；translate:none 抵消 Astra 的 translate(否則與我的 transform 疊加變 -100% 跑到上緣) */
.woocommerce form .password-input .show-password-input{
  position:absolute;top:50%;right:14px;transform:translateY(-50%);translate:none;
  width:22px;height:22px;margin:0;cursor:pointer;
  background:center/20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%2357534B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12S5.5 5 12 5s10.5 7 10.5 7-4 7-10.5 7S1.5 12 1.5 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}
.woocommerce form .password-input .show-password-input::after{content:none}
.woocommerce form .password-input .show-password-input.display-password{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%237A3B2E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 5.2A9.5 9.5 0 0 1 12 5c6.5 0 10.5 7 10.5 7a17 17 0 0 1-3 3.6M6.2 6.2A17 17 0 0 0 1.5 12s4 7 10.5 7a9.3 9.3 0 0 0 4.3-1M3 3l18 18M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E");
}

/* ===== 登入 / 註冊頁（未登入 #customer_login）===== */
body.woocommerce-account #customer_login{max-width:920px;margin:8px auto 0;display:grid;grid-template-columns:1fr;gap:24px}
/* Astra 對 .col2-set 加了 clearfix ::before/::after(display:table)，grid 會把它們當成 grid item → 欄位錯格。關掉它們 */
body.woocommerce-account #customer_login::before,
body.woocommerce-account #customer_login::after{content:none;display:none}
body.woocommerce-account #customer_login .u-column1,
body.woocommerce-account #customer_login .u-column2{float:none;width:auto;margin:0;background:var(--nhe-paper);border:1px solid var(--nhe-line);border-radius:18px;padding:clamp(24px,3vw,36px);box-shadow:0 1px 2px rgba(28,27,25,.04),0 6px 18px rgba(28,27,25,.05)}
body.woocommerce-account #customer_login h2{font-family:var(--nhe-serif-tc);font-size:23px;font-weight:600;color:var(--nhe-ink);margin:0 0 18px;padding:0;border:0}
body.woocommerce-account #customer_login .woocommerce-form{margin:0}
body.woocommerce-account #customer_login .woocommerce-form-row{margin:0 0 16px}
body.woocommerce-account #customer_login label{display:block;font-size:13.5px;font-weight:600;color:var(--nhe-ink);margin-bottom:6px}
body.woocommerce-account #customer_login .input-text{width:100%;max-width:none;border:1.5px solid var(--nhe-line);background:#FBF8F1;border-radius:14px;padding:12px 15px;font-size:15px;line-height:1.5;color:var(--nhe-ink)}
body.woocommerce-account #customer_login .input-text:focus{outline:none;border-color:var(--nhe-maroon);background:#fff;box-shadow:0 0 0 3px rgba(122,59,46,.08)}
body.woocommerce-account #customer_login .password-input{max-width:none}
body.woocommerce-account #customer_login button.button{width:100%;background:var(--nhe-maroon);color:#fff;border:none;border-radius:999px;padding:14px 28px;font-weight:600;font-size:15px;margin-top:4px}
body.woocommerce-account #customer_login button.button:hover{background:var(--nhe-maroon-d);color:#fff}
body.woocommerce-account #customer_login .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;font-weight:400;font-size:14px;color:var(--nhe-ink-soft);margin-bottom:14px}
body.woocommerce-account #customer_login .woocommerce-form-login__rememberme input{margin:0;width:auto}
body.woocommerce-account #customer_login .lost_password{margin:14px 0 0;font-size:13.5px}
body.woocommerce-account #customer_login .lost_password a{color:var(--nhe-maroon)}
body.woocommerce-account #customer_login .woocommerce-privacy-policy-text{font-size:12.5px;color:var(--nhe-ink-mute);line-height:1.7;margin:4px 0 16px}
body.woocommerce-account #customer_login .woocommerce-privacy-policy-text a{color:var(--nhe-maroon)}
@media(min-width:760px){body.woocommerce-account #customer_login{grid-template-columns:1fr 1fr}}

/* ===== 我的訂單（卡片版）===== */
.nhe-orders{display:flex;flex-direction:column;gap:18px}
.nhe-order{background:var(--nhe-paper);border:1px solid var(--nhe-line);border-radius:18px;padding:22px 24px;box-shadow:0 1px 2px rgba(28,27,25,.04),0 6px 18px rgba(28,27,25,.05)}
.nhe-order-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nhe-order-no{font-family:var(--nhe-serif);font-size:14px;font-weight:600;color:var(--nhe-ink-soft);letter-spacing:.02em}
.nhe-order-date{margin-left:auto;font-size:13px;color:var(--nhe-ink-mute)}
.nhe-order-badge{font-size:12.5px;font-weight:600;padding:4px 12px;border-radius:999px;letter-spacing:.02em}
.nhe-order-badge.st-upcoming{background:var(--nhe-accent-soft);color:var(--nhe-maroon-d)}
.nhe-order-badge.st-done{background:rgba(58,166,85,.14);color:#2f7d45}
.nhe-order-badge.st-wait{background:rgba(242,176,30,.16);color:#946100}
.nhe-order-badge.st-cancel{background:rgba(28,27,25,.07);color:var(--nhe-ink-mute)}
.nhe-order-badge.st-refund{background:rgba(28,27,25,.07);color:var(--nhe-ink-soft)}
.nhe-order-badge.st-transfer{background:rgba(45,108,223,.14);color:#2455b0}

.nhe-order-body{display:flex;align-items:center;gap:18px;margin-top:16px}
.nhe-order-items{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}
.nhe-order-total{flex:none;font-family:var(--nhe-serif);font-size:21px;font-weight:600;color:var(--nhe-maroon);white-space:nowrap}
.nhe-order-item{display:flex;align-items:center;gap:16px}
.nhe-ord-thumb{flex:none;width:58px;height:58px;border-radius:13px;display:grid;place-items:center;color:#fff;overflow:hidden}
.nhe-ord-thumb svg{width:28px;height:28px;opacity:.92}
.nhe-order-item-body{flex:1;min-width:0}
.nhe-order-cname{font-family:var(--nhe-serif-tc);font-weight:600;font-size:16px;color:var(--nhe-ink);line-height:1.4}
.nhe-order-meta{font-size:13px;color:var(--nhe-ink-soft);margin-top:3px}
.nhe-order-att{display:inline-block;margin-top:7px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px}
.nhe-order-att.att-yes{background:rgba(58,166,85,.14);color:#2f7d45}
.nhe-order-att.att-no{background:rgba(228,87,46,.13);color:#b1431f}
.nhe-order-price{flex:none;font-family:var(--nhe-serif);font-size:19px;font-weight:600;color:var(--nhe-maroon);white-space:nowrap}

.nhe-order-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--nhe-line)}
.nhe-order-pay{font-size:13.5px;font-weight:600}
.nhe-order-pay .paid{color:#2f7d45}
.nhe-order-pay .unpaid{color:#946100}
.nhe-order-actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.nhe-obtn{font-size:13.5px;font-weight:600;padding:9px 20px;border-radius:999px;text-decoration:none;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.nhe-obtn.solid{background:var(--nhe-maroon);color:#fff;border:1.5px solid var(--nhe-maroon)}
.nhe-obtn.solid:hover{background:var(--nhe-maroon-d);border-color:var(--nhe-maroon-d);color:#fff}
.nhe-obtn.ghost{background:transparent;color:var(--nhe-ink);border:1.5px solid var(--nhe-line)}
.nhe-obtn.ghost:hover{border-color:var(--nhe-maroon);color:var(--nhe-maroon)}
@media(max-width:560px){
  .nhe-order-body{flex-direction:column;align-items:flex-start;gap:10px}
  .nhe-order-total{margin-left:74px}
  .nhe-order-actions{margin-left:0;width:100%}
  .nhe-obtn{flex:1;text-align:center}
}

/* ===== 再付款頁（order-pay，付款失敗後重新付款）訂單摘要 ===== */
body.woocommerce-order-pay #order_review{max-width:780px;margin:0 auto}
body.woocommerce-order-pay table.shop_table{width:100%;border:1px solid var(--nhe-line);border-radius:16px;border-collapse:separate;border-spacing:0;overflow:hidden;background:var(--nhe-paper)}
body.woocommerce-order-pay table.shop_table th,
body.woocommerce-order-pay table.shop_table td{background:transparent;border-top:0;border-bottom:1px solid var(--nhe-line);padding:14px 18px;color:var(--nhe-ink)}
body.woocommerce-order-pay table.shop_table thead th{font-family:var(--nhe-sans);font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--nhe-ink-mute);text-transform:uppercase}
body.woocommerce-order-pay table.shop_table tfoot th,
body.woocommerce-order-pay table.shop_table tfoot td{font-weight:600}
body.woocommerce-order-pay table.shop_table tfoot tr:last-child th,
body.woocommerce-order-pay table.shop_table tfoot tr:last-child td{border-bottom:0}
body.woocommerce-order-pay table.shop_table .amount,
body.woocommerce-order-pay table.shop_table .woocommerce-Price-amount{font-family:var(--nhe-serif);color:var(--nhe-maroon);font-weight:600}
body.woocommerce-order-pay #payment{background:transparent;border:0;margin-top:22px}
body.woocommerce-order-pay #payment ul.payment_methods{background:var(--nhe-paper);border:1px solid var(--nhe-line);border-radius:16px;padding:8px}
body.woocommerce-order-pay #payment div.payment_box{background:var(--nhe-surface-2,#FBF8F1);border-radius:12px}
body.woocommerce-order-pay #payment .place-order{padding:18px 0 0}

@media(max-width:980px){
  body.woocommerce-account.logged-in #content .woocommerce-account .woocommerce,
  body.woocommerce-account.logged-in #content div.woocommerce{grid-template-columns:1fr;gap:20px}
}
