@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Jost:wght@300;400;500;600&display=swap');



/* =====================================================================

   HAUVORAHOME — Boutique Design System  (v1.0)

   作用域隔离：所有自定义组件统一使用 .hv- 前缀，避免污染主题原生样式。

   仅对 WooCommerce / Astra 的明确组件选择器做覆盖，不写裸 a/body/li/button。

   ===================================================================== */



:root {

  --hv-ink:        #23201d;

  --hv-ink-soft:   #4a443f;

  --hv-muted:      #8a817a;

  --hv-line:       #e9e2d9;

  --hv-line-soft:  #f1ebe3;

  --hv-paper:      #ffffff;

  --hv-cream:      #faf7f2;

  --hv-cream-2:    #f4efe7;

  --hv-accent:     #b0736a;

  --hv-accent-d:   #8f5a52;

  --hv-accent-soft:#f7ebe8;

  --hv-dark:       #23201d;



  --hv-serif: 'Playfair Display', 'Cormorant Garamond', Georgia, 'Times New Roman', serif;

  --hv-sans:  'Jost', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;



  --hv-radius: 4px;

  --hv-radius-lg: 10px;

  --hv-shadow: 0 12px 34px rgba(35, 32, 29, .08);

  --hv-shadow-sm: 0 4px 14px rgba(35, 32, 29, .06);

  --hv-maxw: 1240px;

}



/* ---------- 基础排版 ---------- */

body,

.ast-body-font,

.entry-content,

.widget {

  font-family: var(--hv-sans);

  color: var(--hv-ink-soft);

  font-weight: 400;

  letter-spacing: .1px;

}



h1, h2, h3, h4, h5, h6,

.entry-title, .entry-content h1, .entry-content h2, .entry-content h3,

.woocommerce div.product .product_title,

.woocommerce ul.products li.product .woocommerce-loop-product__title {

  font-family: var(--hv-serif);

  color: var(--hv-ink);

  font-weight: 600;

  letter-spacing: .2px;

}



.entry-content p { line-height: 1.85; }



.hv-eyebrow {

  font-family: var(--hv-sans);

  text-transform: uppercase;

  letter-spacing: .28em;

  font-size: 11px;

  font-weight: 500;

  color: var(--hv-accent);

}



/* ---------- 通用按钮 ---------- */

.ast-button,

.wp-block-button__link,

.elementor-button,

.woocommerce a.button,

.woocommerce button.button,

.woocommerce input.button,

.woocommerce #respond input#submit,

.woocommerce a.button.alt,

.woocommerce button.button.alt,

.woocommerce input.button.alt,

.woocommerce .cart .button,

.woocommerce .cart input.button,

.woocommerce ul.products li.product .button,

.woocommerce ul.products li.product .added_to_cart {

  font-family: var(--hv-sans) !important;

  background: var(--hv-accent) !important;

  color: #fff !important;

  border: 1px solid var(--hv-accent) !important;

  border-radius: var(--hv-radius) !important;

  text-transform: uppercase;

  letter-spacing: .16em;

  font-size: 12px !important;

  font-weight: 500 !important;

  padding: 14px 30px !important;

  line-height: 1 !important;

  transition: all .25s ease;

  box-shadow: none !important;

}

.ast-button:hover,

.wp-block-button__link:hover,

.elementor-button:hover,

.woocommerce a.button:hover,

.woocommerce button.button:hover,

.woocommerce input.button:hover,

.woocommerce #respond input#submit:hover,

.woocommerce ul.products li.product .button:hover,

.woocommerce ul.products li.product .added_to_cart:hover {

  background: var(--hv-accent-d) !important;

  border-color: var(--hv-accent-d) !important;

  color: #fff !important;

  transform: translateY(-1px);

}



/* 次级（描边）按钮 */

.hv-btn-ghost,

.woocommerce .hv-btn-ghost.button {

  background: transparent !important;

  color: var(--hv-ink) !important;

  border: 1px solid var(--hv-ink) !important;

}

.hv-btn-ghost:hover { background: var(--hv-ink) !important; color: #fff !important; border-color: var(--hv-ink) !important; }



/* ---------- 公告条 ---------- */

.hv-announce {

  background: var(--hv-dark);

  color: #f4efe7;

  text-align: center;

  font-family: var(--hv-sans);

  font-size: 12px;

  letter-spacing: .18em;

  text-transform: uppercase;

  padding: 11px 16px;

}

.hv-announce strong { color: #fff; font-weight: 500; }



/* ---------- 页头 ---------- */

.ast-primary-header-bar,

.ast-main-header-bar-alignment,

.site-header {

  background: rgba(255, 255, 255, .96);

  border-bottom: 1px solid var(--hv-line);

}

.ast-primary-header-bar { min-height: 76px; }

.main-header-menu > .menu-item > .menu-link,

.ast-header-navigation .menu-link {

  font-family: var(--hv-sans);

  text-transform: uppercase;

  letter-spacing: .16em;

  font-size: 12.5px;

  font-weight: 500;

  color: var(--hv-ink) !important;

}

.main-header-menu > .menu-item > .menu-link:hover,

.ast-header-navigation .menu-link:hover { color: var(--hv-accent) !important; }



.ast-builder-menu .sub-menu {

  border: 1px solid var(--hv-line);

  box-shadow: var(--hv-shadow);

  border-radius: var(--hv-radius);

}

.ast-builder-menu .sub-menu .menu-link { letter-spacing: .06em; text-transform: none; }



.site-header .site-title a,

.site-header .site-title {

  font-family: var(--hv-serif) !important;

  letter-spacing: .12em;

  text-transform: uppercase;

  font-weight: 600;

  color: var(--hv-ink) !important;

}

.site-header .custom-logo-link img,

.ast-header-break-point .site-header .custom-logo-link img {

  max-height: 64px !important;

  width: auto !important;

}



/* 页头图标/文字项 */

.hv-hdr-link { text-transform: uppercase; letter-spacing: .14em; font-size: 12px; }



/* ---------- 分类归档页 ---------- */

.woocommerce.archive .woocommerce-products-header,

.woocommerce-page.archive .woocommerce-products-header,

body.tax-product_cat .woocommerce-products-header,

.woocommerce.archive .ast-archive-description,

.woocommerce-page.archive .ast-archive-description {

  background: var(--hv-cream);

  border: 0;

  max-width: none;

  padding: 42px 28px 34px;

  margin: 0 0 28px;

  text-align: center;

}

.woocommerce.archive .ast-archive-description .ast-archive-title,

.woocommerce-page.archive .ast-archive-description .ast-archive-title,

.woocommerce.archive .woocommerce-products-header__title,

.woocommerce-page.archive .woocommerce-products-header__title,

body.tax-product_cat .woocommerce-products-header__title,

body.tax-product_cat .ast-archive-title {

  font-family: var(--hv-serif) !important;

  color: var(--hv-ink) !important;

  font-size: clamp(34px, 4vw, 48px) !important;

  line-height: 1.12;

  margin: 0 0 12px !important;

  letter-spacing: .01em;

}

.woocommerce.archive .ast-archive-description p,

.woocommerce-page.archive .ast-archive-description p,

body.tax-product_cat .woocommerce-products-header .term-description p {

  color: var(--hv-muted);

  font-size: 15px;

  max-width: 620px;

  margin: 0 auto;

}

.woocommerce.archive .woocommerce-result-count,

.woocommerce-page.archive .woocommerce-result-count {

  color: var(--hv-muted);

  font-size: 13px;

}

.woocommerce.archive .woocommerce-ordering select,

.woocommerce-page.archive .woocommerce-ordering select {

  border-color: var(--hv-line);

  border-radius: var(--hv-radius);

  background-color: var(--hv-paper);

  color: var(--hv-ink-soft);

  min-height: 42px;

}



/* ---------- 商品网格 ---------- */

.woocommerce ul.products {

  margin: 0 -12px;

}

.woocommerce ul.products li.product,

.wc-block-grid__product {

  background: var(--hv-paper);

  border: 1px solid var(--hv-line-soft);

  border-radius: var(--hv-radius-lg);

  overflow: hidden;

  padding: 0 0 20px 0 !important;

  margin-bottom: 26px !important;

  transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease;

  display: flex;

  flex-direction: column;

}

.woocommerce ul.products li.product:hover {

  box-shadow: var(--hv-shadow);

  transform: translateY(-4px);

  border-color: var(--hv-line);

}

.woocommerce ul.products li.product a img {

  margin: 0 !important;

  border-radius: 0 !important;

  transition: transform .6s ease;

  aspect-ratio: 3 / 4;

  object-fit: cover;

  width: 100%;

}

.woocommerce ul.products li.product:hover a img { transform: scale(1.045); }

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { overflow: hidden; }

.woocommerce ul.products li.product .ast-woo-product-category,

.woocommerce ul.products li.product .woocommerce-loop-product__categories,

.woocommerce ul.products li.product .posted_in,

.wc-block-grid__product .wc-block-grid__product-category { display: none !important; }



.woocommerce ul.products li.product .woocommerce-loop-product__title,

.wc-block-grid__product-title {

  font-family: var(--hv-serif) !important;

  font-size: 16px !important;

  font-weight: 500 !important;

  color: var(--hv-ink) !important;

  line-height: 1.45;

  padding: 16px 18px 6px !important;

  min-height: 2.9em;

  letter-spacing: .2px;

}

.woocommerce ul.products li.product .price,

.wc-block-grid__product-price {

  font-family: var(--hv-sans) !important;

  color: var(--hv-ink) !important;

  font-size: 15px !important;

  font-weight: 500 !important;

  padding: 0 18px !important;

  letter-spacing: .04em;

}

.woocommerce ul.products li.product .price del { color: var(--hv-muted) !important; font-weight: 400; margin-right: 6px; }

.woocommerce ul.products li.product .price ins { color: var(--hv-accent) !important; text-decoration: none; font-weight: 600; }



.woocommerce ul.products li.product .button,

.woocommerce ul.products li.product .added_to_cart {

  margin: 14px 18px 0 !important;

  width: calc(100% - 36px);

  text-align: center;

}



/* 促销角标 */

.woocommerce ul.products li.product .onsale,

.woocommerce span.onsale,

.ast-oncard-button.ast-onsale-card {

  background: var(--hv-accent) !important;

  color: #fff !important;

  font-family: var(--hv-sans);

  text-transform: uppercase;

  letter-spacing: .12em;

  font-size: 10.5px !important;

  font-weight: 500;

  border-radius: 2px !important;

  min-height: 0 !important;

  min-width: 0 !important;

  line-height: 1 !important;

  padding: 7px 12px !important;

}



/* ---------- 商品详情页 ---------- */

.woocommerce div.product .product_title {

  font-size: 30px;

  line-height: 1.3;

}

.woocommerce div.product p.price,

.woocommerce div.product span.price {

  font-family: var(--hv-sans);

  color: var(--hv-ink) !important;

  font-size: 22px !important;

  font-weight: 500;

}

.woocommerce div.product p.price del { color: var(--hv-muted) !important; }

.woocommerce div.product p.price ins { color: var(--hv-accent) !important; text-decoration: none; }

.woocommerce div.product form.cart .button {

  padding: 16px 44px !important;

  height: auto !important;

}

.woocommerce div.product form.cart .quantity input.qty,

.woocommerce .quantity input.qty {

  font-family: var(--hv-sans);

  border: 1px solid var(--hv-line) !important;

  border-radius: var(--hv-radius) !important;

  height: 48px;

  background: var(--hv-cream);

}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {

  font-family: var(--hv-sans);

  text-transform: uppercase;

  letter-spacing: .12em;

  font-size: 12px;

  color: var(--hv-ink);

}



/* 购物车 / 结账：保护原生控件不被按钮样式误伤 */

.woocommerce .quantity button,

.woocommerce .quantity input,

.wc-block-components-quantity-selector *,

.wc-block-cart-items__row button,

.wc-block-cart-item__remove-link {

  background: none !important;

  border: 0 !important;

  padding: 6px !important;

  text-transform: none !important;

  letter-spacing: normal !important;

  font-size: 14px !important;

  box-shadow: none !important;

}

.woocommerce .quantity input.qty { background: var(--hv-cream) !important; border: 1px solid var(--hv-line) !important; }



/* ---------- 首页自定义区块（.hv- 作用域） ---------- */

.hv-wrap { max-width: var(--hv-maxw); margin: 0 auto; padding: 0 22px; }

.hv-section { padding: 78px 0; }

.hv-section--cream { background: var(--hv-cream); }

.hv-center { text-align: center; }

.hv-title { font-family: var(--hv-serif); font-size: clamp(26px, 3.4vw, 42px); color: var(--hv-ink); margin: 0 0 14px; line-height: 1.2; }

.hv-sub { font-size: 15.5px; color: var(--hv-muted); max-width: 620px; margin: 0 auto 40px; line-height: 1.8; }



/* Hero */

.hv-hero {

  position: relative;

  min-height: 620px;

  display: flex;

  align-items: center;

  justify-content: center;

  text-align: left;

  color: var(--hv-ink);

  background: var(--hv-cream);

  overflow: hidden;

}

.hv-hero::before {

  content: "";

  position: absolute;

  z-index: 0;

  inset: 0 0 0 42%;

  background-image: var(--hv-hero-img);

  background-repeat: no-repeat;

  background-size: auto 100%;

  background-position: right center;

  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 18%);

  mask-image: linear-gradient(to right, transparent 0%, #000 18%);

}

.hv-hero__inner { position: relative; z-index: 2; width: min(100%, 1240px); padding: 70px 30px 70px 7%; margin: 0 auto; }

.hv-hero__inner h1 { max-width: 650px; }

.hv-hero__inner p { max-width: 510px; }

.hv-hero .hv-eyebrow { color: var(--hv-accent); }

.hv-hero h1 {

  font-family: var(--hv-serif);

  font-size: clamp(36px, 5vw, 64px);

  color: var(--hv-ink);

  margin: 16px 0 18px;

  line-height: 1.12;

  text-shadow: none;

}

.hv-hero p { color: var(--hv-muted); font-size: 17px; margin-bottom: 32px; }

.hv-hero .ast-button { background: var(--hv-accent) !important; color: #fff !important; border-color: var(--hv-accent) !important; }

.hv-hero .ast-button:hover { background: var(--hv-accent-d) !important; color: #fff !important; }



/* 分类瓷片 */

.hv-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }

.hv-tile {

  position: relative; display: block; border-radius: var(--hv-radius-lg); overflow: hidden;

  width: 100%; margin-left: 0 !important; margin-right: 0 !important;

  aspect-ratio: 3 / 4; text-decoration: none;

  background-color: var(--hv-cream-2);

  background-image: var(--hv-tile-img, none);

  background-position: center;

  background-size: cover;

  background-repeat: no-repeat;

}

.hv-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 42%, rgba(28,25,22,.66)); }

.hv-tile__label {

  position: absolute; left: 0; right: 0; bottom: 20px; z-index: 2; text-align: center;

  color: #fff; font-family: var(--hv-serif); font-size: 20px; letter-spacing: .04em;

}

.hv-tile__count { display: block; font-family: var(--hv-sans); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; opacity: .82; margin-top: 4px; }

.hv-tile:hover { transform: translateY(-4px); transition: transform .35s ease; }



/* 卖点条 */

.hv-feats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }

.hv-feat { text-align: center; padding: 34px 22px; background: var(--hv-paper); border: 1px solid var(--hv-line-soft); border-radius: var(--hv-radius-lg); }

.hv-feat svg { width: 34px; height: 34px; margin-bottom: 14px; stroke: var(--hv-accent); }

.hv-feat h4 { font-family: var(--hv-serif); font-size: 19px; margin: 0 0 8px; color: var(--hv-ink); }

.hv-feat p { font-size: 14px; color: var(--hv-muted); margin: 0; line-height: 1.7; }



/* 评价 */

.hv-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }

.hv-review { background: var(--hv-paper); border: 1px solid var(--hv-line-soft); border-radius: var(--hv-radius-lg); padding: 30px 26px; }

.hv-stars { color: #d9a441; letter-spacing: 3px; font-size: 14px; margin-bottom: 12px; }

.hv-review p { font-size: 14.5px; line-height: 1.8; color: var(--hv-ink-soft); margin: 0 0 14px; font-style: italic; }

.hv-review cite { font-style: normal; font-family: var(--hv-sans); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--hv-muted); }



/* 双图/图文 */

.hv-split { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: stretch; }

.hv-split__media {

  /* Astra 页面模板会给直接子元素加 margin:auto，导致 grid 项 stretch 失效、空 div 宽度塌成 0 */

  width: 100% !important;

  justify-self: stretch;

  margin-left: 0 !important;

  margin-right: 0 !important;

  min-height: 460px;

  background-color: var(--hv-cream-2);

  background-image: var(--hv-split-img, none);

  background-position: center;

  background-size: cover;

  background-repeat: no-repeat;

}

.hv-split__body { display: flex; flex-direction: column; justify-content: center; padding: 60px 54px; background: var(--hv-cream); }

.hv-split__body h2 { font-family: var(--hv-serif); font-size: clamp(24px,3vw,38px); color: var(--hv-ink); margin: 0 0 16px; line-height: 1.25; }

.hv-split__body p { color: var(--hv-muted); line-height: 1.85; margin: 0 0 26px; }



/* 站点数据 */

.hv-stats { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 900px; margin: 38px auto 28px; border-top: 1px solid var(--hv-line); border-bottom: 1px solid var(--hv-line); }

.hv-stat { text-align: center; padding: 26px 16px 24px; }

.hv-stat + .hv-stat { border-left: 1px solid var(--hv-line); }

.hv-stat strong { display: block; color: var(--hv-accent); font: 600 clamp(30px, 4vw, 44px)/1 var(--hv-serif); }

.hv-stat span { display: block; margin-top: 10px; color: var(--hv-muted); font: 500 11px/1.4 var(--hv-sans); letter-spacing: .18em; text-transform: uppercase; }

.hv-stat-link { margin-top: 28px; }



/* 客服 CTA */

.hv-news { background: var(--hv-dark); color: #f4efe7; text-align: center; padding: 74px 22px; }

.hv-news h2 { font-family: var(--hv-serif); color: #fff; font-size: clamp(26px,3.4vw,40px); margin: 0 0 12px; }

.hv-news p { color: rgba(244,239,231,.72); margin: 0 auto 28px; max-width: 520px; }

.hv-news form { display: flex; gap: 10px; max-width: 460px; margin: 0 auto; }

.hv-news input[type=email] {

  flex: 1; padding: 15px 18px; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.06);

  color: #fff; border-radius: var(--hv-radius); font-family: var(--hv-sans); font-size: 14px;

}

.hv-news input[type=email]::placeholder { color: rgba(255,255,255,.5); }

.hv-news .ast-button { background: var(--hv-accent) !important; border-color: var(--hv-accent) !important; }



/* 商品短码区块标题 */

.hv-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 34px; gap: 16px; }

.hv-head h2 { font-family: var(--hv-serif); font-size: clamp(24px,3vw,36px); margin: 0; color: var(--hv-ink); }

.hv-head a { font-family: var(--hv-sans); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--hv-accent); text-decoration: none; border-bottom: 1px solid var(--hv-accent); padding-bottom: 3px; }



/* ---------- 页脚（参考 ordeque.com：深色底 + 纵向三行居中）---------- */

.site-footer, #colophon {

  background: var(--hv-dark);

  color: rgba(244,239,231,.62);

  font-family: var(--hv-sans);

}

.site-footer .widget-title, #colophon .widget-title,

.site-footer h2, .site-footer h3, .site-footer h4 {

  font-family: var(--hv-serif); color: #fff; font-size: 17px; letter-spacing: .04em;

}

.site-footer a, #colophon a { color: rgba(244,239,231,.78) !important; }

.site-footer a:hover, #colophon a:hover { color: #fff !important; }



/* 主区块 = 唯一的可见页脚容器（菜单由插件脚本搬进这里） */

.site-primary-footer-wrap {

  padding: 46px 22px 36px !important;

  border-top: 1px solid rgba(255,255,255,.09) !important;

}

.site-primary-footer-inner-wrap { width: min(100%, 1180px); margin: 0 auto; }

.site-footer-primary-section-1 {

  display: flex !important;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  text-align: center;

  gap: 18px;

}

.site-footer-primary-section-1 > * { width: 100% !important; margin: 0 !important; }

.site-footer-primary-section-1 > .footer-widget-area { width: 100% !important; }



/* 页脚 logo 隐藏（与参考站一致；页头已有 logo） */

.ast-footer-html-2 { display: none !important; }



/* 主体信息 */

.ast-footer-html-1 .ast-builder-html-element { text-align: center; }

.ast-footer-html-1 .ast-builder-html-element p { margin: 0 !important; text-align: center !important; }



/* 页脚菜单：强调色 + 居中 */

#astra-footer-menu {

  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;

  gap: 10px 30px; margin: 0; padding: 0; list-style: none; background: inherit;

}

#astra-footer-menu li { margin: 0 !important; }

#astra-footer-menu .menu-link,

#astra-footer-menu a {

  color: var(--hv-accent) !important;

  text-transform: uppercase;

  letter-spacing: .16em;

  font-size: 12px;

  font-weight: 500;

  text-decoration: none;

}

#astra-footer-menu .menu-link:hover,

#astra-footer-menu a:hover { color: #fff !important; }



/* 版权 */

.ast-footer-copyright, .site-footer .ast-footer-copyright {

  color: rgba(244,239,231,.5);

  letter-spacing: .06em;

  text-align: center !important;

}

.ast-footer-copyright p { margin: 0 !important; }

/* 已被搬空的区块不再占位 */

.site-above-footer-wrap:empty,

.site-below-footer-wrap:empty { display: none !important; }

.site-below-footer-wrap { padding: 0 22px 30px !important; border-top: 0 !important; }

.site-below-footer-inner-wrap { width: min(100%, 1180px); margin: 0 auto; }

.site-below-footer-wrap .ast-footer-copyright { text-align: center !important; }



/* 粘性页脚 */

html { height: 100%; }

body { min-height: 100vh; }

#page.hfeed.site { display: flex; flex-direction: column; min-height: 100vh; }

#page.hfeed.site > #content { flex: 1 0 auto; width: 100%; }

#page.hfeed.site > #colophon { flex: 0 0 auto; margin-top: auto; }

#page.hfeed.site > #masthead { flex: 0 0 auto; }



/* 归零 alignwide 负边距（经典主题常见问题） */

.entry-content .alignwide,

.entry-content .alignfull,

.entry-content .wp-block-woocommerce-cart,

.entry-content .wp-block-woocommerce-checkout {

  margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important;

}



/* ---------- 响应式 ---------- */

@media (max-width: 1024px) {

  .hv-tiles { grid-template-columns: repeat(2, 1fr); }

  .hv-feats, .hv-reviews { grid-template-columns: 1fr 1fr; }

  .site-footer-primary-section-1 { grid-template-columns: minmax(140px, .7fr) minmax(260px, 1.3fr); gap: 28px; }

  .hv-split { grid-template-columns: 1fr; }

  .hv-split__body { padding: 44px 30px; }

}

@media (max-width: 680px) {

  .hv-section { padding: 52px 0; }

  .hv-tiles, .hv-feats, .hv-reviews { grid-template-columns: 1fr; }

  .hv-hero { min-height: 540px; }

  .hv-hero::before { left: 35%; opacity: .28; }

  .hv-hero__inner { padding: 54px 24px; }

  .hv-news form { flex-direction: column; }

  .hv-stats { grid-template-columns: 1fr; }

  .hv-stat + .hv-stat { border-left: 0; border-top: 1px solid var(--hv-line); }

  .site-footer-primary-section-1 { grid-template-columns: 1fr; gap: 22px; text-align: center; }

  .ast-footer-html-2 .ast-builder-html-element img { margin: 0 auto !important; }

  .ast-footer-html-1 .ast-builder-html-element, .ast-footer-html-1 .ast-builder-html-element p { text-align: center !important; }

  .ast-footer-copyright { text-align: center !important; }

  .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; }

}

/* >>> HV FOOTER COMPLIANCE START <<< */



/* =====================================================================

   HAUVORAHOME — 页脚合规增强（进件要求 2 / 7）

   ===================================================================== */



/* --- 页脚主体信息由 WCRD 工具包配置动态注入 --- */

.ast-footer-html-1 .ast-builder-html-element .hv-footer-identity {

  margin: 0 !important;

  font-family: var(--hv-sans);

  font-size: 13.5px;

  line-height: 1.85;

  letter-spacing: .02em;

  color: rgba(244, 239, 231, .62);

  text-align: center !important;

}

.ast-footer-html-1 .ast-builder-html-element .hv-footer-identity a {

  color: rgba(244, 239, 231, .9) !important;

  text-decoration: none;

}

.ast-footer-html-1 .ast-builder-html-element .hv-footer-identity a:hover {

  color: #fff !important;

  text-decoration: underline;

}



/* --- 页脚信用卡图标（Visa / Mastercard）--- */

.site-footer .ast-footer-copyright,

#colophon .ast-footer-copyright {

  text-align: center;

}

#colophon .ast-builder-layout-element.ast-footer-copyright > .ast-footer-copyright::after {

  content: "";

  display: block;

  width: 176px;

  height: 26px;

  margin: 18px auto 0;

  /* 使用 WooCommerce 官方信用卡图标（与支付插件引用的同一套资源） */

  background-image: url("/wp-content/plugins/woocommerce/assets/images/icons/credit-cards/visa.svg"),

                    url("/wp-content/plugins/woocommerce/assets/images/icons/credit-cards/mastercard.svg");

  background-repeat: no-repeat, no-repeat;

  background-position: left center, right center;

  background-size: auto 26px, auto 26px;

  opacity: .95;

}



/* >>> HV FOOTER COMPLIANCE END <<< */

/* >>> HV FOOTER POLISH v2 START <<< */
/* 页脚：主体信息（公司 | 地址 | 邮箱）/ 政策菜单 / 版权 */

.site-footer, #colophon { background: var(--hv-dark); color: rgba(244,239,231,.6); }
.site-primary-footer-wrap {
  padding: 56px 22px 44px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}
.site-primary-footer-inner-wrap { width: min(100%, 1180px); margin: 0 auto; }
.site-footer-primary-section-1 {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 24px;
}
.site-footer-primary-section-1 > * { width: 100% !important; margin: 0 !important; }
.site-footer-primary-section-1 > .footer-widget-area { width: 100% !important; }

/* 排列顺序：主体信息 -> 政策菜单 -> 版权 */
.ast-footer-html-1 { order: 1 !important; }
.site-footer-primary-section-1 .footer-widget-area { order: 2 !important; position: relative; }
.ast-footer-copyright { order: 3 !important; }
.ast-footer-html-2 { display: none !important; }

/* 1) 主体信息行：公司 | 地址 | 邮箱 */
.ast-footer-html-1 .ast-builder-html-element,
.ast-footer-html-1 .ast-builder-html-element p {
  margin: 0 !important; padding: 0 !important; text-align: center !important;
  font-family: var(--hv-sans);
  font-size: 12.5px; line-height: 2.05; letter-spacing: .055em;
  color: rgba(244,239,231,.55);
}
.hv-f-entity { color: rgba(244,239,231,.9); font-weight: 500; }
.hv-f-addr { color: rgba(244,239,231,.5); }
.hv-f-sep { display: inline-block; margin: 0 13px; color: rgba(244,239,231,.22); font-weight: 300; }
.ast-footer-html-1 .hv-f-mail, .hv-f-mail {
  color: var(--hv-accent) !important; text-decoration: none !important;
  border-bottom: 1px solid rgba(176,115,106,.35); padding-bottom: 1px;
  transition: color .2s ease, border-color .2s ease;
}
.hv-f-mail:hover { color: #fff !important; border-bottom-color: rgba(255,255,255,.55); }

/* 2) 政策菜单（6 项） */
#astra-footer-menu {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: 12px 30px; margin: 0; padding: 0; list-style: none;
}
#astra-footer-menu li { margin: 0 !important; }
#astra-footer-menu .menu-link, #astra-footer-menu a {
  color: rgba(244,239,231,.66) !important;
  text-transform: uppercase; letter-spacing: .16em; font-size: 10.5px; font-weight: 500;
  text-decoration: none !important; padding-bottom: 4px;
  border-bottom: 1px solid transparent; white-space: nowrap;
  transition: color .22s ease, border-color .22s ease;
}
#astra-footer-menu .menu-link:hover, #astra-footer-menu a:hover {
  color: #fff !important; border-bottom-color: var(--hv-accent);
}

/* 3) 版权 */
.ast-footer-copyright, .site-footer .ast-footer-copyright {
  color: rgba(244,239,231,.34) !important; font-size: 11px; letter-spacing: .09em; text-align: center !important;
}
.ast-footer-copyright p { margin: 0 !important; }

/* 4) 移动端 */
@media (max-width: 767px) {
  .site-primary-footer-wrap { padding: 42px 18px 32px !important; }
  .site-footer-primary-section-1 { gap: 19px; }
  .ast-footer-html-1 .ast-builder-html-element p { font-size: 11.8px; line-height: 1.95; }
  .hv-f-sep { margin: 0 7px; }
  #astra-footer-menu { gap: 9px 18px; }
  #astra-footer-menu .menu-link, #astra-footer-menu a { font-size: 9.5px; letter-spacing: .1em; }
}
/* >>> HV FOOTER POLISH v2 END <<< */

/* >>> HV CART LINK START <<< */
.main-header-menu li.hv-cart-menu { display: flex; align-items: center; }
.main-header-menu .hv-cart-menu > a.hv-cart-link {
  display: inline-flex; align-items: center; gap: 7px;
  color: inherit !important;
  text-transform: uppercase; letter-spacing: .14em;
  font-size: 12px; font-weight: 500; line-height: 1;
  text-decoration: none !important; padding: 4px 0;
  transition: color .2s ease, opacity .2s ease;
}
.main-header-menu .hv-cart-menu > a.hv-cart-link:hover { color: var(--hv-accent-d) !important; }
.hv-cart-ico { display: block; width: 19px; height: 19px; }
.hv-cart-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
  background: var(--hv-accent); color: #fff;
  font-size: 10.5px; font-weight: 600; letter-spacing: 0; line-height: 1;
}
.hv-cart-link:not(.has-items) .hv-cart-count { display: none; }
@media (max-width: 921px) {
  .main-header-menu .hv-cart-menu { display: block; }
  .main-header-menu .hv-cart-menu > a.hv-cart-link { padding: 10px 0; }
  .hv-cart-label { display: inline; }
}
/* >>> HV CART LINK END <<< */

/* >>> HV NAV POLISH START <<< */
/* 导航栏整体 */
.main-header-menu > li { margin: 0 14px !important; }
.main-header-menu > li > a.menu-link,
.main-header-menu > li > a {
  font-size: 12.5px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none !important;
}
/* 购物车项 */
.main-header-menu li.hv-cart-menu { margin-left: 24px !important; display: flex; align-items: center; }
.main-header-menu li.hv-cart-menu > a.hv-cart-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 12.5px !important;
  letter-spacing: .13em !important;
  text-transform: uppercase;
  text-decoration: none !important;
  color: var(--hv-ink) !important;
  line-height: 1 !important;
  transition: color .2s ease;
}
.main-header-menu li.hv-cart-menu > a.hv-cart-link:hover { color: var(--hv-accent-d) !important; }
.hv-cart-ico { width: 19px !important; height: 19px !important; flex: 0 0 auto; display: block; }
.hv-cart-label { line-height: 1; display: inline-block; }
.hv-cart-count {
  display: inline-flex !important; align-items: center; justify-content: center;
  min-width: 20px; height: 20px; padding: 0 6px;
  border-radius: 999px;
  background: var(--hv-accent); color: #fff !important;
  font-size: 11px !important; font-weight: 600; letter-spacing: 0; line-height: 1;
  transition: transform .2s ease;
}
.main-header-menu li.hv-cart-menu > a:hover .hv-cart-count { transform: scale(1.08); }
.main-header-menu li.hv-cart-menu > a:not(.has-items) .hv-cart-count { display: none !important; }
@media (max-width: 921px) {
  .main-header-menu > li { margin: 0 !important; }
  .main-header-menu li.hv-cart-menu { margin: 6px 0 0 0 !important; }
  .main-header-menu li.hv-cart-menu > a.hv-cart-link { padding: 10px 0 !important; }
}
/* >>> HV NAV POLISH END <<< */
