/* ═══════════════════════════════════════════════════════════════════
   WooCommerce 覆寫樣式
   覆寫 WC 預設樣式，使其符合 Allspectra 設計系統
   ⚠️ 需在 wc-setup.php 已關閉 WC 預設樣式後才有效
═══════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════
   ★ 最高優先級重置：解除 page.php 的 .entry-content 對 WC 的干擾
   .entry-content 套用在所有頁面（含 WC 頁），會把 ul 變垂直 flex、
   給 h2 加 border-top、覆寫表格樣式等，必須先在這裡解除。
═══════════════════════════════════════════════════════════════════ */
.entry-content .woocommerce ul,
.entry-content .woocommerce ol,
.entry-content .woocommerce nav ul,
.entry-content .woocommerce-MyAccount-navigation ul,
.entry-content ul.products,
.entry-content ul.payment_methods,
.entry-content ul.wc-item-meta {
  display: block !important;
  flex-direction: initial !important;
  padding-left: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  list-style: none !important;
}
.entry-content .woocommerce h1,
.entry-content .woocommerce h2,
.entry-content .woocommerce h3 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}
.entry-content .woocommerce a {
  text-decoration: none !important;
}
.entry-content .woocommerce table,
.entry-content table.shop_table {
  margin-bottom: 0 !important;
  border: 0 !important;
}
.entry-content .woocommerce th,
.entry-content .woocommerce td,
.entry-content table.shop_table th,
.entry-content table.shop_table td {
  border: 0 !important;
}
.entry-content table.shop_table th,
.entry-content table.shop_table td {
  border-bottom: 1px solid var(--color-border) !important;
}
.entry-content .woocommerce p {
  margin-bottom: var(--space-3);
}

/* ─ page.php 包了 .container，這裡解除 WC 內容的重複 max-width ─ */
.woocommerce-cart .container > .entry-content,
.woocommerce-checkout .container > .entry-content,
.woocommerce-account .container > .entry-content {
  max-width: none;
}
.woocommerce-cart .container,
.woocommerce-checkout .container,
.woocommerce-account .container {
  padding-top: var(--space-6) !important;
  padding-bottom: var(--space-12) !important;
}

/* ── WC 訊息通知 ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: none; border-radius: var(--radius-md);
  padding: var(--space-4) var(--space-6);
  margin-bottom: var(--space-4); font-size: var(--text-sm);
  display: flex; align-items: flex-start; gap: var(--space-3);
}
.woocommerce-message { background: #f0fdf4; border-left: 4px solid var(--color-success); color: #166534; }
.woocommerce-info    { background: #eff6ff; border-left: 4px solid var(--color-accent);  color: #1e40af; }
.woocommerce-error   { background: #fef2f2; border-left: 4px solid var(--color-error);   color: #991b1b; }
.woocommerce-error li { list-style: none; }

/* ── 商品價格 ── */
.woocommerce-Price-amount { font-weight: 700; }
.price del { color: var(--color-text-muted); font-size: var(--text-sm); opacity: .8; margin-right: var(--space-2); }
.price ins { text-decoration: none; color: var(--color-error); }

/* ── 商品評分 ── */
.woocommerce-product-rating { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-3); font-size: var(--text-sm); }
.star-rating { color: #f59e0b; display: inline-block; }
.star-rating::before { content: 'sssss'; letter-spacing: 2px; font-size: .9em; }
.star-rating span { overflow: hidden; float: left; top: 0; left: 0; position: absolute; padding-top: 1.5em; }
.star-rating span::before { content: 'SSSSS'; color: #f59e0b; letter-spacing: 2px; font-size: .9em; }

/* ── WC Form 欄位覆寫 ── */
.woocommerce form .form-row { margin-bottom: var(--space-4); }
.woocommerce form .form-row label { font-size: var(--text-sm); font-weight: 600; margin-bottom: var(--space-2); display: block; }
.woocommerce form .form-row .required { color: var(--color-error); }
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  border: 1.5px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  padding: .75rem 1rem !important;
  font-size: var(--text-sm) !important;
  min-height: var(--input-min-h) !important;
  width: 100%; background: var(--color-bg);
  transition: border-color var(--transition);
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  outline: none !important;
  border-color: var(--color-accent) !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,.12) !important;
}

/* ── 結帳付款方式 ── */
#payment { margin-top: var(--space-4); }
#payment .payment_methods { list-style: none; }
#payment .payment_methods li { padding: var(--space-4); border: 1.5px solid var(--color-border); border-radius: var(--radius-md); margin-bottom: var(--space-3); transition: var(--transition); }
#payment .payment_methods li.active { border-color: var(--color-accent); background: rgba(37,99,235,.04); }
#payment .payment_methods li label { display: flex; align-items: center; gap: var(--space-3); cursor: pointer; font-weight: 600; font-size: var(--text-sm); }
#payment .payment_methods li input[type="radio"] { accent-color: var(--color-accent); width: 18px; height: 18px; }
#payment .payment_box { margin-top: var(--space-3); font-size: var(--text-sm); color: var(--color-text-muted); }

/* ── WC 按鈕 ── */
.woocommerce button[type="submit"],
.woocommerce a.button,
.woocommerce input[type="submit"] {
  background: var(--color-accent) !important; color: #fff !important;
  border: none !important; border-radius: var(--radius-md) !important;
  padding: .75rem 1.75rem !important; font-weight: 600 !important;
  font-size: var(--text-sm) !important; min-height: var(--btn-min-h) !important;
  cursor: pointer !important; transition: var(--transition) !important;
  text-decoration: none !important; display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
}
.woocommerce button[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce input[type="submit"]:hover {
  background: var(--color-accent-hover) !important;
  transform: translateY(-1px) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   購物車頁（cart）
═══════════════════════════════════════════════════════════════════ */
.woocommerce-cart .entry-content .woocommerce,
.woocommerce-cart > .container > .entry-content > .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: var(--space-8);
  align-items: start;
  max-width: none;
  margin: 0;
  padding: 0;
}
.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { margin: 0; }
.woocommerce-cart .cart-collaterals { margin: 0; width: 100% !important; float: none !important; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }

.woocommerce table.shop_table {
  width: 100%; border-collapse: collapse;
  background: #fff; border: 1px solid var(--color-border);
  border-radius: var(--radius-lg); overflow: hidden;
  font-size: var(--text-sm); margin: 0 0 var(--space-6);
}
.woocommerce table.shop_table th {
  padding: var(--space-3) var(--space-4);
  background: var(--color-bg-secondary);
  border-bottom: 1px solid var(--color-border);
  font-weight: 700; text-align: left; font-size: var(--text-sm);
  color: var(--color-primary);
}
.woocommerce table.shop_table td {
  padding: var(--space-4); border-bottom: 1px solid var(--color-border);
  vertical-align: middle; background: #fff;
}
.woocommerce table.shop_table tr:last-child td { border-bottom: none; }
.woocommerce table.shop_table .product-thumbnail img {
  width: 72px; height: 72px; object-fit: cover;
  border-radius: var(--radius-md); border: 1px solid var(--color-border);
}
.woocommerce table.shop_table .product-name a {
  color: var(--color-primary); text-decoration: none; font-weight: 600;
  font-size: var(--text-sm); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.woocommerce table.shop_table .product-name a:hover { color: var(--color-accent); }
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal { font-weight: 700; }
.woocommerce table.shop_table .product-quantity input.qty {
  width: 64px; padding: .4rem .5rem;
  border: 1.5px solid var(--color-border); border-radius: var(--radius-md);
  text-align: center; font-weight: 600;
}
.woocommerce table.shop_table .product-remove a.remove {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  color: var(--color-error) !important; font-size: 18px; text-decoration: none;
  background: transparent; transition: var(--transition);
}
.woocommerce table.shop_table .product-remove a.remove:hover {
  background: var(--color-error); color: #fff !important;
}

/* ── 優惠券 + 更新購物車 ── */
.woocommerce .coupon {
  display: inline-flex; gap: var(--space-2); margin-right: var(--space-3);
}
.woocommerce .coupon input[type="text"] {
  width: 180px; padding: .6rem .75rem;
  border: 1.5px solid var(--color-border); border-radius: var(--radius-md);
  font-size: var(--text-sm);
}

/* ── 購物車合計區塊（右欄） ── */
.woocommerce-cart .cart_totals {
  background: #fff; border: 1px solid var(--color-border);
  border-radius: var(--radius-lg); padding: var(--space-6);
  position: sticky; top: calc(var(--header-h) + var(--space-4));
}
.woocommerce-cart .cart_totals h2 {
  font-size: var(--text-xl); font-weight: 700;
  margin: 0 0 var(--space-4); color: var(--color-primary);
}
.woocommerce-cart .cart_totals table {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: 100%;
  table-layout: fixed;
}
.woocommerce-cart .cart_totals table th {
  background: transparent !important;
  padding: var(--space-3) var(--space-2) var(--space-3) 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--color-border) !important;
  min-width: 72px !important;
  width: 30% !important;
  white-space: nowrap !important;
  vertical-align: top !important;
  font-weight: 600;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  text-align: left !important;
}
.woocommerce-cart .cart_totals table td {
  padding: var(--space-3) 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--color-border) !important;
  text-align: right;
  background: transparent !important;
  vertical-align: top;
  font-size: var(--text-sm);
}

/* 運費那格的內容（radio + 地址）排版 */
.woocommerce-cart .cart_totals .shipping td ul#shipping_method,
.woocommerce-cart .cart_totals .shipping td ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 var(--space-2) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-1) !important;
  align-items: flex-end;
}
.woocommerce-cart .cart_totals .shipping td ul li {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-cart .cart_totals .shipping td .woocommerce-shipping-destination {
  display: block;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin-top: var(--space-2);
  line-height: 1.5;
}
.woocommerce-cart .cart_totals .shipping td .shipping-calculator-button {
  font-size: var(--text-xs);
  color: var(--color-accent);
  text-decoration: underline;
}
.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total th { font-size: var(--text-lg); font-weight: 800; color: var(--color-primary); border-bottom: none; }
.woocommerce-cart .cart_totals .shipping ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-cart .cart_totals .shipping li { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-1) 0; font-size: var(--text-sm); }
.woocommerce-cart .cart_totals .shipping input[type="radio"] { accent-color: var(--color-accent); }
.woocommerce-cart .wc-proceed-to-checkout { margin-top: var(--space-4); padding: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important; width: 100%; padding: var(--space-4) !important;
  font-size: var(--text-base) !important; font-weight: 700 !important;
  text-align: center;
}

@media (max-width: 900px) {
  .woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-cart .cart_totals { position: static; }
  .woocommerce table.shop_table thead { display: none; }
  .woocommerce table.shop_table tr { display: block; border-bottom: 1px solid var(--color-border); padding: var(--space-3); }
  .woocommerce table.shop_table td { display: flex; justify-content: space-between; align-items: center; border: none; padding: var(--space-2) 0; }
  .woocommerce table.shop_table td::before { content: attr(data-title); font-weight: 600; color: var(--color-text-muted); font-size: var(--text-xs); }
  .woocommerce table.shop_table .product-remove { justify-content: flex-end; }
  .woocommerce table.shop_table .product-thumbnail { justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════════
   我的帳戶頁（my-account）
═══════════════════════════════════════════════════════════════════ */
.woocommerce-account.logged-in .entry-content .woocommerce,
.logged-in.woocommerce-account .entry-content > .woocommerce {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: var(--space-8);
  align-items: start;
  max-width: none;
  margin: 0;
  padding: 0;
}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after { content: none; }

.woocommerce-MyAccount-navigation {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: sticky; top: calc(var(--header-h) + var(--space-4));
}
.woocommerce-MyAccount-navigation ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column;
}
.woocommerce-MyAccount-navigation li {
  list-style: none; margin: 0;
}
.woocommerce-MyAccount-navigation li a {
  display: block; padding: var(--space-3) var(--space-4);
  font-size: var(--text-sm); font-weight: 500;
  color: var(--color-text-muted);
  border-bottom: 1px solid var(--color-border);
  border-left: 3px solid transparent;
  text-decoration: none;
  transition: var(--transition);
}
.woocommerce-MyAccount-navigation li:last-child a { border-bottom: none; }
.woocommerce-MyAccount-navigation li a:hover { color: var(--color-primary); background: var(--color-bg-secondary); }
.woocommerce-MyAccount-navigation li.is-active a {
  color: var(--color-accent); font-weight: 600;
  background: rgba(37,99,235,.04);
  border-left-color: var(--color-accent);
}

.woocommerce-MyAccount-content {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6) var(--space-8);
  min-height: 400px;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-size: var(--text-xl); font-weight: 700;
  margin-bottom: var(--space-4); color: var(--color-primary);
}
.woocommerce-MyAccount-content p { margin-bottom: var(--space-3); color: var(--color-text-muted); line-height: 1.7; }
.woocommerce-MyAccount-content a { color: var(--color-accent); }

/* ── 登入 / 註冊頁（未登入狀態） 改為雙欄並排 ── */
.woocommerce-account:not(.logged-in) .entry-content .woocommerce {
  display: block !important;
  max-width: 960px;
  margin: var(--space-8) auto !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.u-columns.col2-set,
#customer_login.u-columns,
.woocommerce #customer_login {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: var(--space-6) !important;
  margin: 0 !important;
}
.u-columns.col2-set::before,
.u-columns.col2-set::after { content: none !important; }
.u-columns .u-column1,
.u-columns .u-column2,
.u-columns .col-1,
.u-columns .col-2 {
  background: #fff !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--space-8) !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.u-columns h2 {
  font-size: var(--text-xl) !important;
  font-weight: 700 !important;
  margin-bottom: var(--space-4) !important;
  padding-bottom: var(--space-3) !important;
  border-bottom: 2px solid var(--color-border) !important;
  border-top: none !important;
  padding-top: 0 !important;
}

@media (max-width: 768px) {
  .u-columns.col2-set,
  #customer_login.u-columns,
  .woocommerce #customer_login {
    grid-template-columns: 1fr !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   結帳按鈕修正：避免被 grid 父層 stretch 拉高
═══════════════════════════════════════════════════════════════════ */
.woocommerce .form-row.place-order,
.woocommerce-checkout #payment .form-row.place-order {
  display: block !important;
  text-align: right;
  padding: var(--space-4) 0 !important;
  margin: 0 !important;
}
.woocommerce .form-row.place-order #place_order,
#payment #place_order {
  height: auto !important;
  max-height: none !important;
  min-height: 52px !important;
  width: auto !important;
  min-width: 200px;
  padding: 1rem 3rem !important;
  font-size: var(--text-base) !important;
  font-weight: 700 !important;
  margin-top: var(--space-4) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: var(--space-4);
  text-align: left;
}

/* ═══════════════════════════════════════════════════════════════════
   通用：隱藏不需要的結帳欄位（如國家欄位）
═══════════════════════════════════════════════════════════════════ */
.allspectra-hidden-field,
#billing_country_field.allspectra-hidden-field,
#shipping_country_field.allspectra-hidden-field {
  display: none !important;
}
.woocommerce-form-login,
.woocommerce-form-register {
  display: flex; flex-direction: column; gap: var(--space-4);
}
.woocommerce-form-login h2,
.woocommerce-form-register h2 {
  font-size: var(--text-2xl); font-weight: 700;
  margin-bottom: var(--space-2); text-align: center;
}
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row { margin: 0; }
.woocommerce-form-login label,
.woocommerce-form-register label {
  display: block; font-size: var(--text-sm); font-weight: 600;
  margin-bottom: var(--space-2);
}
.woocommerce-form-login input.input-text,
.woocommerce-form-register input.input-text,
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-login input[type="password"] {
  width: 100%; padding: .75rem 1rem;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--text-base);
  min-height: var(--input-min-h);
  background: var(--color-bg);
  transition: var(--transition);
}
.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus {
  outline: none; border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}
.woocommerce-form-login .form-row-wide,
.woocommerce-form-register .form-row-wide { width: 100%; }

/* 強制登入/註冊表單欄位垂直滿版，避免被 grid 排版擠壓 */
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row,
.woocommerce-form-login p.form-row,
.woocommerce-form-register p.form-row {
  display: block !important;
  width: 100% !important;
  margin: 0 0 var(--space-4) !important;
  padding: 0 !important;
}
.woocommerce-form-login .form-row label,
.woocommerce-form-register .form-row label {
  display: block !important;
  width: 100% !important;
  margin-bottom: var(--space-2) !important;
}
.woocommerce-form-login .form-row input.input-text,
.woocommerce-form-register .form-row input.input-text,
.woocommerce-form-login .form-row input[type="text"],
.woocommerce-form-login .form-row input[type="email"],
.woocommerce-form-login .form-row input[type="password"],
.woocommerce-form-register .form-row input[type="text"],
.woocommerce-form-register .form-row input[type="email"],
.woocommerce-form-register .form-row input[type="password"] {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.woocommerce-form__label-for-checkbox {
  display: inline-flex !important; align-items: center; gap: var(--space-2);
  font-weight: 500 !important; cursor: pointer;
}
.woocommerce-form__input-checkbox { accent-color: var(--color-accent); width: 16px; height: 16px; }
.woocommerce-LostPassword { font-size: var(--text-sm); margin-top: var(--space-2); }
.woocommerce-LostPassword a { color: var(--color-accent); }

/* RWD：手機改成單欄 */
@media (max-width: 768px) {
  /* ───── 全域：防止橫向滾動（admin bar 等元素溢出時不破版） ───── */
  html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
  /* WP admin bar 在手機收緊，避免 .display-name 撐破視口 */
  #wpadminbar .ab-top-secondary { display: none !important; }
  #wpadminbar #wp-admin-bar-my-account { display: none !important; }

  /* ───── 我的帳戶：強制單欄 ───── */
  .woocommerce-account.logged-in .entry-content .woocommerce,
  .logged-in.woocommerce-account .entry-content > .woocommerce {
    grid-template-columns: 1fr !important;
    gap: var(--space-4) !important;
  }
  .woocommerce-MyAccount-navigation { position: static !important; }
  .woocommerce-MyAccount-content {
    padding: var(--space-4) var(--space-5) !important;
    min-height: auto !important;
  }
  .woocommerce-account:not(.logged-in) .entry-content .woocommerce {
    padding: 0 !important;
    margin: var(--space-4) auto !important;
  }

  /* ───── 購物車：單欄 + 商品列卡片化 ───── */
  .woocommerce-cart .entry-content .woocommerce,
  .woocommerce-cart > .container > .entry-content > .woocommerce {
    grid-template-columns: 1fr !important;
    gap: var(--space-4) !important;
  }
  .woocommerce-cart .cart_totals { position: static !important; }
  .woocommerce-cart table.shop_table thead { display: none; }

  /* ★ 只對「商品列 .cart_item」套用卡片 grid（避免 .actions 列被誤套） */
  .woocommerce-cart table.shop_table tr.cart_item {
    display: grid !important;
    grid-template-columns: 60px 1fr auto;
    grid-template-areas:
      "remove name name"
      "thumb name name"
      "thumb price subtotal"
      "thumb qty   qty";
    gap: var(--space-2) var(--space-3);
    padding: var(--space-3) !important;
    background: #fff;
  }
  .woocommerce-cart table.shop_table tr.cart_item td {
    padding: 0 !important;
    border: none !important;
    display: block;
  }
  .woocommerce-cart table.shop_table .product-remove { grid-area: remove; }
  .woocommerce-cart table.shop_table .product-thumbnail { grid-area: thumb; }
  .woocommerce-cart table.shop_table .product-name { grid-area: name; font-weight: 600; }
  .woocommerce-cart table.shop_table .product-price { grid-area: price; color: var(--color-text-muted); font-size: var(--text-sm); }
  .woocommerce-cart table.shop_table .product-quantity { grid-area: qty; }
  .woocommerce-cart table.shop_table .product-subtotal { grid-area: subtotal; font-weight: 700; text-align: right; }
  .woocommerce-cart table.shop_table .product-thumbnail img { width: 56px !important; height: 56px !important; }

  /* ★ 折價券 / 更新購物車：強制水平排列、不再被擠成直書 */
  .woocommerce-cart table.shop_table tr:has(.actions),
  .woocommerce-cart table.shop_table .actions {
    display: block !important;
  }
  .woocommerce-cart table.shop_table td.actions {
    padding: var(--space-3) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--space-3);
    width: 100%;
  }
  .woocommerce-cart .coupon {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: var(--space-2) !important;
    width: 100%;
    margin: 0 !important;
  }
  .woocommerce-cart .coupon label { display: none !important; } /* 隱藏冗長標籤 */
  .woocommerce-cart .coupon input[type="text"] {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
  }
  .woocommerce-cart .coupon button[name="apply_coupon"],
  .woocommerce-cart .coupon .button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 80px !important;
    padding: .6rem 1rem !important;
    white-space: nowrap !important;
    writing-mode: horizontal-tb !important;
  }
  .woocommerce-cart button[name="update_cart"] {
    width: 100% !important;
    min-width: 0 !important;
    padding: .85rem !important;
    white-space: nowrap !important;
    writing-mode: horizontal-tb !important;
  }

  /* ★ 購物車總計 table 改 block 排版（運費 cell 不再擠成直書） */
  .woocommerce-cart .cart_totals table,
  .woocommerce-cart .cart_totals table tbody,
  .woocommerce-cart .cart_totals table tr {
    display: block !important;
    width: 100% !important;
  }
  .woocommerce-cart .cart_totals table tr {
    padding: var(--space-3) 0 !important;
    border-bottom: 1px solid var(--color-border);
  }
  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
    padding: 0 !important;
    border: none !important;
    white-space: normal !important;
  }
  .woocommerce-cart .cart_totals table th {
    font-size: var(--text-xs) !important;
    color: var(--color-text-muted) !important;
    margin-bottom: var(--space-1) !important;
  }
  .woocommerce-cart .cart_totals table td { font-size: var(--text-sm); }
  .woocommerce-cart .cart_totals .shipping td ul {
    align-items: flex-start !important;
    width: 100%;
  }
  .woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    font-size: var(--text-xs) !important;
    line-height: 1.5;
    word-break: break-word;
  }

  /* ───── Header：漢堡按鈕往內收一點，方便按 ───── */
  .header-tools { padding-right: var(--space-2) !important; }
  .hamburger {
    width: 44px !important;
    height: 44px !important;
  }

  /* ───── 結帳：縮 padding ───── */
  .woocommerce-checkout .checkout-block { padding: var(--space-4) !important; }
  .woocommerce-checkout .checkout-section-title { font-size: var(--text-base) !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   隱私權說明文字：在「註冊表單」內隱藏（核取方塊已取代它的功能）
═══════════════════════════════════════════════════════════════════ */
.woocommerce-form-register .woocommerce-privacy-policy-text,
.woocommerce-form-register > .woocommerce-privacy-policy-text {
  display: none !important;
}

/* ── 訂單狀態標籤 ── */
mark.order-status { font-style: normal; border-radius: var(--radius-sm); padding: 2px 8px; font-size: var(--text-xs); font-weight: 700; }
.order-status.status-pending    { background: #fef3c7; color: #92400e; }
.order-status.status-processing { background: #dbeafe; color: #1e40af; }
.order-status.status-completed  { background: #dcfce7; color: #166534; }
.order-status.status-cancelled  { background: #fee2e2; color: #991b1b; }
.order-status.status-on-hold    { background: #f3e8ff; color: #6b21a8; }

/* ═══════════════════════════════════════════════════════════════════
   商店列表頁（archive-product）
═══════════════════════════════════════════════════════════════════ */
.woocommerce-products-header { padding: var(--space-12) 0 var(--space-6); }
.woocommerce-products-header__title { font-size: var(--text-3xl); font-weight: 800; letter-spacing: -.02em; }
.term-description { color: var(--color-text-muted); margin-top: var(--space-3); max-width: 60ch; }

.woocommerce-result-count { color: var(--color-text-muted); font-size: var(--text-sm); margin-bottom: var(--space-4); }
.woocommerce-ordering select {
  border: 1.5px solid var(--color-border); border-radius: var(--radius-md);
  padding: .5rem .75rem; font-size: var(--text-sm); background: #fff;
}

ul.products {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: var(--space-6) var(--space-4);
}
ul.products li.product {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--color-border);
  border-radius: var(--radius-lg); overflow: hidden;
  transition: var(--transition);
}
ul.products li.product:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
ul.products li.product a { color: inherit; text-decoration: none; display: block; }
ul.products li.product img {
  width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--color-bg-secondary);
}
ul.products li.product h2.woocommerce-loop-product__title,
ul.products li.product h3.woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title {
  font-size: var(--text-base) !important;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  padding: var(--space-3) var(--space-4) var(--space-1);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 3em;
}
ul.products li.product .price {
  padding: 0 var(--space-4) var(--space-3);
  font-size: var(--text-lg); font-weight: 800; color: var(--color-primary);
}
ul.products li.product .button,
ul.products li.product .add-to-cart-loop {
  margin: 0 var(--space-4) var(--space-4); align-self: stretch;
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
}

/* ── 折扣標籤 ── */
.onsale {
  position: absolute; top: var(--space-3); left: var(--space-3); z-index: 2;
  background: var(--color-error); color: #fff;
  font-size: var(--text-xs); font-weight: 700;
  padding: 2px 10px; border-radius: var(--radius-full);
  min-height: auto; min-width: auto;
}
ul.products li.product { position: relative; }

/* ── 分頁 ── */
.woocommerce-pagination { margin-top: var(--space-8); text-align: center; }
.woocommerce-pagination ul { display: inline-flex; gap: var(--space-2); list-style: none; }
.woocommerce-pagination a, .woocommerce-pagination span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 var(--space-3);
  border: 1px solid var(--color-border); border-radius: var(--radius-md);
  color: var(--color-primary); text-decoration: none; font-weight: 600;
  transition: var(--transition);
}
.woocommerce-pagination .current { background: var(--color-accent); color: #fff; border-color: var(--color-accent); }
.woocommerce-pagination a:hover { background: var(--color-bg-secondary); }

/* ═══════════════════════════════════════════════════════════════════
   ★ 單一商品頁（single-product）
═══════════════════════════════════════════════════════════════════ */
.woocommerce div.product {
  position: relative;
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: var(--space-12); padding: var(--space-12) 0;
  max-width: var(--container-max); margin: 0 auto;
  padding-left: var(--container-pad); padding-right: var(--container-pad);
}

/* 商品詳情頁的「特價」標籤定位（在圖片左上角） */
.woocommerce div.product > .onsale,
.woocommerce div.product .woocommerce-product-gallery .onsale {
  position: absolute;
  top: calc(var(--space-12) + var(--space-3));
  left: calc(var(--container-pad) + var(--space-3));
  z-index: 5;
}

/* ── 圖庫（左欄） ── */
.woocommerce div.product .woocommerce-product-gallery {
  width: 100% !important; float: none !important;
  margin: 0; position: relative;
}
.woocommerce div.product .woocommerce-product-gallery__wrapper {
  display: block; border-radius: var(--radius-lg); overflow: hidden;
  background: var(--color-bg-secondary);
}
.woocommerce div.product .woocommerce-product-gallery img {
  width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; display: block;
}
.woocommerce div.product .flex-control-thumbs {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: var(--space-2); margin-top: var(--space-3);
  list-style: none; padding: 0;
}
.woocommerce div.product .flex-control-thumbs li img {
  border-radius: var(--radius-md); border: 2px solid transparent;
  cursor: pointer; transition: var(--transition);
}
.woocommerce div.product .flex-control-thumbs li img.flex-active,
.woocommerce div.product .flex-control-thumbs li img:hover { border-color: var(--color-accent); }

/* ── 商品資訊（右欄） ── */
.woocommerce div.product .summary {
  width: 100% !important; float: none !important; margin: 0;
  display: flex; flex-direction: column; gap: var(--space-4);
}
.woocommerce div.product h1.product_title,
.woocommerce div.product .product_title {
  font-size: clamp(1.25rem, 2.4vw, 1.625rem) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -.01em;
  margin: 0 !important;
  color: var(--color-primary);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: var(--text-xl) !important;
  font-weight: 800 !important;
  color: var(--color-primary);
  margin: 0 !important; line-height: 1.2 !important;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: 1.75;
  padding: var(--space-4) 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.woocommerce div.product .woocommerce-product-details__short-description * {
  font-size: inherit !important; line-height: inherit !important;
  font-weight: inherit; margin: 0 0 var(--space-2);
}
.woocommerce div.product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

/* ── 加入購物車表單 ── */
.woocommerce div.product form.cart {
  display: flex; flex-wrap: wrap; gap: var(--space-3);
  align-items: stretch; margin: 0;
}
.woocommerce div.product .quantity {
  display: inline-flex; align-items: stretch;
  border: 1.5px solid var(--color-border); border-radius: var(--radius-md);
  overflow: hidden; background: #fff;
}
.woocommerce div.product .quantity input.qty {
  width: 64px; text-align: center; border: none !important;
  font-size: var(--text-base); font-weight: 600;
  padding: 0 var(--space-2) !important; min-height: 48px !important;
}
.woocommerce div.product .single_add_to_cart_button {
  flex: 1 1 auto; min-width: 200px;
  font-size: var(--text-base) !important; min-height: 48px !important;
  padding: 0 var(--space-6) !important;
}

/* ── 商品 meta（分類/標籤/SKU） ── */
.woocommerce div.product .product_meta {
  font-size: var(--text-sm); color: var(--color-text-muted);
  padding-top: var(--space-4); border-top: 1px solid var(--color-border);
  display: flex; flex-direction: column; gap: var(--space-2);
}
.woocommerce div.product .product_meta > span { display: block; }
.woocommerce div.product .product_meta a { color: var(--color-accent); text-decoration: none; }
.woocommerce div.product .product_meta a:hover { text-decoration: underline; }

/* ── 商品變數（規格選擇） ── */
.woocommerce div.product table.variations {
  width: 100%; border-collapse: collapse; margin: 0 0 var(--space-3);
}
.woocommerce div.product table.variations th,
.woocommerce div.product table.variations td {
  padding: var(--space-2) 0; vertical-align: middle;
}
.woocommerce div.product table.variations th { width: 100px; font-weight: 600; font-size: var(--text-sm); }
.woocommerce div.product table.variations select {
  width: 100%; padding: .6rem .75rem; border: 1.5px solid var(--color-border);
  border-radius: var(--radius-md); font-size: var(--text-sm);
}

/* ── 商品 Tabs（描述 / 規格 / 評價） ── */
.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1; margin-top: var(--space-8);
  border-top: 1px solid var(--color-border); padding-top: var(--space-8);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex; gap: 0; padding: 0; margin: 0 0 var(--space-6);
  list-style: none; border-bottom: 2px solid var(--color-border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0; padding: 0; background: none; border: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block; padding: var(--space-3) var(--space-5);
  font-weight: 600; font-size: var(--text-sm);
  color: var(--color-text-muted); text-decoration: none;
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  transition: var(--transition);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--color-primary); border-bottom-color: var(--color-accent);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--color-primary); }
.woocommerce div.product .woocommerce-tabs .panel {
  font-size: var(--text-base); line-height: 1.8; color: var(--color-text-muted);
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-size: var(--text-xl); font-weight: 700; color: var(--color-primary);
  margin-bottom: var(--space-4);
}
.woocommerce div.product .woocommerce-tabs .panel p { margin-bottom: var(--space-3); }
.woocommerce div.product .woocommerce-tabs .panel img { border-radius: var(--radius-md); margin: var(--space-3) 0; }
.woocommerce div.product .woocommerce-tabs .shop_attributes {
  width: 100%; border-collapse: collapse;
}
.woocommerce div.product .woocommerce-tabs .shop_attributes th,
.woocommerce div.product .woocommerce-tabs .shop_attributes td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border);
  font-size: var(--text-sm); text-align: left;
}
.woocommerce div.product .woocommerce-tabs .shop_attributes th { background: var(--color-bg-secondary); font-weight: 600; width: 30%; }

/* ── 相關商品 ── */
.woocommerce div.product .related,
.woocommerce div.product .upsells {
  grid-column: 1 / -1; margin-top: var(--space-12);
  padding-top: var(--space-8); border-top: 1px solid var(--color-border);
}
.woocommerce div.product .related h2,
.woocommerce div.product .upsells h2 {
  font-size: var(--text-2xl); font-weight: 700;
  margin-bottom: var(--space-6); letter-spacing: -.02em;
}

/* ── 麵包屑 ── */
.woocommerce-breadcrumb {
  font-size: var(--text-sm); color: var(--color-text-muted);
  padding: var(--space-4) 0; max-width: var(--container-max);
  margin: 0 auto; padding-left: var(--container-pad); padding-right: var(--container-pad);
}
.woocommerce-breadcrumb a { color: var(--color-text-muted); text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: var(--color-accent); }

/* ═══════════════════════════════════════════════════════════════════
   RWD — 平板 / 手機調整
═══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  ul.products { grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
  .woocommerce div.product {
    grid-template-columns: 1fr; gap: var(--space-6);
    padding: var(--space-6) var(--container-pad);
  }
  .woocommerce div.product .product_title { font-size: var(--text-2xl); }
  .woocommerce div.product p.price,
  .woocommerce div.product span.price { font-size: var(--text-xl); }
  .woocommerce div.product form.cart { flex-direction: column; }
  .woocommerce div.product .single_add_to_cart_button { width: 100%; min-width: 0; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { overflow-x: auto; }
  .woocommerce-products-header__title { font-size: var(--text-2xl); }
}
@media (max-width: 480px) {
  ul.products { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════
   User Registration & Membership (URM) 外掛頁面樣式
   涵蓋：登入、註冊、忘記密碼、URM 我的帳戶、會員專區
═══════════════════════════════════════════════════════════════════ */

/* ── URM 表單容器（登入/註冊/忘記密碼） ── */
.user-registration-page .entry-content .ur-frontend-form,
.entry-content .ur-frontend-form,
.entry-content #user-registration {
  max-width: 480px;
  margin: var(--space-8) auto;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-8) !important;
  box-shadow: var(--shadow-sm);
}

.entry-content .ur-frontend-form .ur-form-row,
.entry-content .ur-frontend-form .form-row {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-2);
  margin-bottom: var(--space-4) !important;
}

.entry-content .ur-frontend-form label,
.entry-content #user-registration label {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-primary);
  margin-bottom: var(--space-1);
}

.entry-content .ur-frontend-form input[type="text"],
.entry-content .ur-frontend-form input[type="email"],
.entry-content .ur-frontend-form input[type="password"],
.entry-content .ur-frontend-form input[type="tel"],
.entry-content .ur-frontend-form select,
.entry-content .ur-frontend-form textarea,
.entry-content #user-registration input[type="text"],
.entry-content #user-registration input[type="email"],
.entry-content #user-registration input[type="password"] {
  width: 100% !important;
  padding: .75rem 1rem !important;
  border: 1.5px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--text-base) !important;
  min-height: var(--input-min-h);
  background: var(--color-bg) !important;
  transition: border-color var(--transition);
}

.entry-content .ur-frontend-form input:focus,
.entry-content #user-registration input:focus {
  outline: none !important;
  border-color: var(--color-accent) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;
}

.entry-content .ur-frontend-form button[type="submit"],
.entry-content .ur-frontend-form .ur-submit-button,
.entry-content #user-registration .button {
  display: block !important;
  width: 100%;
  background: var(--color-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: .85rem 1.5rem !important;
  font-size: var(--text-base) !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: var(--transition) !important;
}
.entry-content .ur-frontend-form button[type="submit"]:hover,
.entry-content .ur-frontend-form .ur-submit-button:hover {
  background: var(--color-accent-hover) !important;
  transform: translateY(-1px);
}

/* ── URM 登入頁 ── */
.entry-content #ur-login-form-1,
.entry-content .login-username,
.entry-content .login-password {
  margin-bottom: var(--space-3);
}

.entry-content .login-submit input[type="submit"],
.entry-content #ur-submit-login {
  background: var(--color-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: .85rem 1.5rem !important;
  font-weight: 700 !important;
  cursor: pointer;
  width: 100%;
}

.entry-content .login-remember {
  display: flex !important;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  margin: var(--space-2) 0;
}

.entry-content .ur-lost-password-link,
.entry-content .login-lost-password a {
  display: inline-block;
  margin-top: var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-accent);
  text-decoration: none !important;
}

/* ── URM 我的帳戶（雙欄佈局） ── */
.user-registration-MyAccount-navigation,
.entry-content .user-registration-MyAccount-navigation {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.user-registration-MyAccount-navigation ul,
.entry-content .user-registration-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.user-registration-MyAccount-navigation li,
.entry-content .user-registration-MyAccount-navigation li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.user-registration-MyAccount-navigation li a,
.entry-content .user-registration-MyAccount-navigation li a {
  display: block !important;
  padding: var(--space-3) var(--space-4) !important;
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-muted) !important;
  border-bottom: 1px solid var(--color-border);
  border-left: 3px solid transparent;
  text-decoration: none !important;
  transition: var(--transition);
}
.user-registration-MyAccount-navigation li:last-child a { border-bottom: none; }
.user-registration-MyAccount-navigation li a:hover {
  background: var(--color-bg-secondary);
  color: var(--color-primary) !important;
}
.user-registration-MyAccount-navigation li.is-active a {
  color: var(--color-accent) !important;
  font-weight: 600;
  background: rgba(37, 99, 235, .04);
  border-left-color: var(--color-accent);
}

.user-registration-MyAccount-content,
.entry-content .user-registration-MyAccount-content {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6) var(--space-8) !important;
  min-height: 400px;
}

/* URM 我的帳戶頁雙欄 grid（針對 URM 頁） */
.user-registration-page.logged-in .entry-content > #ur-my-account,
.user-registration-page.logged-in .entry-content > div:has(.user-registration-MyAccount-navigation) {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: var(--space-8);
  align-items: start;
}

/* ── URM 成功/錯誤訊息 ── */
.entry-content .user-registration-message,
.entry-content .ur-message {
  padding: var(--space-3) var(--space-4) !important;
  border-radius: var(--radius-md);
  margin-bottom: var(--space-4);
  font-size: var(--text-sm);
}
.entry-content .user-registration-message.user-registration-message--success,
.entry-content .ur-message.message-success {
  background: #f0fdf4 !important;
  color: #166534 !important;
  border-left: 4px solid var(--color-success);
}
.entry-content .user-registration-message.user-registration-message--error,
.entry-content .ur-message.message-error {
  background: #fef2f2 !important;
  color: #991b1b !important;
  border-left: 4px solid var(--color-error);
}

/* RWD 手機調整 */
@media (max-width: 768px) {
  .entry-content .ur-frontend-form,
  .entry-content #user-registration {
    padding: var(--space-6) !important;
    margin: var(--space-4) auto;
  }
  .user-registration-page.logged-in .entry-content > #ur-my-account,
  .user-registration-page.logged-in .entry-content > div:has(.user-registration-MyAccount-navigation) {
    grid-template-columns: 1fr;
  }
  .user-registration-MyAccount-content {
    padding: var(--space-4) var(--space-5) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   註冊表單：隱私權核取方塊樣式
═══════════════════════════════════════════════════════════════════ */
.allspectra-privacy-check {
  margin-top: var(--space-3) !important;
  margin-bottom: var(--space-4) !important;
  padding: var(--space-3);
  background: var(--color-bg-secondary);
  border-radius: var(--radius-md);
}
.allspectra-privacy-check label {
  display: flex !important;
  align-items: flex-start;
  gap: var(--space-2);
  cursor: pointer;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
}
.allspectra-privacy-check input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px !important;
  height: 18px !important;
  margin-top: 2px !important;
  accent-color: var(--color-accent);
  cursor: pointer;
}
.allspectra-privacy-check a {
  color: var(--color-accent) !important;
  text-decoration: underline !important;
  font-weight: 600;
}
.allspectra-privacy-check .required {
  color: var(--color-error);
  margin-left: var(--space-1);
}
