/*
Theme Name: Staylighting B2B
Theme URI: https://staylighting.com
Description: B2B child theme for Staylighting (lighting for hotels, restaurants, boutiques). Replaces header/footer with editorial-luxury design system. Parents: Astra.
Author: Staylighting
Author URI: https://staylighting.com
Template: astra
Version: 1.0.16
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: staylighting
*/

/* =====================================================================
   STAYLIGHTING B2B CHILD THEME — Design System
   Single source of truth for tokens. Change here → cascades everywhere.
   ===================================================================== */

:root {
  /* Brand palette — 6 colours */
  --c-charcoal: #1A1A1A;       /* primary text, dark blocks */
  --c-ivory:    #F8F4ED;       /* main background */
  --c-cream:    #ECE5D9;       /* secondary bg, separators */
  --c-brass:    #B08D57;       /* metallic accent, badges */
  --c-copper:   #C8956D;       /* warm accent, CTA */
  --c-trade-green: #3F6E4E;    /* B2B-only: Trade / Wholesale / RFQ */
  --c-muted:    #6b6357;       /* secondary text */
  --c-border:   #D6CDB9;       /* cream borders */

  /* Type */
  --f-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --f-sans:  'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Spacing */
  --sp-xs: 8px;
  --sp-sm: 16px;
  --sp-md: 24px;
  --sp-lg: 40px;
  --sp-xl: 72px;

  /* Radii */
  --r-sm: 6px;
  --r-md: 12px;

  /* Container */
  --max-w: 1280px;
  --pad-x: 24px;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden; }

/* Override Astra's typography defaults */
body, .site-content {
  font-family: var(--f-sans);
  color: #1A1A1A;
  background: #F8F4ED;
}
h1, h2, h3, h4, h5, h6, .entry-title, .page-title {
  font-family: var(--f-serif);
  font-weight: 500;
  color: #1A1A1A;
  letter-spacing: -0.01em;
}

/* Strip Astra's default header/footer wrapper styles so our replacements shine */
.site-header, .site-footer { background: transparent; padding: 0; }
.ast-primary-header-bar { background: transparent; border: 0; }
.site-content .ast-container { max-width: var(--max-w); padding-left: var(--pad-x); padding-right: var(--pad-x); }
.site-content { padding-top: 0; padding-bottom: 0; }

/* =====================================================================
   HEADER — B2B
   ===================================================================== */
.b2b-header {
  position: sticky; top: 0; z-index: 999;
  background: rgba(248, 244, 237, 0.96);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--c-border);
}
.b2b-header-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 14px var(--pad-x);
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-md);
}
.b2b-logo {
  display: inline-flex; align-items: center; gap: 10px;
  color: #1A1A1A; text-decoration: none;
}
.b2b-logo svg { width: 32px; height: 32px; color: var(--c-brass); }
.b2b-logo .wordmark {
  font-family: var(--f-serif); font-size: 1.4rem;
  color: #1A1A1A; line-height: 1;
}
.b2b-logo .wordmark em { font-style: italic; color: var(--c-copper); }
.b2b-tagline {
  font-size: 0.65rem; color: var(--c-muted);
  letter-spacing: 0.1em; text-transform: uppercase;
  margin-top: 2px; display: block;
}
.b2b-nav { display: flex; gap: var(--sp-md); align-items: center; font-size: 0.9rem; }
.b2b-nav a {
  color: #1A1A1A; font-weight: 500;
  text-decoration: none; transition: color 0.15s;
}
.b2b-nav a:hover { color: #3F6E4E; }
.b2b-nav .nav-cta {
  display: inline-flex; padding: 8px 18px;
  background: #3F6E4E; color: #fff;
  border-radius: 99px; font-weight: 600;
  transition: background 0.2s;
}
.b2b-nav .nav-cta:hover { background: #2d5538; color: #fff; }
.b2b-header-mobile-btn {
  display: none; cursor: pointer;
  width: 42px; height: 42px;
  align-items: center; justify-content: center;
  background: #FFFFFF; border: 1px solid #E3DCCF; border-radius: 10px;
  color: #1A1A1A;
  transition: border-color .15s, background .15s;
}
.b2b-header-mobile-btn:hover{ border-color: #B08D57; background: #F8F4ED; }
.b2b-burger { display: flex; flex-direction: column; justify-content: space-between; width: 22px; height: 16px; flex: none; }
.b2b-burger i { display: block; width: 22px; height: 2.5px; background: #1A1A1A; border-radius: 2px; }
.b2b-mobile-menu { display: none; }

/* =====================================================================
   FOOTER — B2B
   ===================================================================== */
.b2b-footer {
  background: #1A1A1A;
  color: #F8F4ED;
  padding: var(--sp-xl) 0 var(--sp-md);
  font-size: 0.9rem;
}
.b2b-footer-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--pad-x);
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: var(--sp-lg);
}
.b2b-footer .logo-row { display: flex; align-items: center; gap: 10px; margin-bottom: var(--sp-md); }
.b2b-footer .logo-row svg { width: 36px; height: 36px; color: var(--c-brass); }
.b2b-footer .logo-row .wordmark { font-family: var(--f-serif); font-size: 1.4rem; color: #F8F4ED; }
.b2b-footer h4 {
  font-family: var(--f-serif); font-weight: 500;
  font-size: 1.05rem; color: var(--c-brass);
  margin-bottom: var(--sp-md);
}
.b2b-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--sp-sm); font-size: 0.85rem; opacity: 0.85; }
.b2b-footer a { color: #F8F4ED; text-decoration: none; transition: color 0.15s; }
.b2b-footer a:hover { color: var(--c-brass); }
.b2b-footer-bottom {
  max-width: var(--max-w);
  margin: var(--sp-xl) auto 0;
  padding: var(--sp-md) var(--pad-x) 0;
  border-top: 1px solid rgba(248, 244, 237, 0.12);
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--sp-sm);
  font-size: 0.8rem; opacity: 0.7;
}
.b2b-footer-bottom .policies { display: flex; gap: var(--sp-md); flex-wrap: wrap; }
.b2b-footer-bottom .policies a { color: #F8F4ED; }

/* =====================================================================
   EYEBROW + BUTTONS (shared across all B2B pages)
   ===================================================================== */
.eyebrow {
  font-size: 0.75rem; font-weight: 600;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--c-brass);
  display: inline-block; margin-bottom: var(--sp-sm);
}
.eyebrow.green { color: #3F6E4E; }

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 14px 28px; border-radius: var(--r-sm);
  font-weight: 600; font-size: 0.95rem;
  text-decoration: none; cursor: pointer;
  transition: all 0.2s ease; white-space: nowrap;
  border: 1.5px solid transparent;
}
.btn-primary { background: #1A1A1A; color: #F8F4ED; }
.btn-primary:hover { background: #000; transform: translateY(-1px); color: #F8F4ED; }
.btn-outline { background: transparent; color: #1A1A1A; border-color: #1A1A1A; }
.btn-outline:hover { background: #1A1A1A; color: #F8F4ED; }
.btn-trade { background: #3F6E4E; color: #fff; }
.btn-trade:hover { background: #2d5538; color: #fff; transform: translateY(-1px); }
.btn-trade-outline { background: transparent; color: #3F6E4E; border-color: #3F6E4E; }
.btn-trade-outline:hover { background: #3F6E4E; color: #fff; }

/* =====================================================================
   HOMEPAGE — Hero / Trust Bar / Categories / Projects / OEM / Trade / FAQ
   ===================================================================== */

/* Hero — 浅色明暗对半（2026-08-23 方案3+方案2按钮） */
.b2b-hero {
  position: relative; overflow: hidden;
  min-height: 560px;
  background:
    radial-gradient(120% 90% at 85% 8%, rgba(176,141,87,.16) 0%, rgba(26,26,26,0) 55%),
    linear-gradient(115deg, #F8F4ED 0%, #F3ECDF 58%, #EAE0CC 100%);
  color: #1A1A1A;
}
.b2b-hero h1 { color: #1A1A1A; }
.b2b-hero-inner {
  max-width: var(--max-w); margin: 0 auto;
  display: grid; grid-template-columns: 1.1fr 1fr;
  gap: var(--sp-xl); padding: var(--sp-xl) var(--pad-x); align-items: center;
}
.b2b-hero h1 {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 1.05;
  margin: var(--sp-sm) 0 var(--sp-md);
}
.b2b-hero p { font-size: 1.05rem; opacity: 1; color: #6B6357; max-width: 46ch; line-height: 1.6; }
.b2b-hero .ctas { display: flex; flex-wrap: wrap; gap: var(--sp-sm); margin-top: var(--sp-md); }
.b2b-hero-trust-tags { margin-top: var(--sp-lg); display: flex; flex-wrap: wrap; gap: var(--sp-sm); }
.b2b-hero-trust-tag {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; border: 1px solid rgba(26, 26, 26, 0.25); border-radius: 99px;
  font-size: 0.8rem; color: #1A1A1A;
}
.b2b-hero-trust-tag::before {
  content: ""; width: 6px; height: 6px;
  background: var(--c-brass); border-radius: 50%;
}
.b2b-hero-visual {
  aspect-ratio: 4/5;
  background-color: #2a2218;
  background-size: cover; background-position: center;
  border-radius: var(--r-md);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
  position: relative;
}
.b2b-hero-visual::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(236,229,217,0) 72%, rgba(236,229,217,.85) 100%),
    linear-gradient(115deg, rgba(248,244,237,.85) 0%, rgba(248,244,237,0) 36%);
}
.b2b-hero-badge {
  position: absolute; right: 18px; top: 20px; z-index: 2;
  color: #F8F4ED; font-family: var(--f-serif); font-size: 13px; letter-spacing: .14em;
  border: 1px solid rgba(248,244,237,.65); padding: 9px 16px; border-radius: 2px;
  background: rgba(26,26,26,.22);
}
/* 桌面：照片右半满幅（真明暗对半） */
@media (min-width: 901px){
  .b2b-hero-visual{ position: absolute; top: 0; right: 0; bottom: 0; width: 46%; aspect-ratio: auto; border-radius: 0; box-shadow: none; }
  .b2b-hero-visual::after{
    background:
      linear-gradient(180deg, rgba(236,229,217,0) 68%, rgba(236,229,217,.9) 100%),
      linear-gradient(115deg, rgba(248,244,237,.9) 0%, rgba(248,244,237,0) 34%);
  }
}
/* 移动端：文字+照片上下堆叠，照片压横幅，徽章隐藏 */
@media (max-width:900px){
  .b2b-hero-inner{ grid-template-columns: 1fr; gap: var(--sp-lg); }
  .b2b-hero-visual{ width: 100%; max-width: 520px; margin: 0 auto; aspect-ratio: 16/10; }
  .b2b-hero-badge{ display: none; }
}

/* Trust Bar */
.b2b-trust-bar { background: var(--c-cream); padding: var(--sp-lg) 0; }
/* 信任条下方：小单友好声明（2026-09-18，措辞由老程定：Small orders welcome） */
.b2b-trust-note {
  max-width: var(--max-w); margin: var(--sp-md) auto 0; padding: 0 var(--pad-x);
  text-align: center; font-size: 0.9rem; color: var(--c-muted); line-height: 1.5;
}
.b2b-trust-note strong { color: var(--c-charcoal); font-weight: 600; }
.b2b-trust-grid {
  max-width: var(--max-w); margin: 0 auto; padding: 0 var(--pad-x);
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-md);
}
.b2b-trust-stat { text-align: center; }
.b2b-trust-stat-number {
  display: block;
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(2rem, 4vw, 3rem); color: #1A1A1A;
  line-height: 1.1;
}
.b2b-trust-stat.green .b2b-trust-stat-number { color: #3F6E4E; }
.b2b-trust-stat-label {
  font-size: 0.85rem; color: var(--c-muted);
  letter-spacing: 0.05em; text-transform: uppercase;
  margin-top: 6px;
}

/* Generic section */
.b2b-section { padding: var(--sp-xl) 0; }
.b2b-section .container { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--pad-x); }
.b2b-section h2 {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(1.8rem, 3vw, 2.6rem); margin-bottom: var(--sp-sm);
}
.b2b-section .lead { font-size: 1.05rem; color: var(--c-muted); max-width: 60ch; line-height: 1.6; margin-bottom: var(--sp-lg); }

/* Categories */
.b2b-categories {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-md);
  margin-top: var(--sp-lg);
}
.b2b-cat-card {
  background: #F8F4ED; border-radius: var(--r-md);
  border: 1px solid var(--c-border); overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
}
.b2b-cat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}
.b2b-cat-visual {
  aspect-ratio: 4/5; background-size: cover; background-position: center;
  background-color: var(--c-cream);
}
.b2b-cat-info { padding: var(--sp-md); }
.b2b-cat-badges { display: flex; gap: 6px; margin-bottom: var(--sp-sm); flex-wrap: wrap; }
.b2b-cat-badge {
  font-size: 0.65rem; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 99px; font-weight: 600;
}
.b2b-cat-badge.moq { background: #3F6E4E; color: #fff; }
.b2b-cat-badge.member { background: var(--c-cream); color: #1A1A1A; border: 1px solid var(--c-border); }
.b2b-cat-info h3 {
  font-family: var(--f-serif); font-weight: 500; font-size: 1.3rem;
  margin-bottom: 6px; color: #1A1A1A;
}
.b2b-cat-info p { font-size: 0.85rem; color: var(--c-muted); line-height: 1.5; margin-bottom: var(--sp-sm); }
.b2b-cat-ctas { display: flex; gap: var(--sp-sm); font-size: 0.85rem; }
.b2b-cat-ctas .ex { color: #1A1A1A; font-weight: 600; text-decoration: none; border-bottom: 1px solid #1A1A1A; }
.b2b-cat-ctas .qt { color: #3F6E4E; font-weight: 600; text-decoration: none; border-bottom: 1px solid #3F6E4E; }

/* OEM section */
.b2b-oem { background: var(--c-cream); }
.b2b-oem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-xl); align-items: center; }
.b2b-oem-grid > div:first-child h2 { color: #3F6E4E; }
.b2b-oem-flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-md); }
.b2b-oem-swipe-hint { display: none; }
.b2b-step { padding: var(--sp-sm); }
.b2b-step-num {
  width: 32px; height: 32px; border-radius: 50%;
  background: #3F6E4E; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--f-serif); font-size: 1rem; font-weight: 500;
  margin-bottom: var(--sp-sm);
}
.b2b-step h4 {
  font-family: var(--f-serif); font-weight: 500; font-size: 1.05rem;
  margin-bottom: 4px;
}
.b2b-step p { font-size: 0.85rem; color: var(--c-muted); line-height: 1.5; margin: 0; }
.b2b-oem-caps {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-md);
  margin-top: var(--sp-md);
}
.b2b-cap { display: flex; align-items: flex-start; gap: var(--sp-sm); }
.b2b-cap-icon {
  width: 40px; height: 40px; border-radius: var(--r-sm);
  background: #3F6E4E; color: #fff;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.b2b-cap h4 {
  font-family: var(--f-serif); font-weight: 500; font-size: 1rem;
  margin-bottom: 2px; color: #1A1A1A;
}
.b2b-cap p { font-size: 0.85rem; color: var(--c-muted); margin: 0; }

/* ----- OEM cap icons (homepage section) -----
   The 4 b2b-cap-icon divs in page 1535 (Home) had inline SVGs that
   WordPress's content sanitizer stripped on save, leaving &nbsp;
   behind — visible as empty green squares. Inject the icons here
   via background-image data URIs so they survive without DB edits. */
.b2b-oem-caps .b2b-cap-icon {
  background-color: #3F6E4E;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 22px 22px;
  font-size: 0;            /* hide the empty &nbsp; */
  color: transparent;
  text-indent: -9999px;
}
.b2b-oem-caps .b2b-cap:nth-child(1) .b2b-cap-icon {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z'/><path d='m15 5 4 4'/></svg>");
}
.b2b-oem-caps .b2b-cap:nth-child(2) .b2b-cap-icon {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z'/><path d='M17 18h1M12 18h1M7 18h1'/></svg>");
}
.b2b-oem-caps .b2b-cap:nth-child(3) .b2b-cap-icon {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/><path d='m9 12 2 2 4-4'/></svg>");
}
.b2b-oem-caps .b2b-cap:nth-child(4) .b2b-cap-icon {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M2 12h20'/><path d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/></svg>");
}

/* Projects */
.b2b-projects-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 200px;
  gap: var(--sp-sm);
  margin-top: var(--sp-lg);
}
.b2b-proj { border-radius: var(--r-md); overflow: hidden; position: relative; background-size: cover; background-position: center; background-color: var(--c-cream); }
.b2b-proj.wide { grid-column: span 6; grid-row: span 3; }
.b2b-proj.large { grid-column: span 3; grid-row: span 2; }
.b2b-proj.medium { grid-column: span 2; grid-row: span 2; }
.b2b-proj.small { grid-column: span 2; grid-row: span 1; }
.b2b-proj::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(26, 26, 26, 0.7) 100%);
}
.b2b-proj-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 64px 18px 16px;
  color: #fff; z-index: 2;
  background: linear-gradient(180deg, rgba(26,26,26,0) 0%, rgba(26,26,26,0.78) 55%, rgba(26,26,26,0.92) 100%);
  pointer-events: none;
}
.b2b-proj-caption .proj-cat {
  display: block;
  font-size: 0.7rem; font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: rgba(255,255,255,0.88);
  margin: 0;
}
.b2b-proj-caption h4 {
  font-family: var(--f-serif);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-weight: 500; color: #fff;
  margin: 8px 0 0; line-height: 1.22;
  text-shadow: 0 1px 2px rgba(0,0,0,0.35);
}

/* Trade banner */
.b2b-trade { background: #3F6E4E; color: #fff; padding: var(--sp-xl) 0; }
.b2b-trade-inner {
  max-width: var(--max-w); margin: 0 auto; padding: 0 var(--pad-x);
  display: grid; grid-template-columns: 1.1fr 1fr;
  gap: var(--sp-xl); align-items: center;
}
.b2b-trade h2 { font-family: var(--f-serif); font-weight: 500; font-size: clamp(2rem, 4vw, 3rem); color: #fff; margin-bottom: var(--sp-md); }
.b2b-trade p { font-size: 1.05rem; opacity: 0.95; max-width: 52ch; line-height: 1.6; margin-bottom: var(--sp-md); }
.b2b-trade-features { display: flex; flex-wrap: wrap; gap: var(--sp-md); margin-top: var(--sp-md); }
.b2b-trade-features span {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.85rem;
}
.b2b-trade-features span::before { content: "✓"; color: #b4e3c0; font-weight: 700; }
.b2b-trade-visual {
  aspect-ratio: 4/3; border-radius: var(--r-md);
  background-size: cover; background-position: center; background-color: #2a4034;
}
.btn-trade-on-green { background: #fff; color: #3F6E4E; }
.btn-trade-on-green:hover { background: #F8F4ED; color: #3F6E4E; transform: translateY(-1px); }

/* FAQ */
.b2b-faq { background: #F8F4ED; }
.b2b-faq-list { max-width: 800px; margin: var(--sp-lg) auto 0; padding: 0 var(--pad-x); }
.b2b-faq-item {
  border-bottom: 1px solid var(--c-border);
  padding: var(--sp-md) 0;
}
.b2b-faq-q {
  display: flex; justify-content: space-between; align-items: center;
  width: 100%; background: none; border: 0;
  font-family: var(--f-serif); font-size: 1.15rem;
  color: #1A1A1A; cursor: pointer;
  text-align: left; padding: 0;
}
.b2b-faq-q::after {
  content: "+"; font-size: 1.4rem; color: #3F6E4E;
  margin-left: var(--sp-md); transition: transform 0.2s;
}
.b2b-faq-item.open .b2b-faq-q::after { content: "−"; }
.b2b-faq-a {
  display: none;
  font-size: 0.95rem; color: #1A1A1A;
  line-height: 1.7; margin-top: var(--sp-sm);
}
.b2b-faq-item.open .b2b-faq-a { display: block; }

/* FAQ 标题 hover/点击 —— 压过 Astra 全局 button 样式（白框浅字） */
.b2b-faq-q:hover,
.b2b-faq-q:focus,
.b2b-faq-q:active {
  background: none !important;
  color: #B08D57 !important;      /* 悬停变黄铜金 */
  outline: none;
}
.b2b-faq-q:hover::after,
.b2b-faq-q:focus::after,
.b2b-faq-q:active::after {
  color: #B08D57;
}
.b2b-faq-q:focus-visible {
  outline: 2px solid rgba(176,141,87,.55);
  outline-offset: 4px;
  border-radius: 4px;
}
.b2b-faq-item.open .b2b-faq-q { color: #3F6E4E; }

/* =====================================================================
   POLICY PAGE TEMPLATE (5 legal pages share this)
   ===================================================================== */
.policy-wrap { background: #F8F4ED; }
.policy-hero {
  background: #1A1A1A; color: #F8F4ED;
  padding: var(--sp-xl) 0;
}
.policy-hero .container { max-width: 960px; margin: 0 auto; padding: 0 var(--pad-x); }
.policy-hero h1 {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.1;
  margin: 6px 0 var(--sp-md); max-width: 20ch;
}
.policy-hero p { opacity: 0.85; max-width: 62ch; line-height: 1.6; }
.policy-hero .updated {
  display: inline-block; margin-top: var(--sp-md);
  padding: 6px 12px; border: 1px solid rgba(248, 244, 237, 0.25);
  border-radius: 99px; font-size: 0.75rem;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-brass);
}
.policy-body { padding: var(--sp-xl) 0; }
.policy-body .container { max-width: 820px; margin: 0 auto; padding: 0 var(--pad-x); }
.policy-section { margin-bottom: var(--sp-xl); padding-bottom: var(--sp-lg); border-bottom: 1px solid var(--c-border); }
.policy-section:last-of-type { border-bottom: none; }
.policy-section h2 { font-family: var(--f-serif); font-weight: 500; font-size: clamp(1.4rem, 2.5vw, 1.8rem); color: #1A1A1A; margin-bottom: var(--sp-md); }
.policy-section h3 { font-family: var(--f-serif); font-weight: 500; font-size: 1.15rem; color: #1A1A1A; margin: var(--sp-md) 0 var(--sp-sm); }
.policy-section p { color: #1A1A1A; line-height: 1.7; margin-bottom: var(--sp-sm); font-size: 1rem; }
.policy-section ul, .policy-section ol { margin: var(--sp-sm) 0 var(--sp-md) var(--sp-md); color: #1A1A1A; line-height: 1.7; }
.policy-section ul li, .policy-section ol li { margin-bottom: 6px; }
.policy-section strong { color: #3F6E4E; font-weight: 600; }
.policy-section table { width: 100%; border-collapse: collapse; margin: var(--sp-md) 0; }
.policy-section th, .policy-section td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--c-border); font-size: 0.95rem; vertical-align: top; }
.policy-section thead th { background: var(--c-cream); font-family: var(--f-serif); font-weight: 500; color: #1A1A1A; }
.policy-section td:first-child { font-weight: 600; color: #1A1A1A; }
.policy-note { background: var(--c-cream); border-left: 4px solid var(--c-brass); padding: var(--sp-md); border-radius: 0 var(--r-sm) var(--r-sm) 0; margin: var(--sp-md) 0; }
.policy-note p { margin: 0; font-size: 0.95rem; line-height: 1.6; }
.policy-note p + p { margin-top: var(--sp-sm); }
.policy-contact { background: var(--c-cream); padding: var(--sp-lg) 0; text-align: center; }
.policy-contact .container { max-width: 760px; margin: 0 auto; padding: 0 var(--pad-x); }
.policy-contact h3 { font-family: var(--f-serif); font-weight: 500; font-size: 1.4rem; margin-bottom: var(--sp-sm); }
.policy-contact p { color: var(--c-muted); margin-bottom: var(--sp-md); }
.policy-contact .btn-trade { display: inline-block; }

/* =====================================================================
   RESPONSIVE — tablet / mobile
   ===================================================================== */
@media (max-width: 980px) {
  :root { --sp-xl: 56px; --pad-x: 18px; }
  /* Header */
  .b2b-nav { display: none; }
  .b2b-header-mobile-btn { display: flex; }
  .b2b-mobile-menu {
    display: none; flex-direction: column;
    padding: var(--sp-sm) var(--pad-x) var(--sp-md);
    background: #F8F4ED; border-top: 1px solid var(--c-border);
    gap: var(--sp-sm);
  }
  .b2b-mobile-menu.open { display: flex; }
  .b2b-mobile-menu a { padding: 8px 0; color: #1A1A1A; text-decoration: none; border-bottom: 1px solid var(--c-border); }
  .b2b-mobile-menu a:last-child { border-bottom: 0; }
  /* Shop 下一级分类：缩进 + 小字 + 铜色引导符，与一级目录区分 */
  .b2b-mobile-menu a.b2b-mobile-parent { font-weight: 700; }
  .b2b-mobile-menu a.b2b-mobile-sub {
    padding-left: 24px; font-size: 0.9rem; color: #6B6357;
    border-bottom: none; position: relative;
  }
  .b2b-mobile-menu a.b2b-mobile-sub::before {
    content: "—"; position: absolute; left: 8px; color: var(--c-brass); font-weight: 600;
  }
  /* Hero */
  .b2b-hero-inner { grid-template-columns: 1fr; gap: var(--sp-lg); padding: var(--sp-lg) var(--pad-x); }
  .b2b-hero .b2b-hero-visual { aspect-ratio: 4/3; width: 100%; max-width: 480px; margin: 0 auto; }
  /* Trust bar */
  .b2b-trust-grid { grid-template-columns: repeat(2, 1fr); }
  /* Categories */
  .b2b-categories { grid-template-columns: repeat(2, 1fr); }
  /* OEM */
  .b2b-oem-grid { grid-template-columns: 1fr; gap: var(--sp-lg); }
  .b2b-oem-flow { grid-template-columns: repeat(2, 1fr); }
  .b2b-oem-caps { grid-template-columns: repeat(2, 1fr); }
  /* Projects */
  .b2b-projects-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 160px; }
  .b2b-proj.wide { grid-column: span 4; grid-row: span 2; }
  .b2b-proj.large { grid-column: span 4; grid-row: span 2; }
  .b2b-proj.medium { grid-column: span 2; grid-row: span 2; }
  .b2b-proj.small { grid-column: span 2; grid-row: span 1; }
  /* Trade */
  .b2b-trade-inner { grid-template-columns: 1fr; }
  /* Footer */
  .b2b-footer-inner { grid-template-columns: repeat(2, 1fr); gap: var(--sp-lg); }
}
@media (max-width: 560px) {
  .b2b-hero h1 { font-size: 2.4rem; }
  .b2b-section h2 { font-size: 1.8rem; }
  .b2b-section .lead { font-size: 1rem; }
  .b2b-categories { grid-template-columns: 1fr; }
  .b2b-trust-grid { grid-template-columns: 1fr; }
  .b2b-oem-flow { grid-template-columns: 1fr; }
  .b2b-oem-caps { grid-template-columns: 1fr; }
  .b2b-projects-grid { grid-template-columns: 1fr; grid-auto-rows: 200px; }
  .b2b-proj.wide, .b2b-proj.large, .b2b-proj.medium, .b2b-proj.small { grid-column: span 1; grid-row: span 1; }
  .b2b-footer-inner { grid-template-columns: 1fr; }
  .policy-hero h1 { font-size: 2.2rem; }
  .policy-hero p { font-size: 1rem; }
  .policy-section h2 { font-size: 1.5rem; }
  .policy-section p, .policy-section ul, .policy-section ol { font-size: 1rem; }
}
@media (max-width: 380px) {
  .b2b-hero h1 { font-size: 2.1rem; }
  .b2b-trust-stat-number { font-size: 2rem; }
  .policy-hero h1 { font-size: 1.9rem; }
}

/* =====================================================================
   SHOP / PRODUCT ARCHIVE — B2B edition (v1.0.6)
   Wraps archive-product.php + content-product.php + single price block
   ===================================================================== */
.sl-shop-hero{
  padding: 64px 40px 44px;
  text-align: center;
  background: linear-gradient(180deg, #F8F4ED 0%, #ECE5D9 100%);
  border-bottom: 1px solid #DAD0BE;
}
.sl-eyebrow{
  color: #B08D57; font-size: 12.5px; letter-spacing: .22em;
  text-transform: uppercase; font-weight: 600; margin-bottom: 14px;
}
.sl-shop-title{ font-size: 52px; line-height: 1.05; letter-spacing: .01em; margin: 0; color: #1A1A1A; }
.sl-shop-sub{
  max-width: 560px; margin: 18px auto 0; color: #6B6357; font-size: 15.5px; line-height: 1.6;
}
.sl-toolbar{ max-width: 1180px; margin: 0 auto; padding: 22px 40px 0; }
.sl-toolbar-inner{ display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-bottom: 1px solid #DAD0BE; padding-bottom: 14px; }
.sl-toolbar-inner p, .sl-toolbar-inner form{ margin: 0; }
.sl-toolbar-inner .woocommerce-result-count{ font-size: 13px; color: #6B6357; }
.sl-toolbar-inner select{ border: 1px solid #DAD0BE; background: #fff; padding: 8px 12px; border-radius: 8px; font-size: 13px; color: #1A1A1A; }

.sl-grid{
  max-width: 1180px; margin: 30px auto 70px; padding: 0 40px;
  display: grid; gap: 30px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.sl-card{
  background: #fff; border: 1px solid #DAD0BE; border-radius: 12px;
  overflow: hidden; display: flex; flex-direction: column;
  transition: transform .18s ease, box-shadow .18s ease;
  list-style: none;
}
.sl-card:hover{ transform: translateY(-4px); box-shadow: 0 14px 34px rgba(26,26,26,.10); }

.sl-card-thumb{
  position: relative; display: block; aspect-ratio: 4/5; overflow: hidden;
  background: linear-gradient(160deg, #F8F4ED, #ECE5D9);
  border-bottom: 1px solid #DAD0BE;
}
.sl-card-thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.sl-thumb-ph{
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #B08D57;
}
.sl-thumb-ring{
  position: absolute; inset: 22px; border: 1px solid #B08D57; opacity: .55;
  border-radius: 50% 50% 46% 46% / 58% 58% 42% 42%;
}
.sl-thumb-ph svg{ width: 64px; height: 64px; position: relative; z-index: 1; }
.sl-corner{
  position: absolute; top: 12px; left: 12px; z-index: 2;
  font-size: 11px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600;
  padding: 5px 11px; border-radius: 999px; color: #fff;
}
.sl-corner-sale{ background: #C8956D; }
.sl-corner-ws{
  left: auto; right: 12px;
  background: rgba(63,110,78,.10); color: #335B41; border: 1px solid rgba(63,110,78,.35);
}

.sl-card-body{ padding: 20px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.sl-cat{
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: #B08D57; font-weight: 600; margin-bottom: 8px;
}
.sl-card-title{ font-size: 23px; line-height: 1.15; margin: 0 0 12px; }
.sl-card-title a{ color: #1A1A1A; text-decoration: none; }
.sl-card-title a:hover{ color: #B08D57; }

.slw-price-block{ margin: 2px 0 12px; }
.slw-price-block .slw-main{ font-size: 20px; font-weight: 600; color: #1A1A1A; }
.slw-price-block .slw-unit{ font-size: 11px; font-weight: 500; color: #6B6357; letter-spacing: .04em; text-transform: uppercase; }
.slw-price-block .slw-was{ font-size: 13px; color: #6B6357; text-decoration: line-through; }
.slw-price-block .slw-tier-line{
  margin-top: 7px; font-size: 13px; font-weight: 600; color: #335B41;
  display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
}
.slw-price-block .slw-badge{
  background: #3F6E4E; color: #fff; font-size: 10px; letter-spacing: .06em;
  text-transform: uppercase; padding: 3px 8px; border-radius: 5px; font-weight: 600;
}
.slw-price-block .slw-member-ok{ margin-top: 6px; font-size: 12px; color: #3F6E4E; }

.sl-card-cta{ margin-top: auto; display: flex; flex-direction: column; gap: 9px; }
.sl-btn{
  display: block; text-align: center; text-decoration: none;
  font-size: 13px; letter-spacing: .05em; font-weight: 600;
  padding: 11px 14px; border-radius: 8px; transition: .15s; cursor: pointer;
}
.sl-btn-retail{ background: #C8956D; color: #fff; border: 1px solid #C8956D; }
.sl-btn-retail:hover{ background: #B57E55; color: #fff; }
.sl-btn-trade{ background: transparent; color: #1A1A1A; border: 1px solid #3F6E4E; }
.sl-btn-trade:hover{ background: #3F6E4E; color: #fff; }
.sl-tier-applied{ font-size: 12px; color: #3F6E4E; font-weight: 600; text-align: center; padding: 11px 14px; border: 1px dashed #3F6E4E; border-radius: 8px; }

.sl-empty{ max-width: 1180px; margin: 40px auto 80px; padding: 0 40px; text-align: center; color: #6B6357; }
.sl-empty a{ color: #3F6E4E; font-weight: 600; }

.sl-single-price{ margin: 6px 0 8px; }
.slw-single-note{ margin: 10px 0 0; font-size: 13px; color: #335B41; font-weight: 600; }
.slw-single-note a{ color: #3F6E4E; text-decoration: underline; }

@media (max-width: 980px) {
  .sl-grid{ grid-template-columns: repeat(2, 1fr); }
  .sl-shop-title{ font-size: 42px; }
}
@media (max-width: 640px) {
  .sl-shop-hero{ padding: 44px 20px 32px; }
  .sl-shop-title{ font-size: 34px; }
  .sl-toolbar, .sl-grid, .sl-empty{ padding-left: 20px; padding-right: 20px; }
  .sl-grid{ grid-template-columns: 1fr; gap: 20px; }
  .sl-toolbar-inner{ justify-content: center; text-align: center; }
}

/* =====================================================================
   MOQ EDITION (v1.0.8) — 划线原价 + 折后价 + MOQ 徽章 + 图库
   ===================================================================== */
.slm-price-block{ margin: 2px 0 12px; }
.slm-price-block .slm-main{ font-size: 20px; font-weight: 600; color: #1A1A1A; }
.slm-price-block .slm-was{ font-size: 13px; color: #6B6357; text-decoration: line-through; }
.slm-price-block .slm-moq-line{ margin-top: 7px; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.slm-price-block .slm-moq-badge{
  background: #3F6E4E; color: #fff; font-size: 10px; letter-spacing: .06em;
  text-transform: uppercase; padding: 3px 8px; border-radius: 5px; font-weight: 600;
}
.slm-price-block .slm-moq-note{ font-size: 11px; color: #335B41; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }

.slm-single-note{ margin: 10px 0 0; font-size: 13px; color: #335B41; font-weight: 600; line-height: 1.6; }
.slm-single-note a{ color: #3F6E4E; text-decoration: underline; }

/* 详情页图库（主图大图 + 缩略图行，B2B 风格） */
.woocommerce-product-gallery{ background: #fff; border: 1px solid #DAD0BE; border-radius: 12px; padding: 10px; }
.woocommerce-product-gallery .flex-viewport{ border-radius: 8px; }
.woocommerce-product-gallery ol.flex-control-thumbs{
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px;
  margin: 10px 0 0; padding: 0; list-style: none;
}
.woocommerce-product-gallery ol.flex-control-thumbs li{ width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce-product-gallery ol.flex-control-thumbs img{
  width: 100%; aspect-ratio: 1/1; object-fit: cover;
  border: 1px solid #DAD0BE; border-radius: 6px; opacity: .75; cursor: pointer;
  transition: opacity .15s, border-color .15s;
}
.woocommerce-product-gallery ol.flex-control-thumbs img:hover{ opacity: 1; border-color: #B08D57; }
.woocommerce-product-gallery ol.flex-control-thumbs img.flex-active{ opacity: 1; border-color: #3F6E4E; }

.slm-cart-note{
  background: #EAF3EC; border: 1px solid #3F6E4E; color: #2d5538;
  padding: 12px 16px; border-radius: 8px; margin-bottom: 18px; font-size: .9rem; line-height: 1.6;
}
.slm-cart-warn{ background: #FCF3EC; border-color: #C8956D; color: #7a4a2b; }
.slm-cart-warn ul{ margin: .4em 0 0 1.2em; }
.slm-cart-moq{
  display: inline-block; margin-top: 4px; font-size: 10px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  background: #EAF3EC; color: #335B41; padding: 2px 8px; border-radius: 5px;
}

/* 结账「国际运输协助」区块 */
#sl_freight_field .woocommerce-input-wrapper{ display: flex; flex-direction: column; gap: 8px; }
#sl_freight_field input[type="radio"]{ margin-right: 8px; }
#sl_freight_dest_field{ transition: opacity .15s; }

/* 发布页引导条（admin）—— 产品编辑页专用 */
body.post-type-product .notice{ }

/* =====================================================================
   NAV DROPDOWN — Shop 下拉分类菜单
   ===================================================================== */
.b2b-nav-has-menu{ position: relative; display: inline-block; }
.b2b-nav-has-menu .b2b-nav-toggle{ display: inline-flex; align-items: center; gap: 4px; }
.b2b-nav-has-menu .b2b-nav-toggle svg{ transition: transform .15s; }
.b2b-nav-has-menu:hover .b2b-nav-toggle svg{ transform: rotate(180deg); }
.b2b-nav-has-menu .b2b-nav-menu{
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  background: #fff; border: 1px solid #DAD0BE; border-radius: 10px;
  min-width: 240px; padding: 8px; box-shadow: 0 12px 30px rgba(26,26,26,.12);
  display: none; z-index: 60; margin-top: 10px;
}
.b2b-nav-has-menu .b2b-nav-menu::before{
  content: ""; position: absolute; top: -10px; left: 0; right: 0; height: 10px;
}
.b2b-nav-has-menu:hover .b2b-nav-menu,
.b2b-nav-has-menu:focus-within .b2b-nav-menu{ display: block; }
.b2b-nav-menu a{
  display: block; padding: 9px 12px; border-radius: 6px;
  font-size: 13px; color: #1A1A1A; text-transform: none; letter-spacing: 0; opacity: 1;
}
.b2b-nav-menu a:hover{ background: #F8F4ED; color: #B08D57; }

/* =====================================================================
   BUYING GUIDE — 视觉化重设计
   ===================================================================== */
.bg-hero{
  position: relative; color: #F8F4ED; text-align: center;
  padding: 96px 40px; overflow: hidden;
  background-size: cover; background-position: center;
}
.bg-hero::before{
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(26,26,26,.72) 0%, rgba(10,10,10,.55) 100%);
}
.bg-hero .container{ position: relative; z-index: 1; }
.bg-hero .eyebrow{ color: #B08D57; }
.bg-hero h1{ font-size: 54px; line-height: 1.05; margin: 0 0 14px; }
.bg-hero p{ max-width: 620px; margin: 0 auto; font-size: 16px; line-height: 1.7; opacity: .92; }
.bg-hero .bg-cta{ margin-top: 26px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.bg-band{
  position: relative; color: #F8F4ED; padding: 64px 40px; text-align: center;
  background-size: cover; background-position: center;
}
.bg-band::before{ content: ""; position: absolute; inset: 0; background: rgba(20,40,28,.68); }
.bg-band .container{ position: relative; z-index: 1; max-width: 760px; }
.bg-band h2{ font-size: 34px; margin-bottom: 10px; }
.bg-band p{ line-height: 1.7; opacity: .95; }

.bg-cards{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 26px; }
.bg-card{
  background: #fff; border: 1px solid #DAD0BE; border-radius: 12px; overflow: hidden;
  display: flex; flex-direction: column;
}
.bg-card .bg-card-img{ height: 150px; background-size: cover; background-position: center; }
.bg-card .bg-card-body{ padding: 18px 20px 20px; }
.bg-card h3{ font-size: 19px; margin-bottom: 6px; }
.bg-card p{ font-size: 14px; color: #6B6357; line-height: 1.65; }

.bg-steps{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-top: 26px; }
.bg-step{
  background: #fff; border: 1px solid #DAD0BE; border-radius: 12px;
  padding: 20px 16px; text-align: center; position: relative;
}
.bg-step .bg-step-num{
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%;
  background: #3F6E4E; color: #fff; font-weight: 600; font-size: 14px; margin-bottom: 10px;
}
.bg-step h3{ font-size: 15px; margin-bottom: 6px; }
.bg-step p{ font-size: 12.5px; color: #6B6357; line-height: 1.6; }

.bg-enquiry{ background: var(--c-cream); }
.bg-enquiry .container{ max-width: 720px; }
.bg-enquiry .wpcf7{ background: #fff; border: 1px solid #DAD0BE; border-radius: 12px; padding: 26px 28px; }
.bg-enquiry .wpcf7 label{ display: block; font-size: .85rem; font-weight: 600; color: #1A1A1A; margin-top: 14px; }
.bg-enquiry .wpcf7 input[type="text"],
.bg-enquiry .wpcf7 input[type="email"],
.bg-enquiry .wpcf7 select,
.bg-enquiry .wpcf7 textarea{
  width: 100%; padding: 12px 14px; margin-top: 6px; border-radius: 8px;
  border: 1px solid var(--c-border); background: #F8F4ED; font-size: 15px; min-height: 48px;
}
.bg-enquiry .wpcf7 textarea{ min-height: 120px; resize: vertical; }
.bg-enquiry .wpcf7 input[type="submit"]{
  margin-top: 18px; background: #3F6E4E; color: #fff; border: 0; border-radius: 8px;
  padding: 13px 30px; font-size: 15px; font-weight: 600; cursor: pointer;
}
.bg-enquiry .wpcf7 input[type="submit"]:hover{ background: #335B41; }
.bg-enquiry .wpcf7-response-output{ margin: 14px 0 0 !important; }

@media (max-width: 980px){
  .bg-cards{ grid-template-columns: 1fr; }
  .bg-steps{ grid-template-columns: repeat(2, 1fr); }
  .bg-hero h1{ font-size: 40px; }
}
@media (max-width: 640px){
  .bg-hero{ padding: 60px 20px; }
  .bg-band{ padding: 44px 20px; }
  .bg-steps{ grid-template-columns: 1fr; }
  .bg-enquiry .wpcf7{ padding: 18px 16px; }
}


/* =====================================================================
   SINGLE PRODUCT POLISH (v1.0.10) — 服务两块 + 主图缩小 + 响应式
   ===================================================================== */
.slm-service-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0 6px; }
.slm-service{ border-radius: 10px; padding: 14px 16px; font-size: 13px; line-height: 1.65; }
.slm-service-included{ background: #EAF3EC; border: 1px solid #3F6E4E; }
.slm-service-extra{ background: #FCF6EE; border: 1px solid #C8956D; }
.slm-service-title{
  display: block; font-weight: 600; font-size: 12px; letter-spacing: .05em;
  text-transform: uppercase; margin-bottom: 7px;
}
.slm-service-included .slm-service-title{ color: #2d5538; }
.slm-service-extra .slm-service-title{ color: #7a4a2b; }
.slm-service ul{ margin: 0; padding-left: 18px; }
.slm-service li{ margin-bottom: 2px; }
.slm-service p{ margin: 0 0 8px; }
.slm-service a{ color: #3F6E4E; font-weight: 600; text-decoration: underline; }

.single-product .woocommerce-product-gallery{ max-width: 500px; width: 100%; }
.single-product .entry-summary .product_title{ font-size: 32px; line-height: 1.15; margin-bottom: 10px; }
.single-product .entry-summary .woocommerce-product-details__short-description{ color: #6B6357; font-size: 15px; line-height: 1.7; }
.single-product .entry-summary .sl-single-price{ margin-top: 6px; }

@media (max-width: 768px){
  .single-product .woocommerce-product-gallery{ max-width: 100%; }
  .slm-service-grid{ grid-template-columns: 1fr; gap: 10px; }
  .single-product .entry-summary .product_title{ font-size: 26px; }
}

/* =====================================================================
   SINGLE PRODUCT v3 (v1.0.12) — 整页限宽居中 + 主图列 500×500 (1:1) + 铜卡
   ===================================================================== */
/* 详情页整体：内容区限宽 1080px 居中，不再全屏撑满 */
.single-product div.product{
  display: flex; flex-wrap: wrap; align-items: flex-start;
  gap: 40px; max-width: 1080px; margin: 0 auto; padding: 0 24px;
}
/* 主图列：电脑端固定 500×500（1:1 正方形） */
.single-product .woocommerce-product-gallery{ flex: 0 0 500px; max-width: 500px; width: 100%; }
/* 强制主图为 1:1 正方形 —— 覆盖两种结构：
   A) 有图库(flexslider)：锁 .flex-viewport 容器 + img 填满
   B) 无图库(占位图 woocommerce-product-gallery--without-images)：直接锁 img
   !important 压过 flexslider/主题对 img 的内联宽高 */
.single-product .woocommerce-product-gallery .flex-viewport{ aspect-ratio: 1 / 1; overflow: hidden; }
.single-product .woocommerce-product-gallery .flex-viewport img,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery .wp-post-image{
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block;
  border-radius: 8px;
}
.single-product .woocommerce-product-gallery ol.flex-control-thumbs img{ aspect-ratio: 1 / 1; }
/* 信息列：占剩余宽度 */
.single-product .entry-summary{ flex: 1 1 420px; min-width: 0; }

/* 增值服务铜卡 —— 独立于购买单元，明显区分（functions.php hook 输出） */
.slm-service-extra{
  margin-top: 18px; background: #FCF6EE; border: 1px solid #C8956D;
  border-radius: 10px; padding: 16px 18px; font-size: 13px; line-height: 1.65;
}
.slm-service-extra .slm-service-title{
  display: block; font-weight: 600; font-size: 12px; letter-spacing: .05em;
  text-transform: uppercase; margin-bottom: 7px; color: #7a4a2b;
}
.slm-service-extra p{ margin: 0 0 10px; color: #5c4a3a; }
.slm-service-extra .slm-extra-cta{
  display: inline-block; background: #3F6E4E; color: #fff; text-decoration: none;
  padding: 10px 18px; border-radius: 8px; font-weight: 600; font-size: 13px;
  transition: background .15s;
}
.slm-service-extra .slm-extra-cta:hover{ background: #335B41; }

@media (max-width: 768px){
  .single-product div.product{ flex-direction: column; gap: 20px; padding: 0 16px; }
  .single-product .woocommerce-product-gallery{ flex: 0 0 auto; max-width: 100%; }
  .single-product .entry-summary{ flex: 1 1 auto; }
}

/* =====================================================================
   MOTION UTILITIES (v1.0.15) — 滚动浮现 / 数字滚动 / 通用动效
   首页 + Buying Guide 共用；尊重 prefers-reduced-motion。
   渐进增强：仅当 JS 给 <html> 加上 .js-motion 后才隐藏元素（无 JS 时内容始终可见）
   ===================================================================== */
.js-motion .reveal{
  opacity: 0; transform: translateY(26px);
  transition: opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);
}
.js-motion .reveal.in{ opacity: 1; transform: none; }
.js-motion .reveal[data-d="1"]{ transition-delay: .08s; }
.js-motion .reveal[data-d="2"]{ transition-delay: .16s; }
.js-motion .reveal[data-d="3"]{ transition-delay: .24s; }
.js-motion .reveal[data-d="4"]{ transition-delay: .32s; }

@media (prefers-reduced-motion: reduce){
  .js-motion .reveal{ opacity: 1; transform: none; transition: none; }
  .ticker-track, .hero-bg, .kenburns, .bgv3-fcard, .bgv3-hero-bg{ animation: none !important; }
}

/* =====================================================================
   MOBILE POLISH (v1.0.15) — 手机端紧凑化
   目标：减少纵向堆叠、缩短页面长度（信任条/OEM/页脚改 2 列，留白收紧）
   ===================================================================== */
@media (max-width: 560px){
  :root{ --sp-xl: 44px; --sp-lg: 26px; --sp-md: 20px; }

  /* 信任条 2×2 */
  .b2b-trust-grid{ grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .b2b-trust-stat{ padding: 6px; }
  .b2b-trust-stat-number{ font-size: 2rem; }
  .b2b-trust-stat-label{ font-size: .72rem; }

  /* OEM：步骤 2×3、能力 2×2，卡片收紧 */
  .b2b-oem-grid{ gap: var(--sp-lg); }
  .b2b-oem-grid > div{ min-width: 0; }
  /* OEM 流程：手机端横向滑动（6 步横排，缩短纵向篇幅） */
  .b2b-oem-flow{ grid-template-columns: none; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 10px; padding-bottom: 8px; min-width: 0; }
  .b2b-oem-flow .b2b-step{ flex: 0 0 150px; scroll-snap-align: start; }
  /* 滑动提示：仅手机端显示，引导左右滑动 */
  .b2b-oem-swipe-hint{ display: flex; align-items: center; justify-content: center; gap: 10px; font-size: .78rem; color: #8E8678; letter-spacing: .04em; margin-bottom: 8px; }
  .b2b-oem-swipe-hint .swipe-arrow{ color: var(--c-brass); font-weight: 700; }
  .b2b-oem-caps{ grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .b2b-step{ padding: 12px 10px; }
  .b2b-step-num{ width: 26px; height: 26px; font-size: .9rem; margin-bottom: 8px; }
  .b2b-step h4{ font-size: .95rem; margin-bottom: 2px; }
  .b2b-step p{ font-size: .78rem; line-height: 1.45; }
  .b2b-cap{ padding: 12px 10px; gap: 8px; }
  .b2b-cap-icon{ width: 34px; height: 34px; }
  .b2b-cap h4{ font-size: .9rem; }
  .b2b-cap p{ font-size: .75rem; line-height: 1.4; }

  /* 分类卡收紧 */
  .b2b-categories{ gap: 14px; }
  .b2b-cat-info{ padding: 14px; }
  .b2b-cat-info h3{ font-size: 1.15rem; }

  /* 项目 mosaic 间距收紧 */
  .b2b-projects-grid{ gap: 10px; grid-auto-rows: 170px; }

  /* Hero 留白收紧 */
  .b2b-hero-inner{ padding: var(--sp-lg) 18px; }

  /* 页脚 2×2，About 通栏 */
  .b2b-footer{ padding: var(--sp-xl) 0 var(--sp-md); }
  .b2b-footer-inner{ grid-template-columns: repeat(2, 1fr); gap: 22px; }
  .b2b-footer-inner > div:first-child{ grid-column: 1 / -1; }
  .b2b-footer h4{ margin-bottom: 10px; font-size: 1rem; }
  .b2b-footer ul{ font-size: .8rem; gap: 8px; }
  .b2b-footer-bottom{ margin-top: var(--sp-lg); padding: var(--sp-md) 18px 0; }

  /* 政策页表格：横向滚动代替撑破布局 */
  .policy-section table{ display: block; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
  .policy-section th, .policy-section td{ font-size: .85rem; padding: 10px 12px; }

  /* 通用按钮触控目标收紧 */
  .btn{ padding: 13px 22px; font-size: .9rem; }
}
@media (max-width: 380px){
  .b2b-trust-grid{ gap: 10px; }
  .b2b-footer-inner{ gap: 18px; }
  .b2b-oem-caps{ grid-template-columns: 1fr 1fr; }
}

/* =====================================================================
   SHOP v2 (v1.0.16) — The Collection 全新商店设计
   /shop/ 与 4 个产品分类页共用（archive-product.php + content-product.php）
   ===================================================================== */
.sh-hero{position:relative;background:linear-gradient(175deg,#f4efe5 0%,var(--c-cream) 60%,#e6ddcd 100%);border-bottom:1px solid var(--c-border);overflow:hidden;}
.sh-hero::before{content:"COLLECTION";position:absolute;right:-1%;bottom:-14%;font-family:var(--f-serif);font-size:clamp(8rem,20vw,20rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(176,141,87,.20);pointer-events:none;user-select:none;}
.sh-hero-in{position:relative;max-width:1240px;margin:0 auto;padding:84px 24px 40px;text-align:center;}
.sh-hero h1{font-family:var(--f-serif);font-weight:500;font-size:clamp(2.6rem,5vw,4.2rem);line-height:1.02;margin-bottom:18px;color:#1A1A1A;letter-spacing:-.01em;}
.sh-hero p{color:var(--c-muted);font-size:16px;line-height:1.7;max-width:62ch;margin:0 auto 26px;}
.sh-chips{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;}
.sh-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid var(--c-border);background:rgba(255,255,255,.7);border-radius:99px;font-size:12.5px;color:#1A1A1A;}
.sh-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c-brass);}
.sh-chip b{color:var(--c-copper);font-weight:700;}

.sh-toolbar{position:sticky;top:57px;z-index:150;background:rgba(248,244,237,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--c-border);transition:box-shadow .25s;}
.sh-toolbar-in{max-width:1240px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.sh-pills{display:flex;gap:8px;flex-wrap:wrap;}
.sh-pill{border:1.5px solid var(--c-border);background:#fff;color:#1A1A1A;border-radius:99px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block;}
.sh-pill:hover{border-color:var(--c-brass);color:#1A1A1A;}
.sh-pill.active{background:#1A1A1A;color:#F8F4ED;border-color:#1A1A1A;}
.sh-tool-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.sh-toolbar .woocommerce-result-count{font-size:13px;color:var(--c-muted);margin:0;}
.sh-toolbar .woocommerce-ordering{margin:0;}
.sh-toolbar select{border:1.5px solid var(--c-border);background:#fff;padding:8px 12px;border-radius:10px;font-size:13px;font-family:var(--f-sans);color:#1A1A1A;cursor:pointer;}
.sh-toolbar select:focus{outline:none;border-color:var(--c-trade-green);}

.sh-grid{max-width:1240px;margin:34px auto 20px;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.sh-card{background:#fff;border:1px solid var(--c-border);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;position:relative;list-style:none;
  /* 抵消 Astra 默认：.ast-grid-common-col 左右 20px 内边距 + .ast-article-post 2.5em 底边距 → 图片撑满卡片、间距由 .sh-grid gap 控制 */
  padding:0 !important;margin-bottom:0 !important;}
.sh-card:hover{transform:translateY(-6px);box-shadow:0 18px 46px rgba(26,26,26,.12);}
.sh-card-thumb{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--c-cream);}
.sh-card-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.sh-card:hover .sh-card-thumb img{transform:scale(1.06);}
.sh-thumb-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--c-brass);}
.sh-thumb-ring{position:absolute;inset:22px;border:1px solid var(--c-brass);opacity:.5;border-radius:50% 50% 46% 46%/58% 58% 42% 42%;}
.sh-thumb-ph svg{width:64px;height:64px;position:relative;z-index:1;}
.sh-moq{position:absolute;top:12px;left:12px;z-index:2;font-size:10px;font-weight:700;letter-spacing:.08em;background:var(--c-trade-green);color:#fff;padding:5px 10px;border-radius:5px;text-transform:uppercase;}
.sh-sale{position:absolute;top:12px;right:12px;z-index:2;font-size:10px;font-weight:700;background:rgba(200,149,109,.92);color:#fff;padding:5px 9px;border-radius:5px;}
.sh-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1;}
.sh-cat{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--c-brass);font-weight:600;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sh-title{font-family:var(--f-serif);font-size:21px;line-height:1.2;margin-bottom:10px;color:#1A1A1A;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:76px;}
.sh-title a{color:inherit;text-decoration:none;}
.sh-title a:hover{color:var(--c-brass);}
.sh-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.sh-price .sh-was{font-size:15px;color:var(--c-muted);text-decoration:line-through;}
.sh-price .sh-was .woocommerce-Price-amount{font-size:inherit;}
.sh-price .sh-now{font-family:var(--f-sans);font-weight:600;font-size:30px;line-height:1;color:#1A1A1A;font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
.sh-price .sh-now .woocommerce-Price-amount{font-size:inherit;font-family:inherit;}
.sh-price .sh-per{font-size:14px;color:var(--c-muted);font-weight:500;}
.sh-sold{font-size:12px;color:var(--c-brass);font-weight:600;letter-spacing:.02em;margin-bottom:12px;}
.sh-acts{display:flex;gap:10px;margin-top:auto;}
.sh-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:42px;padding:0 16px;border-radius:11px;font-size:14px;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all .2s;flex:1;text-decoration:none;letter-spacing:.01em;}
.sh-btn-copper{background:var(--c-copper);color:#fff;}
.sh-btn-copper:hover{background:#b57e55;color:#fff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(200,149,109,.32);}
.sh-btn-quote{background:#fff;color:var(--c-trade-green);border-color:var(--c-trade-green);}
.sh-btn-quote:hover{background:var(--c-trade-green);color:#fff;}

.sh-legend{max-width:1240px;margin:26px auto 0;padding:0 24px;}
.sh-legend-in{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;justify-content:center;background:var(--c-cream);border:1px solid var(--c-border);border-radius:14px;padding:14px 22px;font-size:13px;color:var(--c-muted);}
.sh-legend-in b{color:#1A1A1A;font-weight:600;}
.sh-legend-in .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;}
.sh-d1{background:var(--c-copper);}
.sh-d2{background:var(--c-trade-green);}
.sh-d3{background:var(--c-brass);}

.sh-empty{max-width:1240px;margin:30px auto;padding:0 24px;}
.sh-empty-in{background:#fff;border:1.5px dashed var(--c-border);border-radius:18px;padding:60px 24px;text-align:center;}
.sh-empty-in .ic{width:64px;height:64px;border-radius:50%;background:var(--c-cream);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:26px;color:var(--c-brass);}
.sh-empty-in h3{font-family:var(--f-serif);font-size:26px;margin-bottom:8px;color:#1A1A1A;}
.sh-empty-in p{color:var(--c-muted);font-size:14.5px;line-height:1.6;max-width:46ch;margin:0 auto 22px;}
.sh-empty .sh-acts{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}

/* WooCommerce 分页 → 胶囊样式 */
.woocommerce-pagination{padding:40px 24px 10px;}
.woocommerce-pagination ul.page-numbers{display:flex;justify-content:center;gap:8px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.woocommerce-pagination .page-numbers{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--c-border);background:#fff;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;color:#1A1A1A;transition:all .2s;}
.woocommerce-pagination .page-numbers:hover{border-color:var(--c-brass);}
.woocommerce-pagination .page-numbers.current{background:#1A1A1A;color:#F8F4ED;border-color:#1A1A1A;}

/* SHOP v2 响应式 */
@media (max-width:1080px){ .sh-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:900px){ .sh-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){
  /* Hero：收紧留白 + 徽标改内联文字一行式（不再三块竖排拉高） */
  .sh-hero-in{padding:48px 16px 26px;}
  .sh-hero h1{font-size:1.9rem;margin-bottom:12px;}
  .sh-hero p{font-size:14.5px;margin-bottom:18px;}
  .sh-chips{gap:4px 14px;}
  .sh-chip{border:0;background:none;padding:0;font-size:12px;color:var(--c-muted);}
  .sh-chip b{color:var(--c-charcoal);}
  /* 工具栏：药丸换行全部可见（不再横向截断看不见右边），计数/排序一行两端 */
  .sh-toolbar{top:55px;}
  .sh-toolbar-in,.sh-grid,.sh-legend,.sh-empty{padding-left:16px;padding-right:16px;}
  .sh-toolbar-in{flex-direction:column;align-items:stretch;gap:8px;padding-top:10px;padding-bottom:10px;}
  .sh-pills{flex-wrap:wrap;gap:6px;}
  .sh-pill{padding:6px 11px;font-size:12px;white-space:nowrap;}
  .sh-tool-right{width:100%;justify-content:space-between;}
  .sh-toolbar .woocommerce-ordering{margin-left:auto;}
  .sh-toolbar select{max-width:165px;}
  /* 商品卡：标题两行截断、价格缩小、按钮并排紧凑 */
  .sh-grid{gap:14px;}
  .sh-body{padding:12px 6px 14px;}
  .sh-cat{font-size:9.5px;margin-bottom:5px;}
  .sh-title{font-size:16.5px;line-height:1.2;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:60px;}
  .sh-price{margin-bottom:10px;gap:7px;}
  .sh-price .sh-now{font-size:23px;font-family:var(--f-sans);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
  .sh-price .sh-was{font-size:13px;flex-basis:100%;}
  .sh-price .sh-per{font-size:12px;}
  .sh-acts{flex-direction:row;gap:7px;}
  .sh-btn{padding:0 5px;font-size:12.5px;height:40px;}
  .sh-moq{font-size:9px;padding:4px 7px;top:10px;left:10px;}
  .sh-sale{font-size:9px;padding:4px 7px;top:10px;right:10px;}
  /* 图例：两列小字，末条通栏 */
  .sh-legend-in{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;font-size:11.5px;padding:12px 14px;text-align:left;}
  .sh-legend-in span:last-child{grid-column:1/-1;}
  .sh-empty-in{padding:40px 16px;}
  .sh-empty-in h3{font-size:21px;}
}

/* SHOP 卡片 · 移动端方案 A（紧凑双列，2026-08-23）
   图 4:5→1:1 / 标题 2 行省略 / 价格一行 / 隐藏 sold / 只留 Buy 全宽 / 整卡可点 */
@media (max-width:900px){
  .sh-grid{gap:12px;}
  .sh-card-thumb{aspect-ratio:1/1;}
  .sh-body{padding:11px 10px 12px;}
  .sh-cat{font-size:9px;margin-bottom:3px;}
  .sh-title{font-size:15.5px;line-height:1.22;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px;}
  .sh-price{margin-bottom:8px;gap:6px;}
  .sh-price .sh-was{font-size:12px;flex-basis:auto;}
  .sh-price .sh-now{font-size:19px;}
  .sh-price .sh-per{font-size:10.5px;}
  .sh-sold{display:none;}
  .sh-acts{gap:6px;}
  .sh-btn{height:38px;font-size:12.5px;padding:0 8px;border-radius:9px;}
  .sh-btn-quote{display:none;}
  .sh-btn-copper{flex:1;}
  .sh-moq{font-size:8.5px;padding:3px 6px;top:8px;left:8px;}
  .sh-sale{font-size:8.5px;padding:3px 6px;top:8px;right:8px;}
}



/* =====================================================================
   CONTENT-HEADER SEAMLESS (v1.0.16)
   去掉 Astra #primary 顶部 4em 留白 → 内容块与页头直接衔接（各页自带 Hero）
   ===================================================================== */
#primary{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* =====================================================================
   PHASE1 PRODUCT PAGE (2026-08-21)
   ① 商品页顶部与页头留空隙 ② 页头购物车图标+角标
   ③ Buy Now 直购按钮 ④ 淘宝式 SKU 选项卡
   ===================================================================== */

/* ① 商品页内容顶部空隙（其他页保持贴页头） */
.single-product #primary { padding-top: 44px !important; }

/* ② 页头购物车图标 + 数量角标 */
.b2b-cart {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; color: #1A1A1A; border-radius: 10px; text-decoration: none;
  transition: background 0.15s; flex: 0 0 auto;
}
.b2b-cart:hover { background: var(--c-cream); }
.b2b-cart svg { width: 21px; height: 21px; }
.b2b-cart-count {
  position: absolute; top: -1px; right: -3px; min-width: 17px; height: 17px; padding: 0 4px;
  background: var(--c-copper); color: #fff; font-size: 10px; font-weight: 700; line-height: 13px;
  border-radius: 9px; text-align: center; border: 2px solid var(--c-ivory); box-sizing: content-box;
}

/* ③ Buy Now 直购按钮（与 Add to Cart 并排） */
.woocommerce div.product form.cart { display: flex; gap: 10px; flex-wrap: wrap; }
.woocommerce div.product form.cart .quantity { flex: 0 0 auto; }
.slm-buynow-btn {
  flex: 1; background: #1A1A1A; color: #fff; border: 0; border-radius: 8px;
  padding: 0 18px; height: 46px; font-size: 13px; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; cursor: pointer; transition: .2s; font-family: inherit; line-height: 1;
}
.slm-buynow-btn:hover { background: #000; }
.slm-buynow-btn:disabled { opacity: .6; cursor: default; }

/* ④ 淘宝式 SKU 选项卡 */
.slm-sku-tabs {
  margin: 0 0 16px; border: 1px solid var(--c-border); border-radius: 12px;
  background: #fff; padding: 14px 18px;
}
.slm-attr { margin-bottom: 12px; }
.slm-attr:last-of-type { margin-bottom: 4px; }
.slm-attr-name {
  display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--c-muted); margin-bottom: 8px;
}
.slm-attr-opts { display: flex; gap: 9px; flex-wrap: wrap; }
.slm-opt {
  display: inline-flex; align-items: center; gap: 7px;
  border: 1.5px solid var(--c-border); background: var(--c-ivory); border-radius: 9px;
  padding: 6px 12px 6px 6px; cursor: pointer; font-size: 12.5px; font-weight: 500;
  color: #2B2822; transition: .15s; font-family: inherit; line-height: 1;
}
.slm-opt:hover { border-color: var(--c-brass); }
.slm-opt.on { border-color: var(--c-copper); background: #FFF9EF; box-shadow: 0 0 0 1px var(--c-copper) inset; }
.slm-opt.dis { opacity: .4; pointer-events: none; }
.slm-opt-thumb {
  width: 26px; height: 26px; border-radius: 7px; background-size: cover;
  background-position: center; border: 1px solid rgba(0,0,0,.1); flex: 0 0 auto;
}
.slm-sku-selected {
  margin-top: 11px; padding-top: 10px; border-top: 1px dashed var(--c-border);
  font-size: 12.5px; color: var(--c-muted);
}
.slm-sku-selected b { color: #1A1A1A; font-weight: 600; }

/* 手机端收紧 */
@media (max-width: 600px) {
  .slm-sku-tabs { padding: 12px 12px; }
  .slm-opt { font-size: 11.5px; padding: 5px 10px 5px 5px; }
  .slm-opt-thumb { width: 22px; height: 22px; }
  .slm-buynow-btn { flex: 1 1 45%; height: 46px; font-size: 12.5px; }
  .single-product #primary { padding-top: 26px !important; }
}

/* =====================================================================
   PHASE1-FIX (2026-08-21 15:45)
   ⑤ Add to Cart 铜色（设计稿）+ ⑥ PayPal 按钮独立窄行不抢占购买区
   ===================================================================== */

/* ⑤ Add to Cart = 铜色，与 Buy Now(炭黑) 并排等大 */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button.alt,
.woocommerce div.product form.cart button.single_add_to_cart_button {
  flex: 1; background: var(--c-copper); color: #fff; border: 0; border-radius: 8px;
  padding: 0 18px; height: 46px; font-size: 13px; font-weight: 600; letter-spacing: .05em;
  text-transform: uppercase; cursor: pointer; transition: .2s; font-family: inherit; line-height: 1;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: #B97E56; }
.single-product .single_add_to_cart_button.added::after { content: ""; }

/* ⑥ PayPal Smart Button（PPCP）独立窄行，放在购买按钮下方，不干扰设计稿布局 */
.ppc-button-wrapper { max-width: 340px; margin: 10px 0 0; }
.ppc-button-wrapper .ppcp-button-container { display: flex; }
@media (max-width: 600px) {
  .ppc-button-wrapper { max-width: 100%; margin: 8px 0 0; }
}

/* =====================================================================
   PHASE1-V2 商品页严格按设计稿 (2026-08-21 15:56)
   信息列顺序与样式全部对齐设计稿 v1.2
   ===================================================================== */

/* 面包屑 */
.slm-crumb{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--c-muted); margin-bottom:10px; }
.slm-crumb a{ color:var(--c-brass); font-weight:600; text-decoration:none; transition:color .15s; }
.slm-crumb a:hover{ color:var(--c-copper); }
.slm-crumb-sep{ margin:0 3px; color:var(--c-muted); }

/* 短描述（标题下、价格上） */
.slm-desc{ font-size:13.5px; color:var(--c-muted); line-height:1.7; margin-bottom:18px; max-width:480px; }
.slm-desc p{ margin:0 0 .5em; }
.slm-desc p:last-child{ margin-bottom:0; }

/* 价格卡 = 设计稿（cream 底、圆角、内边距） */
.single-product .sl-single-price{ margin:0 0 16px; }
.single-product .slm-price-block{
  background:var(--c-cream); border:1px solid var(--c-border); border-radius:12px;
  padding:16px 18px; margin:0;
}
.single-product .slm-price-block .slm-main{ font-size:30px; font-weight:700; color:#1A1A1A; letter-spacing:-.01em; }
.single-product .slm-price-block .slm-was-row{ margin-top:2px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.single-product .slm-price-block .slm-was{ font-size:14px; }
.single-product .slm-price-block .slm-sales{ font-size:12.5px; }

/* 绿卡（SKU 选项卡之后、按钮之前；form.cart 内独立整行） */
.single-product form.cart .slm-incl-card{ flex:1 1 100%; }
.slm-incl-card{
  background:#EAF3EC; border:1px solid #CFE3D4; border-radius:12px; padding:13px 16px; margin:0 0 14px;
}
.slm-incl-title{
  font-size:12px; font-weight:700; color:#335B41; letter-spacing:.03em;
  margin-bottom:6px; text-transform:uppercase;
}
.slm-incl-card ul{ margin:0; padding:0; list-style:none; }
.slm-incl-card li{ font-size:12.5px; color:#335B41; line-height:1.7; }

/* Ask a Question —— 全宽绿按钮（B2B） */
.slm-ask-btn{
  display:block; width:100%; text-align:center; box-sizing:border-box;
  background:var(--c-trade-green); color:#fff; border-radius:9px; padding:11px 18px;
  font-size:12px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; transition:.2s; margin:0 0 16px;
}
.slm-ask-btn:hover{ background:#345C43; color:#fff; }

/* 铜卡 = 设计稿（浅铜底圆角） */
.slm-service-extra{
  background:#FDF6EC; border:1px solid #E7D5BB; border-radius:12px;
  padding:13px 18px; font-size:12.5px; color:#7A5A32; line-height:1.7; margin-bottom:16px;
}
.slm-service-extra .slm-service-title{ display:block; font-weight:700; color:#7A5A32; margin-bottom:4px; font-size:12.5px; }
.slm-service-extra p{ margin:.3em 0; }
.slm-extra-cta{ color:var(--c-copper); font-weight:600; text-decoration:none; }

/* 信任行 */
.slm-trust{ display:flex; gap:16px; flex-wrap:wrap; font-size:11px; color:var(--c-muted); letter-spacing:.03em; margin-top:2px; }
.slm-trust span{ display:inline-flex; align-items:center; gap:5px; }

/* 手机端收紧 */
@media (max-width: 600px) {
  .single-product .slm-price-block{ padding:13px 14px; }
  .single-product .slm-price-block .slm-main{ font-size:26px; }
  .slm-desc{ font-size:12.5px; }
  .slm-crumb{ font-size:10px; }
  .slm-trust{ gap:10px; font-size:10px; }
}

/* =====================================================================
   PHASE1-V3 (2026-08-21 16:16)
   ① 隐藏 WC 原生变体价格（避免 SKU 与绿卡之间重复的划线价/折扣价）
   ② 价格卡：主价格行(折扣价 + 右侧折扣率徽章) + 划线原价行(Was + 销量)
   ③ 去掉 Buy Now 后按钮间距加大
   ===================================================================== */

/* ① 隐藏变体选择后的原生价格显示（价格统一在价格卡内） */
.single-product .woocommerce-variation-price { display: none !important; }

/* ② 价格卡主行：折扣价 + 右侧折扣率 */
.single-product .slm-price-block .slm-main-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
}
.single-product .slm-price-block .slm-discount{
  background:var(--c-copper); color:#fff; font-size:11px; font-weight:700;
  padding:4px 9px; border-radius:6px; letter-spacing:.02em; flex:0 0 auto;
}

/* ③ 按钮间距：加购按钮与数量/PayPal 之间留空隙 */
.woocommerce div.product form.cart { gap: 12px; }
.woocommerce div.product form.cart .single_add_to_cart_button { min-width: 200px; }
.ppc-button-wrapper { margin-top: 18px; }
.slm-ask-btn { margin-top: 2px; }
@media (max-width: 600px) {
  .woocommerce div.product form.cart { gap: 10px; }
  .ppc-button-wrapper { margin-top: 14px; }
}

/* =====================================================================
   PHASE1-V4 (2026-08-21 16:32) —— 用户逐项复核修正
   ① SKU 选项卡与价格卡左对齐 ② 卡片间距均匀 ③ 按钮高度一致
   ④ PayPal 上移空隙一致 ⑤ Ask a Question 已停用（样式保留无害）
   ===================================================================== */

/* ① 对齐：form.cart 无左右偏移，SKU 选项卡满宽与价格卡同左缘 */
.woocommerce div.product form.cart { margin-left: 0; margin-right: 0; padding: 0; }
.slm-sku-tabs { flex: 1 1 100%; width: 100%; box-sizing: border-box; margin: 0; }

/* ② 卡片间距统一 12px（价格卡 / SKU / 绿卡之间） */
.single-product .sl-single-price { margin: 0 0 12px; }
.slm-incl-card { margin: 0; }
.slm-sku-tabs { margin-bottom: 0; }

/* ③ 数量输入框与加购按钮同高（46px），带边框圆角 */
.woocommerce div.product form.cart .quantity,
.woocommerce div.product form.cart .quantity .qty {
  height: 46px; margin: 0;
}
.woocommerce div.product form.cart .quantity .qty {
  width: 68px; border: 1.5px solid var(--c-border); border-radius: 8px;
  text-align: center; font-size: 14px; font-weight: 600; color: #1A1A1A; background: #fff;
}

/* ④ PayPal 按钮上移：与上方加购按钮空隙与其他卡片一致（12px） */
.ppc-button-wrapper { margin-top: 12px; }

/* ⑤ 移除 Ask a Question 相关间距残留 */
.slm-ask-btn { display: none; }

/* =====================================================================
   PHASE1-V6 (2026-08-21 17:00) —— 间隙统一 10px（深入到 single_variation_wrap）
   前情：绿卡/数量/加购在 .single_variation_wrap > .woocommerce-variation-add-to-cart 内
        form.cart { gap:10px } 只对一级子生效，深入覆盖；同时收紧 SKU 卡内"Selected:"留白
   ===================================================================== */
.single-product .sl-single-price { margin: 0 0 10px; }                 /* 价格卡 → SKU 选项卡 */
.woocommerce div.product form.cart { gap: 0; }                         /* 用 margin 控间距，避免 flex gap 推到首项 */

/* single_variation_wrap 内部统一 10px 间隙，覆盖 WC 默认 16/13px margin-bottom */
.single-product .single_variation_wrap,
.single-product .single_variation_wrap .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.single-product .single_variation_wrap .quantity,
.single-product .single_variation_wrap .single_add_to_cart_button {
  margin: 0 !important;
  width: auto !important;
}
/* 数量 + 加购 同行显示（按 form.cart flex 同样规则） */
@media (min-width: 601px) {
  .single-product .single_variation_wrap .woocommerce-variation-add-to-cart {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
  }
  .single-product .single_variation_wrap .slm-incl-card { flex: 1 1 100%; }
  .single-product .single_variation_wrap .quantity { flex: 0 0 auto; }
  .single-product .single_variation_wrap .single_add_to_cart_button { flex: 1 1 200px; }
}

/* 用 margin 控制 form.cart 内部 child 间距（10px），避免 flex gap 的边距怪异 */
.single-product form.cart > .slm-sku-tabs { margin-bottom: 10px !important; }
.single-product form.cart > .single_variation_wrap { margin-top: 0 !important; margin-bottom: 0 !important; }

.ppc-button-wrapper { margin-top: 10px; }                               /* PayPal → 加购按钮 */
@media (max-width: 600px) { .ppc-button-wrapper { margin-top: 10px; } }

/* 手机端加购按钮：全宽 + 加高到舒适点击高度（iOS 44px 下限，取 52px） */
@media (max-width: 600px) {
  .single-product .single_variation_wrap .single_add_to_cart_button {
    width: 100% !important;
    min-height: 52px !important;
    padding: 14px 20px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
}

/* 收紧 SKU 卡内"Selected:"留白（去虚线分隔 + 缩 margin/padding） */
.slm-sku-tabs { padding: 12px 16px; }
.slm-attr { margin-bottom: 10px; }
.slm-attr:last-of-type { margin-bottom: 0; }
.slm-sku-selected {
  margin-top: 8px; padding-top: 8px; border-top: none;
  font-size: 12px; color: var(--c-muted);
}
.slm-sku-selected b { color: #1A1A1A; font-weight: 600; }

/* =====================================================================
   PROJECTS PAGE (page-projects.php) — 项目案例库
   ===================================================================== */
.proj-hero{
  background-color:#1A1A1A;
  background-size:cover; background-position:center;
  border-bottom: 1px solid var(--c-border);
}
.proj-hero-in{
  max-width: 900px; margin: 0 auto;
  padding: 96px 24px 72px; text-align: center;
}
.proj-hero h1{font-family:var(--f-serif);font-weight:500;font-size:clamp(2.6rem,5vw,4rem);line-height:1.02;color:#F8F4ED;margin:16px 0 18px;letter-spacing:-.01em;}
.proj-hero p{color:rgba(248,244,237,.85);font-size:16.5px;line-height:1.7;max-width:60ch;margin:0 auto;}

.proj-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:28px;
}
.proj-card{
  background:#fff; border:1px solid var(--c-border); border-radius:18px; overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .3s ease, box-shadow .3s ease;
}
.proj-card:hover{transform:translateY(-5px);box-shadow:0 18px 46px rgba(26,26,26,.10);}
.proj-card-visual{
  position:relative; aspect-ratio:4/3; background-size:cover; background-position:center;
  background-color:var(--c-cream); overflow:hidden;
}
.proj-card-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.proj-cat{
  position:absolute; top:14px; left:14px;
  background:rgba(26,26,26,.82); color:#F8F4ED;
  font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:600;
  padding:5px 12px; border-radius:99px;
}
.proj-card-body{padding:22px 22px 24px; display:flex; flex-direction:column; flex:1;}
.proj-card-body h3{font-family:var(--f-serif);font-weight:500;font-size:1.5rem;color:#1A1A1A;margin-bottom:8px;}
.proj-card-body p{color:var(--c-muted);font-size:14px;line-height:1.6;margin-bottom:16px;flex:1;}
.proj-meta{display:flex;gap:8px 20px;flex-wrap:wrap;border-top:1px solid var(--c-border);padding-top:14px;}
.proj-meta span{font-size:12.5px;color:#1A1A1A;font-weight:600;letter-spacing:.02em;}
.proj-meta span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--c-brass);margin-right:8px;vertical-align:1px;}

.proj-cta{background:#1A1A1A;color:#F8F4ED;padding:var(--sp-xl) 0;}
.proj-cta-in{max-width:760px;margin:0 auto;padding:0 var(--pad-x);text-align:center;}
.proj-cta h2{font-family:var(--f-serif);font-weight:500;font-size:clamp(2rem,4vw,2.8rem);margin:12px 0 14px;}
.proj-cta p{color:rgba(248,244,237,.78);font-size:16px;line-height:1.7;max-width:56ch;margin:0 auto 26px;}
.proj-cta .btn-primary{background:#F8F4ED;color:#1A1A1A;}

@media (max-width:900px){
  .proj-grid{grid-template-columns:1fr;gap:20px;}
}
@media (max-width:560px){
  .proj-hero-in{padding:48px 18px 36px;}
  .proj-hero h1{font-size:2.2rem;}
  .proj-hero p{font-size:15px;}
  .proj-card-body{padding:16px 16px 18px;}
  .proj-card-body h3{font-size:1.3rem;}
  .proj-card-body p{font-size:13.5px;}
}

/* ===== 真实 <img> 替代 CSS 背景图 — 2026-09-17 =====
   首页项目区 6 张、分类卡 4 张、hero 与 trade 视觉图原本都是 background-image：
   没有 alt、没有 srcset、没有懒加载，且不会进图片索引（Google 图片 / AI 视觉索引）。
   现在换成真实 <img>，在容器内绝对定位铺满 —— 容器尺寸由原有栅格决定，版式与改前完全一致。 */
.b2b-proj > img.sl-bgimg,
.b2b-cat-visual > img.sl-bgimg,
.b2b-hero-visual > img.sl-bgimg,
.b2b-trade-visual > img.sl-bgimg {
  position: absolute; inset: 0;
  width: 100%; height: 100%; max-width: none;
  object-fit: cover; object-position: center;
  display: block; margin: 0; border-radius: inherit;
}
/* 这两个容器原本没有定位上下文，补上（overflow 保证圆角裁切） */
.b2b-cat-visual { position: relative; overflow: hidden; }
.b2b-trade-visual { position: relative; overflow: hidden; }
/* trade 的绿色渐变原本写在内联 style 里跟背景图绑在一起，这里等价搬到 ::after */
.b2b-trade-visual::after {
  content: ""; position: absolute; inset: 0;
  border-radius: inherit; pointer-events: none;
  background: linear-gradient(160deg, rgba(63,110,78,.35) 0%, rgba(20,40,28,.65) 100%);
}

/* =====================================================================
   RELATED / UPSELLS 产品列表（2026-09-18 修复）
   问题：主题未给 WooCommerce 默认的 ul.products 任何样式 → 卡片无宽度约束
        → .sh-card-thumb 的 aspect-ratio 算不出高度（=0）→ 其中 position:absolute
        的图片被压成 0×0（标签在但看不见），而文字是正常流所以显示
        → 表现为「Related Products 只显示文字、没有图片」
   修复：给 .products 补上与 .sh-grid 一致的网格布局，让卡片获得宽度
   ===================================================================== */
.related.products > ul.products,
.upsells.products > ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
  list-style: none;
  margin: 26px 0 18px;
  padding: 0;
}
.related.products > ul.products > li.product,
.upsells.products > ul.products > li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
  padding: 0 !important;
  position: static !important;
}
@media (max-width: 1080px) {
  .related.products > ul.products,
  .upsells.products > ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .related.products > ul.products,
  .upsells.products > ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
@media (max-width: 560px) {
  .related.products > ul.products,
  .upsells.products > ul.products { gap: 12px; }
}

/* =====================================================================
   手机端页头布局（2026-09-18 老程反馈，第二轮）
   目标（老程指定）：货币切换与菜单按钮同一行、货币在左、菜单在右，省一行高度
   最终排布：
     第 1 行：logo + slogan（独占一行 → slogan 获得整行宽度，单行显示）
     第 2 行：货币切换（左） …… 购物车 · 菜单按钮（右）
   ===================================================================== */
@media (max-width: 900px) {
  .b2b-header-inner { flex-wrap: wrap; row-gap: 8px; }
  /* 第 1 行：logo 独占 */
  .b2b-logo { flex: 1 1 100%; min-width: 0; }
  .b2b-logo .wordmark { font-size: 1.25rem; }
  .b2b-tagline {
    font-size: 0.6rem;
    letter-spacing: 0.05em;
    line-height: 1.35;
  }
  /* 第 2 行：货币在左 */
  .sl-cur-switch {
    order: 1;
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0;
  }
  /* 第 2 行：购物车与菜单按钮靠右 */
  .b2b-cart { order: 2; margin-left: auto; }
  .b2b-header-mobile-btn { order: 3; }
}
