.elementor-2446 .elementor-element.elementor-element-3c519db{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2446 .elementor-element.elementor-element-b2cd0bc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2446 .elementor-element.elementor-element-b2cd0bc.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2446 .elementor-element.elementor-element-1561fba{width:var( --container-widget-width, 95.594% );max-width:95.594%;--container-widget-width:95.594%;--container-widget-flex-grow:0;}.elementor-2446 .elementor-element.elementor-element-1561fba.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2446 .elementor-element.elementor-element-8535b8e{--display:flex;}.elementor-2446 .elementor-element.elementor-element-58fa197.elementor-element{--align-self:flex-end;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-2446 .elementor-element.elementor-element-65b6e4a{--grid-columns:3;--grid-row-gap:0px;--grid-column-gap:0px;}.elementor-2446 .elementor-element.elementor-element-65b6e4a .elementor-loop-container{grid-auto-rows:1fr;}.elementor-2446 .elementor-element.elementor-element-65b6e4a .e-loop-item > .elementor-section, .elementor-2446 .elementor-element.elementor-element-65b6e4a .e-loop-item > .elementor-section > .elementor-container, .elementor-2446 .elementor-element.elementor-element-65b6e4a .e-loop-item > .e-con, .elementor-2446 .elementor-element.elementor-element-65b6e4a .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-2446 .elementor-element.elementor-element-65b6e4a{--grid-columns:2;}}@media(min-width:481px){.elementor-2446 .elementor-element.elementor-element-3c519db{--content-width:1600px;}.elementor-2446 .elementor-element.elementor-element-b2cd0bc{--width:19.2%;}}@media(max-width:480px){.elementor-2446 .elementor-element.elementor-element-8535b8e{--min-height:0px;}.elementor-2446 .elementor-element.elementor-element-65b6e4a{--grid-columns:2;--load-more—spacing:0px;}}/* Start custom CSS for shortcode, class: .elementor-element-1561fba */.woof_container {
  background: #fff;
  border-radius: 10px;
  padding: 5px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
  margin-bottom: 5px;
}
.woof_checkbox_label, .woof_radio_label {
  font-size: 5px;
  color: #111;
}
.woof_checkbox_label:hover {
  color: #CD0200;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-65b6e4a *//****************************************
 * Loop Grid 专用 CSS
 * 只对当前 Loop Grid 生效
 ****************************************/

/* 1. 整张卡片：纵向排列，高度自适应 */
.elementor-2446 .elementor-element.elementor-element-65b6e4a .loop-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 2. 图片外层：白色画布 + 居中 */
.elementor-2446 .elementor-element.elementor-element-65b6e4a .loop-card__img {
  background: #ffffff;       /* 白色底板 */
  display: flex;
  align-items: center;       /* 垂直居中 */
  justify-content: center;   /* 水平居中 */
  overflow: hidden;          /* 多余部分不挤出卡片 */
}

/* 画布里的 img：不裁剪，只按比例缩放 */
.elementor-2446 .elementor-element.elementor-element-65b6e4a .loop-card__img img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;       /* 不裁切，仅缩放 */
}

/* 3. 桌面端：给画布一个固定高度，排版整齐 */
@media (min-width: 768px) {
  .elementor-2446 .elementor-element.elementor-element-65b6e4a .loop-card__img {
    height: 360px;           /* 想要矮一点可以改成 320 / 340 等 */
  }
}

/* 4. 手机端：画布高度自适应，跟着图片走 */
@media (max-width: 767px) {
  .elementor-2446 .elementor-element.elementor-element-65b6e4a .loop-card__img {
    height: auto;
  }
}

/* 5. 标题：最多显示 3 行，多余用 … 省略 */
.elementor-2446 .elementor-element.elementor-element-65b6e4a .loop-card .elementor-widget-woocommerce-product-title,
.elementor-2446 .elementor-element.elementor-element-65b6e4a .loop-card .woocommerce-loop-product__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;     /* 限制 3 行 */
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
  min-height: calc(1.3em * 3);  /* 预留 3 行高度，方便卡片对齐 */
  margin: 6px 0 4px;
}

/* 手机端：标题仍然 3 行，高度保持一致 */
@media (max-width: 767px) {
  .elementor-2446 .elementor-element.elementor-element-65b6e4a .loop-card .woocommerce-loop-product__title {
    min-height: calc(1.3em * 3);
  }
}

/* 6. 价格与按钮区域的距离 */
.elementor-2446 .elementor-element.elementor-element-65b6e4a .loop-card .price {
  margin: 0 0 8px;
}

/* 7. “添加到购物车”区域推到底部 */
.elementor-2446 .elementor-element.elementor-element-65b6e4a .loop-card .elementor-widget-woocommerce-product-add-to-cart {
  margin-top: auto;
}

/* 8. 按钮铺满宽度 */
.elementor-2446 .elementor-element.elementor-element-65b6e4a .loop-card .elementor-widget-woocommerce-product-add-to-cart .button {
  width: 100%;
  text-align: center;
  font-size: 13px;
  padding: 1em;             /* 统一按钮高度 */
}

/* 9. 每张卡片之间左右留一点点缝隙 */
.elementor-2446 .elementor-element.elementor-element-65b6e4a .e-loop-item {
  padding: 0 1px;
}/* End custom CSS */