/* ================================================================
   FARFETCHD — Main Stylesheet
   Loaded as child theme CSS, overrides Astra defaults
   ================================================================ */

/* Layout components (Hero, Marquee, Features, Story, Footer etc.) */
@import url('../../inc/theme-css-layout.css');

/* ================================================================
   HIDE DEFAULT ASTRA WIDGETS & SIDEBAR
   ================================================================ */
/* 隐藏 WooCommerce 页面上的 Astra 默认 widget sidebar */
.woocommerce .widget_pages,
.woocommerce .widget_archive,
.woocommerce .widget_categories,
.woocommerce .widget_search,
.woocommerce-page .widget_pages,
.woocommerce-page .widget_archive,
.woocommerce-page .widget_categories,
.site-content > div:not([class]),
.site-content > div:not([class]) + *,
#secondary,
.ast-right-sidebar-layout #secondary,
.ast-left-sidebar-layout #secondary,
.woocommerce-page #secondary {
  display: none !important;
}

/* ================================================================
   ASTRA CONTAINER OVERRIDES — 全宽布局修复
   ================================================================ */

/* 移除 Astra 的最大宽度容器限制，让首页内容全宽 */
.ast-container,
.ast-grid-right-sidebar,
.ast-grid-left-sidebar,
.ast-separate-container .ast-article-post,
.ast-page-builder-template .ast-content-layout-wrap {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 首页主内容区域全宽 */
.home .entry-content,
.front-page .entry-content,
.page-template-default.home .entry-content {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 静态页面（About / FAQ 等）—— 让内容区正常显示 */
.fd-static-page {
  min-height: 60vh;
  background: #fafaf8;
}
/* 隐藏 Astra 在 page 上注入的多余元素 */
.page:not(.home) .ast-separate-container .ast-article-post,
.page:not(.home) .entry-header,
.page:not(.home) .entry-footer,
.page:not(.home) .post-navigation {
  padding: 0 !important;
  margin: 0 !important;
}

/* 移除 Astra 给 page 添加的内边距 */
.ast-separate-container .ast-article-post,
.ast-page-builder-template .ast-content-layout-wrap,
.site-content .ast-container {
  padding: 0 !important;
}

/* 页面内容容器全宽 */
.site-content,
#content,
#primary,
.content-area,
.ast-content-layout-wrap {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* 消除 Astra 默认的文章内边距 */
.entry-content > *:not(.fd-hero):not(.fd-marquee):not(.fd-shop-cats):not(.fd-products):not(.fd-featured):not(.fd-story):not(.fd-features) {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 80px;
  padding-right: 80px;
}

/* Astra sidebar / layout 强制单列全宽 */
#ast-single-post-order-1,
.ast-row,
.ast-grid-common-col {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
}

/* 隐藏 Astra 默认搜索框浮出（首页不需要）*/
.home .ast-search-menu-icon,
.home .ast-search-icon,
.ast-search-box {
  display: none !important;
}
/* NOTE: .search-form 的全局隐藏已移至下方精准选择器，此处不做全局隐藏 */

/* 隐藏 Astra 的 before/after header widget area */
.ast-above-header-wrap,
.ast-below-header-wrap {
  display: none !important;
}

/* ---- Variables ---- */
:root {
  /* Colors */
  --fd-white:      #FAFAF8;
  --fd-off-white:  #F4F2EF;
  --fd-gray-100:   #ECEAE6;
  --fd-gray-200:   #D8D5CF;
  --fd-gray-300:   #B8B4AD;
  --fd-gray-400:   #8C8880;
  --fd-gray-500:   #6B6760;
  --fd-charcoal:   #3A3835;
  --fd-deep:       #1E1D1B;
  --fd-gold:       #B8975A;
  --fd-gold-light: #D4B278;
  --fd-gold-pale:  #F0E6D0;

  /* Fonts */
  --fd-serif:  'Verdana', Geneva, sans-serif;
  --fd-sans:   'Verdana', Geneva, sans-serif;
  --fd-ease:   cubic-bezier(0.25, 0.46, 0.45, 0.94);

  /* ── 字型规范 ──────────────────────────────────────────────
     Level 1  Display   大 Hero 主标题（首页 Hero）
     Level 2  H1        页面级标题（分类页、详情页）
     Level 3  H2        版块标题（首页各 section）
     Level 4  H3        卡片 / 子版块标题
     Level 5  Body-lg   导读段落 / 副标题
     Level 6  Body      正文
     Level 7  Label     导航 / 按钮 / 标签 / 表单
     ──────────────────────────────────────────────────────── */
  --fd-display:   clamp(48px, 6.5vw, 80px); /* Hero headline      */
  --fd-h1:        clamp(36px, 5vw,   60px); /* Page title         */
  --fd-h2:        clamp(26px, 3.5vw, 42px); /* Section title      */
  --fd-h3:        clamp(20px, 2.5vw, 28px); /* Card / sub-section */
  --fd-body-lg:   18px;                      /* Lead paragraph     */
  --fd-body:      16px;                      /* Body text          */
  --fd-body-sm:   14px;                      /* Secondary text     */
  --fd-label:     13px;                      /* Nav / button       */
  --fd-tag:       11px;                      /* Eyebrow / badge    */
  --fd-caption:   10px;                      /* Fine print         */
}

/* ================================================================
   BASE
   ================================================================ */
body {
  font-family: var(--fd-sans) !important;
  font-weight: 400 !important;
  color: var(--fd-charcoal) !important;
  background: var(--fd-white) !important;
  letter-spacing: 0.015em;
  -webkit-font-smoothing: antialiased;
}

h1 { font-family: var(--fd-serif) !important; font-size: var(--fd-h1) !important; font-weight: 300 !important; color: var(--fd-deep) !important; line-height: 1.15; letter-spacing: 0.01em; }
h2 { font-family: var(--fd-serif) !important; font-size: var(--fd-h2) !important; font-weight: 300 !important; color: var(--fd-deep) !important; line-height: 1.2;  letter-spacing: 0.01em; }
h3 { font-family: var(--fd-serif) !important; font-size: var(--fd-h3) !important; font-weight: 400 !important; color: var(--fd-deep) !important; line-height: 1.25; letter-spacing: 0.01em; }
h4 { font-family: var(--fd-sans)  !important; font-size: var(--fd-body-lg) !important; font-weight: 500 !important; color: var(--fd-charcoal) !important; line-height: 1.3;  letter-spacing: 0.05em; text-transform: uppercase; }
h5 { font-family: var(--fd-sans)  !important; font-size: var(--fd-label) !important;   font-weight: 500 !important; color: var(--fd-charcoal) !important; line-height: 1.4;  letter-spacing: 0.12em; text-transform: uppercase; }
h6 { font-family: var(--fd-sans)  !important; font-size: var(--fd-tag) !important;     font-weight: 500 !important; color: var(--fd-gray-400)  !important; line-height: 1.4;  letter-spacing: 0.18em; text-transform: uppercase; }

a { color: var(--fd-charcoal); transition: color 0.3s; }
a:hover { color: var(--fd-gold); text-decoration: none; }

img { display: block; max-width: 100%; }

/* ================================================================
   ANNOUNCEMENT BAR
   ================================================================ */
.fd-announcement {
  background: var(--fd-gray-100);
  color: var(--fd-gray-500);
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 10px 20px;
  font-family: var(--fd-sans);
}
.fd-announcement span { color: var(--fd-gold); }

/* ================================================================
   NAVIGATION — Astra header overrides
   ================================================================ */
#masthead,
.ast-primary-header-bar {
  background: var(--fd-off-white) !important;
  border-bottom: 1px solid var(--fd-gray-100) !important;
  box-shadow: none !important;
}

/* 隐藏 SALE 导航项 */
.fd-nav__list .menu-item > a[href*="sale"],
.fd-nav__list .menu-item > a[href*="Sale"] {
  display: none !important;
}
.fd-nav__list .menu-item:has(> a[href*="sale"]),
.fd-nav__list .menu-item:has(> a[href*="Sale"]) {
  display: none !important;
}

/* Custom typographic logo */
.fd-logo {
  display: inline-flex;
  align-items: flex-end;
  line-height: 1;
  font-family: var(--fd-sans, 'Verdana', Geneva, sans-serif) !important;
  font-size: 22px;
  font-weight: 300;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fd-deep) !important;
  text-decoration: none;
  transition: opacity 0.3s;
}
.fd-logo:hover { opacity: 0.65; color: var(--fd-deep) !important; }
.fd-logo__main { display: inline; line-height: 1; }
.fd-logo__sub {
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.1em;
  margin-left: 0.3em;
  vertical-align: baseline;
  position: relative;
  top: -0.1em;
  display: inline;
}

/* Site title fallback */
.ast-site-title-wrap .site-title,
.ast-site-title-wrap .site-title a {
  font-family: var(--fd-sans, 'Verdana', Geneva, sans-serif) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--fd-deep) !important;
}

/* Nav links */
.main-header-menu .menu-item > a {
  font-family: var(--fd-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--fd-gray-500) !important;
  transition: color 0.3s !important;
}
.main-header-menu .menu-item:hover > a,
.main-header-menu .current-menu-item > a {
  color: var(--fd-charcoal) !important;
}

/* Header icons（搜索、账户、购物车）*/
#masthead .ast-icon,
#masthead .ast-header-cart-btn,
#masthead .ast-search-icon,
#masthead svg,
.ast-primary-header-bar .ast-icon,
.ast-primary-header-bar svg {
  color: var(--fd-charcoal) !important;
  fill: var(--fd-charcoal) !important;
  stroke: var(--fd-charcoal) !important;
}

/* ================================================================
   BUTTONS — Global
   ================================================================ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.ast-button,
.wp-block-button__link,
button[type="submit"]:not(.search-submit) {
  background: var(--fd-charcoal) !important;
  color: white !important;
  font-family: var(--fd-sans) !important;
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  border: none !important;
  transition: background 0.3s ease !important;
  line-height: 1.4;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.ast-button:hover {
  background: var(--fd-deep) !important;
  color: white !important;
}

/* ================================================================
   SHOP — PRODUCT ARCHIVE
   ================================================================ */

/* Archive 页 woocommerce 容器全宽，加 padding */
.woocommerce-page:not(.single-product) .woocommerce,
.post-type-archive-product .woocommerce,
.tax-product_cat .woocommerce {
  padding: 0 80px 80px !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box;
}
@media (max-width: 1024px) {
  .woocommerce-page:not(.single-product) .woocommerce { padding: 0 40px 60px !important; }
}
@media (max-width: 640px) {
  .woocommerce-page:not(.single-product) .woocommerce { padding: 0 20px 48px !important; }
}

/* Products header（分类标题区域）*/
.woocommerce-products-header {
  padding: 48px 0 36px !important;
  margin-bottom: 0 !important;
  border-bottom: none !important;
}
/* 如果 header 是空的，缩小到最小 */
.woocommerce-products-header:empty {
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-products-header__title,
.woocommerce-loop-category__title {
  font-family: var(--fd-serif) !important;
  font-size: var(--fd-h1) !important;
  font-weight: 300 !important;
  color: var(--fd-deep) !important;
  letter-spacing: 0.01em;
  line-height: 1.15;
}
.term-description {
  font-size: var(--fd-body) !important;
  line-height: 1.8 !important;
  color: var(--fd-gray-500) !important;
  max-width: 560px;
  margin-top: 16px !important;
}

/* Shop toolbar — 只保留排序下拉，去掉分割线和结果计数 */
.fd-shop-toolbar,
.woocommerce .woocommerce-ordering {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 0 24px !important;
  border-top: none !important;
  border-bottom: none !important;
  margin-bottom: 32px;
}
/* 隐藏结果计数（"X PIECES"）*/
.woocommerce-result-count {
  display: none !important;
}
.woocommerce-ordering {
  margin: 0 !important;
}
.woocommerce-ordering select {
  border: 1px solid var(--fd-gray-200) !important;
  border-radius: 0 !important;
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  color: var(--fd-gray-500) !important;
  padding: 9px 16px !important;
  background: transparent !important;
  outline: none !important;
  cursor: pointer;
}

/* Product grid */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  /* 清除 WC 默认 float 布局 */
  float: none !important;
  width: 100% !important;
  clear: both !important;
}
@media (max-width: 1024px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
}

/* Product card — 清除 WC 默认 float */
.woocommerce ul.products li.product {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  position: relative !important;
  overflow: visible !important;
  /* 关键：清除 WC 默认 float:left width:22% */
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: none !important;
}

/* Image wrap */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  display: block;
  overflow: hidden;
  position: relative;
  background: var(--fd-off-white);
  aspect-ratio: 3/4;
  margin-bottom: 16px;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--fd-ease);
}
.woocommerce ul.products li.product:hover .woocommerce-LoopProduct-link img {
  transform: scale(1.05);
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--fd-serif) !important;
  font-size: var(--fd-h3) !important;
  font-weight: 400 !important;
  color: var(--fd-deep) !important;
  padding: 0 0 4px !important;
  margin: 0 !important;
  transition: color 0.3s;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
  color: var(--fd-gold) !important;
}

/* Price */
.woocommerce ul.products li.product .price {
  font-family: var(--fd-serif) !important;
  font-size: 18px !important;
  color: var(--fd-charcoal) !important;
  display: block;
  margin-bottom: 12px;
}
.woocommerce ul.products li.product .price del {
  color: var(--fd-gray-300) !important;
  font-size: 14px !important;
  margin-right: 6px;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--fd-charcoal) !important;
}

/* Add to cart button */
.woocommerce ul.products li.product .button {
  width: 100% !important;
  text-align: center !important;
  margin-top: 4px !important;
  padding: 11px 16px !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: var(--fd-charcoal) !important;
  color: white !important;
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  border-radius: 0 !important;
  min-height: auto !important;
  line-height: 1 !important;
  padding: 6px 10px !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
}

/* ================================================================
   SINGLE PRODUCT PAGE — 全宽修复
   ================================================================ */

/* 单品页 entry-content 全宽 */
.single-product .entry-content,
.single-product #primary,
.single-product .content-area,
.single-product .ast-content-layout-wrap,
.single-product .site-content .ast-container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* woocommerce 容器全宽 */
.single-product .woocommerce {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 80px !important;
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .single-product .woocommerce { padding: 0 40px !important; }
}
@media (max-width: 768px) {
  .single-product .woocommerce { padding: 0 20px !important; }
}

/* ================================================================
   SINGLE PRODUCT PAGE
   ================================================================ */
.woocommerce div.product {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr !important;
  gap: 0 !important;
  align-items: start !important;
  padding: 0 0 80px !important;
}

/* 左列（gallery）：直接流式布局，不 sticky，避免穿到下方区域 */
.woocommerce div.product .woocommerce-product-gallery {
  grid-row: 1;
  grid-column: 1;
  padding-right: 0 !important;
  position: relative !important;
  top: auto !important;
  background: var(--fd-off-white) !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* 右列（summary）：静态布局，不 sticky */
.woocommerce div.product .summary.entry-summary {
  grid-row: 1;
  grid-column: 2;
  padding: 40px 0 40px 64px !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: none !important;
  position: relative;
  align-self: start;
}

/* tabs 和 related：跨两列铺满，完全独立 */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  margin-top: 48px !important;
  padding: 48px 0 0 !important;
  border-top: 1px solid var(--fd-gray-100);
}

@media (max-width: 1024px) {
  .woocommerce div.product .summary.entry-summary {
    padding: 32px 0 32px 40px !important;
    position: static;
  }
}
@media (max-width: 768px) {
  .woocommerce div.product {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .woocommerce div.product .woocommerce-product-gallery {
    grid-column: 1;
  }
  .woocommerce div.product .summary.entry-summary {
    grid-column: 1;
    padding: 24px 0 !important;
    position: static;
  }
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce div.product .related {
    grid-column: 1;
    margin-top: 24px !important;
    padding: 32px 0 0 !important;
  }
}

/* ================================================================
   PRODUCT GALLERY — 主图/缩略图/Flexslider 样式
   ================================================================ */

/* 主图区域：撑满左列，固定 4:5 比例 */
.woocommerce div.product .woocommerce-product-gallery .flex-viewport,
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce div.product .woocommerce-product-gallery .flex-viewport {
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
}

/* 主图撑满容器 */
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery__wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
}

/* 移除 flexslider 的默认白色背景和内边距 */
.woocommerce div.product .woocommerce-product-gallery .flexslider {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* 隐藏灯箱触发按钮（× 残留）*/
.woocommerce div.product .woocommerce-product-gallery__trigger,
.woocommerce div.product .woocommerce-product-gallery__trigger:before,
.woocommerce-product-gallery__trigger {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 缩略图条 */
.woocommerce div.product .woocommerce-product-gallery .flex-control-nav {
  display: flex !important;
  gap: 8px !important;
  padding: 10px 0 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-nav li {
  flex: 0 0 60px !important;
  width: 60px !important;
  height: 60px !important;
  margin: 0 !important;
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-nav li img {
  width: 60px !important;
  height: 60px !important;
  object-fit: cover !important;
  border: 2px solid transparent !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  opacity: 0.6 !important;
  transition: opacity 0.2s, border-color 0.2s !important;
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-nav li img.flex-active,
.woocommerce div.product .woocommerce-product-gallery .flex-control-nav li img:hover {
  border-color: var(--fd-gold) !important;
  opacity: 1 !important;
}

/* flexslider 箭头导航隐藏（用缩略图代替）*/
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav {
  display: none !important;
}

/* Product title */
.woocommerce div.product .product_title {
  font-family: var(--fd-serif) !important;
  font-size: var(--fd-h1) !important;
  font-weight: 300 !important;
  color: var(--fd-deep) !important;
  line-height: 1.15 !important;
  margin-bottom: 8px !important;
}

/* Product price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--fd-serif) !important;
  font-size: var(--fd-h3) !important;
  color: var(--fd-charcoal) !important;
  border-bottom: 1px solid var(--fd-gray-100);
  padding-bottom: 24px;
  margin-bottom: 24px !important;
  display: block;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: var(--fd-gray-300) !important;
  font-size: 18px !important;
  margin-right: 10px;
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: var(--fd-body) !important;
  line-height: 1.85 !important;
  color: var(--fd-gray-500) !important;
  margin-bottom: 24px !important;
}
.woocommerce div.product .woocommerce-product-details__short-description p {
  margin-bottom: 0;
}

/* Add to cart */
.woocommerce div.product form.cart .single_add_to_cart_button {
  background: var(--fd-charcoal) !important;
  color: white !important;
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 17px 36px !important;
  border: none !important;
  transition: background 0.3s !important;
  height: 52px;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: var(--fd-deep) !important;
}

/* Quantity */
.woocommerce div.product form.cart .qty {
  border: 1px solid var(--fd-gray-200) !important;
  border-radius: 0 !important;
  font-family: var(--fd-sans) !important;
  font-size: 14px !important;
  color: var(--fd-charcoal) !important;
  padding: 14px !important;
  height: 52px !important;
  width: 72px !important;
  text-align: center;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--fd-gray-100) !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--fd-gold) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--fd-gray-400) !important;
  padding: 16px 20px 16px 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--fd-charcoal) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  font-size: 16px;
  line-height: 1.85;
  color: var(--fd-gray-500);
}

/* Product meta */
.woocommerce div.product .product_meta {
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  color: var(--fd-gray-400) !important;
  text-transform: uppercase !important;
  margin-top: 20px;
  border-top: 1px solid var(--fd-gray-100);
  padding-top: 16px;
}

/* Related products */
.woocommerce .related > h2,
.woocommerce .upsells > h2 {
  font-family: var(--fd-serif) !important;
  font-size: var(--fd-h2) !important;
  font-weight: 300 !important;
  color: var(--fd-deep) !important;
  margin: 0 0 32px !important;
  letter-spacing: 0.02em;
}

/* Related 的产品网格 */
.woocommerce .related ul.products,
.woocommerce .upsells ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 1024px) {
  .woocommerce .related ul.products,
  .woocommerce .upsells ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ================================================================
   STAR RATINGS
   ================================================================ */
.woocommerce .star-rating span,
.woocommerce .star-rating::before,
.woocommerce .star-rating span::before {
  color: var(--fd-gold) !important;
}

/* ================================================================
   CART PAGE
   ================================================================ */
.woocommerce-cart table.cart td.product-name a {
  font-family: var(--fd-serif) !important;
  font-size: var(--fd-body-lg) !important;
  color: var(--fd-deep) !important;
}
.woocommerce-cart table.cart {
  border-collapse: collapse;
}
.woocommerce-cart table.cart th {
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--fd-gray-400) !important;
  font-weight: 500 !important;
  border-bottom: 1px solid var(--fd-gray-100) !important;
  padding: 12px 0 !important;
}
.woocommerce-cart table.cart td {
  border-bottom: 1px solid var(--fd-gray-100) !important;
  padding: 20px 0 !important;
  vertical-align: middle !important;
}
.woocommerce .cart-collaterals h2,
.woocommerce .cart_totals h2 {
  font-family: var(--fd-serif) !important;
  font-size: var(--fd-h3) !important;
  font-weight: 300 !important;
  color: var(--fd-deep) !important;
}

/* ================================================================
   CHECKOUT PAGE
   ================================================================ */
.woocommerce-checkout h3 {
  font-family: var(--fd-serif) !important;
  font-size: var(--fd-h3) !important;
  font-weight: 300 !important;
  color: var(--fd-deep) !important;
  letter-spacing: 0.03em !important;
  border-bottom: 1px solid var(--fd-gray-100);
  padding-bottom: 14px;
  margin-bottom: 24px !important;
}
.woocommerce form .form-row label {
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--fd-gray-500) !important;
  font-family: var(--fd-sans) !important;
  font-weight: 500 !important;
  margin-bottom: 6px !important;
}
.woocommerce form .input-text,
.woocommerce-checkout select {
  border: 1px solid var(--fd-gray-200) !important;
  border-radius: 0 !important;
  font-family: var(--fd-sans) !important;
  font-size: 13px !important;
  padding: 13px 16px !important;
  color: var(--fd-charcoal) !important;
  background: var(--fd-white) !important;
  transition: border-color 0.3s;
  outline: none !important;
}
.woocommerce form .input-text:focus {
  border-color: var(--fd-gold) !important;
  box-shadow: none !important;
}
#place_order,
.woocommerce #payment #place_order {
  background: var(--fd-charcoal) !important;
  color: white !important;
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 18px 40px !important;
  width: 100% !important;
  transition: background 0.3s !important;
}
#place_order:hover { background: var(--fd-deep) !important; }

/* ================================================================
   BREADCRUMBS
   ================================================================ */
.woocommerce-breadcrumb,
.ast-breadcrumbs,
.woocommerce .woocommerce-breadcrumb {
  font-family: var(--fd-sans) !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--fd-gray-500) !important;
  padding: 20px 80px !important;
  margin: 0 !important;
  display: block;
}
@media (max-width: 1024px) {
  .woocommerce-breadcrumb, .ast-breadcrumbs { padding: 16px 40px !important; }
}
@media (max-width: 640px) {
  .woocommerce-breadcrumb, .ast-breadcrumbs { padding: 14px 20px !important; }
}
.woocommerce-breadcrumb a { color: var(--fd-gray-400) !important; }
.woocommerce-breadcrumb a:hover { color: var(--fd-gold) !important; }
/* 面包屑分隔符 */
.woocommerce-breadcrumb .delimiter,
.woocommerce-breadcrumb span:not(:last-child)::after {
  color: var(--fd-gray-300) !important;
  margin: 0 6px !important;
}

/* ================================================================
   WIDGETS / SIDEBAR FILTERS
   ================================================================ */
.widget-title {
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--fd-charcoal) !important;
  font-weight: 500 !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid var(--fd-gray-100);
  padding-bottom: 10px;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
  background: var(--fd-gold) !important;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--fd-charcoal) !important;
  border-radius: 0 !important;
}

/* ================================================================
   SEARCH OVERLAY
   ================================================================ */
.fd-search-overlay {
  display: none;           /* 默认隐藏 — JS 控制显示 */
  position: fixed;
  inset: 0;
  background: rgba(250, 250, 248, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  animation: fdFadeIn 0.25s ease;
}
.fd-search-overlay.fd-active {
  display: flex;
}
@keyframes fdFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.fd-search-inner {
  position: relative;
  width: 100%;
  max-width: 640px;
  padding: 0 40px;
}

.fd-search-close {
  position: absolute;
  top: -60px;
  right: 40px;
  background: none;
  border: none;
  font-size: 20px;
  color: var(--fd-gray-400);
  cursor: pointer;
  padding: 8px;
  line-height: 1;
  transition: color 0.2s;
  font-family: var(--fd-sans);
}
.fd-search-close:hover { color: var(--fd-charcoal); }

/* 搜索输入框样式 */
.fd-search-overlay .search-form {
  display: flex !important;
  border-bottom: 2px solid var(--fd-charcoal);
}
.fd-search-overlay .search-form input[type="search"] {
  flex: 1;
  border: none !important;
  background: transparent !important;
  font-family: var(--fd-serif) !important;
  font-size: clamp(24px, 4vw, 42px) !important;
  font-weight: 300 !important;
  color: var(--fd-deep) !important;
  padding: 12px 0 !important;
  outline: none !important;
  box-shadow: none !important;
  letter-spacing: 0.02em;
  caret-color: var(--fd-gold);
}
.fd-search-overlay .search-form input[type="search"]::placeholder {
  color: var(--fd-gray-200) !important;
}
.fd-search-overlay .search-form button[type="submit"],
.fd-search-overlay .search-form .search-submit {
  background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238C8880' stroke-width='1.5' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.5' y1='16.5' x2='22' y2='22'/%3E%3C/svg%3E") center/20px no-repeat !important;
  border: none !important;
  width: 44px !important;
  height: 52px !important;
  padding: 0 !important;
  cursor: pointer !important;
  color: transparent !important;
  font-size: 0 !important;
  flex-shrink: 0;
  transition: opacity 0.2s;
}
.fd-search-overlay .search-form button[type="submit"]:hover {
  background-color: transparent !important;
  opacity: 0.65;
}
.fd-search-overlay .search-form button[type="submit"]:hover {
  background: none !important;
  color: var(--fd-charcoal) !important;
}

/* 隐藏 Astra 默认搜索框（非 overlay 内的）*/
.home .ast-search-menu-icon,
.home .ast-search-icon,
.ast-search-box {
  display: none !important;
}
/* 隐藏页面上非 overlay 非 WC Widget 内的 .search-form
   - 排除 .fd-search-overlay 内（我们自己的全局搜索）
   - 排除 .widget_product_search 内（WooCommerce 商品搜索 Widget）
   - 排除搜索结果页（body.search）本身的表单 */
body:not(.search) .search-form:not(.fd-search-overlay .search-form):not(.widget_product_search .search-form) {
  display: none !important;
}

/* ================================================================
   NOTICES & 残留 UI 清理
   ================================================================ */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border-top-color: var(--fd-gold) !important;
  font-family: var(--fd-sans) !important;
  font-size: 13px !important;
  border-radius: 0 !important;
}

/* 隐藏所有可能的 × 残留来源 */
.woocommerce-store-notice,
p.demo_store,
.ast-mobile-header-wrap .ast-button-wrap,
.ast-header-break-point .ast-mobile-header-content,
.woocommerce div.product .woocommerce-product-gallery__trigger,
#wpadminbar ~ .woocommerce-store-notice,
.close-button,
[class*="close-"][class*="-canvas"],
.ast-close-popup,
.ast-popup-close,
.mfp-close,
.pswp__button--close {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ================================================================
   MY ACCOUNT — 登录 / 注册 / 账户后台
   ================================================================ */

/* 页面背景 */
.woocommerce-account .entry-content,
.woocommerce-account #primary,
.woocommerce-account .site-content {
  background: var(--fd-white) !important;
}

/* ── 登录 & 注册页（未登录状态）──────────────────────────── */
.woocommerce-account:not(.logged-in) .woocommerce {
  max-width: 960px;
  margin: 0 auto;
  padding: 72px 40px 100px;
}

/* 两栏布局：登录左 / 注册右 */
.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper + * {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
@media (max-width: 768px) {
  .woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper + * {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .woocommerce-account:not(.logged-in) .woocommerce {
    padding: 48px 24px 72px;
  }
}

/* 区块标题 */
.woocommerce-account h2,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-form-login h2,
.woocommerce-form-register h2 {
  font-family: var(--fd-serif) !important;
  font-size: clamp(26px, 3vw, 36px) !important;
  font-weight: 300 !important;
  color: var(--fd-deep) !important;
  letter-spacing: 0.01em;
  margin-bottom: 32px !important;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--fd-gray-100);
}

/* 表单 label */
.woocommerce-account .woocommerce-form__label,
.woocommerce-account label {
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--fd-gray-500) !important;
  display: block;
  margin-bottom: 8px !important;
}

/* 输入框 */
.woocommerce-account .woocommerce-Input,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account textarea,
.woocommerce-account select {
  border: 1px solid var(--fd-gray-200) !important;
  border-radius: 0 !important;
  font-family: var(--fd-sans) !important;
  font-size: 14px !important;
  color: var(--fd-charcoal) !important;
  background: var(--fd-white) !important;
  padding: 13px 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color 0.3s;
  box-shadow: none !important;
}
.woocommerce-account input[type="text"]:focus,
.woocommerce-account input[type="email"]:focus,
.woocommerce-account input[type="password"]:focus {
  border-color: var(--fd-gold) !important;
  box-shadow: none !important;
}

/* Remember me 复选框行 */
.woocommerce-account .woocommerce-form__label-for-checkbox {
  font-size: 13px !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  color: var(--fd-gray-500) !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.woocommerce-account .woocommerce-form__input-checkbox {
  width: auto !important;
  accent-color: var(--fd-gold);
}

/* 登录 / 注册按钮 */
.woocommerce-account .woocommerce-button,
.woocommerce-account button[type="submit"],
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit {
  background: var(--fd-charcoal) !important;
  color: white !important;
  font-family: var(--fd-sans) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 15px 40px !important;
  cursor: pointer;
  transition: background 0.3s !important;
  margin-top: 8px !important;
}
.woocommerce-account .woocommerce-button:hover,
.woocommerce-account button[type="submit"]:hover {
  background: var(--fd-deep) !important;
}

/* 忘记密码链接 */
.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account .lost_password a {
  font-family: var(--fd-sans) !important;
  font-size: 12px !important;
  color: var(--fd-gray-400) !important;
  letter-spacing: 0.05em;
  text-decoration: none;
  border-bottom: 1px solid var(--fd-gray-200);
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}
.woocommerce-account .woocommerce-LostPassword a:hover,
.woocommerce-account .lost_password a:hover {
  color: var(--fd-charcoal) !important;
  border-color: var(--fd-charcoal);
}

/* ── 账户后台（已登录状态）────────────────────────────────── */
.woocommerce-account.logged-in .woocommerce {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 64px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 80px 100px;
  align-items: start;
}
@media (max-width: 1024px) {
  .woocommerce-account.logged-in .woocommerce {
    padding: 48px 40px 72px;
    gap: 40px;
  }
}
@media (max-width: 768px) {
  .woocommerce-account.logged-in .woocommerce {
    grid-template-columns: 1fr;
    padding: 40px 24px 60px;
    gap: 32px;
  }
}

/* 左侧导航 */
.woocommerce-MyAccount-navigation {
  position: sticky;
  top: 100px;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-top: 1px solid var(--fd-gray-100);
}
.woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid var(--fd-gray-100);
}
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  font-family: var(--fd-sans) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--fd-gray-500) !important;
  padding: 14px 0 !important;
  text-decoration: none;
  transition: color 0.2s, padding-left 0.2s;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--fd-charcoal) !important;
  padding-left: 6px !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
  color: var(--fd-deep) !important;
  font-weight: 500 !important;
}

/* 右侧内容区 */
.woocommerce-MyAccount-content {
  min-width: 0;
}
.woocommerce-MyAccount-content p {
  font-size: 15px;
  line-height: 1.85;
  color: var(--fd-gray-500);
}
.woocommerce-MyAccount-content strong {
  color: var(--fd-charcoal);
  font-weight: 500;
}

/* Dashboard 欢迎语 */
.woocommerce-MyAccount-content .woocommerce-notice {
  border-left: 2px solid var(--fd-gold) !important;
  background: var(--fd-off-white) !important;
  padding: 16px 20px !important;
  font-size: 14px !important;
  border-radius: 0 !important;
  margin-bottom: 32px !important;
}

/* ── 订单列表 ───────────────────────────────────────────── */
.woocommerce-account .woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-account .woocommerce-orders-table th {
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--fd-gray-400) !important;
  border-bottom: 1px solid var(--fd-gray-100) !important;
  padding: 10px 0 12px !important;
  text-align: left;
}
.woocommerce-account .woocommerce-orders-table td {
  font-size: 14px;
  color: var(--fd-charcoal);
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--fd-gray-100) !important;
  vertical-align: middle;
}
.woocommerce-account .woocommerce-orders-table__cell-order-actions a {
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--fd-charcoal) !important;
  border: 1px solid var(--fd-gray-200);
  padding: 7px 14px;
  text-decoration: none;
  transition: all 0.2s;
}
.woocommerce-account .woocommerce-orders-table__cell-order-actions a:hover {
  background: var(--fd-charcoal);
  color: white !important;
  border-color: var(--fd-charcoal);
}

/* 订单状态标签 */
.woocommerce-account .woocommerce-order-status {
  font-family: var(--fd-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 4px 10px;
  border-radius: 0 !important;
}
.woocommerce-account mark.order-status {
  background: var(--fd-gray-100) !important;
  color: var(--fd-gray-500) !important;
  border-radius: 0 !important;
  padding: 4px 10px !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.woocommerce-account mark.order-status.status-completed {
  background: rgba(184,151,90,0.12) !important;
  color: var(--fd-gold) !important;
}
.woocommerce-account mark.order-status.status-processing {
  background: rgba(58,56,53,0.08) !important;
  color: var(--fd-charcoal) !important;
}

/* ── 地址 / 账户详情表单 ─────────────────────────────────── */
.woocommerce-account .woocommerce-address-fields h3,
.woocommerce-account .woocommerce-EditAccountForm fieldset legend,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: var(--fd-serif) !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: var(--fd-deep) !important;
  letter-spacing: 0.02em;
  border-bottom: 1px solid var(--fd-gray-100);
  padding-bottom: 12px;
  margin-bottom: 24px !important;
}

/* 地址卡片 */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  border: 1px solid var(--fd-gray-100);
  padding: 28px 32px;
  background: var(--fd-off-white);
}
.woocommerce-account .woocommerce-Address-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--fd-gray-100);
}
.woocommerce-account .woocommerce-Address-title h3 {
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--fd-charcoal) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-account .woocommerce-Address-title .edit {
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em;
  color: var(--fd-gray-400) !important;
  text-decoration: none;
  text-transform: uppercase;
  border-bottom: 1px solid var(--fd-gray-200);
  padding-bottom: 1px;
  transition: color 0.2s;
}
.woocommerce-account .woocommerce-Address-title .edit:hover {
  color: var(--fd-gold) !important;
  border-color: var(--fd-gold);
}
address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.9;
  color: var(--fd-gray-500);
}

/* ── 密码强度提示 ─────────────────────────────────────────── */
.woocommerce-account .woocommerce-password-strength {
  font-family: var(--fd-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 6px 12px !important;
  border-radius: 0 !important;
  margin-top: 6px !important;
}
.woocommerce-account .woocommerce-password-hint {
  font-size: 12px !important;
  color: var(--fd-gray-400) !important;
}

/* ── 通用提示信息 ─────────────────────────────────────────── */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
  border-radius: 0 !important;
  font-family: var(--fd-sans) !important;
  font-size: 13px !important;
  border-top: none !important;
  border-left: 2px solid var(--fd-gold) !important;
  background: var(--fd-off-white) !important;
  color: var(--fd-charcoal) !important;
  padding: 14px 20px !important;
  margin-bottom: 28px !important;
}
.woocommerce-account .woocommerce-error {
  border-left-color: #c0392b !important;
}

/* ================================================================
   FOOTER
   ================================================================ */
.site-footer,
#colophon {
  background: var(--fd-gray-100) !important;
  color: var(--fd-gray-500) !important;
  font-family: var(--fd-sans) !important;
}
.site-footer a,
#colophon a {
  color: var(--fd-gray-500) !important;
  transition: color 0.3s;
}
.site-footer a:hover,
#colophon a:hover {
  color: var(--fd-charcoal) !important;
}
.site-footer .widget-title,
#colophon .widget-title {
  color: var(--fd-charcoal) !important;
  border-bottom-color: var(--fd-gray-200) !important;
}
.ast-footer-copyright,
.ast-footer-copyright a {
  color: var(--fd-gray-400) !important;
  font-size: 11px !important;
  letter-spacing: 0.05em !important;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 768px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 16px !important;
  }
  .woocommerce div.product .product_title { font-size: 28px !important; }
}

/* ============================================================
   PRODUCT GRID & CARD  (front-page.php custom template)
   ============================================================ */
.fd-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  margin-top: 40px;
}
@media (max-width: 1024px) { .fd-product-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px)  { .fd-product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .fd-product-grid { grid-template-columns: 1fr; } }

.fd-card { background: #FAFAF8; overflow: hidden; transition: box-shadow .25s; }
.fd-card:hover { box-shadow: 0 8px 32px rgba(26,25,23,.08); }

.fd-card__img-wrap {
  display: block;
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #F2EFE9;
}
.fd-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.fd-card:hover .fd-card__img { transform: scale(1.03); }
.fd-card__img-placeholder { width: 100%; height: 100%; background: #EDE9E2; }

.fd-card__badge {
  position: absolute; top: 12px; left: 12px;
  font-size: 9px; letter-spacing: .18em; text-transform: uppercase;
  padding: 4px 10px;
  font-family: var(--fd-sans, 'Verdana', Geneva, sans-serif);
}
.fd-card__badge--new  { background: #1A1917; color: #FAFAF8; }
.fd-card__badge--sale { background: #B8975A; color: #fff; }

.fd-card__body { padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 6px; }

.fd-card__name {
  font-family: var(--fd-serif, 'Verdana', Geneva, sans-serif);
  font-size: var(--fd-h3); font-weight: 400; color: #1A1917;
  text-decoration: none; line-height: 1.3;
}
.fd-card__name:hover { color: #B8975A; }

.fd-card__price { font-size: var(--fd-body-sm); color: #5C5852; }
.fd-card__price ins { text-decoration: none; color: #B8975A; font-weight: 500; }
.fd-card__price del { opacity: .5; margin-right: 6px; }

.fd-card__cta {
  display: inline-block; margin-top: 8px;
  font-size: var(--fd-tag); letter-spacing: .18em; text-transform: uppercase;
  color: #1A1917; text-decoration: none;
  border-bottom: 1px solid #D5CFC5; padding-bottom: 2px;
  width: fit-content; transition: color .2s, border-color .2s;
}
.fd-card__cta:hover { color: #B8975A; border-color: #B8975A; }

/* ============================================================
   ARCHIVE / SHOP PAGE  (archive-product.php)
   ============================================================ */

/* ── Hero 区 ── */
.fd-arch-hero {
  background: #FAFAF8;
  padding: 72px 80px 48px;
  border-bottom: 1px solid #EDE9E2;
}
@media (max-width: 768px) { .fd-arch-hero { padding: 48px 24px 32px; } }

.fd-arch-hero__eyebrow {
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #8C8880;
  margin-bottom: 16px;
  font-family: var(--fd-sans, 'Verdana', Geneva, sans-serif);
}
.fd-arch-hero__eyebrow a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid #D5CFC5;
  padding-bottom: 1px;
  transition: color .2s, border-color .2s;
}
.fd-arch-hero__eyebrow a:hover { color: #1A1917; border-color: #1A1917; }
.fd-arch-hero__sep { opacity: .4; margin: 0 6px; }

.fd-arch-hero__title {
  font-family: var(--fd-serif, 'Verdana', Geneva, sans-serif);
  font-size: var(--fd-h1);
  font-weight: 300;
  color: #1A1917;
  line-height: 1.1;
  margin: 0 0 16px;
  letter-spacing: -.01em;
}

.fd-arch-hero__desc {
  font-size: var(--fd-body);
  color: #8C8880;
  line-height: 1.8;
  max-width: 520px;
  margin: 0;
}

/* ── Toolbar ── */
.fd-arch-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 80px 32px;
  background: transparent;
}
@media (max-width: 768px) { .fd-arch-toolbar { padding: 0 24px 16px; } }

/* 隐藏 "X pieces" 计数 */
.fd-arch-toolbar__count { display: none !important; }

/* 自定义排序表单 */
.fd-sort-form { display: flex; align-items: center; }
.fd-sort-select {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  border-bottom: 1px solid #C8C4BC;
  border-radius: 0;
  font-family: var(--fd-sans, 'Verdana', Geneva, sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #3A3835;
  padding: 6px 28px 6px 0;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='5' viewBox='0 0 9 5'%3E%3Cpath d='M1 1l3.5 3L8 1' stroke='%238C8880' stroke-width='1.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  transition: border-color .2s, color .2s;
}
.fd-sort-select:focus {
  outline: none;
  border-bottom-color: #1E1D1B;
  color: #1E1D1B;
}

/* ── 4-column Product Grid ── */
/* ============================================================
   COLLECTION — Editorial Layouts
   ============================================================ */

/* ── Collection container ── */
.fd-collection {
  padding: 64px 80px 80px;
  position: relative;
}
@media (max-width: 768px) { .fd-collection { padding: 40px 24px 60px; } }

/* ── Layout: SOLO (1 item) — 单品居中 editorial ── */
.fd-collection--solo {
  display: grid;
  place-items: center;
  min-height: 70vh;
}
.fd-collection--solo .fd-item {
  max-width: 520px;
  text-align: center;
}
.fd-collection--solo .fd-item__img-wrap {
  /* aspect-ratio 由图片自然比例决定，不强制裁切 */
  margin-bottom: 32px;
}
.fd-collection--solo .fd-item__body {
  align-items: center;
}
.fd-collection--solo .fd-item__name {
  font-size: 28px !important;
}

/* ── Layout: OFFSET (2 items) — 错层非对称 ── */
.fd-collection--offset {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.fd-collection--offset .fd-item[data-i="0"] {
  margin-top: 80px;
  margin-right: 40px;
}
.fd-collection--offset .fd-item[data-i="1"] {
  margin-left: 40px;
}
@media (max-width: 768px) {
  .fd-collection--offset { grid-template-columns: 1fr; gap: 40px; }
  .fd-collection--offset .fd-item[data-i="0"],
  .fd-collection--offset .fd-item[data-i="1"] { margin: 0; }
}

/* ── Layout: HERO (3 items) — 左大 + 右两小 ── */
.fd-collection--hero {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  grid-template-rows: repeat(2, auto);
  gap: 40px 48px;
}
.fd-collection--hero .fd-item[data-i="0"] {
  grid-row: span 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.fd-collection--hero .fd-item[data-i="0"] .fd-item__img-wrap {
  /* aspect-ratio 由图片自然比例决定 */
}
.fd-collection--hero .fd-item[data-i="0"] .fd-item__name {
  font-size: 28px !important;
}
@media (max-width: 768px) {
  .fd-collection--hero { grid-template-columns: 1fr; grid-template-rows: auto; gap: 32px; }
  .fd-collection--hero .fd-item[data-i="0"] { grid-row: auto; }
}

/* ── Layout: QUAD (4 items) — 2×2 大格 ── */
.fd-collection--quad {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
}
.fd-collection--quad .fd-item__img-wrap { /* aspect-ratio 由图片自然比例决定 */ }
@media (max-width: 640px) {
  .fd-collection--quad { grid-template-columns: 1fr; gap: 32px; }
}

/* ── Layout: GRID-3 (5+ items) — 3 列标准网格（奢侈品行业标准） ──
   参考：Hermès / Saint Laurent / Bottega Veneta 官网
   行间距比列间距略大，营造从容的阅读节奏 */
.fd-collection--grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 32px;
  row-gap: 64px;
}
.fd-collection--grid-3 .fd-item__img-wrap { /* aspect-ratio 由图片自然比例决定 */ }
.fd-collection--grid-3 .fd-item__name { font-size: 20px !important; }

@media (max-width: 1024px) {
  .fd-collection--grid-3 {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 24px;
    row-gap: 48px;
  }
}
@media (max-width: 540px) {
  .fd-collection--grid-3 {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }
}

/* ── Layout: EMPTY ── */
.fd-collection--empty {
  padding: 120px 24px;
  text-align: center;
}

/* ============================================================
   ITEM — 单品卡片（editorial 风格）
   ============================================================ */
.fd-item {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.fd-item.product {
  float: none !important;
  width: 100% !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.fd-item__img-wrap {
  display: block;
  position: relative;
  overflow: hidden;
  background: #F2EFE9;
  /* 不强制 aspect-ratio：让图片以自然比例撑开容器
     消除图片比例与容器不匹配时底部出现的背景色留白 */
}
.fd-item__img {
  width: 100%;
  height: auto;  /* 自然高度，不再 height:100% 撑满固定容器 */
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(.2,.8,.2,1), filter .4s;
}
.fd-item:hover .fd-item__img {
  transform: scale(1.04);
  filter: brightness(1.02);
}
.fd-item__img-placeholder {
  width: 100%;
  height: 100%;
  background: #EDE9E2;
}

/* Badge */
.fd-item__badge {
  position: absolute;
  top: 16px; left: 16px;
  font-family: var(--fd-sans, 'Verdana', Geneva, sans-serif);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 5px 12px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.fd-item__badge--new  { background: rgba(26,25,23,.92); color: #FAFAF8; }
.fd-item__badge--sale { background: #B8975A; color: #fff; }

/* Body */
.fd-item__body {
  padding: 20px 0 4px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}
.fd-item__name {
  font-family: var(--fd-serif, 'Verdana', Geneva, sans-serif);
  font-size: var(--fd-h3);
  font-weight: 400;
  color: #1A1917;
  text-decoration: none;
  line-height: 1.2;
  letter-spacing: -.005em;
  transition: color .25s;
}
.fd-item__name:hover { color: #B8975A; }

.fd-item__price {
  font-family: var(--fd-sans, 'Verdana', Geneva, sans-serif);
  font-size: var(--fd-body-sm);
  color: #5C5852;
  letter-spacing: .02em;
}
.fd-item__price ins { text-decoration: none; color: #B8975A; font-weight: 500; }
.fd-item__price del { opacity: .5; margin-right: 8px; }

.fd-item__cta {
  display: inline-block;
  margin-top: 6px;
  font-family: var(--fd-sans, 'Verdana', Geneva, sans-serif);
  font-size: var(--fd-tag);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #1A1917;
  text-decoration: none;
  border-bottom: 1px solid #1A1917;
  padding-bottom: 3px;
  transition: color .2s, border-color .2s, padding .25s;
}
.fd-item__cta:hover {
  color: #B8975A;
  border-color: #B8975A;
  padding-right: 8px;
}

/* ── Empty state ── */
.fd-arch-empty {
  grid-column: 1 / -1;
  padding: 80px 24px;
  text-align: center;
  font-family: var(--fd-serif, 'Verdana', Geneva, sans-serif);
  font-size: 22px;
  color: #8C8880;
}

/* ── Pagination ── */
.fd-arch-pagination {
  padding: 48px 80px 80px;
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) { .fd-arch-pagination { padding: 40px 24px 60px; } }

.fd-arch-pagination .woocommerce-pagination ul {
  list-style: none;
  display: flex;
  gap: 4px;
  margin: 0; padding: 0;
}
.fd-arch-pagination .woocommerce-pagination ul li a,
.fd-arch-pagination .woocommerce-pagination ul li span {
  display: block;
  width: 40px; height: 40px;
  line-height: 40px;
  text-align: center;
  font-family: var(--fd-sans, 'Verdana', Geneva, sans-serif);
  font-size: 12px;
  letter-spacing: .08em;
  color: #5C5852;
  text-decoration: none;
  border: 1px solid transparent;
  transition: all .2s;
}
.fd-arch-pagination .woocommerce-pagination ul li a:hover { border-color: #1A1917; color: #1A1917; }
.fd-arch-pagination .woocommerce-pagination ul li span.current {
  background: #1A1917; color: #FAFAF8; border-color: #1A1917;
}

/* ── Layout: GRID-4 (archive 固定 4 列) ── */
.fd-collection--grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 28px;
  row-gap: 56px;
  padding: 0 80px 80px;
}

/* 固定图片比例 3:4，所有产品图统一大小 */
.fd-collection--grid-4 .fd-item__img-wrap {
  aspect-ratio: 3 / 4;
}
.fd-collection--grid-4 .fd-item__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fd-collection--grid-4 .fd-item__img-placeholder {
  width: 100%;
  height: 100%;
  background: #EDE9E2;
}
@media (max-width: 1024px) {
  .fd-collection--grid-4 {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 20px;
    row-gap: 40px;
    padding: 0 40px 60px;
  }
}
@media (max-width: 480px) {
  .fd-collection--grid-4 {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 12px;
    row-gap: 32px;
    padding: 0 20px 48px;
  }
}

/* ── WC Astra sidebar 彻底隐藏（归档页不需要） ── */
.woocommerce-page .site-main .widget_pages,
.woocommerce-page .site-main .widget_archive,
.woocommerce-page .site-main .widget_categories,
.woocommerce-page .site-content > div:not([class]),
.woocommerce-page aside.widget-area { display: none !important; }

/* ── 隐藏 WC 默认线条和计数 ── */
.woocommerce-ordering { margin: 0 !important; }
.woocommerce-result-count { display: none !important; }
/* WC 在 loop 前后注入的分割线 */
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering { border: none !important; }
.woocommerce nav.woocommerce-ordering,
.woocommerce-loop-before,
.woocommerce-loop-after { border: none !important; }
/* Astra 或 WC 注入的 before-loop 线 */
.woocommerce .before-shop-loop,
.woocommerce-page .before-shop-loop { border: none !important; box-shadow: none !important; }
.ast-woocommerce-container .ast-shop-summary-wrap { border: none !important; }

