/* ============================================================
   运势测算 — 新中式 / 灵犀命理风格
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Noto+Serif+SC:wght@300;400;500;600;700&family=Ma+Shan+Zheng&display=swap');

.fc-wrapper {
    max-width: 720px;
    margin: 0 auto;
    padding: 60px 20px;
    font-family: 'Noto Serif SC', 'SimSun', 'Songti SC', 'PingFang SC', 'Microsoft YaHei', serif;
    color: #4a3f35;
    line-height: 1.8;
    background: #faf6f0;
}

/* ---- 品牌头部 ---- */
.fc-brand-header {
    text-align: center;
    margin-bottom: 48px;
}

.fc-brand-mark {
    position: relative;
    display: inline-block;
    width: 52px;
    height: 52px;
    margin-bottom: 18px;
}

.fc-mark-square {
    position: absolute;
    inset: 0;
    border: 2px solid #a67c52;
    transform: rotate(45deg);
    opacity: 0.7;
}

.fc-mark-text {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Ma Shan Zheng', cursive;
    font-size: 28px;
    color: #a67c52;
}

.fc-title {
    font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.05;
    color: #3a2d27;
    margin: 0 0 10px 0;
    letter-spacing: 5px;
    text-transform: uppercase;
}

/* Keep custom-shop spacing local to the shortcode page. */
body.fc-shortcode-shop-page .main-page-wrapper,
body.fc-shortcode-shop-page .site-content,
body.fc-shortcode-shop-page .content-layout-wrapper,
body.fc-shortcode-shop-page .wd-content-layout,
body.fc-shortcode-shop-page .page-content,
body.fc-shortcode-shop-page .entry-content,
body.fc-shortcode-shop-page .fc-shop-compact-shell {
    margin-top:0!important;
    padding-top:0!important;
    min-height:0!important;
}
body.fc-shortcode-shop-page .fc-custom-shop {
    margin-top:0!important;
    padding-top:10px!important;
}
body.fc-shortcode-shop-page .fc-custom-shop-shell-spacer {
    display:none!important;
}

/* Homepage header: centered logo above centered menu, over the carousel. */
@media (min-width:1025px) {
    body.home {
        --wd-top-bar-h:.00001px!important;
        --wd-header-general-h:132px!important;
        --wd-header-bottom-h:.00001px!important;
    }
    body.home .whb-header_559709,
    body.home .whb-header_559709 .whb-main-header,
    body.home .whb-header_559709 .whb-general-header {
        background:transparent!important;
        background-color:transparent!important;
        background-image:none!important;
        box-shadow:none!important;
    }
    body.home .whb-header_559709 {
        position:absolute!important;
        inset:0 0 auto 0!important;
        z-index:50!important;
        width:100%!important;
    }
    body.home .whb-header_559709 .whb-main-header {
        position:absolute!important;
        inset:0 0 auto 0!important;
        width:100%!important;
    }
    body.home .whb-header_559709 .whb-general-header>.container,
    body.home .whb-header_559709 .whb-general-header-inner,
    body.home .whb-header_559709 .whb-general-header .whb-column {
        background:transparent!important;
        background-color:transparent!important;
        background-image:none!important;
    }
    body.home .whb-header_559709 .whb-general-header.whb-not-sticky-row .whb-general-header-inner {
        height:132px!important;
        max-height:132px!important;
    }
    body.home .whb-header_559709 .whb-general-header .whb-col-center.whb-visible-lg {
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        flex-wrap:nowrap!important;
        gap:5px!important;
    }
    body.home .whb-header_559709 .whb-general-header .whb-col-center>.site-logo {
        order:1!important;
        margin:0!important;
        flex:0 0 auto!important;
    }
    body.home .whb-header_559709 .whb-general-header .whb-col-center>.wd-header-nav {
        order:2!important;
        margin:0!important;
        flex:0 0 auto!important;
    }
    body.home .whb-header_559709 .whb-general-header .site-logo img {
        width:auto!important;
        max-width:193px!important;
        max-height:58px!important;
        object-fit:contain!important;
    }
    body.home .whb-header_559709 .whb-general-header .wd-nav {
        justify-content:center!important;
        flex-wrap:nowrap!important;
    }
    body.home .whb-header_559709 .whb-general-header.whb-not-sticky-row .whb-col-right.whb-visible-lg {
        transform:translateY(31px)!important;
    }
    body.home .wd-page-content.main-page-wrapper,
    body.home .content-layout-wrapper,
    body.home .site-content,
    body.home article.entry-content,
    body.home article.entry-content>.elementor {
        margin-top:0!important;
        padding-top:0!important;
    }
    /*
     * The Woodmart over-content header only overlaps the lower navigation row;
     * the slider itself otherwise starts 88px below the viewport. Pull the
     * slider/background up by that uncovered logo-row height and add the same
     * amount to the slide height. Because the slide content is bottom-aligned,
     * its visual position (title, copy and button) remains unchanged.
     */
    body.home #slider-113 {
        margin-top:-88px!important;
    }
    body.home #slider-113 .wd-slide {
        min-height:808px!important;
    }
    body.single-product .whb-header_708836.whb-overcontent:not(.whb-custom-header) {
        padding-top:132px!important;
    }
    body.single-product .wd-page-content.main-page-wrapper {
        position:relative!important;
        z-index:1!important;
        margin-top:-100px!important;
        padding-top:0!important;
    }
}

/* Preserve the original dark-on-light homepage header and carousel text. */
body.home .whb-header .whb-row {
    --wd-header-el-color:#292723!important;
    --wd-header-el-color-hover:#8d6839!important;
}
body.home .whb-header .wd-nav>li>a,
body.home .whb-header .wd-nav>li>a .nav-link-text,
body.home .whb-header .wd-tools-element>a,
body.home .whb-header .wd-tools-icon,
body.home .whb-header .wd-tools-text,
body.home .whb-header .wd-tools-icon:before,
body.home .whb-header .wd-tools-icon:after {
    color:#292723!important;
    text-shadow:none!important;
}
body.home .whb-header .wd-tools-element svg,
body.home .whb-header .wd-tools-element svg path,
body.home .whb-header .wd-tools-element svg circle {
    color:#292723!important;
    stroke:#292723!important;
}
body.home .wd-slide .wd-slide-title,
body.home .wd-slide .wd-slide-desc,
body.home .wd-slide .info-box-title,
body.home .wd-slide .info-box-subtitle,
body.home .wd-slide .info-box-inner,
body.home .wd-slide .info-box-inner p,
body.home .wd-slide .wd-text-block,
body.home .wd-slide p {
    color:#292723!important;
    text-shadow:none!important;
}
body.home .wd-slide .btn { color:#292723!important; }
.fc-bagua-menu-item>a { white-space:nowrap; }

.fc-subtitle {
    font-family: 'Noto Serif SC', serif;
    font-size: 13px;
    color: #a67c52;
    margin: 0 0 18px 0;
    letter-spacing: 6px;
    text-transform: uppercase;
}

.fc-title-line {
    width: 60px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #a67c52, transparent);
    margin: 0 auto;
}

/* ---- 表单容器 ---- */
.fc-form-container {
    background: #fffefb;
    border: 1px solid #e8dfd4;
    border-radius: 4px;
    padding: 56px 48px;
    box-shadow: 0 8px 40px rgba(92, 64, 51, 0.06);
}

.fc-form {
    max-width: 560px;
    margin: 0 auto;
}

/* ---- 行布局 ---- */
.fc-row {
    display: flex;
    gap: 28px;
    margin-bottom: 32px;
    align-items: flex-end;
}

.fc-row-2 .fc-field {
    flex: 1;
    min-width: 0;
}

.fc-row-1 .fc-field {
    flex: 1;
}

/* ---- 字段 ---- */
.fc-field label {
    display: block;
    font-size: 15px;
    color: #6b5344;
    margin-bottom: 12px;
    font-weight: 500;
    letter-spacing: 2px;
}

.fc-field label small {
    font-size: 12px;
    color: #b8a898;
    font-weight: 400;
    letter-spacing: 0;
}

.fc-field input,
.fc-field select {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #d9cfc3;
    border-radius: 2px;
    font-size: 15px;
    color: #4a3f35;
    background: #faf8f5;
    transition: all 0.25s ease;
    box-sizing: border-box;
    font-family: inherit;
}

.fc-field select {
    appearance: none;
    -webkit-appearance: none;
}

.fc-field input::placeholder {
    color: #b8a898;
}

.fc-field input:focus,
.fc-field select:focus {
    outline: none;
    border-color: #a67c52;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(166, 124, 82, 0.08);
}

/* ---- 下拉选择 ---- */
.fc-select-wrap {
    position: relative;
}

.fc-select-wrap::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #a67c52;
    pointer-events: none;
}

.fc-field select {
    padding-right: 40px;
    cursor: pointer;
}

/* ---- 日期选择 ---- */
.fc-date-wrap {
    position: relative;
    min-height: 46px;
}

.fc-date-wrap input[type="date"] {
    padding-right: 46px;
    background: #faf8f5;
    appearance: auto;
    -webkit-appearance: auto;
}

.fc-date-wrap input[type="text"] {
    padding-right: 46px;
    background: #faf8f5;
    cursor: pointer;
}

.fc-date-icon {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 2;
}

.fc-date-icon svg {
    display: block;
    width: 18px;
    height: 18px;
}

.fc-date-wrap input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 46px;
    height: 100%;
    cursor: pointer;
    z-index: 1;
}

/* ---- 性别按钮 ---- */
.fc-gender-group {
    display: flex;
    gap: 16px;
}

.fc-gender-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 14px 12px;
    border: 1px solid #d9cfc3;
    border-radius: 2px;
    background: #faf8f5;
    color: #6b5344;
    cursor: pointer;
    transition: all 0.25s ease;
    font-family: inherit;
    position: relative;
    z-index: 1;
}

.fc-gender-btn .fc-gender-symbol,
.fc-gender-btn .fc-gender-text {
    pointer-events: none;
}

.fc-gender-btn .fc-gender-symbol {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 2px;
}

.fc-gender-btn .fc-gender-text {
    font-size: 12px;
    color: #b8a898;
}

.fc-gender-btn:hover {
    border-color: #a67c52;
    background: #fff;
}

.fc-gender-btn.active {
    background: #a67c52;
    border-color: #a67c52;
    color: #fff;
    box-shadow: 0 4px 14px rgba(166, 124, 82, 0.25);
}

.fc-gender-btn.active .fc-gender-text {
    color: rgba(255, 255, 255, 0.85);
}

/* ---- 提交按钮 ---- */
.fc-submit-btn {
    display: block;
    width: 100%;
    padding: 18px 32px;
    margin-top: 42px;
    background: linear-gradient(135deg, #b3865c 0%, #a67c52 50%, #8f6642 100%);
    color: #fff;
    border: none;
    border-radius: 2px;
    font-family: 'Ma Shan Zheng', 'Noto Serif SC', serif;
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(166, 124, 82, 0.25);
    position: relative;
    overflow: hidden;
}

.fc-submit-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s ease;
}

.fc-submit-btn:hover::before {
    left: 100%;
}

.fc-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(166, 124, 82, 0.35);
}

.fc-submit-btn:active {
    transform: translateY(0);
}

.fc-submit-btn.loading {
    pointer-events: none;
    opacity: 0.85;
}

/* ---- 加载动画 ---- */
.fc-loading {
    text-align: center;
    padding: 80px 20px;
    background: #fffefb;
    border: 1px solid #e8dfd4;
    border-radius: 4px;
}

.fc-spinner {
    width: 44px;
    height: 44px;
    margin: 0 auto 20px;
    border: 2px solid #e8dfd4;
    border-top-color: #a67c52;
    border-radius: 50%;
    animation: fc-spin 0.9s linear infinite;
}

@keyframes fc-spin {
    to { transform: rotate(360deg); }
}

.fc-loading p {
    color: #a67c52;
    font-size: 14px;
    letter-spacing: 3px;
}

/* ---- 结果区 ---- */
.fc-result {
    background: #fffefb;
    border: 1px solid #e8dfd4;
    border-radius: 4px;
    padding: 56px 48px;
    margin-top: 32px;
    box-shadow: 0 8px 40px rgba(92, 64, 51, 0.06);
    animation: fc-fadeIn 0.6s ease;
}

@keyframes fc-fadeIn {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

.fc-result-header {
    text-align: center;
    margin-bottom: 40px;
    padding-bottom: 32px;
    border-bottom: 1px solid #ede6dc;
}

.fc-result-header h3 {
    font-family: 'Ma Shan Zheng', serif;
    font-size: 28px;
    font-weight: 400;
    margin: 0 0 10px;
    letter-spacing: 3px;
    color: #5c4033;
}

.fc-result-header .fc-meta {
    font-size: 13px;
    color: #a67c52;
    letter-spacing: 1px;
}

/* ---- 八字四柱 ---- */
.fc-pillars {
    display: flex;
    justify-content: center;
    gap: 28px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.fc-pillar {
    text-align: center;
    min-width: 76px;
}

.fc-pillar-label {
    font-size: 12px;
    color: #b8a898;
    margin-bottom: 8px;
    letter-spacing: 2px;
}

.fc-pillar-ganzhi {
    font-family: 'Ma Shan Zheng', serif;
    font-size: 32px;
    font-weight: 400;
    color: #5c4033;
    letter-spacing: 3px;
    margin-bottom: 4px;
}

.fc-pillar-detail {
    font-size: 12px;
    color: #a67c52;
    margin-top: 4px;
}

/* ---- 区块标题 ---- */
.fc-section {
    margin-bottom: 36px;
}

.fc-section-title {
    font-family: 'Ma Shan Zheng', serif;
    font-size: 20px;
    font-weight: 400;
    color: #5c4033;
    margin: 0 0 18px;
    padding-left: 14px;
    border-left: 3px solid #a67c52;
    letter-spacing: 3px;
}

/* ---- 五行分布 ---- */
.fc-wuxing-bars {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.fc-wx-item {
    text-align: center;
    min-width: 68px;
}

.fc-wx-icon {
    width: 52px;
    height: 52px;
    line-height: 52px;
    border-radius: 50%;
    margin: 0 auto 8px;
    font-family: 'Ma Shan Zheng', serif;
    font-size: 24px;
    font-weight: 400;
    color: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.fc-wx-label {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 2px;
}

.fc-wx-count {
    font-size: 13px;
    color: #a67c52;
}

.fc-wx-bar-wrap {
    width: 100%;
    height: 5px;
    background: #ede6dc;
    border-radius: 3px;
    margin-top: 8px;
    overflow: hidden;
}

.fc-wx-bar {
    height: 100%;
    border-radius: 3px;
    transition: width 0.8s ease;
}

/* 五行颜色 */
.fc-wx-jin .fc-wx-icon { background: linear-gradient(135deg, #d4c5a9, #b8a898); }
.fc-wx-jin .fc-wx-label { color: #a69680; }
.fc-wx-jin .fc-wx-bar { background: linear-gradient(90deg, #d4c5a9, #b8a898); }

.fc-wx-mu .fc-wx-icon { background: linear-gradient(135deg, #9bb89b, #7a9a7a); }
.fc-wx-mu .fc-wx-label { color: #6b8e6b; }
.fc-wx-mu .fc-wx-bar { background: linear-gradient(90deg, #9bb89b, #7a9a7a); }

.fc-wx-shui .fc-wx-icon { background: linear-gradient(135deg, #8ab4c4, #6a94a8); }
.fc-wx-shui .fc-wx-label { color: #5a8498; }
.fc-wx-shui .fc-wx-bar { background: linear-gradient(90deg, #8ab4c4, #6a94a8); }

.fc-wx-huo .fc-wx-icon { background: linear-gradient(135deg, #d4958a, #b8766a); }
.fc-wx-huo .fc-wx-label { color: #b56e60; }
.fc-wx-huo .fc-wx-bar { background: linear-gradient(90deg, #d4958a, #b8766a); }

.fc-wx-tu .fc-wx-icon { background: linear-gradient(135deg, #c9a96e, #a68b50); }
.fc-wx-tu .fc-wx-label { color: #a68b50; }
.fc-wx-tu .fc-wx-bar { background: linear-gradient(90deg, #c9a96e, #a68b50); }

/* ---- 日主分析 ---- */
.fc-analysis-card {
    background: #faf8f5;
    border: 1px solid #ede6dc;
    border-radius: 2px;
    padding: 22px 26px;
    margin-bottom: 16px;
}

.fc-analysis-card .fc-card-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.fc-card-label {
    font-size: 14px;
    color: #a67c52;
}

.fc-card-value {
    font-family: 'Ma Shan Zheng', serif;
    font-size: 22px;
    font-weight: 400;
    color: #5c4033;
}

.fc-card-badge {
    display: inline-block;
    padding: 4px 18px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
}

.fc-card-badge.strong {
    background: #f5ece4;
    color: #a67c52;
}

.fc-card-badge.weak {
    background: #e8f0f4;
    color: #6a94a8;
}

/* ---- 喜用神 ---- */
.fc-xiyong-tags {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.fc-xiyong-tag {
    display: inline-block;
    padding: 8px 24px;
    border-radius: 2px;
    font-size: 15px;
    font-weight: 500;
    background: #a67c52;
    color: #fff;
    letter-spacing: 3px;
    box-shadow: 0 3px 10px rgba(166, 124, 82, 0.18);
}

/* ---- 水晶产品推荐 ---- */
.fc-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 18px;
}

.fc-product-card {
    background: #fff;
    border: 1px solid #ede6dc;
    border-radius: 2px;
    overflow: hidden;
    transition: all 0.3s ease;
    text-decoration: none;
    color: inherit;
    display: block;
}

.fc-product-card:hover {
    border-color: #d9cfc3;
    box-shadow: 0 6px 24px rgba(92, 64, 51, 0.08);
    transform: translateY(-3px);
}

.fc-product-img {
    width: 100%;
    height: 200px;
    background: #faf8f5;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.fc-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fc-product-img .fc-no-img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Ma Shan Zheng', serif;
    font-size: 28px;
    font-weight: 400;
    color: #fff;
    box-shadow: 0 4px 14px rgba(0,0,0,0.1);
}

.fc-product-info {
    padding: 18px;
}

.fc-product-name {
    font-family: 'Noto Serif SC', serif;
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 8px;
    color: #5c4033;
}

.fc-product-desc {
    font-size: 12px;
    color: #999;
    margin: 0 0 12px;
    line-height: 1.7;
}

.fc-product-price {
    font-size: 15px;
    font-weight: 700;
    color: #a67c52;
}

.fc-product-price .woocommerce-Price-amount {
    font-family: inherit;
}

.fc-product-btn {
    display: inline-block;
    margin-top: 12px;
    padding: 7px 18px;
    border: 1px solid #a67c52;
    border-radius: 2px;
    font-size: 12px;
    color: #a67c52;
    text-decoration: none;
    transition: all 0.3s;
    letter-spacing: 1px;
}

.fc-product-btn:hover {
    background: #a67c52;
    color: #fff;
}

.fc-fallback-badge {
    display: inline-block;
    font-size: 11px;
    color: #a67c52;
    background: #f5ece4;
    padding: 3px 10px;
    border-radius: 2px;
    margin: 12px 12px 0;
}

/* ---- 错误提示 ---- */
.fc-error {
    background: #fffefb;
    border: 1px solid #e8dfd4;
    border-radius: 4px;
    padding: 32px;
    margin-top: 32px;
    text-align: center;
    color: #b8766a;
    font-size: 14px;
}

.fc-error-icon {
    font-size: 32px;
    margin-bottom: 8px;
    color: #d4958a;
}

/* ---- 响应式 ---- */
@media (max-width: 768px) {
    .fc-wrapper {
        padding: 32px 12px;
    }
    .fc-form-container,
    .fc-result {
        padding: 36px 24px;
    }
    .fc-title {
        font-size: 32px;
    }
    .fc-row {
        flex-direction: column;
        gap: 20px;
        margin-bottom: 24px;
    }
    .fc-row-2 .fc-field {
        width: 100%;
    }
    .fc-submit-btn {
        font-size: 20px;
        padding: 16px 24px;
    }
    .fc-pillars {
        gap: 18px;
    }
    .fc-pillar-ganzhi {
        font-size: 26px;
    }
    .fc-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .fc-product-img {
        height: 150px;
    }
}

@media (max-width: 400px) {
    .fc-products-grid {
        grid-template-columns: 1fr;
    }
}

/* ---- 适配 WoodMart/Elementor ---- */
.elementor-widget-shortcode .fc-wrapper {
    max-width: 100%;
}

/* ===== 新增样式 v2 ===== */

/* ---- 城市搜索 ---- */
.fc-location-search {
    position: relative;
}
.fc-location-search .fc-loc-input {
    width: 100%;
    padding: 14px 42px 14px 16px;
    border: 1px solid #d9cfc3;
    border-radius: 2px;
    font-size: 15px;
    color: #4a3f35;
    background: #faf8f5;
    transition: all 0.25s ease;
    box-sizing: border-box;
    font-family: inherit;
}
.fc-location-search .fc-loc-input::placeholder {
    color: #b8a898;
}
.fc-location-search .fc-loc-input:focus {
    outline: none;
    border-color: #a67c52;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(166,124,82,0.08);
}
.fc-loc-search-icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #a67c52;
}
.fc-loc-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    margin-top: 6px;
    max-height: 260px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #e8e0d6;
    border-radius: 4px;
    box-shadow: 0 12px 32px rgba(74,63,53,0.1);
    z-index: 9999;
    display: none;
}
.fc-loc-dropdown.active {
    display: block;
}
.fc-loc-item {
    padding: 12px 16px;
    cursor: pointer;
    border-bottom: 1px solid #f2ede8;
    transition: background 0.15s;
}
.fc-loc-item:last-child {
    border-bottom: none;
}
.fc-loc-item:hover,
.fc-loc-item.active {
    background: #faf6f0;
}
.fc-loc-item-name {
    font-size: 15px;
    color: #4a3f35;
    font-weight: 500;
}
.fc-loc-item-meta {
    font-size: 12px;
    color: #a67c52;
    margin-top: 3px;
}
.fc-loc-hint {
    font-size: 12px;
    color: #a67c52;
    margin-top: 8px;
    min-height: 18px;
}
.fc-loc-hint strong {
    color: #5c4033;
    font-weight: 600;
}

/* ---- 日期选择器（flatpickr） ---- */
.fc-date-wrap input[type="text"] {
    padding-right: 46px;
    cursor: pointer;
    background: #faf8f5;
}
.fc-date-icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #a67c52;
}

/* flatpickr 棕色新中式主题 */
.flatpickr-calendar {
    border: 1px solid #e8e0d6;
    border-radius: 8px;
    box-shadow: 0 16px 40px rgba(74,63,53,0.12);
    font-family: 'Noto Serif SC', 'PingFang SC', 'Microsoft YaHei', serif;
    background: #fff;
}
.flatpickr-months {
    background: #faf6f0;
    border-radius: 8px 8px 0 0;
    padding: 4px 0;
}
.flatpickr-months .flatpickr-month {
    color: #4a3f35;
    height: 40px;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    fill: #a67c52;
    top: 8px;
}
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
    fill: #8b6914;
}
.flatpickr-current-month {
    font-size: 15px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year,
.flatpickr-current-month select.cur-year {
    color: #4a3f35;
    font-weight: 500;
    border: 1px solid #e8e0d6;
    border-radius: 4px;
    background: #fff;
    padding: 2px 4px;
    font-family: inherit;
}
.flatpickr-current-month select.cur-year {
    appearance: auto;
    -webkit-appearance: auto;
    padding-right: 18px;
    cursor: pointer;
    max-width: 76px;
    text-align: center;
}
.flatpickr-weekdays {
    background: #fff;
}
.flatpickr-weekday {
    color: #a67c52;
    font-weight: 600;
    font-size: 12px;
}
.flatpickr-days {
    background: #fff;
}
.flatpickr-day {
    color: #4a3f35;
    font-size: 14px;
    border-radius: 50%;
    margin: 2px;
    width: 34px;
    height: 34px;
    line-height: 34px;
}
.flatpickr-day.today {
    border: 1px solid #a67c52;
    color: #a67c52;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: #a67c52;
    border-color: #a67c52;
    color: #fff;
}
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
    background: #8b6914;
    border-color: #8b6914;
    color: #fff;
}
.flatpickr-day:hover {
    background: #f5ece4;
    color: #4a3f35;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed {
    color: #c4b8ad;
}
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
    background: transparent;
}
.flatpickr-time {
    border-top: 1px solid #f2ede8;
}
.numInputWrapper span.arrowUp:after {
    border-bottom-color: #a67c52;
}
.numInputWrapper span.arrowDown:after {
    border-top-color: #a67c52;
}

/* ---- 四柱主星 ---- */
.fc-pillar-zhuxing {
    font-size: 11px;
    color: #a67c52;
    margin-top: 2px;
    letter-spacing: 1px;
    background: #f5ece4;
    display: inline-block;
    padding: 1px 10px;
    border-radius: 10px;
}

/* ---- 推荐副标题 ---- */
.fc-recommend-sub {
    font-size: 13px;
    color: #a67c52;
    margin-bottom: 16px;
}
.fc-recommend-sub strong {
    color: #5c4033;
}

/* ---- 2款产品网格 ---- */
.fc-products-2up {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

/* ---- 分类标签 ---- */
.fc-cat-badge {
    display: inline-block;
    font-size: 11px;
    color: #fff;
    background: #a67c52;
    padding: 3px 10px;
    border-radius: 2px;
    margin: 12px 12px 0;
    letter-spacing: 1px;
}

/* ---- 响应式：搜索和2款产品 ---- */
@media (max-width: 768px) {
    .fc-products-2up {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   Premium refresh — quiet fortune boutique
   ============================================================ */

#fc-app.fc-wrapper {
    max-width: 1180px !important;
    padding: 58px 28px 76px !important;
    color: #2f2923 !important;
    background:
        linear-gradient(180deg, rgba(250, 247, 241, 0.96), rgba(255, 253, 248, 0.98)),
        repeating-linear-gradient(90deg, rgba(151, 121, 83, 0.035) 0 1px, transparent 1px 36px) !important;
    border-left: 1px solid rgba(166, 124, 82, 0.12);
    border-right: 1px solid rgba(166, 124, 82, 0.12);
}

#fc-app .fc-form-container,
#fc-app .fc-result {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
    padding: 64px 72px !important;
    border: 1px solid rgba(166, 124, 82, 0.22) !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, rgba(255, 254, 251, 0.96), rgba(250, 247, 241, 0.92)), #fffdfa !important;
    box-shadow: 0 28px 70px rgba(47, 41, 35, 0.08) !important;
}

#fc-app .fc-brand-header { margin-bottom: 42px !important; }
#fc-app .fc-brand-mark { width: 58px !important; height: 58px !important; margin-bottom: 20px !important; }
#fc-app .fc-mark-square { border-color: #b48a5f !important; }
#fc-app .fc-mark-text { color: #9d7147 !important; }
#fc-app .fc-title {
    font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif !important;
    font-size: clamp(34px, 4.6vw, 58px) !important;
    line-height: 1.02 !important;
    color: #2e2520 !important;
    letter-spacing: 5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}
#fc-app .fc-subtitle { color: #9d7147 !important; letter-spacing: 7px !important; }
#fc-app .fc-title-line { width: 92px !important; background: linear-gradient(90deg, transparent, #b48a5f, #7f9f83, transparent) !important; }
#fc-app .fc-form { max-width: 620px !important; }
#fc-app .fc-row { gap: 24px !important; margin-bottom: 24px !important; }
#fc-app .fc-field label { color: #6d543f !important; font-size: 14px !important; letter-spacing: 1px !important; }

#fc-app .fc-field input,
#fc-app .fc-field select,
#fc-app .fc-loc-input {
    height: 50px !important;
    border-radius: 8px !important;
    border-color: rgba(166, 124, 82, 0.28) !important;
    background: rgba(255, 253, 248, 0.86) !important;
    color: #2f2923 !important;
    font-size: 14px !important;
}

#fc-app .fc-field input:focus,
#fc-app .fc-field select:focus,
#fc-app .fc-loc-input:focus {
    border-color: #9d7147 !important;
    box-shadow: 0 0 0 4px rgba(127, 159, 131, 0.14) !important;
}

#fc-app .fc-gender-group { gap: 10px !important; }

#fc-app .fc-gender-btn,
#fc-app .fc-intent-btn {
    border: 1px solid rgba(166, 124, 82, 0.28) !important;
    border-radius: 8px !important;
    background: rgba(255, 253, 248, 0.9) !important;
    color: #5f4a38 !important;
    transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
}

#fc-app .fc-gender-btn:hover,
#fc-app .fc-intent-btn:hover {
    transform: translateY(-1px);
    border-color: #9d7147 !important;
}

#fc-app .fc-gender-btn.active,
#fc-app .fc-intent-btn.active {
    color: #fffdfa !important;
    border-color: #85611d !important;
    background: linear-gradient(135deg, #84621f, #b08452) !important;
    box-shadow: 0 10px 22px rgba(132, 98, 31, 0.18) !important;
}

#fc-app .fc-intent-group {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

#fc-app .fc-intent-btn {
    min-height: 42px;
    padding: 0 10px;
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;
}

#fc-app .fc-submit-btn {
    max-width: 100% !important;
    height: 54px !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #85611d 0%, #b08452 52%, #7f9f83 120%) !important;
    color: #fffdfa !important;
    letter-spacing: 4px !important;
    box-shadow: 0 16px 28px rgba(132, 98, 31, 0.18) !important;
}

#fc-app .fc-result-header {
    margin-bottom: 30px !important;
    border-bottom: 1px solid rgba(166, 124, 82, 0.18) !important;
}

#fc-app .fc-result-kicker {
    margin-bottom: 8px;
    color: #9d7147;
    font-size: 12px;
    letter-spacing: 5px;
}

#fc-app .fc-result-header h3 { font-size: 34px !important; color: #32231d !important; }
#fc-app .fc-meta { color: #92755d !important; }

#fc-app .fc-oracle-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 0 auto 46px;
    padding: 28px 34px;
    border: 1px solid rgba(166, 124, 82, 0.18);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(250, 247, 241, 0.92), rgba(255, 253, 248, 0.95));
}

#fc-app .fc-oracle-main span {
    display: block;
    margin-bottom: 6px;
    color: #9d7147;
    font-size: 12px;
    letter-spacing: 4px;
}

#fc-app .fc-oracle-main strong {
    display: block;
    color: #2f2923;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 1px;
}

#fc-app .fc-oracle-main p {
    max-width: 720px;
    margin: 12px 0 0;
    color: #6a5848;
    font-size: 14px;
    line-height: 1.9;
}

#fc-app .fc-oracle-seal {
    flex: 0 0 auto;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #b76d56;
    color: #b76d56;
    font-family: 'Ma Shan Zheng', serif;
    font-size: 30px;
    transform: rotate(-6deg);
}

#fc-app .fc-pillars { gap: 18px !important; margin-bottom: 48px !important; }
#fc-app .fc-pillar {
    min-width: 132px !important;
    padding: 20px 16px;
    border: 1px solid rgba(166, 124, 82, 0.14);
    border-radius: 8px;
    background: rgba(255, 253, 248, 0.66);
}
#fc-app .fc-pillar-ganzhi { color: #32231d !important; }
#fc-app .fc-pillar-zhuxing { background: rgba(127, 159, 131, 0.14) !important; color: #5b7a61 !important; }
#fc-app .fc-section { margin-bottom: 44px !important; }
#fc-app .fc-section-title { border-left-color: #9d7147 !important; color: #32231d !important; font-size: 22px !important; }
#fc-app .fc-wuxing-bars { gap: 18px !important; }
#fc-app .fc-wx-item { min-width: 112px !important; padding: 16px 14px; border-radius: 8px; background: rgba(255, 253, 248, 0.72); }

#fc-app .fc-analysis-card {
    border-radius: 8px !important;
    border-color: rgba(166, 124, 82, 0.16) !important;
    background: rgba(255, 253, 248, 0.76) !important;
}

#fc-app .fc-analysis-note { color: #6a5848 !important; font-size: 14px !important; line-height: 1.9 !important; }
#fc-app .fc-xiyong-tag { border-radius: 999px !important; box-shadow: none !important; }
#fc-app .fc-recommend-sub { max-width: 760px; color: #7a6654 !important; font-size: 14px !important; line-height: 1.9; }

#fc-app .fc-products-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

#fc-app .fc-product-card {
    position: relative;
    border-radius: 8px !important;
    border-color: rgba(166, 124, 82, 0.18) !important;
    background: #fffdfa !important;
    box-shadow: 0 12px 34px rgba(47, 41, 35, 0.06);
}

#fc-app .fc-product-card:hover {
    border-color: rgba(157, 113, 71, 0.46) !important;
    box-shadow: 0 22px 44px rgba(47, 41, 35, 0.11) !important;
}

#fc-app .fc-product-img {
    height: 210px !important;
    background: linear-gradient(135deg, rgba(250, 247, 241, 0.94), rgba(240, 235, 227, 0.86)) !important;
}

#fc-app .fc-product-badges {
    min-height: 118px;
    padding: 14px 16px 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    background: linear-gradient(180deg, rgba(255,253,248,.96), rgba(255,253,248,.82));
}

#fc-app .fc-cat-badge,
#fc-app .fc-product-type,
#fc-app .fc-fallback-badge {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    border-radius: 999px !important;
    padding: 5px 14px !important;
    font-size: 12px !important;
    line-height: 1.2;
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
    letter-spacing: .04em;
}

#fc-app .fc-cat-badge { background: #8b631f !important; color: #fffdfa !important; }
#fc-app .fc-fallback-badge { background: #f5ece4 !important; color: #b08452 !important; }
#fc-app .fc-product-type { background: rgba(127, 159, 131, 0.14); color: #5b7a61; }
#fc-app .fc-product-info { padding: 20px !important; }
#fc-app .fc-product-name { color: #2f2923 !important; font-size: 16px !important; }
#fc-app .fc-product-desc { color: #8a7665 !important; }

#fc-app .fc-product-reason {
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px solid rgba(166, 124, 82, 0.14);
    color: #5f4a38;
    font-size: 12px;
    line-height: 1.8;
}

#fc-app .fc-product-price { margin-top: 14px; color: #85611d !important; }
#fc-app .fc-product-btn { border-radius: 999px !important; border-color: #85611d !important; color: #85611d !important; }
#fc-app .fc-product-btn:hover { background: #85611d !important; color: #fffdfa !important; }
#fc-app #fc-recalc { max-width: 220px !important; font-size: 16px !important; }

@media (max-width: 1024px) {
    #fc-app .fc-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    #fc-app.fc-wrapper { padding: 28px 14px 46px !important; }
    #fc-app .fc-form-container,
    #fc-app .fc-result { padding: 36px 20px !important; }
    #fc-app .fc-row { display: block !important; }
    #fc-app .fc-field { margin-bottom: 18px; }
    #fc-app .fc-intent-group { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    #fc-app .fc-oracle-summary { display: block; padding: 22px; }
    #fc-app .fc-oracle-seal { margin-top: 18px; }
    #fc-app .fc-products-grid { grid-template-columns: 1fr !important; }
}

/* ---- Divination reveal motion ---- */
#fc-app .fc-loading {
    max-width: 680px;
    margin: 32px auto 0;
    padding: 58px 28px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(166, 124, 82, 0.2) !important;
    background:
        radial-gradient(circle at 50% 34%, rgba(180, 138, 95, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(255, 254, 251, 0.96), rgba(250, 247, 241, 0.92)) !important;
    box-shadow: 0 26px 64px rgba(47, 41, 35, 0.08);
}

#fc-app .fc-divination-stage {
    position: relative;
    width: 172px;
    height: 172px;
    margin: 0 auto 28px;
}

#fc-app .fc-orbit {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgba(166, 124, 82, 0.28);
}

#fc-app .fc-orbit::before,
#fc-app .fc-orbit::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #b08452;
    box-shadow: 0 0 0 5px rgba(176, 132, 82, 0.12);
}

#fc-app .fc-orbit::before {
    top: -4px;
    left: 50%;
}

#fc-app .fc-orbit::after {
    bottom: -4px;
    left: 50%;
}

#fc-app .fc-orbit-outer {
    animation: fc-orbit-spin 5.6s linear infinite;
}

#fc-app .fc-orbit-middle {
    inset: 22px;
    border-style: dashed;
    animation: fc-orbit-spin-reverse 7.5s linear infinite;
}

#fc-app .fc-orbit-inner {
    inset: 44px;
    border-color: rgba(127, 159, 131, 0.36);
    animation: fc-orbit-breathe 2.8s ease-in-out infinite;
}

#fc-app .fc-compass-core {
    position: absolute;
    inset: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(183, 109, 86, 0.55);
    color: #b76d56;
    background: rgba(255, 253, 248, 0.9);
    font-family: 'Ma Shan Zheng', serif;
    font-size: 32px;
    transform: rotate(45deg);
    box-shadow: 0 12px 28px rgba(47, 41, 35, 0.08);
}

#fc-app .fc-compass-core span {
    display: inline-block;
    transform: rotate(-45deg);
}

#fc-app .fc-compass-points span {
    position: absolute;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fffdfa;
    font-family: 'Ma Shan Zheng', serif;
    font-size: 18px;
    animation: fc-point-pulse 1.8s ease-in-out infinite;
}

#fc-app .fc-compass-points span:nth-child(1) { left: 69px; top: -9px; background: #c6b690; animation-delay: 0s; }
#fc-app .fc-compass-points span:nth-child(2) { right: -2px; top: 52px; background: #7f9f83; animation-delay: .18s; }
#fc-app .fc-compass-points span:nth-child(3) { right: 24px; bottom: 0; background: #6fa6bb; animation-delay: .36s; }
#fc-app .fc-compass-points span:nth-child(4) { left: 24px; bottom: 0; background: #c8786b; animation-delay: .54s; }
#fc-app .fc-compass-points span:nth-child(5) { left: -2px; top: 52px; background: #b8904f; animation-delay: .72s; }

#fc-app .fc-loading-title {
    margin: 0 0 14px !important;
    color: #32231d !important;
    font-family: 'Ma Shan Zheng', serif;
    font-size: 28px !important;
    letter-spacing: 5px !important;
}

#fc-app .fc-loading-steps {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

#fc-app .fc-loading-steps span {
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(166, 124, 82, 0.16);
    color: #9f8c7b;
    background: rgba(255, 253, 248, 0.74);
    font-size: 12px;
    transition: all .28s ease;
}

#fc-app .fc-loading-steps span.active {
    color: #fffdfa;
    border-color: #b08452;
    background: linear-gradient(135deg, #85611d, #b08452);
    box-shadow: 0 8px 18px rgba(132, 98, 31, 0.16);
}

#fc-app .fc-loading-steps span.complete {
    color: #5b7a61;
    border-color: rgba(127, 159, 131, 0.22);
    background: rgba(127, 159, 131, 0.12);
}

#fc-app .fc-loading-complete .fc-compass-core {
    animation: fc-seal-land .52s ease both;
}

#fc-app .fc-result .fc-result-header,
#fc-app .fc-result .fc-oracle-summary,
#fc-app .fc-result .fc-pillars,
#fc-app .fc-result .fc-section,
#fc-app .fc-result #fc-recalc {
    opacity: 0;
    transform: translateY(18px);
}

#fc-app .fc-result.fc-result-ready .fc-result-header,
#fc-app .fc-result.fc-result-ready .fc-oracle-summary,
#fc-app .fc-result.fc-result-ready .fc-pillars,
#fc-app .fc-result.fc-result-ready .fc-section,
#fc-app .fc-result.fc-result-ready #fc-recalc {
    animation: fc-report-rise .72s cubic-bezier(.2, .8, .2, 1) both;
}

#fc-app .fc-result.fc-result-ready .fc-oracle-summary { animation-delay: .08s; }
#fc-app .fc-result.fc-result-ready .fc-pillars { animation-delay: .16s; }
#fc-app .fc-result.fc-result-ready .fc-section:nth-of-type(1) { animation-delay: .24s; }
#fc-app .fc-result.fc-result-ready .fc-section:nth-of-type(2) { animation-delay: .32s; }
#fc-app .fc-result.fc-result-ready .fc-section:nth-of-type(3) { animation-delay: .40s; }
#fc-app .fc-result.fc-result-ready .fc-section:nth-of-type(4) { animation-delay: .48s; }
#fc-app .fc-result.fc-result-ready #fc-recalc { animation-delay: .56s; }

#fc-app .fc-result.fc-result-ready .fc-pillar,
#fc-app .fc-result.fc-result-ready .fc-product-card {
    animation: fc-card-land .66s cubic-bezier(.2, .8, .2, 1) both;
}

#fc-app .fc-result.fc-result-ready .fc-pillar:nth-child(1),
#fc-app .fc-result.fc-result-ready .fc-product-card:nth-child(1) { animation-delay: .2s; }
#fc-app .fc-result.fc-result-ready .fc-pillar:nth-child(2),
#fc-app .fc-result.fc-result-ready .fc-product-card:nth-child(2) { animation-delay: .28s; }
#fc-app .fc-result.fc-result-ready .fc-pillar:nth-child(3),
#fc-app .fc-result.fc-result-ready .fc-product-card:nth-child(3) { animation-delay: .36s; }
#fc-app .fc-result.fc-result-ready .fc-pillar:nth-child(4),
#fc-app .fc-result.fc-result-ready .fc-product-card:nth-child(4) { animation-delay: .44s; }

@keyframes fc-orbit-spin {
    to { transform: rotate(360deg); }
}

@keyframes fc-orbit-spin-reverse {
    to { transform: rotate(-360deg); }
}

@keyframes fc-orbit-breathe {
    0%, 100% { transform: scale(.96); opacity: .62; }
    50% { transform: scale(1.04); opacity: 1; }
}

@keyframes fc-point-pulse {
    0%, 100% { transform: scale(.92); opacity: .72; }
    50% { transform: scale(1.08); opacity: 1; }
}

@keyframes fc-seal-land {
    0% { transform: rotate(45deg) scale(1); }
    55% { transform: rotate(45deg) scale(1.12); }
    100% { transform: rotate(45deg) scale(1); box-shadow: 0 0 0 10px rgba(183, 109, 86, 0.08); }
}

@keyframes fc-report-rise {
    from { opacity: 0; transform: translateY(18px); filter: blur(5px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes fc-card-land {
    from { opacity: 0; transform: translateY(16px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    #fc-app .fc-orbit,
    #fc-app .fc-compass-points span,
    #fc-app .fc-loading-complete .fc-compass-core,
    #fc-app .fc-result.fc-result-ready .fc-result-header,
    #fc-app .fc-result.fc-result-ready .fc-oracle-summary,
    #fc-app .fc-result.fc-result-ready .fc-pillars,
    #fc-app .fc-result.fc-result-ready .fc-section,
    #fc-app .fc-result.fc-result-ready #fc-recalc,
    #fc-app .fc-result.fc-result-ready .fc-pillar,
    #fc-app .fc-result.fc-result-ready .fc-product-card {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
}

/* ---- Refined pickers: shichen and date ---- */
#fc-app .fc-shichen-picker {
    position: relative;
}

#fc-app .fc-native-shichen {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

#fc-app .fc-shichen-trigger {
    width: 100%;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 44px 10px 16px;
    border: 1px solid rgba(166, 124, 82, 0.28);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 253, 248, 0.96), rgba(250, 247, 241, 0.78));
    color: #2f2923;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    position: relative;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

#fc-app .fc-shichen-trigger::after {
    content: "";
    position: absolute;
    right: 17px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid #9d7147;
    border-bottom: 1.5px solid #9d7147;
    transform: translateY(-65%) rotate(45deg);
    transition: transform .22s ease;
}

#fc-app .fc-shichen-picker.active .fc-shichen-trigger::after {
    transform: translateY(-25%) rotate(225deg);
}

#fc-app .fc-shichen-trigger:hover,
#fc-app .fc-shichen-trigger:focus {
    outline: none;
    border-color: #9d7147;
    box-shadow: 0 0 0 4px rgba(127, 159, 131, 0.14);
}

#fc-app .fc-shichen-main {
    display: block;
    color: #32231d;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1px;
}

#fc-app .fc-shichen-sub {
    display: block;
    margin-top: 2px;
    color: #9f8c7b;
    font-size: 12px;
    letter-spacing: 0;
}

#fc-app .fc-shichen-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    z-index: 10020;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 14px;
    border: 1px solid rgba(166, 124, 82, 0.24);
    border-radius: 12px;
    background:
        radial-gradient(circle at 18% 0%, rgba(176, 132, 82, 0.1), transparent 28%),
        linear-gradient(180deg, rgba(255, 254, 251, 0.98), rgba(250, 247, 241, 0.98));
    box-shadow: 0 22px 54px rgba(47, 41, 35, 0.14);
    opacity: 0;
    transform: translateY(-8px) scale(.98);
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}

#fc-app .fc-shichen-picker.active .fc-shichen-menu {
    opacity: 1;
    transform: translateY(0) scale(1);
    visibility: visible;
    pointer-events: auto;
}

#fc-app .fc-shichen-option {
    min-height: 64px;
    padding: 10px 8px;
    border: 1px solid rgba(166, 124, 82, 0.14);
    border-radius: 9px;
    background: rgba(255, 253, 248, 0.78);
    color: #5f4a38;
    font-family: inherit;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

#fc-app .fc-shichen-option:hover,
#fc-app .fc-shichen-option:focus {
    outline: none;
    transform: translateY(-1px);
    border-color: rgba(157, 113, 71, 0.48);
    background: #fffdfa;
    box-shadow: 0 10px 20px rgba(47, 41, 35, 0.08);
}

#fc-app .fc-shichen-option.selected {
    border-color: #8b631f;
    background: linear-gradient(135deg, #85611d, #b08452);
    color: #fffdfa;
    box-shadow: 0 12px 24px rgba(132, 98, 31, 0.18);
}

#fc-app .fc-shichen-name {
    display: block;
    font-family: 'Ma Shan Zheng', 'Noto Serif SC', serif;
    font-size: 20px;
    letter-spacing: 2px;
}

#fc-app .fc-shichen-time {
    display: block;
    margin-top: 2px;
    font-size: 11px;
    color: inherit;
    opacity: .78;
}

.flatpickr-calendar {
    width: 338px !important;
    padding: 12px !important;
    border: 1px solid rgba(166, 124, 82, 0.22) !important;
    border-radius: 14px !important;
    background:
        radial-gradient(circle at 18% 0%, rgba(176, 132, 82, 0.1), transparent 28%),
        linear-gradient(180deg, rgba(255, 254, 251, 0.98), rgba(250, 247, 241, 0.98)) !important;
    box-shadow: 0 24px 60px rgba(47, 41, 35, 0.16) !important;
}

.flatpickr-calendar::before,
.flatpickr-calendar::after {
    display: none !important;
}

.flatpickr-months {
    background: transparent !important;
    border-bottom: 1px solid rgba(166, 124, 82, 0.14);
    margin-bottom: 8px;
    padding-bottom: 10px !important;
}

.flatpickr-current-month {
    height: 40px !important;
    padding-top: 0 !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year,
.flatpickr-current-month select.cur-year {
    height: 34px !important;
    border-radius: 999px !important;
    border-color: rgba(166, 124, 82, 0.22) !important;
    background: rgba(255, 253, 248, 0.78) !important;
    color: #32231d !important;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    top: 16px !important;
    width: 32px !important;
    height: 32px !important;
    padding: 8px !important;
    border-radius: 50%;
    background: rgba(166, 124, 82, 0.08);
    fill: #9d7147 !important;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
    background: rgba(127, 159, 131, 0.14);
    fill: #5b7a61 !important;
}

.flatpickr-weekdays {
    height: 34px !important;
}

.flatpickr-weekday {
    color: #9d7147 !important;
    font-size: 12px !important;
}

.flatpickr-day {
    width: 38px !important;
    height: 38px !important;
    line-height: 38px !important;
    border-radius: 12px !important;
    color: #4a3f35 !important;
    margin: 1px !important;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.flatpickr-day:hover {
    transform: translateY(-1px);
    background: rgba(127, 159, 131, 0.14) !important;
    color: #2f2923 !important;
}

.flatpickr-day.today {
    border-color: rgba(183, 109, 86, 0.5) !important;
    color: #b76d56 !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: linear-gradient(135deg, #85611d, #b08452) !important;
    border-color: #85611d !important;
    color: #fffdfa !important;
    box-shadow: 0 8px 18px rgba(132, 98, 31, 0.18);
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.notAllowed {
    color: #c8baae !important;
}

@media (max-width: 768px) {
    #fc-app .fc-shichen-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .flatpickr-calendar {
        width: min(338px, calc(100vw - 28px)) !important;
    }
}

/* ---- Homepage fortune unlock panel ---- */
.fc-home-panel {
    position: relative;
    max-width: 1320px;
    margin: 0 auto 44px;
    padding: 36px 34px 34px;
    overflow: hidden;
    color: #2f2923;
    font-family: 'Noto Serif SC', 'SimSun', 'Songti SC', 'PingFang SC', 'Microsoft YaHei', serif;
    background:
        radial-gradient(circle at 10% 0%, rgba(176, 132, 82, 0.1), transparent 26%),
        radial-gradient(circle at 88% 12%, rgba(127, 159, 131, 0.12), transparent 26%),
        linear-gradient(180deg, rgba(255, 254, 251, 0.96), rgba(250, 247, 241, 0.94)) padding-box,
        linear-gradient(135deg, rgba(217, 194, 154, 0.72), rgba(255, 250, 240, 0.88) 32%, rgba(184, 199, 170, 0.62) 66%, rgba(213, 181, 130, 0.68)) border-box;
    border: 1.5px solid transparent;
    border-radius: 30px;
    box-shadow: 0 22px 58px rgba(47, 41, 35, 0.08), inset 0 1px 0 rgba(255,255,255,.72);
}

.fc-home-head {
    display: grid;
    grid-template-columns: 1fr auto auto auto 1fr;
    align-items: center;
    gap: 14px;
    text-align: center;
    margin-bottom: 22px;
}

.fc-home-line {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(166, 124, 82, 0.3));
}

.fc-home-head .fc-home-line:last-child {
    background: linear-gradient(90deg, rgba(166, 124, 82, 0.3), transparent);
}

.fc-home-cloud {
    color: #b08452;
    font-size: 24px;
    opacity: .68;
}

.fc-home-kicker {
    margin: 0 0 2px;
    color: #32231d;
    font-size: 13px;
    letter-spacing: 7px;
}

.fc-home-head h2 {
    margin: 0;
    color: #2f2923;
    font-family: 'Ma Shan Zheng', 'Noto Serif SC', serif;
    font-size: 34px;
    font-weight: 400;
    letter-spacing: 8px;
}

.fc-home-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.fc-home-card {
    min-height: 214px;
    padding: 22px 22px 20px;
    border: 1px solid rgba(166, 124, 82, 0.18);
    border-radius: 12px;
    background: rgba(255, 253, 248, 0.72);
    box-shadow: 0 16px 40px rgba(47, 41, 35, 0.06);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    display: flex;
    flex-direction: column;
}

.fc-home-panel-unlocked .fc-home-card:hover {
    transform: translateY(-3px);
    border-color: rgba(157, 113, 71, 0.42);
    box-shadow: 0 24px 46px rgba(47, 41, 35, 0.1);
}

.fc-home-icon {
    width: 70px;
    height: 70px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: left;
    margin: 0 18px 12px 0;
    border-radius: 50%;
    color: #fffdfa;
    font-family: 'Ma Shan Zheng', 'Noto Serif SC', serif;
    font-size: 30px;
    box-shadow: inset 0 0 0 6px rgba(255,255,255,.34), 0 12px 24px rgba(47,41,35,.1);
}

.fc-home-card-career .fc-home-icon { background: linear-gradient(135deg, #708f75, #9fb69e); }
.fc-home-card-wealth .fc-home-icon { background: linear-gradient(135deg, #c39b58, #e0c38e); }
.fc-home-card-love .fc-home-icon { background: linear-gradient(135deg, #c8787f, #e9b2b8); }
.fc-home-card-lucky .fc-home-icon { background: linear-gradient(135deg, #8d9b86, #c2cbb6); }

.fc-home-card h3 {
    margin: 4px 0 8px;
    color: #2f2923;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 2px;
}

.fc-home-stars {
    clear: right;
    color: rgba(176, 132, 82, 0.32);
    font-size: 22px;
    letter-spacing: 2px;
    line-height: 1.2;
}

.fc-home-stars .filled {
    color: #c79b58;
    text-shadow: 0 2px 10px rgba(199, 155, 88, 0.18);
}

.fc-home-status {
    clear: both;
    margin: 22px 0 8px;
    padding-top: 12px;
    border-top: 1px solid rgba(166, 124, 82, 0.16);
    color: #5f4a38;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.fc-home-status span,
.fc-home-lucky-row span {
    display: inline-flex;
    margin-left: 0;
    padding: 2px 10px;
    min-height: 26px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(127, 159, 131, 0.14);
    color: #5b7a61;
    font-weight: 500;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.fc-home-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
    color: #5f4a38;
    font-size: 14px;
    line-height: 1.9;
}

.fc-home-card li::before {
    content: "✓";
    margin-right: 8px;
    color: #7f9f83;
    font-weight: 700;
}

.fc-home-lucky-row {
    clear: both;
    margin: 12px 0;
    color: #5f4a38;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.fc-home-card-lucky .fc-home-lucky-row:first-of-type {
    margin-top: 22px;
    padding-top: 12px;
    border-top: 1px solid rgba(166, 124, 82, 0.16);
}

.fc-home-lock {
    position: absolute;
    inset: 18px;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    z-index: 4;
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 36%, rgba(255, 253, 248, 0.62), rgba(250, 247, 241, 0.28)),
        rgba(255, 253, 248, 0.18);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.fc-home-panel-locked .fc-home-lock {
    display: flex;
}

.fc-home-panel-locked .fc-home-grid,
.fc-home-panel-locked .fc-home-head {
    filter: blur(2px);
    opacity: .72;
    transform: scale(.995);
}

.fc-home-lock-seal {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    border: 2px solid #b76d56;
    color: #b76d56;
    background: rgba(255,253,248,.84);
    font-family: 'Ma Shan Zheng', 'Noto Serif SC', serif;
    font-size: 32px;
    transform: rotate(-8deg);
}

.fc-home-lock strong {
    color: #2f2923;
    font-size: 22px;
    letter-spacing: 2px;
}

.fc-home-lock p {
    max-width: 460px;
    margin: 10px 0 18px;
    color: #6a5848;
    font-size: 14px;
}

.fc-home-lock-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 156px;
    height: 42px;
    padding: 0 22px;
    border-radius: 999px;
    background: linear-gradient(135deg, #85611d, #b08452);
    color: #fffdfa !important;
    text-decoration: none !important;
    font-size: 14px;
    letter-spacing: 2px;
    box-shadow: 0 14px 28px rgba(132, 98, 31, 0.18);
}

.fc-home-panel-unlocked {
    animation: fc-home-unlock .62s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes fc-home-unlock {
    from { opacity: .82; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1024px) {
    .fc-home-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .fc-home-panel {
        padding: 28px 16px;
    }

    .fc-home-head {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .fc-home-line,
    .fc-home-cloud {
        display: none;
    }

    .fc-home-grid {
        grid-template-columns: 1fr;
    }

    .fc-home-lock {
        inset: 10px;
        padding: 22px;
        border-radius: 20px;
    }
}

/* ---- S-curve crystal product path ---- */
.fc-product-path {
    width: min(1420px, calc(100vw - 36px));
    max-width: none;
    margin: 76px 0;
    padding: 22px 18px 42px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
    color: #2f2923;
    font-family: 'Noto Serif SC', 'SimSun', 'Songti SC', 'PingFang SC', 'Microsoft YaHei', serif;
    background:
        radial-gradient(circle at 82% 8%, rgba(126, 148, 126, .16), transparent 30%),
        radial-gradient(circle at 12% 86%, rgba(176, 132, 82, .12), transparent 32%),
        linear-gradient(180deg, rgba(255, 253, 248, .42), rgba(250, 246, 240, .08));
    border-radius: 0;
}

.fc-path-header {
    max-width: 960px;
    margin: 0 auto 24px;
    text-align: center;
}

.fc-path-header p {
    margin: 0 0 6px;
    color: #9d7147;
    font-size: 12px;
    letter-spacing: 7px;
}

.fc-path-header h2 {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    color: #2f2923;
    font-size: 38px;
    font-weight: 700;
    letter-spacing: 1px;
}

.fc-path-header h2 span {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: linear-gradient(135deg, #d9bd73, #b08452);
    box-shadow: 0 8px 18px rgba(176, 132, 82, .2);
}

.fc-path-header > div {
    max-width: 700px;
    margin: 16px auto 0;
    color: rgba(74, 63, 53, .68);
    font-size: 14px;
    line-height: 1.85;
}

.fc-path-stage {
    position: relative;
    min-height: 1060px;
    margin-top: 4px;
}

.fc-path-ribbon {
    position: absolute;
    left: 50%;
    top: 70px;
    width: 520px;
    height: 910px;
    transform: translateX(-50%) rotate(45deg);
    border-radius: 280px;
    background: rgba(47, 41, 35, 0.065);
    box-shadow: none;
}

.fc-path-ribbon::before,
.fc-path-ribbon::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 253, 248, 0.66);
}

.fc-path-ribbon::before {
    box-shadow: inset 0 0 0 1px rgba(126, 148, 126, .06);
}

.fc-path-ribbon::before {
    width: 360px;
    height: 360px;
    left: -118px;
    top: 262px;
}

.fc-path-ribbon::after {
    width: 360px;
    height: 360px;
    right: -118px;
    bottom: 14px;
}

.fc-path-item {
    position: absolute;
    left: 50%;
    width: min(1160px, 100%);
    min-height: 300px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;
    gap: 64px;
    align-items: center;
    transform: translateX(-50%);
}

.fc-path-item-1 { top: 52px; }
.fc-path-item-2 { top: 390px; grid-template-columns: 390px minmax(0, 1fr); }
.fc-path-item-3 { top: 730px; }
.fc-path-item-2 .fc-path-copy { grid-column: 2; }
.fc-path-item-2 .fc-path-orb { grid-column: 1; grid-row: 1; }

.fc-path-copy {
    max-width: 460px;
    padding: 0;
    z-index: 2;
    border-left: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.fc-path-item-1 .fc-path-copy,
.fc-path-item-3 .fc-path-copy {
    justify-self: end;
}

.fc-path-item-2 .fc-path-copy {
    justify-self: start;
}

.fc-path-copy > span:not(.fc-path-placeholder-btn) {
    display: inline-block;
    margin-bottom: 8px;
    color: #9d7147;
    font-size: 12px;
    letter-spacing: 4px;
}

.fc-path-copy h3 {
    margin: 0 0 18px;
    color: #2f2923;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
    text-shadow: 0 10px 26px rgba(74, 63, 53, .08);
}

.fc-path-copy p {
    margin: 0 0 18px;
    color: #6a5848;
    font-size: 15px;
    line-height: 1.85;
}

.fc-path-copy a,
.fc-path-placeholder-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 118px;
    height: 38px;
    padding: 0 20px;
    border: 1px solid rgba(176, 132, 82, .72);
    border-radius: 999px;
    background: linear-gradient(135deg, #2f2923, #0f0d0b);
    color: #fffdfa !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 12px 26px rgba(47, 41, 35, .13);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.fc-path-copy a:hover,
.fc-path-placeholder-btn:hover {
    transform: translateY(-2px);
    border-color: #d9bd73;
    box-shadow: 0 16px 30px rgba(47, 41, 35, .18);
}

.fc-path-orb {
    width: 370px;
    height: 370px;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    border-radius: 50%;
    background:
        radial-gradient(circle at 38% 34%, rgba(255, 253, 248, .88), rgba(255, 253, 248, .12) 34%, transparent 35%),
        rgba(47, 41, 35, 0.07);
    z-index: 2;
    box-shadow: none;
}

.fc-path-product {
    width: 284px;
    height: 284px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 20px solid #d8ba6c;
    border-radius: 50%;
    background:
        radial-gradient(circle at 48% 35%, rgba(255, 255, 255, .08), transparent 28%),
        linear-gradient(145deg, #15120f, #030303);
    color: #fffdfa;
    text-align: center;
    overflow: hidden;
    box-shadow: 0 20px 48px rgba(47, 41, 35, .18), inset 0 0 0 1px rgba(255, 253, 248, .08);
}

.fc-path-product img {
    width: 172px;
    height: 128px;
    object-fit: contain;
    margin-bottom: 12px;
    filter: drop-shadow(0 14px 18px rgba(0,0,0,.42));
}

.fc-path-product span {
    width: 92px;
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    border-radius: 50%;
    background: linear-gradient(135deg, #85611d, #d9bd73);
    font-family: 'Ma Shan Zheng', 'Noto Serif SC', serif;
    font-size: 42px;
}

.fc-path-product strong {
    max-width: 180px;
    color: #fffdfa;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .fc-product-path {
        width: min(100%, calc(100vw - 24px));
        left: auto;
        transform: none;
        margin: 54px auto;
        padding: 12px 12px 26px;
    }

    .fc-path-stage {
        min-height: auto;
    }

    .fc-path-ribbon {
        left: 40px;
        top: 30px;
        width: 86px;
        height: calc(100% - 60px);
        transform: none;
        border-radius: 80px;
    }

    .fc-path-ribbon::before,
    .fc-path-ribbon::after {
        display: none;
    }

    .fc-path-item,
    .fc-path-item-2 {
        position: relative;
        left: auto;
        width: 100%;
        transform: none;
        top: auto;
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 20px;
        min-height: 0;
        margin-bottom: 34px;
    }

    .fc-path-item-2 .fc-path-copy,
    .fc-path-item-2 .fc-path-orb {
        grid-column: auto;
        grid-row: auto;
    }

    .fc-path-item .fc-path-copy {
        justify-self: start;
        max-width: none;
    }

    .fc-path-orb {
        width: 112px;
        height: 112px;
    }

    .fc-path-product {
        width: 88px;
        height: 88px;
        border-width: 8px;
    }

    .fc-path-product img {
        width: 58px;
        height: 44px;
        margin-bottom: 0;
    }

    .fc-path-product strong {
        display: none;
    }
}

/* Fixed crystal-shop filter taxonomy requested by the storefront. */
.fc-shop-filter-groups {
    padding: 0 !important;
}

.fc-shop-filter-group {
    border-bottom: 1px solid rgba(47, 57, 42, .10);
}

.fc-shop-filter-group:last-child {
    border-bottom: 0;
}

.fc-shop-filter-group > button {
    border-bottom: 0 !important;
    background: rgba(255, 253, 248, .72) !important;
}

.fc-shop-option-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 18px 16px;
}

.fc-shop-option-list a {
    max-width: 100%;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid rgba(47, 57, 42, .10);
    border-radius: 999px;
    background: rgba(255, 255, 255, .62);
    color: rgba(47, 57, 42, .78) !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.fc-shop-option-list a:hover,
.fc-shop-price-chips a:hover,
.fc-shop-cats a:hover {
    color: #31482c !important;
    border-color: rgba(49, 72, 44, .28);
    background: rgba(77, 96, 69, .10);
}

.fc-shop-price-chips {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.fc-shop-price-chips a {
    padding: 0 8px;
    white-space: nowrap;
}

@media (max-width: 560px) {
    .fc-product-path {
        margin: 46px auto;
        padding: 10px 14px 24px;
    }

    .fc-path-header h2 {
        font-size: 30px;
        gap: 10px;
    }

    .fc-path-header h2 span {
        width: 12px;
        height: 12px;
    }

    .fc-path-copy h3 {
        font-size: 20px;
    }

    .fc-path-copy p {
        font-size: 13px;
    }
}

/* Final shop filter order guard. */
.fc-shop-filter-groups.fc-shop-accordions {
    padding: 0 !important;
}

.fc-shop-filter-groups .fc-shop-filter-group {
    border-bottom: 1px solid rgba(47, 57, 42, .10) !important;
}

.fc-shop-filter-groups .fc-shop-filter-group:last-child {
    border-bottom: 0 !important;
}

.fc-shop-filter-groups .fc-shop-filter-group > button {
    border-bottom: 0 !important;
}

.fc-shop-filter-groups .fc-shop-option-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 0 18px 16px !important;
}

.fc-shop-filter-groups .fc-shop-option-list a {
    width: auto !important;
    height: auto !important;
    min-height: 30px !important;
    padding: 6px 10px !important;
    border: 1px solid rgba(47, 57, 42, .10) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .62) !important;
    color: rgba(47, 57, 42, .78) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
}

.fc-shop-price .fc-shop-price-chips {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* ---- Absolute final visual guard ---- */
body.fc-shortcode-shop-page .page-title,
body.fc-shortcode-shop-page .wd-page-title,
body.fc-shortcode-shop-page .title-size-default,
body.fc-shortcode-shop-page .entry-header,
body.fc-shortcode-shop-page .page-title-default {
    display: none !important;
}

body.fc-shortcode-shop-page .main-page-wrapper,
body.fc-shortcode-shop-page .site-content,
body.fc-shortcode-shop-page .content-layout-wrapper,
body.fc-shortcode-shop-page .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.fc-shortcode-shop-page .fc-custom-shop {
    margin-top: 18px !important;
}

#fc-app .fc-pillar-ganzhi,
#fc-app .fc-card-value,
#fc-app .fc-wx-icon,
#fc-app .fc-no-img,
#fc-app .fc-product-img .fc-no-img,
.fc-flash-initial {
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

#fc-app .fc-pillar-ganzhi {
    font-size: 25px !important;
    line-height: 1.15 !important;
}

#fc-app .fc-wx-icon {
    font-size: 15px !important;
}

#fc-app .fc-card-value {
    font-size: 18px !important;
}

.fc-home-card-lucky::after {
    content: "";
    display: block;
    height: 1px;
    margin: 14px 0 12px;
    background: rgba(166, 124, 82, .16);
    order: 3;
}

.fc-home-card-lucky .fc-home-icon { order: 0; }
.fc-home-card-lucky h3 { order: 1; }

.fc-home-card-lucky .fc-home-lucky-row {
    width: 100%;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px !important;
    order: 4;
    font-size: 14px !important;
}

.fc-home-card-lucky .fc-home-lucky-row span {
    width: max-content;
    max-width: 100%;
    margin-left: 0 !important;
    font-size: 13px !important;
}

.fc-shop-filter-groups .fc-shop-filter-group > button {
    height: auto !important;
    min-height: 46px !important;
    cursor: default !important;
    pointer-events: none !important;
}

.fc-shop-price-form {
    display: grid !important;
    gap: 12px !important;
}

.fc-shop-range {
    height: auto !important;
    margin: 0 !important;
    display: grid !important;
    gap: 8px !important;
}

.fc-shop-range::before,
.fc-shop-range::after,
.fc-shop-range span::after {
    display: none !important;
}

.fc-shop-range input[type="range"] {
    width: 100%;
    height: 18px;
    margin: 0;
    accent-color: #4d6045;
    cursor: pointer;
}

.fc-shop-price-form button {
    width: 100%;
    height: 34px;
    border: 0;
    border-radius: 7px;
    background: #31482c;
    color: #fffdfa;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.fc-flash-inner {
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 28px !important;
    min-height: 0 !important;
    padding: 30px 30px 26px !important;
}

.fc-flash-aside {
    padding: 18px 18px 18px 70px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.fc-flash-aside > span {
    position: absolute !important;
    left: 0 !important;
    top: 18px !important;
    width: 42px !important;
    min-height: 112px !important;
    max-height: 136px !important;
    padding: 12px 0 !important;
    border-radius: 999px !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    letter-spacing: .12em !important;
    line-height: 1 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    overflow: hidden !important;
}

.fc-flash-aside h2 {
    margin-bottom: 14px !important;
    font-size: 30px !important;
    line-height: 1.18 !important;
}

.fc-flash-aside p {
    margin-bottom: 24px !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.fc-flash-cta {
    min-width: 150px !important;
    background: #31482c !important;
    color: #fffdfa !important;
    border: 1px solid #31482c !important;
    opacity: 1 !important;
    box-shadow: 0 12px 26px rgba(49, 72, 44, .16) !important;
}

.fc-flash-cta:hover {
    background: #243821 !important;
    color: #fffdfa !important;
}

.fc-flash-card {
    min-height: 338px !important;
}

.fc-flash-photo {
    height: 162px !important;
}

.fc-flash-info {
    min-height: 176px !important;
    padding: 16px 16px 18px !important;
}

.fc-flash-info h3 {
    min-height: 44px !important;
    margin-bottom: 12px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

.fc-flash-price {
    padding-top: 0 !important;
    align-self: end !important;
}

@media (max-width: 1100px) {
    .fc-flash-inner {
        grid-template-columns: 1fr !important;
    }
    .fc-flash-aside {
        padding-left: 0 !important;
    }
    .fc-flash-aside > span {
        position: static !important;
        width: max-content !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 8px 14px !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        letter-spacing: .18em !important;
    }
}

/* ---- True final override: unified English storefront typography ---- */
:root {
    --fc-store-font: Inter, "Helvetica Neue", Arial, "PingFang SC", sans-serif;
    --fc-store-bold: 600;
}

.fc-custom-shop,
.fc-shop-filters,
.fc-shop-card,
.fc-flash-sale,
.fc-hot-sale,
.fc-best-seller,
.fc-product-path,
#fc-app,
.fc-knowledge-panel,
body.woocommerce,
body.woocommerce-page {
    font-family: var(--fc-store-font) !important;
}

.fc-custom-shop strong,
.fc-custom-shop b,
.fc-shop-filters strong,
.fc-shop-filters b,
.fc-shop-filters h3,
.fc-shop-card h2,
.fc-shop-card h2 a,
.fc-flash-sale strong,
.fc-flash-sale b,
.fc-flash-sale h2,
.fc-flash-sale h3,
.fc-hot-sale strong,
.fc-hot-sale b,
.fc-hot-sale h2,
.fc-hot-sale h3,
.fc-best-seller strong,
.fc-best-seller b,
.fc-best-seller h2,
.fc-best-seller h3,
.fc-product-path strong,
.fc-product-path b,
.fc-product-path h2,
.fc-product-path h3,
#fc-app strong,
#fc-app b,
#fc-app h1,
#fc-app h2,
#fc-app h3,
#fc-app h4,
.fc-knowledge-panel strong,
.fc-knowledge-panel b,
.fc-knowledge-panel h2,
.fc-knowledge-panel h3,
body.woocommerce .product-title,
body.woocommerce .wd-entities-title,
body.woocommerce .woocommerce-loop-product__title,
body.woocommerce .price,
body.woocommerce .price .woocommerce-Price-amount {
    font-family: var(--fc-store-font) !important;
    font-style: normal !important;
    font-weight: var(--fc-store-bold) !important;
    letter-spacing: 0 !important;
}

.fc-shop-filter-head h3,
.fc-shop-filter-group > button,
.fc-shop-cats a,
.fc-shop-option-list a,
.fc-shop-price-chips a,
.fc-shop-price-form button,
.fc-shop-card h2,
.fc-shop-card h2 a,
body.post-type-archive-product .product-grid-item .product-title,
body.tax-product_cat .product-grid-item .product-title,
body.tax-product_tag .product-grid-item .product-title,
body.post-type-archive-product .wd-entities-title,
body.tax-product_cat .wd-entities-title,
body.tax-product_tag .wd-entities-title,
body.post-type-archive-product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce-loop-product__title {
    font-weight: 600 !important;
}

body.fc-shortcode-shop-page .page-title,
body.fc-shortcode-shop-page .wd-page-title,
body.fc-shortcode-shop-page .title-size-default,
body.fc-shortcode-shop-page .entry-header,
body.fc-shortcode-shop-page .page-title-default {
    display: none !important;
}

body.fc-shortcode-shop-page .main-page-wrapper,
body.fc-shortcode-shop-page .site-content,
body.fc-shortcode-shop-page .content-layout-wrapper,
body.fc-shortcode-shop-page .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.fc-shop-filters {
    overflow: hidden !important;
    border-radius: 10px !important;
    background: rgba(255, 253, 248, .92) !important;
    border: 1px solid rgba(47, 57, 42, .10) !important;
    box-shadow: 0 20px 45px rgba(74, 63, 53, .055) !important;
}

.fc-shop-filter-card {
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(47, 57, 42, .10) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fc-shop-filter-head,
.fc-shop-filter-groups .fc-shop-filter-group > button {
    min-height: 48px !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: transparent !important;
}

.fc-shop-filter-head h3,
.fc-shop-filter-groups .fc-shop-filter-group > button {
    color: #24211e !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
}

.fc-shop-filter-head span,
.fc-shop-filter-groups .fc-shop-filter-group > button span {
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(47, 74, 47, .10) !important;
    color: #31482c !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

.fc-shop-filter-groups .fc-shop-filter-group > button {
    width: 100% !important;
    border: 0 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.fc-shop-filter-groups .fc-shop-option-list {
    display: none !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 0 18px 16px !important;
}

.fc-shop-filter-groups .fc-shop-filter-group.is-open .fc-shop-option-list {
    display: flex !important;
}

.fc-shop-cats nav {
    padding: 0 18px 16px !important;
}

.fc-shop-cats a {
    min-height: 28px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    color: #34302b !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
}

.fc-shop-cats a i {
    color: #465e42 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 13px !important;
    font-style: italic !important;
    font-weight: 500 !important;
    text-align: center !important;
}

.fc-shop-option-list a,
.fc-shop-price-chips a {
    min-height: 29px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

.fc-shop-price-form button {
    height: 42px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
}

.fc-flash-inner {
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 22px !important;
    padding: 28px !important;
}

.fc-flash-aside {
    padding: 16px 12px 16px 62px !important;
}

.fc-flash-aside > span.fc-flash-side-text {
    left: 14px !important;
    top: 20px !important;
    width: 38px !important;
    min-height: 118px !important;
    max-height: none !important;
    padding: 11px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    overflow: visible !important;
}

.fc-flash-side-text i {
    display: block !important;
    color: #fffdfa !important;
    font-family: var(--fc-store-font) !important;
    font-size: 9px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.fc-flash-side-text .fc-flash-side-gap {
    width: 1px !important;
    height: 5px !important;
}

.fc-flash-aside h2 {
    max-width: 175px !important;
    color: #24211e !important;
    font-size: 25px !important;
    font-weight: 500 !important;
    line-height: 1.22 !important;
}

.fc-flash-aside p {
    max-width: 178px !important;
    color: rgba(74, 63, 53, .72) !important;
    font-size: 14px !important;
}

.fc-flash-card {
    min-height: 368px !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
}

.fc-flash-photo {
    height: 158px !important;
    flex: 0 0 auto !important;
}

.fc-flash-info {
    min-height: 0 !important;
    flex: 1 1 auto !important;
    padding: 16px 18px 18px !important;
    display: flex !important;
    flex-direction: column !important;
}

.fc-flash-info h3 {
    min-height: 44px !important;
    margin: 0 0 18px !important;
    color: #27231f !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

.fc-flash-info p {
    display: none !important;
}

.fc-flash-price {
    width: 100% !important;
    margin-top: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 38px !important;
    align-items: end !important;
    gap: 10px !important;
}

.fc-flash-price-values {
    display: grid !important;
    gap: 4px !important;
    min-width: 0 !important;
}

.fc-flash-price del,
.fc-flash-price strong,
.fc-flash-price .woocommerce-Price-amount {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
}

.fc-flash-price del {
    color: rgba(160, 54, 47, .82) !important;
    text-decoration-line: line-through !important;
    text-decoration-thickness: 2px !important;
    text-decoration-color: rgba(160, 54, 47, .9) !important;
}

.fc-flash-price a {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    align-self: end !important;
}

.fc-shop-card h2,
.fc-shop-card h2 a {
    min-height: 38px !important;
    color: #27231f !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
}

.fc-shop-card-bottom strong,
.fc-shop-card-bottom .woocommerce-Price-amount {
    color: #181614 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

#fc-app .fc-title,
#fc-app .fc-section-title,
#fc-app .fc-loading-title,
#fc-app .fc-pillar-ganzhi,
#fc-app .fc-wx-icon,
#fc-app .fc-card-value,
#fc-app .fc-report-title,
#fc-app .fc-result-header h3,
#fc-app .fc-day-stamp {
    font-family: var(--fc-store-font) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

#fc-app .fc-pillar-ganzhi,
#fc-app .fc-wx-icon,
#fc-app .fc-day-stamp {
    font-weight: 600 !important;
}

body.single-product .woocommerce-tabs #tab-reviews,
body.single-product .woocommerce-tabs .reviews_tab,
body.single-product #review_form_wrapper,
body.single-product .woocommerce-Reviews-title,
body.single-product .comment-reply-title,
body.single-product .comment-form,
body.single-product .wd-product-info,
body.single-product .wd-product-info-wrapper,
body.single-product .wd-product-extra-content,
body.single-product .wd-product-features,
body.single-product .product-extra-content {
    display: none !important;
}

.fc-product-review-cards {
    margin-top: 22px !important;
    padding-top: 22px !important;
    border-top: 1px solid rgba(47, 57, 42, .10) !important;
    font-family: var(--fc-store-font) !important;
}

.fc-product-review-cards h3 {
    margin: 0 0 16px !important;
    color: #27231f !important;
    font-size: 17px !important;
    font-weight: 600 !important;
}

.fc-product-review-card {
    margin: 0 0 12px !important;
    padding: 17px 18px !important;
    border: 1px solid rgba(47, 57, 42, .12) !important;
    border-radius: 10px !important;
    background: rgba(255, 253, 248, .86) !important;
}

.fc-product-review-top {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    color: #27231f !important;
    font-size: 14px !important;
}

.fc-product-review-stars {
    margin: 9px 0 !important;
    color: #d1a33e !important;
    letter-spacing: 1px !important;
}

.fc-product-review-card p {
    margin: 0 !important;
    color: rgba(47, 57, 42, .72) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

@media (max-width: 1100px) {
    .fc-flash-inner {
        grid-template-columns: 1fr !important;
    }

    .fc-flash-aside {
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 14px 18px !important;
    }

    .fc-flash-aside > span.fc-flash-side-text {
        position: static !important;
        grid-row: 1 / span 4 !important;
        width: 38px !important;
        min-height: 118px !important;
        padding: 10px 0 !important;
    }

    .fc-flash-aside h2,
    .fc-flash-aside p,
    .fc-flash-count-label,
    .fc-flash-countdown,
    .fc-flash-cta {
        grid-column: 2 !important;
    }
}

/* ---- Final typography, shop, flash-sale and Woo polish ---- */
:root {
    --fc-store-font: Inter, "Helvetica Neue", Arial, "PingFang SC", sans-serif;
    --fc-store-bold: 600;
}

.fc-custom-shop,
.fc-shop-filters,
.fc-shop-card,
.fc-flash-sale,
.fc-hot-sale,
.fc-best-seller,
.fc-product-path,
#fc-app,
.fc-knowledge-panel,
body.woocommerce,
body.woocommerce-page {
    font-family: var(--fc-store-font) !important;
}

.fc-custom-shop strong,
.fc-custom-shop b,
.fc-shop-filters strong,
.fc-shop-filters b,
.fc-shop-filters h3,
.fc-shop-card h2,
.fc-shop-card h2 a,
.fc-flash-sale strong,
.fc-flash-sale b,
.fc-flash-sale h2,
.fc-flash-sale h3,
.fc-hot-sale strong,
.fc-hot-sale b,
.fc-hot-sale h2,
.fc-hot-sale h3,
.fc-best-seller strong,
.fc-best-seller b,
.fc-best-seller h2,
.fc-best-seller h3,
.fc-product-path strong,
.fc-product-path b,
.fc-product-path h2,
.fc-product-path h3,
#fc-app strong,
#fc-app b,
#fc-app h1,
#fc-app h2,
#fc-app h3,
#fc-app h4,
.fc-knowledge-panel strong,
.fc-knowledge-panel b,
.fc-knowledge-panel h2,
.fc-knowledge-panel h3,
body.woocommerce .product-title,
body.woocommerce .wd-entities-title,
body.woocommerce .woocommerce-loop-product__title,
body.woocommerce .price,
body.woocommerce .price .woocommerce-Price-amount {
    font-family: var(--fc-store-font) !important;
    font-style: normal !important;
    font-weight: var(--fc-store-bold) !important;
    letter-spacing: 0 !important;
}

.fc-custom-shop h1,
body.woocommerce .page-title,
body.woocommerce .entry-title {
    font-family: Georgia, "Times New Roman", serif !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.fc-shop-filter-head h3,
.fc-shop-filter-group > button,
.fc-shop-cats a,
.fc-shop-option-list a,
.fc-shop-price-chips a,
.fc-shop-price-form button,
.fc-shop-card h2,
.fc-shop-card h2 a,
body.post-type-archive-product .product-grid-item .product-title,
body.tax-product_cat .product-grid-item .product-title,
body.tax-product_tag .product-grid-item .product-title,
body.post-type-archive-product .wd-entities-title,
body.tax-product_cat .wd-entities-title,
body.tax-product_tag .wd-entities-title,
body.post-type-archive-product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce-loop-product__title {
    font-weight: 600 !important;
}

.fc-shop-filters {
    overflow: hidden !important;
    border-radius: 10px !important;
    background: rgba(255, 253, 248, .92) !important;
    border: 1px solid rgba(47, 57, 42, .10) !important;
    box-shadow: 0 20px 45px rgba(74, 63, 53, .055) !important;
}

.fc-shop-filter-card {
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(47, 57, 42, .10) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fc-shop-filter-head,
.fc-shop-filter-groups .fc-shop-filter-group > button {
    min-height: 48px !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: transparent !important;
}

.fc-shop-filter-head h3,
.fc-shop-filter-groups .fc-shop-filter-group > button {
    color: #24211e !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
}

.fc-shop-filter-head span,
.fc-shop-filter-groups .fc-shop-filter-group > button span {
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(47, 74, 47, .10) !important;
    color: #31482c !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

.fc-shop-filter-groups .fc-shop-filter-group > button {
    width: 100% !important;
    border: 0 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.fc-shop-filter-groups .fc-shop-option-list {
    display: none !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 0 18px 16px !important;
}

.fc-shop-filter-groups .fc-shop-filter-group.is-open .fc-shop-option-list {
    display: flex !important;
}

.fc-shop-cats nav {
    padding: 0 18px 16px !important;
}

.fc-shop-cats a {
    min-height: 28px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    color: #34302b !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
}

.fc-shop-cats a i {
    color: #465e42 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 13px !important;
    font-style: italic !important;
    font-weight: 500 !important;
    text-align: center !important;
}

.fc-shop-option-list a,
.fc-shop-price-chips a {
    min-height: 29px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

.fc-shop-price-form button {
    height: 42px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
}

.fc-flash-inner {
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 22px !important;
    padding: 28px !important;
}

.fc-flash-aside {
    padding: 16px 12px 16px 62px !important;
}

.fc-flash-aside > span.fc-flash-side-text {
    left: 14px !important;
    top: 20px !important;
    width: 38px !important;
    min-height: 118px !important;
    max-height: none !important;
    padding: 11px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    overflow: visible !important;
}

.fc-flash-side-text i {
    display: block !important;
    color: #fffdfa !important;
    font-family: var(--fc-store-font) !important;
    font-size: 9px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.fc-flash-side-text .fc-flash-side-gap {
    width: 1px !important;
    height: 5px !important;
}

.fc-flash-aside h2 {
    max-width: 175px !important;
    color: #24211e !important;
    font-size: 25px !important;
    font-weight: 500 !important;
    line-height: 1.22 !important;
}

.fc-flash-aside p {
    max-width: 178px !important;
    color: rgba(74, 63, 53, .72) !important;
    font-size: 14px !important;
}

.fc-flash-countdown span {
    width: 42px !important;
    min-height: 45px !important;
    padding: 6px 5px !important;
    color: rgba(74, 63, 53, .68) !important;
    font-size: 8px !important;
}

.fc-flash-countdown b {
    color: #2b271f !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

.fc-flash-cta {
    min-width: 128px !important;
    height: 40px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.fc-flash-card {
    min-height: 368px !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
}

.fc-flash-photo {
    height: 158px !important;
    flex: 0 0 auto !important;
}

.fc-flash-photo b {
    min-width: 58px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

.fc-flash-info {
    min-height: 0 !important;
    flex: 1 1 auto !important;
    padding: 16px 18px 18px !important;
    display: flex !important;
    flex-direction: column !important;
}

.fc-flash-info h3 {
    min-height: 44px !important;
    margin: 0 0 18px !important;
    color: #27231f !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

.fc-flash-info p {
    display: none !important;
}

.fc-flash-price {
    width: 100% !important;
    margin-top: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 38px !important;
    align-items: end !important;
    gap: 10px !important;
}

.fc-flash-price-values {
    display: grid !important;
    gap: 4px !important;
    min-width: 0 !important;
}

.fc-flash-price del,
.fc-flash-price strong,
.fc-flash-price .woocommerce-Price-amount {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
}

.fc-flash-price del {
    color: rgba(160, 54, 47, .82) !important;
    text-decoration-line: line-through !important;
    text-decoration-thickness: 2px !important;
    text-decoration-color: rgba(160, 54, 47, .9) !important;
}

.fc-flash-price strong,
.fc-flash-price strong .woocommerce-Price-amount {
    color: #a13b34 !important;
}

.fc-flash-price a {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    align-self: end !important;
}

.fc-flash-more {
    margin-top: 20px !important;
}

.fc-shop-card h2,
.fc-shop-card h2 a {
    min-height: 38px !important;
    color: #27231f !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
}

.fc-shop-card-bottom strong,
.fc-shop-card-bottom .woocommerce-Price-amount {
    color: #181614 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.fc-shop-cart {
    width: 38px !important;
    height: 38px !important;
    border-radius: 9px !important;
}

#fc-app .fc-title,
#fc-app .fc-section-title,
#fc-app .fc-loading-title,
#fc-app .fc-pillar-ganzhi,
#fc-app .fc-wx-icon,
#fc-app .fc-card-value,
#fc-app .fc-report-title,
#fc-app .fc-report-title strong,
#fc-app .fc-day-stamp {
    font-family: var(--fc-store-font) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

#fc-app .fc-pillar-ganzhi,
#fc-app .fc-wx-icon,
#fc-app .fc-day-stamp {
    font-weight: 600 !important;
}

body.single-product .woocommerce-tabs #tab-reviews,
body.single-product .woocommerce-tabs .reviews_tab,
body.single-product #review_form_wrapper,
body.single-product .woocommerce-Reviews-title,
body.single-product .comment-reply-title,
body.single-product .comment-form,
body.single-product .wd-product-info,
body.single-product .wd-product-info-wrapper,
body.single-product .wd-product-extra-content,
body.single-product .wd-product-features,
body.single-product .product-extra-content {
    display: none !important;
}

.fc-product-review-cards {
    margin-top: 22px !important;
    padding-top: 22px !important;
    border-top: 1px solid rgba(47, 57, 42, .10) !important;
    font-family: var(--fc-store-font) !important;
}

.fc-product-review-cards h3 {
    margin: 0 0 16px !important;
    color: #27231f !important;
    font-family: var(--fc-store-font) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

.fc-product-review-card {
    margin: 0 0 12px !important;
    padding: 17px 18px !important;
    border: 1px solid rgba(47, 57, 42, .12) !important;
    border-radius: 10px !important;
    background: rgba(255, 253, 248, .86) !important;
}

.fc-product-review-top {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    color: #27231f !important;
    font-size: 14px !important;
}

.fc-product-review-top strong {
    font-weight: 600 !important;
}

.fc-product-review-top time {
    color: rgba(74, 63, 53, .62) !important;
}

.fc-product-review-stars {
    margin: 9px 0 !important;
    color: #d1a33e !important;
    letter-spacing: 1px !important;
}

.fc-product-review-card p {
    margin: 0 !important;
    color: rgba(47, 57, 42, .72) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

@media (max-width: 1100px) {
    .fc-flash-inner {
        grid-template-columns: 1fr !important;
    }

    .fc-flash-aside {
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 14px 18px !important;
    }

    .fc-flash-aside > span.fc-flash-side-text {
        position: static !important;
        grid-row: 1 / span 4 !important;
        width: 38px !important;
        min-height: 118px !important;
        padding: 10px 0 !important;
    }

    .fc-flash-aside h2,
    .fc-flash-aside p,
    .fc-flash-count-label,
    .fc-flash-countdown,
    .fc-flash-cta {
        grid-column: 2 !important;
    }
}

/* ---- Final flash sale readability pass ---- */
.fc-flash-inner {
    grid-template-columns: 250px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 26px !important;
    padding: 28px 28px 24px !important;
}

.fc-flash-aside {
    min-width: 0 !important;
    padding: 18px 14px 18px 62px !important;
}

.fc-flash-aside > span {
    left: 8px !important;
    top: 22px !important;
    width: 38px !important;
    min-height: 118px !important;
    max-height: 128px !important;
    padding: 10px 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #31482c !important;
    color: #fffdfa !important;
    border-radius: 999px !important;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: .16em !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    overflow: hidden !important;
}

.fc-flash-aside h2 {
    max-width: 190px !important;
    margin-bottom: 14px !important;
    font-size: 27px !important;
    line-height: 1.18 !important;
}

.fc-flash-aside p {
    max-width: 190px !important;
    margin-bottom: 22px !important;
    color: rgba(74, 63, 53, .64) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.fc-flash-cta {
    width: max-content !important;
    min-width: 148px !important;
    height: 42px !important;
    padding: 0 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: #31482c !important;
    color: #fffdfa !important;
    border: 1px solid rgba(49, 72, 44, .92) !important;
    border-radius: 999px !important;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    box-shadow: 0 14px 28px rgba(49, 72, 44, .16) !important;
}

.fc-flash-products {
    align-items: stretch !important;
}

.fc-flash-card {
    min-height: 332px !important;
}

.fc-flash-info {
    min-height: 170px !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 15px 16px 16px !important;
}

.fc-flash-info h3 {
    min-height: 42px !important;
    margin-bottom: 0 !important;
    font-size: 15px !important;
    line-height: 1.22 !important;
}

.fc-flash-price {
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 10px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 38px !important;
    align-items: center !important;
    gap: 8px !important;
}

.fc-flash-price-values {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3px !important;
}

.fc-flash-price del,
.fc-flash-price strong,
.fc-flash-price > .woocommerce-Price-amount {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    line-height: 1.05 !important;
}

.fc-flash-price del {
    color: rgba(160, 54, 47, .72) !important;
    text-decoration: line-through !important;
    text-decoration-thickness: 2px !important;
    text-decoration-color: rgba(160, 54, 47, .95) !important;
}

.fc-flash-price strong,
.fc-flash-price > .woocommerce-Price-amount {
    color: #a63e36 !important;
}

.fc-flash-price a {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
}

@media (max-width: 1180px) {
    .fc-flash-inner {
        grid-template-columns: 1fr !important;
    }

    .fc-flash-aside {
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: 16px !important;
        align-items: center !important;
    }

    .fc-flash-aside > span {
        position: static !important;
        width: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 8px 14px !important;
        writing-mode: horizontal-tb !important;
        letter-spacing: .16em !important;
    }

    .fc-flash-aside h2,
    .fc-flash-aside p {
        max-width: none !important;
    }

    .fc-flash-count-label,
    .fc-flash-countdown,
    .fc-flash-cta {
        grid-column: 2 !important;
    }
}

/* ---- Final visual guard: keep newest shop/report/home/flash polish active ---- */
body.fc-shortcode-shop-page .page-title,
body.fc-shortcode-shop-page .wd-page-title,
body.fc-shortcode-shop-page .title-size-default,
body.fc-shortcode-shop-page .entry-header,
body.fc-shortcode-shop-page .page-title-default {
    display: none !important;
}

#fc-app .fc-pillar-ganzhi,
#fc-app .fc-card-value,
#fc-app .fc-wx-icon,
#fc-app .fc-no-img,
#fc-app .fc-product-img .fc-no-img,
.fc-flash-initial {
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

#fc-app .fc-pillar-ganzhi {
    font-size: 25px !important;
    line-height: 1.15 !important;
}

#fc-app .fc-wx-icon {
    font-size: 15px !important;
}

#fc-app .fc-card-value {
    font-size: 18px !important;
}

.fc-home-card-lucky::after {
    content: "";
    display: block;
    height: 1px;
    margin: 14px 0 12px;
    background: rgba(166, 124, 82, .16);
    order: 3;
}

.fc-home-card-lucky .fc-home-icon { order: 0; }
.fc-home-card-lucky h3 { order: 1; }

.fc-home-card-lucky .fc-home-lucky-row {
    width: 100%;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px !important;
    order: 4;
    font-size: 14px !important;
}

.fc-home-card-lucky .fc-home-lucky-row span {
    width: max-content;
    max-width: 100%;
    margin-left: 0 !important;
    font-size: 13px !important;
}

.fc-shop-filter-groups .fc-shop-filter-group > button {
    height: auto !important;
    min-height: 46px !important;
    cursor: default !important;
    pointer-events: none !important;
}

.fc-shop-price-form {
    display: grid !important;
    gap: 12px !important;
}

.fc-shop-range {
    height: auto !important;
    margin: 0 !important;
    display: grid !important;
    gap: 8px !important;
}

.fc-shop-range::before,
.fc-shop-range::after,
.fc-shop-range span::after {
    display: none !important;
}

.fc-shop-range input[type="range"] {
    width: 100%;
    height: 18px;
    margin: 0;
    accent-color: #4d6045;
    cursor: pointer;
}

.fc-shop-price-form button {
    width: 100%;
    height: 34px;
    border: 0;
    border-radius: 7px;
    background: #31482c;
    color: #fffdfa;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.fc-flash-inner {
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 28px !important;
    min-height: 0 !important;
    padding: 30px 30px 26px !important;
}

.fc-flash-aside {
    padding: 18px 18px 18px 70px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.fc-flash-aside > span {
    position: absolute !important;
    left: 0 !important;
    top: 18px !important;
    width: 42px !important;
    min-height: 112px !important;
    max-height: 136px !important;
    padding: 12px 0 !important;
    border-radius: 999px !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    letter-spacing: .12em !important;
    line-height: 1 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    overflow: hidden !important;
}

.fc-flash-aside h2 {
    margin-bottom: 14px !important;
    font-size: 30px !important;
    line-height: 1.18 !important;
}

.fc-flash-aside p {
    margin-bottom: 24px !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.fc-flash-cta {
    min-width: 150px !important;
    background: #31482c !important;
    color: #fffdfa !important;
    border: 1px solid #31482c !important;
    opacity: 1 !important;
    box-shadow: 0 12px 26px rgba(49, 72, 44, .16) !important;
}

.fc-flash-cta:hover {
    background: #243821 !important;
    color: #fffdfa !important;
}

.fc-flash-card {
    min-height: 338px !important;
}

.fc-flash-photo {
    height: 162px !important;
}

.fc-flash-info {
    min-height: 176px !important;
    padding: 16px 16px 18px !important;
}

.fc-flash-info h3 {
    min-height: 44px !important;
    margin-bottom: 12px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

.fc-flash-price {
    padding-top: 0 !important;
    align-self: end !important;
}

@media (max-width: 1100px) {
    .fc-flash-inner {
        grid-template-columns: 1fr !important;
    }
    .fc-flash-aside {
        padding-left: 0 !important;
    }
    .fc-flash-aside > span {
        position: static !important;
        width: max-content !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 8px 14px !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        letter-spacing: .18em !important;
    }
}

/* ---- Latest polish: standalone shop filters, report type, daily cards, flash strip ---- */
body.fc-shortcode-shop-page .page-title,
body.fc-shortcode-shop-page .wd-page-title,
body.fc-shortcode-shop-page .title-size-default,
body.fc-shortcode-shop-page .entry-header,
body.fc-shortcode-shop-page .page-title-default {
    display: none !important;
}

.fc-shop-filter-groups .fc-shop-filter-group > button {
    height: auto !important;
    min-height: 46px !important;
    cursor: default !important;
    pointer-events: none !important;
}

.fc-shop-filter-groups .fc-shop-filter-group > button span {
    color: rgba(77, 96, 69, .8) !important;
}

.fc-shop-price-form {
    display: grid;
    gap: 12px;
}

.fc-shop-price-form .fc-shop-price-labels {
    margin: 0 !important;
}

.fc-shop-range {
    height: auto !important;
    margin: 0 !important;
    display: grid !important;
    gap: 8px !important;
}

.fc-shop-range::before,
.fc-shop-range::after,
.fc-shop-range span::after {
    display: none !important;
}

.fc-shop-range input[type="range"] {
    width: 100%;
    height: 18px;
    margin: 0;
    accent-color: #4d6045;
    cursor: pointer;
}

.fc-shop-price-form button {
    width: 100%;
    height: 34px;
    border: 0;
    border-radius: 7px;
    background: #31482c;
    color: #fffdfa;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

#fc-app .fc-pillar-ganzhi,
#fc-app .fc-card-value,
#fc-app .fc-wx-icon,
#fc-app .fc-no-img,
#fc-app .fc-flash-initial,
#fc-app .fc-product-img .fc-no-img {
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

#fc-app .fc-pillar-ganzhi {
    font-size: 25px !important;
    line-height: 1.15 !important;
}

#fc-app .fc-wx-icon {
    font-size: 15px !important;
    letter-spacing: 0 !important;
}

#fc-app .fc-card-value {
    font-size: 18px !important;
}

.fc-home-card-lucky {
    display: flex !important;
}

.fc-home-card-lucky::after {
    content: "";
    display: block;
    height: 1px;
    margin: 14px 0 12px;
    background: rgba(166, 124, 82, .16);
    order: 3;
}

.fc-home-card-lucky .fc-home-icon { order: 0; }
.fc-home-card-lucky h3 { order: 1; }

.fc-home-card-lucky .fc-home-lucky-row {
    width: 100%;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px !important;
    order: 4;
    font-size: 14px !important;
}

.fc-home-card-lucky .fc-home-lucky-row span {
    width: max-content;
    max-width: 100%;
    margin-left: 0 !important;
    font-size: 13px !important;
}

.fc-flash-inner {
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 28px !important;
    min-height: 0 !important;
    padding: 30px 30px 26px !important;
}

.fc-flash-aside {
    padding: 18px 18px 18px 70px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.fc-flash-aside > span {
    left: 0 !important;
    top: 18px !important;
    width: 42px !important;
    min-height: 118px !important;
    max-height: 150px !important;
    padding: 14px 0 !important;
    border-radius: 999px !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    letter-spacing: .16em !important;
    line-height: 1 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    overflow: hidden !important;
}

.fc-flash-aside h2 {
    margin-bottom: 14px !important;
    font-size: 30px !important;
    line-height: 1.18 !important;
}

.fc-flash-aside p {
    margin-bottom: 24px !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.fc-flash-cta {
    min-width: 150px !important;
    background: #31482c !important;
    color: #fffdfa !important;
    border: 1px solid #31482c !important;
    box-shadow: 0 12px 26px rgba(49, 72, 44, .16) !important;
}

.fc-flash-cta:hover {
    background: #243821 !important;
    color: #fffdfa !important;
}

.fc-flash-card {
    min-height: 338px !important;
}

.fc-flash-photo {
    height: 162px !important;
}

.fc-flash-info {
    min-height: 176px !important;
    padding: 16px 16px 18px !important;
}

.fc-flash-info h3 {
    min-height: 44px !important;
    margin-bottom: 12px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

.fc-flash-price {
    padding-top: 0 !important;
    align-self: end !important;
}

@media (max-width: 1100px) {
    .fc-flash-inner {
        grid-template-columns: 1fr !important;
    }
    .fc-flash-aside {
        padding-left: 0 !important;
    }
    .fc-flash-aside > span {
        position: static !important;
        width: max-content !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 8px 14px !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
    }
}

/* Standalone shortcode shop page: [fortune_shop_page] */
.fc-custom-shop {
    width: min(1520px, calc(100vw - 34px));
    margin: 34px auto 74px;
    color: #24221f;
    font-family: Inter, 'Helvetica Neue', Arial, sans-serif;
}

.fc-custom-shop,
.fc-custom-shop * {
    box-sizing: border-box;
}

.fc-custom-shop-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.fc-shop-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    color: rgba(47, 57, 42, .62);
    font-size: 14px;
}

.fc-shop-breadcrumb a {
    color: rgba(47, 57, 42, .70) !important;
    text-decoration: none !important;
}

.fc-shop-breadcrumb strong {
    color: #24221f;
    font-weight: 700;
}

.fc-custom-shop h1 {
    margin: 0 0 8px;
    color: #2f4a2f;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(34px, 3.2vw, 52px);
    line-height: 1.05;
    letter-spacing: 0;
}

.fc-custom-shop-top p {
    margin: 0;
    color: rgba(47, 57, 42, .62);
    font-size: 14px;
}

.fc-custom-shop-sort {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    color: rgba(47, 57, 42, .68);
    font-size: 14px;
}

.fc-custom-shop-sort label {
    margin: 0;
    font-weight: 600;
}

.fc-custom-shop-sort select {
    min-width: 190px;
    height: 48px;
    padding: 0 44px 0 16px;
    border: 1px solid rgba(47, 57, 42, .12);
    border-radius: 8px;
    background: rgba(255, 253, 248, .94);
    color: #2f2a25;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(74, 63, 53, .045);
}

.fc-custom-shop-sort b,
.fc-custom-shop-sort i {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(47, 57, 42, .10);
    background: rgba(255, 253, 248, .86);
    color: #4d6045;
    font-style: normal;
    font-size: 18px;
}

.fc-custom-shop-sort b {
    border-radius: 8px 0 0 8px;
    background: rgba(77, 96, 69, .10);
}

.fc-custom-shop-sort i {
    border-left: 0;
    border-radius: 0 8px 8px 0;
}

.fc-custom-shop-layout {
    display: grid;
    grid-template-columns: 318px minmax(0, 1fr);
    gap: 34px;
    align-items: start;
}

.fc-custom-shop .fc-shop-filters {
    position: sticky;
    top: 24px;
}

.fc-custom-shop-products {
    display: grid;
    grid-template-columns: repeat(var(--fc-shop-columns, 4), minmax(0, 1fr));
    gap: 26px;
}

.fc-shop-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(47, 57, 42, .09);
    border-radius: 10px;
    background: rgba(255, 253, 248, .94);
    box-shadow: 0 18px 42px rgba(74, 63, 53, .065);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.fc-shop-card:hover {
    transform: translateY(-3px);
    border-color: rgba(49, 72, 44, .18);
    box-shadow: 0 24px 54px rgba(74, 63, 53, .10);
}

.fc-shop-card-image {
    position: relative;
    aspect-ratio: 1 / .92;
    display: block;
    overflow: hidden;
    background:
        radial-gradient(circle at 52% 46%, rgba(255, 253, 248, .74), transparent 44%),
        linear-gradient(135deg, #f5efe5, #eef2ef);
    text-decoration: none !important;
}

.fc-shop-card-image img {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: cover;
    transition: transform .35s ease;
}

.fc-shop-card:hover .fc-shop-card-image img {
    transform: scale(1.035);
}

.fc-shop-card-badges {
    position: absolute;
    left: 14px;
    top: 14px;
    z-index: 2;
    display: grid;
    gap: 7px;
}

.fc-shop-card-badges em {
    width: max-content;
    padding: 7px 11px;
    border-radius: 6px;
    background: linear-gradient(135deg, #c7a562, #9b7741);
    color: #fffdfa;
    font-style: normal;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 12px 22px rgba(154, 117, 63, .18);
}

.fc-shop-heart {
    position: absolute;
    right: 14px;
    top: 14px;
    z-index: 2;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(47, 57, 42, .10);
    border-radius: 9px;
    background: rgba(255, 253, 248, .92);
    color: rgba(47, 57, 42, .72);
    font-size: 22px;
    line-height: 1;
    box-shadow: 0 10px 22px rgba(74, 63, 53, .06);
}

.fc-shop-card-body {
    position: relative;
    min-height: 128px;
    padding: 14px 58px 18px 14px;
    display: flex;
    flex-direction: column;
}

.fc-shop-card-body h2 {
    min-height: 43px;
    margin: 0 0 8px;
    font-family: Inter, 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
}

.fc-shop-card-body h2 a {
    color: #27231f !important;
    text-decoration: none !important;
}

.fc-shop-card-rating {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-bottom: 9px;
    color: rgba(47, 57, 42, .26);
    font-size: 16px;
    line-height: 1;
}

.fc-shop-card-rating span.is-filled {
    color: #c39a4d;
}

.fc-shop-card-rating em {
    margin-left: 6px;
    color: rgba(47, 57, 42, .52);
    font-style: normal;
    font-size: 13px;
}

.fc-shop-card-bottom {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.fc-shop-card-bottom strong,
.fc-shop-card-bottom .woocommerce-Price-amount {
    color: #1f1d1a;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.2;
}

.fc-shop-card-bottom del {
    color: rgba(80, 72, 62, .45);
    text-decoration-thickness: 2px;
}

.fc-shop-cart {
    position: absolute;
    right: 12px;
    bottom: 14px;
    width: 42px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(47, 57, 42, .12);
    border-radius: 8px;
    background: rgba(255, 253, 248, .94);
    box-shadow: 0 10px 20px rgba(74, 63, 53, .06);
    transition: transform .22s ease, background .22s ease, border-color .22s ease;
}

.fc-shop-cart::before {
    content: "";
    width: 19px;
    height: 19px;
    display: block;
    background-color: #5c563f;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.86a2 2 0 0 0 1.96-1.6L21 7H5.12'/%3E%3Cpath d='M9 10h6'/%3E%3Cpath d='M12 7v6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.86a2 2 0 0 0 1.96-1.6L21 7H5.12'/%3E%3Cpath d='M9 10h6'/%3E%3Cpath d='M12 7v6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.fc-shop-cart:hover {
    transform: translateY(-2px);
    border-color: #2f4a2f;
    background: #2f4a2f;
}

.fc-shop-cart:hover::before {
    background-color: #fffdfa;
}

.fc-custom-shop-pagination {
    margin-top: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.fc-custom-shop-pagination .page-numbers {
    min-width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(47, 57, 42, .10);
    border-radius: 8px;
    background: rgba(255, 253, 248, .84);
    color: #2f3930 !important;
    text-decoration: none !important;
    font-weight: 700;
}

.fc-custom-shop-pagination .current {
    background: rgba(47, 74, 47, .12);
    color: #2f4a2f !important;
}

.fc-shop-empty {
    grid-column: 1 / -1;
    padding: 44px;
    border: 1px solid rgba(47, 57, 42, .10);
    border-radius: 10px;
    background: rgba(255, 253, 248, .90);
    text-align: center;
}

@media (max-width: 1180px) {
    .fc-custom-shop-products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .fc-custom-shop-top,
    .fc-custom-shop-sort {
        align-items: flex-start;
        flex-direction: column;
    }

    .fc-custom-shop-layout {
        grid-template-columns: 1fr;
    }

    .fc-custom-shop .fc-shop-filters {
        position: static;
    }

    .fc-custom-shop-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .fc-custom-shop {
        width: min(100%, calc(100vw - 22px));
    }

    .fc-custom-shop-products {
        grid-template-columns: 1fr;
    }

    .fc-custom-shop-sort select {
        width: 100%;
    }
}

/* ---- Shop screenshot match overrides ---- */
body.post-type-archive-product .main-page-wrapper,
body.tax-product_cat .main-page-wrapper,
body.tax-product_tag .main-page-wrapper {
    padding-top: 28px !important;
}

body.post-type-archive-product .shop-content-area,
body.tax-product_cat .shop-content-area,
body.tax-product_tag .shop-content-area,
body.post-type-archive-product .content-with-products,
body.tax-product_cat .content-with-products,
body.tax-product_tag .content-with-products {
    min-width: 0 !important;
}

body.post-type-archive-product .row,
body.tax-product_cat .row,
body.tax-product_tag .row {
    align-items: flex-start !important;
}

body.post-type-archive-product .sidebar-container,
body.tax-product_cat .sidebar-container,
body.tax-product_tag .sidebar-container,
body.post-type-archive-product .wd-sidebar,
body.tax-product_cat .wd-sidebar,
body.tax-product_tag .wd-sidebar,
body.post-type-archive-product aside.sidebar,
body.tax-product_cat aside.sidebar,
body.tax-product_tag aside.sidebar {
    flex: 0 0 318px !important;
    width: 318px !important;
    max-width: 318px !important;
    padding-right: 28px !important;
}

body.post-type-archive-product .sidebar-container .widget,
body.tax-product_cat .sidebar-container .widget,
body.tax-product_tag .sidebar-container .widget,
body.post-type-archive-product .wd-sidebar .widget,
body.tax-product_cat .wd-sidebar .widget,
body.tax-product_tag .wd-sidebar .widget,
body.post-type-archive-product aside.sidebar .widget,
body.tax-product_cat aside.sidebar .widget,
body.tax-product_tag aside.sidebar .widget {
    display: none !important;
}

.fc-shop-filters {
    display: block !important;
    color: #2f332d;
    font-family: Inter, 'Helvetica Neue', Arial, sans-serif;
}

.fc-shop-filter-card,
.fc-shop-filter-actions {
    border-left: 1px solid rgba(47, 57, 42, .10);
    border-right: 1px solid rgba(47, 57, 42, .10);
    background: rgba(255, 253, 248, .92);
}

.fc-shop-filter-card:first-child {
    border-top: 1px solid rgba(47, 57, 42, .10);
    border-radius: 10px 10px 0 0;
}

.fc-shop-filter-actions {
    padding: 16px 18px 18px;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 14px;
    border-bottom: 1px solid rgba(47, 57, 42, .10);
    border-radius: 0 0 10px 10px;
    box-shadow: 0 18px 40px rgba(74, 63, 53, .055);
}

.fc-shop-filter-card {
    padding: 18px 20px;
    border-bottom: 1px solid rgba(47, 57, 42, .10);
    box-shadow: none;
}

.fc-shop-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.fc-shop-filter-head h3 {
    margin: 0;
    color: #2a2925;
    font-family: Inter, 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0;
}

.fc-shop-filter-head span {
    color: rgba(47, 57, 42, .70);
    font-size: 18px;
    font-weight: 700;
}

.fc-shop-cats nav {
    display: grid;
    gap: 10px;
}

.fc-shop-cats a {
    display: grid;
    grid-template-columns: 22px minmax(0, auto) 1fr;
    align-items: center;
    column-gap: 8px;
    color: #2f332d !important;
    text-decoration: none !important;
    font-size: 15px;
    line-height: 1.25;
}

.fc-shop-cats i {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #4d6045;
    font-style: normal;
    font-size: 14px;
}

.fc-shop-cats span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.fc-shop-cats em {
    color: rgba(47, 57, 42, .58);
    font-style: normal;
    font-size: 14px;
}

.fc-shop-price-labels {
    display: flex;
    justify-content: space-between;
    margin: 4px 0 14px;
    color: #4d4a43;
    font-size: 14px;
    font-weight: 600;
}

.fc-shop-range {
    position: relative;
    height: 18px;
    margin: 0 6px 18px;
}

.fc-shop-range::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 7px;
    height: 4px;
    border-radius: 999px;
    background: #4d6045;
}

.fc-shop-range::after,
.fc-shop-range span::after {
    content: "";
    position: absolute;
    top: 2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #4d6045;
    box-shadow: 0 0 0 3px rgba(77, 96, 69, .10);
}

.fc-shop-range::after {
    left: -1px;
}

.fc-shop-range span::after {
    right: -1px;
}

.fc-shop-price-chips {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
}

.fc-shop-price-chips a {
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(47, 57, 42, .10);
    border-radius: 6px;
    background: rgba(255, 255, 255, .62);
    color: #4b4a43 !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 700;
}

.fc-shop-accordions {
    padding: 0 !important;
}

.fc-shop-accordions button {
    width: 100%;
    height: 48px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-bottom: 1px solid rgba(47, 57, 42, .10);
    background: transparent;
    color: #2f332d;
    font-family: Inter, 'Helvetica Neue', Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.fc-shop-accordions button:last-child {
    border-bottom: 0;
}

.fc-shop-accordions span {
    color: #4d6045;
    font-size: 18px;
    font-weight: 700;
}

.fc-shop-clear,
.fc-shop-apply {
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 800;
}

.fc-shop-clear {
    border: 1px solid rgba(47, 57, 42, .22);
    background: rgba(255, 253, 248, .92);
    color: #4d6045 !important;
}

.fc-shop-apply {
    border: 1px solid #31482c;
    background: #31482c;
    color: #fffdfa !important;
}

body.post-type-archive-product .wd-products-per-page,
body.tax-product_cat .wd-products-per-page,
body.tax-product_tag .wd-products-per-page,
body.post-type-archive-product .wd-products-shop-view,
body.tax-product_cat .wd-products-shop-view,
body.tax-product_tag .wd-products-shop-view {
    color: rgba(47, 57, 42, .62) !important;
    font-size: 14px !important;
}

body.post-type-archive-product .wd-products-shop-view a,
body.tax-product_cat .wd-products-shop-view a,
body.tax-product_tag .wd-products-shop-view a,
body.post-type-archive-product .wd-products-per-page a,
body.tax-product_cat .wd-products-per-page a,
body.tax-product_tag .wd-products-per-page a {
    min-width: 38px !important;
    height: 38px !important;
    border-radius: 6px !important;
}

body.post-type-archive-product .wd-products-shop-view a.current-variation,
body.tax-product_cat .wd-products-shop-view a.current-variation,
body.tax-product_tag .wd-products-shop-view a.current-variation {
    background: rgba(77, 96, 69, .12) !important;
    color: #31482c !important;
}

body.post-type-archive-product .products,
body.tax-product_cat .products,
body.tax-product_tag .products,
body.post-type-archive-product .wd-products,
body.tax-product_cat .wd-products,
body.tax-product_tag .wd-products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 26px !important;
    align-items: stretch !important;
}

body.post-type-archive-product .product-grid-item,
body.tax-product_cat .product-grid-item,
body.tax-product_tag .product-grid-item,
body.post-type-archive-product .wd-product,
body.tax-product_cat .wd-product,
body.tax-product_tag .wd-product {
    float: none !important;
    width: auto !important;
    padding: 0 !important;
}

body.post-type-archive-product .product-wrapper,
body.tax-product_cat .product-wrapper,
body.tax-product_tag .product-wrapper {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 10px !important;
}

body.post-type-archive-product .product-element-top,
body.tax-product_cat .product-element-top,
body.tax-product_tag .product-element-top {
    aspect-ratio: 1 / .93 !important;
    flex: 0 0 auto !important;
}

body.post-type-archive-product .product-element-bottom,
body.tax-product_cat .product-element-bottom,
body.tax-product_tag .product-element-bottom,
body.post-type-archive-product .wd-product .product-element-bottom,
body.tax-product_cat .wd-product .product-element-bottom,
body.tax-product_tag .wd-product .product-element-bottom {
    position: relative !important;
    flex: 1 1 auto !important;
    min-height: 118px !important;
    padding: 13px 58px 18px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
}

body.post-type-archive-product .product-element-top .wd-buttons,
body.tax-product_cat .product-element-top .wd-buttons,
body.tax-product_tag .product-element-top .wd-buttons {
    position: absolute !important;
    left: auto !important;
    right: 14px !important;
    top: 14px !important;
    bottom: auto !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    display: flex !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.post-type-archive-product .product-element-top .wd-buttons .wd-action-btn:not(.wd-wishlist-btn),
body.tax-product_cat .product-element-top .wd-buttons .wd-action-btn:not(.wd-wishlist-btn),
body.tax-product_tag .product-element-top .wd-buttons .wd-action-btn:not(.wd-wishlist-btn),
body.post-type-archive-product .product-element-top .wd-buttons .quick-view,
body.tax-product_cat .product-element-top .wd-buttons .quick-view,
body.tax-product_tag .product-element-top .wd-buttons .quick-view,
body.post-type-archive-product .product-element-top .wd-buttons .wd-compare-btn,
body.tax-product_cat .product-element-top .wd-buttons .wd-compare-btn,
body.tax-product_tag .product-element-top .wd-buttons .wd-compare-btn {
    display: none !important;
}

body.post-type-archive-product .wd-product :is(.wd-entities-title, .woocommerce-loop-product__title, .product-title),
body.tax-product_cat .wd-product :is(.wd-entities-title, .woocommerce-loop-product__title, .product-title),
body.tax-product_tag .wd-product :is(.wd-entities-title, .woocommerce-loop-product__title, .product-title),
body.post-type-archive-product .product-grid-item :is(.wd-entities-title, .woocommerce-loop-product__title, .product-title),
body.tax-product_cat .product-grid-item :is(.wd-entities-title, .woocommerce-loop-product__title, .product-title),
body.tax-product_tag .product-grid-item :is(.wd-entities-title, .woocommerce-loop-product__title, .product-title) {
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 0 8px !important;
    text-align: left !important;
}

body.post-type-archive-product .wd-product .star-rating,
body.tax-product_cat .wd-product .star-rating,
body.tax-product_tag .wd-product .star-rating,
body.post-type-archive-product .product-grid-item .star-rating,
body.tax-product_cat .product-grid-item .star-rating,
body.tax-product_tag .product-grid-item .star-rating,
body.post-type-archive-product .wd-product .wd-star-rating,
body.tax-product_cat .wd-product .wd-star-rating,
body.tax-product_tag .wd-product .wd-star-rating {
    margin: 0 0 9px !important;
    align-self: flex-start !important;
}

body.post-type-archive-product .wd-product .price,
body.tax-product_cat .wd-product .price,
body.tax-product_tag .wd-product .price,
body.post-type-archive-product .product-grid-item .price,
body.tax-product_cat .product-grid-item .price,
body.tax-product_tag .product-grid-item .price {
    margin: auto 0 0 !important;
    text-align: left !important;
}

body.post-type-archive-product .wd-add-btn,
body.tax-product_cat .wd-add-btn,
body.tax-product_tag .wd-add-btn {
    position: static !important;
}

body.post-type-archive-product .wd-add-btn a,
body.tax-product_cat .wd-add-btn a,
body.tax-product_tag .wd-add-btn a,
body.post-type-archive-product .add_to_cart_button,
body.tax-product_cat .add_to_cart_button,
body.tax-product_tag .add_to_cart_button {
    right: 12px !important;
    bottom: 12px !important;
}

@media (max-width: 1200px) {
    body.post-type-archive-product .products,
    body.tax-product_cat .products,
    body.tax-product_tag .products,
    body.post-type-archive-product .wd-products,
    body.tax-product_cat .wd-products,
    body.tax-product_tag .wd-products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    body.post-type-archive-product .sidebar-container,
    body.tax-product_cat .sidebar-container,
    body.tax-product_tag .sidebar-container,
    body.post-type-archive-product .wd-sidebar,
    body.tax-product_cat .wd-sidebar,
    body.tax-product_tag .wd-sidebar,
    body.post-type-archive-product aside.sidebar,
    body.tax-product_cat aside.sidebar,
    body.tax-product_tag aside.sidebar {
        width: 100% !important;
        max-width: none !important;
        flex-basis: auto !important;
        padding-right: 0 !important;
        margin-bottom: 24px !important;
    }

    body.post-type-archive-product .products,
    body.tax-product_cat .products,
    body.tax-product_tag .products,
    body.post-type-archive-product .wd-products,
    body.tax-product_cat .wd-products,
    body.tax-product_tag .wd-products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ---- Best seller editorial crystal grid ---- */
.fc-best-seller {
    width: min(1420px, calc(100vw - 32px));
    max-width: none;
    min-height: 760px;
    margin: 82px 0;
    padding: 44px 44px 54px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
    color: #4a3f35;
    font-family: 'Noto Serif SC', 'SimSun', 'Songti SC', 'PingFang SC', 'Microsoft YaHei', serif;
    background:
        radial-gradient(circle at 18% 16%, rgba(176, 132, 82, .11), transparent 24%),
        radial-gradient(circle at 74% 18%, rgba(126, 148, 126, .10), transparent 24%),
        linear-gradient(135deg, rgba(255, 253, 248, .72), rgba(250, 246, 240, .30));
}

.fc-bs-heading {
    position: absolute;
    left: 50px;
    top: 42px;
    z-index: 3;
}

.fc-bs-heading p {
    margin: 0;
    color: rgba(176, 132, 82, .13);
    font-size: 44px;
    font-weight: 500;
    letter-spacing: 4px;
    line-height: .92;
}

.fc-bs-heading h2 {
    margin: -2px 0 14px;
    color: #3f352c;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 2px;
}

.fc-bs-heading span {
    display: block;
    width: 32px;
    height: 2px;
    background: #b08452;
}

.fc-bs-stage {
    position: relative;
    min-height: 650px;
}

.fc-bs-line {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    border: 1px solid rgba(176, 132, 82, .24);
    border-left-color: transparent;
    border-top-color: transparent;
    border-radius: 50%;
}

.fc-bs-line::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c5a25d;
    box-shadow: 0 0 0 7px rgba(197, 162, 93, .10);
}

.fc-bs-line-1 {
    left: 42px;
    top: 94px;
    width: 610px;
    height: 430px;
    transform: rotate(-7deg);
}

.fc-bs-line-1::after {
    right: 62px;
    bottom: 12px;
}

.fc-bs-line-2 {
    left: 420px;
    top: 280px;
    width: 500px;
    height: 330px;
    transform: rotate(16deg);
}

.fc-bs-line-2::after {
    left: 42px;
    bottom: -2px;
}

.fc-bs-seal {
    position: absolute;
    left: 50%;
    top: 330px;
    z-index: 3;
    width: 74px;
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateX(-50%);
    border: 1px solid rgba(176, 132, 82, .24);
    border-radius: 50%;
    color: rgba(176, 132, 82, .72);
    background: rgba(255, 253, 248, .72);
    font-family: 'Ma Shan Zheng', 'Noto Serif SC', serif;
    font-size: 30px;
}

.fc-bs-seal img {
    max-width: 54px;
    max-height: 54px;
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
    opacity: .78;
}

.fc-bs-seal span {
    display: block;
    line-height: 1;
}

.fc-bs-item {
    position: absolute;
    z-index: 2;
    display: grid;
    grid-template-columns: 180px 300px;
    gap: 26px;
    align-items: center;
}

.fc-bs-item-1 {
    left: 100px;
    top: 92px;
}

.fc-bs-item-2 {
    right: 118px;
    top: 84px;
    grid-template-columns: 190px 300px;
}

.fc-bs-item-3 {
    left: 72px;
    bottom: 32px;
}

.fc-bs-item-4 {
    right: 92px;
    bottom: 24px;
    grid-template-columns: 190px 300px;
}

.fc-bs-copy {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.fc-bs-num {
    margin-bottom: 8px;
    color: #bd9856;
    font-size: 38px;
    line-height: 1;
    font-weight: 500;
}

.fc-bs-copy h3 {
    margin: 0 0 10px;
    color: #51463b;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0;
}

.fc-bs-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 10px;
}

.fc-bs-tags span {
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(176, 132, 82, .11);
    color: #987142;
    font-size: 11px;
    line-height: 1.4;
}

.fc-bs-copy p {
    max-width: 150px;
    margin: 0 0 10px;
    color: rgba(74, 63, 53, .72);
    font-size: 13px;
    line-height: 1.72;
}

.fc-bs-price,
.fc-bs-price .woocommerce-Price-amount {
    color: #9a7545;
    font-size: 18px;
    font-weight: 600;
}

.fc-bs-link {
    width: 30px;
    height: 30px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-top: 12px;
    border-radius: 50%;
    background: #bd9856;
    color: #fffdfa !important;
    text-decoration: none !important;
    font-size: 18px;
    line-height: 1;
    box-shadow: 0 10px 22px rgba(176, 132, 82, .20);
    transition: transform .22s ease, box-shadow .22s ease;
}

.fc-bs-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(176, 132, 82, .28);
}

.fc-bs-photo {
    width: 300px;
    height: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: 48% 52% 45% 55% / 42% 52% 48% 58%;
    background:
        radial-gradient(circle at 42% 34%, rgba(255, 253, 248, .52), transparent 26%),
        #eee7dc;
    text-decoration: none !important;
    box-shadow: 0 22px 46px rgba(74, 63, 53, .10);
}

.fc-bs-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .45s ease;
}

.fc-bs-photo span {
    width: 96px;
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #c9a766, #8b6914);
    color: #fffdfa;
    font-family: 'Ma Shan Zheng', 'Noto Serif SC', serif;
    font-size: 42px;
}

.fc-bs-photo:hover img {
    transform: scale(1.045);
}

.fc-bs-item-2 .fc-bs-photo,
.fc-bs-item-4 .fc-bs-photo {
    order: 2;
}

@media (max-width: 1100px) {
    .fc-best-seller {
        min-height: 0;
        padding: 34px 24px;
    }

    .fc-bs-heading {
        position: relative;
        left: auto;
        top: auto;
        margin-bottom: 28px;
    }

    .fc-bs-stage {
        min-height: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 24px;
    }

    .fc-bs-line,
    .fc-bs-seal {
        display: none;
    }

    .fc-bs-item,
    .fc-bs-item-1,
    .fc-bs-item-2,
    .fc-bs-item-3,
    .fc-bs-item-4 {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        grid-template-columns: minmax(0, 170px) minmax(0, 1fr);
        gap: 18px;
    }

    .fc-bs-photo {
        width: 100%;
        height: 190px;
    }
}

@media (max-width: 680px) {
    .fc-best-seller {
        width: min(100%, calc(100vw - 22px));
        left: auto;
        transform: none;
        margin: 46px auto;
        padding: 28px 14px;
    }

    .fc-bs-heading p {
        font-size: 34px;
    }

    .fc-bs-heading h2 {
        font-size: 24px;
    }

    .fc-bs-stage {
        grid-template-columns: 1fr;
    }

    .fc-bs-item,
    .fc-bs-item-1,
    .fc-bs-item-2,
    .fc-bs-item-3,
    .fc-bs-item-4 {
        grid-template-columns: 1fr;
    }

    .fc-bs-photo {
        order: -1;
        height: 230px;
    }

    .fc-bs-copy p {
        max-width: none;
    }
}

/* Bazi knowledge module */
.fc-knowledge-panel {
    position: relative;
    width: min(1240px, calc(100% - 36px));
    margin: 58px auto;
    padding: 46px 34px 38px;
    overflow: hidden;
    color: #2f2923;
    background:
        radial-gradient(circle at 4% 4%, rgba(73, 91, 65, .12), transparent 22%),
        radial-gradient(circle at 96% 7%, rgba(179, 151, 103, .16), transparent 24%),
        linear-gradient(135deg, rgba(255, 253, 248, .94), rgba(247, 242, 232, .86));
    border: 1px solid rgba(190, 154, 101, .18);
    border-radius: 30px;
    box-shadow: 0 28px 78px rgba(74, 63, 53, .08);
    font-family: "Noto Serif SC", "Songti SC", SimSun, serif;
}

.fc-knowledge-bg {
    position: absolute;
    pointer-events: none;
    opacity: .18;
    filter: blur(.2px);
}

.fc-knowledge-bg-left {
    left: -40px;
    top: 36px;
    width: 230px;
    height: 190px;
    background:
        linear-gradient(125deg, transparent 43%, rgba(41, 58, 46, .34) 44%, transparent 45%),
        linear-gradient(108deg, transparent 53%, rgba(41, 58, 46, .24) 54%, transparent 55%),
        radial-gradient(ellipse at 28% 86%, rgba(41, 58, 46, .16), transparent 48%);
}

.fc-knowledge-bg-right {
    right: -12px;
    top: 8px;
    width: 330px;
    height: 220px;
    background:
        radial-gradient(ellipse at 58% 72%, rgba(67, 80, 66, .16), transparent 48%),
        linear-gradient(145deg, transparent 58%, rgba(67, 80, 66, .18) 59%, transparent 61%);
}

.fc-knowledge-head {
    position: relative;
    z-index: 1;
    text-align: center;
    margin-bottom: 30px;
}

.fc-knowledge-sub {
    font-family: Georgia, serif;
    letter-spacing: 9px;
    font-size: 13px;
    color: #8d714d;
    margin-bottom: 10px;
}

.fc-knowledge-head h2 {
    margin: 0;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.12;
    font-weight: 700;
    color: #181510;
}

.fc-knowledge-head p {
    margin: 12px 0 0;
    color: #7a6a5d;
    font-size: 17px;
}

.fc-knowledge-tabs {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 18px;
    margin: 0 auto 22px;
}

.fc-knowledge-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    border: 1px solid rgba(174, 141, 91, .18);
    border-radius: 999px;
    background: rgba(255, 253, 248, .72);
    color: #4c4034;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(74, 63, 53, .04);
    transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}

.fc-knowledge-tab span,
.fc-knowledge-card span,
.fc-knowledge-points span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #b98a45, #815f2e);
    font-size: 14px;
}

.fc-knowledge-tab:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(74, 63, 53, .08);
}

.fc-knowledge-tab.active {
    color: #fff;
    background: linear-gradient(135deg, #263c2d, #526647);
    box-shadow: 0 16px 34px rgba(39, 58, 45, .18);
}

.fc-knowledge-tab.active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -9px;
    width: 16px;
    height: 16px;
    background: #4e6347;
    transform: translateX(-50%) rotate(45deg);
    border-radius: 2px;
}

.fc-knowledge-tab.active span {
    background: rgba(255, 253, 248, .18);
}

.fc-knowledge-panes {
    position: relative;
    z-index: 1;
}

.fc-knowledge-pane {
    display: none;
}

.fc-knowledge-pane.active {
    display: block;
    animation: fcKnowledgeIn .46s ease both;
}

@keyframes fcKnowledgeIn {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

.fc-knowledge-main {
    display: grid;
    grid-template-columns: 300px minmax(360px, 1fr) 300px;
    gap: 28px;
    min-height: 365px;
    padding: 30px;
    border: 1px solid rgba(183, 145, 92, .20);
    border-radius: 24px;
    background: rgba(255, 253, 248, .76);
    box-shadow: inset 0 0 0 1px rgba(255, 253, 248, .58), 0 18px 44px rgba(74, 63, 53, .045);
}

.fc-knowledge-intro {
    position: relative;
    min-height: 300px;
    padding-right: 22px;
    border-right: 1px solid rgba(184, 151, 102, .16);
}

.fc-knowledge-intro h3 {
    margin: 0 0 4px;
    color: #17140f;
    font-size: 42px;
    line-height: 1.1;
}

.fc-knowledge-intro small {
    display: block;
    margin-bottom: 22px;
    color: #b1844e;
    font-family: Georgia, serif;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.fc-knowledge-intro p {
    margin: 0;
    font-size: 17px;
    line-height: 2;
    color: #4e463d;
}

.fc-knowledge-landscape {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 92%;
    height: 90px;
    opacity: .28;
    background:
        radial-gradient(ellipse at 22% 90%, rgba(61, 74, 58, .34), transparent 44%),
        radial-gradient(ellipse at 58% 100%, rgba(61, 74, 58, .23), transparent 46%),
        linear-gradient(165deg, transparent 55%, rgba(61, 74, 58, .28) 56%, transparent 58%);
}

.fc-knowledge-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 305px;
    overflow: hidden;
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 253, 248, .92), rgba(247, 241, 230, .54) 46%, transparent 64%);
}

.fc-knowledge-visual::before {
    content: "";
    position: absolute;
    inset: 20px;
    border-radius: 999px;
    border: 1px solid rgba(183, 145, 92, .14);
}

.fc-wuxing-cycle,
.fc-annual-flow,
.fc-relation-map,
.fc-luck-line {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.fc-wuxing-cycle-muted {
    position: absolute;
    bottom: 40px;
    opacity: .76;
}

.fc-knowledge-orb,
.fc-relation-map span,
.fc-annual-flow span,
.fc-luck-line span,
.fc-ten-grid span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    min-height: 64px;
    padding: 8px 12px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #6b8568, #b98a45);
    box-shadow: 0 14px 28px rgba(74, 63, 53, .12);
    font-size: 20px;
    font-weight: 700;
}

.fc-wuxing-cycle i {
    color: #b1844e;
    font-style: normal;
    font-size: 22px;
}

.fc-knowledge-person {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 156px;
    height: 156px;
    border-radius: 50%;
    color: #5f4b30;
    background: rgba(255, 253, 248, .88);
    box-shadow: inset 0 0 0 10px rgba(185, 138, 69, .12), 0 20px 42px rgba(74, 63, 53, .10);
}

.fc-knowledge-person strong {
    font-size: 54px;
    line-height: 1;
}

.fc-knowledge-person span {
    font-size: 13px;
    color: #927650;
}

.fc-orbit-dot {
    position: absolute;
    z-index: 3;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #6f8667, #c69b55);
    box-shadow: 0 10px 22px rgba(74, 63, 53, .12);
}

.fc-orbit-dot.dot-1 { top: 36px; left: 50%; transform: translateX(-50%); }
.fc-orbit-dot.dot-2 { top: 112px; right: 82px; }
.fc-orbit-dot.dot-3 { bottom: 44px; right: 132px; }
.fc-orbit-dot.dot-4 { bottom: 44px; left: 132px; }
.fc-orbit-dot.dot-5 { top: 112px; left: 82px; }

.fc-relation-map span,
.fc-annual-flow span {
    min-width: 92px;
    background: rgba(255, 253, 248, .88);
    color: #4c4034;
    border: 1px solid rgba(183, 145, 92, .18);
}

.fc-relation-map span:nth-child(3),
.fc-annual-flow span:last-child {
    background: linear-gradient(135deg, #bd914d, #8d6a37);
    color: #fff;
}

.fc-ten-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, minmax(80px, 1fr));
    gap: 14px;
    width: 100%;
    max-width: 540px;
}

.fc-ten-grid span {
    min-width: 0;
    min-height: 58px;
    border-radius: 16px;
    background: rgba(255, 253, 248, .86);
    color: #4b4035;
    border: 1px solid rgba(183, 145, 92, .18);
}

.fc-luck-line span {
    min-width: 76px;
    min-height: 42px;
    border-radius: 999px;
    background: rgba(255, 253, 248, .86);
    color: #8a6633;
    border: 1px solid rgba(183, 145, 92, .16);
    font-size: 14px;
}

.fc-palace-wheel {
    position: relative;
    z-index: 1;
    width: 290px;
    height: 290px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: radial-gradient(circle, rgba(255,253,248,.96), rgba(236,229,214,.72));
    box-shadow: inset 0 0 0 1px rgba(183, 145, 92, .16);
}

.fc-palace-wheel strong {
    width: 116px;
    height: 116px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    text-align: center;
    color: #fff;
    background: linear-gradient(135deg, #263c2d, #6e7d5b);
}

.fc-palace-wheel span {
    position: absolute;
    color: #5a4a3a;
    font-weight: 700;
}

.palace-1 { top: 12px; left: 112px; }
.palace-2 { top: 64px; right: -10px; }
.palace-3 { top: 168px; right: -8px; }
.palace-4 { bottom: 8px; right: 84px; }
.palace-5 { bottom: 8px; left: 84px; }
.palace-6 { top: 168px; left: -8px; }
.palace-7 { top: 64px; left: -10px; }

.fc-knowledge-points {
    display: grid;
    gap: 18px;
}

.fc-knowledge-points div {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px 0 16px;
    border-bottom: 1px dashed rgba(174, 141, 91, .22);
}

.fc-knowledge-points p {
    margin: 0;
    color: #50463d;
    font-size: 15px;
    line-height: 1.8;
}

.fc-knowledge-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.fc-knowledge-card {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 10px 14px;
    min-height: 116px;
    padding: 22px 24px;
    border-radius: 18px;
    color: #3d342c;
    text-decoration: none;
    background: rgba(255, 253, 248, .72);
    border: 1px solid rgba(174, 141, 91, .14);
    box-shadow: 0 14px 30px rgba(74, 63, 53, .045);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.fc-knowledge-card:hover,
.fc-knowledge-card.active {
    transform: translateY(-3px);
    border-color: rgba(177, 132, 64, .34);
    box-shadow: 0 18px 36px rgba(74, 63, 53, .075);
}

.fc-knowledge-card span {
    grid-row: span 3;
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg, #6d8667, #b98a45);
}

.fc-knowledge-card strong {
    font-size: 20px;
    color: #201a16;
}

.fc-knowledge-card p {
    margin: 0;
    color: #6b5e51;
    line-height: 1.65;
    font-size: 14px;
}

.fc-knowledge-card em {
    color: #9b7139;
    font-style: normal;
    font-weight: 700;
}

#fc-app .fc-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

#fc-app .fc-section-heading .fc-section-title {
    margin-bottom: 0 !important;
}

#fc-app .fc-section-help,
#fc-app .fc-knowledge-quick a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 14px;
    border-radius: 999px;
    color: #8c6634;
    background: rgba(255, 253, 248, .86);
    border: 1px solid rgba(174, 141, 91, .18);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(74, 63, 53, .045);
}

#fc-app .fc-section-help.primary {
    color: #fff;
    background: linear-gradient(135deg, #a1742d, #b4834a);
}

#fc-app .fc-knowledge-quick {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 4px 0 22px;
    color: #8a7664;
}

@media (max-width: 980px) {
    .fc-knowledge-tabs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .fc-knowledge-main {
        grid-template-columns: 1fr;
    }

    .fc-knowledge-intro {
        padding-right: 0;
        padding-bottom: 22px;
        border-right: 0;
        border-bottom: 1px solid rgba(184, 151, 102, .16);
    }

    .fc-knowledge-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .fc-knowledge-panel {
        width: min(100% - 18px, 1240px);
        padding: 34px 14px 24px;
        border-radius: 22px;
    }

    .fc-knowledge-sub {
        letter-spacing: 4px;
    }

    .fc-knowledge-head h2 {
        font-size: 32px;
    }

    .fc-knowledge-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .fc-knowledge-main {
        padding: 18px;
    }

    .fc-knowledge-intro h3 {
        font-size: 34px;
    }

    .fc-ten-grid,
    .fc-knowledge-cards {
        grid-template-columns: 1fr;
    }

    .fc-knowledge-visual {
        min-height: 280px;
    }

    #fc-app .fc-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

.fc-knowledge-panel::before {
    content: "";
    position: absolute;
    inset: -34% -10% auto;
    height: 430px;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 253, 248, .88), transparent 28%),
        conic-gradient(from 120deg, transparent, rgba(187, 145, 75, .16), rgba(55, 78, 58, .12), transparent 72%);
    opacity: .75;
    filter: blur(18px);
    animation: fcMysticSweep 16s ease-in-out infinite alternate;
}

.fc-knowledge-panel::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 175px;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(185, 138, 69, .42), rgba(45, 65, 49, .20), rgba(185, 138, 69, .42), transparent);
    opacity: .55;
}

@keyframes fcMysticSweep {
    from { transform: translate3d(-3%, -1%, 0) rotate(-2deg); }
    to { transform: translate3d(3%, 1%, 0) rotate(2deg); }
}

.fc-knowledge-head h2 {
    text-shadow: 0 8px 24px rgba(74, 63, 53, .08);
}

.fc-knowledge-tabs {
    padding: 8px;
    border-radius: 999px;
    background: rgba(255, 253, 248, .38);
    box-shadow: inset 0 0 0 1px rgba(184, 151, 102, .10);
}

.fc-knowledge-tab {
    min-height: 48px;
    overflow: visible;
    backdrop-filter: blur(10px);
}

.fc-knowledge-tab.active {
    transform: translateY(-1px);
}

.fc-knowledge-main {
    position: relative;
    overflow: hidden;
    grid-template-columns: 310px minmax(380px, 1fr) 310px;
    min-height: 410px;
    padding: 34px;
    background:
        linear-gradient(90deg, rgba(255,253,248,.88), rgba(255,253,248,.62), rgba(255,253,248,.84)),
        radial-gradient(circle at 50% 52%, rgba(186, 153, 93, .14), transparent 36%);
}

.fc-knowledge-main::before {
    content: "";
    position: absolute;
    left: 23%;
    top: 20%;
    width: 54%;
    height: 72%;
    border-radius: 999px;
    background:
        radial-gradient(ellipse at 50% 50%, rgba(255, 253, 248, .12), transparent 46%),
        linear-gradient(135deg, transparent 24%, rgba(206, 195, 173, .34) 25%, rgba(206, 195, 173, .18) 58%, transparent 59%);
    transform: rotate(-37deg);
    opacity: .52;
}

.fc-knowledge-main::after {
    content: "";
    position: absolute;
    left: 38%;
    top: 16%;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    border: 1px solid rgba(180, 136, 70, .18);
    box-shadow:
        0 0 0 32px rgba(255, 253, 248, .20),
        0 0 0 68px rgba(68, 86, 67, .04);
    animation: fcSlowTurn 20s linear infinite;
}

@keyframes fcSlowTurn {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.fc-knowledge-intro,
.fc-knowledge-visual,
.fc-knowledge-points {
    position: relative;
    z-index: 1;
}

.fc-knowledge-visual {
    min-height: 340px;
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 253, 248, .98), rgba(245, 238, 225, .70) 44%, rgba(230, 222, 205, .12) 72%, transparent 76%),
        linear-gradient(135deg, rgba(255, 253, 248, .32), rgba(74, 91, 66, .055));
}

.fc-knowledge-visual::before {
    inset: 30px 42px;
    border-color: rgba(183, 145, 92, .18);
    box-shadow: inset 0 0 36px rgba(185, 138, 69, .07);
    animation: fcPulseHalo 4.8s ease-in-out infinite;
}

.fc-knowledge-visual::after {
    content: "";
    position: absolute;
    inset: 56px 82px;
    border-radius: 999px;
    border: 1px dashed rgba(77, 97, 72, .18);
    animation: fcSlowTurn 28s linear infinite reverse;
}

@keyframes fcPulseHalo {
    0%, 100% { opacity: .52; transform: scale(.98); }
    50% { opacity: 1; transform: scale(1.02); }
}

.fc-knowledge-orb,
.fc-relation-map span,
.fc-annual-flow span,
.fc-luck-line span,
.fc-ten-grid span,
.fc-orbit-dot {
    animation: fcOrbFloat 4.6s ease-in-out infinite;
}

.fc-knowledge-orb:nth-of-type(2),
.fc-relation-map span:nth-child(2),
.fc-annual-flow span:nth-child(2),
.fc-luck-line span:nth-child(2),
.fc-ten-grid span:nth-child(2) {
    animation-delay: .25s;
}

.fc-knowledge-orb:nth-of-type(3),
.fc-relation-map span:nth-child(3),
.fc-annual-flow span:nth-child(3),
.fc-luck-line span:nth-child(3),
.fc-ten-grid span:nth-child(3) {
    animation-delay: .5s;
}

@keyframes fcOrbFloat {
    0%, 100% { transform: translateY(0); box-shadow: 0 14px 28px rgba(74, 63, 53, .12); }
    50% { transform: translateY(-7px); box-shadow: 0 22px 34px rgba(74, 63, 53, .16); }
}

.fc-wuxing-cycle:first-child {
    transform: translateY(-34px);
}

.fc-wuxing-cycle-muted {
    bottom: 58px;
    filter: saturate(.92);
}

.fc-knowledge-visual-daymaster .fc-knowledge-person,
.fc-knowledge-visual-xiyong .fc-relation-map,
.fc-knowledge-visual-tengods .fc-ten-grid,
.fc-knowledge-visual-luck .fc-luck-line,
.fc-knowledge-visual-annual .fc-annual-flow,
.fc-knowledge-visual-palace .fc-palace-wheel {
    transform: scale(1.04);
}

.fc-relation-map,
.fc-annual-flow {
    gap: 22px;
}

.fc-relation-map span::after,
.fc-annual-flow span::after {
    content: "";
    position: absolute;
}

.fc-ten-grid span {
    position: relative;
    overflow: hidden;
}

.fc-ten-grid span::before,
.fc-luck-line span::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent, rgba(255,255,255,.46), transparent);
    transform: translateX(-130%);
    animation: fcShimmer 4.2s ease-in-out infinite;
}

@keyframes fcShimmer {
    0%, 35% { transform: translateX(-130%); }
    65%, 100% { transform: translateX(130%); }
}

.fc-knowledge-points div {
    min-height: 82px;
    align-items: center;
    padding: 16px 14px;
    border-bottom: 1px dashed rgba(174, 141, 91, .18);
    border-radius: 14px;
    background: linear-gradient(90deg, rgba(255,253,248,.42), transparent);
}

.fc-knowledge-card.active {
    display: none;
}

.fc-knowledge-card:hover {
    transform: translateY(-5px) scale(1.01);
}

#fc-app .fc-section-help,
#fc-app .fc-knowledge-quick a {
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

#fc-app .fc-section-help:hover,
#fc-app .fc-knowledge-quick a:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 26px rgba(137, 99, 49, .12);
}

@media (max-width: 980px) {
    .fc-knowledge-tabs {
        border-radius: 22px;
    }

    .fc-knowledge-main {
        grid-template-columns: 1fr;
    }
}

.fc-wuxing-board,
.fc-daymaster-board,
.fc-xiyong-board,
.fc-ten-board,
.fc-luck-board,
.fc-annual-board {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 320px;
}

.fc-wuxing-board {
    display: grid;
    align-content: center;
    gap: 34px;
}

.fc-flow-row {
    position: relative;
    display: grid;
    grid-template-columns: 70px repeat(5, minmax(64px, 1fr));
    align-items: center;
    gap: 12px;
}

.fc-flow-row::before {
    content: "";
    position: absolute;
    left: 92px;
    right: 12px;
    top: 50%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(180, 136, 70, .42), transparent);
}

.fc-flow-row b {
    justify-self: start;
    min-width: 54px;
    padding: 7px 14px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #304b37, #5a704d);
    font-size: 14px;
    box-shadow: 0 12px 22px rgba(45, 65, 49, .14);
}

.fc-flow-row-reverse b {
    background: linear-gradient(135deg, #b98a45, #8c6636);
}

.fc-flow-row span {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 8px;
}

.fc-flow-row span::after {
    content: "→";
    position: absolute;
    right: -17px;
    top: 22px;
    color: rgba(154, 111, 52, .72);
    font-family: Georgia, serif;
}

.fc-flow-row span:last-child::after {
    display: none;
}

.fc-flow-row i {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    color: #fff;
    font-style: normal;
    font-size: 25px;
    font-weight: 700;
    background:
        radial-gradient(circle at 35% 25%, rgba(255,255,255,.36), transparent 28%),
        linear-gradient(135deg, #6e8768, #bf8e43);
    box-shadow: 0 16px 28px rgba(74, 63, 53, .14);
    animation: fcOrbFloat 4.8s ease-in-out infinite;
}

.fc-flow-row em {
    color: #5c5147;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
}

.fc-daymaster-board {
    display: grid;
    place-items: center;
}

.fc-daymaster-board::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background:
        repeating-conic-gradient(from 0deg, rgba(183,145,92,.12) 0deg 2deg, transparent 2deg 30deg),
        radial-gradient(circle, rgba(255,253,248,.18), rgba(229,218,196,.30), transparent 72%);
    animation: fcSlowTurn 32s linear infinite;
}

.fc-daymaster-board small {
    position: absolute;
    bottom: 18px;
    color: #927650;
    letter-spacing: 1px;
}

.fc-xiyong-board {
    display: grid;
    place-items: center;
}

.fc-xiyong-board .node {
    position: absolute;
    display: grid;
    place-items: center;
    width: 94px;
    height: 94px;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    font-weight: 700;
    background:
        radial-gradient(circle at 32% 25%, rgba(255,255,255,.34), transparent 26%),
        linear-gradient(135deg, #6d8667, #b78a45);
    box-shadow: 0 18px 34px rgba(74, 63, 53, .16);
    animation: fcOrbFloat 5s ease-in-out infinite;
}

.fc-xiyong-board .node small {
    display: block;
    margin-top: 4px;
    color: rgba(255,255,255,.82);
    font-size: 11px;
    font-weight: 400;
}

.fc-xiyong-board .node-fate {
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #d1b06a, #8f6b38);
}

.fc-xiyong-board .node-day { left: 54px; top: 140px; }
.fc-xiyong-board .node-good { right: 54px; top: 140px; }
.fc-xiyong-board .node-bad {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #bd6f61, #92514b);
}

.fc-xiyong-board .line {
    position: absolute;
    width: 170px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(70, 94, 68, .45), transparent);
    transform-origin: center;
}

.fc-xiyong-board .line-1 { top: 122px; left: 132px; transform: rotate(26deg); }
.fc-xiyong-board .line-2 { top: 122px; right: 132px; transform: rotate(-26deg); }
.fc-xiyong-board .line-3 { bottom: 106px; left: 132px; transform: rotate(-28deg); }
.fc-xiyong-board .line-4 { bottom: 106px; right: 132px; transform: rotate(28deg); }

.fc-ten-board {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-content: center;
}

.fc-ten-board div {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 16px;
    min-height: 88px;
    border-radius: 16px;
    border: 1px solid rgba(183, 145, 92, .18);
    background: rgba(255, 253, 248, .72);
    box-shadow: 0 14px 28px rgba(74, 63, 53, .045);
}

.fc-ten-board div:last-child {
    grid-column: 1 / -1;
    width: 70%;
    justify-self: center;
}

.fc-ten-board strong {
    grid-column: 1 / -1;
    color: #8d6938;
    text-align: center;
}

.fc-ten-board span {
    display: grid;
    place-items: center;
    min-height: 34px;
    border-radius: 999px;
    color: #3f352d;
    background: rgba(246, 238, 226, .78);
    font-weight: 700;
}

.fc-luck-board {
    display: grid;
    align-content: center;
    gap: 22px;
}

.fc-luck-rule {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.fc-luck-rule span {
    padding: 14px 18px;
    border-radius: 14px;
    color: #5a4a38;
    background: rgba(255,253,248,.72);
    border: 1px solid rgba(183, 145, 92, .14);
    font-weight: 700;
}

.fc-luck-board .fc-luck-line {
    display: flex;
    gap: 8px;
}

.fc-luck-board .fc-luck-line span {
    display: grid;
    gap: 3px;
    min-width: 0;
    flex: 1;
    min-height: 58px;
    padding: 9px 8px;
}

.fc-luck-board .fc-luck-line b {
    color: #8d6938;
}

.fc-luck-board .fc-luck-line em {
    color: #6d6257;
    font-size: 11px;
    font-style: normal;
}

.fc-luck-board p,
.fc-annual-board p {
    margin: 0;
    padding: 12px 18px;
    border-radius: 999px;
    color: #8d6938;
    background: rgba(246, 238, 226, .72);
    text-align: center;
    font-weight: 700;
}

.fc-annual-board {
    display: grid;
    align-content: center;
    gap: 28px;
}

.fc-annual-board .fc-annual-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.fc-annual-board .fc-annual-flow span {
    position: relative;
    min-width: 0;
    min-height: 76px;
}

.fc-annual-board .fc-annual-flow span:not(:last-child)::after {
    content: "+";
    position: absolute;
    right: -18px;
    color: #a77c3e;
    font-size: 24px;
}

.fc-annual-board .fc-annual-flow span:nth-child(3)::after {
    content: "→";
}

.fc-annual-effects {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.fc-annual-effects span {
    min-height: 72px;
    padding: 14px 12px;
    border-radius: 16px;
    color: #4d443b;
    background: rgba(255,253,248,.70);
    border: 1px solid rgba(183, 145, 92, .15);
    font-size: 13px;
    line-height: 1.5;
}

.fc-knowledge-card {
    min-height: 132px;
    background:
        radial-gradient(circle at 0 0, rgba(108,132,101,.10), transparent 34%),
        rgba(255, 253, 248, .78);
}

.fc-knowledge-card.active {
    display: none !important;
}

@media (max-width: 980px) {
    .fc-flow-row,
    .fc-annual-board .fc-annual-flow,
    .fc-annual-effects {
        grid-template-columns: 1fr;
    }

    .fc-flow-row::before,
    .fc-flow-row span::after,
    .fc-annual-board .fc-annual-flow span::after {
        display: none;
    }

    .fc-ten-board,
    .fc-luck-rule {
        grid-template-columns: 1fr;
    }

    .fc-ten-board div:last-child {
        width: 100%;
    }
}

/* ---- Soft connected campaign layout ---- */
.fc-hot-sale {
    margin-top: 64px;
    margin-bottom: 0;
    padding: 56px 34px 22px;
    border-radius: 30px 30px 0 0;
    background:
        radial-gradient(circle at 88% 12%, rgba(139, 151, 129, .10), transparent 25%),
        radial-gradient(circle at 4% 4%, rgba(55, 74, 51, .08), transparent 20%),
        linear-gradient(180deg, rgba(255,253,248,.86), rgba(247,242,233,.58));
    box-shadow: 0 22px 58px rgba(74, 63, 53, .06);
}

.fc-flash-sale {
    margin-top: 0;
    margin-bottom: 64px;
    padding: 0 34px 36px;
    border-radius: 0 0 30px 30px;
    background:
        radial-gradient(circle at 10% 100%, rgba(74, 86, 65, .11), transparent 24%),
        linear-gradient(180deg, rgba(247,242,233,.58), rgba(250,246,240,.80));
    box-shadow: 0 26px 62px rgba(74, 63, 53, .07);
}

.fc-hot-sale + .fc-flash-sale {
    margin-top: -6px;
}

.fc-hot-more {
    margin-top: 22px;
    margin-bottom: 20px;
}

.fc-flash-more {
    margin-top: 20px;
}

.fc-hot-card,
.fc-flash-card {
    border-radius: 18px;
    border-color: rgba(176, 132, 82, .10);
    background: rgba(255, 253, 248, .84);
    box-shadow: 0 18px 40px rgba(74, 63, 53, .065);
    overflow: hidden;
}

.fc-hot-card::before,
.fc-hot-card::after,
.fc-hot-photo::before,
.fc-hot-photo::after {
    display: none;
}

.fc-hot-photo {
    height: 276px;
    border-radius: 14px;
    background:
        radial-gradient(circle at 50% 40%, rgba(255,253,248,.45), transparent 38%),
        #eee6da;
}

.fc-hot-photo b {
    left: 16px;
    top: 16px;
    width: 34px;
    min-height: 76px;
    border-radius: 999px;
    box-shadow: 0 10px 20px rgba(137, 100, 50, .18);
}

.fc-hot-info {
    padding: 18px 28px 2px;
}

.fc-hot-info h3,
.fc-flash-info h3 {
    color: #332a24;
}

.fc-flash-inner {
    min-height: 330px;
    padding: 34px 34px 28px;
    border-radius: 24px;
    border-color: rgba(74, 86, 65, .14);
    background:
        radial-gradient(circle at 7% 94%, rgba(74, 86, 65, .13), transparent 22%),
        linear-gradient(180deg, rgba(245, 242, 231, .72), rgba(238, 234, 219, .54));
    box-shadow: inset 0 0 0 1px rgba(255, 253, 248, .50);
}

.fc-flash-inner::before,
.fc-flash-inner::after {
    display: none;
}

.fc-flash-card {
    border-radius: 16px;
}

.fc-flash-photo {
    height: 184px;
    border-radius: 14px 14px 0 0;
}

.fc-flash-photo b {
    border-radius: 0 0 14px 0;
    box-shadow: 0 10px 20px rgba(168, 51, 45, .16);
}

.fc-flash-aside > span {
    border-radius: 999px;
    box-shadow: 0 14px 28px rgba(41, 58, 46, .16);
}

.fc-hot-more a,
.fc-flash-more a,
.fc-flash-cta {
    background: rgba(255, 253, 248, .82);
    box-shadow: 0 10px 24px rgba(74, 63, 53, .055);
}

@media (max-width: 680px) {
    .fc-hot-sale {
        margin: 42px auto 0;
        padding: 38px 12px 18px;
        border-radius: 22px 22px 0 0;
    }

    .fc-flash-sale {
        margin: 0 auto 42px;
        padding: 0 12px 28px;
        border-radius: 0 0 22px 22px;
    }

    .fc-hot-sale + .fc-flash-sale {
        margin-top: 0;
    }
}

/* ---- Hot sale product showcase ---- */
.fc-hot-sale,
.fc-flash-sale {
    width: min(1420px, calc(100vw - 32px));
    max-width: none;
    margin: 78px 0;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    color: #40372f;
    font-family: 'Noto Serif SC', 'SimSun', 'Songti SC', 'PingFang SC', 'Microsoft YaHei', serif;
}

.fc-hot-sale {
    padding: 62px 34px 36px;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 12%, rgba(139, 151, 129, .12), transparent 25%),
        radial-gradient(circle at 2% 0%, rgba(55, 74, 51, .12), transparent 18%),
        linear-gradient(180deg, rgba(255,253,248,.72), rgba(247,242,233,.50));
}

.fc-hot-sale::before,
.fc-hot-sale::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.fc-hot-sale::before {
    right: -20px;
    top: 0;
    width: 420px;
    height: 230px;
    background: radial-gradient(ellipse at center, rgba(112, 123, 105, .14), transparent 66%);
}

.fc-hot-sale::after {
    right: 10px;
    top: 18px;
    width: 300px;
    height: 150px;
    opacity: .28;
    background:
        linear-gradient(135deg, transparent 0 43%, rgba(104, 113, 100, .42) 44% 45%, transparent 46%),
        linear-gradient(155deg, transparent 0 58%, rgba(104, 113, 100, .34) 59% 60%, transparent 61%);
}

.fc-hot-heading {
    position: relative;
    z-index: 2;
    text-align: center;
    margin-bottom: 46px;
}

.fc-hot-heading p {
    margin: 0 0 10px;
    color: #29231f;
    font-size: 14px;
    letter-spacing: 11px;
}

.fc-hot-heading h2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin: 0;
    color: #241d19;
    font-size: 38px;
    font-weight: 700;
    letter-spacing: 8px;
}

.fc-hot-heading h2 span {
    color: rgba(176, 132, 82, .60);
    font-size: 22px;
    letter-spacing: 0;
}

.fc-hot-heading > div {
    margin-top: 20px;
    color: rgba(64, 55, 47, .68);
    font-size: 16px;
    letter-spacing: 2px;
}

.fc-hot-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px;
}

.fc-hot-card {
    position: relative;
    padding: 10px 10px 22px;
    background: rgba(255, 253, 248, .76);
    border: 1px solid rgba(176, 132, 82, .16);
    box-shadow: 0 20px 42px rgba(74, 63, 53, .08);
}

.fc-hot-card::before,
.fc-hot-card::after,
.fc-hot-photo::before,
.fc-hot-photo::after {
    content: "";
    position: absolute;
    width: 28px;
    height: 28px;
    border-color: rgba(176, 132, 82, .30);
    border-style: solid;
    pointer-events: none;
}

.fc-hot-card::before { left: -1px; top: -1px; border-width: 2px 0 0 2px; }
.fc-hot-card::after { right: -1px; bottom: -1px; border-width: 0 2px 2px 0; }
.fc-hot-photo::before { right: -11px; top: -11px; border-width: 2px 2px 0 0; }
.fc-hot-photo::after { left: -11px; bottom: -11px; border-width: 0 0 2px 2px; }

.fc-hot-photo {
    height: 292px;
    display: block;
    position: relative;
    overflow: hidden;
    background: #eee6da;
    text-decoration: none !important;
}

.fc-hot-photo b {
    position: absolute;
    left: 18px;
    top: 18px;
    z-index: 2;
    width: 36px;
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: vertical-rl;
    border-radius: 18px;
    background: linear-gradient(180deg, #b89a5a, #8f6d34);
    color: #fffdfa;
    font-size: 12px;
    letter-spacing: 3px;
    line-height: 1;
}

.fc-hot-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .45s ease;
}

.fc-hot-card:hover .fc-hot-photo img {
    transform: scale(1.045);
}

.fc-hot-initial {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fffdfa;
    background: linear-gradient(135deg, #c8ad74, #6f7d67);
    font-family: 'Ma Shan Zheng', 'Noto Serif SC', serif;
    font-size: 72px;
}

.fc-hot-info {
    padding: 20px 44px 0;
    text-align: left;
}

.fc-hot-info h3 {
    margin: 0 0 8px;
    color: #3b312a;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.35;
}

.fc-hot-info p {
    min-height: 24px;
    margin: 0 0 18px;
    color: rgba(64, 55, 47, .55);
    font-size: 14px;
    line-height: 1.7;
}

.fc-hot-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.fc-hot-bottom strong,
.fc-hot-bottom .woocommerce-Price-amount {
    color: #775830;
    font-size: 20px;
    font-weight: 700;
}

.fc-hot-bottom a,
.fc-flash-price a {
    width: 34px;
    height: 34px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid rgba(176, 132, 82, .32);
    border-radius: 50%;
    color: #9a753f !important;
    background: rgba(255, 253, 248, .76);
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    transition: transform .22s ease, background .22s ease, color .22s ease;
}

.fc-hot-bottom a:hover,
.fc-flash-price a:hover {
    transform: translateY(-2px);
    color: #fffdfa !important;
    background: #9a753f;
}

.fc-hot-more,
.fc-flash-more {
    position: relative;
    z-index: 2;
    margin-top: 28px;
    text-align: center;
}

.fc-hot-more a,
.fc-flash-more a,
.fc-flash-cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 188px;
    height: 42px;
    padding: 0 24px;
    border: 1px solid rgba(176, 132, 82, .22);
    border-radius: 999px;
    background: rgba(255, 253, 248, .68);
    color: #66513a !important;
    text-decoration: none !important;
    font-size: 14px;
    transition: transform .22s ease, box-shadow .22s ease;
}

.fc-hot-more a:hover,
.fc-flash-more a:hover,
.fc-flash-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(74, 63, 53, .10);
}

/* ---- Flash sale strip ---- */
.fc-flash-sale {
    padding: 0 34px 44px;
}

.fc-flash-inner {
    position: relative;
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 34px;
    min-height: 356px;
    padding: 42px 34px 34px;
    border: 1px solid rgba(74, 86, 65, .22);
    background:
        radial-gradient(circle at 8% 88%, rgba(74, 86, 65, .18), transparent 22%),
        linear-gradient(180deg, rgba(245, 242, 231, .86), rgba(238, 234, 219, .72));
}

.fc-flash-inner::before,
.fc-flash-inner::after {
    content: "";
    position: absolute;
    width: 44px;
    height: 44px;
    border-color: rgba(74, 86, 65, .28);
    border-style: solid;
    pointer-events: none;
}

.fc-flash-inner::before { left: -1px; top: -1px; border-width: 2px 0 0 2px; }
.fc-flash-inner::after { right: -1px; bottom: -1px; border-width: 0 2px 2px 0; }

.fc-flash-aside {
    position: relative;
    padding: 28px 28px 18px 88px;
}

.fc-flash-aside > span {
    position: absolute;
    left: 0;
    top: 0;
    width: 48px;
    min-height: 142px;
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: vertical-rl;
    border-radius: 18px;
    background: linear-gradient(180deg, #52644a, #293a2e);
    color: #fffdfa;
    font-size: 18px;
    letter-spacing: 5px;
}

.fc-flash-aside h2 {
    margin: 0 0 16px;
    color: #241d19;
    font-size: 34px;
    font-weight: 700;
}

.fc-flash-aside p {
    margin: 0 0 34px;
    color: rgba(64, 55, 47, .62);
    font-size: 16px;
}

.fc-flash-count-label {
    margin-bottom: 10px;
    color: rgba(64, 55, 47, .72);
    font-size: 14px;
}

.fc-flash-countdown {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px;
}

.fc-flash-countdown span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #4a3f35;
    font-size: 13px;
}

.fc-flash-countdown b {
    min-width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 253, 248, .78);
    color: #2f2923;
    font-size: 18px;
}

.fc-flash-cta {
    min-width: 150px;
    color: #fffdfa !important;
    background: linear-gradient(135deg, #52644a, #293a2e);
    border-color: transparent;
}

.fc-flash-products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.fc-flash-card {
    background: rgba(255, 253, 248, .78);
    border: 1px solid rgba(176, 132, 82, .12);
    box-shadow: 0 18px 36px rgba(74, 63, 53, .07);
}

.fc-flash-photo {
    height: 194px;
    display: block;
    position: relative;
    overflow: hidden;
    background: #eee6da;
    text-decoration: none !important;
}

.fc-flash-photo b {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    min-width: 58px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 0 12px 0;
    background: linear-gradient(135deg, #c8473a, #a6332d);
    color: #fffdfa;
    font-size: 16px;
    font-weight: 500;
}

.fc-flash-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .45s ease;
}

.fc-flash-card:hover .fc-flash-photo img {
    transform: scale(1.045);
}

.fc-flash-initial {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fffdfa;
    background: linear-gradient(135deg, #c8ad74, #6f7d67);
    font-family: 'Ma Shan Zheng', 'Noto Serif SC', serif;
    font-size: 58px;
}

.fc-flash-info {
    padding: 18px 18px 20px;
}

.fc-flash-info h3 {
    margin: 0 0 8px;
    color: #3b312a;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
}

.fc-flash-info p {
    min-height: 24px;
    margin: 0 0 10px;
    color: rgba(64, 55, 47, .56);
    font-size: 13px;
    line-height: 1.65;
}

.fc-flash-price {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fc-flash-price del {
    color: rgba(64, 55, 47, .34);
    font-size: 14px;
}

.fc-flash-price strong,
.fc-flash-price .woocommerce-Price-amount {
    color: #b33b34;
    font-size: 20px;
    font-weight: 700;
}

.fc-flash-price a {
    margin-left: auto;
    background: #bd9856;
    color: #fffdfa !important;
}

@media (max-width: 1100px) {
    .fc-hot-grid,
    .fc-flash-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-flash-inner {
        grid-template-columns: 1fr;
    }

    .fc-flash-aside {
        padding-right: 0;
    }
}

@media (max-width: 680px) {
    .fc-hot-sale,
    .fc-flash-sale {
        width: min(100%, calc(100vw - 22px));
        left: auto;
        transform: none;
        margin: 48px auto;
        padding-left: 12px;
        padding-right: 12px;
    }

    .fc-hot-heading h2 {
        gap: 12px;
        font-size: 28px;
        letter-spacing: 4px;
    }

    .fc-hot-heading p {
        letter-spacing: 6px;
    }

    .fc-hot-grid,
    .fc-flash-products {
        grid-template-columns: 1fr;
    }

    .fc-hot-photo {
        height: 260px;
    }

    .fc-hot-info {
        padding: 18px 18px 0;
    }

    .fc-flash-inner {
        padding: 28px 14px 22px;
    }

    .fc-flash-aside {
        padding: 76px 8px 0;
    }

    .fc-flash-aside > span {
        min-height: 54px;
        width: auto;
        padding: 0 18px;
        writing-mode: horizontal-tb;
        letter-spacing: 3px;
    }
}

/* ---- Final soft connected campaign overrides ---- */
.fc-hot-sale {
    margin-top: 64px !important;
    margin-bottom: 0 !important;
    padding: 56px 34px 22px !important;
    border-radius: 30px 30px 0 0;
    background:
        radial-gradient(circle at 88% 12%, rgba(139, 151, 129, .10), transparent 25%),
        radial-gradient(circle at 4% 4%, rgba(55, 74, 51, .08), transparent 20%),
        linear-gradient(180deg, rgba(255,253,248,.86), rgba(247,242,233,.58));
    box-shadow: 0 22px 58px rgba(74, 63, 53, .06);
}

.fc-flash-sale {
    margin-top: 0 !important;
    margin-bottom: 64px !important;
    padding: 0 34px 36px !important;
    border-radius: 0 0 30px 30px;
    background:
        radial-gradient(circle at 10% 100%, rgba(74, 86, 65, .11), transparent 24%),
        linear-gradient(180deg, rgba(247,242,233,.58), rgba(250,246,240,.80));
    box-shadow: 0 26px 62px rgba(74, 63, 53, .07);
}

.fc-hot-sale + .fc-flash-sale {
    margin-top: -6px !important;
}

.fc-hot-more {
    margin-top: 22px;
    margin-bottom: 20px;
}

.fc-flash-more {
    margin-top: 20px;
}

.fc-hot-card,
.fc-flash-card {
    overflow: hidden;
    border-radius: 18px;
    border-color: rgba(176, 132, 82, .10);
    background: rgba(255, 253, 248, .84);
    box-shadow: 0 18px 40px rgba(74, 63, 53, .065);
}

.fc-hot-card::before,
.fc-hot-card::after,
.fc-hot-photo::before,
.fc-hot-photo::after,
.fc-flash-inner::before,
.fc-flash-inner::after {
    display: none;
}

.fc-hot-photo {
    height: 276px;
    border-radius: 14px;
    background:
        radial-gradient(circle at 50% 40%, rgba(255,253,248,.45), transparent 38%),
        #eee6da;
}

.fc-hot-photo b {
    left: 16px;
    top: 16px;
    width: 34px;
    min-height: 76px;
    border-radius: 999px;
    box-shadow: 0 10px 20px rgba(137, 100, 50, .18);
}

.fc-hot-info {
    padding: 18px 28px 2px;
}

.fc-hot-info h3,
.fc-flash-info h3 {
    color: #332a24;
}

.fc-flash-inner {
    min-height: 330px;
    padding: 34px 34px 28px;
    border-radius: 24px;
    border-color: rgba(74, 86, 65, .14);
    background:
        radial-gradient(circle at 7% 94%, rgba(74, 86, 65, .13), transparent 22%),
        linear-gradient(180deg, rgba(245, 242, 231, .72), rgba(238, 234, 219, .54));
    box-shadow: inset 0 0 0 1px rgba(255, 253, 248, .50);
}

.fc-flash-card {
    border-radius: 16px;
}

.fc-flash-photo {
    height: 184px;
    border-radius: 14px 14px 0 0;
}

.fc-flash-photo b {
    border-radius: 0 0 14px 0;
    box-shadow: 0 10px 20px rgba(168, 51, 45, .16);
}

.fc-flash-aside > span {
    border-radius: 999px;
    box-shadow: 0 14px 28px rgba(41, 58, 46, .16);
}

.fc-hot-more a,
.fc-flash-more a,
.fc-flash-cta {
    background: rgba(255, 253, 248, .82);
    box-shadow: 0 10px 24px rgba(74, 63, 53, .055);
}

@media (max-width: 680px) {
    .fc-hot-sale {
        margin: 42px auto 0 !important;
        padding: 38px 12px 18px !important;
        border-radius: 22px 22px 0 0;
    }

    .fc-flash-sale {
        margin: 0 auto 42px !important;
        padding: 0 12px 28px !important;
        border-radius: 0 0 22px 22px;
    }

    .fc-hot-sale + .fc-flash-sale {
        margin-top: 0 !important;
    }
}

/* ---- Bazi knowledge calm image mode ---- */
.fc-knowledge-panel::before,
.fc-knowledge-panel::after,
.fc-knowledge-main::after,
.fc-knowledge-visual::after {
    animation: none !important;
}

.fc-knowledge-orb,
.fc-relation-map span,
.fc-annual-flow span,
.fc-luck-line span,
.fc-ten-grid span,
.fc-orbit-dot,
.fc-flow-row i,
.fc-xiyong-board .node {
    animation: none !important;
}

.fc-knowledge-pane.active {
    animation-duration: .18s !important;
}

.fc-knowledge-visual {
    padding: 24px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 253, 248, .92), rgba(246, 240, 230, .72) 58%, rgba(238, 230, 216, .26) 100%) !important;
}

.fc-knowledge-visual::before {
    animation: none !important;
    inset: 18px !important;
    border-radius: 16px !important;
    border-style: solid !important;
    opacity: .68;
}

.fc-knowledge-custom-image {
    position: relative;
    z-index: 3;
    display: block;
    width: 100%;
    height: 100%;
    max-height: 330px;
    object-fit: contain;
    border-radius: 16px;
    box-shadow: 0 18px 38px rgba(74, 63, 53, .08);
}

.fc-knowledge-wide-image {
    position: relative;
    z-index: 2;
    grid-column: 2 / 4;
    min-height: 320px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: hidden;
}

.fc-knowledge-wide-image .fc-knowledge-custom-image {
    height: 100%;
    min-height: 284px;
    max-height: 360px;
    object-fit: contain;
    border-radius: 0;
    box-shadow: none;
}

.fc-knowledge-custom-image.fc-deferred-image {
    opacity: .28;
    filter: blur(8px);
    background: linear-gradient(135deg, rgba(255,253,248,.92), rgba(246,239,228,.72));
}

.fc-knowledge-custom-image:not(.fc-deferred-image) {
    transition: opacity .28s ease, filter .28s ease;
}

.fc-knowledge-main-has-image {
    background: linear-gradient(90deg, rgba(255,253,248,.88), rgba(255,253,248,.62), rgba(255,253,248,.84)) !important;
}

.fc-knowledge-main-has-image::before,
.fc-knowledge-main-has-image::after {
    display: none !important;
}

.fc-knowledge-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.fc-knowledge-card.active {
    display: grid !important;
}

.fc-knowledge-card {
    min-height: 120px !important;
    box-shadow: 0 12px 26px rgba(74, 63, 53, .045) !important;
}

.fc-knowledge-card:hover {
    transform: translateY(-2px) !important;
}

@media (max-width: 980px) {
    .fc-knowledge-wide-image {
        grid-column: 1 / -1;
    }

    .fc-knowledge-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    #fc-app .fc-title {
        font-size: 34px !important;
        letter-spacing: 2.5px !important;
    }

    .fc-knowledge-cards {
        grid-template-columns: 1fr !important;
    }

    .fc-knowledge-custom-image {
        max-height: 260px;
    }

    .fc-knowledge-wide-image {
        min-height: 220px;
        padding: 12px;
    }

    .fc-knowledge-wide-image .fc-knowledge-custom-image {
        min-height: 190px;
        max-height: 260px;
    }
}

/* Product module polish: cleaner cards, aligned prices, icon cart buttons. */
.fc-hot-card,
.fc-flash-card {
    display: flex !important;
    flex-direction: column !important;
}

.fc-hot-photo,
.fc-flash-photo {
    flex: 0 0 auto !important;
}

.fc-hot-info,
.fc-flash-info {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
}

.fc-hot-info p,
.fc-flash-info p,
.fc-bs-copy p {
    display: none !important;
}

.fc-hot-info h3,
.fc-flash-info h3 {
    min-height: 58px !important;
    margin-bottom: 18px !important;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.fc-hot-bottom,
.fc-flash-price {
    width: 100% !important;
    margin-top: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    align-items: center !important;
    column-gap: 14px !important;
}

.fc-flash-price-values {
    min-width: 0;
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
}

.fc-flash-price del,
.fc-flash-price strong,
.fc-flash-price > .woocommerce-Price-amount,
.fc-hot-bottom strong {
    min-width: 0;
}

.fc-flash-price del {
    color: rgba(151, 61, 53, .68) !important;
    text-decoration-line: line-through !important;
    text-decoration-thickness: 2px !important;
    text-decoration-color: rgba(151, 61, 53, .95) !important;
    text-underline-offset: -2px;
}

.fc-flash-price strong,
.fc-flash-price .woocommerce-Price-amount,
.fc-hot-bottom strong,
.fc-hot-bottom .woocommerce-Price-amount {
    line-height: 1.15 !important;
}

.fc-flash-price strong {
    justify-self: start !important;
}

.fc-hot-bottom a,
.fc-flash-price a,
.fc-bs-link {
    width: 42px !important;
    height: 34px !important;
    min-width: 42px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(154, 117, 63, .42) !important;
    background: rgba(255, 253, 248, .90) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    box-shadow: 0 8px 18px rgba(74, 63, 53, .07) !important;
}

.fc-hot-bottom a::before,
.fc-flash-price a::before,
.fc-bs-link::before {
    content: "";
    width: 18px;
    height: 18px;
    display: block;
    background-color: #8f6d34;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.86a2 2 0 0 0 1.96-1.6L21 7H5.12'/%3E%3Cpath d='M9 10h6'/%3E%3Cpath d='M12 7v6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.86a2 2 0 0 0 1.96-1.6L21 7H5.12'/%3E%3Cpath d='M9 10h6'/%3E%3Cpath d='M12 7v6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.fc-hot-bottom a:hover,
.fc-flash-price a:hover,
.fc-bs-link:hover {
    background: #8f6d34 !important;
    border-color: #8f6d34 !important;
    transform: translateY(-2px) !important;
}

.fc-hot-bottom a:hover::before,
.fc-flash-price a:hover::before,
.fc-bs-link:hover::before {
    background-color: #fffdfa;
}

.fc-flash-aside > span,
.fc-hot-photo b {
    writing-mode: vertical-rl !important;
    text-orientation: upright !important;
    letter-spacing: .12em !important;
}

.fc-flash-aside > span {
    line-height: 1.05 !important;
}

.fc-hot-photo b {
    line-height: 1 !important;
}

.fc-flash-card {
    min-height: 438px !important;
}

.fc-flash-info {
    padding: 22px 22px 24px !important;
}

.fc-flash-price {
    padding-top: 4px !important;
}

.fc-bs-copy {
    display: grid !important;
    align-content: start !important;
}

.fc-bs-link {
    margin-top: 12px !important;
}

@media (max-width: 640px) {
    .fc-hot-bottom,
    .fc-flash-price {
        grid-template-columns: minmax(0, 1fr) 40px !important;
    }

    .fc-flash-aside > span {
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        letter-spacing: .18em !important;
    }
}

/* ---- WooCommerce shop page skin ---- */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag {
    background:
        radial-gradient(circle at 88% 6%, rgba(139, 151, 129, .12), transparent 28%),
        radial-gradient(circle at 3% 0%, rgba(176, 132, 82, .08), transparent 22%),
        linear-gradient(180deg, #fffdfa 0%, #fbf7ef 44%, #fffdfa 100%) !important;
}

body.post-type-archive-product .main-page-wrapper,
body.tax-product_cat .main-page-wrapper,
body.tax-product_tag .main-page-wrapper,
body.post-type-archive-product .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content {
    background: transparent !important;
}

body.post-type-archive-product .container,
body.tax-product_cat .container,
body.tax-product_tag .container {
    max-width: 1520px !important;
}

body.post-type-archive-product .page-title,
body.tax-product_cat .page-title,
body.tax-product_tag .page-title,
body.post-type-archive-product .title-size-default,
body.tax-product_cat .title-size-default,
body.tax-product_tag .title-size-default {
    background: transparent !important;
    box-shadow: none !important;
    padding: 22px 0 10px !important;
}

body.post-type-archive-product .breadcrumbs,
body.tax-product_cat .breadcrumbs,
body.tax-product_tag .breadcrumbs,
body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb {
    color: rgba(47, 57, 42, .60) !important;
    font-size: 14px !important;
    letter-spacing: .01em !important;
}

body.post-type-archive-product .page-title h1,
body.tax-product_cat .page-title h1,
body.tax-product_tag .page-title h1,
body.post-type-archive-product .entry-title,
body.tax-product_cat .entry-title,
body.tax-product_tag .entry-title,
body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title {
    margin: 14px 0 6px !important;
    color: #2f4a2f !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(34px, 3vw, 54px) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
}

body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
    margin: 0 0 18px !important;
    color: rgba(47, 57, 42, .66) !important;
    font-size: 14px !important;
}

body.post-type-archive-product .shop-loop-head,
body.tax-product_cat .shop-loop-head,
body.tax-product_tag .shop-loop-head,
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering {
    color: rgba(47, 57, 42, .68) !important;
}

body.post-type-archive-product .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select,
body.tax-product_tag .woocommerce-ordering select,
body.post-type-archive-product .orderby,
body.tax-product_cat .orderby,
body.tax-product_tag .orderby {
    min-width: 190px !important;
    height: 46px !important;
    padding: 0 44px 0 16px !important;
    border: 1px solid rgba(47, 57, 42, .12) !important;
    border-radius: 8px !important;
    background-color: rgba(255, 253, 248, .92) !important;
    color: #2f2a25 !important;
    box-shadow: 0 10px 26px rgba(74, 63, 53, .045) !important;
}

body.post-type-archive-product .sidebar-container,
body.tax-product_cat .sidebar-container,
body.tax-product_tag .sidebar-container,
body.post-type-archive-product .wd-sidebar,
body.tax-product_cat .wd-sidebar,
body.tax-product_tag .wd-sidebar,
body.post-type-archive-product aside.sidebar,
body.tax-product_cat aside.sidebar,
body.tax-product_tag aside.sidebar {
    padding: 0 !important;
}

body.post-type-archive-product .sidebar-container .widget,
body.tax-product_cat .sidebar-container .widget,
body.tax-product_tag .sidebar-container .widget,
body.post-type-archive-product .wd-sidebar .widget,
body.tax-product_cat .wd-sidebar .widget,
body.tax-product_tag .wd-sidebar .widget,
body.post-type-archive-product aside.sidebar .widget,
body.tax-product_cat aside.sidebar .widget,
body.tax-product_tag aside.sidebar .widget {
    margin-bottom: 18px !important;
    padding: 22px 20px !important;
    border: 1px solid rgba(47, 57, 42, .10) !important;
    border-radius: 10px !important;
    background: rgba(255, 253, 248, .88) !important;
    box-shadow: 0 18px 40px rgba(74, 63, 53, .055) !important;
}

body.post-type-archive-product .widget-title,
body.tax-product_cat .widget-title,
body.tax-product_tag .widget-title {
    margin-bottom: 16px !important;
    color: #2a2a25 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

body.post-type-archive-product .widget_product_categories li,
body.tax-product_cat .widget_product_categories li,
body.tax-product_tag .widget_product_categories li,
body.post-type-archive-product .wd-widget-stock-status li,
body.tax-product_cat .wd-widget-stock-status li,
body.tax-product_tag .wd-widget-stock-status li,
body.post-type-archive-product .woocommerce-widget-layered-nav li,
body.tax-product_cat .woocommerce-widget-layered-nav li,
body.tax-product_tag .woocommerce-widget-layered-nav li {
    margin: 10px 0 !important;
    color: #2f3930 !important;
    font-size: 15px !important;
}

body.post-type-archive-product .products,
body.tax-product_cat .products,
body.tax-product_tag .products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

body.post-type-archive-product .products::before,
body.post-type-archive-product .products::after,
body.tax-product_cat .products::before,
body.tax-product_cat .products::after,
body.tax-product_tag .products::before,
body.tax-product_tag .products::after {
    display: none !important;
}

body.post-type-archive-product .products .product,
body.tax-product_cat .products .product,
body.tax-product_tag .products .product,
body.post-type-archive-product .wd-product,
body.tax-product_cat .wd-product,
body.tax-product_tag .wd-product {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

body.post-type-archive-product .product-wrapper,
body.tax-product_cat .product-wrapper,
body.tax-product_tag .product-wrapper,
body.post-type-archive-product .products .product,
body.tax-product_cat .products .product,
body.tax-product_tag .products .product {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(47, 57, 42, .09) !important;
    border-radius: 10px !important;
    background: rgba(255, 253, 248, .92) !important;
    box-shadow: 0 18px 42px rgba(74, 63, 53, .065) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

body.post-type-archive-product .product-wrapper:hover,
body.tax-product_cat .product-wrapper:hover,
body.tax-product_tag .product-wrapper:hover,
body.post-type-archive-product .products .product:hover,
body.tax-product_cat .products .product:hover,
body.tax-product_tag .products .product:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(47, 74, 47, .16) !important;
    box-shadow: 0 24px 52px rgba(74, 63, 53, .10) !important;
}

body.post-type-archive-product .product-element-top,
body.tax-product_cat .product-element-top,
body.tax-product_tag .product-element-top,
body.post-type-archive-product .product-image-link,
body.tax-product_cat .product-image-link,
body.tax-product_tag .product-image-link,
body.post-type-archive-product .woocommerce-LoopProduct-link img,
body.tax-product_cat .woocommerce-LoopProduct-link img,
body.tax-product_tag .woocommerce-LoopProduct-link img {
    border-radius: 10px 10px 0 0 !important;
}

body.post-type-archive-product .product-element-top,
body.tax-product_cat .product-element-top,
body.tax-product_tag .product-element-top,
body.post-type-archive-product .product-image-link,
body.tax-product_cat .product-image-link,
body.tax-product_tag .product-image-link {
    aspect-ratio: 1 / .92 !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 52% 46%, rgba(255, 253, 248, .76), transparent 44%),
        linear-gradient(135deg, #f5efe5, #eee6da) !important;
}

body.post-type-archive-product .product-element-top img,
body.tax-product_cat .product-element-top img,
body.tax-product_tag .product-element-top img,
body.post-type-archive-product .product-image-link img,
body.tax-product_cat .product-image-link img,
body.tax-product_tag .product-image-link img,
body.post-type-archive-product .woocommerce-LoopProduct-link img,
body.tax-product_cat .woocommerce-LoopProduct-link img,
body.tax-product_tag .woocommerce-LoopProduct-link img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .35s ease !important;
}

body.post-type-archive-product .product-wrapper:hover img,
body.tax-product_cat .product-wrapper:hover img,
body.tax-product_tag .product-wrapper:hover img,
body.post-type-archive-product .products .product:hover img,
body.tax-product_cat .products .product:hover img,
body.tax-product_tag .products .product:hover img {
    transform: scale(1.035) !important;
}

body.post-type-archive-product .product-labels,
body.tax-product_cat .product-labels,
body.tax-product_tag .product-labels,
body.post-type-archive-product .onsale,
body.tax-product_cat .onsale,
body.tax-product_tag .onsale {
    top: 14px !important;
    left: 14px !important;
    right: auto !important;
}

body.post-type-archive-product .product-label,
body.tax-product_cat .product-label,
body.tax-product_tag .product-label,
body.post-type-archive-product .onsale,
body.tax-product_cat .onsale,
body.tax-product_tag .onsale {
    min-height: 0 !important;
    padding: 7px 12px !important;
    border-radius: 6px !important;
    background: linear-gradient(135deg, #c7a562, #9b7741) !important;
    color: #fffdfa !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: none !important;
    box-shadow: 0 12px 22px rgba(154, 117, 63, .18) !important;
}

body.post-type-archive-product .wd-buttons,
body.tax-product_cat .wd-buttons,
body.tax-product_tag .wd-buttons,
body.post-type-archive-product .wd-wishlist-btn,
body.tax-product_cat .wd-wishlist-btn,
body.tax-product_tag .wd-wishlist-btn,
body.post-type-archive-product .yith-wcwl-add-to-wishlist,
body.tax-product_cat .yith-wcwl-add-to-wishlist,
body.tax-product_tag .yith-wcwl-add-to-wishlist {
    top: 14px !important;
    right: 14px !important;
}

body.post-type-archive-product .wd-wishlist-btn a,
body.tax-product_cat .wd-wishlist-btn a,
body.tax-product_tag .wd-wishlist-btn a,
body.post-type-archive-product .yith-wcwl-add-to-wishlist a,
body.tax-product_cat .yith-wcwl-add-to-wishlist a,
body.tax-product_tag .yith-wcwl-add-to-wishlist a {
    width: 36px !important;
    height: 36px !important;
    border: 1px solid rgba(47, 57, 42, .10) !important;
    border-radius: 9px !important;
    background: rgba(255, 253, 248, .92) !important;
    box-shadow: 0 10px 22px rgba(74, 63, 53, .06) !important;
}

body.post-type-archive-product .product-grid-item .product-title,
body.tax-product_cat .product-grid-item .product-title,
body.tax-product_tag .product-grid-item .product-title,
body.post-type-archive-product .wd-entities-title,
body.tax-product_cat .wd-entities-title,
body.tax-product_tag .wd-entities-title,
body.post-type-archive-product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce-loop-product__title {
    min-height: 42px !important;
    margin: 14px 14px 7px !important;
    color: #27231f !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
}

body.post-type-archive-product .star-rating,
body.tax-product_cat .star-rating,
body.tax-product_tag .star-rating,
body.post-type-archive-product .woocommerce-product-rating,
body.tax-product_cat .woocommerce-product-rating,
body.tax-product_tag .woocommerce-product-rating,
body.post-type-archive-product .wd-star-rating,
body.tax-product_cat .wd-star-rating,
body.tax-product_tag .wd-star-rating {
    margin: 0 14px 8px !important;
    color: #c39a4d !important;
}

body.post-type-archive-product .price,
body.tax-product_cat .price,
body.tax-product_tag .price,
body.post-type-archive-product .price .woocommerce-Price-amount,
body.tax-product_cat .price .woocommerce-Price-amount,
body.tax-product_tag .price .woocommerce-Price-amount {
    color: #1f1d1a !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body.post-type-archive-product .price,
body.tax-product_cat .price,
body.tax-product_tag .price {
    display: block !important;
    margin: 0 58px 18px 14px !important;
}

body.post-type-archive-product .price del,
body.tax-product_cat .price del,
body.tax-product_tag .price del {
    color: rgba(80, 72, 62, .45) !important;
    text-decoration-thickness: 2px !important;
}

body.post-type-archive-product .add_to_cart_button,
body.tax-product_cat .add_to_cart_button,
body.tax-product_tag .add_to_cart_button,
body.post-type-archive-product a.button.product_type_simple,
body.tax-product_cat a.button.product_type_simple,
body.tax-product_tag a.button.product_type_simple,
body.post-type-archive-product .wd-add-btn a,
body.tax-product_cat .wd-add-btn a,
body.tax-product_tag .wd-add-btn a {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    width: 42px !important;
    height: 38px !important;
    min-width: 42px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(47, 57, 42, .12) !important;
    border-radius: 8px !important;
    background: rgba(255, 253, 248, .94) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    box-shadow: 0 10px 20px rgba(74, 63, 53, .06) !important;
}

body.post-type-archive-product .add_to_cart_button::before,
body.tax-product_cat .add_to_cart_button::before,
body.tax-product_tag .add_to_cart_button::before,
body.post-type-archive-product a.button.product_type_simple::before,
body.tax-product_cat a.button.product_type_simple::before,
body.tax-product_tag a.button.product_type_simple::before,
body.post-type-archive-product .wd-add-btn a::before,
body.tax-product_cat .wd-add-btn a::before,
body.tax-product_tag .wd-add-btn a::before {
    content: "" !important;
    width: 19px !important;
    height: 19px !important;
    display: block !important;
    background-color: #5c563f !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.86a2 2 0 0 0 1.96-1.6L21 7H5.12'/%3E%3Cpath d='M9 10h6'/%3E%3Cpath d='M12 7v6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.86a2 2 0 0 0 1.96-1.6L21 7H5.12'/%3E%3Cpath d='M9 10h6'/%3E%3Cpath d='M12 7v6'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.post-type-archive-product .add_to_cart_button:hover,
body.tax-product_cat .add_to_cart_button:hover,
body.tax-product_tag .add_to_cart_button:hover,
body.post-type-archive-product a.button.product_type_simple:hover,
body.tax-product_cat a.button.product_type_simple:hover,
body.tax-product_tag a.button.product_type_simple:hover,
body.post-type-archive-product .wd-add-btn a:hover,
body.tax-product_cat .wd-add-btn a:hover,
body.tax-product_tag .wd-add-btn a:hover {
    background: #2f4a2f !important;
    border-color: #2f4a2f !important;
    transform: translateY(-2px) !important;
}

body.post-type-archive-product .add_to_cart_button:hover::before,
body.tax-product_cat .add_to_cart_button:hover::before,
body.tax-product_tag .add_to_cart_button:hover::before,
body.post-type-archive-product a.button.product_type_simple:hover::before,
body.tax-product_cat a.button.product_type_simple:hover::before,
body.tax-product_tag a.button.product_type_simple:hover::before,
body.post-type-archive-product .wd-add-btn a:hover::before,
body.tax-product_cat .wd-add-btn a:hover::before,
body.tax-product_tag .wd-add-btn a:hover::before {
    background-color: #fffdfa !important;
}

body.post-type-archive-product .woocommerce-pagination,
body.tax-product_cat .woocommerce-pagination,
body.tax-product_tag .woocommerce-pagination,
body.post-type-archive-product .wd-loop-footer,
body.tax-product_cat .wd-loop-footer,
body.tax-product_tag .wd-loop-footer {
    margin-top: 34px !important;
    text-align: center !important;
}

body.post-type-archive-product .page-numbers,
body.tax-product_cat .page-numbers,
body.tax-product_tag .page-numbers {
    border-radius: 8px !important;
}

body.post-type-archive-product .woocommerce-pagination .page-numbers li .page-numbers,
body.tax-product_cat .woocommerce-pagination .page-numbers li .page-numbers,
body.tax-product_tag .woocommerce-pagination .page-numbers li .page-numbers {
    min-width: 40px !important;
    height: 40px !important;
    border: 1px solid rgba(47, 57, 42, .10) !important;
    background: rgba(255, 253, 248, .84) !important;
    color: #2f3930 !important;
}

body.post-type-archive-product .woocommerce-pagination .page-numbers li .current,
body.tax-product_cat .woocommerce-pagination .page-numbers li .current,
body.tax-product_tag .woocommerce-pagination .page-numbers li .current {
    background: rgba(47, 74, 47, .12) !important;
    color: #2f4a2f !important;
}

@media (max-width: 1180px) {
    body.post-type-archive-product .products,
    body.tax-product_cat .products,
    body.tax-product_tag .products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    body.post-type-archive-product .products,
    body.tax-product_cat .products,
    body.tax-product_tag .products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    body.post-type-archive-product .products,
    body.tax-product_cat .products,
    body.tax-product_tag .products {
        grid-template-columns: 1fr !important;
    }

    body.post-type-archive-product .woocommerce-ordering,
    body.tax-product_cat .woocommerce-ordering,
    body.tax-product_tag .woocommerce-ordering {
        float: none !important;
        width: 100% !important;
    }
}

/* Final shop filter order guard. */
.fc-shop-filter-groups.fc-shop-accordions {
    padding: 0 !important;
}

.fc-shop-filter-groups .fc-shop-filter-group {
    border-bottom: 1px solid rgba(47, 57, 42, .10) !important;
}

.fc-shop-filter-groups .fc-shop-filter-group:last-child {
    border-bottom: 0 !important;
}

.fc-shop-filter-groups .fc-shop-filter-group > button {
    border-bottom: 0 !important;
}

.fc-shop-filter-groups .fc-shop-option-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 0 18px 16px !important;
}

.fc-shop-filter-groups .fc-shop-option-list a {
    width: auto !important;
    height: auto !important;
    min-height: 30px !important;
    padding: 6px 10px !important;
    border: 1px solid rgba(47, 57, 42, .10) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .62) !important;
    color: rgba(47, 57, 42, .78) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
}

.fc-shop-price .fc-shop-price-chips {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* ---- Absolute final visual guard ---- */
body.fc-shortcode-shop-page .page-title,
body.fc-shortcode-shop-page .wd-page-title,
body.fc-shortcode-shop-page .title-size-default,
body.fc-shortcode-shop-page .entry-header,
body.fc-shortcode-shop-page .page-title-default {
    display: none !important;
}

#fc-app .fc-pillar-ganzhi,
#fc-app .fc-card-value,
#fc-app .fc-wx-icon,
#fc-app .fc-no-img,
#fc-app .fc-product-img .fc-no-img,
.fc-flash-initial {
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

#fc-app .fc-pillar-ganzhi {
    font-size: 25px !important;
    line-height: 1.15 !important;
}

#fc-app .fc-wx-icon {
    font-size: 15px !important;
}

#fc-app .fc-card-value {
    font-size: 18px !important;
}

.fc-home-card-lucky::after {
    content: "";
    display: block;
    height: 1px;
    margin: 14px 0 12px;
    background: rgba(166, 124, 82, .16);
    order: 3;
}

.fc-home-card-lucky .fc-home-icon { order: 0; }
.fc-home-card-lucky h3 { order: 1; }

.fc-home-card-lucky .fc-home-lucky-row {
    width: 100%;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px !important;
    order: 4;
    font-size: 14px !important;
}

.fc-home-card-lucky .fc-home-lucky-row span {
    width: max-content;
    max-width: 100%;
    margin-left: 0 !important;
    font-size: 13px !important;
}

.fc-shop-filter-groups .fc-shop-filter-group > button {
    height: auto !important;
    min-height: 46px !important;
    cursor: default !important;
    pointer-events: none !important;
}

.fc-shop-price-form {
    display: grid !important;
    gap: 12px !important;
}

.fc-shop-range {
    height: auto !important;
    margin: 0 !important;
    display: grid !important;
    gap: 8px !important;
}

.fc-shop-range::before,
.fc-shop-range::after,
.fc-shop-range span::after {
    display: none !important;
}

.fc-shop-range input[type="range"] {
    width: 100%;
    height: 18px;
    margin: 0;
    accent-color: #4d6045;
    cursor: pointer;
}

.fc-shop-price-form button {
    width: 100%;
    height: 34px;
    border: 0;
    border-radius: 7px;
    background: #31482c;
    color: #fffdfa;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.fc-flash-inner {
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 28px !important;
    min-height: 0 !important;
    padding: 30px 30px 26px !important;
}

.fc-flash-aside {
    padding: 18px 18px 18px 70px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.fc-flash-aside > span {
    position: absolute !important;
    left: 0 !important;
    top: 18px !important;
    width: 42px !important;
    min-height: 112px !important;
    max-height: 136px !important;
    padding: 12px 0 !important;
    border-radius: 999px !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    letter-spacing: .12em !important;
    line-height: 1 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    overflow: hidden !important;
}

.fc-flash-aside h2 {
    margin-bottom: 14px !important;
    font-size: 30px !important;
    line-height: 1.18 !important;
}

.fc-flash-aside p {
    margin-bottom: 24px !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.fc-flash-cta {
    min-width: 150px !important;
    background: #31482c !important;
    color: #fffdfa !important;
    border: 1px solid #31482c !important;
    opacity: 1 !important;
    box-shadow: 0 12px 26px rgba(49, 72, 44, .16) !important;
}

.fc-flash-cta:hover {
    background: #243821 !important;
    color: #fffdfa !important;
}

.fc-flash-card {
    min-height: 338px !important;
}

.fc-flash-photo {
    height: 162px !important;
}

.fc-flash-info {
    min-height: 176px !important;
    padding: 16px 16px 18px !important;
}

.fc-flash-info h3 {
    min-height: 44px !important;
    margin-bottom: 12px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

.fc-flash-price {
    padding-top: 0 !important;
    align-self: end !important;
}

@media (max-width: 1100px) {
    .fc-flash-inner {
        grid-template-columns: 1fr !important;
    }
    .fc-flash-aside {
        padding-left: 0 !important;
    }
    .fc-flash-aside > span {
        position: static !important;
        width: max-content !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 8px 14px !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        letter-spacing: .18em !important;
    }
}

/* ---- Absolute end override: shop/report typography and layout ---- */
:root { --fc-store-font: Inter, "Helvetica Neue", Arial, "PingFang SC", sans-serif; --fc-store-bold: 600; }
.fc-custom-shop,.fc-shop-filters,.fc-shop-card,.fc-flash-sale,.fc-hot-sale,.fc-best-seller,.fc-product-path,#fc-app,.fc-knowledge-panel{font-family:var(--fc-store-font)!important;}
.fc-custom-shop strong,.fc-custom-shop b,.fc-shop-filters strong,.fc-shop-filters b,.fc-shop-filters h3,.fc-shop-card h2,.fc-shop-card h2 a,.fc-flash-sale strong,.fc-flash-sale b,.fc-flash-sale h2,.fc-flash-sale h3,.fc-hot-sale strong,.fc-hot-sale b,.fc-hot-sale h2,.fc-hot-sale h3,.fc-best-seller strong,.fc-best-seller b,.fc-best-seller h2,.fc-best-seller h3,.fc-product-path strong,.fc-product-path b,.fc-product-path h2,.fc-product-path h3,#fc-app strong,#fc-app b,#fc-app h1,#fc-app h2,#fc-app h3,#fc-app h4,.fc-knowledge-panel strong,.fc-knowledge-panel b,.fc-knowledge-panel h2,.fc-knowledge-panel h3,body.woocommerce .product-title,body.woocommerce .wd-entities-title,body.woocommerce .woocommerce-loop-product__title,body.woocommerce .price,body.woocommerce .price .woocommerce-Price-amount{font-family:var(--fc-store-font)!important;font-style:normal!important;font-weight:var(--fc-store-bold)!important;letter-spacing:0!important;}
.fc-shop-filter-head h3,.fc-shop-filter-group>button,.fc-shop-cats a,.fc-shop-option-list a,.fc-shop-price-chips a,.fc-shop-price-form button,.fc-shop-card h2,.fc-shop-card h2 a,body.post-type-archive-product .product-grid-item .product-title,body.tax-product_cat .product-grid-item .product-title,body.tax-product_tag .product-grid-item .product-title,body.post-type-archive-product .wd-entities-title,body.tax-product_cat .wd-entities-title,body.tax-product_tag .wd-entities-title,body.post-type-archive-product .woocommerce-loop-product__title,body.tax-product_cat .woocommerce-loop-product__title,body.tax-product_tag .woocommerce-loop-product__title{font-weight:600!important;}
body.fc-shortcode-shop-page .page-title,body.fc-shortcode-shop-page .wd-page-title,body.fc-shortcode-shop-page .title-size-default,body.fc-shortcode-shop-page .entry-header,body.fc-shortcode-shop-page .page-title-default{display:none!important;}
body.fc-shortcode-shop-page .main-page-wrapper,body.fc-shortcode-shop-page .site-content,body.fc-shortcode-shop-page .content-layout-wrapper,body.fc-shortcode-shop-page .entry-content{padding-top:0!important;margin-top:0!important;}
.fc-shop-filters{overflow:hidden!important;border-radius:10px!important;background:rgba(255,253,248,.92)!important;border:1px solid rgba(47,57,42,.10)!important;box-shadow:0 20px 45px rgba(74,63,53,.055)!important;}
.fc-shop-filter-card{margin:0!important;border:0!important;border-bottom:1px solid rgba(47,57,42,.10)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
.fc-shop-filter-head,.fc-shop-filter-groups .fc-shop-filter-group>button{min-height:48px!important;padding:0 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:transparent!important;}
.fc-shop-filter-head h3,.fc-shop-filter-groups .fc-shop-filter-group>button{color:#24211e!important;font-size:15px!important;line-height:1.2!important;}
.fc-shop-filter-head span,.fc-shop-filter-groups .fc-shop-filter-group>button span{width:18px!important;height:18px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:rgba(47,74,47,.10)!important;color:#31482c!important;font-size:15px!important;font-weight:600!important;}
.fc-shop-filter-groups .fc-shop-filter-group>button{width:100%!important;border:0!important;cursor:pointer!important;pointer-events:auto!important;}
.fc-shop-filter-groups .fc-shop-option-list{display:none!important;flex-wrap:wrap!important;gap:8px!important;padding:0 18px 16px!important;}
.fc-shop-filter-groups .fc-shop-filter-group.is-open .fc-shop-option-list{display:flex!important;}
.fc-shop-cats nav{padding:0 18px 16px!important;}
.fc-shop-cats a{min-height:28px!important;display:grid!important;grid-template-columns:18px minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;color:#34302b!important;font-size:14px!important;line-height:1.25!important;}
.fc-shop-cats a i{color:#465e42!important;font-family:Georgia,"Times New Roman",serif!important;font-size:13px!important;font-style:italic!important;font-weight:500!important;text-align:center!important;}
.fc-shop-option-list a,.fc-shop-price-chips a{min-height:29px!important;padding:6px 10px!important;border-radius:999px!important;font-size:12px!important;font-weight:500!important;}
.fc-shop-price-form button{height:42px!important;border-radius:8px!important;font-size:14px!important;}
.fc-flash-inner{grid-template-columns:250px minmax(0,1fr)!important;gap:22px!important;padding:28px!important;}
.fc-flash-aside{padding:16px 12px 16px 62px!important;}
.fc-flash-aside>span.fc-flash-side-text{left:14px!important;top:20px!important;width:38px!important;min-height:118px!important;max-height:none!important;padding:11px 0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;white-space:nowrap!important;letter-spacing:0!important;font-size:0!important;line-height:1!important;overflow:visible!important;}
.fc-flash-side-text i{display:block!important;color:#fffdfa!important;font-family:var(--fc-store-font)!important;font-size:9px!important;font-style:normal!important;font-weight:700!important;line-height:1!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
.fc-flash-side-text .fc-flash-side-gap{width:1px!important;height:5px!important;}
.fc-flash-aside h2{max-width:175px!important;color:#24211e!important;font-size:25px!important;font-weight:500!important;line-height:1.22!important;}
.fc-flash-aside p{max-width:178px!important;color:rgba(74,63,53,.72)!important;font-size:14px!important;}
.fc-flash-card{min-height:368px!important;height:auto!important;display:flex!important;flex-direction:column!important;}
.fc-flash-photo{height:158px!important;flex:0 0 auto!important;}
.fc-flash-info{min-height:0!important;flex:1 1 auto!important;padding:16px 18px 18px!important;display:flex!important;flex-direction:column!important;}
.fc-flash-info h3{min-height:44px!important;margin:0 0 18px!important;color:#27231f!important;font-size:15px!important;font-weight:600!important;line-height:1.3!important;}
.fc-flash-info p{display:none!important;}
.fc-flash-price{width:100%!important;margin-top:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 38px!important;align-items:end!important;gap:10px!important;}
.fc-flash-price-values{display:grid!important;gap:4px!important;min-width:0!important;}
.fc-flash-price del,.fc-flash-price strong,.fc-flash-price .woocommerce-Price-amount{font-family:Georgia,"Times New Roman",serif!important;font-size:18px!important;font-weight:500!important;line-height:1.05!important;}
.fc-flash-price del{color:rgba(160,54,47,.82)!important;text-decoration-line:line-through!important;text-decoration-thickness:2px!important;text-decoration-color:rgba(160,54,47,.9)!important;}
.fc-flash-price a{width:38px!important;height:38px!important;min-width:38px!important;align-self:end!important;}
.fc-shop-card h2,.fc-shop-card h2 a{min-height:38px!important;color:#27231f!important;font-size:15px!important;line-height:1.25!important;}
.fc-shop-card-bottom strong,.fc-shop-card-bottom .woocommerce-Price-amount{color:#181614!important;font-size:16px!important;font-weight:600!important;}
#fc-app .fc-title,#fc-app .fc-section-title,#fc-app .fc-loading-title,#fc-app .fc-pillar-ganzhi,#fc-app .fc-wx-icon,#fc-app .fc-card-value,#fc-app .fc-report-title,#fc-app .fc-result-header h3,#fc-app .fc-day-stamp{font-family:var(--fc-store-font)!important;font-style:normal!important;font-weight:500!important;letter-spacing:0!important;}
#fc-app .fc-pillar-ganzhi,#fc-app .fc-wx-icon,#fc-app .fc-day-stamp{font-weight:600!important;}
body.single-product .woocommerce-tabs #tab-reviews,body.single-product .woocommerce-tabs .reviews_tab,body.single-product #review_form_wrapper,body.single-product .woocommerce-Reviews-title,body.single-product .comment-reply-title,body.single-product .comment-form,body.single-product .wd-product-info,body.single-product .wd-product-info-wrapper,body.single-product .wd-product-extra-content,body.single-product .wd-product-features,body.single-product .product-extra-content{display:none!important;}
.fc-product-review-cards{margin-top:22px!important;padding-top:22px!important;border-top:1px solid rgba(47,57,42,.10)!important;font-family:var(--fc-store-font)!important;}
.fc-product-review-cards h3{margin:0 0 16px!important;color:#27231f!important;font-size:17px!important;font-weight:600!important;}
.fc-product-review-card{margin:0 0 12px!important;padding:17px 18px!important;border:1px solid rgba(47,57,42,.12)!important;border-radius:10px!important;background:rgba(255,253,248,.86)!important;}
.fc-product-review-top{display:flex!important;justify-content:space-between!important;gap:12px!important;color:#27231f!important;font-size:14px!important;}
.fc-product-review-stars{margin:9px 0!important;color:#d1a33e!important;letter-spacing:1px!important;}
.fc-product-review-card p{margin:0!important;color:rgba(47,57,42,.72)!important;font-size:14px!important;line-height:1.65!important;}
@media (max-width:1100px){.fc-flash-inner{grid-template-columns:1fr!important}.fc-flash-aside{padding:0!important;display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:14px 18px!important}.fc-flash-aside>span.fc-flash-side-text{position:static!important;grid-row:1/span 4!important;width:38px!important;min-height:118px!important;padding:10px 0!important}.fc-flash-aside h2,.fc-flash-aside p,.fc-flash-count-label,.fc-flash-countdown,.fc-flash-cta{grid-column:2!important}}

/* Final storefront correction pass. */
:root{--fc-store-font:Inter,"Helvetica Neue",Arial,"PingFang SC",sans-serif;--fc-store-bold:500;}
.fc-custom-shop,.fc-shop-filters,.fc-shop-card,.fc-flash-sale,.fc-hot-sale,.fc-best-seller,.fc-product-path,#fc-app,.fc-knowledge-panel{font-family:var(--fc-store-font)!important;font-weight:400!important;}
.fc-custom-shop strong,.fc-custom-shop b,.fc-shop-filters strong,.fc-shop-filters b,.fc-shop-filters h3,.fc-shop-card h2,.fc-shop-card h2 a,.fc-flash-sale strong,.fc-flash-sale b,.fc-flash-sale h2,.fc-flash-sale h3,.fc-hot-sale strong,.fc-hot-sale b,.fc-hot-sale h2,.fc-hot-sale h3,.fc-best-seller strong,.fc-best-seller b,.fc-best-seller h2,.fc-best-seller h3,.fc-product-path strong,.fc-product-path b,.fc-product-path h2,.fc-product-path h3,#fc-app strong,#fc-app b,#fc-app h1,#fc-app h2,#fc-app h3,#fc-app h4,.fc-knowledge-panel strong,.fc-knowledge-panel b,.fc-knowledge-panel h2,.fc-knowledge-panel h3,body.woocommerce .product-title,body.woocommerce .wd-entities-title,body.woocommerce .woocommerce-loop-product__title,body.woocommerce .price,body.woocommerce .price .woocommerce-Price-amount{font-family:var(--fc-store-font)!important;font-style:normal!important;font-weight:500!important;letter-spacing:0!important;}
.fc-shop-filter-head h3,.fc-shop-filter-group>button,.fc-shop-cats a,.fc-shop-option-list a,.fc-shop-price-chips a,.fc-shop-price-form button,.fc-shop-card h2,.fc-shop-card h2 a,body.post-type-archive-product .product-grid-item .product-title,body.tax-product_cat .product-grid-item .product-title,body.tax-product_tag .product-grid-item .product-title,body.post-type-archive-product .wd-entities-title,body.tax-product_cat .wd-entities-title,body.tax-product_tag .wd-entities-title,body.post-type-archive-product .woocommerce-loop-product__title,body.tax-product_cat .woocommerce-loop-product__title,body.tax-product_tag .woocommerce-loop-product__title{font-weight:500!important;}
.fc-flash-card{min-height:0!important;height:auto!important;}
.fc-flash-photo{height:184px!important;}
.fc-flash-info{min-height:0!important;flex:0 0 auto!important;padding:14px 18px 16px!important;display:block!important;}
.fc-flash-info h3{min-height:0!important;margin:0 0 12px!important;font-size:15px!important;font-weight:500!important;line-height:1.3!important;}
.fc-flash-price{margin-top:0!important;padding-top:0!important;align-items:center!important;}
.fc-flash-aside>span.fc-flash-side-text{min-height:156px!important;width:42px!important;top:18px!important;padding:13px 0!important;}
.fc-flash-side-text i{font-size:10px!important;font-weight:500!important;line-height:1!important;}
.fc-flash-side-text .fc-flash-side-gap{height:7px!important;}
.fc-hot-photo b,.fc-flash-photo b{font-family:var(--fc-store-font)!important;font-weight:500!important;line-height:1!important;}
.fc-shop-range{position:relative!important;height:28px!important;display:block!important;}
.fc-shop-range::before{content:""!important;display:block!important;position:absolute!important;left:0!important;right:0!important;top:12px!important;height:6px!important;border-radius:999px!important;background:#e7e8e3!important;}
.fc-shop-range::after{content:""!important;display:block!important;position:absolute!important;left:var(--fc-range-left,0%)!important;right:calc(100% - var(--fc-range-right,100%))!important;top:12px!important;height:6px!important;border-radius:999px!important;background:#3f5939!important;pointer-events:none!important;}
.fc-shop-range input[type="range"]{position:absolute!important;left:0!important;top:0!important;width:100%!important;height:28px!important;margin:0!important;background:transparent!important;appearance:none!important;-webkit-appearance:none!important;pointer-events:none!important;z-index:2!important;}
.fc-shop-range input[type="range"]::-webkit-slider-runnable-track{height:6px!important;background:transparent!important;}
.fc-shop-range input[type="range"]::-moz-range-track{height:6px!important;background:transparent!important;}
.fc-shop-range input[type="range"]::-webkit-slider-thumb{appearance:none!important;-webkit-appearance:none!important;width:14px!important;height:14px!important;margin-top:-4px!important;border:0!important;border-radius:50%!important;background:#3f5939!important;pointer-events:auto!important;cursor:pointer!important;}
.fc-shop-range input[type="range"]::-moz-range-thumb{width:14px!important;height:14px!important;border:0!important;border-radius:50%!important;background:#3f5939!important;pointer-events:auto!important;cursor:pointer!important;}
.fc-shop-price-form{gap:10px!important;}
.fc-shop-filter-groups .fc-shop-filter-group>button{cursor:pointer!important;pointer-events:auto!important;}
.fc-shop-filter-groups .fc-shop-option-list{display:none!important;}
.fc-shop-filter-groups .fc-shop-filter-group.is-open .fc-shop-option-list{display:flex!important;}
body.single-product .woocommerce-tabs #tab-reviews,body.single-product .woocommerce-tabs .reviews_tab,body.single-product #review_form_wrapper,body.single-product .woocommerce-Reviews-title,body.single-product .comment-reply-title,body.single-product .comment-form,body.single-product .wd-rating-summary,body.single-product .wd-single-reviews,body.single-product .woocommerce-product-rating{display:none!important;}

/* Final visual lock: compact offers, readable filters, and no legacy product strip. */
.fc-flash-sale{height:auto!important;min-height:0!important;margin-top:20px!important;margin-bottom:18px!important;padding-bottom:0!important;}
.fc-flash-inner{grid-template-columns:300px minmax(0,1fr)!important;gap:24px!important;min-height:0!important;padding:26px!important;align-items:start!important;}
.fc-flash-aside{min-height:310px!important;padding:20px 14px 18px 72px!important;justify-content:center!important;}
.fc-flash-aside>span.fc-flash-side-text{left:14px!important;top:50%!important;transform:translateY(-50%)!important;width:44px!important;height:188px!important;min-height:188px!important;max-height:188px!important;padding:12px 0!important;overflow:visible!important;}
.fc-flash-side-text i{font-size:9px!important;font-weight:600!important;line-height:1.05!important;letter-spacing:0!important;}
.fc-flash-side-text .fc-flash-side-gap{height:8px!important;}
.fc-flash-aside h2{max-width:200px!important;margin:0 0 12px!important;font-size:27px!important;font-weight:500!important;line-height:1.28!important;}
.fc-flash-aside p{max-width:205px!important;margin:0 0 16px!important;font-size:14px!important;line-height:1.55!important;}
.fc-flash-count-label{margin:0 0 7px!important;line-height:1.3!important;}
.fc-flash-countdown{margin-bottom:14px!important;gap:6px!important;}
.fc-flash-cta{margin-top:0!important;}
.fc-flash-products{align-items:start!important;gap:18px!important;}
.fc-flash-sale .fc-flash-card{height:310px!important;min-height:310px!important;max-height:310px!important;align-self:start!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
.fc-flash-sale .fc-flash-photo{height:190px!important;min-height:190px!important;flex:0 0 190px!important;}
.fc-flash-sale .fc-flash-photo img{width:100%!important;height:100%!important;object-fit:cover!important;}
.fc-flash-sale .fc-flash-info{height:120px!important;min-height:120px!important;flex:0 0 120px!important;padding:11px 14px 12px!important;display:flex!important;flex-direction:column!important;}
.fc-flash-sale .fc-flash-info h3{min-height:36px!important;max-height:36px!important;margin:0 0 6px!important;font-size:14px!important;font-weight:500!important;line-height:1.28!important;overflow:hidden!important;}
.fc-flash-sale .fc-flash-price{margin:0!important;margin-top:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 34px!important;align-items:end!important;gap:8px!important;}
.fc-flash-sale .fc-flash-price-values{gap:1px!important;}
.fc-flash-sale .fc-flash-price del,.fc-flash-sale .fc-flash-price strong,.fc-flash-sale .fc-flash-price .woocommerce-Price-amount{font-size:15px!important;line-height:1.08!important;}
.fc-flash-sale .fc-flash-price a{width:34px!important;height:34px!important;min-width:34px!important;}
.fc-flash-more{margin:12px 0 0!important;padding:0!important;}
.fc-flash-sale+.fc-knowledge-panel,.fc-flash-sale~.fc-knowledge-panel{margin-top:18px!important;}

.fc-shop-price .fc-shop-range{position:relative!important;display:block!important;height:26px!important;margin:2px 0 5px!important;isolation:isolate!important;}
.fc-shop-price .fc-shop-range::before{content:""!important;display:block!important;position:absolute!important;left:1px!important;right:1px!important;top:10px!important;height:5px!important;border-radius:999px!important;background:#cfd4cc!important;z-index:0!important;}
.fc-shop-price .fc-shop-range::after{content:""!important;display:block!important;position:absolute!important;left:var(--fc-range-left,0%)!important;right:calc(100% - var(--fc-range-right,100%))!important;top:10px!important;height:5px!important;border-radius:999px!important;background:#3f5939!important;z-index:1!important;pointer-events:none!important;}
.fc-shop-price .fc-shop-range input[type="range"]{position:absolute!important;inset:0!important;width:100%!important;height:26px!important;margin:0!important;padding:0!important;transform:none!important;border:0!important;background:transparent!important;-webkit-appearance:none!important;appearance:none!important;pointer-events:none!important;z-index:2!important;}
.fc-shop-price .fc-shop-range input[type="range"]::-webkit-slider-runnable-track{height:5px!important;border:0!important;background:transparent!important;}
.fc-shop-price .fc-shop-range input[type="range"]::-moz-range-track{height:5px!important;border:0!important;background:transparent!important;}
.fc-shop-price .fc-shop-range input[type="range"]::-webkit-slider-thumb{width:14px!important;height:14px!important;margin-top:-4.5px!important;border:0!important;border-radius:50%!important;background:#3f5939!important;box-shadow:0 0 0 2px #fffdfa!important;-webkit-appearance:none!important;appearance:none!important;pointer-events:auto!important;cursor:pointer!important;}
.fc-shop-price .fc-shop-range input[type="range"]::-moz-range-thumb{width:14px!important;height:14px!important;border:2px solid #fffdfa!important;border-radius:50%!important;background:#3f5939!important;pointer-events:auto!important;cursor:pointer!important;}

.fc-shop-filter-groups .fc-shop-filter-group:not(.is-open) .fc-shop-option-list{display:none!important;max-height:0!important;overflow:hidden!important;padding-top:0!important;padding-bottom:0!important;}
.fc-shop-filter-groups .fc-shop-filter-group.is-open .fc-shop-option-list{display:flex!important;max-height:900px!important;padding:0 18px 16px!important;overflow:visible!important;}
.fc-shop-filter-groups .fc-shop-filter-group>button span{flex:0 0 18px!important;}

body.single-product .wd-product-info,body.single-product .wd-product-info-wrapper,body.single-product .wd-product-extra-content,body.single-product .wd-product-features,body.single-product .product-extra-content,body.single-product .product-features,body.single-product .product-features-wrapper{display:none!important;}

.fc-home-lock-seal,.fc-path-seal,.fc-best-seal,.fc-bs-seal,.fc-bs-seal span,.fc-mark-text{font-family:var(--fc-store-font)!important;font-style:normal!important;font-weight:600!important;letter-spacing:0!important;}

@media(max-width:1100px){
 .fc-flash-inner{grid-template-columns:1fr!important;}
 .fc-flash-aside{min-height:0!important;padding:18px 18px 18px 72px!important;display:flex!important;}
 .fc-flash-aside>span.fc-flash-side-text{position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;}
 .fc-flash-aside h2,.fc-flash-aside p,.fc-flash-count-label,.fc-flash-countdown,.fc-flash-cta{grid-column:auto!important;}
}
@media(max-width:767px){
 .fc-flash-inner{padding:16px!important;}
 .fc-flash-aside{padding-left:62px!important;}
 .fc-flash-aside>span.fc-flash-side-text{width:38px!important;height:168px!important;min-height:168px!important;max-height:168px!important;}
 .fc-flash-products{gap:12px!important;}
 .fc-flash-sale .fc-flash-card{height:290px!important;min-height:290px!important;max-height:290px!important;}
 .fc-flash-sale .fc-flash-photo{height:176px!important;min-height:176px!important;flex-basis:176px!important;}
 .fc-flash-sale .fc-flash-info{height:114px!important;min-height:114px!important;flex-basis:114px!important;}
}

/* 2026-08 final interaction and spacing corrections. */
.fc-hot-photo b{
    min-width:36px!important;
    min-height:82px!important;
    padding:8px 0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:normal!important;
}
.fc-hot-top-word{
    display:block!important;
    writing-mode:vertical-rl!important;
    text-orientation:upright!important;
    line-height:1!important;
    letter-spacing:0!important;
}
.fc-hot-top-number{
    display:block!important;
    margin:0!important;
    line-height:1!important;
}

.fc-flash-inner{
    grid-template-columns:300px minmax(0,1fr)!important;
    gap:30px!important;
}
.fc-flash-aside{
    padding-left:86px!important;
}
.fc-flash-aside>span.fc-flash-side-text{
    left:18px!important;
    width:44px!important;
}
.fc-flash-aside h2,
.fc-flash-aside p,
.fc-flash-count-label,
.fc-flash-countdown,
.fc-flash-cta{
    position:relative!important;
    z-index:1!important;
}
.fc-flash-sale .fc-flash-card{
    height:292px!important;
    min-height:292px!important;
    max-height:292px!important;
}
.fc-flash-sale .fc-flash-photo{
    height:190px!important;
    min-height:190px!important;
    flex-basis:190px!important;
}
.fc-flash-sale .fc-flash-info{
    height:102px!important;
    min-height:102px!important;
    flex:0 0 102px!important;
    padding:11px 14px 12px!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    align-content:space-between!important;
    gap:6px!important;
}
.fc-flash-sale .fc-flash-info h3{
    min-height:0!important;
    max-height:36px!important;
    margin:0!important;
}
.fc-flash-sale .fc-flash-price{
    margin:0!important;
    align-self:end!important;
}

.fc-shop-filter-groups .fc-shop-filter-group>button{
    pointer-events:auto!important;
    cursor:pointer!important;
}
.fc-shop-filter-chevron{
    position:relative!important;
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
    font-size:0!important;
}
.fc-shop-filter-chevron::before{
    content:""!important;
    width:7px!important;
    height:7px!important;
    border-right:1.5px solid #31482c!important;
    border-bottom:1.5px solid #31482c!important;
    transform:translateY(-2px) rotate(45deg)!important;
    transition:transform .18s ease!important;
}
.fc-shop-filter-group.is-open .fc-shop-filter-chevron::before{
    transform:translateY(2px) rotate(225deg)!important;
}
.fc-shop-filter-groups .fc-shop-filter-group:not(.is-open) .fc-shop-option-list{
    display:none!important;
    max-height:0!important;
    opacity:0!important;
    visibility:hidden!important;
    padding:0 18px!important;
}
.fc-shop-filter-groups .fc-shop-filter-group.is-open .fc-shop-option-list{
    display:flex!important;
    max-height:900px!important;
    opacity:1!important;
    visibility:visible!important;
    padding:0 18px 16px!important;
}
.fc-shop-price-form{
    padding-bottom:0!important;
}
.fc-shop-price .fc-shop-price-chips{
    margin-top:14px!important;
    padding-top:0!important;
}
.fc-shop-price-form button{
    margin-bottom:0!important;
}

.fc-best-seller,
.fc-product-path,
.fc-hot-sale,
.fc-flash-sale,
.fc-knowledge-panel{
    margin-top:32px!important;
    margin-bottom:32px!important;
}
.fc-best-seller + .fc-hot-sale,
.fc-best-seller + .fc-flash-sale,
.fc-product-path + .fc-hot-sale,
.fc-product-path + .fc-flash-sale,
.fc-hot-sale + .fc-flash-sale{
    margin-top:20px!important;
}
.entry-content>p:empty,
.wp-block-post-content>p:empty,
.elementor-widget-text-editor p:empty{
    display:none!important;
    margin:0!important;
    min-height:0!important;
}

body.single-product .wd-product-info,
body.single-product .wd-product-info-wrapper,
body.single-product .wd-product-extra-content,
body.single-product .wd-product-features,
body.single-product .product-extra-content,
body.single-product .product-features,
body.single-product .product-features-wrapper,
body.single-product .product-additional-galleries,
body.single-product .product-design-features{
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}

@media(max-width:1100px){
    .fc-flash-aside{padding-left:76px!important;}
    .fc-flash-aside>span.fc-flash-side-text{left:14px!important;}
}
@media(max-width:767px){
    .fc-flash-aside{padding-left:64px!important;}
    .fc-flash-sale .fc-flash-card{height:278px!important;min-height:278px!important;max-height:278px!important;}
    .fc-flash-sale .fc-flash-photo{height:176px!important;min-height:176px!important;flex-basis:176px!important;}
    .fc-flash-sale .fc-flash-info{height:102px!important;min-height:102px!important;flex-basis:102px!important;}
}

/* 2026-08 component reset: native filters, single-column rank labels, clean offer copy. */
.fc-hot-photo b{
    width:38px!important;
    min-width:38px!important;
    height:auto!important;
    min-height:96px!important;
    padding:10px 0 9px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
    white-space:normal!important;
    writing-mode:horizontal-tb!important;
}
.fc-hot-top-word{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    writing-mode:horizontal-tb!important;
}
.fc-hot-top-char{
    display:block!important;
    margin:0!important;
    padding:0!important;
    color:inherit!important;
    font:inherit!important;
    font-style:normal!important;
    line-height:1!important;
}
.fc-hot-top-number{
    display:block!important;
    width:18px!important;
    margin:5px 0 0!important;
    padding:5px 0 0!important;
    border-top:1px solid rgba(255,253,250,.45)!important;
    text-align:center!important;
    line-height:1!important;
}

.fc-flash-inner{
    grid-template-columns:280px minmax(0,1fr)!important;
    gap:24px!important;
    padding:24px!important;
    align-items:stretch!important;
}
.fc-flash-aside{
    position:relative!important;
    min-height:292px!important;
    padding:18px!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    grid-template-rows:1fr!important;
    column-gap:18px!important;
    align-items:center!important;
}
.fc-flash-aside>span.fc-flash-side-text{
    position:static!important;
    inset:auto!important;
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    transform:none!important;
    width:44px!important;
    height:184px!important;
    min-height:184px!important;
    max-height:184px!important;
    margin:0!important;
    padding:12px 0!important;
    overflow:hidden!important;
}
.fc-flash-side-text i{
    flex:0 0 auto!important;
    font-size:9px!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:0!important;
}
.fc-flash-side-text .fc-flash-side-gap{
    flex:0 0 7px!important;
    height:7px!important;
}
.fc-flash-copy{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
}
.fc-flash-copy h2{
    max-width:none!important;
    margin:0 0 10px!important;
    font-size:25px!important;
    font-weight:500!important;
    line-height:1.22!important;
}
.fc-flash-copy p{
    max-width:none!important;
    margin:0 0 14px!important;
    font-size:13px!important;
    line-height:1.55!important;
}
.fc-flash-copy .fc-flash-count-label{margin:0 0 7px!important;}
.fc-flash-copy .fc-flash-countdown{margin:0 0 14px!important;}
.fc-flash-copy .fc-flash-cta{margin:0!important;}

.fc-shop-filter-groups details.fc-shop-filter-group{
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid rgba(166,124,82,.16)!important;
    background:transparent!important;
}
.fc-shop-filter-groups details.fc-shop-filter-group:last-child{border-bottom:0!important;}
.fc-shop-filter-groups details.fc-shop-filter-group>summary{
    width:100%!important;
    min-height:52px!important;
    margin:0!important;
    padding:0 16px 0 18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#24211e!important;
    font-family:var(--fc-store-font)!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.25!important;
    list-style:none!important;
    cursor:pointer!important;
    user-select:none!important;
}
.fc-shop-filter-groups details.fc-shop-filter-group>summary::-webkit-details-marker{display:none!important;}
.fc-shop-filter-groups details.fc-shop-filter-group>summary::marker{content:""!important;display:none!important;}
.fc-shop-filter-groups details.fc-shop-filter-group>summary:hover{background:rgba(63,89,57,.035)!important;}
.fc-shop-filter-groups details.fc-shop-filter-group .fc-shop-filter-chevron{
    position:relative!important;
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    background:#eef0e9!important;
}
.fc-shop-filter-groups details.fc-shop-filter-group .fc-shop-filter-chevron::before{
    content:""!important;
    width:6px!important;
    height:6px!important;
    border-right:1.5px solid #31482c!important;
    border-bottom:1.5px solid #31482c!important;
    transform:translateY(-2px) rotate(45deg)!important;
    transition:transform .18s ease!important;
}
.fc-shop-filter-groups details.fc-shop-filter-group[open] .fc-shop-filter-chevron::before{
    transform:translateY(2px) rotate(225deg)!important;
}
.fc-shop-filter-groups details.fc-shop-filter-group:not([open]) .fc-shop-option-list{
    display:none!important;
    max-height:0!important;
    margin:0!important;
    padding:0 18px!important;
    overflow:hidden!important;
    opacity:0!important;
    visibility:hidden!important;
}
.fc-shop-filter-groups details.fc-shop-filter-group[open] .fc-shop-option-list{
    display:flex!important;
    max-height:900px!important;
    margin:0!important;
    padding:2px 18px 16px!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
}

@media(max-width:1100px){
    .fc-flash-inner{grid-template-columns:1fr!important;}
    .fc-flash-aside{min-height:220px!important;}
}
@media(max-width:767px){
    .fc-hot-photo b{width:34px!important;min-width:34px!important;min-height:88px!important;padding:8px 0!important;}
    .fc-flash-inner{padding:14px!important;gap:14px!important;}
    .fc-flash-aside{min-height:0!important;padding:16px!important;display:block!important;}
    .fc-flash-aside>span.fc-flash-side-text{width:max-content!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0 0 12px!important;padding:7px 12px!important;display:flex!important;flex-direction:row!important;gap:2px!important;border-radius:999px!important;}
    .fc-flash-side-text .fc-flash-side-gap{width:5px!important;height:1px!important;flex-basis:5px!important;}
    .fc-flash-copy{display:flex!important;}
    .fc-flash-copy h2{font-size:22px!important;}
}
/* 2026-08 compact commerce sections: authoritative last layer. */
.fc-hot-grid{
    gap:22px!important;
}
.fc-hot-card{
    padding:8px 8px 18px!important;
    border-radius:14px!important;
}
.fc-hot-photo{
    height:250px!important;
    border-radius:10px!important;
}
.fc-hot-photo b{
    position:absolute!important;
    top:14px!important;
    left:14px!important;
    width:38px!important;
    min-width:38px!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    margin:0!important;
    padding:10px 0 9px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
    border-radius:999px!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:normal!important;
    letter-spacing:0!important;
    line-height:1!important;
    overflow:hidden!important;
}
.fc-hot-top-word{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
}
.fc-hot-top-char{
    display:block!important;
    margin:0!important;
    padding:0!important;
    font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;
    font-size:10px!important;
    font-style:normal!important;
    font-weight:500!important;
    line-height:1!important;
}
.fc-hot-top-number{
    display:block!important;
    width:18px!important;
    margin:5px 0 0!important;
    padding:5px 0 0!important;
    border-top:1px solid rgba(255,253,250,.52)!important;
    font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;
    font-size:10px!important;
    font-weight:500!important;
    line-height:1!important;
    text-align:center!important;
}
.fc-hot-info{
    min-height:96px!important;
    padding:14px 18px 4px!important;
}
.fc-hot-info h3{
    min-height:38px!important;
    margin:0 0 8px!important;
    font-size:15px!important;
    font-weight:500!important;
    line-height:1.3!important;
}
.fc-hot-info p{display:none!important;}
.fc-hot-bottom{margin-top:auto!important;}

.fc-flash-inner{
    grid-template-columns:270px minmax(0,1fr)!important;
    gap:20px!important;
    min-height:0!important;
    padding:20px!important;
    align-items:center!important;
}
.fc-flash-aside{
    position:relative!important;
    min-height:280px!important;
    padding:14px!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:16px!important;
    align-items:center!important;
}
.fc-flash-aside>span.fc-flash-side-text{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:42px!important;
    height:170px!important;
    min-height:170px!important;
    max-height:170px!important;
    margin:0!important;
    padding:11px 0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    border-radius:999px!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    overflow:hidden!important;
}
.fc-flash-side-text i{
    display:block!important;
    flex:0 0 auto!important;
    margin:0!important;
    font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;
    font-size:8px!important;
    font-style:normal!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:0!important;
}
.fc-flash-side-text .fc-flash-side-gap{
    width:1px!important;
    height:6px!important;
    flex:0 0 6px!important;
}
.fc-flash-copy{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
}
.fc-flash-copy h2{
    max-width:190px!important;
    margin:0 0 9px!important;
    font-size:23px!important;
    font-weight:500!important;
    line-height:1.18!important;
}
.fc-flash-copy p{
    max-width:190px!important;
    margin:0 0 12px!important;
    font-size:12px!important;
    line-height:1.5!important;
}
.fc-flash-count-label{
    margin:0 0 6px!important;
    font-size:12px!important;
    line-height:1.2!important;
}
.fc-flash-countdown{
    margin:0 0 12px!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
}
.fc-flash-countdown span{
    min-width:36px!important;
    padding:5px 4px!important;
}
.fc-flash-countdown b{font-size:14px!important;}
.fc-flash-cta{
    min-width:132px!important;
    height:38px!important;
    padding:0 18px!important;
    font-size:12px!important;
}
.fc-flash-products{
    gap:14px!important;
    align-items:center!important;
}
.fc-flash-sale .fc-flash-card{
    height:280px!important;
    min-height:280px!important;
    max-height:280px!important;
    align-self:center!important;
}
.fc-flash-sale .fc-flash-photo{
    height:178px!important;
    min-height:178px!important;
    flex:0 0 178px!important;
}
.fc-flash-sale .fc-flash-info{
    height:102px!important;
    min-height:102px!important;
    flex:0 0 102px!important;
    padding:10px 12px 11px!important;
}
.fc-flash-sale .fc-flash-info h3{
    min-height:34px!important;
    max-height:34px!important;
    margin:0 0 5px!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:1.28!important;
}
.fc-flash-sale .fc-flash-price{
    grid-template-columns:minmax(0,1fr) 32px!important;
    gap:7px!important;
}
.fc-flash-sale .fc-flash-price del,
.fc-flash-sale .fc-flash-price strong,
.fc-flash-sale .fc-flash-price .woocommerce-Price-amount{
    font-size:14px!important;
    line-height:1.05!important;
}
.fc-flash-sale .fc-flash-price a{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
}
@media(max-width:1180px){
    .fc-flash-inner{grid-template-columns:1fr!important;}
    .fc-flash-aside{min-height:0!important;}
}
@media(max-width:767px){
    .fc-hot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
    .fc-hot-photo{height:190px!important;}
    .fc-hot-info{min-height:90px!important;padding:12px 12px 4px!important;}
    .fc-hot-photo b{top:10px!important;left:10px!important;width:34px!important;min-width:34px!important;height:88px!important;min-height:88px!important;max-height:88px!important;}
    .fc-flash-inner{padding:14px!important;gap:14px!important;}
    .fc-flash-aside{padding:16px!important;display:block!important;}
    .fc-flash-aside>span.fc-flash-side-text{width:max-content!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0 0 12px!important;padding:7px 12px!important;flex-direction:row!important;gap:2px!important;}
    .fc-flash-side-text .fc-flash-side-gap{width:5px!important;height:1px!important;flex-basis:5px!important;}
    .fc-flash-copy h2,.fc-flash-copy p{max-width:none!important;}
}
/* ============================================================
   [fortune_footer] — full-width theme footer
   ============================================================ */
.fc-site-footer {
    --fc-footer-ink: #292723;
    --fc-footer-muted: #746b60;
    --fc-footer-gold: #a77b3d;
    --fc-footer-gold-dark: #7f5a29;
    --fc-footer-cream: #f7f1e8;
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    overflow: hidden;
    color: var(--fc-footer-ink);
    background:
        radial-gradient(circle at 12% 8%, rgba(255,255,255,.68), transparent 28%),
        linear-gradient(135deg, #f8f3eb 0%, #efe2cd 54%, #e5cc9e 100%);
    border-top: 1px solid rgba(127,90,41,.18);
    font-family: Inter, "Helvetica Neue", Arial, "PingFang SC", sans-serif;
    isolation: isolate;
}
.fc-site-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .22;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='76' height='76' viewBox='0 0 76 76'%3E%3Cpath d='M38 8c7 12 16 21 30 30-14 9-23 18-30 30C31 56 22 47 8 38 22 29 31 20 38 8Z' fill='none' stroke='%23a77b3d' stroke-opacity='.22' stroke-width='.7'/%3E%3C/svg%3E");
    mask-image: linear-gradient(90deg, #000, transparent 48%);
}
.fc-site-footer-glow {
    position: absolute;
    z-index: -1;
    right: -120px;
    top: -180px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(127,90,41,.22);
    border-radius: 50%;
    box-shadow: 0 0 0 54px rgba(255,255,255,.12), 0 0 0 108px rgba(127,90,41,.05);
}
.fc-site-footer-inner {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 74px 0 24px;
}
.fc-site-footer-main {
    display: grid;
    grid-template-columns: minmax(250px, 1.05fr) minmax(180px, .65fr) minmax(300px, 1.15fr);
    gap: clamp(42px, 7vw, 100px);
    align-items: start;
    padding-bottom: 58px;
}
.fc-site-footer-brand-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--fc-footer-ink) !important;
    text-decoration: none !important;
}
.fc-site-footer-logo {
    display: block;
    width: auto;
    max-width: 210px;
    max-height: 76px;
    object-fit: contain;
    object-position: left center;
}
.fc-site-footer-mark {
    position: relative;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
}
.fc-site-footer-mark::before,
.fc-site-footer-mark::after {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid var(--fc-footer-gold);
    transform: rotate(45deg);
}
.fc-site-footer-mark::after { inset: 15px; opacity: .5; }
.fc-site-footer-mark span {
    position: relative;
    z-index: 1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    letter-spacing: .08em;
    color: var(--fc-footer-gold-dark);
}
.fc-site-footer-brand-name {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    font-weight: 500;
    letter-spacing: .04em;
}
.fc-site-footer-brand > p {
    max-width: 330px;
    margin: 24px 0 0;
    color: var(--fc-footer-muted);
    font-size: 14px;
    line-height: 1.85;
}
.fc-site-footer-socials { display: flex; gap: 9px; margin-top: 26px; }
.fc-site-footer-socials:empty { display: none; }
.fc-site-footer-socials a {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    color: var(--fc-footer-ink) !important;
    border: 1px solid rgba(41,39,35,.18);
    border-radius: 50%;
    transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.fc-site-footer-socials a:hover { transform: translateY(-3px); color: #fff !important; background: var(--fc-footer-gold-dark); border-color: var(--fc-footer-gold-dark); }
.fc-site-footer-socials svg { width: 17px; height: 17px; fill: currentColor; stroke: currentColor; stroke-width: 1.6; }
.fc-site-footer-socials .fc-svg-fill { fill: currentColor; stroke: none; }
.fc-site-footer-socials .fc-svg-cut { fill: var(--fc-footer-cream); stroke: none; }
.fc-site-footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.fc-site-footer-column h2 {
    margin: 0 0 9px;
    color: var(--fc-footer-ink);
    font-family: Lexend, Inter, sans-serif;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -.02em;
}
.fc-site-footer-column > a:not(.fc-site-footer-contact-link) {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--fc-footer-muted) !important;
    font-size: 14px;
    text-decoration: none !important;
    transition: color .2s ease, transform .2s ease;
}
.fc-site-footer-column > a:not(.fc-site-footer-contact-link) span { opacity: 0; transform: translate(-5px, 3px); transition: inherit; }
.fc-site-footer-column > a:not(.fc-site-footer-contact-link):hover { color: var(--fc-footer-gold-dark) !important; transform: translateX(3px); }
.fc-site-footer-column > a:not(.fc-site-footer-contact-link):hover span { opacity: 1; transform: translate(0, 0); }
.fc-site-footer-contact {
    padding: 30px 34px;
    border: 1px solid rgba(127,90,41,.2);
    border-radius: 2px 32px 2px 2px;
    background: rgba(255,255,255,.34);
    box-shadow: 0 18px 54px rgba(92,65,33,.08);
    backdrop-filter: blur(5px);
}
.fc-site-footer-kicker { color: var(--fc-footer-gold-dark); font-family: Georgia, serif; font-size: 13px; font-style: italic; }
.fc-site-footer-contact h2 { margin: -3px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 30px; font-weight: 500; }
.fc-site-footer-contact p { margin: 2px 0 5px; color: var(--fc-footer-muted); font-size: 13px; line-height: 1.7; }
.fc-site-footer-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--fc-footer-ink) !important;
    font-size: 14px;
    text-decoration: none !important;
}
.fc-site-footer-contact-link span { color: var(--fc-footer-gold-dark); }
.fc-site-footer-contact-link:hover { color: var(--fc-footer-gold-dark) !important; }
.fc-site-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 58px;
    padding-top: 20px;
    border-top: 1px solid rgba(41,39,35,.13);
    color: var(--fc-footer-muted);
    font-size: 12px;
}
.fc-site-footer-bottom p { margin: 0; }
.fc-site-footer-bottom > div { display: flex; align-items: center; gap: 24px; }
.fc-site-footer-bottom a { color: var(--fc-footer-muted) !important; text-decoration: none !important; }
.fc-site-footer-bottom a:hover { color: var(--fc-footer-gold-dark) !important; }
@media (max-width: 900px) {
    .fc-site-footer-main { grid-template-columns: 1fr 1fr; }
    .fc-site-footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    .fc-site-footer-inner { width: min(100% - 32px, 1180px); padding-top: 52px; }
    .fc-site-footer-main { grid-template-columns: 1fr; gap: 38px; padding-bottom: 42px; }
    .fc-site-footer-contact { grid-column: auto; padding: 26px 24px; }
    .fc-site-footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; padding: 20px 0 24px; }
    .fc-site-footer-bottom > div { flex-wrap: wrap; gap: 12px 20px; }
}

/* ---- Staged, multi-select shop filters ---- */
.fc-shop-filter-form { display: block; margin: 0; }
.fc-shop-choice { position: relative; cursor: pointer; user-select: none; }
.fc-shop-choice input[type="checkbox"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.fc-shop-cats .fc-shop-choice {
    min-height: 30px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0,1fr) auto 16px !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 4px 8px !important;
    border-radius: 7px !important;
    color: #2d2925 !important;
    transition: background-color .2s ease, color .2s ease !important;
}
.fc-shop-cats .fc-shop-choice::after {
    content: "✓";
    opacity: 0;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}
.fc-shop-cats .fc-shop-choice:hover { background: rgba(63,89,57,.07) !important; }
.fc-shop-cats .fc-shop-choice.is-selected {
    color: #fff !important;
    background: #385536 !important;
}
.fc-shop-cats .fc-shop-choice.is-selected::after { opacity: 1; }
.fc-shop-cats .fc-shop-choice.is-selected i,
.fc-shop-cats .fc-shop-choice.is-selected em { color: #fff !important; }
.fc-shop-option-list .fc-shop-choice,
.fc-shop-price-chips button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 31px !important;
    padding: 6px 11px !important;
    border: 1px solid rgba(70,94,66,.18) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #332f2a !important;
    font: inherit !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
.fc-shop-option-list .fc-shop-choice:hover,
.fc-shop-price-chips button:hover {
    color: #385536 !important;
    border-color: #789074 !important;
    transform: translateY(-1px);
}
.fc-shop-option-list .fc-shop-choice.is-selected,
.fc-shop-price-chips button.is-selected {
    color: #fff !important;
    border-color: #385536 !important;
    background: #385536 !important;
    box-shadow: 0 5px 13px rgba(56,85,54,.18) !important;
}
.fc-shop-option-list .fc-shop-choice.is-selected span::before {
    content: "✓";
    margin-right: 5px;
    font-weight: 700;
}
.fc-shop-price-chips button { width: 100%; }
.fc-shop-filter-actions .fc-shop-apply {
    appearance: none !important;
    border: 1px solid #385536 !important;
    font: inherit !important;
    cursor: pointer !important;
}
.fc-shop-submit:disabled,
.fc-shop-submit[aria-disabled="true"] {
    opacity: .43 !important;
    cursor: not-allowed !important;
    filter: grayscale(.35);
    box-shadow: none !important;
}
.fc-shop-filters.has-selection .fc-shop-filter-actions {
    box-shadow: 0 -8px 24px rgba(56,85,54,.06);
}

/* Compact refinement: prevent legacy accordion typography from enlarging chips. */
.fc-shop-filters,
.fc-shop-filter-form {
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}
.fc-shop-filter-groups details.fc-shop-filter-group > summary {
    min-height: 44px !important;
    padding: 0 18px !important;
    color: #292724 !important;
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: .01em !important;
}
.fc-shop-filter-head h3 {
    color: #292724 !important;
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}
.fc-shop-cats .fc-shop-choice span {
    color: inherit !important;
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}
.fc-shop-cats .fc-shop-choice em {
    font-size: 11px !important;
    font-weight: 400 !important;
}
.fc-shop-price-labels {
    font-size: 12px !important;
    font-weight: 500 !important;
}
.fc-shop-price-form .fc-shop-submit {
    height: 38px !important;
    min-height: 38px !important;
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
}
.fc-shop-filter-groups details.fc-shop-filter-group .fc-shop-option-list {
    gap: 7px !important;
    padding: 4px 18px 14px !important;
}
.fc-shop-option-list .fc-shop-choice {
    min-height: 27px !important;
    padding: 4px 9px !important;
}
.fc-shop-option-list .fc-shop-choice span,
.fc-shop-price-chips button {
    color: inherit !important;
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}
.fc-shop-option-list .fc-shop-choice.is-selected span {
    color: #fff !important;
}
.fc-shop-price-chips {
    gap: 6px !important;
}
.fc-shop-price-chips button {
    min-height: 28px !important;
    padding: 4px 7px !important;
}
.fc-shop-filter-actions {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr) !important;
    gap: 9px !important;
    padding: 13px 18px 16px !important;
}
.fc-shop-filter-actions .fc-shop-clear,
.fc-shop-filter-actions .fc-shop-apply {
    width: 100% !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}
.fc-shop-filter-actions .fc-shop-apply:disabled,
.fc-shop-filter-actions .fc-shop-apply[aria-disabled="true"] {
    opacity: 1 !important;
    color: rgba(255,255,255,.92) !important;
    border-color: #aeb6ab !important;
    background: #aeb6ab !important;
}
