/*
Theme Name: Modelbauer Blocksy Child
Version: 1.0.1
Description: Child theme for Blocksy.
Author: Illumia Limited, 143 Wai Yip Street, Hong Kong SAR

Template: blocksy
*/

/* --------------- Theme customization starts here ----------------- */
/* color declaration */
:root {
  --lc-primary-color-1: #f4606c;
  --lc-primary-color-2: #19caad;
  --lc-primary-color-3: #8cc7b5;
  --lc-primary-color-4: #ffffff;
  --lc-primary-color-5: #ffffff;
  --lc-warning-positive: #758a48;
  --lc-warning-negative: #cf0a2c;
  --grid-columns-gap: 8px;
  --grid-rows-gap: 8px;
}

/* font-face declaration */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/urbanist-v18-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* urbanist-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/urbanist-v18-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* urbanist-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/urbanist-v18-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* PoppinsMedium - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/Poppins-Medium.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* PoppinsRegular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/Poppins-Regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* Lora-Regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS
/@font-face/font-display for other options. */
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/Lora-Regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
  --theme-font-stack-default: 'urbanist';
}

/* Apply the Poppins font to headlines*/
#offcanvas,
#offcanvas a,
#offcanvas button,
#offcanvas select,
#offcanvas input,
h1, h2, h3, h4, h5, h6, .price{
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI',
               Roboto, 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.2 !important;
}

/* 调整产品页 summary 区域的左右内边距, mobile only */
@media (max-width: 768px){
  .single-product .summary.entry-summary.entry-summary-items,
  .lc-newsletter{
    padding: 0 24px !important;
    padding-bottom: 24px !important;
    margin-top: 0;
  }
  /* related product slider */
    /* remove add to cart */
  .single-product .related.products .product .ct-woo-card-actions{
    display: none;
  }
  .single-product .related.products{
    margin-top: 0;
    padding-bottom: 24px;
  }
  .single-product .related.products .ct-module-title{
    margin: 0;
    padding: 0 24px 10px 24px;
  }
  .single-product .related.products .products{
    overflow-x: auto;
    flex-wrap: nowrap;
    display: flex;
    padding: 0 24px;
  }
  .single-product .related.products li.product{
    flex: 0 0 auto;
    width: 220px;
  }
  .single-product .related.products ul.products * {
    margin-bottom: 0;
  }
  .single-product .related.products ul.products h2 {
    line-height: 1;
  }
  .single-product .related.products ul.products p {
    font-size: smaller;
  }
  .single-product .related.products li.product figure{
    margin-bottom: 5px;
  }
  .single-product .related.products .products
  [class*="-badge"],
  .single-product .related.products .products
  [class*="onsale"]{
    visibility: hidden;
  }

  /* woocommerce tabs */
  .single-product .woocommerce-tabs {
    padding: 0 24px !important;
  }
  .single-product .product-entry-wrapper .woocommerce-tabs {
    padding: 0px !important;
  }
  .ct-footer{
    padding: 0 24px !important;
    margin: auto;
  }
  .woocommerce-product-gallery {
    margin-bottom: 32px !important;
  }
  .poppins{
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI',
                 Roboto, 'Helvetica Neue', Arial, sans-serif !important;
  }
  .woocommerce-product-details__short-description p {
    font-size: 13px !important;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI',
                 Roboto, 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400 !important;
    margin-bottom: 0px !important;
  }
  .subtitle p {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI',
                 Roboto, 'Helvetica Neue', Arial, sans-serif;
    font-size: 13px;
  }

/* 处理滑动箭头的圆角 */
.single-product [class*="flexy-arrow"] {
  border-radius: 0 !important;
}

.ct-accordion-tab .tab-description p {
    font-size: 16px !important;
}

/* 自定义圆点导航（条形风） */
.mb-horizontal_bar {
  display: flex;
  background: var(--theme-palette-color-5, #E6E8E7);
  width: 100%;
  height: 3px;
  flex-direction: row;
}

.mb_horizontal_bar_active {
  background: var(--theme-palette-color-3, #525B59);
}

.hero-section.is-width-constrained{
  padding-top: clamp(32px, 6vw, 120px);
  padding-left: clamp(16px, 6vw, 64px);
  padding-right: clamp(16px, 6vw, 64px);
}


/* breadcrumbs */
/* Make sure the gallery column is positioning context */
.woocommerce div.product .woocommerce-product-gallery {
  position: relative;
}

/* Breadcrumb overlay */
.mb-bc-overlay {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 99;
  pointer-events: auto;
}

/* Move all Woo badges to top-right */
.woocommerce div.product
.onsale,
.woocommerce div.product
.out-of-stock-badge,
.woocommerce div.product
[class*="ct-woo-badge-"] {
  left: auto !important;
  right: 12px;
  top: auto !important;
  bottom: 12px;
}

/* Hide empty PayPal message container */
.ppcp-messages {
  display: none !important;
}

/* Hide stock badge */
.stock {
  display: none !important;
}

/* change sale price color */
.price ins .woocommerce-Price-amount {
  color: var(--lc-warning-negative) !important;
}

/* gap between product gallery and summary */
/* 12px vertical spacing between direct children in the summary */
.summary.entry-summary.entry-summary-items{
  display: flex;
  flex-direction: column;
  gap: 16px;
}
/* Remove any outer spacing around the Klaviyo star widget */
.klaviyo-star-rating-widget{
  margin: 0 !important;
}
/* Remove any outer spacing around the Klaviyo reviews widget */
.product[class*=gallery] .entry-summary-items {
  --product-element-spacing: 0px;
}
/* Remove the title spacing in the gallery component*/
.mm-title-block {
  --has-theme-content-spacing: 0;
}
/* change padding in accordion content */
.woocommerce-tabs .ct-accordion-tab .ct-accordion-heading {
  padding: 14px 0 !important;
}

/* Dispatch time panel realted*/
.accordion-label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
}

/* Custom drawer styles */
[id^="lc-"] {
  background-color: rgba(18, 21, 25, 0.5);
}
[data-header*="type-1"] [id^="lc-"] .ct-panel-inner {
  background-color: var(--theme-palette-color-6);
  margin-top: auto;
  height: calc(100dvh - 3*var(--header-height));
}
[data-header*="type-1"] [id^="lc-"] .ct-toggle-close {
    --theme-icon-color: var(--theme-palette-color-4);
}
.lc-positive {
    color: var(--lc-warning-positive);
}
.lc-negative {
    color: var(--lc-warning-negative);
}

/* The content area should take remaining space and scroll */
[id^="lc-"] .ct-panel-content {
  flex: 1 1 auto;
  min-height: 0;            /* CRUCIAL for flex children to allow scrolling */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Product details panel */
.mm-product-details {
    padding: 24px;
}

/* Product category page */
.ct-container .woo-listing-top .woocommerce-ordering{
  padding: 0 24px;
}
.ct-container .products li.product{
  min-height: 370px;
}
.ct-container .products .woocommerce-loop-product__title,
.ct-container .products .entry-excerpt,
.ct-container .products .price{
  padding: 0 8px;
}
.ct-container .products .entry-excerpt{
  font-size: smaller;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI',
               Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}
.mm-panel-content{
  padding:0 24px 24px 24px;
}

/* Product details panel divider */
.mm-panel-divider {
    --single-product-layer-divider: 1px solid var(--theme-border-color);
    margin: 0 0 20px 0;
}
.ct-product-divider {
    display: block;
    border-top: var(--single-product-layer-divider);
}

/* shop filter panel */
#lc-shop-sort-modal .ct-panel-inner,
#lc-shop-filter-modal .ct-panel-inner {
    height: 100dvh !important;
}


#lc-shop-sort-modal .ct-panel-actions,
#lc-shop-filter-modal .ct-panel-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.lc-shop-sort-trigger,
.lc-shop-filter-trigger {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.lc-shop-sort-trigger:hover,
.lc-shop-sort-trigger:focus,
.lc-shop-filter-trigger:hover,
.lc-shop-filter-trigger:focus {
    background: transparent;
}

.lc-shop-sort-trigger svg,
.lc-shop-filter-trigger svg {
    flex: 0 0 auto;
}

/* woo listing top */
.woo-listing-top {
    position: relative;
    display: flex !important;
    align-items: center;
    box-sizing: border-box;
    margin: 0 8px 8px 8px!important;
    padding: 0 8px;
    gap: 0;
}

/* 左侧 Filter */
.woo-listing-top .lc-shop-filter-trigger {
    margin: 0 !important;
    padding: 8px 0;
    justify-self: unset;
}

/* 中间产品数量：相对整个工具栏真正居中 */
.woo-listing-top .woocommerce-result-count {
    position: absolute;
    left: 35%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap;
    text-align: center;
}

/* 右侧排序按钮 */
.woo-listing-top .lc-shop-sort-trigger {
    margin-left: auto !important;
    padding: 8px;
}

/* show product category description in the top of the product list */
@media (max-width: 689px) {
    .font-lora,
    .hero-section .page-description.ct-hidden-sm {
        display: block !important;
        margin-top: 12px;
        font-size: 14px;
        font-family: 'Lora', 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI',
                 Roboto, 'Helvetica Neue', Arial, sans-serif !important;
        line-height: 1.5;
    }
}

/* Remove FILTER EVERYTHING sticky buttons background and border */
.wpc-sticky-buttons {
    background: transparent !important;
    border: none !important;
}

.mm-product-count {
  font-size: 14px;
}
/* Filter Everything options color */
.wpc-filter-link {
  color: var(--theme-palette-color-3) !important;
}

/* Filter Everything checkbox size and color */
#lc-shop-filter-modal input[type="checkbox"][id^="wpc-checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--theme-palette-color-3);
}

/* secondary menu in mobile drawer */
.mobile-secondary-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin-top: 28px;
}

.mobile-secondary-menu a {
    display: block;
    padding: 4px 0;
    color: inherit;
    font-size: 16px;
    line-height: 1.35;
    text-decoration: none;
}

.mobile-secondary-menu a:hover {
    color: inherit;
    opacity: 0.65;
}

/* Pagination in Category */
.ct-pagination{
  padding: 40px;
}
/* 按钮外层占满 */
.ct-pagination[data-pagination="load_more"] .ct-load-more-helper {
	display: block;
	width: 100%;
}
.ct-pagination[data-pagination="load_more"] .ct-load-more {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	max-width: none;
	box-sizing: border-box;
}
div.wpforms-container-full .wpforms-field-label{
  margin-bottom: 8px !important;
}
.wpforms-container .wpforms-field{
  padding: 12px 0 !important;
}
div.wpforms-container-full .wpforms-confirmation-container-full{
  color: var(--lc-primary-color-3) !important;
  border: none !important;
}
/* Kontaktformular – Button */
#wpforms-188 .wpforms-submit-container {
    width: 100%;
}
#wpforms-188 button.wpforms-submit {
    display: block;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
    font-size: 15px !important;
}

/* Hero section on page 2316 order status*/
@media (max-width: 689.98px) {
  body.page-id-2316 .hero-section .entry-header,
  body.page-id-2316 .ct-container-full {
    width: 100%;
    box-sizing: border-box;
    padding-left: 24px;
    padding-right: 24px;
  }
  body.page-id-2316 .hero-section .entry-header{
    padding-bottom: 16px !important;
  }
  /* 两个字段改成单列 */
  body.page-id-2316 .woocommerce-form-track-order .form-row-first,
  body.page-id-2316 .woocommerce-form-track-order .form-row-last {
    float: none;
    width: 100%;
    margin: 0 0 24px;
  }

  /* 输入框标题 */
  body.page-id-2316 .woocommerce-form-track-order label {
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
  }

  /* 输入框占满宽度 */
  body.page-id-2316 .woocommerce-form-track-order .input-text {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  /* 按钮外层占满宽度 */
  body.page-id-2316 .woocommerce-form-track-order p.form-row:has(button) {
    width: 100%;
    margin: 0;
  }

  /* 按钮占满宽度 */
  body.page-id-2316 .woocommerce-form-track-order button.button {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

}

/* About Us 页面左右留白 */
body.page-id-621 .elementor-621 .elementor-image-box-content{
  padding-left: 20px;
  padding-right: 20px;
}

/* 仅在购物车为空时隐藏 Warenkorb 页面标题 */
body.woocommerce-cart:has(.wc-empty-cart-message) .hero-section {
	display: none !important;
}

/* 空购物车提示 */
.mb-empty-cart-message {
	width: 100%;
	max-width: 680px;
	margin: 0 0 30px;
	text-align: left;
}

/* H2 */
.mb-empty-cart-message h2 {
	line-height: 1;
}

/* 空购物车主体左右留白 */
body.woocommerce-cart:has(.wc-empty-cart-message) .site-main .woocommerce {
  padding-top: 50px;
	padding-left: 24px;
	padding-right: 24px;
}

/* 有商品：左右 16px */
body.woocommerce-cart:not(:has(.wc-empty-cart-message)) .site-main .woocommerce {
	box-sizing: border-box;
	padding-left: 16px;
	padding-right: 16px;
}

/* 取消 Warenkorb-Summe 整体边框和背景 */
body.woocommerce-cart .cart_totals {
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* 隐藏原来的 Warenkorb-Summe 标题 */
body.woocommerce-cart .cart_totals > h2 {
	display: none !important;
}

/* 汇总表格 */
body.woocommerce-cart .cart_totals .shop_table {
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

/* 三行布局 */
body.woocommerce-cart .cart_totals .shop_table th,
body.woocommerce-cart .cart_totals .shop_table td {
	padding: 0 !important;
	border: 0 !important;
	vertical-align: middle;
}

body.woocommerce-cart .cart_totals .shop_table th {
	text-align: left;
	font-weight: 400;
}

body.woocommerce-cart .cart_totals .shop_table td {
	text-align: right;
}

/* 总金额突出显示 */
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
	font-weight: 600;
}

/* 删除“包含多少税费、预估国家”等小字 */
body.woocommerce-cart .cart_totals .order-total td small {
	display: none !important;
}
/* Gesamt 旁边的简短 MwSt. 提示 */
body.woocommerce-cart .cart_totals .order-total .mb-vat-note {
	display: inline !important;
	margin-left: 5px;
	color: #8c8c8c;
	font-size: 11px;
	font-weight: 400;
	white-space: nowrap;
}

/* 手机专用标题默认隐藏 */
body.woocommerce-cart .cart_totals .mb-mobile-total-label {
	display: none;
}

@media (max-width: 768px) {

	/* 禁用 Blocksy 从 data-title 生成的标题 */
	body.woocommerce-cart .cart_totals .order-total td::before {
		display: none !important;
		content: none !important;
	}

	body.woocommerce-cart .cart_totals .order-total td {
		display: flex !important;
		width: 100% !important;
		align-items: baseline;
		justify-content: space-between;
		text-align: right !important;
	}

	body.woocommerce-cart .cart_totals .mb-mobile-total-label {
		display: inline-flex;
		align-items: baseline;
		text-align: left;
	}
}

/* Checkout 按钮和汇总之间留空 */
body.woocommerce-cart .wc-proceed-to-checkout {
	margin-top: 20px;
}

body.woocommerce-cart .product-name,
body.woocommerce-cart .woocommerce-Price-amount.amount {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI',
               Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}

/* 商品名称下方的预计发货时间 */
body.woocommerce-cart .mm-cart-dispatch-time {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
}

/* 商品名称下方的副标题（如果有） */
body.woocommerce-cart .mm-cart-product-subtitle {
    margin: 0 0 4px 0;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
}

body.woocommerce-cart .mm-cart-product-sku {
    margin: 0 0 4px 0;
    color: var(--wp--preset--color--cyan-bluish-gray, #abb8c3);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
}

/* Warenkorb 页面标题和面包屑之间的间距 */
body.woocommerce-cart header.entry-header.ct-container-narrow {
}

body.woocommerce-cart header.entry-header .page-title {
    margin: 0 !important;
    font-size: 32px !important;
    line-height: 1.15 !important;
}

body.woocommerce-cart .product-name{
  padding: 0 !important;
}

body.woocommerce-cart button[name="update_cart"] {
    display: none !important;
}

/* 优化优惠券输入框的布局 */
body.woocommerce-cart .mm-cart-coupon summary {
    display: flex;
    align-items: center;
    padding: 0 0 8px 0;
    justify-content: space-between;
    color: var(--theme-palette-color-3, #abb8c3);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    list-style: none;
    cursor: pointer;
}

body.woocommerce-cart .mm-cart-coupon summary {
    user-select: none;
}

body.woocommerce-cart .mm-cart-coupon summary::after {
    content: "+";
    display: inline-flex;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    margin-left: 16px;
    border: 0;
    color: currentColor;
    font-family: Arial, sans-serif;
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
    transform: none;
}

body.woocommerce-cart .mm-cart-coupon[open] summary::after {
    content: "−";
    transform: none;
}

body.woocommerce-cart
.woocommerce-cart-form
td.actions {
    padding: 8px 0 0 0  !important;
}

/* Desktop and tablet: hide mobile sticky checkout */
.mm-mobile-cart-checkout {
    display: none;
}

.mm-mobile-cart-checkout {
    display: none;
}

    /* Prevent the sticky bar from covering page content */
    body.woocommerce-cart:has(
        .mm-mobile-cart-checkout.mm-is-visible
    ) .site-main {
        padding-bottom: calc(
            120px + env(safe-area-inset-bottom)
        );
    }

    body.woocommerce-cart
    .ct-woocommerce-cart-form{
      gap: 0 !important;
    }

    body.woocommerce-cart
    .ct-woocommerce-cart-form
    > .woocommerce-cart-form {
        position: relative;
        z-index: 0 !important;
    }

    body.woocommerce-cart
    .ct-woocommerce-cart-form
    > .cart_totals {
        position: relative;
        z-index: 100 !important;
    }

    body.woocommerce-cart
    .mm-mobile-cart-checkout.mm-is-visible {
        position: fixed;
        z-index: 5;
        right: 0;
        bottom: 0;
        left: 0;

        display: block;

        box-sizing: border-box;
        padding:
            10px
            16px
            calc(10px + env(safe-area-inset-bottom));

        background: #fff;
        border-top: 1px solid rgba(0, 0, 0, 0.12);
        box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
    }

    body.woocommerce-cart .mm-mobile-cart-total {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        margin-bottom: 9px;
    }

    body.woocommerce-cart .mm-mobile-cart-label {
        font-size: 15px;
        font-weight: 600;
    }

    body.woocommerce-cart .mm-mobile-cart-label small {
        margin-left: 4px;
        color: var(
            --wp--preset--color--cyan-bluish-gray,
            #abb8c3
        );
        font-size: 11px;
        font-weight: 400;
        white-space: nowrap;
    }

    body.woocommerce-cart .mm-mobile-cart-price {
        font-size: 17px;
        font-weight: 600;
        white-space: nowrap;
    }

    /* Hide WooCommerce's additional tax explanation */
    body.woocommerce-cart
    .mm-mobile-cart-price
    > small {
        display: none !important;
    }

    body.woocommerce-cart
    .mm-mobile-cart-checkout
    .checkout-button {
        display: flex;
        width: 100%;
        min-height: 48px;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
    }
}
.mm-cart-assurance {
    display: none;
}

@media (max-width: 768px) {
    body.woocommerce-cart .mm-cart-assurance {
        display: block;
        padding: 20px 4px 8px;
        text-align: center;
    }

    body.woocommerce-cart .mm-continue-shopping {
        display: inline-block;
        margin-bottom: 24px;
        color: inherit;
        font-size: 14px;
        text-decoration: underline;
    }

    body.woocommerce-cart .mm-payment-heading {
        display: block;
        margin-bottom: 7px;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    body.woocommerce-cart .mm-payment-description {
        max-width: 340px;
        margin: 0 auto 12px;
        color: #555;
        font-size: 12px;
        line-height: 1.45;
    }

    body.woocommerce-cart .mm-payment-icons {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 7px;
        margin-bottom: 10px;
    }

    body.woocommerce-cart .mm-payment-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    body.woocommerce-cart .mm-payment-icon img {
        width: auto !important;
        max-width: 48px;
        height: 22px !important;
        margin: 0 !important;
        object-fit: contain;
    }

    body.woocommerce-cart .mm-payment-more summary {
        color: inherit;
        font-size: 11px;
        list-style: none;
        text-decoration: underline;
        cursor: pointer;
    }

    body.woocommerce-cart
    .mm-payment-more summary::-webkit-details-marker {
        display: none;
    }

    body.woocommerce-cart .mm-payment-more p {
        max-width: 340px;
        margin: 10px auto 0;
        color: #777;
        font-size: 11px;
        line-height: 1.45;
    }
}

/* Hide the hero section on the checkout page */
body.woocommerce-checkout .hero-section {
    display: none !important;
}

@media (max-width: 689px) {
    body.woocommerce-checkout .site-main {
        padding-left: 24px;
        padding-right: 24px;
        box-sizing: border-box;
    }
}
/* 去掉 Express Checkout 外框 */
body.woocommerce-checkout
.wc-block-components-express-payment__content {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 14px 0 0 !important;
}

/* 去掉 Express-Kasse 标题两侧的边框线 */
body.woocommerce-checkout
.wc-block-components-express-payment__title-container::before,
body.woocommerce-checkout
.wc-block-components-express-payment__title-container::after {
    display: none !important;
}

body.woocommerce-checkout
.wc-block-components-express-payment__title-container {
    justify-content: center;
}

/* 浏览器不支持 Apple Pay 时，不保留空位置 */
@supports not (-webkit-appearance: -apple-pay-button) {
    body.woocommerce-checkout
    #express-payment-method-airwallex_express_checkout_apple_pay {
        display: none !important;
    }
}

@media (max-width: 689px) {

    /* 允许支付区域根据手机屏幕收缩 */
    body.woocommerce-checkout #payment-method,
    body.woocommerce-checkout #payment-method
    .wc-block-components-checkout-step__content,
    body.woocommerce-checkout #payment-method
    .wc-block-components-radio-control,
    body.woocommerce-checkout #payment-method
    .wc-block-components-radio-control-accordion-option,
    body.woocommerce-checkout #payment-method
    .wc-block-components-radio-control-accordion-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* 覆盖 Airwallex 写死的 width: 400px */
    body.woocommerce-checkout #airwallex-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout #airwallex-card iframe {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* 缩小信用卡图标，防止标题行溢出 */
    body.woocommerce-checkout .airwallex-card-icon {
        width: 28px !important;
        height: auto !important;
        margin-right: 3px !important;
        flex: 0 0 28px;
    }

    body.woocommerce-checkout
    #radio-control-wc-payment-method-options-airwallex_card__label {
        min-width: 0 !important;
        width: 100% !important;
    }
}

body.woocommerce-checkout
#radio-control-wc-payment-method-options-ppcp-gateway__label
.wc-block-components-payment-method-icons {
    display: block !important;
    margin-left: auto !important;
}

/* Thank-you 页面：删除铃铛并增加顶部间距 */
body.woocommerce-order-received
.woocommerce-thankyou-order-received {
    margin-top: 24px !important;
}

body.woocommerce-order-received
.woocommerce-thankyou-order-received::before {
    display: none !important;
    content: none !important;
}
body.woocommerce-order-received .woocommerce-order {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* 清除 WooCommerce 原本零散的外边距，避免与 gap 叠加 */
body.woocommerce-order-received .woocommerce-order > p,
body.woocommerce-order-received .woocommerce-order > ul,
body.woocommerce-order-received .woocommerce-order > section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* Order-pay 页面：订单表格与付款区域 */
body.woocommerce-order-pay #order_review > .shop_table {
    margin: 0 0 32px !important;
}

/* 支付方式与隐私/条款区域 */
body.woocommerce-order-pay #payment .wc_payment_methods {
    margin: 0 0 32px !important;
}

/* 隐私文字与 AGB 之间 */
body.woocommerce-order-pay
.woocommerce-privacy-policy-text {
    margin: 0 0 16px !important;
}

/* 条款区域与付款按钮之间 */
body.woocommerce-order-pay
#payment > .form-row {
    margin: 0 0 24px !important;
}

/* 付款按钮 */
body.woocommerce-order-pay #place_order {
    width: 100%;
    margin: 0 !important;
}

/* Mobile: standard page title horizontal padding */
@media (max-width: 689px) {
    body.page .hero-section[data-type="type-2"]
    .entry-header.ct-container-narrow {
        width: 100%;
        padding-left: 24px !important;
        padding-right: 24px !important;
        box-sizing: border-box;
    }
}

/* ========================================
   Variation Swatches：产品详情页
   ======================================== */

body.single-product
.cfvsw-product-container[swatches-attr="attribute_pa_color"] {
    gap: 12px;
}

body.single-product
.cfvsw-product-container[swatches-attr="attribute_pa_color"]
> .cfvsw-swatches-option {
    box-sizing: border-box !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    background: var(--theme-palette-color-6, #fff) !important;
  }

body.single-product
.cfvsw-product-container[swatches-attr="attribute_pa_color"]
.cfvsw-swatch-inner {

}


/* ========================================
   Variation Swatches：Catalog 商品列表
   ======================================== */

body.woocommerce
ul.products
.cfvsw-shop-container[swatches-attr="attribute_pa_color"] {
    display: flex;
    flex-wrap: wrap;
    margin-top: 4px;
    margin-bottom: 4px;
    padding-left: 8px !important;
    grid-gap: 16px; 
}

body.woocommerce
ul.products
.cfvsw-shop-container[swatches-attr="attribute_pa_color"]
> .cfvsw-swatches-option {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    background: var(--theme-palette-color-6, #fff) !important;
    border: none !important;
    padding: 0;
}

body.woocommerce
ul.products
.cfvsw-shop-container[swatches-attr="attribute_pa_color"]
.cfvsw-swatch-inner {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
}

/* 选中色块：取消黑色外圈 */
.cfvsw-swatches-option.cfvsw-selected-swatch {
    border-color: rgba(0, 0, 0, 0.18) !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* 给下划线预留空间 */
.cfvsw-swatches-option {
    position: relative !important;
    margin-bottom: 3px !important;
    overflow: visible !important;
    border: none !important;
}

.cfvsw-swatches-option .cfvsw-swatch-inner {
    position: relative !important;
}

/* Westwing 风格选中下划线 */
.cfvsw-swatches-option.cfvsw-selected-swatch
.cfvsw-swatch-inner::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;
    width: 100%;
    height: 2px;
    background: #111;
    transform: translateX(-50%);
    border-radius: 0;
    pointer-events: none;
}

.single-product .cfvsw-product-container {
    margin-inline: 0 !important;
}

.single-product .reset_variations {
    display: none !important;
}

/* Catalog：图片 → 色块 → 标题 */
.woocommerce ul.products li.product > figure {
    order: -2;
}

.woocommerce ul.products li.product > .cfvsw_variations_form {
    order: -1;
    margin-bottom: 0 !important;
}