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

:root {
	--wd-text-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: rgb(118,118,118);
	--wd-text-font-size: 16px;
	--wd-title-font: "Montserrat", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 600;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Montserrat", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 600;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Montserrat", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Lato", 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(89,94,224);
	--wd-alternative-color: #fbbc34;
	--btn-default-bgcolor: rgb(23,23,23);
	--btn-default-bgcolor-hover: rgb(25,25,25);
	--btn-accented-bgcolor: rgb(90,95,222);
	--btn-accented-bgcolor-hover: rgb(82,87,203);
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
	--wd-sticky-btn-height: 95px;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: none;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
: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(0,0,0);
	background-image: url(https://www.turbowuchs.de/wp-content/uploads/2021/09/hardware-footer-bg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center bottom;
}
.page .wd-page-content {
	background-color: rgb(16,16,16);
	background-image: none;
}
.product-labels .product-label.new {
	background-color: rgb(221,51,51);
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}

@media (max-width: 1024px) {
	:root {
		--wd-sticky-btn-height: 95px;
	}

}

@media (max-width: 768.98px) {
	:root {
		--wd-sticky-btn-height: 42px;
	}

}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 0px;
--btn-default-color: #fff;
--btn-default-color-hover: #fff;
--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: rgb(16,16,16);
}

@font-face {
	font-family: "lato-local";
	src: url("//www.turbowuchs.de/wp-content/uploads/2025/05/Lato-Regular.woff2") format("woff2");
	font-weight: 400;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "lato-bold-local";
	src: url("//www.turbowuchs.de/wp-content/uploads/2025/05/Lato-Bold.woff2") format("woff2");
	font-weight: 700;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "montserrat-thin-local";
	src: url("//www.turbowuchs.de/wp-content/uploads/2025/05/Montserrat-Thin.woff2") format("woff2");
	font-weight: 100;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "montserrat-semibold-local";
	src: url("//www.turbowuchs.de/wp-content/uploads/2025/05/Montserrat-SemiBold.woff2") format("woff2");
	font-weight: 600;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "poppins-semibold-local";
	src: url("//www.turbowuchs.de/wp-content/uploads/2025/05/Poppins-SemiBold.woff2") format("woff2");
	font-weight: 600;
	font-display:swap;
	font-style: normal;
}

/* =========================================================
   TURBOWUCHS 默认加购区优化
   无需添加任何 CSS Class
========================================================= */

body.single-product .summary form.cart {
  --tw-buy-primary: #6862ff;
  --tw-buy-primary-hover: #7771ff;
  --tw-buy-border: rgba(255, 255, 255, 0.14);
  --tw-buy-bg: rgba(255, 255, 255, 0.035);

  width: 100% !important;
  margin: 20px 0 0 !important;
  padding: 11px !important;

  display: grid !important;
  grid-template-columns:
    82px
    minmax(185px, 1fr)
    minmax(130px, 0.62fr) !important;

  align-items: stretch !important;
  gap: 9px !important;

  border: 1px solid var(--tw-buy-border) !important;
  border-radius: 10px !important;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.045),
      rgba(255, 255, 255, 0.018)
    ) !important;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.025),
    0 10px 28px rgba(0, 0, 0, 0.13) !important;

  float: none !important;
  clear: both !important;
}

/* 清除主题生成的浮动辅助元素 */
body.single-product .summary form.cart::before,
body.single-product .summary form.cart::after {
  display: none !important;
  content: none !important;
}

/* =========================================================
   数量选择器
========================================================= */

body.single-product .summary form.cart .quantity {
  width: 82px !important;
  min-width: 82px !important;
  max-width: 82px !important;
  height: 54px !important;
  margin: 0 !important;

  display: grid !important;
  grid-template-columns: 27px 28px 27px !important;
  align-items: stretch !important;

  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 8px !important;
  overflow: hidden !important;

  background: #141414 !important;
  float: none !important;
}

/* 减号和加号 */
body.single-product .summary form.cart .quantity .minus,
body.single-product .summary form.cart .quantity .plus {
  width: 27px !important;
  min-width: 27px !important;
  height: 52px !important;
  padding: 0 !important;
  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 0 !important;
  border-radius: 0 !important;

  color: #d6d6d6 !important;
  background: transparent !important;

  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 500 !important;

  transition:
    color 0.2s ease,
    background-color 0.2s ease !important;
}

body.single-product .summary form.cart .quantity .minus:hover,
body.single-product .summary form.cart .quantity .plus:hover {
  color: #fff !important;
  background: rgba(104, 98, 255, 0.17) !important;
}

/* 数量输入框 */
body.single-product .summary form.cart .quantity input.qty {
  width: 28px !important;
  min-width: 0 !important;
  max-width: 28px !important;
  height: 52px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 0 !important;

  color: #fff !important;
  background: transparent !important;

  font-size: 14px !important;
  line-height: 52px !important;
  font-weight: 700 !important;
  text-align: center !important;

  box-shadow: none !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
}

body.single-product
.summary
form.cart
.quantity
input.qty::-webkit-inner-spin-button,
body.single-product
.summary
form.cart
.quantity
input.qty::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

/* =========================================================
   两个按钮的通用样式
========================================================= */

body.single-product
.summary
form.cart
.single_add_to_cart_button,

body.single-product
.summary
form.cart
.wd-buy-now-btn {
  width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  min-height: 54px !important;

  margin: 0 !important;
  padding: 0 15px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 8px !important;

  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  text-align: center !important;
  white-space: nowrap !important;

  float: none !important;

  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease !important;
}

/* =========================================================
   主按钮：加入购物车
========================================================= */

body.single-product
.summary
form.cart
.single_add_to_cart_button {
  border: 1px solid var(--tw-buy-primary) !important;
  color: #fff !important;

  background:
    linear-gradient(
      135deg,
      #6862ff 0%,
      #5751e7 100%
    ) !important;

  box-shadow:
    0 8px 21px rgba(104, 98, 255, 0.27) !important;
}

body.single-product
.summary
form.cart
.single_add_to_cart_button:hover {
  color: #fff !important;
  border-color: var(--tw-buy-primary-hover) !important;

  background:
    linear-gradient(
      135deg,
      #7771ff 0%,
      #6862ff 100%
    ) !important;

  transform: translateY(-1px);

  box-shadow:
    0 11px 27px rgba(104, 98, 255, 0.36) !important;
}

/* 禁用状态 */
body.single-product
.summary
form.cart
.single_add_to_cart_button.disabled,

body.single-product
.summary
form.cart
.single_add_to_cart_button:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* =========================================================
   次按钮：立即购买
========================================================= */

body.single-product
.summary
form.cart
.wd-buy-now-btn {
  border: 1px solid rgba(119, 113, 255, 0.65) !important;
  color: #fff !important;

  background:
    linear-gradient(
      145deg,
      rgba(119, 113, 255, 0.16),
      rgba(104, 98, 255, 0.07)
    ) !important;

  box-shadow: none !important;
}

body.single-product
.summary
form.cart
.wd-buy-now-btn:hover {
  color: #fff !important;
  border-color: #8580ff !important;
  background: rgba(119, 113, 255, 0.23) !important;
  transform: translateY(-1px);
}

/* 键盘操作焦点 */
body.single-product .summary form.cart button:focus-visible,
body.single-product .summary form.cart input:focus-visible {
  outline: 2px solid #918dff !important;
  outline-offset: 2px !important;
}

/* =========================================================
   加载动画
========================================================= */

body.single-product
.summary
form.cart
.single_add_to_cart_button.loading {
  position: relative !important;
  color: transparent !important;
}

body.single-product
.summary
form.cart
.single_add_to_cart_button.loading::after {
  content: "" !important;

  width: 17px !important;
  height: 17px !important;

  position: absolute !important;
  inset: 0 !important;
  margin: auto !important;

  border: 2px solid rgba(255, 255, 255, 0.35) !important;
  border-top-color: #fff !important;
  border-radius: 50% !important;

  animation: tw-cart-spinner 0.7s linear infinite !important;
}

@keyframes tw-cart-spinner {
  to {
    transform: rotate(360deg);
  }
}

/* =========================================================
   平板
========================================================= */

@media (max-width: 1024px) {
  body.single-product .summary form.cart {
    grid-template-columns:
      82px
      minmax(165px, 1fr)
      minmax(120px, 0.58fr) !important;

    gap: 8px !important;
  }

  body.single-product
  .summary
  form.cart
  .single_add_to_cart_button,

  body.single-product
  .summary
  form.cart
  .wd-buy-now-btn {
    padding: 0 10px !important;
    font-size: 11px !important;
  }
}

/* =========================================================
   手机端
========================================================= */

@media (max-width: 767px) {
  body.single-product .summary form.cart {
    padding: 10px !important;

    grid-template-columns:
      82px
      minmax(0, 1fr) !important;

    gap: 9px !important;
  }

  body.single-product
  .summary
  form.cart
  .quantity {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.single-product
  .summary
  form.cart
  .single_add_to_cart_button {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.single-product
  .summary
  form.cart
  .wd-buy-now-btn {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  body.single-product
  .summary
  form.cart
  .single_add_to_cart_button,

  body.single-product
  .summary
  form.cart
  .wd-buy-now-btn {
    height: 52px !important;
    min-height: 52px !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   超窄手机
========================================================= */

@media (max-width: 390px) {
  body.single-product .summary form.cart {
    grid-template-columns: 1fr !important;
  }

  body.single-product
  .summary
  form.cart
  .quantity,

  body.single-product
  .summary
  form.cart
  .single_add_to_cart_button,

  body.single-product
  .summary
  form.cart
  .wd-buy-now-btn {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 !important;
  }

  body.single-product
  .summary
  form.cart
  .quantity {
    grid-row: 1 !important;
    grid-template-columns: repeat(3, 1fr) !important;
  }

  body.single-product
  .summary
  form.cart
  .quantity
  .minus,

  body.single-product
  .summary
  form.cart
  .quantity
  .plus,

  body.single-product
  .summary
  form.cart
  .quantity
  input.qty {
    width: 100% !important;
    max-width: none !important;
  }

  body.single-product
  .summary
  form.cart
  .single_add_to_cart_button {
    grid-row: 2 !important;
  }

  body.single-product
  .summary
  form.cart
  .wd-buy-now-btn {
    grid-row: 3 !important;
  }
}

/*
 * Turbowuchs Checkout V1.2
 * Install: WoodMart > Theme Settings > Custom CSS > Global CSS
 * Scope: Classic WooCommerce checkout only. Does not style the order-received page.
 */

:root {
  --tw-checkout-bg: #080d12;
  --tw-checkout-surface: #101720;
  --tw-checkout-surface-2: #141d28;
  --tw-checkout-input: #0c131b;
  --tw-checkout-border: rgba(255, 255, 255, 0.12);
  --tw-checkout-border-strong: rgba(255, 255, 255, 0.2);
  --tw-checkout-text: #f5f7fa;
  --tw-checkout-muted: #a8b2bf;
  --tw-checkout-blue: #1976d2;
  --tw-checkout-blue-hover: #1565c0;
  --tw-checkout-success: #39b66d;
  --tw-checkout-danger: #ef5350;
  --tw-checkout-warning: #f2b84b;
  --tw-checkout-radius: 12px;
  --tw-checkout-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
}

/* ---------- 1. Checkout-only page shell ---------- */

body.woocommerce-checkout:not(.woocommerce-order-received) {
  color: var(--tw-checkout-text);
  background: var(--tw-checkout-bg) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .main-page-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) .site-content,
body.woocommerce-checkout:not(.woocommerce-order-received) .page-content {
  background: var(--tw-checkout-bg) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .main-page-wrapper {
  min-height: 100vh;
  padding-top: 0 !important;
  padding-bottom: 36px !important;
}

/* Hide the normal shop chrome. The custom Checkout Top Content remains visible. */
body.woocommerce-checkout:not(.woocommerce-order-received) .whb-header,
body.woocommerce-checkout:not(.woocommerce-order-received) .wd-page-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .page-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .cart-checkout-navigation,
body.woocommerce-checkout:not(.woocommerce-order-received) .wd-prefooter,
body.woocommerce-checkout:not(.woocommerce-order-received) .footer-container,
body.woocommerce-checkout:not(.woocommerce-order-received) .wd-footer,
body.woocommerce-checkout:not(.woocommerce-order-received) .wd-toolbar,
body.woocommerce-checkout:not(.woocommerce-order-received) .scrollToTop {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) a {
  color: #70b7ff;
}

body.woocommerce-checkout:not(.woocommerce-order-received) a:hover {
  color: #9bcaff;
}

/* ---------- 2. Checkout Top Content ---------- */

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-top {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 20px 0 22px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 68px;
  padding: 12px 18px;
  border: 1px solid var(--tw-checkout-border);
  border-radius: var(--tw-checkout-radius);
  background: rgba(16, 23, 32, 0.92);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-logo,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-logo a {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-logo img {
  display: block;
  width: auto;
  max-width: 180px;
  max-height: 42px;
  object-fit: contain;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  min-width: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-back-cart,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-secure-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  margin: 0;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.3;
  white-space: nowrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-back-cart {
  color: var(--tw-checkout-muted) !important;
  text-decoration: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-back-cart:hover {
  color: var(--tw-checkout-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-secure-label {
  color: var(--tw-checkout-text);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-secure-label::before {
  content: "";
  width: 16px;
  height: 18px;
  flex: 0 0 16px;
  background: currentColor;
  clip-path: polygon(22% 35%, 22% 25%, 28% 11%, 40% 2%, 60% 2%, 72% 11%, 78% 25%, 78% 35%, 90% 35%, 90% 100%, 10% 100%, 10% 35%);
  color: var(--tw-checkout-success);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  margin-top: 12px;
  color: var(--tw-checkout-muted);
  font-size: 13px;
  font-weight: 650;
}

/* Supports both the WoodMart Checkout steps widget and the custom HTML fallback. */
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress.cart-checkout-navigation,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress .cart-checkout-navigation,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress ul,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress ol {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--tw-checkout-muted);
  list-style: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress li,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress a {
  color: var(--tw-checkout-muted) !important;
  font-size: inherit;
  font-weight: inherit;
  text-decoration: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress .step-active,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress .current,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress .is-active {
  color: var(--tw-checkout-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress i {
  color: rgba(255, 255, 255, 0.32);
  font-style: normal;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress .is-active {
  color: var(--tw-checkout-text);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress .is-active::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  margin-top: 6px;
  border-radius: 999px;
  background: var(--tw-checkout-blue);
}

/* ---------- 3. Notices, login and coupon ---------- */

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-notices-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-NoticeGroup {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto 16px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-top .woocommerce-notices-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-top .woocommerce-NoticeGroup {
  width: 100%;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-grid .woocommerce-notices-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-grid .woocommerce-NoticeGroup {
  grid-column: 1 / -1;
  width: 100%;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-error,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-message,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-info {
  margin: 0 0 14px !important;
  padding: 14px 16px 14px 46px !important;
  border: 1px solid var(--tw-checkout-border) !important;
  border-radius: 10px !important;
  color: var(--tw-checkout-text) !important;
  background: var(--tw-checkout-surface) !important;
  box-shadow: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-error {
  border-color: rgba(239, 83, 80, 0.45) !important;
  background: rgba(239, 83, 80, 0.1) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-message {
  border-color: rgba(57, 182, 109, 0.42) !important;
  background: rgba(57, 182, 109, 0.1) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-info {
  border-color: rgba(25, 118, 210, 0.4) !important;
  background: rgba(25, 118, 210, 0.1) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto 12px;
  color: var(--tw-checkout-muted);
  font-size: 14px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle {
  width: min(620px, calc(100% - 40px));
  margin: 0 auto 10px;
  color: var(--tw-checkout-muted);
  font-size: 14px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-top .woocommerce-form-login-toggle {
  width: 100%;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-top .woocommerce-form-coupon-toggle {
  width: min(620px, 100%);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle .woocommerce-info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  margin: 0 !important;
  padding: 13px 16px !important;
  text-align: center;
  flex-wrap: wrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle .showcoupon {
  color: #66b3ff !important;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto 18px !important;
  padding: 18px !important;
  border: 1px solid var(--tw-checkout-border) !important;
  border-radius: var(--tw-checkout-radius) !important;
  background: var(--tw-checkout-surface) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: min(620px, calc(100% - 40px));
  margin: 0 auto 18px !important;
  padding: 14px !important;
  border: 1px solid var(--tw-checkout-border) !important;
  border-radius: var(--tw-checkout-radius) !important;
  background: var(--tw-checkout-surface) !important;
  box-shadow: none !important;
}

/*
 * WooCommerce's native coupon click uses a height animation. The bottom script
 * replaces only that animation with this instant, accessible open state; the
 * native coupon form and its submit/AJAX behavior remain unchanged.
 */
html.tw-checkout-js body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon {
  display: none !important;
}

html.tw-checkout-js body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.tw-coupon-open {
  display: grid !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon .form-row {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon .form-row-first {
  min-width: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon .form-row-last {
  flex: 0 0 auto;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon input.input-text {
  width: 100% !important;
  min-height: 50px;
  margin: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon button[name="apply_coupon"] {
  min-height: 50px;
  margin: 0 !important;
  padding: 12px 18px !important;
  border-radius: 7px !important;
  color: #fff !important;
  background: var(--tw-checkout-blue) !important;
  font-weight: 800 !important;
  white-space: nowrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon .clear {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card form.checkout_coupon {
  width: 100%;
  margin: 12px 0 0 !important;
}

/* ---------- 4. Checkout Form grid ---------- */

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout {
  width: 100%;
  margin: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 58%) minmax(360px, 42%);
  align-items: start;
  gap: 40px;
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-customer-card,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-payment-card,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-side-trust {
  min-width: 0;
  border: 1px solid var(--tw-checkout-border);
  border-radius: var(--tw-checkout-radius);
  background: var(--tw-checkout-surface);
  box-shadow: var(--tw-checkout-shadow);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-customer-card {
  padding: 28px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side {
  position: sticky;
  top: 24px;
  display: grid;
  gap: 16px;
  min-width: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-payment-card {
  padding: 24px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-side-trust {
  padding: 16px 18px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-customer-card h2,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-customer-card h3,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card h2,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card h3,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-payment-card h2,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-payment-card h3 {
  margin: 0 0 18px;
  color: var(--tw-checkout-text) !important;
  font-size: 21px;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-customer-card p,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card p,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-payment-card p {
  color: var(--tw-checkout-muted);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-card-heading {
  margin: 0 0 18px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-card-heading h2,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-card-heading h3,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-card-heading p {
  margin-top: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-card-heading p:last-child {
  margin-bottom: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-card-kicker {
  display: block;
  margin-bottom: 7px;
  color: #6eb5ff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Remove legacy WoodMart column widths inside our custom grid. */
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-grid .col2-set,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-grid .col-1,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-grid .col-2 {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
}

/* ---------- 5. Fields ---------- */

body.woocommerce-checkout:not(.woocommerce-order-received) .form-row {
  margin: 0 0 17px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .form-row-first,
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row-last {
  width: calc(50% - 8px) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .form-row-first {
  float: left !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .form-row-last {
  float: right !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .form-row-wide {
  clear: both;
  width: 100% !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout label {
  display: block;
  margin-bottom: 7px;
  color: #dbe2ea !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout label .optional {
  color: #7f8b99;
  font-weight: 450;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout abbr.required {
  color: var(--tw-checkout-danger) !important;
  text-decoration: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input[type="email"],
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input[type="tel"],
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input[type="text"],
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout select,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout textarea,
body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--default .select2-selection--single {
  width: 100%;
  min-height: 50px;
  margin: 0;
  border: 1px solid var(--tw-checkout-border-strong) !important;
  border-radius: 8px !important;
  color: var(--tw-checkout-text) !important;
  background: var(--tw-checkout-input) !important;
  box-shadow: none !important;
  font-size: 15px;
  line-height: 1.4;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input[type="email"],
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input[type="tel"],
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input[type="text"],
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout select {
  height: 50px;
  padding: 0 14px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout textarea {
  min-height: 108px;
  padding: 13px 14px;
  resize: vertical;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input::placeholder,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout textarea::placeholder {
  color: #738090 !important;
  opacity: 1;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout select:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout textarea:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--open .select2-selection--single {
  outline: none !important;
  border-color: var(--tw-checkout-blue) !important;
  background: #0f1822 !important;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.18) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 40px 0 14px;
  color: var(--tw-checkout-text) !important;
  line-height: 48px;
}

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 {
  border-color: var(--tw-checkout-border-strong) !important;
  color: var(--tw-checkout-text);
  background: #101720 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-results__option {
  color: #dce4ed;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-results__option--highlighted {
  background: var(--tw-checkout-blue) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-invalid input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-invalid select,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-invalid .select2-selection {
  border-color: var(--tw-checkout-danger) !important;
  box-shadow: 0 0 0 3px rgba(239, 83, 80, 0.14) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) input[type="checkbox"],
body.woocommerce-checkout:not(.woocommerce-order-received) input[type="radio"] {
  accent-color: var(--tw-checkout-blue);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address {
  margin: 5px 0 18px;
  font-size: 15px;
  line-height: 1.4;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
}

/* ---------- 6. Order summary ---------- */

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card .woocommerce-checkout-review-order,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card #order_review {
  width: 100%;
  color: var(--tw-checkout-text);
}

body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card table.shop_table {
  width: 100%;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse;
  table-layout: fixed;
  color: var(--tw-checkout-text);
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table td,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card table.shop_table th,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card table.shop_table td {
  padding: 14px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--tw-checkout-border) !important;
  color: #dce4ed !important;
  background: transparent !important;
  vertical-align: middle;
}

body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table thead th {
  padding-top: 0 !important;
  color: #f0f4f8 !important;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table th:first-child,
body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table td:first-child {
  width: 72%;
  padding-right: 14px !important;
  text-align: left;
}

body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table th:last-child,
body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table td:last-child {
  width: 28%;
  text-align: right !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table td:only-child {
  width: 100% !important;
  padding-right: 0 !important;
  text-align: left !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .product-name {
  min-width: 0;
  color: #dfe6ee !important;
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: normal;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .product-name img {
  float: left;
  width: 62px !important;
  height: 62px !important;
  margin: 0 12px 0 0 !important;
  border: 1px solid var(--tw-checkout-border);
  border-radius: 8px;
  background: #0b1118;
  object-fit: contain;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .product-quantity {
  color: var(--tw-checkout-muted);
  white-space: nowrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .woocommerce-Price-amount,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card .amount {
  display: inline-block;
  max-width: 100%;
  color: var(--tw-checkout-text) !important;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table tfoot th {
  color: #e8edf3 !important;
  font-size: 14px;
  font-weight: 650;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .order-total td {
  padding-top: 17px !important;
  border-bottom: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .order-total th {
  color: var(--tw-checkout-text) !important;
  font-size: 16px;
  font-weight: 750;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .order-total .amount {
  color: #66b3ff !important;
  font-size: 20px;
  font-weight: 800;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #shipping_method {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #shipping_method li {
  margin: 0;
  color: #dce4ed;
  text-align: right;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #shipping_method label {
  display: inline;
  margin: 0;
  color: #dce4ed !important;
  font-weight: 550;
}

/* ---------- 7. UpsellWP / checkout offer ---------- */

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-offer,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="cuw-offer"],
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="checkout-offer"],
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="upsell"] {
  border-color: var(--tw-checkout-border) !important;
  color: var(--tw-checkout-text) !important;
  background: var(--tw-checkout-input) !important;
  box-shadow: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-product-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-product-name,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="product-title"],
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="product-name"] {
  color: #e9eef5 !important;
  line-height: 1.4;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-offer img,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="cuw"] img {
  border-radius: 8px;
  background: #111923;
  object-fit: contain;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-offer label,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="cuw"] label {
  color: #dce4ed !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-offer input[type="checkbox"],
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="cuw"] input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  accent-color: var(--tw-checkout-blue);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-offer del,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="cuw"] del {
  color: #788493 !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
  opacity: 0.82;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-offer ins,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="cuw"] ins {
  color: #66b3ff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* The generic summary .amount rule must not flatten UpsellWP sale pricing. */
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-product-price {
  display: flex !important;
  align-items: baseline;
  gap: 7px;
  flex-wrap: wrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-product-price del .woocommerce-Price-amount,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-product-price del .amount,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="cuw"] del .woocommerce-Price-amount,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="cuw"] del .amount {
  color: #788493 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
  opacity: 0.82;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-product-price ins .woocommerce-Price-amount,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side .cuw-product-price ins .amount,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="cuw"] ins .woocommerce-Price-amount,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side [class*="cuw"] ins .amount {
  color: #66b3ff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  opacity: 1;
}

/* ---------- 8. Payment methods ---------- */

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-payment-card #payment,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-payment {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--tw-checkout-text) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment li.wc_payment_method {
  position: relative;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 1px solid var(--tw-checkout-border) !important;
  border-radius: 9px;
  color: var(--tw-checkout-text) !important;
  background: var(--tw-checkout-input) !important;
  overflow: visible;
  transition: border-color 0.18s ease, background-color 0.18s ease;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment li.wc_payment_method.is-selected,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment li.wc_payment_method:has(input[name="payment_method"]:checked) {
  border-color: var(--tw-checkout-blue) !important;
  background: rgba(25, 118, 210, 0.09) !important;
  box-shadow: inset 0 0 0 1px rgba(25, 118, 210, 0.16);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment li.wc_payment_method > input[type="radio"] {
  position: absolute !important;
  top: 20px;
  left: 16px;
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  accent-color: var(--tw-checkout-blue);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment li.wc_payment_method > label {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 56px;
  margin: 0 !important;
  padding: 12px 14px 12px 44px !important;
  color: #eef3f8 !important;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.35;
  cursor: pointer;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment li.wc_payment_method > label img {
  display: inline-block;
  width: auto !important;
  max-width: 145px !important;
  max-height: 26px !important;
  margin: 0 0 0 auto !important;
  object-fit: contain;
}

/*
 * PayPal's card gateway outputs every supported card brand as a separate image.
 * Constrain that image strip as a group without hiding or clipping any logo.
 */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment li.payment_method_ppcp-credit-card-gateway > label {
  justify-content: flex-start;
  gap: clamp(3px, 0.35vw, 5px);
  min-width: 0;
  padding-right: 10px !important;
  font-size: 13px;
  line-height: 1.25;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment li.payment_method_ppcp-credit-card-gateway > label img {
  flex: 0 1 auto;
  width: auto !important;
  height: auto !important;
  max-width: clamp(25px, 2.55vw, 35px) !important;
  max-height: 23px !important;
  margin: 0 !important;
  object-fit: contain;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment li.payment_method_ppcp-credit-card-gateway > label img:first-of-type {
  margin-left: auto !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment li[class*="trustly"] > label img,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment li[class*="klarna"] > label img {
  padding: 4px 7px;
  border-radius: 5px;
  background: #fff !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box {
  position: static !important;
  width: auto !important;
  margin: 0 !important;
  padding: 14px 16px 16px 44px !important;
  border: 0 !important;
  border-top: 1px solid var(--tw-checkout-border) !important;
  border-radius: 0 !important;
  color: #c9d2dc !important;
  background: rgba(255, 255, 255, 0.025) !important;
  box-shadow: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box::before {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box p,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box label {
  color: #c9d2dc !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order {
  margin: 18px 0 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .woocommerce-privacy-policy-text {
  margin: 0 0 14px;
  color: var(--tw-checkout-muted) !important;
  font-size: 12.5px;
  line-height: 1.55;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .woocommerce-terms-and-conditions-wrapper p,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .woocommerce-privacy-policy-text p {
  color: var(--tw-checkout-muted) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {
  float: none !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 13px 18px !important;
  border: 0 !important;
  border-radius: 8px !important;
  color: #fff !important;
  background: var(--tw-checkout-blue) !important;
  box-shadow: 0 10px 24px rgba(25, 118, 210, 0.25) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.015em;
  text-align: center;
  text-transform: none !important;
  white-space: normal;
  cursor: pointer;
}

/*
 * PayPal Payments creates its own hosted-card button with the same #place_order
 * ID and marks WooCommerce's native button .ppcp-hidden. Never force either
 * button visible; honor PayPal's explicit hidden state so only one is shown.
 */
body.woocommerce-checkout:not(.woocommerce-order-received) #place_order.ppcp-hidden {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:focus {
  color: #fff !important;
  background: var(--tw-checkout-blue-hover) !important;
  box-shadow: 0 12px 28px rgba(25, 118, 210, 0.32) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:disabled,
body.woocommerce-checkout:not(.woocommerce-order-received) #place_order.disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* ---------- 9. Trust card ---------- */

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-side-trust {
  display: grid;
  gap: 9px;
  color: var(--tw-checkout-muted);
  font-size: 12.5px;
  line-height: 1.45;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-side-trust p,
body.woocommerce-checkout:not(.woocommerce-order-received) .tw-side-trust ul {
  margin: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-side-trust li {
  position: relative;
  margin: 0 0 7px;
  padding-left: 20px;
  color: #bdc7d2;
  list-style: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-side-trust li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;
  color: var(--tw-checkout-success);
  font-weight: 800;
}

/* ---------- 10. Mobile summary toggle ---------- */

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-toggle-wrap {
  display: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 54px;
  margin: 0;
  padding: 12px 15px;
  border: 1px solid var(--tw-checkout-border) !important;
  border-radius: 10px !important;
  color: var(--tw-checkout-text) !important;
  background: var(--tw-checkout-surface) !important;
  box-shadow: none !important;
  text-align: left;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-content {
  min-width: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-toggle-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  font-size: 13px;
  font-weight: 700;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-toggle-label::before {
  content: "";
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  border: 2px solid #82bdff;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.2s ease;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-toggle[aria-expanded="true"] .tw-summary-toggle-label::before {
  transform: rotate(225deg) translate(-2px, -2px);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-total {
  flex: 0 0 auto;
  color: #7bbcff;
  font-size: 16px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* ---------- 11. Tablet ---------- */

@media (max-width: 991px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    max-width: 760px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-order-side {
    position: static;
    display: contents;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card {
    order: 1;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-customer-card {
    order: 2;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-payment-card {
    order: 3;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-side-trust {
    order: 4;
  }
}

/* ---------- 12. Mobile ---------- */

@media (max-width: 768px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .main-page-wrapper {
    padding-bottom: 22px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-top,
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-grid,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-notices-wrapper,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-NoticeGroup,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login {
    width: min(100% - 24px, 620px);
  }

  html.tw-checkout-js body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.tw-coupon-open {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon button[name="apply_coupon"] {
    width: 100% !important;
    white-space: normal;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-top {
    padding: 12px 0 14px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-header {
    min-height: 56px;
    padding: 9px 12px;
    border-radius: 10px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-logo img {
    max-width: 138px;
    max-height: 34px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-header-actions {
    gap: 10px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-back-cart {
    width: 38px;
    min-height: 38px;
    overflow: hidden;
    color: transparent !important;
    white-space: nowrap;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-back-cart::first-letter {
    color: var(--tw-checkout-muted);
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-secure-label {
    font-size: 12px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress {
    justify-content: flex-start;
    min-height: 36px;
    margin: 8px 2px 0;
    overflow: hidden;
    font-size: 11px;
    white-space: nowrap;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-toggle-wrap {
    display: block;
    margin: 0;
  }

  /* Progressive enhancement: summary stays visible if JavaScript fails. */
  html.tw-checkout-js body.woocommerce-checkout:not(.woocommerce-order-received) #tw-summary-content {
    display: none;
  }

  html.tw-checkout-js body.woocommerce-checkout:not(.woocommerce-order-received) #tw-summary-content.is-open {
    display: block;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-customer-card,
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card,
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-payment-card {
    padding: 18px 15px;
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card {
    padding: 0;
    overflow: hidden;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card .tw-summary-toggle {
    border: 0 !important;
    border-radius: 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card .tw-summary-content {
    padding: 18px 15px;
    border-top: 1px solid var(--tw-checkout-border);
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-side-trust {
    padding: 15px;
    border-radius: 10px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-customer-card h2,
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-customer-card h3,
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card h2,
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-summary-card h3,
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-payment-card h2,
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-payment-card h3 {
    margin-bottom: 15px;
    font-size: 19px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .form-row-first,
  body.woocommerce-checkout:not(.woocommerce-order-received) .form-row-last {
    float: none !important;
    width: 100% !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input.input-text,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input[type="email"],
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input[type="tel"],
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input[type="text"],
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout select,
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout textarea,
  body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--default .select2-selection--single {
    font-size: 16px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table th:first-child,
  body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table td:first-child {
    width: 68%;
    padding-right: 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table th:last-child,
  body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table td:last-child {
    width: 32%;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .product-name img {
    width: 56px !important;
    height: 56px !important;
    margin-right: 9px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #payment li.wc_payment_method > label {
    min-height: 54px;
    padding-right: 10px !important;
    font-size: 13px;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #payment li.wc_payment_method > label img {
    max-width: 115px !important;
    max-height: 24px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box {
    padding: 13px 12px 15px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {
    min-height: 54px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 420px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-secure-label {
    max-width: 116px;
    white-space: normal;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress span:first-child,
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress i:first-of-type,
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress span:last-child,
  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress i:last-of-type {
    display: none;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .tw-checkout-progress .is-active::before {
    content: "Schritt 2 von 3 · ";
    color: var(--tw-checkout-muted);
    font-weight: 550;
  }
}

/* ---------- 13. Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
  body.woocommerce-checkout:not(.woocommerce-order-received) *,
  body.woocommerce-checkout:not(.woocommerce-order-received) *::before,
  body.woocommerce-checkout:not(.woocommerce-order-received) *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}