/* ============================================================
   會員中心（WooCommerce 我的帳戶）
   只在會員中心頁面載入，沿用前台深色設計語言
   ============================================================ */

.kt-acc {
  --acc-line: rgba(255,255,255,.09);
  --acc-soft: rgba(255,255,255,.03);
  --acc-text: #f6f1ff;
  --acc-mute: rgba(246,241,255,.6);
  display: grid;
  grid-template-columns: 254px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  width: min(1220px, calc(100vw - 40px));
  margin: 0 auto;
  /* 上下留白由 .kt-shop 外框負責，這裡不再重複 */
  padding: 0 0 20px;
  color: var(--acc-text);
}

/* ---------------- 側邊 ---------------- */
.kt-acc-side { position: sticky; top: 96px; }

.kt-acc-me {
  display: flex; align-items: center; gap: 12px;
  padding: 16px; margin-bottom: 12px;
  border: 1px solid var(--acc-line); border-radius: 16px; background: var(--acc-soft);
}
.kt-acc-av {
  flex: 0 0 auto; width: 44px; height: 44px; border-radius: 999px; overflow: hidden;
  background: linear-gradient(140deg, rgba(255,47,146,.35), rgba(184,156,255,.28));
  border: 1px solid rgba(255,255,255,.14); display: block;
}
.kt-acc-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kt-acc-av.lg { width: 72px; height: 72px; }
.kt-acc-me-txt { min-width: 0; }
.kt-acc-me-txt b { display: block; font-size: 14.5px; font-weight: 800; line-height: 1.4; }
.kt-acc-me-txt small { display: block; font-size: 11.5px; color: var(--acc-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.kt-acc-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.kt-acc-nav a {
  display: flex; align-items: center; gap: 11px;
  padding: 11px 14px; border-radius: 12px;
  color: var(--acc-mute); font-size: 14px; font-weight: 600; text-decoration: none;
  transition: background .18s ease, color .18s ease;
}
.kt-acc-nav a:hover { background: rgba(255,255,255,.05); color: var(--acc-text); }
.kt-acc-nav i {
  flex: 0 0 auto; width: 34px; text-align: center;
  font: 700 9px/1 "JetBrains Mono", ui-monospace, monospace; letter-spacing: .06em;
  color: rgba(246,241,255,.34); font-style: normal;
}
.kt-acc-nav .is-active a { background: rgba(184,156,255,.14); color: var(--acc-text); box-shadow: inset 0 0 0 1px rgba(184,156,255,.3); }
.kt-acc-nav .is-active i { color: #B89CFF; }
.kt-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout a { color: rgba(246,241,255,.42); }
.kt-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout a:hover { color: #FF7A8A; }

/* ---------------- 內容 ---------------- */
.kt-acc-main {
  min-width: 0; padding: 30px 32px 34px;
  border: 1px solid var(--acc-line); border-radius: 22px;
  background: rgba(255,255,255,.022);
}

.kt-acc-head { margin: 0 0 24px; }
.kt-acc-head h3 { margin: 0 0 7px; font-size: clamp(21px, 2vw, 26px); font-weight: 900; letter-spacing: -.01em; }
.kt-acc-head p { margin: 0; font-size: 13.5px; line-height: 1.8; color: var(--acc-mute); }

/* 統計磚 */
.kt-acc-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 26px; }
.kt-acc-stat {
  padding: 18px 20px; border-radius: 16px; text-decoration: none;
  border: 1px solid var(--acc-line); background: var(--acc-soft);
  transition: border-color .2s ease, background .2s ease;
}
.kt-acc-stat:hover { border-color: rgba(184,156,255,.4); background: rgba(184,156,255,.07); }
.kt-acc-stat .lb { display: block; font-size: 11.5px; letter-spacing: .1em; color: rgba(246,241,255,.46); }
.kt-acc-stat b { display: block; margin-top: 8px; font: 900 30px/1 -apple-system, BlinkMacSystemFont, sans-serif; color: var(--acc-text); }

/* 區塊 */
.kt-acc-block { margin-top: 26px; }
.kt-acc-block-top { display: flex; align-items: baseline; gap: 14px; margin-bottom: 12px; }
.kt-acc-block-top h4 { margin: 0; font-size: 15px; font-weight: 800; }
.kt-acc-block-top a { margin-left: auto; font-size: 12.5px; color: #B89CFF; text-decoration: none; }
.kt-acc-block-top a:hover { color: #FF2F92; }

.kt-acc-rows { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.kt-acc-rows a {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 14px 16px; border-radius: 13px; text-decoration: none; color: var(--acc-text);
  border: 1px solid var(--acc-line); background: var(--acc-soft);
  transition: border-color .18s ease;
}
.kt-acc-rows a:hover { border-color: rgba(255,47,146,.4); }
.kt-acc-rows b { font-size: 14px; font-weight: 700; }
.kt-acc-rows-sub { font-size: 12px; color: var(--acc-mute); }
.kt-acc-rows em { margin-left: auto; font-style: normal; font-size: 13.5px; font-weight: 800; }

/* 標籤與狀態燈號 */
.kt-acc-tag {
  display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto;
  padding: 4px 12px 4px 10px; border-radius: 999px;
  font-size: 11.5px; font-weight: 700; letter-spacing: .02em; white-space: nowrap;
}
.kt-acc-tag::before {
  content: ''; width: 7px; height: 7px; border-radius: 999px; flex: 0 0 auto;
  background: currentColor; box-shadow: 0 0 8px currentColor;
}
.kt-acc-tag.on { background: rgba(61,255,181,.14); color: #3DFFB5; }
.kt-acc-tag.info { background: rgba(184,156,255,.16); color: #C8B4FF; }
.kt-acc-tag.warn { background: rgba(255,196,74,.14); color: #FFC44A; }
/* 待處理：燈號緩慢呼吸，掃一眼就知道有事情還沒解決 */
.kt-acc-tag.warn::before { animation: ktPulse 2.2s ease-in-out infinite; }
@keyframes ktPulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.kt-acc-tag.off { background: rgba(255,255,255,.06); color: rgba(246,241,255,.42); }
.kt-acc-tag.off::before { box-shadow: none; }

/* 卡片 */
.kt-acc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(266px, 1fr)); gap: 12px; }
.kt-acc-card { padding: 20px 22px; border-radius: 18px; border: 1px solid var(--acc-line); background: var(--acc-soft); }
.kt-acc-card h4 { margin: 10px 0 14px; font-size: 16px; font-weight: 800; line-height: 1.5; }

.kt-acc-kv { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.kt-acc-kv > div { display: flex; gap: 12px; align-items: baseline; }
.kt-acc-kv dt { flex: 0 0 76px; margin: 0; font-size: 11.5px; color: rgba(246,241,255,.45); }
.kt-acc-kv dd { margin: 0; font-size: 13.5px; font-weight: 600; word-break: break-word; }
.kt-acc-kv.wide { flex-direction: row; flex-wrap: wrap; gap: 26px; }
.kt-acc-kv.wide > div { flex-direction: column; gap: 4px; }
.kt-acc-kv.wide dt { flex: none; }
.kt-acc-kv.wide dd { font-size: 15px; font-weight: 800; }

/* 面板與量表 */
.kt-acc-panel { padding: 24px 26px; border-radius: 18px; border: 1px solid var(--acc-line); background: var(--acc-soft); }
.kt-acc-meter { margin-top: 16px; }
.kt-acc-meter-top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 7px; font-size: 12px; color: var(--acc-mute); }
.kt-acc-meter-top b { color: var(--acc-text); font-size: 13px; }
.kt-acc-bar { height: 6px; border-radius: 99px; background: rgba(255,255,255,.07); overflow: hidden; }
.kt-acc-bar i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #B89CFF, #FF2F92); }

/* 空狀態 */
.kt-acc-empty {
  padding: 46px 30px; text-align: center; border-radius: 18px;
  border: 1px dashed rgba(255,255,255,.13); background: rgba(255,255,255,.015);
}
.kt-acc-empty h4 { margin: 0 0 9px; font-size: 16px; font-weight: 800; }
/* 中文字寬約為 2ch，用 ch 設寬度會提早換行；一律用 px */
.kt-acc-empty p { max-width: 620px; margin: 0 auto 18px; font-size: 13.5px; line-height: 1.85; color: var(--acc-mute); text-wrap: normal; }

/* 按鈕 */
.kt-acc-btn {
  display: inline-block; padding: 12px 24px; border: 0; border-radius: 11px; cursor: pointer;
  background: linear-gradient(96deg, #7C3CFF, #FF2F92);
  color: #fff; font-size: 14px; font-weight: 800; text-decoration: none;
  transition: filter .18s ease, transform .18s ease;
}
.kt-acc-btn:hover { filter: brightness(1.12); transform: translateY(-1px); color: #fff; }
.kt-acc-btn.ghost {
  margin-top: 16px; background: transparent; color: var(--acc-text);
  border: 1px solid rgba(255,255,255,.16); font-size: 13px; padding: 10px 18px;
}
.kt-acc-btn.ghost:hover { border-color: rgba(184,156,255,.55); background: rgba(184,156,255,.1); filter: none; }

.kt-acc-note { margin: 22px 0 0; font-size: 12.5px; line-height: 1.85; color: rgba(246,241,255,.5); }
.kt-acc-note a { color: #B89CFF; }

/* ---------------- 表單 ---------------- */
.kt-acc-fs { margin: 0 0 30px; }
.kt-acc-fs h4 { margin: 0 0 4px; font-size: 12px; font-weight: 800; letter-spacing: .14em; color: #B89CFF; }
.kt-acc-fs-note { margin: 0 0 14px; font-size: 12.5px; color: var(--acc-mute); }
.kt-acc-fs > h4 + .kt-acc-grid, .kt-acc-fs > h4 + .kt-acc-avrow { margin-top: 14px; }

.kt-acc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.kt-acc-grid label, .kt-acc-form label { display: block; font-size: 12px; font-weight: 700; color: rgba(246,241,255,.72); }
.kt-acc-grid label.full { grid-column: 1 / -1; }
.kt-acc-grid input, .kt-acc-form input[type="text"], .kt-acc-form input[type="email"],
.kt-acc-form input[type="tel"], .kt-acc-form input[type="password"],
.kt-tk-form input[type="text"], .kt-tk-form textarea, .kt-tk-form select {
  width: 100%; margin-top: 6px; padding: 11px 14px;
  border: 1px solid rgba(255,255,255,.13); border-radius: 11px;
  background: rgba(0,0,0,.28); color: var(--acc-text);
  font-size: 14px; font-family: inherit; box-sizing: border-box;
  transition: border-color .18s ease, background .18s ease;
}
.kt-acc-grid input:focus, .kt-acc-form input:focus, .kt-tk-form textarea:focus, .kt-tk-form input:focus, .kt-tk-form select:focus {
  outline: 0; border-color: rgba(184,156,255,.6); background: rgba(0,0,0,.4);
}
.kt-acc-grid small, .kt-acc-form small { display: block; margin-top: 5px; font-size: 11px; font-weight: 400; color: rgba(246,241,255,.42); }

.kt-acc-avrow { display: flex; align-items: center; gap: 16px; }
.kt-acc-file { position: relative; overflow: hidden; display: inline-block; }
.kt-acc-file span {
  display: inline-block; padding: 9px 18px; border-radius: 10px; cursor: pointer;
  border: 1px solid rgba(255,255,255,.16); font-size: 12.5px; font-weight: 700; color: var(--acc-text);
}
.kt-acc-file:hover span { border-color: rgba(184,156,255,.55); background: rgba(184,156,255,.1); }
.kt-acc-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

.kt-acc-formfoot { padding-top: 22px; border-top: 1px solid var(--acc-line); }

/* ---------------- 工單 ---------------- */
.kt-tk-new { margin: 0 0 22px; border: 1px solid var(--acc-line); border-radius: 16px; background: var(--acc-soft); overflow: hidden; }
.kt-tk-new > summary { padding: 15px 20px; cursor: pointer; font-size: 14px; font-weight: 800; list-style: none; }
.kt-tk-new > summary::-webkit-details-marker { display: none; }
.kt-tk-new > summary::before { content: '＋'; margin-right: 9px; color: #FF2F92; font-weight: 900; }
.kt-tk-new[open] > summary::before { content: '−'; }
.kt-tk-new .kt-tk-form { padding: 4px 20px 20px; }

.kt-tk-form label { display: block; margin-bottom: 14px; font-size: 12px; font-weight: 700; color: rgba(246,241,255,.72); }
.kt-tk-row { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 14px; }
.kt-tk-form textarea { min-height: 110px; resize: vertical; line-height: 1.7; }

.kt-tk-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.kt-tk-list a {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 15px 17px; border-radius: 13px; text-decoration: none; color: var(--acc-text);
  border: 1px solid var(--acc-line); background: var(--acc-soft);
}
.kt-tk-list a:hover { border-color: rgba(184,156,255,.45); }
.kt-tk-list b { flex: 1 1 240px; font-size: 14px; font-weight: 700; }
.kt-tk-meta { flex: 0 0 auto; font-size: 11.5px; color: rgba(246,241,255,.44); }
.kt-tk-list time { font-size: 11.5px; color: rgba(246,241,255,.4); }

.kt-tk-head .kt-tk-back { display: inline-block; margin-bottom: 14px; font-size: 12.5px; color: #B89CFF; text-decoration: none; }
.kt-tk-head p { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; font-size: 12px; color: var(--acc-mute); }
.kt-tk-no { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 11.5px; }

.kt-tk-linked {
  margin: 0 0 20px; padding: 14px 18px; border-radius: 13px; font-size: 13px; line-height: 1.8;
  border: 1px solid rgba(61,255,181,.26); background: rgba(61,255,181,.06); color: rgba(246,241,255,.8);
}
.kt-tk-linked a { color: #3DFFB5; }

.kt-tk-thread { display: flex; flex-direction: column; gap: 12px; margin-bottom: 26px; }
.kt-tk-msg { padding: 16px 18px; border-radius: 15px; border: 1px solid var(--acc-line); }
.kt-tk-msg.me { background: rgba(255,255,255,.03); }
.kt-tk-msg.staff { background: rgba(184,156,255,.09); border-color: rgba(184,156,255,.24); margin-left: clamp(0px, 6vw, 54px); }
.kt-tk-who { display: flex; gap: 10px; align-items: baseline; margin-bottom: 8px; }
.kt-tk-who b { font-size: 12.5px; font-weight: 800; }
.kt-tk-who span { font-size: 11px; color: rgba(246,241,255,.4); }
.kt-tk-body { font-size: 14px; line-height: 1.85; color: rgba(246,241,255,.86); }
.kt-tk-body p { margin: 0 0 9px; }
.kt-tk-body p:last-child { margin: 0; }

/* ---------------- WooCommerce 原生元件配色 ---------------- */
.kt-acc-main .woocommerce-message,
.kt-acc-main .woocommerce-info,
.kt-acc-main .woocommerce-error,
.kt-acc-main .woocommerce-notice {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  margin: 0 0 14px; padding: 16px 18px; border-radius: 14px; list-style: none;
  border: 1px solid rgba(184,156,255,.26); background: rgba(184,156,255,.07);
  font-size: 14px; line-height: 1.8; color: var(--acc-text);
}
/* WooCommerce 會用自家圖示字型畫一個符號，字型沒載入時會變成小方框 */
.kt-acc-main .woocommerce-message::before,
.kt-acc-main .woocommerce-info::before,
.kt-acc-main .woocommerce-error::before,
.kt-acc-main .woocommerce-message::after,
.kt-acc-main .woocommerce-info::after,
.kt-acc-main .woocommerce-error::after { content: none !important; display: none !important; }

.kt-acc-main .woocommerce-error { border-color: rgba(255,90,110,.38); background: rgba(255,90,110,.09); }
.kt-acc-main .woocommerce-message { border-color: rgba(61,255,181,.28); background: rgba(61,255,181,.07); }
.kt-acc-main .woocommerce-message a:not(.button),
.kt-acc-main .woocommerce-info a:not(.button) { color: #B89CFF; }

/* WooCommerce 的原始碼把按鈕寫在文字前面，用 order 移到右邊
   （文字是匿名彈性項目，order 固定為 0，所以只需要抬高按鈕） */
.kt-acc-main .woocommerce-message .button,
.kt-acc-main .woocommerce-info .button,
.kt-acc-main .woocommerce-error .button { order: 1; margin-left: auto; flex: 0 0 auto; }

.kt-acc-main table.woocommerce-orders-table,
.kt-acc-main table.woocommerce-table {
  width: 100%; border-collapse: separate; border-spacing: 0 7px; font-size: 13.5px;
}
.kt-acc-main table.woocommerce-table th {
  padding: 0 16px 6px; text-align: left; font-size: 11px; font-weight: 700;
  letter-spacing: .1em; color: rgba(246,241,255,.42); border: 0;
}
.kt-acc-main table.woocommerce-table td {
  padding: 15px 16px; border: 1px solid var(--acc-line); border-left: 0; border-right: 0;
  background: var(--acc-soft); color: var(--acc-text); vertical-align: middle;
}
.kt-acc-main table.woocommerce-table tr td:first-child { border-left: 1px solid var(--acc-line); border-radius: 13px 0 0 13px; }
.kt-acc-main table.woocommerce-table tr td:last-child { border-right: 1px solid var(--acc-line); border-radius: 0 13px 13px 0; }
.kt-acc-main table.woocommerce-table a { color: #B89CFF; text-decoration: none; }
.kt-acc-main table.woocommerce-table a:hover { color: #FF2F92; }

/* WooCommerce 自己的按鈕樣式權重不低，這裡一併覆寫 */
.kt-acc .kt-acc-main a.button,
.kt-acc .kt-acc-main button.button,
.kt-acc .kt-acc-main input.button,
.kt-acc .kt-acc-main .woocommerce-Button,
.kt-acc .kt-acc-main button[type="submit"]:not(.kt-acc-btn) {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 11px 22px; min-height: 0; border: 0; border-radius: 11px; cursor: pointer;
  background: linear-gradient(96deg, #7C3CFF, #FF2F92) !important;
  color: #fff !important; font-family: inherit; font-size: 13.5px; font-weight: 800;
  line-height: 1.2; text-decoration: none; text-transform: none; letter-spacing: 0;
  transition: filter .18s ease, transform .18s ease;
}
.kt-acc .kt-acc-main a.button:hover,
.kt-acc .kt-acc-main button.button:hover,
.kt-acc .kt-acc-main .woocommerce-Button:hover,
.kt-acc .kt-acc-main button[type="submit"]:not(.kt-acc-btn):hover {
  filter: brightness(1.14); transform: translateY(-1px); color: #fff !important;
}
/* 次要動作（例如「取消」「返回」）維持低調 */
.kt-acc .kt-acc-main a.button.wc-forward,
.kt-acc .kt-acc-main a.button.wc-backward {
  background: transparent !important; color: var(--acc-text) !important;
  border: 1px solid rgba(255,255,255,.18);
}
.kt-acc .kt-acc-main a.button.wc-backward:hover {
  background: rgba(184,156,255,.12) !important; border-color: rgba(184,156,255,.5);
  filter: none;
}

.kt-acc-main .woocommerce-Pagination { margin-top: 18px; display: flex; gap: 8px; }
.kt-acc-main .woocommerce-Address { margin-bottom: 20px; }
.kt-acc-main .woocommerce-Address address { font-style: normal; font-size: 13.5px; line-height: 1.9; color: var(--acc-mute); }
.kt-acc-main .woocommerce-column__title, .kt-acc-main h2, .kt-acc-main h3 { font-weight: 800; }

/* ---------------- 響應式 ---------------- */
@media (max-width: 1024px) {
  .kt-acc { grid-template-columns: 1fr; gap: 16px; padding-top: 0; }
  .kt-acc-side { position: static; }
  .kt-acc-nav ul { flex-direction: row; flex-wrap: wrap; }
  .kt-acc-nav a { padding: 9px 14px; font-size: 13px; }
  .kt-acc-nav i { display: none; }
  .kt-acc-main { padding: 24px 20px 28px; border-radius: 18px; }
}
@media (max-width: 720px) {
  .kt-acc { width: calc(100vw - 28px); }
  .kt-acc-stats { grid-template-columns: 1fr; }
  .kt-acc-grid, .kt-tk-row { grid-template-columns: 1fr; }
  .kt-acc-rows a, .kt-tk-list a { gap: 8px; }
  .kt-acc-rows em { margin-left: 0; }
  .kt-tk-msg.staff { margin-left: 0; }
}


/* WooCommerce 的空狀態提示：文字與按鈕分置左右，不再擠在一起 */
.kt-acc-main .woocommerce-info.woocommerce-no-orders,
.kt-acc-main .woocommerce-Message--info { justify-content: space-between; }
.kt-acc-main .woocommerce-MyAccount-content > p:empty { display: none; }


/* ======================= 地址表單（WooCommerce） ======================= */
.kt-acc-main .woocommerce-address-fields h3,
.kt-acc-main .woocommerce-Address h3,
.kt-acc-main form.edit-account h3 { margin: 0 0 18px; font-size: 18px; font-weight: 900; }

.kt-acc-main .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
.kt-acc-main .form-row { margin: 0 0 14px; padding: 0; display: block; }
.kt-acc-main .form-row-wide,
.kt-acc-main #billing_address_1_field,
.kt-acc-main #billing_address_2_field,
.kt-acc-main #billing_country_field,
.kt-acc-main #shipping_address_1_field,
.kt-acc-main #shipping_address_2_field,
.kt-acc-main #shipping_country_field { grid-column: 1 / -1; }

.kt-acc-main .form-row label {
  display: block; margin-bottom: 6px;
  font-size: 12px; font-weight: 700; color: rgba(246,241,255,.72);
}
.kt-acc-main .form-row label .required { color: #FF2F92; text-decoration: none; margin-left: 3px; }
.kt-acc-main .form-row .optional { color: rgba(246,241,255,.4); font-weight: 400; }

.kt-acc-main .form-row input.input-text,
.kt-acc-main .form-row textarea,
.kt-acc-main .form-row select,
.kt-acc-main .select2-container .select2-selection--single {
  width: 100%; height: auto; min-height: 0;
  padding: 11px 14px; box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.13); border-radius: 11px;
  background: rgba(0,0,0,.28); color: var(--acc-text);
  font-size: 14px; font-family: inherit; line-height: 1.5;
  transition: border-color .18s ease, background .18s ease;
}
.kt-acc-main .form-row input.input-text:focus,
.kt-acc-main .form-row select:focus,
.kt-acc-main .form-row textarea:focus {
  outline: 0; border-color: rgba(184,156,255,.6); background: rgba(0,0,0,.4);
}
.kt-acc-main .form-row input::placeholder,
.kt-acc-main .form-row textarea::placeholder { color: rgba(246,241,255,.32); }

/* 原生下拉的箭頭在深色底上看不見，自己畫一個 */
.kt-acc-main .form-row select {
  appearance: none; -webkit-appearance: none; padding-right: 38px;
  background-image: linear-gradient(45deg, transparent 50%, rgba(246,241,255,.55) 50%),
                    linear-gradient(135deg, rgba(246,241,255,.55) 50%, transparent 50%);
  background-position: calc(100% - 19px) calc(50% + 1px), calc(100% - 13px) calc(50% + 1px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

/* select2（國家選單） */
.kt-acc-main .select2-container--default .select2-selection--single { border-radius: 11px !important; }
.kt-acc-main .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--acc-text); line-height: 1.5; padding: 0;
}
.kt-acc-main .select2-container--default .select2-selection--single .select2-selection__placeholder { color: rgba(246,241,255,.32); }
.kt-acc-main .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: 10px; }
.kt-acc-main .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: rgba(246,241,255,.55); }

.kt-acc-main .woocommerce-address-fields .form-row:last-child,
.kt-acc-main .woocommerce-address-fields p:last-of-type { grid-column: 1 / -1; margin-top: 8px; }

/* 地址總覽（兩欄卡片） */
.kt-acc-main .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.kt-acc-main .woocommerce-Address {
  margin: 0; padding: 20px 22px; border-radius: 18px;
  border: 1px solid var(--acc-line); background: var(--acc-soft);
}
.kt-acc-main .woocommerce-Address-title { display: flex; align-items: baseline; gap: 12px; margin-bottom: 12px; }
.kt-acc-main .woocommerce-Address-title h2,
.kt-acc-main .woocommerce-Address-title h3 { margin: 0; font-size: 15px; font-weight: 800; }
.kt-acc-main .woocommerce-Address-title a { margin-left: auto; font-size: 12.5px; color: #B89CFF; text-decoration: none; }
.kt-acc-main .woocommerce-Address-title a:hover { color: #FF2F92; }

@media (max-width: 860px) {
  .kt-acc-main .woocommerce-address-fields__field-wrapper,
  .kt-acc-main .woocommerce-Addresses { grid-template-columns: 1fr; }
}


/* 工單列表分頁 */
.kt-tk-pager { display: flex; align-items: center; gap: 16px; margin-top: 18px; font-size: 12.5px; color: rgba(246,241,255,.5); }
.kt-tk-pager a { color: #B89CFF; text-decoration: none; font-weight: 600; }
.kt-tk-pager a:hover { color: #FF2F92; }
.kt-tk-pager span { margin: 0 auto; }


/* ======================= WooCommerce 頁面外框 ======================= */
/* 我的帳戶／購物車／結帳是短代碼頁面，走的是 page.php 而不是 woocommerce.php，
   所以那個樣板輸出的頁面標題與 140px 上邊距要在這裡收掉（inline style 需要 !important） */
body.woocommerce-account main > .container > h1,
body.woocommerce-cart main > .container > h1,
body.woocommerce-checkout main > .container > h1 { display: none !important; }

body.woocommerce-account main > .container,
body.woocommerce-cart main > .container,
body.woocommerce-checkout main > .container {
  padding: 116px 0 80px !important;
  width: 100%; max-width: none;
}
/* page.php 會把內容包在 .vps-lead 裡，字級與寬度限制要中和掉 */
body.woocommerce-account main > .container > .vps-lead,
body.woocommerce-cart main > .container > .vps-lead,
body.woocommerce-checkout main > .container > .vps-lead {
  max-width: none; margin: 0; font-size: inherit; line-height: inherit; color: inherit; text-align: left;
}

@media (max-width: 1024px) {
  body.woocommerce-account main > .container,
  body.woocommerce-cart main > .container,
  body.woocommerce-checkout main > .container { padding-top: 100px !important; }
}
@media (max-width: 720px) {
  body.woocommerce-account main > .container,
  body.woocommerce-cart main > .container,
  body.woocommerce-checkout main > .container { padding: 88px 0 56px !important; }
}

/* 背景一路填到底，捲到下方不會出現色塊斷層 */
body.woocommerce-account,
body.woocommerce-page { background: #050610; }
body.woocommerce-account main,
body.woocommerce-page main { background: #050610; min-height: calc(100vh - 120px); }

/* 未登入時只有一張登入卡，讓它在畫面中垂直置中；登入後的會員中心維持靠上 */
body.woocommerce-account:not(.logged-in) main > .container {
  display: flex; align-items: center; justify-content: center;
  min-height: 100vh;
  padding: 116px 0 72px !important;
  box-sizing: border-box;
}
body.woocommerce-account:not(.logged-in) main > .container > .vps-lead { width: 100%; }
@media (max-width: 720px) {
  body.woocommerce-account:not(.logged-in) main > .container {
    min-height: 0; align-items: flex-start; padding: 88px 0 56px !important;
  }
}
.kt-shop {
  display: block; background: #050610;
  padding: 116px 0 80px;
  min-height: calc(100vh - 120px);
}
@media (max-width: 1024px) { .kt-shop { padding-top: 100px; } }
@media (max-width: 720px)  { .kt-shop { padding-top: 88px; padding-bottom: 56px; } }

/* ======================= 登入／註冊 ======================= */
.kt-login {
  --acc-line: rgba(255,255,255,.09);
  --acc-text: #f6f1ff;
  --acc-mute: rgba(246,241,255,.6);
  display: grid; grid-template-columns: minmax(0, 560px);
  justify-content: center; gap: 20px;
  width: min(1220px, calc(100vw - 40px)); margin: 0 auto; padding: 0;
  color: var(--acc-text);
}
.kt-login.has-reg { grid-template-columns: repeat(2, minmax(0, 520px)); align-items: start; }

.kt-login-card {
  padding: 44px 46px 40px; border-radius: 24px;
  border: 1px solid var(--acc-line); background: rgba(255,255,255,.026);
}
.kt-login-card h2 { margin: 0 0 8px; font-size: 25px; font-weight: 900; letter-spacing: -.01em; color: var(--acc-text); }
.kt-login-sub { margin: 0 0 26px; font-size: 13.5px; line-height: 1.8; color: var(--acc-mute); text-wrap: normal; }

.kt-login-form label {
  display: block; margin: 0 0 6px;
  font-size: 12px; font-weight: 700; color: rgba(246,241,255,.72);
}
.kt-login-form .kt-login-in {
  width: 100%; margin: 0 0 16px; padding: 12px 15px; box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.13); border-radius: 11px;
  background: rgba(0,0,0,.28); color: var(--acc-text);
  font-size: 14.5px; font-family: inherit; line-height: 1.5;
  transition: border-color .18s ease, background .18s ease;
}
.kt-login-form .kt-login-in:focus { outline: 0; border-color: rgba(184,156,255,.6); background: rgba(0,0,0,.4); }

/* WooCommerce 密碼欄位會插入顯示／隱藏按鈕，讓它貼齊欄位右側 */
.kt-login-form .woocommerce-form-login__password,
.kt-login-form .password-input { position: relative; display: block; }
.kt-login-form .show-password-input { position: absolute; right: 12px; top: 13px; color: rgba(246,241,255,.5); cursor: pointer; }

.kt-login-row { display: flex; align-items: center; gap: 12px; margin: 4px 0 22px; }
.kt-login-check { display: flex !important; align-items: center; gap: 8px; margin: 0 !important; cursor: pointer; }
.kt-login-check input { margin: 0; accent-color: #B89CFF; }
.kt-login-check span { font-size: 13px; font-weight: 500; color: var(--acc-mute); }
.kt-login-lost { margin-left: auto; font-size: 12.5px; color: #B89CFF; text-decoration: none; }
.kt-login-lost:hover { color: #FF2F92; }

.kt-login-btn {
  display: block; width: 100%; padding: 14px 24px; border: 0; border-radius: 12px; cursor: pointer;
  background: linear-gradient(96deg, #7C3CFF, #FF2F92); color: #fff;
  font-family: inherit; font-size: 15px; font-weight: 800; letter-spacing: .02em;
  transition: filter .18s ease, transform .18s ease;
}
.kt-login-btn:hover { filter: brightness(1.13); transform: translateY(-1px); }
.kt-login-btn.ghost { background: transparent; border: 1px solid rgba(255,255,255,.18); color: var(--acc-text); }
.kt-login-btn.ghost:hover { border-color: rgba(184,156,255,.6); background: rgba(184,156,255,.1); filter: none; }

.kt-login-note { margin: 0 0 20px; font-size: 12.5px; line-height: 1.8; color: rgba(246,241,255,.5); }

/* 社群登入外掛（Nextend 等）插在表單尾端，統一間距 */
.kt-login-form .nsl-container,
.kt-login-form .nsl-container-buttons { margin-top: 20px !important; }
.kt-login-form .nsl-container-block-shadow { box-shadow: none !important; }

/* 平板：註冊卡片改為上下排列，寬度放到接近版面兩側 */
@media (max-width: 1100px) {
  .kt-login, .kt-login.has-reg { grid-template-columns: minmax(0, 600px); }
}
@media (max-width: 720px) {
  .kt-login { width: calc(100vw - 28px); }
  .kt-login, .kt-login.has-reg { grid-template-columns: 1fr; gap: 14px; }
  .kt-login-card { padding: 30px 22px 28px; border-radius: 20px; }
  .kt-login-card h2 { font-size: 21px; }
  .kt-login-sub { margin-bottom: 22px; font-size: 13px; }
  .kt-login-form .kt-login-in { font-size: 16px; }  /* 16px 以下 iOS 會自動放大畫面 */
  .kt-login-row { flex-wrap: wrap; gap: 10px; }
  .kt-login-lost { margin-left: auto; }
}


/* ======================= 邀請與推薦 ======================= */
.kt-inv-note { margin: 0 0 18px; padding: 13px 17px; border-radius: 13px; font-size: 13.5px; line-height: 1.8; }
.kt-inv-note.ok { border: 1px solid rgba(61,255,181,.3); background: rgba(61,255,181,.08); color: #f6f1ff; }
.kt-inv-note.no { border: 1px solid rgba(255,90,110,.36); background: rgba(255,90,110,.09); color: #FFD9DE; }

.kt-inv-top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.kt-inv-stat { padding: 18px 20px; border-radius: 16px; border: 1px solid var(--acc-line); background: var(--acc-soft); }
.kt-inv-stat .lb { display: block; font-size: 11.5px; letter-spacing: .1em; color: rgba(246,241,255,.46); }
.kt-inv-stat b { display: inline-block; margin-top: 8px; font: 900 30px/1 -apple-system, sans-serif; color: var(--acc-text); }
.kt-inv-stat b.sm { font-size: 22px; }
.kt-inv-stat small { font-size: 13px; color: rgba(246,241,255,.4); margin-left: 3px; }

.kt-inv-link { padding: 22px 24px; border-radius: 18px; border: 1px solid var(--acc-line); background: var(--acc-soft); margin-bottom: 18px; }
.kt-inv-link .lb { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 800; letter-spacing: .12em; color: #B89CFF; }
.kt-inv-copy { display: flex; gap: 10px; }
.kt-inv-copy input {
  flex: 1 1 auto; min-width: 0; padding: 12px 15px; box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.13); border-radius: 11px;
  background: rgba(0,0,0,.32); color: var(--acc-text);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px;
}
.kt-inv-copy .kt-acc-btn { flex: 0 0 auto; }
.kt-inv-code { margin: 12px 0 0; font-size: 12.5px; color: rgba(246,241,255,.5); }
.kt-inv-code b { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 14px; color: #3DFFB5; letter-spacing: .08em; }

.kt-inv-form { margin-bottom: 8px; }
.kt-inv-form > label { display: block; font-size: 12px; font-weight: 700; color: rgba(246,241,255,.72); }
.kt-inv-row { display: flex; gap: 10px; margin-top: 8px; }
.kt-inv-row input {
  flex: 1 1 auto; min-width: 0; padding: 12px 15px; box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.13); border-radius: 11px;
  background: rgba(0,0,0,.28); color: var(--acc-text); font-size: 14.5px; font-family: inherit;
}
.kt-inv-row input:focus { outline: 0; border-color: rgba(184,156,255,.6); }
.kt-inv-hint { margin: 10px 0 0; font-size: 12.5px; line-height: 1.8; color: rgba(246,241,255,.48); }

/* 這個列表不是 .kt-acc-rows，必須自己重設 ul 的瀏覽器預設值，否則整塊會右縮 40px */
.kt-inv-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 7px; }
.kt-inv-list li {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 14px 16px; border-radius: 13px;
  border: 1px solid var(--acc-line); background: var(--acc-soft);
}
.kt-inv-list b { font-size: 14px; font-weight: 700; }
.kt-inv-list em { margin-left: auto; font-style: normal; font-size: 12px; color: rgba(246,241,255,.44); }

@media (max-width: 720px) {
  .kt-inv-top { grid-template-columns: 1fr; }
  .kt-inv-copy, .kt-inv-row { flex-direction: column; }
}


/* 邀請：資格與待接受狀態 */
.kt-inv-top { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kt-inv-stat b.ok { color: #3DFFB5; }
.kt-inv-stat b.wait { color: #FFC44A; }
.kt-inv-stat small { display: block; margin-top: 4px; font-size: 11.5px; color: rgba(246,241,255,.42); }

.kt-inv-lock {
  padding: 30px 30px 28px; border-radius: 18px; margin-bottom: 20px;
  border: 1px solid rgba(255,196,74,.28); background: rgba(255,196,74,.055);
}
.kt-inv-lock-lb { display: block; margin-bottom: 10px; font-size: 16px; font-weight: 800; color: #FFC44A; }
.kt-inv-lock p { max-width: 680px; margin: 0 0 22px; font-size: 14px; line-height: 1.9; color: rgba(246,241,255,.72); text-wrap: normal; }
.kt-inv-lock-act { display: flex; flex-wrap: wrap; gap: 10px; }
.kt-inv-lock-act .kt-acc-btn.ghost { margin-top: 0; padding: 12px 22px; font-size: 14px; }

.kt-inv-pending {
  padding: 22px 24px; border-radius: 18px; margin-bottom: 20px;
  border: 1px solid rgba(255,196,74,.3); background: rgba(255,196,74,.06);
}
.kt-inv-pending .lb { display: block; margin-bottom: 12px; font-size: 12px; font-weight: 800; letter-spacing: .12em; color: #FFC44A; }
.kt-inv-pending-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.kt-inv-pending-row b { font-size: 15px; font-weight: 800; color: var(--acc-text); }
.kt-inv-pending-row > span { font-size: 12.5px; color: rgba(246,241,255,.5); }
.kt-inv-pending-row form { margin-left: auto; }
.kt-inv-pending-row .kt-acc-btn.ghost { margin-top: 0; }
.kt-inv-pending .kt-inv-hint { margin-top: 14px; }

@media (max-width: 720px) {
  .kt-inv-top { grid-template-columns: 1fr; }
  .kt-inv-pending-row form { margin-left: 0; width: 100%; }
  .kt-inv-pending-row .kt-acc-btn { width: 100%; }
}


/* ======================= 邀請規則卡與兌換 ======================= */
.kt-inv-rule { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 12px; }
.kt-inv-rule > div {
  padding: 20px 22px; border-radius: 16px;
  border: 1px solid var(--acc-line); background: var(--acc-soft);
}
.kt-inv-rule > div.is-key { border-color: rgba(255,47,146,.34); background: rgba(255,47,146,.07); }
.kt-inv-rule span { display: block; font: 900 32px/1 -apple-system, BlinkMacSystemFont, sans-serif; color: var(--acc-text); letter-spacing: -.02em; }
.kt-inv-rule span i { font-style: normal; font-size: 15px; font-weight: 800; margin-left: 3px; color: rgba(246,241,255,.55); }
.kt-inv-rule > div.is-key span { color: #FF7FBC; }
.kt-inv-rule small { display: block; margin-top: 9px; font-size: 12.5px; line-height: 1.6; color: rgba(246,241,255,.55); }
.kt-inv-rulenote { margin: 0 0 22px; font-size: 12.5px; line-height: 1.85; color: rgba(246,241,255,.45); }

.kt-inv-send { padding: 24px 26px; border-radius: 18px; border: 1px solid var(--acc-line); background: var(--acc-soft); margin-bottom: 8px; }
.kt-inv-send-lb { display: block; margin-bottom: 16px; font-size: 12px; font-weight: 800; letter-spacing: .12em; color: #B89CFF; }
.kt-inv-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; margin-bottom: 18px; }
.kt-inv-grid label { display: block; font-size: 12px; font-weight: 700; color: rgba(246,241,255,.72); }
.kt-inv-grid label.full { grid-column: 1 / -1; }
.kt-inv-grid input, .kt-inv-grid select, .kt-inv-grid textarea {
  width: 100%; margin-top: 6px; padding: 11px 14px; box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.13); border-radius: 11px;
  background: rgba(0,0,0,.28); color: var(--acc-text);
  font-size: 14px; font-family: inherit; line-height: 1.6;
}
.kt-inv-grid textarea { resize: vertical; line-height: 1.75; }
.kt-inv-grid input:focus, .kt-inv-grid select:focus, .kt-inv-grid textarea:focus { outline: 0; border-color: rgba(184,156,255,.6); }
.kt-inv-grid small { display: block; margin-top: 5px; font-size: 11px; font-weight: 400; color: rgba(246,241,255,.42); }

.kt-inv-pending-row code {
  font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 13px;
  letter-spacing: .1em; color: #3DFFB5;
}
.kt-inv-gain {
  flex: 0 0 auto; padding: 3px 10px; border-radius: 999px;
  background: rgba(61,255,181,.14); color: #3DFFB5;
  font: 700 11.5px/1.6 -apple-system, sans-serif;
}

.kt-rdm { margin-top: 20px; padding: 24px 26px; border-radius: 18px;
  border: 1px dashed rgba(184,156,255,.34); background: rgba(184,156,255,.05); }
.kt-rdm-lb { display: block; margin-bottom: 14px; font-size: 15px; font-weight: 800; color: var(--acc-text); }
.kt-rdm-row { display: flex; gap: 10px; }
.kt-rdm-row input {
  flex: 1 1 auto; min-width: 0; max-width: 260px; padding: 12px 15px; box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.14); border-radius: 11px;
  background: rgba(0,0,0,.3); color: var(--acc-text);
  font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 16px;
  letter-spacing: .14em; text-transform: uppercase;
}
.kt-rdm-row input:focus { outline: 0; border-color: rgba(184,156,255,.65); }
.kt-rdm-hint { margin: 12px 0 0; font-size: 12.5px; line-height: 1.8; color: rgba(246,241,255,.5); }

.kt-drv-bonus dd.hl { color: #3DFFB5; }
.kt-stor-li { flex-direction: column; align-items: stretch !important; gap: 8px !important; }
.kt-stor-line { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.kt-stor-line em { margin-left: auto; font-style: normal; font-size: 12px; color: rgba(246,241,255,.44); }
.kt-stor-reply { font-size: 13px; line-height: 1.8; color: rgba(246,241,255,.6);
  padding-top: 8px; border-top: 1px solid rgba(255,255,255,.07); }

@media (max-width: 860px) {
  .kt-inv-rule { grid-template-columns: 1fr; }
  .kt-inv-grid { grid-template-columns: 1fr; }
  .kt-rdm-row { flex-direction: column; }
  .kt-rdm-row input { max-width: none; }
}


/* KurTech Drive：容量顯示與停用提示 */
.kt-drv-of { color: rgba(246,241,255,.42); font-weight: 400; }
.kt-acc-meter-top b.hot { color: #FFC44A; }
.kt-acc-bar i.hot { background: linear-gradient(90deg, #FFC44A, #FF2F92); }
.kt-drv-near { margin: 10px 0 0; font-size: 12.5px; line-height: 1.8; color: #FFC44A; }
.kt-drv-near a { color: #FFC44A; text-decoration: underline; }
.kt-drv-near a:hover { color: #FF2F92; }

.kt-drv-alert {
  padding: 20px 22px; border-radius: 16px; margin: 0 0 16px;
  border: 1px solid rgba(255,196,74,.32); background: rgba(255,196,74,.07);
}
.kt-drv-alert b { display: block; margin-bottom: 7px; font-size: 15px; color: #FFC44A; }
.kt-drv-alert span { display: block; margin-bottom: 16px; font-size: 13.5px; line-height: 1.85;
  color: rgba(246,241,255,.76); text-wrap: normal; }
.kt-drv-alert .kt-acc-btn { padding: 10px 20px; font-size: 13.5px; }

.kt-drv-plus { display: block; margin-top: 3px; font-size: 11px; font-weight: 400; color: #3DFFB5; }


/* 我的主機：到期提醒與附加資訊 */
.kt-vps-near { color: #FFC44A; }
.kt-vps-over { color: #FF6B7F; }
.kt-vps-note { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px;
  background: rgba(255,196,74,.16); color: #FFC44A; font-size: 10.5px; font-weight: 700; }
.kt-vps-over .kt-vps-note { background: rgba(255,107,127,.16); color: #FF6B7F; }
.kt-vps-extra { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.07); }


/* ======================= 結帳頁：KurTech Drive 登入設定 ======================= */
.kt-co-box {
  margin: 26px 0 0; padding: 22px 24px; border-radius: 18px;
  border: 1px solid rgba(184,156,255,.28); background: rgba(184,156,255,.05);
}
.kt-co-box.is-have { border-color: rgba(61,255,181,.28); background: rgba(61,255,181,.05); }
.kt-co-box h3 { margin: 0 0 8px; font-size: 16px; font-weight: 800; color: var(--acc-text, #f6f1ff); }
.kt-co-box p { font-size: 13.5px; line-height: 1.85; color: rgba(246,241,255,.72); text-wrap: normal; }
.kt-co-lead { margin: 0 0 18px; }
.kt-co-box .form-row { margin: 0 0 14px; padding: 0; }
.kt-co-box label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: rgba(246,241,255,.72); }
.kt-co-box .input-text {
  width: 100%; padding: 11px 14px; box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.13); border-radius: 11px;
  background: rgba(0,0,0,.28); color: var(--acc-text, #f6f1ff);
  font-size: 14px; font-family: inherit;
}
.kt-co-box .input-text:focus { outline: 0; border-color: rgba(184,156,255,.6); }
.kt-co-box .input-text[readonly] { background: rgba(0,0,0,.16); color: rgba(246,241,255,.62); }
.kt-co-hint { display: block; margin-top: 5px; font-size: 11.5px; color: rgba(246,241,255,.44); }
.kt-co-edit {
  padding: 0; border: 0; background: none; cursor: pointer;
  color: #B89CFF; font-size: 11.5px; font-family: inherit; text-decoration: underline;
}
.kt-co-rules { margin: 4px 0 14px; padding-left: 20px; }
.kt-co-rules li { margin: 0 0 4px; font-size: 11.5px; line-height: 1.7; color: rgba(246,241,255,.5); }
.kt-co-note { margin: 0; font-size: 11.5px; color: rgba(246,241,255,.44); }

@media (min-width: 720px) {
  .kt-co-box .form-row-first, .kt-co-box .form-row-last { float: left; width: 48.5%; }
  .kt-co-box .form-row-last { float: right; }
  .kt-co-box .kt-co-rules { clear: both; }
}


/* ============================================================
   WooCommerce 結帳頁（區塊版）：套上網站的深色設計
   WooCommerce 8.3 之後結帳改為區塊，主題原本完全沒有對應樣式
   ============================================================ */

.wc-block-checkout,
.wp-block-woocommerce-checkout {
  --acc-line: rgba(255,255,255,.1);
  --acc-soft: rgba(255,255,255,.03);
  --acc-text: #f6f1ff;
  width: min(1180px, calc(100vw - 40px));
  margin: 0 auto;
  padding: 120px 0 90px;
  color: var(--acc-text);
}
.wc-block-checkout__form { min-width: 0; }

/* 區塊標題 */
.wc-block-components-title,
.wc-block-checkout__form h2,
.wp-block-woocommerce-checkout-order-summary-block h2 {
  color: var(--acc-text) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
}
.wc-block-components-checkout-step__heading { margin-bottom: 14px !important; }
.wc-block-components-checkout-step__description,
.wc-block-components-checkout-step__title-description {
  color: rgba(246,241,255,.56) !important;
  font-size: 13px !important;
}

/* 每一個步驟做成卡片 */
.wc-block-components-checkout-step {
  padding: 24px 26px !important;
  margin: 0 0 14px !important;
  border: 1px solid var(--acc-line) !important;
  border-radius: 18px;
  background: var(--acc-soft);
}
.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container::before,
.wc-block-components-checkout-step__container::after { display: none !important; }

/* 輸入框 */
.wc-block-components-text-input input.components-form-token-field__input,
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=number],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=password],
.wc-block-components-textarea,
.wc-blocks-components-select__select {
  /* 上方留給固定式標籤，placeholder 才不會與標籤疊在同一行 */
  padding: 24px 15px 9px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 11px !important;
  background: rgba(0,0,0,.3) !important;
  color: var(--acc-text) !important;
  font-size: 14.5px !important;
  box-shadow: none !important;
  line-height: 1.6 !important;
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus {
  outline: 0 !important;
  border-color: rgba(184,156,255,.65) !important;
  box-shadow: 0 0 0 1px rgba(184,156,255,.35) !important;
}
/* 浮動標籤原本疊在輸入值上 */
.wc-block-components-text-input label,
.wc-blocks-components-select__label {
  color: rgba(246,241,255,.5) !important;
  font-size: 13px !important;
}
.wc-block-components-text-input.is-active label { color: rgba(246,241,255,.6) !important; }
.wc-blocks-components-select__container { border: 0 !important; background: none !important; }
.wc-blocks-components-select__expand { fill: rgba(246,241,255,.5) !important; right: 14px !important; }

/* 國別選單的旗標圖示原本會溢出到欄位外 */
.wc-block-components-country-input,
.wc-block-components-state-input { position: relative; }
.wc-block-components-combobox-control__suggestions-container,
.wc-block-components-form .wc-block-components-combobox { min-width: 0; }
.wc-block-components-combobox-control input { background: transparent !important; }
.components-form-token-field__suggestions-list,
.wc-block-components-combobox-control__suggestions-container ul {
  background: #12121f !important;
  border: 1px solid var(--acc-line) !important;
  border-radius: 12px !important;
  overflow: hidden;
  z-index: 30;
}
.components-form-token-field__suggestion { color: rgba(246,241,255,.8) !important; font-size: 14px !important; }
.components-form-token-field__suggestion.is-selected,
.components-form-token-field__suggestion:hover { background: rgba(184,156,255,.16) !important; }

/* 核取方塊與說明文字 */
.wc-block-components-checkbox__label,
.wc-block-components-checkbox__input + .wc-block-components-checkbox__label {
  color: rgba(246,241,255,.72) !important;
  font-size: 13.5px !important;
}
.wc-block-components-checkbox__input {
  width: 18px !important; height: 18px !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 5px !important;
  background: rgba(0,0,0,.3) !important;
}
.wc-block-components-checkbox__input:checked { background: #7C3CFF !important; border-color: #7C3CFF !important; }
.wc-block-components-address-form__address_2-toggle,
.wc-block-components-link { color: #B89CFF !important; }

/* 付款方式 */
.wc-block-components-radio-control__option {
  padding: 16px 18px 16px 46px !important;
  border: 1px solid var(--acc-line) !important;
  border-radius: 14px !important;
  background: var(--acc-soft) !important;
  margin: 0 0 8px !important;
}
.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control__option:has(input:checked) {
  border-color: rgba(184,156,255,.55) !important;
  background: rgba(184,156,255,.09) !important;
}
.wc-block-components-radio-control__label { color: var(--acc-text) !important; font-weight: 700; }
.wc-block-components-radio-control__description,
.wc-block-components-radio-control-accordion-content {
  color: rgba(246,241,255,.6) !important;
  font-size: 13px !important;
  line-height: 1.85;
}
.wc-block-components-radio-control__input { left: 18px !important; }

/* 訂單摘要 */
.wp-block-woocommerce-checkout-totals-block {
  padding: 24px 26px;
  border: 1px solid var(--acc-line);
  border-radius: 20px;
  background: rgba(255,255,255,.022);
}
.wc-block-components-order-summary__content,
.wc-block-components-totals-wrapper {
  border-color: var(--acc-line) !important;
}
.wc-block-components-order-summary-item__description,
.wc-block-components-product-name,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
  color: var(--acc-text) !important;
}
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description,
.wc-block-components-order-summary-item__individual-prices {
  color: rgba(246,241,255,.56) !important;
  font-size: 12.5px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 19px !important;
  font-weight: 900 !important;
}
.wc-block-components-product-badge,
.wc-block-components-sale-badge {
  border-color: rgba(255,47,146,.5) !important;
  background: rgba(255,47,146,.14) !important;
  color: #FF7FBC !important;
}
.wc-block-components-order-summary-item__image img {
  border-radius: 10px;
  border: 1px solid var(--acc-line);
  background: rgba(255,255,255,.04);
}
.wc-block-components-panel__button {
  color: var(--acc-text) !important;
  font-size: 14px !important;
  font-weight: 700;
}
.wc-block-components-panel__button svg { fill: rgba(246,241,255,.6); }

/* 下單按鈕 */
.wc-block-components-checkout-place-order-button {
  width: 100%;
  padding: 16px 24px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: linear-gradient(96deg, #7C3CFF, #FF2F92) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  transition: filter .18s ease, transform .18s ease;
}
.wc-block-components-checkout-place-order-button:hover:not(:disabled) {
  filter: brightness(1.12);
  transform: translateY(-1px);
}
.wc-block-checkout__terms { color: rgba(246,241,255,.56) !important; font-size: 12.5px !important; }

/* 錯誤與提示 */
.wc-block-components-validation-error { color: #FF7A8A !important; font-size: 12.5px !important; }
.wc-block-components-notice-banner {
  border-radius: 13px !important;
  background: rgba(184,156,255,.1) !important;
  border-color: rgba(184,156,255,.34) !important;
  color: var(--acc-text) !important;
}
.wc-block-components-notice-banner.is-error {
  background: rgba(255,107,127,.1) !important;
  border-color: rgba(255,107,127,.4) !important;
}
.wc-block-components-spinner::before { border-top-color: #B89CFF !important; }

@media (max-width: 1024px) {
  .wc-block-checkout, .wp-block-woocommerce-checkout { padding-top: 100px; }
  .wc-block-components-checkout-step { padding: 20px 18px !important; }
  .wp-block-woocommerce-checkout-totals-block { padding: 20px 18px; }
}


/* ---- 結帳頁修正 ---- */

/* 國別／地區選單：標籤與選中的值原本疊在一起 */
.wc-blocks-components-select { position: relative; }
.wc-blocks-components-select__container {
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 11px !important;
  background: rgba(0,0,0,.3) !important;
  height: auto !important;
}
.wc-blocks-components-select__label {
  position: absolute !important;
  top: 7px !important; left: 15px !important;
  transform: none !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  color: rgba(246,241,255,.46) !important;
  pointer-events: none;
  z-index: 2;
}
.wc-blocks-components-select__select {
  padding: 24px 40px 9px 15px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  line-height: 1.5 !important;
  height: auto !important;
  appearance: none;
}
.wc-blocks-components-select__expand { top: 26px !important; }

/* 縣市欄位若也是下拉，套同一組規則 */
.wc-block-components-state-input .wc-blocks-components-select__label,
.wc-block-components-country-input .wc-blocks-components-select__label { top: 7px !important; }

/* 訂單摘要：外層已經是卡片，內層不要再一層框 */
.wp-block-woocommerce-checkout-totals-block > .wc-block-components-totals-wrapper:first-child,
.wp-block-woocommerce-checkout-order-summary-block {
  border: 0 !important;
  padding: 0 !important;
  background: none !important;
}
.wp-block-woocommerce-checkout-order-summary-block { margin: 0 !important; }

/* 商品名稱與價格擠在一行 */
.wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 16px 0 !important;
}
.wc-block-components-order-summary-item__image {
  grid-column: 1;
  width: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.wc-block-components-order-summary-item__description {
  grid-column: 2;
  padding: 0 !important;
  min-width: 0;
}
.wc-block-components-order-summary-item__total-price {
  grid-column: 3;
  padding: 0 !important;
  white-space: nowrap;
  font-weight: 800;
}
.wc-block-components-order-summary-item__quantity { display: none; }
.wc-block-components-product-name {
  display: block;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 700;
  margin-bottom: 6px;
}
/* 單價與商品名稱重複，只留總價 */
.wc-block-components-order-summary-item__individual-prices { display: none !important; }
.wc-block-components-product-metadata { margin: 0 !important; }
.wc-block-components-product-metadata__description p { margin: 0 !important; }

/* 折扣標籤與原價 */
.wc-block-components-sale-badge { margin-top: 6px; display: inline-block; }
.wc-block-components-order-summary-item__description del { opacity: .55; }

/* 摘要各列的分隔線 */
.wc-block-components-totals-wrapper { padding: 14px 0 !important; }
.wc-block-components-totals-wrapper:first-child { padding-top: 0 !important; }
.wc-block-components-totals-footer-item { padding-top: 16px !important; }

/* 優惠券列的高度與其他列一致 */
.wc-block-components-panel__button { padding: 4px 0 !important; }

/* 標籤一律固定在欄位上方，輸入區永遠留出空間．
   原本讓標籤在未輸入時置中（浮動標籤），但這些欄位同時有 placeholder，
   兩者會疊在同一行 —— 標籤固定在上方就不會撞． */
.wc-block-components-text-input { position: relative; }
.wc-block-components-text-input label {
  position: absolute !important;
  top: 7px !important;
  left: 15px !important;
  transform: none !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  color: rgba(246,241,255,.46) !important;
  pointer-events: none;
  z-index: 2;
}
.wc-block-components-text-input input::placeholder { color: rgba(246,241,255,.3) !important; }


/* ---- 訂單摘要：商品名稱換行位置 ---- */
.wc-block-components-order-summary-item {
  grid-template-columns: 52px minmax(0, 1fr);
  row-gap: 8px;
}
.wc-block-components-order-summary-item__description { grid-column: 2; }
/* 價格移到第二列，名稱就有整行寬度可用 */
.wc-block-components-order-summary-item__total-price {
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
  font-size: 15px !important;
}
.wc-block-components-product-name {
  font-size: 14px !important;
  line-height: 1.7 !important;
  word-break: normal;
  overflow-wrap: break-word;
}
.wc-block-components-product-metadata {
  font-size: 12px !important;
  line-height: 1.7 !important;
}

/* 台灣地址：隱藏鄉鎮市欄位後，剩下的欄位排整齊 */
.wc-block-components-address-form .wc-block-components-address-form__city:has(input[hidden]),
.wc-block-components-address-form__city[hidden] { display: none !important; }


/* ---- 訂單摘要：商品名稱與價格分行 ---- */
.wc-block-components-order-summary-item {
  grid-template-columns: 56px minmax(0, 1fr) !important;
  row-gap: 6px !important;
  align-items: start;
}
.wc-block-components-order-summary-item__image { grid-column: 1; grid-row: 1 / span 3; }
.wc-block-components-order-summary-item__description { grid-column: 2; grid-row: 1; }
.wc-block-components-order-summary-item__total-price {
  grid-column: 2 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}
/* 折扣標籤自己一行，不再擠在價格旁邊 */
.wc-block-components-order-summary-item__description .wc-block-components-product-badge,
.wc-block-components-sale-badge {
  grid-column: 2;
  justify-self: start;
  margin: 4px 0 0 !important;
}
.wc-block-components-product-name {
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  margin-bottom: 5px !important;
}
.wc-block-components-product-metadata { font-size: 12px !important; line-height: 1.7 !important; }
.wc-block-components-product-metadata__description { overflow: visible !important; }

/* 摘要各列間距一致，優惠券與小計之間原本有一大塊空白 */
.wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wp-block-woocommerce-checkout-order-summary-subtotal-item-block,
.wp-block-woocommerce-checkout-order-summary-fee-item-block,
.wp-block-woocommerce-checkout-order-summary-discount-item-block,
.wp-block-woocommerce-checkout-order-summary-shipping-block,
.wp-block-woocommerce-checkout-order-summary-taxes-block { margin: 0 !important; }
.wc-block-components-totals-wrapper:empty { display: none !important; }


/* ---- 區塊版結帳的 KurTech Drive 欄位 ---- */
.wc-block-checkout__additional-fields .wc-block-components-text-input:has(#additional-fields-kurtech-drive-account),
.wc-block-checkout__additional-fields .wc-block-components-text-input:has(#additional-fields-kurtech-drive-password) {
  margin-bottom: 12px;
}
#additional-fields-kurtech-drive-account,
#additional-fields-kurtech-drive-password { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.wp-block-woocommerce-checkout-additional-information-block .wc-block-components-checkout-step__description::after {
  content: '這組帳號密碼是登入雲端硬碟用的，與網站登入無關。付款完成後系統會立即開通並寄出登入資訊。我們不會保存您的密碼。';
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  line-height: 1.8;
  color: rgba(246,241,255,.5);
}




/* 附加資訊區塊：加上說明 */
.wp-block-woocommerce-checkout-additional-information-block .wc-block-components-checkout-step__heading + .wc-block-components-checkout-step__description,
.wp-block-woocommerce-checkout-additional-information-block .wc-block-components-checkout-step__description {
  margin-bottom: 16px !important;
}

/* 必填星號 */
.wc-block-components-text-input label .required,
.wc-block-components-text-input.is-required label::after {
  content: ' *';
  color: #FF7A8A;
}


/* ---- 收掉多餘留白 ---- */
/* 頁面上方的空白：WooCommerce 自己有一段 margin，加上我們的 padding 就過大 */
.wc-block-checkout, .wp-block-woocommerce-checkout { padding-top: 96px !important; }
.wc-block-checkout > *:first-child, .wp-block-woocommerce-checkout > *:first-child { margin-top: 0 !important; }
.woocommerce-notices-wrapper:empty { display: none !important; }

/* 摘要卡片內部：優惠券與小計之間原本有一大塊空 */
.wp-block-woocommerce-checkout-totals-block { padding: 22px 24px !important; }
.wc-block-components-totals-wrapper { padding: 12px 0 !important; }
.wc-block-components-totals-wrapper:first-child { padding-top: 0 !important; }
.wc-block-components-totals-wrapper:last-child { padding-bottom: 0 !important; }
.wc-block-components-totals-footer-item { margin-top: 4px !important; }

/* 步驟卡片之間的間距 */
.wc-block-components-checkout-step { margin-bottom: 12px !important; }
.wc-block-checkout__form > *:last-child { margin-bottom: 0 !important; }

/* 條款那一行原本與按鈕分置兩端 */
.wc-block-checkout__actions { display: flex !important; }

@media (max-width: 1023px) {
  .wc-block-checkout, .wp-block-woocommerce-checkout { padding-top: 88px !important; }
}


/* ---- 版面：沿用 WooCommerce 原生的左表單／右摘要，只調間距 ---- */
.wc-block-checkout__main { gap: 36px; }
.wc-block-checkout__sidebar { min-width: 0; }

/* 下單按鈕由 JS 搬進右欄摘要下方 */
.kt-co-actions-moved {
  margin: 14px 0 0 !important;
  padding: 0 !important;
}
.kt-co-actions-moved .wc-block-checkout__actions {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
.kt-co-actions-moved .wc-block-checkout__actions_row { width: 100%; margin: 0; }
.kt-co-actions-moved .wc-block-components-checkout-place-order-button { width: 100%; }
.kt-co-actions-moved .wc-block-checkout__terms {
  margin: 0 !important;
  text-align: center;
  font-size: 12px !important;
  line-height: 1.8;
}

/* KurTech Drive 欄位的規則提示 */
.kt-co-rules-box {
  margin: 4px 0 0;
  padding: 12px 14px;
  border-radius: 11px;
  border: 1px solid rgba(184,156,255,.24);
  background: rgba(184,156,255,.06);
}
.kt-co-rules-box b {
  display: block;
  margin-bottom: 6px;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .06em;
  color: #B89CFF;
}
.kt-co-rules-box ul { margin: 0; padding-left: 18px; }
.kt-co-rules-box li {
  margin: 0 0 3px;
  font-size: 11.5px;
  line-height: 1.7;
  color: rgba(246,241,255,.6);
}
.kt-co-rules-box p {
  margin: 8px 0 0;
  font-size: 11.5px;
  line-height: 1.7;
  color: rgba(246,241,255,.44);
}
.kt-co-locked-note {
  display: block;
  margin-top: 5px;
  font-size: 11.5px;
  color: rgba(246,241,255,.44);
}
.kt-co-locked-note button {
  padding: 0; border: 0; background: none; cursor: pointer;
  color: #B89CFF; font-size: 11.5px; font-family: inherit; text-decoration: underline;
}


/* ---- 付款選項搬到右欄後的樣式 ---- */
.kt-co-pay-moved {
  margin: 0 0 12px !important;
  padding: 22px 24px !important;
  border: 1px solid var(--acc-line);
  border-radius: 20px;
  background: rgba(255,255,255,.022);
}
.kt-co-pay-moved .wc-block-components-checkout-step {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
}

/* 建議的帳號已被使用時的提示 */
.kt-co-busy { line-height: 1.9; }
.kt-co-busy b { display: inline-block; margin-bottom: 2px; color: #FFC44A; }

/* ---- 鎖定欄位：與可編輯欄位明顯區分 ---- */
.kt-co-locked input,
.wc-block-components-text-input input[readonly] {
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.08) !important;
  color: rgba(246,241,255,.7) !important;
  cursor: default;
}
.kt-co-locked label { color: rgba(246,241,255,.34) !important; }
.kt-co-locked::after {
  content: '';
  position: absolute;
  right: 15px;
  top: 50%;
  width: 11px;
  height: 9px;
  margin-top: -2px;
  border: 1.5px solid rgba(246,241,255,.34);
  border-radius: 2px;
  pointer-events: none;
}
.kt-co-locked::before {
  content: '';
  position: absolute;
  right: 18px;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -8px;
  border: 1.5px solid rgba(246,241,255,.34);
  border-bottom: 0;
  border-radius: 3px 3px 0 0;
  pointer-events: none;
}
.kt-co-locked.kt-co-haspw::after,
.kt-co-locked.kt-co-haspw::before { display: none; }

/* ---- 密碼顯示切換 ---- */
.kt-co-haspw input { padding-right: 48px !important; }
.kt-co-eye {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kt-co-eye:hover { background: rgba(255,255,255,.06); }
.kt-co-eye::before {
  content: '';
  width: 17px;
  height: 11px;
  border: 1.6px solid rgba(246,241,255,.5);
  border-radius: 11px 11px 11px 11px / 11px 11px 11px 11px;
}
.kt-co-eye::after {
  content: '';
  position: absolute;
  width: 5px;
  height: 5px;
  border: 1.6px solid rgba(246,241,255,.5);
  border-radius: 999px;
}
.kt-co-eye.is-on::before,
.kt-co-eye.is-on::after { border-color: #B89CFF; }
.kt-co-eye.is-on::after {
  width: 17px;
  height: 0;
  border: 0;
  border-top: 1.6px solid #B89CFF;
  transform: rotate(-30deg);
  border-radius: 0;
}

/* ---- 密碼規則即時上色 ---- */
.kt-co-step-desc { margin: 4px 0 0; font-size: 13px; line-height: 1.85;
  color: rgba(246,241,255,.6); text-wrap: normal; }
.kt-co-req { color: #FF7A8A; font-weight: 700; }
.kt-co-rules-box li.is-ok { color: #3DFFB5; }
.kt-co-rules-box li.is-bad { color: #FF7A8A; }
.kt-co-rules-box li.is-ok::marker { color: #3DFFB5; }
.kt-co-rules-box li.is-bad::marker { color: #FF7A8A; }

/* ---- 電話提示 ---- */
.kt-co-phone-msg {
  display: block;
  margin-top: 5px;
  font-size: 11.5px;
  line-height: 1.7;
  color: rgba(246,241,255,.44);
}
.kt-co-phone-msg.is-bad { color: #FF7A8A; }
.kt-co-phone-msg.is-ok { color: #3DFFB5; }

/* ---- 帳號即時檢查訊息 ---- */
.kt-co-acct-msg {
  display: block;
  margin-top: 5px;
  font-size: 11.5px;
  line-height: 1.7;
}
.kt-co-acct-msg.is-bad { color: #FF7A8A; }
.kt-co-acct-msg.is-ok { color: #3DFFB5; }
.kt-co-acct-rules { margin-top: -4px; }

.kt-co-rules-box p { text-wrap: normal; }


/* ---- 已有帳號：容量累加說明 ---- */
.kt-co-addinfo {
  margin: 12px 0 0;
  padding: 20px 22px;
  border-radius: 18px;
  border: 1px solid rgba(61,255,181,.28);
  background: rgba(61,255,181,.05);
}
.kt-co-addinfo > b {
  display: block;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 800;
  color: #3DFFB5;
}
.kt-co-ai-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  font-size: 13px;
  color: rgba(246,241,255,.66);
}
.kt-co-ai-row em {
  font-style: normal;
  font-weight: 700;
  color: var(--acc-text);
  white-space: nowrap;
}
.kt-co-ai-row.is-total {
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.1);
  font-size: 14px;
}
.kt-co-ai-row.is-total em { font-size: 16px; font-weight: 900; color: #3DFFB5; }
/* 明細列：字級與顏色都降一階，讓合計與付款後容量突出 */
.kt-co-ai-row.is-sub { padding: 4px 0; font-size: 12.5px; color: rgba(246,241,255,.52); }
.kt-co-ai-row.is-sub em { font-weight: 600; color: rgba(246,241,255,.72); }
.kt-co-addinfo p {
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.8;
  color: rgba(246,241,255,.56);
  text-wrap: normal;
}
.kt-co-addinfo p b { color: rgba(246,241,255,.82); }


/* ---- 結帳頁上方留白 ---- */
.wc-block-checkout,
.wp-block-woocommerce-checkout { padding-top: 40px !important; }
@media (max-width: 1023px) {
  .wc-block-checkout,
  .wp-block-woocommerce-checkout { padding-top: 32px !important; }
}

/* ---- 提示文字與輸入框的距離 ---- */
.kt-co-lockhint,
.kt-co-locked-note,
.kt-co-phone-msg,
.kt-co-acct-msg { display: block; margin-top: 8px !important; }

/* ---- 條款文字排在下單按鈕下方 ---- */
.wp-block-woocommerce-checkout-actions-block { display: flex !important; flex-direction: column !important; }
.wc-block-checkout__actions_row { order: 1 !important; }
.wc-block-checkout__terms { order: 2 !important; margin-top: 12px !important; }
.wc-block-checkout__terms a { color: #B89CFF !important; text-decoration: underline; }

/* ---- 錯誤提示不要滿版 ---- */
.wc-block-components-notice-banner {
  width: min(1220px, calc(100vw - 40px)) !important;
  margin: 18px auto 0 !important;
  box-sizing: border-box !important;
  border-radius: 16px !important;
}


/* ---- 傳統（shortcode）結帳頁：與區塊版一起支援 ---- */
/* 原始碼顯示站上載入 wc-checkout-js 與 wc-address-i18n，這是傳統結帳的腳本，
   先前的樣式只寫了區塊版的 class，所以完全沒有命中 */
.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 32px;
  align-items: start;
}
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { grid-column: 2; }

.woocommerce-checkout #customer_details > div,
.woocommerce-checkout #order_review {
  padding: 24px 26px;
  border: 1px solid var(--acc-line, rgba(255,255,255,.1));
  border-radius: 22px;
  background: rgba(255,255,255,.022);
}
.woocommerce-checkout #order_review_heading { margin: 0 0 12px; font-size: 17px; font-weight: 800; }

.woocommerce-checkout .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce-checkout label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700;
  color: rgba(246,241,255,.72); }
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout .select2-selection {
  width: 100%; padding: 11px 14px; box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.13); border-radius: 11px;
  background: rgba(0,0,0,.28); color: var(--acc-text, #f6f1ff);
  font-size: 14px; font-family: inherit;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus { outline: 0; border-color: rgba(184,156,255,.6); }

.woocommerce-checkout #payment {
  margin-top: 16px; padding: 18px 20px;
  border: 1px solid var(--acc-line, rgba(255,255,255,.1)); border-radius: 18px;
  background: rgba(255,255,255,.02);
}
.woocommerce-checkout #payment ul.payment_methods { margin: 0; padding: 0; list-style: none; border: 0; }
.woocommerce-checkout #payment li.wc_payment_method {
  margin: 0 0 8px; padding: 12px 14px;
  border: 1px solid var(--acc-line, rgba(255,255,255,.1)); border-radius: 12px;
  background: rgba(0,0,0,.24);
}
.woocommerce-checkout #payment li.wc_payment_method label { display: inline; margin: 0 0 0 8px; font-size: 14px; }
.woocommerce-checkout #payment .payment_box {
  margin: 10px 0 0; padding: 12px 14px; border-radius: 10px;
  background: rgba(0,0,0,.28); font-size: 12.5px; line-height: 1.8;
  color: rgba(246,241,255,.6);
}
.woocommerce-checkout #payment .payment_box::before { display: none; }
.woocommerce-checkout #place_order {
  width: 100%; margin-top: 14px; padding: 15px 24px;
  border: 0; border-radius: 12px; cursor: pointer;
  background: linear-gradient(96deg, #7C3CFF, #FF2F92);
  color: #fff; font-size: 15.5px; font-weight: 800;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  order: 2; margin-top: 12px; font-size: 12.5px; line-height: 1.85;
  color: rgba(246,241,255,.55);
}
.woocommerce-checkout #payment { display: flex; flex-direction: column; }
.woocommerce-checkout #payment ul.payment_methods { order: 0; }
.woocommerce-checkout #payment .place-order { order: 1; display: flex; flex-direction: column; }
.woocommerce-checkout #payment .place-order #place_order { order: 1; }
.woocommerce-checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper { order: 2; }

@media (max-width: 1023px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review { grid-column: 1; }
}


/* ---- 訂單摘要：商品描述與數量圓圈 ---- */
/* 描述被截斷成「雙人以上家庭、小…」，容量與方案類型應各自成行 */
.wc-block-components-product-details,
.wc-block-components-product-metadata__description,
.wc-block-components-product-metadata {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.85 !important;
  color: rgba(246,241,255,.55) !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  max-height: none !important;
}
.wc-block-components-product-details__name,
.wc-block-components-product-details__value { display: inline !important; }
.wc-block-components-product-details li,
.wc-block-components-product-details__item {
  display: block !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
}
/* 描述是單一段文字時，用 flex 換行取代單行截斷 */
.wc-block-components-product-metadata__description p {
  margin: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
}

/* 數量圓圈：白底要搭深字 */
.wc-block-components-order-summary-item__quantity {
  background: #fff !important;
  border-color: #fff !important;
  color: #0b0d1c !important;
  font-weight: 800 !important;
}


/* 描述截斷是 -webkit-box 多行裁切，必須同時解除 display 與 box-orient，
   只改 line-clamp 沒有效果 */
.wc-block-components-product-metadata__description,
.wc-block-components-product-metadata__description *,
.wc-block-components-product-details,
.wc-block-components-product-details * {
  display: block !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: initial !important;
  line-clamp: initial !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  max-height: none !important;
  height: auto !important;
}
.wc-block-components-product-metadata__description strong,
.wc-block-components-product-metadata__description b,
.wc-block-components-product-metadata__description span,
.wc-block-components-product-metadata__description a { display: inline !important; }

/* 條款搬到下單按鈕之後 */
.kt-co-terms-moved {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  text-align: center;
  font-size: 12.5px !important;
  line-height: 1.85 !important;
  color: rgba(246,241,255,.55) !important;
}
.kt-co-terms-moved a { color: #B89CFF !important; text-decoration: underline; }


/* ---- 右欄外層不要卡片外觀，三塊各自獨立 ---- */
.wc-block-checkout__sidebar {
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* 摘要自己一張卡（含總計） */
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout__sidebar > .wc-block-components-totals-wrapper:first-of-type {
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
.wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block {
  padding: 24px 26px !important;
  border: 1px solid var(--acc-line, rgba(255,255,255,.1)) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.022) !important;
}

/* ---- 數量圓圈：白底深字（class 名稱在不同版本不同，一併涵蓋） ---- */
.wc-block-components-order-summary-item__quantity,
.wc-block-components-order-summary-item__image .wc-block-components-order-summary-item__quantity,
.wc-block-components-order-summary-item__image > span,
.wc-block-components-order-summary-item__image [class*="quantity"] {
  background: #fff !important;
  border: 1px solid #fff !important;
  color: #0b0d1c !important;
  font-weight: 800 !important;
  font-size: 11.5px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* 數量圓圈的數字在內層 span 裡，顏色要下在 span 上才會生效 */
.wc-block-components-order-summary-item__quantity,
.wc-block-components-order-summary-item__quantity span,
.wc-block-components-order-summary-item__quantity span[aria-hidden] {
  color: #0b0d1c !important;
  -webkit-text-fill-color: #0b0d1c !important;
}
.wc-block-components-order-summary-item__quantity {
  background: #fff !important;
  border: 1px solid #fff !important;
  font-weight: 800 !important;
}


/* ---- 下拉選單展開後的選項 ----
   option 由瀏覽器原生繪製，會繼承 select 的淺色文字但背景是系統白底，
   因此必須單獨指定深底淺字，否則選項幾乎看不見 */
.woocommerce-checkout select option,
.wc-block-components-form select option,
.wc-block-components-country-input select option,
.wc-block-components-state-input select option,
.kt-co-box select option,
.kt-acc-form select option,
.kt-inv-grid select option,
.kt-sel option {
  background: #14152a;
  color: #f6f1ff;
}
.woocommerce-checkout select option:checked,
.wc-block-components-form select option:checked,
.kt-co-box select option:checked,
.kt-sel option:checked {
  background: #7C3CFF;
  color: #fff;
}
/* 停用或分隔用的選項 */
.woocommerce-checkout select option[disabled],
.wc-block-components-form select option[disabled] { color: rgba(246,241,255,.4); }

/* 部分瀏覽器需要在 select 本身宣告配色，原生選單才會跟著深色 */
.woocommerce-checkout select,
.wc-block-components-form select,
.kt-co-box select,
.kt-acc-form select,
.kt-sel { color-scheme: dark; }


/* ==========================================================================
   未登入的會員中心（/my-account/）
   與後台登入頁 assets/login.css 同一套視覺
   ========================================================================== */

/* 整個登入區由主題自己輸出的 .kt-acl-stage 包住，
   背景與置中都下在這一層 —— 先前靠 body 與 WooCommerce 外層都不可靠 */
.kt-acl-stage {
  position: relative;
  isolation: isolate;
  padding: 56px 16px 60px;
  text-align: center;
}
.kt-acl-stage::before {
  content: ""; position: absolute; inset: -20% -10%; z-index: -2; pointer-events: none;
  background:
    radial-gradient(closest-side at 26% 24%, rgba(124,60,255,.34), transparent 70%),
    radial-gradient(closest-side at 76% 74%, rgba(255,47,146,.26), transparent 70%);
}
.kt-acl-stage::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 62px 62px;
  mask-image: radial-gradient(closest-side at 50% 45%, #000 42%, transparent 100%);
  -webkit-mask-image: radial-gradient(closest-side at 50% 45%, #000 42%, transparent 100%);
}

/* 表單容器：固定窄欄並置中，內部所有層級一律撐滿、取消浮動 */
.kt-acl-wrap {
  width: min(430px, 100%);
  margin: 0 auto;
  text-align: left;
}
.kt-acl-wrap #customer_login,
.kt-acl-wrap .col2-set,
.kt-acl-wrap .u-columns,
.kt-acl-wrap .u-column1,
.kt-acl-wrap .u-column2,
.kt-acl-wrap .col-1,
.kt-acl-wrap .col-2,
.kt-acl-wrap > div,
.kt-acl-wrap > div > div {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.kt-acl-wrap .woocommerce-form-login,
.kt-acl-wrap .woocommerce-form-register { width: 100% !important; max-width: none !important; }

/* 說明 */
.kt-acl-head { text-align: center; margin: 0 0 20px; }
.kt-acl-eyebrow {
  display: inline-flex; align-items: center; gap: 7px; margin-bottom: 10px;
  font: 700 10px/1 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: .18em; color: #FF2F92;
}
.kt-acl-eyebrow i {
  width: 7px; height: 7px; border-radius: 999px;
  background: #FF2F92; box-shadow: 0 0 12px #FF2F92;
}
.kt-acl-head h2 {
  margin: 0 0 6px; font-size: 21px; font-weight: 900;
  letter-spacing: -.01em; color: #f6f1ff;
}
.kt-acl-head p {
  margin: 0; font-size: 12.5px; line-height: 1.8;
  color: rgba(246,241,255,.55); text-wrap: normal;
}

/* 表單面板 */
.kt-account-login .woocommerce-form-login,
.kt-account-login .woocommerce-form-register {
  margin: 0;
  padding: 26px 24px 22px;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  background: rgba(255,255,255,.028);
  box-shadow: 0 30px 80px -40px rgba(0,0,0,.9);
}
.kt-account-login #customer_login { display: block; }
.kt-account-login #customer_login > div { width: 100%; float: none; margin: 0; }
.kt-account-login #customer_login h2,
.kt-account-login .woocommerce-form-login h2 {
  margin: 0 0 16px; font-size: 15px; font-weight: 800; color: #f6f1ff;
}
/* 註冊表單另起一段 */
.kt-account-login #customer_login .u-column2 { margin-top: 16px; }

.kt-account-login .woocommerce-form-row { margin: 0 0 14px; padding: 0; }
.kt-account-login .woocommerce-form label,
.kt-account-login .woocommerce-form-row label {
  display: block; margin: 0 0 6px;
  font-size: 11.5px; font-weight: 700; letter-spacing: .04em;
  color: rgba(246,241,255,.82);
}
.kt-account-login .woocommerce-Input,
.kt-account-login .woocommerce-form input[type="text"],
.kt-account-login .woocommerce-form input[type="email"],
.kt-account-login .woocommerce-form input[type="password"] {
  display: block; width: 100%; box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.13); border-radius: 12px;
  background: rgba(0,0,0,.3); color: #f6f1ff;
  font-size: 14.5px; font-family: inherit;
  transition: border-color .25s ease, background .25s ease;
}
.kt-account-login .woocommerce-Input:focus,
.kt-account-login .woocommerce-form input:focus {
  outline: 0;
  border-color: rgba(184,156,255,.75);
  background: rgba(255,255,255,.05);
}
.kt-account-login .woocommerce-Input::placeholder { color: rgba(246,241,255,.3); }

/* WooCommerce 的檢視密碼按鈕 */
.kt-account-login .woocommerce-password-hint,
.kt-account-login .show-password-input { display: none !important; }

/* 保持登入 */
.kt-account-login .woocommerce-form-login__rememberme {
  display: flex !important; align-items: center; gap: 9px;
  margin: 2px 0 20px !important; float: none;
  font-size: 12.5px; font-weight: 400; color: rgba(246,241,255,.62);
}
.kt-account-login .woocommerce-form-login__rememberme input[type="checkbox"] {
  width: 17px; height: 17px; margin: 0; flex: 0 0 auto;
  accent-color: #7C3CFF;
}
.kt-account-login .woocommerce-form-login__rememberme span { font-weight: 400; }

/* 送出按鈕 */
.kt-account-login .woocommerce-form-login .button,
.kt-account-login .woocommerce-form-register .button,
.kt-account-login .woocommerce-Button {
  display: block; width: 100%; float: none;
  margin: 0; padding: 14px 20px;
  border: 0; border-radius: 12px; cursor: pointer;
  background: linear-gradient(96deg, #7C3CFF, #FF2F92);
  color: #fff; font-size: 15px; font-weight: 800; font-family: inherit;
  letter-spacing: .02em;
  box-shadow: 0 18px 44px -22px rgba(255,47,146,.9);
  transition: transform .3s ease, box-shadow .3s ease, filter .3s ease;
}
.kt-account-login .woocommerce-form-login .button:hover,
.kt-account-login .woocommerce-Button:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 52px -20px rgba(255,47,146,1);
  filter: saturate(1.08);
  color: #fff;
}

/* 忘記密碼 */
.kt-account-login .woocommerce-LostPassword {
  margin: 14px 0 0; text-align: center; font-size: 12.5px;
}
.kt-account-login .woocommerce-LostPassword a {
  color: rgba(246,241,255,.58); text-decoration: none;
  white-space: nowrap; transition: color .25s ease;
}
.kt-account-login .woocommerce-LostPassword a:hover { color: #FF2F92; }

/* 社群登入按鈕（Nextend 等外掛） */
.kt-account-login .nsl-container,
.kt-account-login .nsl-container-buttons { margin-top: 16px !important; }
.kt-account-login .nsl-container-block-shadow,
.kt-account-login .nsl-container .nsl-button { border-radius: 12px !important; }

/* 通知與錯誤 */
.kt-account-login .woocommerce-error,
.kt-account-login .woocommerce-message,
.kt-account-login .woocommerce-info {
  margin: 0 0 18px; padding: 12px 15px;
  border: 1px solid rgba(255,255,255,.1);
  border-left: 3px solid #B89CFF;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  box-shadow: none;
  font-size: 12.5px; line-height: 1.75; color: rgba(246,241,255,.8);
  list-style: none;
}
.kt-account-login .woocommerce-error { border-left-color: #FF6B7A; }
.kt-account-login .woocommerce-message { border-left-color: #3DFFB5; }
.kt-account-login .woocommerce-error::before,
.kt-account-login .woocommerce-message::before,
.kt-account-login .woocommerce-info::before { display: none; }
.kt-account-login .woocommerce-error a,
.kt-account-login .woocommerce-message a { color: #B89CFF; }

/* 頁尾 */
.kt-acl-foot {
  margin: 20px 0 0; text-align: center;
  font-size: 11.5px; line-height: 1.9; color: rgba(246,241,255,.34);
}
.kt-acl-foot a {
  display: block; margin-bottom: 6px;
  font-weight: 700; color: rgba(246,241,255,.58); text-decoration: none;
}
.kt-acl-foot a:hover { color: #FF2F92; }
.kt-acl-foot span { display: block; }

@media (max-width: 520px) {
  .kt-account-login .kt-acc,
  .kt-account-login .woocommerce { padding-top: 96px; }
  .kt-acl-logo img { width: 168px; }
  .kt-account-login .woocommerce-form-login,
  .kt-account-login .woocommerce-form-register { padding: 22px 18px 18px; }
}


/* ---- 忘記密碼與重設密碼 ---- */
.kt-acl-wrap .woocommerce-ResetPassword,
.kt-acl-wrap form.lost_reset_password {
  margin: 0;
  padding: 26px 24px 22px;
  box-sizing: border-box;
  width: 100% !important;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  background: rgba(255,255,255,.028);
  box-shadow: 0 30px 80px -40px rgba(0,0,0,.9);
}
.kt-acl-wrap .woocommerce-ResetPassword > p:first-child {
  margin: 0 0 16px;
  font-size: 12.5px; line-height: 1.85;
  color: rgba(246,241,255,.6); text-wrap: normal;
}
.kt-acl-wrap .woocommerce-ResetPassword label,
.kt-acl-wrap form.lost_reset_password label {
  display: block; margin: 0 0 6px;
  font-size: 11.5px; font-weight: 700; letter-spacing: .04em;
  color: rgba(246,241,255,.82);
}
.kt-acl-wrap .woocommerce-ResetPassword input[type="text"],
.kt-acl-wrap .woocommerce-ResetPassword input[type="email"],
.kt-acl-wrap .woocommerce-ResetPassword input[type="password"],
.kt-acl-wrap form.lost_reset_password input[type="text"],
.kt-acl-wrap form.lost_reset_password input[type="password"] {
  display: block; width: 100%; box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.13); border-radius: 12px;
  background: rgba(0,0,0,.3); color: #f6f1ff;
  font-size: 14.5px; font-family: inherit;
  transition: border-color .25s ease, background .25s ease;
}
.kt-acl-wrap .woocommerce-ResetPassword input:focus,
.kt-acl-wrap form.lost_reset_password input:focus {
  outline: 0; border-color: rgba(184,156,255,.75); background: rgba(255,255,255,.05);
}
.kt-acl-wrap .woocommerce-ResetPassword .form-row,
.kt-acl-wrap form.lost_reset_password .form-row { margin: 0 0 14px; padding: 0; }
.kt-acl-wrap .woocommerce-ResetPassword .form-row-first,
.kt-acl-wrap .woocommerce-ResetPassword .form-row-last { width: 100%; float: none; }
.kt-acl-wrap .woocommerce-ResetPassword .clear { display: none; }
.kt-acl-wrap .woocommerce-ResetPassword .button,
.kt-acl-wrap form.lost_reset_password .button {
  display: block; width: 100%; float: none;
  margin: 4px 0 0; padding: 14px 20px;
  border: 0; border-radius: 12px; cursor: pointer;
  background: linear-gradient(96deg, #7C3CFF, #FF2F92);
  color: #fff; font-size: 15px; font-weight: 800; font-family: inherit;
  box-shadow: 0 18px 44px -22px rgba(255,47,146,.9);
  transition: transform .3s ease, box-shadow .3s ease, filter .3s ease;
}
.kt-acl-wrap .woocommerce-ResetPassword .button:hover,
.kt-acl-wrap form.lost_reset_password .button:hover {
  transform: translateY(-1px); filter: saturate(1.08); color: #fff;
  box-shadow: 0 22px 52px -20px rgba(255,47,146,1);
}
/* WordPress 的密碼強度提示 */
.kt-acl-wrap .woocommerce-password-strength {
  margin: 8px 0 0; padding: 8px 12px; border-radius: 10px;
  font-size: 11.5px; text-align: center;
  background: rgba(255,255,255,.05); color: rgba(246,241,255,.7);
}
.kt-acl-wrap .woocommerce-password-strength.strong { color: #3DFFB5; }
.kt-acl-wrap .woocommerce-password-strength.short,
.kt-acl-wrap .woocommerce-password-strength.bad { color: #FF6B7A; }
.kt-acl-wrap .woocommerce-password-hint {
  display: block; margin: 6px 0 0;
  font-size: 11px; line-height: 1.7; color: rgba(246,241,255,.45);
}


/* ---- 只開放社群登入：引導文字與按鈕 ---- */
.kt-acl-social { margin: 0 0 20px; }
.kt-acl-social-lead {
  margin: 0; font-size: 13.5px; line-height: 1.9;
  color: rgba(246,241,255,.62); text-align: center; text-wrap: normal;
}
.kt-acl-social-note {
  margin: 18px 0 0; font-size: 12px; line-height: 1.85;
  color: rgba(246,241,255,.42); text-align: center; text-wrap: normal;
}
/* 社群登入外掛的按鈕：套上本站樣式 */
.kt-acl-wrap .the_champ_login_container,
.kt-acl-wrap .nsl-container { margin: 0 auto !important; text-align: center; }
.kt-acl-wrap .nsl-container-buttons { justify-content: center !important; }
.kt-acl-wrap .nsl-button {
  border-radius: 12px !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.32) !important;
}


/* 社群登入按鈕區 */
.kt-login-social { margin: 4px 0 0; }
.kt-login-social .nsl-container,
.kt-login-social .the_champ_login_container { margin: 0 !important; }
.kt-login-social .nsl-container-buttons { justify-content: stretch !important; }
.kt-login-social .nsl-button { width: 100% !important; border-radius: 12px !important; }
/* 緊急用的密碼登入摺疊區 */
.kt-login-pw { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); }
.kt-login-pw > summary { cursor: pointer; font-size: 12.5px; color: rgba(246,241,255,.45); }

/* 登入卡片說明置中 */
.kt-login-sub{text-align:center !important}


/* ============ WooCommerce 訂單完成頁／檢視訂單頁（獨立頁，不在會員中心容器內） ============ */

/* 黃色螢光 <mark>：WordPress 對 mark 的預設是黃底黑字，改成品牌色 */
.woocommerce mark,
.woocommerce-order mark,
.kt-acc-main mark,
body.woocommerce-order-received mark {
  background: rgba(184,156,255,.22) !important;
  color: #E9DEFF !important;
  padding: 1px 7px; border-radius: 6px; font-weight: 700;
}

/* 訂單明細表格：獨立頁沒有 .kt-acc-main 前綴，補一份同款樣式 */
.woocommerce-order table.woocommerce-table,
.woocommerce-order table.shop_table {
  width: 100%; border-collapse: separate; border-spacing: 0 7px; font-size: 13.5px;
}
.woocommerce-order table.woocommerce-table th,
.woocommerce-order table.shop_table th {
  padding: 0 16px 8px; text-align: left; font-size: 11px; font-weight: 700;
  letter-spacing: .08em; color: rgba(246,241,255,.42); border: 0; background: none;
}
.woocommerce-order table.woocommerce-table td,
.woocommerce-order table.shop_table td,
.woocommerce-order table.shop_table tfoot th {
  padding: 15px 16px; border: 1px solid rgba(255,255,255,.1); border-left: 0; border-right: 0;
  background: rgba(255,255,255,.03); color: #f6f1ff; vertical-align: middle;
}
.woocommerce-order table.shop_table tr td:first-child,
.woocommerce-order table.shop_table tfoot tr th:first-child { border-left: 1px solid rgba(255,255,255,.1); border-radius: 13px 0 0 13px; }
.woocommerce-order table.shop_table tr td:last-child,
.woocommerce-order table.shop_table tfoot tr td:last-child { border-right: 1px solid rgba(255,255,255,.1); border-radius: 0 13px 13px 0; }
.woocommerce-order table.shop_table a { color: #B89CFF; text-decoration: none; }
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title,
.woocommerce-order h2 { font-size: 18px; font-weight: 800; margin: 28px 0 12px; color: #f6f1ff; }
.woocommerce-order .woocommerce-customer-details address {
  font-style: normal; padding: 16px 18px; border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px; background: rgba(255,255,255,.03); line-height: 2; font-size: 13.5px;
}
.woocommerce-order .woocommerce-bacs-bank-details,
.woocommerce-order .wc-bacs-bank-details {
  padding: 4px 0 8px; margin: 0 0 12px; list-style: none;
}
.woocommerce-order ul.order_details {
  display: flex; flex-wrap: wrap; gap: 0; margin: 18px 0 26px; padding: 16px 20px; list-style: none;
  border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.03);
}
.woocommerce-order ul.order_details li {
  flex: 0 0 auto; padding: 0 22px; border-right: 1px solid rgba(255,255,255,.12);
  font-size: 12px; color: rgba(246,241,255,.55); text-transform: none; font-weight: 400; line-height: 1.6;
}
.woocommerce-order ul.order_details li:last-child { border-right: 0; }
.woocommerce-order ul.order_details li strong { display: block; margin-top: 3px; font-size: 15px; color: #f6f1ff; }

/* 國旗 emoji 溢出：訂單完成頁若有殘留的旗標清單，收進正常流內、避免絕對定位溢出 */
.woocommerce-order .wc-block-components-country-flag,
.woocommerce-order [class*="flag"]:not(.button) {
  position: static !important; float: none !important;
}


/* ===== 訂單完成頁：置中限寬（修正全寬） ===== */
body.woocommerce-order-received .woocommerce,
body.woocommerce-checkout.woocommerce-order-received .entry-content .woocommerce,
.woocommerce-order {
  width: min(980px, calc(100vw - 40px)) !important;
  margin: 40px auto 80px !important;
  box-sizing: border-box;
}
body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-size: 22px; font-weight: 800; color: #f6f1ff; margin: 0 0 24px;
}


/* 收單頁「額外資訊」只隱藏標題，欄位內容（KurTech Drive 帳號）保留 */
.woocommerce-order .woocommerce-additional-fields__field-wrapper > h2,
body.woocommerce-order-received .wc-block-order-confirmation-additional-fields > h2,
body.woocommerce-order-received .wc-block-order-confirmation-additional-fields-wrapper > h2 { display: none !important; }

.kt-co-ai-row.is-repeat em { color: #3DFFB5; }


/* 邀請資格獨立一列，方案多也不擠 */
.kt-inv-elig { margin-bottom: 10px; }
.kt-inv-elig small { white-space: normal; line-height: 1.6; }
.kt-inv-top-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 720px) { .kt-inv-top-3 { grid-template-columns: 1fr; } }


/* 會員中心所有下拉選單的選項一律深底淺字（涵蓋工單、申請等表單） */
.kt-acc select,
.kt-acc-main select,
.kt-tk-form select,
.kt-inv-form select,
.kt-stor-form select { color-scheme: dark; }
.kt-acc select option,
.kt-acc-main select option,
.kt-tk-form select option,
.kt-inv-form select option,
.kt-stor-form select option { background: #14152a; color: #f6f1ff; }
.kt-acc select option:checked,
.kt-tk-form select option:checked,
.kt-inv-form select option:checked { background: #7C3CFF; color: #fff; }


/* KurTech Drive 警示狀態（違規疑慮）—— 紅色，與扣款失敗的暫停區分 */
.kt-drv-alert.danger { border-color: rgba(255,90,110,.5); background: rgba(255,90,110,.1); }
.kt-drv-alert.danger b { color: #ff6b7f; }


/* 登入卡片：社群按鈕與管理者提示 */
.kt-login-social .nsl-container { margin: 0 !important; padding: 0 !important; }
.kt-login-social .nsl-container-buttons { display: grid; gap: 10px; }
.kt-login-social .nsl-container-buttons a { border-radius: 12px !important; }
.kt-login-warn {
  margin: 14px 0 0; padding: 12px 14px; border-radius: 12px;
  border: 1px solid rgba(255,196,74,.32); background: rgba(255,196,74,.08);
  font-size: 12.5px; line-height: 1.75; color: #FFC44A;
}
.kt-login-warn span { display: block; margin-top: 6px; font-size: 11px; color: rgba(246,241,255,.42); }
.kt-login-warn ul { margin: 8px 0 0; padding-left: 18px; }
.kt-login-warn li { margin-bottom: 3px; }


/* 登入卡片：Google 按鈕排在說明文字之前 */
.kt-login-social { display: flex; flex-direction: column; }
.kt-login-social .nsl-container { order: 1; margin: 0 0 16px !important; }
.kt-login-social .kt-acl-social { order: 2; margin: 0; }
.kt-login-social .kt-acl-social-lead { margin: 0; }


/* 登入卡片間距收緊 */
.kt-login-card .kt-login-sub { margin: 0 0 18px !important; }
.kt-login-social { margin: 0 !important; }
.kt-login-social .nsl-container { margin: 0 0 14px !important; }
.kt-login-social .nsl-container-buttons { margin: 0 !important; }
.kt-login-social .kt-acl-social { margin: 0 !important; padding: 0 !important; }
.kt-login-social .kt-acl-social-lead { margin: 0 !important; }


/* 外掛把按鈕包在一層自帶 padding:20px 0 的 div 裡，
   所以 flex 的直接子項是那層 div，不是 .nsl-container —— 要對它下規則才有效 */
.kt-login-social > div:not(.kt-acl-social) {
  order: 1;
  padding: 0 !important;
  margin: 0 0 14px !important;
}
.kt-login-social > .kt-acl-social { order: 2; }


/* 邀請分頁頂端的兌換區 */
.kt-rdm-wrap { margin: 0 0 26px; padding: 24px 26px; border-radius: 18px;
  border: 1px solid rgba(184,156,255,.3); background: rgba(184,156,255,.06); }
.kt-rdm-wrap .kt-rdm-lb { display: block; margin-bottom: 14px; font-size: 15px; font-weight: 800; color: #F6F1FF; }
.kt-rdm-wrap .kt-rdm-fields { display: grid; gap: 12px; max-width: 460px; margin-bottom: 12px; }
.kt-rdm-wrap .kt-rdm-f > span { display: block; margin-bottom: 5px; font-size: 12px; font-weight: 700; color: rgba(246,241,255,.62); }
.kt-rdm-wrap .kt-rdm-f input { width: 100%; padding: 11px 14px; box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.14); border-radius: 11px;
  background: rgba(0,0,0,.34); color: #F6F1FF; font-size: 14px; font-family: inherit; }
.kt-rdm-wrap .kt-rdm-f input:focus { outline: 0; border-color: rgba(184,156,255,.6); }
.kt-rdm-wrap .kt-rdm-f input[readonly] { background: rgba(0,0,0,.2); color: rgba(246,241,255,.6); }
.kt-rdm-wrap .kt-rdm-f small { display: block; margin-top: 4px; font-size: 11px; line-height: 1.7; color: rgba(246,241,255,.4); }
.kt-rdm-wrap .kt-rdm-f input.is-bad { border-color: rgba(255,138,165,.7); }
.kt-rdm-wrap .kt-rdm-f input.is-ok { border-color: rgba(61,255,181,.5); }
.kt-rdm-wrap .kt-rdm-msg { display: block; margin-top: 5px; font-size: 11.5px; line-height: 1.7; }
.kt-rdm-wrap .kt-rdm-msg.is-bad { color: #FF8AA5; }
.kt-rdm-wrap .kt-rdm-msg.is-ok { color: #3DFFB5; }
.kt-rdm-wrap .kt-rdm-rules { margin: 0 0 14px; padding: 12px 15px; border-radius: 10px;
  background: rgba(0,0,0,.24); max-width: 460px; }
.kt-rdm-wrap .kt-rdm-rules li { position: relative; list-style: none; padding-left: 20px;
  font-size: 11.5px; line-height: 1.9; color: rgba(246,241,255,.46); }
.kt-rdm-wrap .kt-rdm-rules li::before { content: '○'; position: absolute; left: 2px; top: 0; font-size: 11px; color: rgba(246,241,255,.3); }
.kt-rdm-wrap .kt-rdm-rules li.pass { color: #3DFFB5; }
.kt-rdm-wrap .kt-rdm-rules li.pass::before { content: '✓'; color: #3DFFB5; }
.kt-rdm-wrap .kt-rdm-submit { display: flex; }
.kt-rdm-wrap .kt-acc-btn { flex: 0 0 auto; white-space: nowrap; cursor: pointer;
  padding: 12px 22px; border: 0; border-radius: 12px;
  background: linear-gradient(100deg, #7C3CFF, #FF2F92);
  color: #fff; font-size: 14px; font-weight: 800; font-family: inherit; }
.kt-rdm-wrap .kt-rdm-hint { margin: 10px 0 0; font-size: 12.5px; line-height: 1.8; color: rgba(246,241,255,.55); }
.kt-rdm-wrap .kt-inv-note { margin: 0 0 12px; padding: 10px 13px; border-radius: 10px; font-size: 13px; line-height: 1.7; }
.kt-rdm-wrap .kt-inv-note.ok { background: rgba(61,255,181,.1); color: #3DFFB5; }
.kt-rdm-wrap .kt-inv-note.no { background: rgba(255,107,127,.1); color: #FF8AA5; }


/* 結帳頁：兩次密碼即時比對 */
.kt-co-match { display: block; margin-top: 5px; font-size: 11.5px; line-height: 1.7; }
.kt-co-match.is-ok { color: #3DFFB5; }
.kt-co-match.is-bad { color: #FF8AA5; }
