/* ==========================================================================
   WordPress / Kadence / WooCommerce 对接层
   设计系统（design-system.css）负责组件外观，这一层只负责把 WordPress 的
   实际 HTML 结构对齐到那套组件上。
   ========================================================================== */

/* ---- 基础排版：确保主题的标题样式不覆盖设计系统 ---- */
body.wecent-site h1,
body.wecent-site h2,
body.wecent-site h3,
body.wecent-site h4,
body.wecent-site .entry-content h1,
body.wecent-site .entry-content h2,
body.wecent-site .entry-content h3,
body.wecent-site .entry-content h4 {
  font-family: var(--font-head);
  color: var(--ink);
  line-height: 1.2;
  letter-spacing: -0.011em;
}

/* 深色区块里的标题必须保持白色：上面的规则选择器权重更高，
   会盖掉设计系统里 .page-hero h1 / .hero h1 / .cta-band h2 的白色，这里补回来。 */
body.wecent-site .page-hero h1,
body.wecent-site .page-hero h2,
body.wecent-site .hero h1,
body.wecent-site .cta-band h1,
body.wecent-site .cta-band h2,
body.wecent-site .cta-band h3 {
  color: #fff;
}

body.wecent-site .page-hero .page-hero__lead,
body.wecent-site .hero .hero__lead,
body.wecent-site .cta-band p {
  color: #b3c4d6;
}

body.wecent-site .page-hero .breadcrumb,
body.wecent-site .page-hero .breadcrumb a {
  color: #8ea3b8;
}

body.wecent-site a {
  text-decoration: none;
}

/* ---- 用我们的模板搭建的页面：放开主题的内容宽度与内边距 ---- */
body.wecent-canvas .entry-content,
body.wecent-canvas .content-area,
body.wecent-canvas .site-main,
body.wecent-canvas .content-container,
body.wecent-canvas .site-container,
body.wecent-canvas #primary,
body.wecent-canvas .wp-site-blocks > .wp-block-group {
  max-width: none;
  padding-inline: 0;
  margin-inline: 0;
}

/* Kadence 的内容容器还会加垂直方向的留白 —— 实测是 .content-area 的 80px 上边距
   加上 .entry-content-wrap 的 32px 上内边距，页头与首屏之间因此多出 112px 空白；
   页脚上方同样多 80px。整版页面必须把这两处清掉。 */
body.wecent-canvas .content-area,
body.wecent-canvas .content-container,
body.wecent-canvas .site-container,
body.wecent-canvas .site-main,
body.wecent-canvas .content-wrap,
body.wecent-canvas .entry-content-wrap,
body.wecent-canvas .entry,
body.wecent-canvas article.entry,
body.wecent-canvas .entry-content {
  margin-block: 0;
  padding-block: 0;
}

/* 我们的首屏 / 内容页 banner 直接顶住页头，不要任何额外间距 */
body.wecent-canvas .hero,
body.wecent-canvas .page-hero {
  margin-block-start: 0;
}

body.wecent-canvas .entry-header,
body.wecent-canvas .page-title {
  display: none; /* 页面标题由我们自己的 banner 承担，避免重复 H1 */
}

body.wecent-canvas .entry-content > .wp-block-html,
body.wecent-canvas .elementor-widget-html {
  margin-block: 0;
}

/* ---- 表格：小屏可横向滚动 ---- */
.table-wrap.is-scrollable {
  position: relative;
  border-color: #cfe0ee;
}

/* ==========================================================================
   WooCommerce — 集合页（B 模板）
   ========================================================================== */

.wecent-site .woocommerce-products-header {
  margin: 0;
}

.wecent-site .woocommerce-breadcrumb {
  font-size: 0.84rem;
  color: var(--muted);
  margin: 0 0 18px;
}

.wecent-site .woocommerce-breadcrumb a {
  color: var(--body);
}

.wecent-site .woocommerce-result-count,
.wecent-site .woocommerce-ordering {
  font-size: 0.9rem;
  color: var(--muted);
  margin: 0 0 18px;
}

.wecent-site .woocommerce-ordering select {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 9px 12px;
  font: inherit;
  font-size: 0.87rem;
  color: var(--ink-2);
  background: #fff;
}

/* 产品网格 → 我们的 .pcard 外观 */
.wecent-site ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.wecent-site ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.wecent-site ul.products li.product:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow);
  border-color: #cfe0ee;
}

.wecent-site ul.products li.product a img {
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: var(--soft);
  padding: 20px;
  margin: 0;
  border-bottom: 1px solid var(--line);
}

.wecent-site ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.05rem;
  padding: 20px 22px 6px;
  margin: 0;
}

.wecent-site ul.products li.product .pcard__excerpt {
  padding: 0 22px 18px;
  margin: 0;
  font-size: 0.9rem;
  color: var(--body);
}

.wecent-site ul.products li.product .button,
.wecent-site ul.products li.product .added_to_cart {
  margin: 0 22px 22px;
  align-self: flex-start;
}

.wecent-site ul.products li.product .price,
.wecent-site ul.products li.product .star-rating {
  display: none; /* 询盘模式 */
}

/* ==========================================================================
   WooCommerce — 产品页（D 模板）
   ========================================================================== */

.wecent-site .woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: clamp(26px, 3.4vw, 56px);
  align-items: start;
}

.wecent-site .woocommerce div.product .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
}

.wecent-site .woocommerce div.product .woocommerce-product-gallery__wrapper {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--soft);
}

.wecent-site .woocommerce div.product .woocommerce-product-gallery__image img {
  object-fit: contain;
}

.wecent-site .woocommerce div.product .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0 0;
}

.wecent-site .woocommerce div.product .flex-control-thumbs li {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
}

.wecent-site .woocommerce div.product .flex-control-thumbs img {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 10px;
  aspect-ratio: 1;
  object-fit: contain;
}

.wecent-site .woocommerce div.product .summary {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.wecent-site .woocommerce div.product .product_title {
  font-size: clamp(1.5rem, 2.35vw, 2.15rem);
  margin-bottom: 0.4em;
}

.wecent-site .woocommerce div.product .woocommerce-product-details__short-description p {
  font-size: 0.92rem;
  color: var(--muted);
}

.wecent-site .woocommerce div.product .product_meta {
  font-size: 0.86rem;
  color: var(--muted);
  margin-top: 18px;
}

/* 标签页 */
.wecent-site .woocommerce-tabs {
  margin-top: clamp(36px, 4vw, 64px);
}

.wecent-site .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0 0 20px;
  list-style: none;
  border: 0;
}

.wecent-site .woocommerce-tabs ul.tabs::before,
.wecent-site .woocommerce-tabs ul.tabs li::before,
.wecent-site .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.wecent-site .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
}

.wecent-site .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--ink-2);
}

.wecent-site .woocommerce-tabs ul.tabs li.active a {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}

.wecent-site .woocommerce-Tabs-panel {
  max-width: 78ch;
}

/* 相关产品 */
.wecent-site .related.products > h2,
.wecent-site .upsells.products > h2 {
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  margin-bottom: 1em;
}

.wecent-site .related.products ul.products,
.wecent-site .upsells.products ul.products {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* 按钮统一到设计系统 */
.wecent-site .woocommerce a.button,
.wecent-site .woocommerce button.button,
.wecent-site .woocommerce input.button,
.wecent-site .woocommerce #respond input#submit,
.wecent-site .woocommerce .cart .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: var(--blue);
  color: #fff;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1;
  transition: background 0.2s ease, transform 0.2s ease;
}

.wecent-site .woocommerce a.button:hover,
.wecent-site .woocommerce button.button:hover,
.wecent-site .woocommerce input.button:hover,
.wecent-site .woocommerce #respond input#submit:hover {
  background: var(--blue-dark);
  transform: translateY(-2px);
}

/* 提示信息 */
.wecent-site .woocommerce-message,
.wecent-site .woocommerce-info,
.wecent-site .woocommerce-error {
  border-top-color: var(--blue);
  background: var(--blue-soft);
  border-radius: var(--radius);
  font-size: 0.92rem;
}

/* ==========================================================================
   响应式
   ========================================================================== */
@media (max-width: 1024px) {
  .wecent-site ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wecent-site .woocommerce div.product {
    grid-template-columns: 1fr;
  }

  .wecent-site .related.products ul.products,
  .wecent-site .upsells.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .wecent-site ul.products,
  .wecent-site .related.products ul.products,
  .wecent-site .upsells.products ul.products {
    grid-template-columns: 1fr;
  }

  .wecent-site .woocommerce div.product .flex-control-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ==========================================================================
   询盘表单（[wecent_quote_form]）
   ========================================================================== */

.wecent-quote {
  margin: 0;
}

.wecent-quote__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.wecent-quote__full {
  grid-column: 1 / -1;
}

.wecent-quote label {
  display: grid;
  gap: 7px;
  font-family: var(--font-body);
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--ink);
}

.wecent-quote input,
.wecent-quote select,
.wecent-quote textarea {
  width: 100%;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font: inherit;
  font-size: 0.94rem;
  font-weight: 400;
  color: var(--body);
  background: #fff;
}

.wecent-quote input:focus,
.wecent-quote select:focus,
.wecent-quote textarea:focus {
  outline: 2px solid var(--blue-soft);
  border-color: var(--blue);
}

.wecent-quote textarea {
  resize: vertical;
}

@media (max-width: 720px) {
  .wecent-quote__grid {
    grid-template-columns: 1fr;
  }
}
