@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//www.tosahwi.com/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=8.4.0") format("woff2");
}

:root {
	--wd-text-font: "lato-regular", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #FFFFFF;
	--wd-text-font-size: 16px;
	--wd-title-font: "lato-regular", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 600;
	--wd-title-color: rgb(255,255,255);
	--wd-entities-title-font: "cabin-local", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 600;
	--wd-entities-title-color: rgb(255,255,255);
	--wd-entities-title-color-hover: rgb(255, 255, 255);
	--wd-alternative-font: "lato-regular", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "cabin-local", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: rgb(255,255,255);
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "lato-regular", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 700;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(176,138,83);
	--wd-alternative-color: #fbbc34;
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: rgb(176,138,83);
	--btn-accented-bgcolor-hover: rgb(175,111,21);
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: rgb(255,255,255);
	--wd-link-color-hover: rgb(255,255,255);
	--wd-link-decor-color: rgb(255,255,255);
	--wd-link-decor-color-hover: rgb(252,252,252);
	--wd-sticky-btn-height: 95px;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: rgb(0,0,0);
	background-image: none;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 450px;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: rgb(32,32,32);
	background-image: none;
	background-size: cover;
	background-position: center center;
}
html .wd-builder-off .tabs-layout-tabs .wd-nav-tabs > li > a {
	color: rgb(255,255,255);
}
html .page-title .wd-breadcrumbs a, html .page-title .wd-breadcrumbs span, html .page-title .yoast-breadcrumb a, html .page-title .yoast-breadcrumb span, html .page-title .rank-math-breadcrumb a, html .page-title .rank-math-breadcrumb span, html .page-title .aioseo-breadcrumbs a, html .page-title .aioseo-breadcrumbs span {
	color: rgb(255,255,255);
}
.page :is(.wd-page-content, .whb-header) {
	background-color: rgb(15,15,16);
	background-image: none;
}
.woodmart-archive-shop:not(.single-product) :is(.wd-page-content, .whb-header) {
	background-color: rgb(15,15,16);
	background-image: none;
}
.single-product :is(.wd-page-content, .whb-header) {
	background-color: rgb(15,15,16);
	background-image: none;
}
.woodmart-archive-blog :is(.wd-page-content, .whb-header) {
	background-color: rgb(15,15,16);
	background-image: none;
}
.single-post :is(.wd-page-content, .whb-header) {
	background-color: rgb(15,15,16);
	background-image: none;
}
html .btn.wd-buy-now-btn {
	background: rgba(0,0,0,0);
	padding: 2px 2px 2px 2px;
}
body, [class*=color-scheme-light], [class*=color-scheme-dark], .wd-search-form[class*="wd-header-search-form"] form.searchform, .wd-el-search .searchform {
	--wd-form-brd-color: rgb(44,44,44);
	--wd-form-bg: rgb(15,15,16);
}
.product-labels .product-label.new {
	background-color: rgb(44,99,44);
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}

@media (max-width: 1024px) {
	:root {
		--wd-sticky-btn-height: 95px;
	}
	html .btn.wd-buy-now-btn {
		padding: 2px 2px 2px 2px;
	}

}

@media (max-width: 768.98px) {
	:root {
		--wd-sticky-btn-height: 42px;
	}
	html .btn.wd-buy-now-btn {
		padding: 2px 2px 2px 2px;
	}

}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 5px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 0px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-default-box-shadow-active: none;
--btn-default-bottom: 0px;
--btn-accented-brd-radius: 0px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
--btn-accented-box-shadow-active: none;
--btn-accented-bottom: 0px;
--wd-brd-radius: 0px;
}

@media (min-width: 1222px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}


.wd-page-title {
background-color: #0a0a0a;
}

@font-face {
	font-family: "lato-regular";
	src: url("//www.tosahwi.com/wp-content/uploads/2025/04/Lato-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "lato-regular";
	src: url("//www.tosahwi.com/wp-content/uploads/2025/04/Lato-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: "cabin-local";
	src: url("//www.tosahwi.com/wp-content/uploads/2025/04/Cabin-SemiBold.woff2") format("woff2");
	font-weight: 600;
	font-style: normal;
}

/* 修改粘性加购栏的背景颜色 */
.wd-sticky-btn {
    background-color: #000000 !important; /* 强制设为纯黑 */
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important; /* 添加微亮的顶部分割线 */
    box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.5); /* 增加向上的阴影，使其更具悬浮感 */
}

/* 1. 修改最外层 Elementor 容器背景 */
.elementor-element-b092b93 {
    background-color: rgb(15, 15, 16) !important;
}

/* 2. 移除表格自带背景并统一颜色 */
.elementor-element-b47ef14 .shop_table,
.elementor-element-b47ef14 .shop_table tbody tr,
.elementor-element-b47ef14 .shop_table tfoot tr {
    background-color: rgb(15, 15, 16) !important;
}

/* 3. 调整边框颜色，使其在极深色背景下更自然（可选） */
.elementor-element-b47ef14 .shop_table,
.elementor-element-b47ef14 .shop_table td,
.elementor-element-b47ef14 .shop_table th {
    border-color: rgba(255, 255, 255, 0.05) !important;
}

/* 4. 修改免运费进度条底色 */
.elementor-element-3ec9dae .progress-area {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* 改变博客卡片内容区域的背景颜色 */
.wd-post.blog-design-meta-image .wd-post-content {
    background-color: #1a1a1a !important; /* 替换为你想要的深色 */
}

/* 调整文字颜色，确保在深色背景下可见 */
.wd-post.blog-design-meta-image .wd-post-title,
.wd-post.blog-design-meta-image .wd-post-date {
    color: #ffffff !important;
}

/* 如果有边框或阴影，可以根据需要进行微调 */
.wd-post.blog-design-meta-image.wd-add-shadow {
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}


/* WooCommerce variation dropdown */

.variations select {
  background: #0b0b0b !important;
  color: #ffffff !important;

  border: 1px solid rgba(176,138,83,.28) !important;

  min-height: 46px !important;

  padding: 0 14px !important;

  font-size: 14px !important;
  font-weight: 500 !important;

  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;

  box-shadow: none !important;
}

/* dropdown arrow */

.variations td.value {
  position: relative;
}

.variations td.value::after {
  content: "⌄";

  position: absolute;
  right: 14px;
  top: 50%;

  transform: translateY(-50%);

  color: #b08a53;

  pointer-events: none;

  font-size: 14px;
}

/* option */

.variations select option {
  background: #111111 !important;
  color: #ffffff !important;
}

/* hover / focus */

.variations select:hover,
.variations select:focus {
  border-color: #b08a53 !important;
  outline: none !important;
}

/* selected option */

.variations select option:checked {
  background: #b08a53 !important;
  color: #050505 !important;
}


/* =========================================================
   Tosahwi Product CTA - Safe Version
   Works for simple products + variable products
   Does NOT break variation swatches
========================================================= */

/* ---------- Variable product: keep variation selector normal ---------- */

.single-product .summary form.variations_form.cart {
  display: block !important;
  margin-top: 20px !important;
}

/* Variation table / swatches area */
.single-product .summary form.variations_form .variations {
  width: 100% !important;
  margin-bottom: 18px !important;
}

.single-product .summary form.variations_form .variations tr,
.single-product .summary form.variations_form .variations tbody,
.single-product .summary form.variations_form .variations table {
  display: revert !important;
}

.single-product .summary form.variations_form .variations th,
.single-product .summary form.variations_form .variations td {
  padding: 8px 0 !important;
  vertical-align: middle !important;
}

.single-product .summary form.variations_form .label,
.single-product .summary form.variations_form .label label {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

/* Make swatches stay clean */
.single-product .summary form.variations_form .wd-swatches-product,
.single-product .summary form.variations_form .wd-swatches-single,
.single-product .summary form.variations_form .value {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

/* Reset variation link */
.single-product .summary form.variations_form .reset_variations {
  color: rgba(255,255,255,0.55) !important;
  font-size: 12px !important;
  margin-left: 8px !important;
}

/* ---------- Variable product: only style the real CTA row ---------- */

.single-product .summary form.variations_form .woocommerce-variation-add-to-cart {
  display: grid !important;
  grid-template-columns: 88px minmax(170px, 1fr) minmax(150px, 0.9fr);
  gap: 12px !important;
  align-items: stretch !important;
  margin-top: 18px !important;
  margin-bottom: 26px !important;
}

/* ---------- Simple product: style direct cart form ---------- */

.single-product .summary form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: 88px minmax(170px, 1fr) minmax(150px, 0.9fr);
  gap: 12px !important;
  align-items: stretch !important;
  margin-top: 24px !important;
  margin-bottom: 28px !important;
}

/* ---------- Quantity selector ---------- */

.single-product .summary form.cart .quantity {
  width: 88px !important;
  height: 48px !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 28px 32px 28px;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}

.single-product .summary form.cart .quantity .minus,
.single-product .summary form.cart .quantity .plus,
.single-product .summary form.cart .quantity .qty {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-align: center !important;
  box-shadow: none !important;
}

.single-product .summary form.cart .quantity .qty {
  border-left: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.16) !important;
  -moz-appearance: textfield;
}

.single-product .summary form.cart .quantity .qty::-webkit-inner-spin-button,
.single-product .summary form.cart .quantity .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.single-product .summary form.cart .quantity .minus:hover,
.single-product .summary form.cart .quantity .plus:hover {
  background: rgba(201, 154, 83, 0.16) !important;
  color: #c99a53 !important;
}

/* ---------- Add to cart primary button ---------- */

.single-product .summary form.cart .single_add_to_cart_button {
  height: 48px !important;
  min-height: 48px !important;
  width: 100% !important;
  padding: 0 26px !important;
  margin: 0 !important;
  background: #c99a53 !important;
  border: 1px solid #c99a53 !important;
  border-radius: 3px !important;
  color: #0b0b0b !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 48px !important;
  box-shadow: none !important;
  transition: all 0.22s ease !important;
}

.single-product .summary form.cart .single_add_to_cart_button:hover {
  background: #e2b86a !important;
  border-color: #e2b86a !important;
  color: #0b0b0b !important;
  transform: translateY(-1px);
}

/* Disabled state before variation selected */
.single-product .summary form.cart .single_add_to_cart_button.disabled,
.single-product .summary form.cart .single_add_to_cart_button.wc-variation-selection-needed {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* ---------- Buy now secondary button ---------- */

.single-product .summary form.cart .wd-buy-now-btn,
.single-product .summary form.cart .buy-now-button,
.single-product .summary form.cart .button-buy-now {
  height: 48px !important;
  min-height: 48px !important;
  width: 100% !important;
  padding: 0 24px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 3px !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 48px !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.22s ease !important;
}

.single-product .summary form.cart .wd-buy-now-btn:hover,
.single-product .summary form.cart .buy-now-button:hover,
.single-product .summary form.cart .button-buy-now:hover {
  background: rgba(201, 154, 83, 0.1) !important;
  border-color: #c99a53 !important;
  color: #c99a53 !important;
  transform: translateY(-1px);
}

/* ---------- Hide distractions ---------- */

.single-product .summary .compare,
.single-product .summary .wd-compare-btn,
.single-product .summary .wishlist,
.single-product .summary .wd-wishlist-btn,
.single-product .summary .yith-wcwl-add-to-wishlist {
  display: none !important;
}

/* ---------- Express checkout spacing ---------- */

.single-product .summary .ppc-button-wrapper,
.single-product .summary #ppc-button,
.single-product .summary .paypal-buttons,
.single-product .summary .wc-stripe-payment-request-wrapper {
  margin-top: 18px !important;
}

.single-product .summary .ppc-button-wrapper::before,
.single-product .summary #ppc-button::before,
.single-product .summary .wc-stripe-payment-request-wrapper::before {
  content: "Express checkout";
  display: flex;
  align-items: center;
  margin: 0 0 12px;
  color: rgba(255,255,255,0.48);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ---------- Mobile ---------- */

@media (max-width: 767px) {
  .single-product .summary form.cart:not(.variations_form),
  .single-product .summary form.variations_form .woocommerce-variation-add-to-cart {
    grid-template-columns: 88px 1fr !important;
    gap: 10px !important;
    margin-top: 18px !important;
    margin-bottom: 24px !important;
  }

  .single-product .summary form.cart .quantity {
    grid-column: 1 / 2;
    width: 88px !important;
  }

  .single-product .summary form.cart .single_add_to_cart_button {
    grid-column: 2 / 3;
    width: 100% !important;
    padding: 0 18px !important;
  }

  .single-product .summary form.cart .wd-buy-now-btn,
  .single-product .summary form.cart .buy-now-button,
  .single-product .summary form.cart .button-buy-now {
    grid-column: 1 / -1;
    width: 100% !important;
  }

  .single-product .summary form.variations_form .variations th,
  .single-product .summary form.variations_form .variations td {
    display: block !important;
    width: 100% !important;
    padding: 6px 0 !important;
  }

  .single-product .summary form.variations_form .label {
    margin-bottom: 4px !important;
  }
}

/* Tosahwi 博客列表卡片修复 */
.blog .article-body-container,
.archive .article-body-container {
    background: #fff !important;
    color: #555 !important;
    padding: 26px 28px 24px !important;
}

/* 文章标题 */
.blog .wd-post-title,
.blog .wd-post-title a,
.archive .wd-post-title,
.archive .wd-post-title a {
    display: block !important;
    color: #161616 !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
    margin: 6px 0 14px;
}

.blog .wd-post-title a:hover,
.archive .wd-post-title a:hover {
    color: #b18445 !important;
}

/* 发布日期 */
.blog .wd-modified-date,
.blog .wd-modified-date time,
.archive .wd-modified-date,
.archive .wd-modified-date time {
    color: #999 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* 文章摘要 */
.blog .wd-post-excerpt,
.blog .wd-post-excerpt.entry-content,
.archive .wd-post-excerpt,
.archive .wd-post-excerpt.entry-content {
    display: block !important;
    color: #606060 !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 14px;
    line-height: 1.65;
    margin-top: 16px;
    margin-bottom: 22px;
}

/* 作者及元信息 */
.blog .wd-post-meta,
.blog .wd-post-meta a,
.archive .wd-post-meta,
.archive .wd-post-meta a {
    color: #999 !important;
}

/* 减少卡片内部无意义留白 */
.blog .article-body-container,
.archive .article-body-container {
    min-height: 340px;
}

.blog .wd-post-read-more,
.archive .wd-post-read-more {
    margin-top: auto;
}

/* 手机端 */
@media (max-width: 767px) {
    .blog .article-body-container,
    .archive .article-body-container {
        min-height: auto;
        padding: 22px 20px !important;
    }

    .blog .wd-post-title,
    .blog .wd-post-title a,
    .archive .wd-post-title,
    .archive .wd-post-title a {
        font-size: 18px;
    }

    .blog .wd-post-excerpt,
    .archive .wd-post-excerpt {
        font-size: 14px;
    }
}

/* =========================================================
   TOSAHWI — WOODMART CLASSIC CHECKOUT
   Scope excludes the order-received / thank-you page.
   ========================================================= */

body.woocommerce-checkout:not(.woocommerce-order-received) {
  --tsa-ink: #f4f1ea;
  --tsa-muted: #c6c1b8;
  --tsa-gold: #c6a46b;
  --tsa-gold-dark: #a98249;
  --tsa-line: #343330;
  --tsa-paper: #151515;
  --tsa-canvas: #080808;
  --tsa-soft: #1d1d1b;
  --tsa-field: #1b1b1a;
  --tsa-success: #77c996;
  --tsa-error: #ff756b;
  background: var(--tsa-canvas) !important;
  color: var(--tsa-ink) !important;
}

/* Checkout-only chrome: remove navigation and distraction. */
body.woocommerce-checkout:not(.woocommerce-order-received) .whb-header,
body.woocommerce-checkout:not(.woocommerce-order-received) .footer-container,
body.woocommerce-checkout:not(.woocommerce-order-received) footer.footer-container,
body.woocommerce-checkout:not(.woocommerce-order-received) .wd-prefooter,
body.woocommerce-checkout:not(.woocommerce-order-received) .wd-toolbar {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .main-page-wrapper {
  padding-top: 0;
  background: var(--tsa-canvas) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .website-wrapper,
  .main-page-wrapper,
  .site-content,
  main.site-main,
  .elementor-location-single
) {
  background-color: var(--tsa-canvas) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) :is(h1, h2, h3, h4, h5, h6) {
  color: var(--tsa-ink);
}

body.woocommerce-checkout:not(.woocommerce-order-received) a:not(.button) {
  color: var(--tsa-gold);
}

/* ---------- Top content ---------- */
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-checkout-top {
  width: calc(100% - 40px) !important;
  max-width: 1180px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 20px 0 6px;
}

.tsa-checkout-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 15px 20px;
  border: 1px solid var(--tsa-line);
  border-radius: 11px;
  background: #11110f;
}

.tsa-checkout-logo img {
  display: block;
  width: auto;
  max-width: 154px;
  max-height: 48px;
}

.tsa-checkout-meta,
.tsa-back-cart,
.tsa-secure-label {
  display: flex;
  align-items: center;
}

.tsa-checkout-meta {
  gap: 22px;
  color: #d8d3c9;
  font-size: 13px;
  font-weight: 600;
}

.tsa-back-cart,
.tsa-secure-label {
  gap: 7px;
}

.tsa-back-cart {
  color: #fff !important;
  text-decoration: none;
}

.tsa-back-cart:hover {
  color: var(--tsa-gold);
}

.tsa-checkout-meta svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 18px;
}

/* Woodmart checkout steps — supports the common Woodmart class names. */
body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wd-checkout-steps, .checkout-steps) {
  margin: 20px 0 14px;
  color: var(--tsa-muted);
}

body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wd-checkout-steps, .checkout-steps) .active,
body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wd-checkout-steps, .checkout-steps) .step-checkout {
  color: var(--tsa-ink);
}

/* Login and coupon stay secondary. */
body.woocommerce-checkout:not(.woocommerce-order-received) :is(.woocommerce-form-login-toggle, .woocommerce-form-coupon-toggle) {
  margin: 8px 0;
  color: var(--tsa-muted);
  font-size: 13px;
}

/* Keep the collapsed coupon/login prompt readable on the black canvas. */
body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .woocommerce-form-login-toggle,
  .woocommerce-form-coupon-toggle
) .woocommerce-info,
body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .woocommerce-form-login-toggle,
  .woocommerce-form-coupon-toggle
) .woocommerce-info::before {
  border-color: var(--tsa-line) !important;
  background: transparent !important;
  color: var(--tsa-ink) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .woocommerce-form-login-toggle,
  .woocommerce-form-coupon-toggle
) :is(.showlogin, .showcoupon) {
  color: var(--tsa-gold) !important;
  font-weight: 650;
}

body.woocommerce-checkout:not(.woocommerce-order-received) :is(.woocommerce-form-login, .woocommerce-form-coupon) {
  margin: 10px 0 16px;
  padding: 18px;
  border: 1px solid var(--tsa-line);
  border-radius: 10px;
  background: var(--tsa-paper);
}

/* ---------- Main checkout layout ---------- */
body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .tsa-checkout-top,
  .tsa-checkout-grid,
  .tsa-checkout-grid *,
  .tsa-checkout-top *
) {
  box-sizing: border-box;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-checkout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, .9fr);
  align-items: flex-start;
  gap: 32px !important;
  width: calc(100% - 40px) !important;
  max-width: 1180px !important;
  margin: 18px auto 64px !important;
}

.tsa-customer-card {
  width: 100% !important;
  min-width: 0;
  padding: 30px;
  border: 1px solid var(--tsa-line);
  border-radius: 14px;
  background: var(--tsa-paper);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .28);
}

.tsa-order-side {
  position: sticky;
  top: 24px;
  display: flex;
  width: 100% !important;
  min-width: 0;
  flex-direction: column;
  gap: 16px;
}

.tsa-summary-card,
.tsa-payment-card {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--tsa-line);
  border-radius: 14px;
  background: var(--tsa-paper);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .28);
}

.tsa-section-heading {
  margin-bottom: 24px;
}

.tsa-section-heading .tsa-eyebrow {
  display: block;
  margin-bottom: 7px;
  color: var(--tsa-gold-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
}

.tsa-section-heading :is(h1, h2) {
  margin: 0 0 7px;
  color: var(--tsa-ink);
  font-size: clamp(24px, 2.3vw, 32px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.tsa-payment-heading :is(h1, h2) {
  font-size: 23px;
}

.tsa-section-heading p {
  margin: 0;
  color: var(--tsa-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* Remove duplicate default widget headings when custom headings are used. */
.tsa-customer-card :is(.woocommerce-billing-fields > h3, .woocommerce-shipping-fields > h3),
.tsa-payment-card > :is(h3, .title) {
  margin-top: 0;
}

/* ---------- Form fields ---------- */
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row {
  margin-bottom: 15px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .form-row label {
  display: block;
  margin-bottom: 7px;
  color: var(--tsa-ink);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .form-row .optional {
  color: var(--tsa-muted);
  font-weight: 500;
}

body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  textarea,
  select
) {
  min-height: 52px;
  padding: 12px 14px;
  border: 1px solid var(--tsa-line);
  border-radius: 8px;
  background: var(--tsa-field);
  color: var(--tsa-ink);
  font-size: 16px;
  line-height: 1.35;
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}

body.woocommerce-checkout:not(.woocommerce-order-received) textarea {
  min-height: 96px;
  resize: vertical;
}

body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  textarea,
  select
):focus {
  border-color: var(--tsa-gold);
  outline: none;
  box-shadow: 0 0 0 3px rgba(198, 164, 107, .17);
}

body.woocommerce-checkout:not(.woocommerce-order-received) :is(input, textarea)::placeholder {
  color: #77746e;
  opacity: 1;
}

body.woocommerce-checkout:not(.woocommerce-order-received) input:-webkit-autofill,
body.woocommerce-checkout:not(.woocommerce-order-received) input:-webkit-autofill:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--tsa-ink);
  box-shadow: 0 0 0 1000px var(--tsa-field) inset !important;
  transition: background-color 9999s ease-out 0s;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--default .select2-selection--single {
  height: 52px;
  border: 1px solid var(--tsa-line);
  border-radius: 8px;
  background: var(--tsa-field);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 11px 40px 11px 14px;
  color: var(--tsa-ink);
  font-size: 16px;
  line-height: 28px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 12px;
  right: 10px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-dropdown,
body.woocommerce-checkout:not(.woocommerce-order-received) .select2-results__option {
  border-color: var(--tsa-line);
  background: var(--tsa-paper);
  color: var(--tsa-ink);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-results__option--highlighted[aria-selected] {
  background: var(--tsa-gold-dark);
  color: #fff;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-invalid :is(input, select, textarea),
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-invalid .select2-selection {
  border-color: var(--tsa-error) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_comments_field {
  display: none;
}

/* ---------- Order review ---------- */
.tsa-summary-card::before {
  display: block;
  margin-bottom: 18px;
  color: var(--tsa-ink);
  content: "Order summary";
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.015em;
}

.tsa-summary-toggle {
  display: none;
}

/* Reset older Tosahwi dark-checkout rules inside the new summary card. */
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-summary-card,
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-summary-card .checkout-order-review,
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-summary-card .woocommerce-checkout-review-order,
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-summary-card .wd-table-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-summary-card .shop_table,
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-summary-card .shop_table :is(thead, tbody, tfoot, tr, th, td) {
  border-color: var(--tsa-line) !important;
  background: var(--tsa-paper) !important;
  color: var(--tsa-ink) !important;
}

/* A few delivery-date plugins inject their own dark text colors. */
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-summary-card .shop_table :is(
  th,
  td,
  a,
  div,
  p,
  span,
  small,
  strong,
  b
) {
  color: var(--tsa-ink) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-summary-card :is(
  .product-name,
  .product-name a,
  .product-total,
  .cart-subtotal,
  .woocommerce-shipping-totals,
  .order-total,
  .variation,
  .estimated-delivery
) {
  color: var(--tsa-ink) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table {
  width: 100%;
  max-width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  background: var(--tsa-paper) !important;
  table-layout: fixed !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-summary-card :is(
  .checkout-order-review,
  #order_review,
  .woocommerce-checkout-review-order,
  .wd-table-wrapper
) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Header/footer keep a reserved price column. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table :is(
  thead th:first-child,
  td.product-name
) {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table :is(
  thead th:last-child,
  td.product-total
) {
  position: static !important;
  inset: auto !important;
  float: none !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  text-align: right !important;
  transform: none !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table thead th:first-child {
  padding-right: 16px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table thead th:last-child {
  padding-left: 16px !important;
}

/*
 * Actual Woodmart product row:
 * td.wd-checkout-prod > .wd-checkout-prod-img + .wd-checkout-prod-cont
 * .wd-checkout-prod-cont > .wd-checkout-prod-title + .wd-checkout-prod-total
 */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table tr.cart_item > td.wd-checkout-prod {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-items: flex-start;
  box-sizing: border-box !important;
  overflow: hidden !important;
  text-align: left !important;
  white-space: normal !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .wd-checkout-prod-img {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .wd-checkout-prod-img img {
  display: block;
  width: 72px !important;
  max-width: 100% !important;
  height: auto;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .wd-checkout-prod-cont {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 104px !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-items: flex-start;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .wd-checkout-prod-title {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .wd-checkout-prod-title :is(
  a,
  span,
  strong,
  div
) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .wd-checkout-prod-total.product-total {
  position: static !important;
  inset: auto !important;
  display: block !important;
  float: none !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-align: right !important;
  transform: none !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table :is(
  td.product-total,
  .wd-checkout-prod-total.product-total
) .woocommerce-Price-amount {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: var(--tsa-gold) !important;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
  text-align: right !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table :is(th, td) {
  padding: 13px 0;
  border-right: 0;
  border-bottom: 1px solid var(--tsa-line);
  color: var(--tsa-ink);
  font-size: 14px;
  line-height: 1.45;
  vertical-align: top;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table thead th:last-child,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table tfoot td:last-child,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table tbody tr:not(.cart_item) > td:last-child {
  padding-left: 16px;
  text-align: right;
  white-space: nowrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .product-name {
  padding-right: 12px;
  color: var(--tsa-ink);
  font-weight: 600;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .product-quantity {
  color: var(--tsa-muted) !important;
  font-weight: 500;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table :is(
  .estimated-delivery,
  [class*="estimated" i],
  [class*="delivery" i],
  .wd-delivery-detail
) {
  color: var(--tsa-muted) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table :is(
  .estimated-delivery,
  [class*="estimated" i],
  [class*="delivery" i],
  .wd-delivery-detail
) :is(strong, b) {
  color: var(--tsa-ink) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .order-total :is(th, td) {
  padding-top: 17px;
  border-bottom: 0;
  color: var(--tsa-ink);
  font-size: 16px;
  font-weight: 750;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
  color: var(--tsa-ink);
  font-size: 21px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) input[type="checkbox"],
body.woocommerce-checkout:not(.woocommerce-order-received) input[type="radio"] {
  accent-color: var(--tsa-gold);
}

/* ---------- UpsellWP shortcode wrapper ---------- */
.tsa-upsell {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin-top: 18px;
  padding: 17px;
  border: 1px solid var(--tsa-line);
  border-radius: 10px;
  background: var(--tsa-soft);
  overflow: hidden;
}

.tsa-upsell :is(h2, h3, h4) {
  margin: 0 0 6px;
  color: var(--tsa-ink);
  font-size: 15px;
  line-height: 1.35;
}

.tsa-upsell :is(p, label, span) {
  font-size: 13px;
  line-height: 1.45;
}

.tsa-upsell img {
  width: 58px;
  height: 58px;
  border-radius: 7px;
  object-fit: cover;
}

.tsa-upsell :is(.woocommerce-Price-amount, del, ins) {
  display: inline-block;
  max-width: 100%;
  font-size: 12px;
  line-height: 1.35;
  white-space: nowrap;
}

.tsa-upsell input[type="number"] {
  width: 52px;
  min-width: 52px;
  max-width: 52px;
  min-height: 34px;
  padding: 5px 7px;
  border: 1px solid var(--tsa-line);
  background: var(--tsa-field);
  color: var(--tsa-ink);
}

.tsa-upsell select {
  width: 100%;
  max-width: 100%;
}

/* ---------- Payment ---------- */
body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .tsa-payment-card,
  .tsa-payment-card #payment,
  .tsa-payment-card #payment ul.payment_methods,
  .tsa-payment-card #payment ul.payment_methods > li
) {
  height: auto;
  max-height: none !important;
  overflow: visible !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment {
  border: 0;
  background: transparent !important;
}

/* Reset the previous black payment/card-field styling. */
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-payment-card #payment,
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-payment-card #payment ul.payment_methods,
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-payment-card #payment .wc-payment-form,
body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-payment-card #payment .wc-credit-card-form {
  border-color: var(--tsa-line) !important;
  background: transparent !important;
  color: var(--tsa-ink) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-payment-card #payment :is(
  input[type="text"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  select
) {
  border: 1px solid var(--tsa-line) !important;
  background: var(--tsa-field) !important;
  color: var(--tsa-ink) !important;
  box-shadow: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods {
  margin: 0 0 18px;
  padding: 0;
  border: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li {
  margin: 0 0 10px;
  padding: 15px;
  border: 1px solid var(--tsa-line);
  border-radius: 9px;
  background: var(--tsa-soft) !important;
  color: var(--tsa-ink) !important;
}

/* Restore an actual, clickable selector for every gateway WooCommerce outputs. */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li.wc_payment_method,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li.wc_payment_method > label,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li.wc_payment_method > input.input-radio {
  pointer-events: auto !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li.wc_payment_method > input.input-radio {
  position: static !important;
  display: inline-block !important;
  visibility: visible !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  margin: 0 9px 0 0 !important;
  padding: 0 !important;
  clip: auto !important;
  clip-path: none !important;
  opacity: 1 !important;
  appearance: auto !important;
  -webkit-appearance: radio !important;
  vertical-align: middle;
  accent-color: var(--tsa-gold);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li:has(input:checked) {
  border-color: var(--tsa-gold);
  box-shadow: 0 0 0 2px rgba(198, 164, 107, .15);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li > label {
  display: inline-flex !important;
  width: calc(100% - 32px);
  align-items: center;
  color: var(--tsa-ink) !important;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  vertical-align: middle;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box {
  margin: 13px 0 0;
  padding: 14px;
  border-radius: 8px;
  background: var(--tsa-soft) !important;
  color: var(--tsa-muted) !important;
  font-size: 13px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-payment-card #payment .payment_box::before {
  border-bottom-color: var(--tsa-soft) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order {
  margin: 0;
  padding: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .woocommerce-terms-and-conditions-wrapper {
  color: var(--tsa-muted);
  font-size: 12px;
  line-height: 1.55;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {
  width: 100%;
  min-height: 56px;
  margin-top: 16px;
  border: 1px solid var(--tsa-gold);
  border-radius: 8px;
  background: var(--tsa-gold);
  color: #0a0a09;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: .01em;
  text-transform: none;
  box-shadow: none;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:hover {
  border-color: var(--tsa-gold-dark);
  background: var(--tsa-gold-dark);
  transform: translateY(-1px);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:focus-visible {
  outline: 3px solid rgba(198, 164, 107, .30);
  outline-offset: 2px;
}

/* ---------- Trust and support ---------- */
.tsa-side-trust {
  padding: 4px 4px 0;
}

.tsa-trust-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

.tsa-trust-list > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: var(--tsa-muted);
  font-size: 12px;
  line-height: 1.4;
}

.tsa-trust-list strong {
  color: var(--tsa-ink);
  font-weight: 700;
}

.tsa-trust-list span {
  text-align: right;
}

.tsa-support-line {
  margin: 13px 0 0;
  color: var(--tsa-muted);
  font-size: 12px;
  text-align: center;
}

.tsa-support-line a {
  color: var(--tsa-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ---------- Notices ---------- */
body.woocommerce-checkout:not(.woocommerce-order-received) :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
  width: min(1180px, 100%);
  margin: 12px auto;
  padding: 14px 16px;
  border: 1px solid var(--tsa-line);
  border-radius: 9px;
  background: var(--tsa-paper);
  color: var(--tsa-ink);
  font-size: 13px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-error {
  border-color: rgba(161, 59, 50, .35);
}

/* ---------- Tablet / mobile ---------- */
@media (max-width: 900px) {
  .tsa-checkout-top,
  .tsa-checkout-grid {
    width: calc(100% - 28px) !important;
    max-width: 680px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tsa-checkout-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px !important;
    margin-top: 12px !important;
    margin-bottom: 36px !important;
  }

  .tsa-order-side {
    position: static;
    display: contents !important;
  }

  .tsa-summary-card {
    order: 1;
    width: 100%;
  }

  .tsa-customer-card {
    order: 2;
    width: 100%;
  }

  .tsa-payment-card {
    order: 3;
    width: 100%;
  }

  .tsa-side-trust {
    order: 4;
    width: 100%;
  }

  .tsa-summary-card::before {
    display: none;
  }

  .tsa-summary-toggle {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--tsa-ink);
    font-size: 14px;
    font-weight: 700;
    text-align: left;
  }

  .tsa-summary-toggle-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
  }

  .tsa-summary-toggle svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .tsa-summary-total {
    font-size: 18px;
    white-space: nowrap;
  }

  @media (max-width: 900px) {

  html.tsa-checkout-js
  .tsa-summary-content {
    padding-top: 13px;
    border-top: 1px solid var(--tsa-line);
  }

  html.tsa-checkout-js
  .tsa-summary-content.is-collapsed {
    display: none !important;
  }

  html.tsa-checkout-js
  .tsa-summary-content.is-open {
    display: block !important;
  }

}
}

@media (max-width: 575px) {
  .tsa-checkout-top,
  .tsa-checkout-grid {
    width: calc(100% - 20px);
  }

  .tsa-checkout-top {
    padding-top: 12px;
  }

  .tsa-checkout-header {
    gap: 12px;
    padding-bottom: 12px;
  }

  .tsa-checkout-logo img {
    max-width: 126px;
    max-height: 40px;
  }

  .tsa-checkout-meta {
    gap: 12px;
    font-size: 12px;
  }

  .tsa-checkout-meta {
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
  }

  .tsa-secure-label {
    color: #c6c1b8;
    font-size: 11px;
    white-space: nowrap;
  }

  .tsa-secure-label span {
    display: inline !important;
  }

  .tsa-customer-card,
  .tsa-summary-card,
  .tsa-payment-card {
    padding: 19px 16px;
    border-radius: 11px;
  }

  .tsa-section-heading {
    margin-bottom: 20px;
  }

  .tsa-section-heading :is(h1, h2) {
    font-size: 24px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) :is(.form-row-first, .form-row-last) {
    float: none;
    width: 100%;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table :is(
    thead th:first-child,
    td.product-name
  ) {
    width: auto !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table :is(
    thead th:last-child,
    td.product-total
  ) {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table tr.cart_item > td.wd-checkout-prod {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .wd-checkout-prod-img {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .wd-checkout-prod-img img {
    width: 58px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .wd-checkout-prod-cont {
    grid-template-columns: minmax(0, 1fr) 88px !important;
    gap: 8px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .wd-checkout-prod-total.product-total {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table :is(
    td.product-total,
    .wd-checkout-prod-total.product-total
  ) .woocommerce-Price-amount {
    font-size: 12px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    textarea,
    select
  ) {
    min-height: 50px;
  }

  .tsa-trust-list > div {
    display: block;
  }

  .tsa-trust-list span {
    display: block;
    margin-top: 2px;
    text-align: left;
  }
}

/* UpsellWP：商品名称 */
body.woocommerce-checkout:not(.woocommerce-order-received)
:is(.cuw-offers, .tsa-upsell) .cuw-product-title,
body.woocommerce-checkout:not(.woocommerce-order-received)
:is(.cuw-offers, .tsa-upsell) .cuw-product-title * {
  color: #f4f1ea !important;
  opacity: 1 !important;
}

/* UpsellWP：优惠价格 */
body.woocommerce-checkout:not(.woocommerce-order-received)
:is(.cuw-offers, .tsa-upsell) :is(
  .cuw-product-price,
  .cuw-sale-price,
  .cuw-offer-price,
  .price,
  ins,
  .woocommerce-Price-amount
) {
  color: #c6a46b !important;
  opacity: 1 !important;
}

/* UpsellWP：原价 */
body.woocommerce-checkout:not(.woocommerce-order-received)
:is(.cuw-offers, .tsa-upsell) del,
body.woocommerce-checkout:not(.woocommerce-order-received)
:is(.cuw-offers, .tsa-upsell) del * {
  color: #8f8b84 !important;
  opacity: 1 !important;
}

/* 数量加减符号 */
body.woocommerce-checkout:not(.woocommerce-order-received)
:is(.cuw-offers, .tsa-upsell) :is(
  .minus,
  .plus,
  .cuw-quantity-minus,
  .cuw-quantity-plus
) {
  color: #c6c1b8 !important;
}

/* =========================================================
   TOSAHWI CHECKOUT
   FINAL ORDER SUMMARY OVERRIDES
   ========================================================= */


/* =========================================================
   DESKTOP > 900PX
   ========================================================= */

@media (min-width: 901px) {

  /* -----------------------------------------
     Summary card
     ----------------------------------------- */

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-card {
    padding: 24px !important;
  }


  /* -----------------------------------------
     Desktop Order summary title
     Fix left alignment
     ----------------------------------------- */

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-card::before {
    display: block !important;

    content: "Order summary" !important;

    margin: 0 0 16px 0 !important;
    padding: 0 !important;

    color: var(--tsa-ink) !important;

    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.015em !important;

    box-sizing: border-box !important;
  }


  /* -----------------------------------------
     Keep order review aligned with title
     ----------------------------------------- */

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-content,

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-card
  .checkout-order-review,

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-card
  .woocommerce-checkout-review-order,

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-card
  .wd-table-wrapper {

    width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
  }


  /* -----------------------------------------
     Desktop doesn't need toggle
     ----------------------------------------- */

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-toggle {
    display: none !important;
  }


  /* Always show summary on desktop */

  html.tsa-checkout-js
  .tsa-summary-content {

    display: block !important;
  }

}



/* =========================================================
   MOBILE / TABLET <= 900PX
   ========================================================= */

@media (max-width: 900px) {


  /* -----------------------------------------
     Main card
     ----------------------------------------- */

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-card {

    width: 100% !important;

    padding: 16px !important;

    border: 1px solid var(--tsa-line) !important;
    border-radius: 12px !important;

    background: var(--tsa-paper) !important;

    box-shadow: none !important;

    overflow: hidden !important;
  }


  /* -----------------------------------------
     Remove desktop Order summary heading
     ----------------------------------------- */

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-card::before {

    display: none !important;

    content: none !important;
  }


  /* -----------------------------------------
     Show / Hide Order Summary
     ----------------------------------------- */

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-toggle {

    display: flex !important;

    width: 100% !important;
    min-height: 54px !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 12px !important;

    margin: 0 !important;

    padding: 0 2px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    color: var(--tsa-ink) !important;

    font-family: inherit !important;

    text-align: left !important;
    text-transform: none !important;

    box-shadow: none !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    cursor: pointer !important;
  }


  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-toggle:hover,

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-toggle:focus {

    border: 0 !important;

    background: transparent !important;

    color: var(--tsa-ink) !important;

    box-shadow: none !important;

    outline: none;
  }


  /* -----------------------------------------
     Toggle left side
     ----------------------------------------- */

  .tsa-summary-toggle-label {

    display: inline-flex !important;

    min-width: 0;

    align-items: center !important;

    gap: 9px !important;
  }


  /* Cart icon */

  .tsa-summary-toggle svg {

    width: 18px !important;
    height: 18px !important;

    flex: 0 0 18px;

    fill: none !important;

    stroke: var(--tsa-gold) !important;

    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }


  /* Label */

  .tsa-summary-label {

    color: var(--tsa-ink) !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1.3 !important;

    text-transform: none !important;

    white-space: nowrap;
  }


  /* Total */

  .tsa-summary-total {

    flex: 0 0 auto;

    color: var(--tsa-gold) !important;

    font-size: 18px !important;
    font-weight: 750 !important;

    line-height: 1 !important;

    white-space: nowrap !important;
  }


  /* -----------------------------------------
     Order review content
     ----------------------------------------- */

  html.tsa-checkout-js
  .tsa-summary-content {

    width: 100% !important;

    margin: 10px 0 0 0 !important;

    padding: 14px 0 0 0 !important;

    border-top:
      1px solid var(--tsa-line) !important;

    box-sizing: border-box !important;
  }


  /* Closed */

  html.tsa-checkout-js
  .tsa-summary-content.is-collapsed {

    display: none !important;
  }


  /* Open */

  html.tsa-checkout-js
  .tsa-summary-content.is-open {

    display: block !important;
  }


  /* -----------------------------------------
     Upsell spacing
     ----------------------------------------- */

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-upsell {

    width: 100% !important;

    margin-top: 16px !important;
    margin-bottom: 0 !important;

    box-sizing: border-box !important;
  }


  /* -----------------------------------------
     Shipping Protection spacing
     ----------------------------------------- */

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsp-protection-wrap {

    width: 100% !important;

    margin-top: 20px !important;
    margin-bottom: 0 !important;
  }

}



/* =========================================================
   SMALL MOBILE <= 575PX
   ========================================================= */

@media (max-width: 575px) {

  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-card {

    padding: 16px !important;

    border-radius: 11px !important;
  }


  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-summary-toggle {

    min-height: 52px !important;
  }


  .tsa-summary-label {

    font-size: 13px !important;
  }


  .tsa-summary-total {

    font-size: 17px !important;
  }


  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsa-upsell {

    margin-top: 14px !important;
  }


  body.woocommerce-checkout:not(.woocommerce-order-received)
  .tsp-protection-wrap {

    margin-top: 18px !important;
  }

}
/* =========================================================
   FINAL FIX — DESKTOP ORDER SUMMARY TITLE ALIGNMENT
   ========================================================= */

@media (min-width: 901px) {

    body.woocommerce-checkout:not(.woocommerce-order-received)
    .tsa-summary-card::before {
        display: block !important;
        content: "Order summary" !important;

        /* 关键：与 PRODUCT 的实际起始位置一致 */
        padding-left: 24px !important;
        padding-right: 24px !important;

        margin: 0 0 16px 0 !important;

        color: var(--tsa-ink) !important;

        font-size: 20px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        letter-spacing: -0.015em !important;

        box-sizing: border-box !important;
    }

}
