/* ============================================================
   EasyGet brand styling for WooCommerce (shop / category / cart /
   checkout / my-account) + PMS login. Keeps WC functional, makes it
   look on-brand (navy #16205c, gold #ffd400, orange #ff4f00).
   ============================================================ */
:root{ --eg-navy:#16205c; --eg-gold:#ffd400; --eg-orange:#ff4f00; --eg-line:#e7e9f1; --eg-surf:#f6f7fb; --eg-muted:#5b6178; }

/* ---- buttons (classic + blocks) ---- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt, .wc-block-components-button, .wp-element-button,
.woocommerce-account .woocommerce-Button{
  background: var(--eg-orange) !important; color:#fff !important; border:0 !important;
  border-radius:100px !important; font-weight:700 !important; padding:.72em 1.7em !important;
  box-shadow:0 8px 20px rgba(255,79,0,.22) !important; transition:transform .15s ease, filter .15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.wc-block-components-button:hover, .wp-element-button:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.woocommerce a.added_to_cart{ color:var(--eg-navy) !important; font-weight:700; }

/* ---- product grid cards ---- */
.woocommerce ul.products li.product{
  border:1px solid var(--eg-line); border-radius:16px; padding:18px 16px; background:#fff; text-align:center;
  transition:transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(22,32,92,.12); }
.woocommerce ul.products li.product a img{ border-radius:12px; margin-bottom:12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ color:var(--eg-navy); font-weight:700; font-size:17px; }
.woocommerce ul.products li.product .price{ color:var(--eg-navy); font-weight:800; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }

/* ---- single product ---- */
.woocommerce div.product p.price, .woocommerce div.product span.price{ color:var(--eg-navy); font-weight:800; }
.woocommerce div.product .product_title{ color:var(--eg-navy); }

/* ---- notices / tables ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error{ border-top-color:var(--eg-orange); border-radius:10px; }
.woocommerce table.shop_table{ border-radius:12px; overflow:hidden; }
.woocommerce-cart .cart_totals h2, .woocommerce-checkout h3{ color:var(--eg-navy); }
.woocommerce .cart-collaterals .cart_totals > h2{ font-weight:800; }

/* ---- category / shop page header ---- */
.term-description{ color:var(--eg-muted); max-width:62ch; margin-bottom:24px; }
.woocommerce-products-header__title.page-title{ color:var(--eg-navy); font-weight:900; }

/* ---- simplified 收費方案 block (shop / credit-packs) ---- */
.eg-pricing{ max-width:920px; margin:48px auto 8px; }
.eg-pricing > h2{ color:var(--eg-navy); font-weight:900; font-size:26px; text-align:center; margin-bottom:22px; }
.eg-pricing-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.eg-pricing .egp{ border:1px solid var(--eg-line); border-radius:18px; padding:26px 28px; background:#fff; }
.eg-pricing .egp.feat{ border-color:var(--eg-orange); box-shadow:0 18px 44px rgba(255,79,0,.12); }
.eg-pricing .egp-h{ font-weight:800; color:var(--eg-navy); font-size:18px; }
.eg-pricing .egp-amt{ font-size:40px; font-weight:800; color:var(--eg-navy); margin:8px 0; line-height:1; }
.eg-pricing .egp-amt span{ font-size:16px; color:var(--eg-muted); font-weight:600; }
.eg-pricing .egp p{ color:var(--eg-muted); font-size:14.5px; margin-bottom:18px; }
.eg-pricing .egp-btn{ display:inline-block; background:var(--eg-navy); color:#fff !important; font-weight:700; border-radius:100px; padding:11px 24px; text-decoration:none; }
.eg-pricing .egp-btn.alt{ background:var(--eg-orange); }
.eg-pricing .egp-btn:hover{ filter:brightness(1.08); }
@media(max-width:680px){ .eg-pricing-grid{ grid-template-columns:1fr; } }

/* ---- content spacing on theme pages (below the sticky eg-header) ---- */
#main-content{ padding-top:36px; padding-bottom:54px; }
#main-content .page-header .page-title{ color:var(--eg-navy); font-weight:900; margin-bottom:22px; }

/* ---- cart (digital credits: no product image, brand table) ---- */
.woocommerce-cart .woocommerce{ max-width:1080px; margin:0 auto; }
.woocommerce td.product-thumbnail, .woocommerce th.product-thumbnail{ display:none !important; }
.woocommerce table.shop_table{ border:1px solid var(--eg-line); border-collapse:separate; border-spacing:0; border-radius:14px; overflow:hidden; }
.woocommerce table.shop_table th{ background:var(--eg-surf); color:var(--eg-navy); font-weight:700; border:0; padding:15px 18px; font-size:14px; }
.woocommerce table.shop_table td{ border-top:1px solid var(--eg-line); padding:18px; vertical-align:middle; }
.woocommerce table.shop_table .product-name a{ color:var(--eg-navy); font-weight:700; text-decoration:none; font-size:16px; }
.woocommerce .cart .product-subtotal, .woocommerce .cart .product-price{ color:var(--eg-navy); font-weight:600; }
.woocommerce .quantity input.qty{ border:1px solid var(--eg-line); border-radius:8px; padding:9px; width:66px; }
.woocommerce a.remove{ color:var(--eg-muted) !important; font-weight:700; }
.woocommerce a.remove:hover{ background:var(--eg-orange) !important; color:#fff !important; }
.woocommerce-cart .cart-collaterals{ margin-top:24px; }
.woocommerce-cart .cart-collaterals .cart_totals{ float:right; width:46%; }
.woocommerce .cart_totals h2{ color:var(--eg-navy); font-weight:800; }
.woocommerce-cart table.cart td.actions{ padding:18px 0; }
.woocommerce-cart table.cart td.actions .coupon{ display:inline-flex; gap:10px; }
.woocommerce-cart table.cart td.actions .coupon .input-text{ border:1px solid var(--eg-line); border-radius:100px; padding:11px 16px; }
@media(max-width:768px){ .woocommerce-cart .cart-collaterals .cart_totals{ float:none; width:100%; } }

/* ==== cart page refit: full-width (no sidebar) + totals merged into the cart card ==== */
/* drop the theme's widget sidebar on cart/checkout/account, widen the content column */
body.woocommerce-cart #sidebar, body.woocommerce-checkout #sidebar, body.woocommerce-account #sidebar{ display:none !important; }
body.woocommerce-cart #main-content.main, body.woocommerce-checkout #main-content.main, body.woocommerce-account #main-content.main{
  width:100% !important; max-width:100% !important; float:none !important; }

body.woocommerce-cart .woocommerce{ max-width:920px; }
body.woocommerce-cart form.woocommerce-cart-form{ margin:0; }

/* items table = top of one continuous card */
body.woocommerce-cart table.cart.shop_table{ width:100% !important;
  border:1px solid var(--eg-line); border-bottom:0; border-radius:14px 14px 0 0; margin:0; }
body.woocommerce-cart table.cart.shop_table td.product-name{ font-weight:700; color:var(--eg-navy); }
/* clear separation between the items and the coupon/update (actions) row */
body.woocommerce-cart table.cart td.actions{ padding:22px !important; border-top:1px solid var(--eg-line) !important; }
body.woocommerce-cart table.cart.shop_table thead th{ padding:16px 22px; }
body.woocommerce-cart table.cart.shop_table td{ padding:20px 22px; }
body.woocommerce-cart table.cart th.product-remove, body.woocommerce-cart table.cart td.product-remove{ width:54px; text-align:right; padding-right:18px; }
body.woocommerce-cart table.cart thead th.product-remove{ font-size:0; } /* blank the "移除商品" header */
body.woocommerce-cart table.cart td.actions{ padding:16px 22px; background:var(--eg-surf);
  border-top:1px solid var(--eg-line); }

/* borderless remove × (selector: a.remove lives inside div.woocommerce, NOT body.woocommerce) */
.woocommerce a.remove{ display:inline-flex !important; align-items:center; justify-content:center;
  width:26px; height:26px; border:0 !important; background:transparent !important;
  color:var(--eg-muted) !important; font-size:22px; line-height:1; border-radius:50%; }
.woocommerce a.remove:hover{ background:var(--eg-orange) !important; color:#fff !important; }

/* totals = bottom of the SAME card: not floated, no separate heading */
body.woocommerce-cart .cart-collaterals{ width:100%; max-width:920px; margin:0 auto; float:none; }
body.woocommerce-cart .cart-collaterals .cart_totals{ float:none !important; width:100% !important; margin:0; }
body.woocommerce-cart .cart_totals > h2{ display:none; }
body.woocommerce-cart .cart_totals table.shop_table{ width:100%; border:1px solid var(--eg-line);
  border-top:0; border-radius:0 0 14px 14px; margin:0; }
body.woocommerce-cart .cart_totals table.shop_table th{ width:38%; background:var(--eg-surf);
  padding:18px 22px; color:var(--eg-navy); }
body.woocommerce-cart .cart_totals table.shop_table td{ padding:18px 22px; color:var(--eg-navy); font-weight:700; }
body.woocommerce-cart .cart_totals tr.order-total th, body.woocommerce-cart .cart_totals tr.order-total td{ font-size:17px; }

/* checkout button sits under the merged card */
body.woocommerce-cart .wc-proceed-to-checkout{ padding:22px 0 0; text-align:right; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{ display:inline-block; width:auto; padding:14px 40px; }

/* hide leftover Stripe express-checkout shell (express + Link disabled) */
#wc-stripe-express-checkout-button-separator,
#wc-stripe-express-checkout-element,
.wc-stripe-express-checkout-element{ display:none !important; }

/* ---- compact, direct checkout (digital credits, no address) ---- */
.woocommerce-checkout form.checkout{ max-width:880px; margin:0 auto; }
.woocommerce-checkout #customer_details{ display:block; }
.woocommerce-checkout #customer_details .col-1{ float:none; width:100%; max-width:560px; }
.woocommerce-checkout #customer_details .col-2{ display:none; }          /* drop the empty right column */
.woocommerce-billing-fields h3{ color:var(--eg-navy); font-weight:800; font-size:19px; margin-bottom:14px; }
.woocommerce form .form-row{ margin:0 0 14px; padding:0; }
.woocommerce form .form-row label{ font-weight:600; color:var(--eg-navy); margin-bottom:4px; display:block; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select{ padding:11px 13px; border:1px solid var(--eg-line); border-radius:10px; }
.select2-container .select2-selection--single{ border:1px solid var(--eg-line)!important; border-radius:10px!important; height:44px!important; }
.select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:44px!important; }
.woocommerce-checkout .woocommerce-checkout-review-order{ background:var(--eg-surf); border:1px solid var(--eg-line); border-radius:16px; padding:22px 24px; margin-top:14px; }
.woocommerce-checkout #order_review_heading{ color:var(--eg-navy); font-weight:800; }

/* ---- checkout payment method section (Stripe etc.) ---- */
.woocommerce-checkout #payment{ background:#fff; border:1px solid var(--eg-line); border-radius:16px; }
.woocommerce-checkout #payment ul.wc_payment_methods{ border:0; padding:6px 20px; margin:0; }
.woocommerce-checkout #payment ul.wc_payment_methods li{ list-style:none; padding:18px 4px; border-bottom:1px solid var(--eg-line); }
.woocommerce-checkout #payment ul.wc_payment_methods li:last-child{ border-bottom:0; }
.woocommerce-checkout #payment ul.wc_payment_methods li label{ font-weight:700; color:var(--eg-navy); display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
.woocommerce-checkout #payment ul.wc_payment_methods li input[type=radio]{ accent-color:var(--eg-orange); width:18px; height:18px; margin-right:4px; vertical-align:middle; }
.woocommerce-checkout #payment ul.wc_payment_methods li img{ max-height:24px; vertical-align:middle; }
/* selected method's drawer: consistent inner padding (covers Stripe card box AND plain-text FPS) */
.woocommerce-checkout #payment .payment_box{ background:var(--eg-surf) !important; border:1px solid var(--eg-line) !important;
  border-radius:12px !important; margin:12px 0 4px !important; padding:18px 20px !important; color:var(--eg-muted); font-size:14px; line-height:1.6; }
.woocommerce-checkout #payment .payment_box::before{ display:none !important; }
.woocommerce-checkout #payment .payment_box p{ margin:0 0 10px; }
.woocommerce-checkout #payment .payment_box p:last-child{ margin-bottom:0; }
.woocommerce-checkout #payment .payment_box div.form-row{ padding:0; margin:0 0 12px; }
.woocommerce-checkout #payment .payment_box .wc-stripe-elements-field,
.woocommerce-checkout #payment .payment_box .wc-card-fields{ background:#fff; border:1px solid var(--eg-line); border-radius:10px; padding:4px 6px; }
.woocommerce-checkout #payment #place_order, .woocommerce #place_order{ width:100%; font-size:17px !important; padding:15px !important; margin-top:14px; }
.woocommerce-checkout form.checkout h3{ color:var(--eg-navy); font-weight:800; }
/* coupon toggle ↔ 帳單資訊 heading breathing room */
.woocommerce-checkout .woocommerce-form-coupon-toggle{ margin:0 0 22px; }
.woocommerce-checkout .woocommerce-billing-fields > h3{ margin-top:0; }
/* checkout privacy / terms text */
.woocommerce-checkout .woocommerce-privacy-policy-text{ color:var(--eg-muted); font-size:13px; line-height:1.7; margin:14px 0 4px; }

/* ============================================================
   PMS login / register form
   ============================================================ */
.pms-form, form.pms-account-form, .pms_login, .pms-form-fields,
.wp-block-pms-login{ max-width:460px; margin:28px auto; }
.pms-form, .wp-block-pms-login form{
  background:#fff; border:1px solid var(--eg-line); border-radius:18px; padding:30px 28px;
  box-shadow:0 16px 44px rgba(22,32,92,.08);
}
.pms-form .pms-field{ margin-bottom:16px; }
.pms-form label{ font-weight:600; color:var(--eg-navy); display:block; margin-bottom:4px; }
.pms-form input[type=text], .pms-form input[type=password], .pms-form input[type=email],
.pms-form input[type=tel], .pms-form input[type=number], .pms-form select,
.wp-block-pms-login input[type=text], .wp-block-pms-login input[type=password]{
  width:100%; padding:12px 14px; border:1px solid var(--eg-line); border-radius:10px; margin-top:0; box-sizing:border-box;
}
.pms-form input:focus{ outline:2px solid rgba(255,79,0,.35); border-color:var(--eg-orange); }
/* phone field (eg-injected) — same treatment as the native fields */
.pms-form .pms-eg-phone-field input{ -moz-appearance:textfield; }
.pms-submit-button input, .pms-form input[type=submit], .wp-block-pms-login button[type=submit]{
  background:var(--eg-orange) !important; color:#fff !important; border:0 !important; border-radius:100px !important;
  padding:13px 24px !important; font-weight:700 !important; width:100%; cursor:pointer;
}
.pms-submit-button input:hover{ filter:brightness(1.06); }

/* ============================================================
   M6.2 — order-review table (checkout) + order-details (received):
   ditch the washed grey centred grid → clean left-aligned brand table.
   ============================================================ */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table,
.woocommerce table.shop_table.woocommerce-table--order-details,
.woocommerce table.shop_table.order_details{
  border:1px solid var(--eg-line) !important; border-collapse:separate !important; border-spacing:0;
  border-radius:14px; overflow:hidden; width:100%; background:#fff;
}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead th,
.woocommerce table.shop_table.woocommerce-table--order-details thead th,
.woocommerce table.shop_table.order_details thead th{
  background:var(--eg-surf); color:var(--eg-navy); font-weight:800; font-size:14px;
  text-align:left; padding:14px 20px; border:0;
}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody td,
.woocommerce table.shop_table.woocommerce-table--order-details tbody td,
.woocommerce table.shop_table.order_details tbody td{
  padding:16px 20px; border-top:1px solid var(--eg-line); color:var(--eg-navy); vertical-align:middle; background:#fff;
}
.woocommerce table.shop_table .product-name,
.woocommerce table.shop_table .woocommerce-table--order-details td.product-name{ color:var(--eg-navy); font-weight:700; text-align:left; }
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td{
  padding:14px 20px; border-top:1px solid var(--eg-line); background:#fff; color:var(--eg-navy); text-align:left;
}
.woocommerce table.shop_table tfoot th{ font-weight:700; width:55%; }
.woocommerce table.shop_table tfoot td{ font-weight:700; }
.woocommerce table.shop_table tfoot tr.order-total th,
.woocommerce table.shop_table tfoot tr.order-total td{ font-size:18px; background:var(--eg-surf); }
.woocommerce table.shop_table tfoot tr.order-total td .amount,
.woocommerce table.shop_table tfoot tr.order-total td bdi{ color:var(--eg-orange); }
/* the review-order amounts that were dim grey */
.woocommerce-checkout #order_review .product-total .amount,
.woocommerce-checkout #order_review .cart-subtotal td .amount{ color:var(--eg-navy); font-weight:600; }

/* ============================================================
   M6.3 — order-received (thank-you) relayout
   ============================================================ */
.woocommerce-order{ max-width:880px; margin:0 auto; }
.woocommerce-order > p.woocommerce-notice--success,
.woocommerce-order .woocommerce-thankyou-order-received{
  color:var(--eg-navy); font-weight:700; font-size:18px; background:rgba(21,160,90,.1);
  border:1px solid rgba(21,160,90,.3); border-radius:12px; padding:16px 20px; margin-bottom:22px;
}
/* the 訂單編號/日期/電郵/總計/付款方式 overview list → clean card grid */
ul.woocommerce-order-overview.woocommerce-thankyou-order-details{
  list-style:none; margin:0 0 26px; padding:0; display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:0;
  border:1px solid var(--eg-line); border-radius:14px; overflow:hidden; background:#fff;
}
ul.woocommerce-order-overview li{
  border:0; border-right:1px solid var(--eg-line); padding:16px 20px; margin:0;
  font-size:13px; color:var(--eg-muted); text-transform:none; font-weight:600;
}
ul.woocommerce-order-overview li:last-child{ border-right:0; }
ul.woocommerce-order-overview li strong{ display:block; margin-top:6px; color:var(--eg-navy); font-size:16px; font-weight:800; }
.woocommerce-order h2, .woocommerce-order section h2,
.woocommerce-column__title{ color:var(--eg-navy); font-weight:800; font-size:19px; margin:26px 0 14px; }
.woocommerce-customer-details address{ border:1px solid var(--eg-line); border-radius:12px; padding:16px 20px;
  color:var(--eg-navy); font-style:normal; line-height:1.8; }

/* credits CTA card (eg, injected after the order table on the thank-you page) */
.eg-thanks-cta{ margin:26px 0 8px; border:1px solid var(--eg-line); border-radius:16px;
  background:linear-gradient(135deg,#16205c,#1e2b78); color:#fff; padding:26px 28px;
  display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; }
.eg-thanks-cta .t{ font-weight:800; font-size:19px; }
.eg-thanks-cta .s{ color:#cfd4ec; font-size:14px; margin-top:5px; max-width:46ch; }
.eg-thanks-cta a{ display:inline-block; background:var(--eg-orange); color:#fff !important; font-weight:700;
  border-radius:100px; padding:13px 28px; text-decoration:none; white-space:nowrap; box-shadow:0 8px 20px rgba(255,79,0,.28); }
.eg-thanks-cta a:hover{ filter:brightness(1.06); }
.eg-thanks-cta.fps{ background:#fff; color:var(--eg-navy); }
.eg-thanks-cta.fps .s{ color:var(--eg-muted); }

/* ============================================================
   M6.5 — payment-methods tab: gap between message and button
   M6.6 — edit-account: gap before 儲存設定 submit
   ============================================================ */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message{ margin-bottom:24px; }
.woocommerce-account .woocommerce-MyAccount-content > a.button{ margin-top:4px; }
.woocommerce-EditAccountForm fieldset{ margin:26px 0 0; padding:22px 24px; border:1px solid var(--eg-line); border-radius:14px; }
.woocommerce-EditAccountForm fieldset legend{ font-weight:800; color:var(--eg-navy); padding:0 8px; }
.woocommerce-EditAccountForm > p.woocommerce-form-row:last-of-type,
.woocommerce-EditAccountForm > p:has(> button[type=submit]){ margin-top:26px; }
.woocommerce-EditAccountForm button[type=submit]{ margin-top:8px; }

/* ============================================================
   M7.1 — table header artifact: the parent theme forces the CART thead row
   to display:flex; background:#e8eaee; height:55px, and puts a 1px #ededed
   border on every thead cell. That grey flex row leaks past our rounded
   corners (the empty 移除 column) as a stray grey tab. Neutralise it +
   clip all our branded tables.
   ============================================================ */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table,
.woocommerce table.shop_table.woocommerce-table--order-details,
.woocommerce table.shop_table.order_details,
body.woocommerce-cart table.cart.shop_table,
body.woocommerce-cart .cart_totals table.shop_table{ overflow:hidden !important; }
/* cart: repaint the grey flex thead to our surf + clip; kill its fixed height */
body.woocommerce-cart table.cart.shop_table thead tr{
  background:var(--eg-surf) !important; height:auto !important; border-radius:14px 14px 0 0; overflow:hidden; }
body.woocommerce-cart table.cart.shop_table thead tr th{ background:var(--eg-surf) !important; color:var(--eg-navy) !important; border:0 !important; }
/* strip the generic 1px #ededed borders the parent adds to every thead cell */
.woocommerce table.shop_table thead tr th,
.woocommerce table.shop_table thead tr td{ border-left:0 !important; border-right:0 !important; border-top:0 !important; }

/* ============================================================
   M7.3 — Credit/Debit card drawer: one clean light surface; the Stripe UPE
   fieldset = a single white card; kill the parent theme's stray 2px #ededed
   fieldset borders; give the squished 儲存付款資料 row real spacing.
   ============================================================ */
.woocommerce-checkout #payment .payment_box{ border:0 !important; background:var(--eg-surf) !important; }
.woocommerce-checkout #payment .payment_box fieldset{ border:0 !important; margin:0; padding:0; min-width:0; }
/* the Stripe UPE fields container = clean white card box */
.woocommerce-checkout #payment .payment_box #wc-stripe-upe-form,
.woocommerce-checkout #payment .payment_box .wc-stripe-elements-field,
.woocommerce-checkout #payment .payment_box .StripeElement{
  background:#fff !important; border:1px solid var(--eg-line) !important; border-radius:10px !important; padding:12px 14px !important; }
/* the save-card checkbox row (last fieldset): divider + breathing room, not a strip */
.woocommerce-checkout #payment .payment_box fieldset:last-child{
  margin-top:16px !important; padding-top:16px !important; border-top:1px solid var(--eg-line) !important;
  display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--eg-muted); }
/* collapse the empty saved-methods list */
.woocommerce-checkout #payment .payment_box ul.woocommerce-SavedPaymentMethods:empty{ display:none !important; }

/* ============================================================
   M7.4 — WooCommerce notices: the parent/WC default paints a blue border
   (--primary / #1e85be). Restyle all three notice types on-brand.
   ============================================================ */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error{
  border:1px solid var(--eg-line) !important; border-top:3px solid var(--eg-orange) !important;
  border-radius:12px !important; background:#fff !important; color:var(--eg-navy) !important;
  padding:15px 20px !important; margin:0 0 16px !important; line-height:1.6;
  box-shadow:0 6px 18px rgba(22,32,92,.06); }
.woocommerce .woocommerce-error{ border-top-color:#d63638 !important; }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before{ color:var(--eg-orange) !important; }
.woocommerce .woocommerce-message a, .woocommerce .woocommerce-info a{ color:var(--eg-orange) !important; font-weight:700; }
/* the inline action button inside a notice (e.g. "瀏覽產品" on the empty
   orders page) inherits the orange link colour above -> orange-on-orange
   invisible blob, and WC floats it right so it overflows the rounded card.
   Restore white text and pull it back into inline flow. */
.woocommerce .woocommerce-message a.button, .woocommerce .woocommerce-info a.button,
.woocommerce-page .woocommerce-message a.button, .woocommerce-page .woocommerce-info a.button{
  float:none !important; display:inline-block; vertical-align:middle; margin-left:12px;
  color:#fff !important; padding:.5em 1.3em !important; font-size:14px !important; }

/* ============================================================
   M7.2 — empty cart for a non-member: a clear 加入會員 $198 path (the join
   item can drop out of the cart on navigation; give an obvious way back).
   ============================================================ */
.eg-cart-join{ border:1px solid var(--eg-line); border-top:4px solid var(--eg-orange); border-radius:16px;
  padding:24px 26px; margin:8px 0 22px; background:#fff; box-shadow:0 10px 30px rgba(22,32,92,.07); }
.eg-cart-join .t{ color:var(--eg-navy); font-weight:800; font-size:19px; }
.eg-cart-join .s{ color:var(--eg-muted); font-size:14.5px; margin:7px 0 16px; line-height:1.7; }
.eg-cart-join a.btn{ display:inline-block; background:var(--eg-orange); color:#fff !important; font-weight:700;
  border-radius:100px; padding:13px 30px; text-decoration:none; box-shadow:0 8px 20px rgba(255,79,0,.26); }
.eg-cart-join a.btn:hover{ filter:brightness(1.06); }
/* spacing between the WC empty-cart notice and the 回到商店 button */
.woocommerce .cart-empty.woocommerce-info{ margin-bottom:20px; }
.woocommerce .wc-empty-cart-message + p.return-to-shop,
.woocommerce p.return-to-shop{ margin-top:18px; }
