/*
Theme Name: Astra Child
Theme URI: https://shaoguantea.com
Author: Jack
Author URI: https://shaoguantea.com
Template: astra
Description: Child theme for Shaoguan Tea website
Version: 1.3 (Optimized)
*/

/* ============================================
   1. CSS 自定义属性(全局变量)
   ============================================ */
:root {
    --color-primary: #A93C3C;
    --color-primary-hover: #8B2E2E;
    --color-dark: #2C3E50;
    --color-bg-warm: #F8F6F3;
    --color-text: #4a5568;
    --color-text-dark: #2C3E50;
    --color-card-bg: #FFFFFF;
    --color-border: #E2E8F0;
    --color-divider: #E8D3B9;
    --color-light-gray: #F4F4F4;
    --color-mid-gray: #EAEAEA;
    --color-muted: #6c757d;

    --font-serif: 'Playfair Display', serif;
    --font-sans: 'Open Sans', sans-serif;

    --radius-card: 16px;
    --radius-sm: 12px;
    --radius-pill: 30px;
    --radius-tag: 20px;

    --shadow-card: 0 4px 12px rgba(0,0,0,0.05);
    --shadow-hover: 0 12px 24px rgba(0,0,0,0.1);

    --transition-card: transform 0.2s ease, box-shadow 0.2s ease, border-top 0.1s ease;
    --transition-btn: transform 0.2s ease, background-color 0.3s, color 0.3s, border-color 0.3s;
}


/* ============================================
   2a. 标题层级(桌面端基准)
   ============================================ */
/* 2026-05-21: H1 > H2 层级修复 */
h1, .entry-title { font-size: 2.75rem !important; }  /* 44px - 视觉锚点 */
h2 { font-size: 2rem; }                 /* 32px - 比H1小 */
h3 { font-size: 1.3rem; }
h4 { font-size: 1.1rem; }

/* ============================================
   2. 全局与重置
   ============================================ */
.home .entry-header { display: none; }

.site-content, #primary, .entry-content {
    margin-top: 0;
    padding-top: 0;
}

/* ============================================
   3. 卡片基础样式(单一来源)
   ============================================ */
.card-base {
    background: var(--color-card-bg);
    border-radius: var(--radius-card);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: var(--transition-card);
    border-top: 3px solid transparent;
}

.card-base:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--color-primary);
}

/* 卡片可点击容器 */
a.card-link,
a .card-base,
.card-link,
.supplier-card-link {
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: block;
}

/* ============================================
   4. 按钮系统
   ============================================ */
.btn-primary,
.btn-outline {
    display: inline-block;
    padding: 12px 30px;
    border-radius: var(--radius-pill);
    font-weight: 600;
    font-family: var(--font-sans);
    text-decoration: none;
    transition: var(--transition-btn);
    border: 2px solid transparent;
    line-height: 1.2;
}

.btn-primary {
    background-color: var(--color-primary);
    color: #FFFFFF;
    border-color: var(--color-primary);
}
.btn-primary:hover {
    background-color: var(--color-dark);
    border-color: var(--color-dark);
    transform: translateY(-2px);
}

.btn-outline {
    background-color: transparent;
    border-color: var(--color-dark);
    color: var(--color-dark);
}
.btn-outline:hover {
    background-color: var(--color-dark);
    color: #FFFFFF;
    transform: translateY(-2px);
}

/* 按钮移除右箭头 */
.btn-primary::after,
.btn-outline::after,
.woocommerce ul.products li.product .button::after,
.products .product .button::after {
    display: none;
    content: none;
}

/* WooCommerce 按钮覆盖 */
.woocommerce ul.products li.product .button,
.products .product .button {
    background-color: var(--color-primary) !important;
    color: #fff !important;
    border-radius: var(--radius-pill) !important;
    padding: 12px 30px !important;
    border: 2px solid var(--color-primary) !important;
    text-decoration: none !important;
    font-size: inherit !important;
}
.woocommerce ul.products li.product .button:hover,
.products .product .button:hover {
    background-color: var(--color-dark) !important;
    border-color: var(--color-dark) !important;
    transform: translateY(-2px);
}

/* ============================================
   5. 网格辅助
   ============================================ */
.gb-grid-wrapper { gap: 30px; }
@media (max-width: 768px) {
    .gb-grid-wrapper { gap: 20px; }
}

/* ============================================
   6. 首页区块
   ============================================ */

/* --- Hero 区块 --- */
.hero-text-section {
    background-color: var(--color-bg-warm);
    padding: 80px 20px;
    text-align: center;
}
.hero-text-section .container {
    max-width: 1200px;
    margin: 0 auto;
}
.hero-text-section h2 {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    color: var(--color-dark);
    margin-bottom: 20px;
}
.hero-text-section p {
    font-family: var(--font-sans);
    font-size: 1.2rem;
    color: var(--color-text);
    max-width: 700px;
    margin: 0 auto 30px;
}
.hero-text-section .buttons .btn {
    display: inline-block;
    padding: 12px 30px;
    margin: 0 10px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}
@media (max-width: 768px) {
    .hero-text-section { padding: 50px 20px; }
    .hero-text-section h2 { font-size: 1.8rem; }
    .hero-text-section p { font-size: 1rem; }
    .hero-text-section .buttons .btn {
        display: block;
        margin: 10px 0;
    }
}

/* --- 韶关优势区块 --- */
.shaoguan-advantage-block {
    background-color: var(--color-bg-warm);
    padding: 60px 20px;
}
.shaoguan-advantage-block .container {
    max-width: 1440px;
    margin: 0 auto;
}
.shaoguan-advantage-block h2 {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--color-dark);
    text-align: center;
    margin-bottom: 10px;
}
.shaoguan-advantage-block .accent { color: var(--color-primary); }
.shaoguan-advantage-block .subtitle {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: var(--color-text);
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px;
}
.shaoguan-advantage-block .buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}
.shaoguan-advantage-block .divider {
    border-top: 1px solid var(--color-divider);
    margin-top: 30px;
}

.trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-bottom: 2rem;
}
.trust-card {
    background: #FFFFFF;
    border-radius: var(--radius-card);
    padding: 1.5rem;
    text-align: center;
    box-shadow: var(--shadow-card);
    transition: var(--transition-card);
    border-top: 3px solid transparent;
}
.trust-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--color-primary);
}
.trust-card .icon {
    font-size: 2.5rem;
    margin-bottom: 0.75rem;
}
.trust-card h3 {
    font-family: var(--font-serif);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--color-dark);
    margin-bottom: 0.5rem;
}
.trust-card p {
    font-family: var(--font-sans);
    font-size: 0.85rem;
    color: var(--color-text);
}

@media (max-width: 768px) {
    .trust-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
}
@media (max-width: 480px) {
    .trust-grid { grid-template-columns: 1fr; }
}

/* --- 产品区块(首页最新产品) --- */
.products-section {
    max-width: 1440px;
    margin: 0 auto;
    padding: 60px 20px;
    border-top: none;
}
.products-section .section-header {
    text-align: center;
    margin-bottom: 40px;
}
.products-section .section-header h2 {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 10px;
}
.products-section .section-header p {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: var(--color-text);
}

/* 渐变分割线 */
.products-section + * {
    position: relative;
}
.products-section + *::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--color-primary), var(--color-primary), transparent);
    pointer-events: none;
}
.products-section { padding-top: 60px; }
.products-section + * { padding-top: 60px; margin-top: 0; }
.products-section + section,
.products-section + div { border-top: none; }

/* --- 信任供应商区块 --- */
.trusted-suppliers-section {
    max-width: 1440px;
    margin: 0 auto;
    padding: 60px 20px;
}
.trusted-suppliers-section .section-header {
    text-align: center;
    margin-bottom: 40px;
}
.trusted-suppliers-section .section-header h2 {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 10px;
}
.trusted-suppliers-section .section-header p {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: var(--color-text);
}

.supplier-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
}

.supplier-card {
    background: #FFFFFF;
    border-radius: var(--radius-card);
    padding: 20px;
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 280px;
    border-top: 3px solid transparent;
    transition: var(--transition-card);
}
.supplier-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--color-primary);
}

.supplier-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}
.supplier-card-link * { text-decoration: none; }

.supplier-logo {
    max-width: 100px;
    margin: 0 auto 15px;
    display: block;
}
.supplier-name {
    font-family: var(--font-serif);
    font-size: 1.2rem;
    font-weight: 600;
    text-align: center;
    margin: 0 0 10px;
    color: var(--color-dark);
}
.supplier-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-family: var(--font-serif);
    font-size: 1.3rem;
    margin: 0 0 12px 0;
    color: var(--color-dark);
    font-weight: 600;
    line-height: 1.3;
}
.supplier-meta { text-align: center; margin-bottom: 10px; }
.supplier-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
    align-items: center;
}

.supplier-grade {
    display: inline-block;
    padding: 4px 12px;
    border-radius: var(--radius-pill);
    font-size: 0.75rem;
    font-weight: 600;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.supplier-grade.premium { background: #FFD700; }
.supplier-grade.standard { background: #C0C0C0; }
.supplier-grade.emerging { background: #CD7F32; color: #fff; }

.supplier-excerpt {
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--color-text);
    margin-bottom: 15px;
    flex-grow: 1;
}
.supplier-region {
    font-size: 0.85rem;
    color: var(--color-primary);
    text-align: center;
    margin-bottom: 10px;
}
.supplier-gps {
    margin-top: 1rem;
    font-size: 0.75rem;
    color: var(--color-muted);
    text-align: center;
    border-top: 1px solid #e9ecef;
    padding-top: 0.75rem;
}

/* 供应商分级颜色顶部边框 */
.supplier-card.grade-premium { border-top: 4px solid #FFD700; }
.supplier-card.grade-standard { border-top: 4px solid #C0C0C0; }
.supplier-card.grade-emerging { border-top: 4px solid #CD7F32; }
.supplier-card.grade-premium:hover { border-top-color: #D4A000; border-top-width: 6px; }
.supplier-card.grade-standard:hover { border-top-color: #808080; border-top-width: 6px; }
.supplier-card.grade-emerging:hover { border-top-color: #A0522D; border-top-width: 6px; }

/* 徽章 */
.badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: var(--radius-tag);
    font-size: 0.7rem;
    margin-left: 5px;
}
.badge.organic { background: #E8F5E9; color: #2E7D32; }
.badge.ich { background: #FFF3E0; color: #E65100; }

/* --- 批量询价横幅 --- */
.bulk-inquiry-banner {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-dark) 100%);
    color: #fff;
    padding: 40px 20px;
    margin: 40px 0;
    border-radius: var(--radius-card);
    text-align: center;
}
.bulk-inquiry-banner .container {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.bulk-inquiry-banner .banner-text {
    flex: 2;
    text-align: left;
}
.bulk-inquiry-banner h3 {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    margin-bottom: 20px;
    color: var(--color-bg-warm);
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
.bulk-inquiry-banner p {
    font-family: var(--font-sans);
    font-size: 1rem;
    color: var(--color-bg-warm);
    text-shadow: 0 1px 1px rgba(0,0,0,0.15);
}
.bulk-trigger {
    background-color: #fff;
    color: var(--color-primary);
    border: none;
    padding: 12px 30px;
    font-weight: 600;
    border-radius: 40px;
    transition: transform 0.2s;
}
.bulk-trigger:hover {
    transform: translateY(-2px);
    color: var(--color-primary);
    background-color: #f0f0f0;
}

/* 批量询价表单区块 */
.bulk-form-section {
    background-color: var(--color-bg-warm);
    padding: 60px 20px;
    text-align: center;
    scroll-margin-top: 80px;
}
.bulk-form-section .container {
    max-width: 700px;
    margin: 0 auto;
}
.bulk-form-section h2 {
    font-family: var(--font-serif);
    font-size: 2rem;
    color: var(--color-dark);
}

/* 浮动询价按钮 */
.floating-bulk-btn {
    position: fixed;
    bottom: 90px;
    right: 30px;
    background-color: var(--color-primary);
    color: #fff;
    padding: 12px 20px;
    border-radius: 50px;
    z-index: 999;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    transition: transform 0.2s;
    text-decoration: none;
}
.floating-bulk-btn:hover {
    transform: scale(1.05);
    background-color: var(--color-dark);
    color: #fff;
}
@media (max-width: 768px) {
    .floating-bulk-btn {
        bottom: 70px;
        right: 20px;
        padding: 8px 16px;
        font-size: 0.85rem;
    }
}

/* ============================================
   7. Our Origin 页面
   ============================================ */
.our-origin-hero {
    background: linear-gradient(90deg, var(--color-bg-warm) 0%, #C55A5A 100%);
    padding: 80px 20px;
    text-align: center;
}
.our-origin-hero .container {
    max-width: 1000px;
    margin: 0 auto;
}
.our-origin-hero h1 {
    font-family: var(--font-serif);
    font-size: 2.8rem;
    color: var(--color-dark);
    margin-bottom: 20px;
}
.our-origin-hero p {
    font-family: var(--font-sans);
    font-size: 1.2rem;
    color: var(--color-text);
}

.origin-hero-image { margin: 40px 0; }
.origin-hero-image img {
    width: 100%;
    height: auto;
    border-radius: 24px;
    box-shadow: var(--shadow-card);
    display: block;
}

/* 六个子页面卡片 */
.origin-block-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
    margin: 40px 0;
    background: #FFFFFF;
    border-radius: 24px;
    box-shadow: var(--shadow-card);
    padding: 30px;
    text-decoration: none;
    color: inherit;
    transition: var(--transition-card);
    border-top: 3px solid transparent;
}
.origin-block-card *,
.origin-block-card:hover *,
.origin-block-card:focus *,
.origin-block-card:active *,
.origin-block-card:visited * {
    text-decoration: none;
}
.origin-block-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--color-primary);
}
.origin-block-card .origin-block-image {
    flex: 1;
    min-width: 250px;
}
.origin-block-card .origin-block-image img {
    width: 100%;
    height: auto;
    border-radius: var(--radius-card);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.origin-block-card .origin-block-content {
    flex: 1;
    min-width: 250px;
}
.origin-block-card h2 {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    color: var(--color-dark);
    margin-bottom: 15px;
}
.origin-block-card p {
    font-family: var(--font-sans);
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--color-text);
    margin-bottom: 0;
}
.origin-block-card.origin-block-reverse { flex-direction: row-reverse; }

/* 子页面卡片网格 */
.origin-subpages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 30px;
    max-width: 1440px;
    margin: 60px auto;
    padding: 0 20px;
}
.origin-card {
    background: #FFFFFF;
    border-radius: var(--radius-card);
    padding: 30px;
    box-shadow: var(--shadow-card);
    transition: var(--transition-card);
    border-top: 3px solid transparent;
    display: flex;
    flex-direction: column;
}
.origin-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--color-primary);
}
.origin-card h3 {
    font-family: var(--font-serif);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 15px;
}
.origin-card p {
    font-family: var(--font-sans);
    font-size: 1rem;
    color: var(--color-text);
    line-height: 1.5;
    margin-bottom: 20px;
    flex-grow: 1;
}
.origin-card .btn-outline { align-self: flex-start; }

/* CTA 区块 */
.origin-cta {
    background-color: var(--color-bg-warm);
    padding: 60px 20px;
    text-align: center;
    margin-top: 40px;
}
.origin-cta .container {
    max-width: 800px;
    margin: 0 auto;
}
.origin-cta h2 {
    font-family: var(--font-serif);
    font-size: 2rem;
    color: var(--color-dark);
    margin-bottom: 15px;
}
.origin-cta p {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: var(--color-text);
    margin-bottom: 30px;
}
.origin-cta .buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ============================================
   8. 产品归档页与单品页
   ============================================ */

/* 产品卡片 */
.woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 12px 12px 0;
    margin-bottom: 0;
    background: #FFFFFF;
    border-radius: var(--radius-card);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: var(--transition-card);
    border-top: 3px solid transparent;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--color-primary);
}
.woocommerce ul.products li.product a img {
    width: 100%;
    margin-bottom: 10px;
    border-radius: var(--radius-sm);
    display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-serif);
    font-size: 17px !important;  /* 2026-05-21: 14.4px→17px 可读性提升 */
    font-weight: 600;
    color: var(--color-dark);
    margin: 0 0 4px;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.woocommerce ul.products li.product .price {
    color: var(--color-primary);
    font-size: 1rem;
    font-weight: 600;
    text-align: left;
    margin: 0 0 2px;
    margin-top: auto;
}
.woocommerce ul.products li.product .button {
    background-color: var(--color-primary) !important;
    color: #fff !important;
    border-radius: var(--radius-pill) !important;
    padding: 10px 20px !important;
    font-size: 0.85rem !important;
    border: 2px solid var(--color-primary) !important;
    text-decoration: none !important;
    font-weight: 600;
    font-family: var(--font-sans);
    transition: var(--transition-btn);
    text-align: center;
    margin: 6px auto 10px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 44px;
    line-height: 1.4;
}

/* Hide duplicate floating cart icon button on collection cards */
.ast-on-card-button {
    display: none !important;
}
/* Override Astra's hover/visibility rules for the icon button */
li.product .ast-on-card-button,
.products li.product .ast-on-card-button,
.woocommerce ul.products li.product .ast-on-card-button {
    display: none !important;
}
.woocommerce ul.products li.product .button:hover {
    background-color: var(--color-dark) !important;
    border-color: var(--color-dark) !important;
    transform: translateY(-2px);
}

/* 隐藏 WooCommerce 自带的产品分类 */
.woocommerce ul.products li.product .ast-woo-product-category { display: none; }
.wo

... [OUTPUT TRUNCATED - 20134 chars omitted out of 70134 total] ...

ont-size: 15px; }
    h1, .entry-title { font-size: 2.2rem; }  /* ~35px 移动端H1 */
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.15rem; }
    .main-header-menu .menu-link { font-size: 14px; }

    /* 网格通用 */
    .district-grid,
    .verifiable-grid,
    .origin-subpages-grid { gap: 20px; }

    /* 供应商区域 */
    .supplier-excerpt { font-size: 0.75rem; }
    .supplier-gps,
    .supplier-region { font-size: 0.7rem; }

    /* Our Origin */
    .origin-block-card {
        flex-direction: column;
        text-align: center;
        padding: 20px;
        gap: 20px;
    }
    .origin-block-card .origin-block-image { min-width: 100%; }
    .origin-block-card h2 { font-size: 1.4rem; }
    .origin-block-card p { font-size: 0.85rem; }

    /* Hero */
    .hero-text-section h2,
    .our-origin-hero h1 { font-size: 1.8rem; }
    .hero-text-section p,
    .our-origin-hero p { font-size: 1rem; }

    /* 批量询价 */
    .bulk-inquiry-banner .container {
        flex-direction: column;
        text-align: center;
    }
    .bulk-inquiry-banner h3 { font-size: 1.4rem; }
    .bulk-inquiry-banner p { font-size: 0.9rem; }
    .bulk-trigger { padding: 8px 20px; }
    .bulk-form-section h2 { font-size: 1.6rem; }
    .bulk-form-section { padding: 30px 20px; }

    /* 表单 */
    .cf7-row label { font-size: 0.85rem; }
    .cf7-input, .cf7-submit { font-size: 0.9rem; }

    /* 页脚菜单 */
    .footer-nav-wrap .astra-footer-horizontal-menu {
        flex-direction: column;
        gap: 10px;
    }
    .footer-nav-wrap .astra-footer-horizontal-menu li { text-align: center; }

    /* 产品卡片 - 移动端单列 */
    .woocommerce ul.products,
    .products-section ul.products {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .woocommerce ul.products li.product { padding: 10px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 17px !important;  /* 统一桌面17px，移动端在底部覆写 */
        margin: 5px 0;
    }
    .woocommerce ul.products li.product .price { font-size: 0.9rem; }
    .woocommerce ul.products li.product .button {
        padding: 5px 12px;
        font-size: 0.75rem;
        margin: 5px 0 8px;
    }

    /* 徽章移动端 */
    .product-grade-archive,
    .product-tea-type,
    .product-code,
    .product-badges .badge,
    .supplier-grade,
    .badge {
        font-size: 0.65rem;
        padding: 2px 8px;
        margin: 0 4px 4px 0;
    }
    .product-badges { gap: 6px; }

    /* 区县卡片 */
    .district-name { font-size: 1.2rem; margin-bottom: 8px; }
    .district-soil,
    .district-climate,
    .district-product { font-size: 0.75rem; margin-bottom: 8px; }
    .district-climate br { display: none; }
    .district-card { padding: 15px; }

    /* 可验证产品卡片 */
    .verifiable-title { font-size: 1rem; }
    .verifiable-grade { font-size: 0.65rem; }
    .verifiable-meta,
    .verifiable-flavor { font-size: 0.75rem; }
    .verify-batch-btn {
        padding: 6px 12px;
        font-size: 0.7rem;
    }
    .verifiable-card { padding: 15px; }

    /* 供应商卡片 */
    .supplier-name { font-size: 1rem; }
    .supplier-card { padding: 15px; }

    /* 商品分级 */
    .product-grading h2 { font-size: 2rem; }
    .product-grading .grading-card {
        padding: 16px;
        min-width: 160px;
    }
}

/* 小手机 480px */
@media (max-width: 480px) {
    h1, .entry-title { font-size: 1.8rem; }  /* ~29px 小手机H1 */
    h2 { font-size: 1.25rem; }
    h3 { font-size: 1.05rem; }
    .main-header-menu .menu-link { font-size: 13px; }
}

/* Bulk Inquiry 移动端全宽 */
@media (max-width: 768px) {
    #bulk-form.bulk-form-section {
        max-width: calc(100% - 40px);
        margin-left: 20px;
        margin-right: 20px;
        padding: 30px 20px;
    }
}

/* 分级响应式 */
@media (max-width: 1024px) and (min-width: 769px) {
    .product-grading .grading-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

/* 选择器使用 !important 覆盖 WooCommerce 默认的高特异性选择器 */
.woocommerce ul.products li.product .button.add_to_cart_button {
    background-color: var(--color-primary) !important;
    color: #fff !important;
}

/* 覆盖 Astra 主题默认 - 导航字体增大 */
.main-header-menu .menu-link {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* 产品标签图标 - Font Awesome 6 */
.badge.organic-certified,
.badge.anti-fake {
    display: inline-flex;
    align-items: center;
}
.badge.organic-certified::before {
    font-family: 'Font Awesome 6 Free';
    content: '\f06c';  /* fa-leaf */
    font-weight: 900;
    margin-right: 5px;
    color: #2d8a2d;
}
.badge.anti-fake::before {
    font-family: 'Font Awesome 6 Free';
    content: '\f058';  /* fa-check-circle */
    font-weight: 900;
    margin-right: 5px;
    color: #9a3020;
}

/* 可追溯区块图标 */
.traceability-guide .icon {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.traceability-guide .icon::before {
    font-family: 'Font Awesome 6 Free';
    content: '\f002';  /* fa-search */
    font-weight: 900;
    color: #9a3020;
    margin-right: 4px;
}

/* 页眉副标题(site-description)字体增大 */
.site-header .site-description {
    font-size: 16px !important;
    letter-spacing: 0.5px;
    opacity: 0.85;
}
.wp-block-button__link, .btn, .button {
    font-size: 18px;
}

/* 确保子主题所有卡片继承正确的悬停颜色 */
.card, .trust-card, .supplier-card, .product-card,
.district-card, .verifiable-card,
.woocommerce ul.products li.product,
.origin-card, .origin-block-card, .subpage-post-card,
.grading-card {
    border-top: 3px solid transparent;
}
.card:hover, .trust-card:hover, .supplier-card:hover,
.product-card:hover, .district-card:hover,
.verifiable-card:hover,
.woocommerce ul.products li.product:hover,
.origin-card:hover, .origin-block-card:hover,
.subpage-post-card:hover {
    border-top-color: var(--color-primary);
}

/* ═══════════════════════════════════════════════
   Container Width: 1440px (Hero exception)
   Overrides custom CSS full-width rules with
   more specific selectors
   ═══════════════════════════════════════════════ */

/* 丹霞红渐变分割线 - 首页区块间分隔 */
.section-divider {
    height: 1px;
    background: linear-gradient(to right,
        transparent,
        #9a3020 20%,
        #9a3020 80%,
        transparent
    );
    max-width: 1440px;
    margin: 0 auto;
    border: none;
}

/* 品牌故事区块 - P0 */
.brand-story-section {
    background-color: var(--color-bg-warm);
    padding: 80px 20px;
}
.brand-story-section .container {
    max-width: 1440px;
    margin: 0 auto;
}
.brand-story-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.brand-story-text h2 {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 8px;
    line-height: 1.25;
}
.brand-story-text .accent { color: var(--color-primary); }
.brand-story-subtitle {
    font-family: var(--font-sans);
    font-size: 0.9rem;
    color: var(--color-muted);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
}
.brand-story-body {
    font-family: var(--font-sans);
    font-size: 1rem;
    color: var(--color-text);
    line-height: 1.7;
    margin-bottom: 16px;
}
.brand-story-text .btn-outline {
    margin-top: 12px;
}
@media (max-width: 768px) {
    .brand-story-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

/* 移除信任区块旧分割线 */
.shaoguan-advantage-block .divider {
    display: none !important;
}

/* Override custom CSS forcing 100% on homepage containers */
body.home .site-content > .ast-container {
  max-width: 1440px;
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto;
}

body.home .content-area.primary,
body.home #primary.content-area {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

body.home .site-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.home .entry-content {
  padding-top: 0 !important;
  margin: 0 !important;
}

/* Keep hero FULL WIDTH - breaks out of container */
body.home .home-hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow: hidden;
}

/* Sections inside entry-content should fill their container */
body.home .entry-content > *:not(.home-hero) {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
/* But full-width blocks should be able to override */
body.home .entry-content > .alignfull {
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
}


/* ============================================
   9. Three Terroirs Grid - 3列并排卡片
   ============================================ */
/* Desktop: 3 equal columns */
@media (min-width: 769px) {
  div[style*="grid-template-columns"][style*="1fr 1fr 1fr"] {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 24px !important;
  }
  /* Make cards stretch full height within grid cells */
  div[style*="grid-template-columns: 1fr 1fr 1fr"] > div[style*="background"] {
    height: 100% !important;
  }
}
/* Tablet: 2 columns */
@media (min-width: 481px) and (max-width: 768px) {
  div[style*="grid-template-columns: 1fr 1fr 1fr"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
  }
}
/* Mobile: 1 column */
@media (max-width: 480px) {
  div[style*="grid-template-columns: 1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
/* Card hover */
div[style*="grid-template-columns: 1fr 1fr 1fr"] > div[style*="background"]:hover {
  box-shadow: 0 12px 24px rgba(0,0,0,0.1) !important;
  transform: translateY(-4px);
}


/* ============================================
   10. Product Badges & Specs Table
   ============================================ */

/* --- Product Card Badges (top of card) --- */
.vt-badges-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 8px 0 4px;
}
.vt-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #fff;
  line-height: 1.6;
}

/* --- Product Card Trust Tags (below add to cart) --- */
.vt-trust-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #e2e8f0;
}
.vt-trust-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #4a5568;
  font-family: 'Open Sans', sans-serif;
  background: #f7fafc;
  padding: 2px 8px;
  border-radius: 6px;
}

/* --- Product Detail Specs Table --- */
.veritea-specs {
  margin: 24px 0;
  padding: 24px;
  background: #f8f6f3;
  border-radius: 16px;
  border: 1px solid #e8d3b9;
}
.veritea-specs-title {
  font-family: 'Playfair Display', serif;
  font-size: 18px;
  color: #1a1a1a;
  margin: 0 0 16px;
  font-weight: 600;
}
.veritea-specs-table {
  width: 100%;
  border-collapse: collapse;
}
.veritea-specs-table tr {
  border-bottom: 1px solid #e2e8f0;
}
.veritea-specs-table tr:last-child {
  border-bottom: none;
}
.veritea-specs-table td {
  padding: 8px 12px;
  font-size: 13px;
  line-height: 1.5;
  font-family: 'Open Sans', sans-serif;
  vertical-align: top;
}
.veritea-specs-table .spec-label {
  width: 35%;
  color: #718096;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 11px;
}
.veritea-specs-table .spec-value {
  width: 65%;
  color: #1a1a1a;
}
.veritea-trust-footer {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
  font-size: 12px;
  color: #4a5568;
  font-family: 'Open Sans', sans-serif;
}
/* ====== HIDE OLD LOW-QUALITY BADGES ====== */
.product-grade-archive,
.product-tea-type,
.product-code,
.product-badges,
.product-badge-archive {
    display: none !important;
}

/* ====== NEW PREMIUM GRADE BADGES (vt-badge) ====== */
.vt-badge.vt-grade.grade-legend {
    background: #1a1a1a;
    color: #c9a96e;
    border: 1px solid #c9a96e;
}
.vt-badge.vt-grade.grade-master-select {
    background: #6b2fa0;
    color: #fff;
}
.vt-badge.vt-grade.grade-reserve {
    background: #2d5016;
    color: #fff;
}
.vt-badge.vt-grade.grade-premium {
    background: #9a3020;
    color: #fff;
}
.vt-badge.vt-grade.grade-artisan {
    background: #744210;
    color: #fff;
}
.vt-badge.vt-grade.grade-discovery {
    background: #4a5568;
    color: #fff;
}

/* ====== IMPROVED VT-BADGE STYLING ====== */
.vt-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    line-height: 1.4;
}
.vt-badges-row {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin: 8px 0 0;
}

/* ====== IMPROVED TRUST TAGS ====== */
.vt-trust-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e2e8f0;
}
.vt-trust-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #4a5568;
    font-family: 'Open Sans', sans-serif;
    background: #f7fafc;
    padding: 3px 10px;
    border-radius: 20px;
}

/* Section base */
.origin-section {
  position: relative;
  width: 100%;
}
.origin-section-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
}

/* --- Section 1: Hero/Where Is Shaoguan --- */
.origin-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
.origin-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.15) 100%);
  z-index: 1;
}
.origin-hero-content {
  position: relative;
  z-index: 2;
  color: #fff;
  max-width: 720px;
  padding: 0 24px;
}
.origin-hero-content .hero-suptitle {
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #c9a96e;
  margin: 0 0 16px;
}
.origin-hero-content h1 {
  font-size: clamp(32px, 5vw, 64px);
  color: #fff;
  margin: 0 0 20px;
  line-height: 1.1;
}
.origin-hero-content .hero-subtitle {
  font-size: clamp(15px, 1.5vw, 18px);
  color: rgba(255,255,255,0.85);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.6;
}
.origin-hero-content .hero-meta {
  margin-top: 32px;
  display: flex;
  gap: 32px;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 13px;
  color: rgba(255,255,255,0.6);
  letter-spacing: 1px;
}

/* --- Section 2: The Landscape --- */
.origin-landscape {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  min-height: 70vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.origin-landscape::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, transparent 60%);
  z-index: 1;
}
.origin-landscape-text {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 80px;
  width: 100%;
}
.origin-landscape-text p {
  color: #fff;
  font-size: clamp(18px, 2vw, 28px);
  font-family: 'Playfair Display', Georgia, serif;
  max-width: 600px;
  line-height: 1.5;
  margin: 0;
  font-style: italic;
}

/* --- Section 3: The Terroir Advantage --- */
.origin-terroir {
  background: #fff;
}
.origin-terroir .section-header {
  text-align: center;
  margin-bottom: 48px;
}
.origin-terroir .section-header h2 {
  font-size: clamp(24px, 3vw, 38px);
  margin: 0;
  color: #1a1a1a;
}
.origin-terroir .section-header p {
  font-size: 15px;
  color: #4a5568;
  max-width: 520px;
  margin: 12px auto 0;
  line-height: 1.6;
}
.terroir-advantage-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
}
.terroir-advantage-card {
  text-align: center;
  padding: 48px 24px;
  background: #f8f6f3;
  border-radius: 16px;
}
.terroir-advantage-card .advantage-icon {
  font-size: 42px;
  margin-bottom: 20px;
}
.terroir-advantage-card h3 {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #9a3020;
  font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
  margin: 0 0 4px;
}
.terroir-advantage-card .advantage-stat {
  font-size: 32px;
  font-weight: 700;
  color: #2d5016;
  font-family: 'Playfair Display', Georgia, serif;
  margin: 0 0 12px;
}
.terroir-advantage-card p {
  font-size: 14px;
  color: #4a5568;
  line-height: 1.6;
  margin: 0;
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}

/* --- Section 4: The People --- */
.origin-people {
  background: #f8f6f3;
}
.origin-people .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.origin-people-image {
  border-radius: 16px;
  overflow: hidden;
  height: 500px;
}
.origin-people-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.origin-people-text h2 {
  font-size: clamp(20px, 2.5vw, 36px);
  margin: 0 0 20px;
  color: #1a1a1a;
}
.origin-people-text p {
  font-size: 15px;
  line-height: 1.7;
  color: #4a5568;
  margin: 0 0 16px;
}
.origin-people-text .people-cta {
  display: inline-block;
  margin-top: 8px;
  color: #9a3020;
  font-weight: 600;
  font-size: 14px;
  border-bottom: 2px solid #c9a96e;
  padding-bottom: 2px;
}

/* --- Section 5: Verifiable Origin --- */
.origin-verifiable {
  background: #fff;
  text-align: center;
}
.origin-verifiable .section-header h2 {
  font-size: clamp(24px, 3vw, 38px);
  margin: 0;
  color: #1a1a1a;
}
.origin-verifiable .section-header p {
  font-size: 15px;
  color: #4a5568;
  max-width: 560px;
  margin: 12px auto 48px;
  line-height: 1.6;
}
.verifiable-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
}
.verifiable-item {
  padding: 40px 16px;
  border-radius: 12px;
  background: #f8f6f3;
  transition: transform 0.2s;
}
.verifiable-item:hover {
  transform: translateY(-4px);
}
.verifiable-item .v-icon {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(154,48,32,0.08);
  border-radius: 50%;
  font-size: 24px;
  color: #9a3020;
  margin-bottom: 16px;
}
.verifiable-item h3 {
  font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
  font-size: 15px;
  color: #1a1a1a;
  margin: 0 0 8px;
  font-weight: 600;
}
.verifiable-item p {
  font-size: 13px;
  color: #718096;
  margin: 0;
  line-height: 1.5;
}

/* --- Section 6: Signature Teas --- */
.origin-teas {
  background: #f8f6f3;
  text-align: center;
}
.origin-teas .section-header h2 {
  font-size: clamp(24px, 3vw, 38px);
  margin: 0;
  color: #1a1a1a;
}
.origin-teas .section-header p {
  font-size: 15px;
  color: #4a5568;
  max-width: 480px;
  margin: 12px auto 48px;
  line-height: 1.6;
}
.teas-showcase {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 960px;
  margin: 0 auto 48px;
}
.tea-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  transition: box-shadow 0.25s;
  text-align: left;
}
.tea-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
.tea-card .tea-image {
  height: 220px;
  overflow: hidden;
}
.tea-card .tea-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tea-card .tea-info {
  padding: 20px;
}
.tea-card .tea-info h3 {
  font-size: 16px;
  margin: 0 0 4px;
  color: #1a1a1a;
}
.tea-card .tea-info .tea-grade {
  font-size: 11px;
  color: #9a3020;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0 0 8px;
}
.tea-card .tea-info .tea-type {
  font-size: 12px;
  color: #718096;
  margin: 0;
}
.tea-card .tea-info .tea-price {
  font-size: 16px;
  color: #2d5016;
  font-weight: 600;
  margin: 8px 0 0;
}
.origin-teas .teas-cta {
  display: inline-block;
  color: #9a3020;
  font-weight: 600;
  font-size: 14px;
  border-bottom: 2px solid #c9a96e;
  padding-bottom: 2px;
}

/* --- Section 7: CTA --- */
.origin-cta {
  text-align: center;
  padding: 100px 24px;
  background: #1a1a1a;
  color: #fff;
}
.origin-cta h2 {
  color: #fff;
  font-size: clamp(24px, 3vw, 42px);
  margin: 0 0 12px;
}
.origin-cta p {
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  max-width: 480px;
  margin: 0 auto 36px;
  line-height: 1.6;
}
.origin-cta .btn-gold {
  display: inline-block;
  background: #c9a96e;
  color: #1a1a1a;
  padding: 16px 48px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: background 0.2s;
}
.origin-cta .btn-gold:hover {
  background: #b89450;
}

/* ============================================================
   RESPONSIVE - Our Origin Page
   ============================================================ */
@media (max-width: 1024px) {
  .terroir-advantage-grid { grid-template-columns: 1fr 1fr; }
  .origin-people .container { grid-template-columns: 1fr; gap: 40px; }
  .origin-people-image { height: 350px; order: -1; }
  .verifiable-grid { grid-template-columns: 1fr 1fr; }
  .teas-showcase { grid-template-columns: 1fr 1fr; }
  .origin-landscape-text p { font-size: 20px; }
}

@media (max-width: 768px) {
  .origin-hero { min-height: 70vh; }
  .origin-landscape { min-height: 50vh; background-attachment: scroll; }
  .terroir-advantage-grid { grid-template-columns: 1fr; }
  .verifiable-grid { grid-template-columns: 1fr 1fr; }
  .teas-showcase { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto 32px; }
  .origin-hero-content .hero-meta { flex-direction: column; gap: 8px; }
  .origin-section-inner { padding: 60px 20px; }
}


/* ============================================
   13. Fix: missing display:grid on inline grids
   WordPress strips display:grid on save via wp_update_post()
   So we force it via CSS instead
   ============================================ */
/* "What Is Shaoguan Tea" - 2-column grid */
.shaoguan-intro div[style*="grid-template-columns: 1fr 1fr;gap: 60px"] {
  display: grid !important;
}

/* Brand Story - 2-column grid */
.brand-story-grid[style*="grid-template-columns: 1fr 1fr;gap: 60px"] {
  display: grid !important;
}

/* Stats cards inside "What Is" - 3-column grid (backup) */
.shaoguan-intro div[style*="grid-template-columns: 1fr 1fr 1fr;gap: 16px"] {
  display: grid !important;
}
/* ============================================
   14. Gap fix: header → hero seamless
   ============================================ */
body.home .entry-content > p:first-child {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden;
}
body.home .home-hero {
  margin-top: 0 !important;
}
@media (min-width: 1200px) {
  body.home .ast-plain-container.ast-no-sidebar #primary,
  body.home #primary {
    margin-top: 0 !important;
  }
}


/* ============================================
   15. From Our Reserve - 产品居中
   只有2个产品时,避免靠左空右
   ============================================ */
.products-section .woocommerce.columns-4 ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 30px;
}
.products-section .woocommerce.columns-4 ul.products li.product {
  width: calc(25% - 23px) !important;
  min-width: 260px;
  max-width: 340px;
  margin: 0 !important;
  float: none !important;
}
/* Tablet: 2 items side by side */
@media (max-width: 768px) {
  .products-section .woocommerce.columns-4 ul.products li.product {
    width: calc(50% - 15px) !important;
    min-width: 200px;
  }
}
/* Mobile: stack */
@media (max-width: 480px) {
  .products-section .woocommerce.columns-4 ul.products li.product {
    width: 100% !important;
    max-width: 360px;
  }
}


/* ============================================
   16. Footer - 3栏改2栏,隐藏空列
   ============================================ */
.site-footer-primary-section-3 {
  display: none !important;
}
.site-footer .ast-builder-grid-row-3-equal .ast-builder-grid-row {
  grid-template-columns: 1fr auto !important;
}
/* 手机端:上下排列 */
@media (max-width: 768px) {
  .site-footer .ast-builder-grid-row-3-equal .ast-builder-grid-row {
    grid-template-columns: 1fr !important;
    justify-items: center;
    text-align: center;
  }
  .site-footer-primary-section-1,
  .site-footer-primary-section-2 {
    width: 100% !important;
  }
}

/* ============================================
   17. Mobile menu - iPad 修复
   ============================================ */
/* 修复160px过大padding */
.ast-mobile-header-content .ast-builder-menu-mobile {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
/* ========================================
   产品详情页精简布局(2026-05-19)
   ======================================== */

/* 移除博客元数据(Astra post meta) */
.single-product .entry-header .entry-meta,
.single-product .posted-on,
.single-product .byline,
.single-product .cat-links,
.single-product .tags-links,
.single-product .comments-link {
  display: none !important;
}

/* 移除产品页面的面包屑 */
.single-product .ast-breadcrumbs-wrapper,
.single-product .woocommerce-breadcrumb {
  display: none !important;
}

/* 隐藏 WooCommerce 默认的 SKU/Category 显示 */
.single-product .product_meta {
  display: none !important;
}

/* 隐藏原本的 verify authenticity 独立区块 */
.single-product .entry-content a[href*="315.cn"],
.single-product .summary a[href*="315.cn"],
.single-product .product a[href*="315.cn"] {
  display: none !important;
}
.single-product .entry-content p:has(a[href*="315.cn"]) {
  display: none !important;
}
/* 隐藏旧的商品详情页等级标签(已被vt-specs-inline替代) */
.single-product .product-grade-single,
.single-product .product-grade-single * {
  display: none !important;
}

/* 隐藏旧的批次追溯块(已被新紧凑版替代) */
.single-product .batch-verification-block {
  display: none !important;
}

/* 隐藏旧防伪验证独立区块 */
.single-product .anti-fake-wrapper {
  display: none !important;
}

/* 隐藏 Astra 主题的产品详情页分类链接(Black Tea 面包屑) */
.single-product .single-product-category {
  display: none !important;
}

/* 等级徽章:紧贴价格右侧 */
.single-product .price {
  display: inline-block !important;
  margin-right: 12px !important;
}
.single-product .woocommerce-product-details__short-description + br,
.single-product .woocommerce-product-details__short-description + p {
  display: none;
}
.woocommerce div.product p.price {
  margin-bottom: 4px !important;
}

/* 紧凑型规格行 */
.vt-specs-inline {
  font-size: 0.85rem;
  color: #6b7280;
  margin: 6px 0 4px 0;
  letter-spacing: 0.02em;
}

/* 信任信号行 */
.vt-trust-inline {
  font-size: 0.8rem;
  color: #4b5563;
  margin: 4px 0 6px 0;
}
.vt-trust-badge-link {
  color: #9a3020;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.vt-trust-badge-link:hover {
  color: #7a2010;
}

/* 批次追溯 + 厂家链接行 */
.vt-trace-row {
  font-size: 0.85rem;
  color: #4b5563;
  margin: 8px 0 6px 0;
  padding: 8px 12px;
  background: #f9f7f4;
  border-radius: 8px;
  display: inline-block;
}
.vt-trace-item {
  white-space: nowrap;
}
.vt-trace-link {
  color: #9a3020;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
}
.vt-trace-link:hover {
  color: #7a2010;
}

/* SKU 脚注 */
.vt-sku-footer {
  font-size: 0.75rem;
  color: #9ca3af;
  margin-top: 4px;
}

/* 原本的信任footer改为隐藏 */
.veritea-trust-footer {
  display: none !important;
}


/* ============================================
   iPad / Touch Device Fixes
   ============================================ */

/* Quick View button: always visible on touch devices */
@media (hover: none) and (pointer: coarse) {
    /* Show Quick View button below product image on touch */
    .astra-shop-summary-wrap .ast-quick-view-button,
    .ast-quick-view-button,
    .woocommerce .product .ast-qv-button,
    .product-loop-item .ast-qv-button {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        position: relative !important;
        display: inline-block !important;
        margin-top: 8px;
    }

    /* Ensure add-to-cart buttons have visible touch feedback */
    .add_to_cart_button,
    .single_add_to_cart_button,
    .ast-quick-view-button {
        min-height: 48px;
        padding: 12px 20px;
        -webkit-tap-highlight-color: rgba(169, 60, 60, 0.3);
    }

    /* Active/tap state */
    .add_to_cart_button:active,
    .single_add_to_cart_button:active,
    .ast-quick-view-button:active {
        transform: scale(0.97);
        opacity: 0.85;
    }

    /* Product card: proper touch target */
    .product-loop-item {
        cursor: pointer;
        touch-action: manipulation;
    }

    /* Fix sub-menu touch areas */
    .main-header-menu .sub-menu a {
        padding: 12px 16px;
        min-height: 44px;
    }

    /* Disable hover-only animations on touch */
    .product-loop-item:hover .astra-shop-summary-wrap {
        transform: none !important;
    }
}

/* Footer spacing fix for mobile */
@media (max-width: 544px) {
    .site-footer .ast-footer-widget-area-1 .widget {
        margin-bottom: 12px;
    }
    .site-footer .ast-footer-widget-area-1 p {
        margin: 4px 0;
    }
}

/* Pagination number overflow fix */
@media (max-width: 544px) {
    .woocommerce-pagination .page-numbers {
        flex-wrap: wrap;
        gap: 4px;
    }
    .woocommerce-pagination .page-numbers li {
        margin: 0 1px;
    }
    .woocommerce-pagination .page-numbers li .page-numbers {
        padding: 6px 10px;
        font-size: 13px;
        min-width: 36px;
        text-align: center;
    }
}

/* Hero image focus on mobile/tablet - Danxia landscape center */
@media (max-width: 921px) {
    .home-hero {
        object-position: center 30%;
    }
}

/* Remove Coming Soon if it takes prime space on mobile */
@media (max-width: 544px) {
    .coming-soon-banner,
    [class*="coming-soon"] {
        display: none;
    }
}

/* Origin -> Journey bridge section */
.origin-section.origin-journey {
    background: #f8f5f0;
}
.origin-section.origin-journey .section-tag {
    color: #b8860b;
    font-size: 0.85rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}
.origin-section.origin-journey h2 {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.3;
    color: #2c2c2c;
}
.origin-section.origin-journey p {
    color: #666;
    font-size: 1.05rem;
    line-height: 1.7;
}

/* Add to Cart button - vertical center fix */
.single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 10px 20px !important;
}

/* Sold individually products - hide quantity completely */
.single-product .cart .quantity {
    display: none !important;
}

/* Qty Enhancement - always visible +/- buttons */
.quantity { display: inline-flex !important; align-items: center !important; border: 1px solid #d1d5db !important; border-radius: 8px !important; overflow: hidden !important; background: #fff !important; }
.quantity .minus, .quantity .plus { display: flex !important; align-items: center !important; justify-content: center !important; width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; font-size: 22px !important; font-weight: 700 !important; color: #333 !important; background: #f9fafb !important; border: none !important; cursor: pointer !important; transition: background 0.15s !important; line-height: 1 !important; padding: 0 !important; margin: 0 !important; }
.quantity .minus:hover, .quantity .plus:hover { background: #e5e7eb !important; }
.quantity .qty { width: 60px !important; height: 44px !important; text-align: center !important; font-size: 18px !important; font-weight: 600 !important; border: none !important; border-left: 1px solid #e5e7eb !important; border-right: 1px solid #e5e7eb !important; -moz-appearance: textfield !important; padding: 0 !important; margin: 0 !important; }
.quantity .qty::-webkit-inner-spin-button, .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none !important; margin: 0 !important; }


/* Footer Menu Fix - horizontal layout */
#astra-footer-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px 24px !important;
    justify-content: flex-start !important;
    align-items: center !important;
}
#astra-footer-menu li {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}
#astra-footer-menu li a {
    white-space: nowrap !important;
    padding: 4px 0 !important;
}
/* End Footer Menu Fix */

/* ===== Mobile Menu Fix ===== */
/* Colores de fondo del menú móvil - alta especificidad */
#ast-mobile-header .ast-mobile-header-content,
body .ast-mobile-header-content {
    background-color: #9a3020 !important;
}
#ast-mobile-header .ast-mobile-header-content .main-header-menu .menu-link,
body .ast-mobile-header-content .main-header-menu .menu-link {
    color: #ffffff !important;
}
/* X botón cierre */
.menu-toggle, .ast-mobile-menu-trigger {
    cursor: pointer !important;
}
/* ===== End Mobile Menu Fix ===== */

/* ===== Product Specs Table ===== */
.vt-specs-table-wrap {
    margin: 16px 0;
}
.vt-specs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.6;
}
.vt-specs-table tr {
    border-bottom: 1px solid #f0f0f0;
}
.vt-specs-table tr:last-child {
    border-bottom: none;
}
.vt-specs-label {
    padding: 6px 12px 6px 0;
    color: #666;
    font-weight: 500;
    white-space: nowrap;
    vertical-align: top;
    width: 140px;
}
.vt-specs-value {
    padding: 6px 0;
    color: #1a1a1a;
    font-weight: 400;
}
.vt-specs-value a.vt-trace-link {
    color: #a93c3c;
    text-decoration: underline;
    font-weight: 500;
}

/* ===== Short Description font size increase ===== */
.woocommerce-product-details__short-description p {
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: #333 !important;
}

/* ===== Price font size increase ===== */
.woocommerce div.product .summary .price {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 12px !important;
}

/* ===== Sold individually products - hide quantity completely ===== */
.single-product .cart .quantity {
    display: none !important;
}

/* ===== Related Articles (Product + Supplier pages) ===== */
.vt-related-articles {
    margin: 30px 0 10px;
    padding: 20px;
    background: #f8f6f3;
    border-radius: 12px;
    border-left: 4px solid #a93c3c;
}
.vt-related-title {
    font-family: 'Playfair Display', serif;
    font-size: 18px;
    font-weight: 600;
    color: #2c3e50;
    margin: 0 0 12px;
}
.vt-related-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.vt-related-list li {
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
    font-size: 15px;
    line-height: 1.5;
}
.vt-related-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: #a93c3c;
    font-weight: 700;
}
.vt-related-list li:last-child {
    margin-bottom: 0;
}
.vt-related-list a {
    color: #a93c3c;
    text-decoration: underline;
    font-weight: 500;
}
.vt-related-list a:hover {
    color: #8b2e2e;
}

/* ===== Core Article Page: Related Products + Suppliers ===== */
.vt-article-related-section {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 2px solid #e5e7eb;
}
.vt-article-related-title {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 20px;
}
.vt-article-related-block {
    margin-bottom: 24px;
}
.vt-article-related-block h3 {
    font-size: 18px;
    margin-bottom: 12px;
    color: #333;
}
.vt-article-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}
.vt-article-related-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.vt-article-related-card:hover {
    box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}
.vt-article-related-card a {
    display: block;
    text-decoration: none !important;
    color: inherit;
}
.vt-article-related-card img {
    width: 100%;
    height: auto;
    display: block;
}
.vt-article-related-card .vt-card-title {
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 10px 2px;
    color: #1a1a1a;
    line-height: 1.3;
}
.vt-article-related-card .vt-card-price {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #a93c3c;
    padding: 0 10px 10px;
}
.vt-article-related-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.vt-article-related-list li {
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
}
.vt-article-related-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: #a93c3c;
    font-weight: 700;
}
.vt-article-related-list a {
    color: #a93c3c;
    text-decoration: underline;
}

.woocommerce ul.products li.product {
  text-align: center !important;
}
.woocommerce ul.products li.product .price {
  display: block !important;
  margin-bottom: 4px !important;
}


/* ============================================
   18. 2026-05-21 视觉优化:链接hover加下划线 + Toast通知
   ============================================ */

/* 内容区正文链接 hover 下划线 */
.entry-content a:not(.button):not(.btn):not(.wp-block-button__link):not(.vt-trace-link):not(.product-link):hover,
.entry-content p a:hover,
.entry-content li a:hover {
    text-decoration: underline !important;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

/* Toast 通知样式 */
#vt-toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}
.vt-toast {
    background: #1a1a1a;
    color: #fff;
    padding: 14px 24px;
    border-radius: 8px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    gap: 10px;
    animation: vt-toast-in 0.3s ease-out;
    pointer-events: auto;
    max-width: 400px;
    border-left: 4px solid #A93C3C;
}
.vt-toast.vt-toast-out {
    animation: vt-toast-out 0.3s ease-in forwards;
}
.vt-toast .vt-toast-icon {
    font-size: 20px;
    color: #4ade80;
}
@keyframes vt-toast-in {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
@keyframes vt-toast-out {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(100%); opacity: 0; }
}
@media (max-width: 480px) {
    #vt-toast-container {
        top: auto;
        bottom: 20px;
        right: 10px;
        left: 10px;
    }
    .vt-toast {
        max-width: 100%;
        font-size: 13px;
        padding: 12px 16px;
    }
}

/* ============================================
   19. 2026-05-21 产品标题强制覆写(压制woocommerce-js规则)
   ============================================ */
.woocommerce-js ul.products li.product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title {
    font-size: 17px !important;
}

/* 移动端产品标题缩小 */
@media (max-width: 768px) {
    .woocommerce-js ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.woocommerce ul.products li.product .woocommerce-loop-product__title,
    ul.products li.product .woocommerce-loop-product__title {
        font-size: 15px !important;
    }
}

/* 2026-05-21: 终极覆写 — 压制所有CSS打包/缓存 */
body h1.entry-title,
body h1.page-title,
body h1:not(.site-title):not(.site-title a) {
    font-size: 2.75rem !important;
}
body h2:not(.woocommerce-loop-product__title):not(.product-title) {
    font-size: 2rem !important;
}

/* 2026-05-21: shaoguan-intro 背景视频（方案A） */
.shaoguan-intro {
    position: relative;
    overflow: hidden;
}
.shaoguan-intro-bg-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
    opacity: 0.2;
    pointer-events: none;
    z-index: -1;  /* 负z-index确保在内容下方 */
}

/* ============================================
   20. 2026-05-21 修复: Glossary卡片底部多余空白
   ============================================ */
.post-type-archive-glossary .ast-article-inner {
    padding-bottom: 0 !important;
}


/* Hide WordPress entry-title on homepage (hero provides better H1) */
.home .entry-header .entry-title {
    display: none !important;
}

/* ============================================
   P2-7: Toast Notifications (moved from functions.php)
   ============================================ */
#vt-toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}
.vt-toast {
    background: #2d6a4f;
    color: #fff;
    padding: 14px 22px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 500;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    animation: vtToastIn 0.35s ease-out forwards;
    pointer-events: auto;
    max-width: 360px;
}
.vt-toast.vt-toast-out {
    animation: vtToastOut 0.35s ease-in forwards;
}
.vt-toast-icon {
    margin-right: 8px;
    font-size: 18px;
}
@keyframes vtToastIn {
    from { opacity: 0; transform: translateX(40px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes vtToastOut {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(40px); }
}

/* ============================================
   P2-7: District Grid (moved from functions.php)
   ============================================ */
.origin-districts {
  padding: 60px 0;
  background: #f8f6f3;
}
.districts-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 900px;
  margin: 30px auto 0;
  padding: 0 20px;
}
.district-card {
  display: block !important;
  background: white !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  border: 1px solid #e5e7eb !important;
  border-top: 3px solid transparent !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.district-card:hover {
  transform: translateY(-6px) scale(1.03) !important;
  border-top-color: var(--color-primary, #9a3020) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.15) !important;
}
.district-color {
  height: 80px !important;
}
.district-card h3 {
  margin: 12px 16px 4px !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: #2c3e50 !important;
}
.district-name {
  margin: 0 16px 6px !important;
  font-size: .85rem !important;
  color: #888 !important;
}
.district-tea {
  margin: 0 16px 12px !important;
  font-size: .9rem !important;
  color: #555 !important;
  line-height: 1.5 !important;
}
.district-link {
  display: block !important;
  padding: 10px 16px !important;
  border-top: 1px solid #f0f0f0 !important;
  font-size: .85rem !important;
  color: #a93c3c !important;
  font-weight: 600 !important;
  text-align: center !important;
}
.district-placeholder {
  opacity: .6;
}
@media (max-width: 768px) {
  .districts-grid { grid-template-columns: repeat(2, 1fr); }
  .origin-districts { padding: 40px 0; }
}

/* ============================================
   P2-7: Quantity Selector
   ============================================ */
.quantity .qty-btn-minus,
.quantity .qty-btn-plus {
    width: 40px;
    height: 40px;
    background: #f3f4f6;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #374151;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
}
.quantity .qty-btn-minus:hover,
.quantity .qty-btn-plus:hover {
    background: #e5e7eb;
}
.quantity .qty-btn-minus:disabled,
.quantity .qty-btn-plus:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.quantity input.qty {
    width: 60px;
    text-align: center;
    border: none;
    font-size: 16px;
    padding: 0;
    margin: 0;
    height: 40px;
    outline: none;
    -moz-appearance: textfield;
}
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ============================================
   P1-3: Mobile Sticky Add to Cart Bar
   ============================================ */
@media (max-width: 768px) {
    .vt-sticky-cart-bar {
        position: fixed; bottom: 0; left: 0; right: 0;
        z-index: 99999;
        background: #fff;
        border-top: 1px solid #e5e7eb;
        box-shadow: 0 -4px 12px rgba(0,0,0,0.08);
        padding: 10px 16px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        transform: translateY(100%);
        transition: transform 0.3s ease;
    }
    .vt-sticky-cart-bar.visible { transform: translateY(0); }
    .vt-sticky-cart-info { flex: 1; min-width: 0; }
    .vt-sticky-cart-name {
        font-size: 13px; font-weight: 600; color: #1a1a1a;
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .vt-sticky-cart-price {
        font-size: 15px; font-weight: 700; color: #a93c3c; margin-top: 2px;
    }
    .vt-sticky-cart-btn {
        flex-shrink: 0;
        background: #a93c3c; color: #fff; border: none;
        border-radius: 8px; padding: 12px 24px;
        font-size: 15px; font-weight: 600; cursor: pointer;
    }
    .vt-sticky-cart-btn:active { background: #8b2e2e; }
    .vt-sticky-cart-btn.loading { opacity: 0.7; pointer-events: none; }
    .single-product .site-content { padding-bottom: 70px; }
}


/* ===== P1-2: iPad导航断点修复 ===== */
/* Astra默认921px → 改为783px，让iPad Pro(1024px)用桌面导航 */
@media (min-width: 783px) {
    #ast-desktop-header { display: block !important; }
    #ast-mobile-header { display: none !important; }
}
@media (max-width: 782px) {
    #ast-desktop-header { display: none !important; }
    #ast-mobile-header { display: block !important; }
}

/* iPad上导航字体适应（略大于手机） */
@media (min-width: 783px) and (max-width: 1024px) {
    .main-header-menu .menu-link {
        font-size: 14px;
        padding: 0 12px;
    }
}

/* ===== P2: 产品卡顶部红色边框 ===== */
.woocommerce ul.products li.product, 
.woocommerce-page ul.products li.product {
    border-top: 4px solid #8b2e2e !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: box-shadow 0.2s ease;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    box-shadow: 0 4px 16px rgba(139,46,46,0.15);
}

/* ===== P3: 产品网格 4列（覆盖 blocks 默认的 columns-2） ===== */
@media (min-width: 1025px) {
    .woocommerce.columns-2 ul.products,
    .woocommerce.columns-3 ul.products,
    .woocommerce-page.columns-2 ul.products,
    .woocommerce-page.columns-3 ul.products {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 24px !important;
    }
    .woocommerce.columns-2 ul.products li.product,
    .woocommerce.columns-3 ul.products li.product,
    .woocommerce-page.columns-2 ul.products li.product,
    .woocommerce-page.columns-3 ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
        clear: none !important;
    }
}
@media (min-width: 769px) and (max-width: 1024px) {
    .woocommerce.columns-2 ul.products,
    .woocommerce.columns-3 ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
    .woocommerce.columns-2 ul.products li.product,
    .woocommerce.columns-3 ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
        clear: none !important;
    }
}
