
            html {
                scroll-behavior: smooth;
                scroll-padding-top: 180px
            }

            [id] {
                scroll-margin-top: 180px
            }

            .pc-only {
                display: block
            }

            .mobile-only {
                display: none
            }

            .header-m-nav {
                display: none
            }


            
            body.products-page {
                background: #faf7f2;
                color: #222;
                margin: 0
            }

            .flow-banner img {
                width: 100%;
                height: auto;
                display: block;
                padding-top: 80px
            }

            .wrap {
                max-width: 1180px;
                margin: 0 auto;
                padding: 0 24px
            }

            .hero {
                text-align: center;
                padding: 56px 24px 40px
            }

            .kicker {
                display: inline-block;
                margin-bottom: 10px;
                color: #8a7155;
                letter-spacing: .16em;
                font-size: 14px;
                text-transform: uppercase
            }

            .hero h1,
            .section-head h1 {
                font-size: 42px;
                line-height: 1.35;
                margin: 0 0 16px;
                color: #111
            }

            .hero p,
            .section-head p {
                max-width: 900px;
                margin: 0 auto;
                font-size: 19px;
                line-height: 1.9;
                color: #555
            }

            .section-head {
                text-align: left;
                margin-bottom: 34px;
                padding-bottom: 18px;
                border-bottom: 1px solid #e7dfd3
            }

            .section-head h2 {
                font-size: 36px;
                line-height: 1.35;
                margin: 0 0 10px;
                color: #111
            }

            .section-head p {
                margin: 0;
                text-align: left
            }

            .style-nav,
            .space-nav {
                position: sticky;
                z-index: 30;
                backdrop-filter: blur(10px);
                border-top: 1px solid #e9e1d5;
                border-bottom: 1px solid #e9e1d5;
                box-shadow: 0 4px 12px rgba(0, 0, 0, .05)
            }

            .style-nav {
                top: 80px;
                background: rgba(250, 247, 242, .96)
            }

            .space-nav {
                top: 146px;
                background: rgba(255, 255, 255, .96);
                z-index: 29
            }

            .style-nav-inner-style,
            .style-nav-inner,
            .space-nav-inner {
                max-width: 1240px;
                margin: 0 auto;
                padding: 12px 20px;
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                gap: 10px
            }

            .style-nav a,
            .space-nav a {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                min-height: 40px;
                padding: 0 18px;
                border: 1px solid #d9cfbf;
                border-radius: 999px;
                background: #fff;
                color: #6b4b2f;
                text-decoration: none;
                font-size: 17px;
                font-weight: 700;
                transition: all .25s ease;
                white-space: nowrap
            }

            .space-nav a {
                color: #333;
                font-size: 16px;
                min-height: 38px
            }

            .style-nav a:hover,
            .style-nav a.active,
            .space-nav a:hover,
            .space-nav a.active {
                background: #6b4b2f;
                color: #fff;
                border-color: #6b4b2f
            }

            .section-block {
                padding: 64px 0 24px
            }

            .grid {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 24px
            }

            .card {
                display: block;
                background: #fff;
                border: 1px solid #eee5d9;
                border-radius: 24px;
                overflow: hidden;
                text-decoration: none;
                color: #222;
                box-shadow: 0 14px 36px rgba(0, 0, 0, .05);
                transition: transform .25s ease, box-shadow .25s ease
            }

            .card:hover {
                transform: translateY(-8px);
                box-shadow: 0 18px 40px rgba(0, 0, 0, .08)
            }

            .card img {
                width: 100%;
                aspect-ratio: 4/3;
                object-fit: cover;
                display: block;
                background: #eee7dd
            }

            .card-body {
                padding: 20px 22px 24px
            }

            .card-body h3 {
                font-size: 24px;
                line-height: 1.35;
                margin: 0 0 8px;
                color: #111
            }

            .card-body p {
                font-size: 16px;
                line-height: 1.75;
                color: #666;
                margin: 0
            }

            .more {
                display: inline-block;
                margin-top: 14px;
                color: #111;
                font-weight: 700;
                font-size: 16px
            }

            .page-label {
                position: absolute;
                left: 14px;
                bottom: 14px;
                background: rgba(0, 0, 0, .62);
                color: #fff;
                border-radius: 999px;
                padding: 6px 12px;
                font-size: 13px
            }

            .image-wrap {
                position: relative
            }

            .cta {
                padding: 70px 0 96px
            }

            .cta-box {
                background: linear-gradient(135deg, #23201c 0%, #5d4e40 100%);
                border-radius: 28px;
                padding: 40px;
                color: #fff
            }

            .cta-box h2 {
                font-size: 34px;
                line-height: 1.4;
                margin: 0 0 12px;
                color: #fff
            }

            .cta-box p {
                font-size: 18px;
                line-height: 1.9;
                color: rgba(255, 255, 255, .86);
                margin: 0 0 22px
            }

            .btn {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                min-height: 48px;
                padding: 0 22px;
                border-radius: 999px;
                text-decoration: none;
                font-size: 17px;
                font-weight: 700;
                border: 1px solid rgba(255, 255, 255, .45);
                color: #fff;
                margin-right: 10px
            }

            .btn:hover {
                background: rgba(255, 255, 255, .08)
            }

            .gallery {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 28px
            }

            .gallery a {
                display: block;
                border-radius: 24px;
                overflow: hidden;
                background: #eee7dd;
                box-shadow: 0 14px 36px rgba(0, 0, 0, .05)
            }

            .gallery img {
                width: 100%;
                aspect-ratio: 16/10;
                object-fit: cover;
                display: block;
                transition: transform .3s ease
            }

            .gallery a:hover img {
                transform: scale(1.02)
            }

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

            @media(max-width:768px) {
                html {
                    scroll-padding-top: 190px
                }

                [id] {
                    scroll-margin-top: 190px
                }

                .pc-only {
                    display: none !important
                }

                .mobile-only {
                    display: block !important
                }

                .flow-banner img {
                    padding-top: 0
                }

                .hero {
                    padding: 42px 24px 26px
                }

                .hero h1,
                .section-head h1 {
                    font-size: 32px
                }

                .hero p,
                .section-head p {
                    font-size: 17px
                }

                .wrap {
                    padding: 0 22px
                }

                .style-nav {
                    top: 60px
                }

                .space-nav {
                    top: 120px
                }

                .style-nav-inner-style,
                .style-nav-inner,
                .space-nav-inner {
                    justify-content: flex-start !important;
                    flex-wrap: nowrap !important;
                    overflow-x: auto;
                    -webkit-overflow-scrolling: touch;
                    padding: 12px 20px;
                    gap: 8px
                }

                .style-nav-inner-style::-webkit-scrollbar,
                .style-nav-inner::-webkit-scrollbar,
                .space-nav-inner::-webkit-scrollbar {
                    display: none
                }

                .style-nav a,
                .space-nav a {
                    font-size: 16px;
                    padding: 0 15px;
                    min-height: 36px;
                    flex-shrink: 0
                }

                .grid,
                .gallery {
                    grid-template-columns: 1fr;
                    gap: 18px
                }

                .section-block {
                    padding: 50px 0 8px
                }

                .section-head h2 {
                    font-size: 28px
                }

                .cta {
                    padding: 52px 0 64px
                }

                .cta-box {
                    padding: 28px 22px;
                    border-radius: 22px
                }

                .cta-box h2 {
                    font-size: 26px
                }

                .btn {
                    width: 100%;
                    margin: 0 0 10px
                }
            }

            /* ===== Two-level Nav Button Style ===== */
            .style-nav a:first-child,
            .space-nav a:first-child {
                min-width: 118px;
                background: #f1e7da;
                border-color: #cbb99f;
                color: #5a3b24;
                box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45)
            }

            .style-nav a:not(:first-child),
            .space-nav a:not(:first-child) {
                min-width: 96px;
                background: #fff;
                color: #6b4b2f
            }

            .space-nav a:not(:first-child) {
                color: #333
            }

            .style-nav a:first-child::before,
            .space-nav a:first-child::before {
                content: "ALL";
                font-size: 11px;
                letter-spacing: .08em;
                margin-right: 7px;
                opacity: .75
            }

@media (min-width:769px){

    .style-nav-inner-style,
    .space-nav-inner.space-nav-grid{
        width: 980px;
        max-width: calc(100% - 40px);
        margin: 0 auto;
        padding: 12px 0;

        display: grid;
        justify-content: start;
        align-items: center;
        gap: 10px;
    }

    .style-nav-inner-style{
        grid-template-columns:
            118px 2px 96px 96px 96px 96px 128px;
    }

    .space-nav-inner.space-nav-grid{
        grid-template-columns:
            118px 2px 96px 96px 96px 96px 96px 96px 96px 96px;
    }

    .style-nav a,
    .space-nav a{
        width: 100%;
        min-width: 0 !important;
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box;
    }
}

            @media (max-width:768px) {
                .space-nav-empty {
                    display: none !important;
                }
            }

            /* ===== Active Button Color Upgrade：風格 / 空間選取顏色區分 ===== */
            .style-nav a.active {
                background: #6b4b2f !important;
                color: #fff !important;
                border-color: #6b4b2f !important;
                transform: translateY(-2px);
                box-shadow: 0 8px 18px rgba(107, 75, 47, .35);
            }

            .style-nav a:hover {
                background: #4f3724 !important;
                color: #fff !important;
                border-color: #4f3724 !important;
                transform: translateY(-2px);
                box-shadow: 0 8px 18px rgba(107, 75, 47, .28);
            }

            .space-nav a.active {
                background: #2f4b5a !important;
                color: #fff !important;
                border-color: #2f4b5a !important;
                transform: translateY(-2px);
                box-shadow: 0 8px 18px rgba(47, 75, 90, .35);
            }

            .space-nav a:hover {
                background: #203642 !important;
                color: #fff !important;
                border-color: #203642 !important;
                transform: translateY(-2px);
                box-shadow: 0 8px 18px rgba(47, 75, 90, .28);
            }

            .space-nav a.active::after {
                content: "";
                width: 6px;
                height: 6px;
                border-radius: 50%;
                background: #fff;
                margin-left: 8px;
                opacity: .95;
            }

            .style-nav a.active::after {
                content: "";
                width: 6px;
                height: 6px;
                border-radius: 50%;
                background: #fff;
                margin-left: 8px;
                opacity: .95;
            }

            .nav-divider {
                display: flex;
                align-items: center;
                justify-content: center;
                color: #d0c3b4;
                font-size: 18px;
                user-select: none;
                pointer-events: none;
            }
                       @media (min-width: 769px) {
    .products-page .wrap {
        padding-top: 40px;
    }
}

/* =========================================================
   FINAL NAV ALIGN OVERRIDE
   五大風格 / 八大空間：桌機版左側完全對齊
   - ALL 對 ALL
   - 現代風格 對 廚房
   - 義式風格 對 玄關
   - 法式風格 對 客廳
   - 工業風格 對 餐廳
   - 現代中式風格 對 書房
   ========================================================= */
@media (min-width: 769px) {
    .products-page {
        --bn-nav-align-width: 1136px;
        --bn-nav-all: 118px;
        --bn-nav-divider: 2px;
        --bn-nav-normal: 96px;
        --bn-nav-wide: 128px;
        --bn-nav-gap: 10px;
    }

    .products-page .style-nav-inner-style,
    .products-page .style-nav-inner,
    .products-page .space-nav-inner,
    .products-page .space-nav-inner.space-nav-grid {
        width: var(--bn-nav-align-width) !important;
        max-width: calc(100% - 40px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 12px 0 !important;
        display: grid !important;
        justify-content: start !important;
        justify-items: stretch !important;
        align-items: center !important;
        gap: var(--bn-nav-gap) !important;
        flex-wrap: unset !important;
        overflow: visible !important;
    }

    .products-page .style-nav-inner-style,
    .products-page .style-nav-inner {
        grid-template-columns:
            var(--bn-nav-all)
            var(--bn-nav-divider)
            var(--bn-nav-normal)
            var(--bn-nav-normal)
            var(--bn-nav-normal)
            var(--bn-nav-normal)
            var(--bn-nav-wide) !important;
    }

    .products-page .space-nav-inner,
    .products-page .space-nav-inner.space-nav-grid {
        grid-template-columns:
            var(--bn-nav-all)
            var(--bn-nav-divider)
            var(--bn-nav-normal)
            var(--bn-nav-normal)
            var(--bn-nav-normal)
            var(--bn-nav-normal)
            var(--bn-nav-normal)
            var(--bn-nav-normal)
            var(--bn-nav-normal)
            var(--bn-nav-normal) !important;
    }

    .products-page .style-nav a,
    .products-page .space-nav a {
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .products-page .nav-divider {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

@media (max-width: 768px) {
    .products-page .style-nav-inner-style,
    .products-page .style-nav-inner,
    .products-page .space-nav-inner,
    .products-page .space-nav-inner.space-nav-grid {
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 12px 20px !important;
        display: flex !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 8px !important;
    }
}
.space-nav .disabled {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #ddd6cc;
    border-radius: 999px;
    background: #e8e4dd;
    color: #aaa;
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
    cursor: not-allowed;
    pointer-events: none;
}

    .bn-mobile-filter-nav { display: none; }

    @media (max-width: 768px) {
        .style-nav,
        .space-nav,
        #space-nav {
            display: none !important;
        }

        html {
            scroll-padding-top: 118px !important;
        }

        [id] {
            scroll-margin-top: 118px !important;
        }

        .bn-mobile-filter-nav {
            display: block;
            position: sticky;
            top: 60px;
            z-index: 80;
            padding: 10px 14px;
            background: rgba(250, 247, 242, .98);
            border-top: 1px solid #e9e1d5;
            border-bottom: 1px solid #e9e1d5;
            box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        }

        .bn-mobile-filter-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8px;
        }

        .bn-mobile-filter-btn {
            width: 100%;
            min-height: 48px;
            padding: 7px 12px;
            border: 1px solid #d2c3b1;
            border-radius: 15px;
            background: #fff;
            color: #5a3b24;
            font-size: 15px;
            font-weight: 800;
            line-height: 1.25;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            box-sizing: border-box;
        }

        .bn-mobile-filter-btn strong {
            display: block;
            margin-bottom: 2px;
            color: #9a8266;
            font-size: 11px;
            letter-spacing: .08em;
            line-height: 1.1;
        }

        .bn-mobile-filter-btn span {
            display: block;
            overflow: hidden;
            text-align: left;
            white-space: nowrap;
            text-overflow: ellipsis;
        }

        .bn-mobile-filter-btn em {
            flex: 0 0 auto;
            font-style: normal;
            font-size: 17px;
            color: #8a7155;
            transition: transform .2s ease;
        }

        .bn-mobile-filter-btn.is-open em {
            transform: rotate(180deg);
        }

        .bn-mobile-filter-panel {
            display: none;
            margin-top: 10px;
            padding: 12px;
            background: #fff;
            border: 1px solid #eadfce;
            border-radius: 18px;
            box-shadow: 0 10px 26px rgba(0, 0, 0, .10);
            box-sizing: border-box;
        }

        .bn-mobile-filter-panel.is-open {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 8px;
        }

        .bn-mobile-filter-panel a,
        .bn-mobile-filter-panel .is-disabled {
            min-height: 42px;
            padding: 0 10px;
            border: 1px solid #e0d5c6;
            border-radius: 13px;
            background: #fbf8f3;
            color: #333;
            text-decoration: none;
            font-size: 15px;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            box-sizing: border-box;
        }

        .bn-mobile-filter-panel.style a.active {
            background: #6b4b2f;
            border-color: #6b4b2f;
            color: #fff;
            box-shadow: 0 6px 14px rgba(107, 75, 47, .28);
        }

        .bn-mobile-filter-panel.space a.active {
            background: #2f4b5a;
            border-color: #2f4b5a;
            color: #fff;
            box-shadow: 0 6px 14px rgba(47, 75, 90, .28);
        }

        .bn-mobile-filter-panel a.active::before {
            content: "✓";
            margin-right: 6px;
            font-weight: 900;
        }

        .bn-mobile-filter-panel .is-disabled {
            color: #aaa;
            background: #f3f0eb;
            border-color: #e6ded3;
        }
    }
    /* ===== Mobile Dynamic Menu Fix ===== */
.bn-mobile-filter-nav {
    display: none;
}

@media (max-width: 768px) {
    .style-nav,
    .space-nav {
        display: none !important;
    }

    .bn-mobile-filter-nav.mobile-only {
        display: block !important;
    }

    .bn-mobile-filter-panel {
        display: none !important;
    }

    .bn-mobile-filter-panel.is-open {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
}
/* ===== Mobile Dynamic Menu Style：風格棕色 / 空間藍灰 ===== */
@media (max-width: 768px) {
    .bn-mobile-filter-btn {
        min-height: 52px;
        border-radius: 15px;
        background: #fff;
    }

    .bn-style-btn {
        border: 1px solid #c7a37b !important;
        color: #6b4b2f !important;
    }

    .bn-style-btn strong,
    .bn-style-btn em {
        color: #9a6a39 !important;
    }

    .bn-space-btn {
        border: 1px solid #7d98a4 !important;
        color: #2f4b5a !important;
    }

    .bn-space-btn strong,
    .bn-space-btn em {
        color: #486676 !important;
    }

    .bn-mobile-filter-panel.style a.active {
        background: #6b4b2f !important;
        border-color: #6b4b2f !important;
        color: #fff !important;
    }

    .bn-mobile-filter-panel.space a.active {
        background: #2f4b5a !important;
        border-color: #2f4b5a !important;
        color: #fff !important;
    }
}

/* =========================================================
   FINAL MOBILE NAV：範例一 圈圈版 / 預設縮起
   只影響手機版；桌機版原本 style-nav / space-nav 不動
   ========================================================= */
@media (max-width: 768px) {
    .products-page .style-nav,
    .products-page .space-nav,
    .products-page #space-nav,
    .series-detail-page .style-nav,
    .series-detail-page .space-nav,
    .series-detail-page #space-nav {
        display: none !important;
    }

    .bn-mobile-filter-nav.mobile-only {
        display: block !important;
        position: sticky;
        top: 60px;
        z-index: 80;
        padding: 10px 14px;
        background: rgba(250, 247, 242, .98);
        border-top: 1px solid #e9e1d5;
        border-bottom: 1px solid #e9e1d5;
        box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-sizing: border-box;
    }

    .bn-mobile-filter-row {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .bn-mobile-filter-btn {
        width: 100%;
        min-height: 54px;
        padding: 8px 12px;
        border-radius: 16px;
        background: #fff;
        font-size: 15px;
        font-weight: 800;
        line-height: 1.25;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        box-sizing: border-box;
        cursor: pointer;
    }

    .bn-mobile-left-wrap {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
    }

    .bn-mobile-circle {
        flex: 0 0 auto;
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: #fff;
        border: 3px solid currentColor;
        box-sizing: border-box;
        transition: background-color .2s ease, border-color .2s ease;
    }

    .bn-mobile-filter-btn strong {
        display: block;
        margin-bottom: 3px;
        font-size: 11px;
        letter-spacing: .08em;
        line-height: 1.1;
        opacity: .72;
    }

    .bn-mobile-filter-btn span {
        display: block;
        min-width: 0;
        overflow: hidden;
        text-align: left;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .bn-current-label {
        font-size: 16px;
        font-weight: 900;
    }

    .bn-style-btn {
        border: 1px solid #c7a37b !important;
        color: #6b4b2f !important;
    }

    .bn-space-btn {
        border: 1px solid #7d98a4 !important;
        color: #2f4b5a !important;
    }

    .bn-style-btn.is-open,
    .bn-style-btn.active-box {
        background: #f1e7da !important;
        border-color: #6b4b2f !important;
        box-shadow: 0 0 0 3px rgba(107, 75, 47, .14);
    }

    .bn-space-btn.is-open,
    .bn-space-btn.active-box {
        background: #e8f1f4 !important;
        border-color: #2f4b5a !important;
        box-shadow: 0 0 0 3px rgba(47, 75, 90, .14);
    }

    .bn-style-btn.is-open .bn-mobile-circle,
    .bn-style-btn.active-box .bn-mobile-circle {
        background: #6b4b2f;
        border-color: #6b4b2f;
    }

    .bn-space-btn.is-open .bn-mobile-circle,
    .bn-space-btn.active-box .bn-mobile-circle {
        background: #2f4b5a;
        border-color: #2f4b5a;
    }

    .bn-mobile-filter-panel {
        display: none !important;
        margin-top: 10px;
        padding: 12px;
        background: #fff;
        border: 1px solid #eadfce;
        border-radius: 18px;
        box-shadow: 0 10px 26px rgba(0, 0, 0, .10);
        box-sizing: border-box;
    }

    .bn-mobile-filter-panel.is-open {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .bn-mobile-filter-panel a,
    .bn-mobile-filter-panel .is-disabled {
        min-height: 42px;
        padding: 0 10px;
        border: 1px solid #e0d5c6;
        border-radius: 13px;
        background: #fbf8f3;
        color: #333;
        text-decoration: none;
        font-size: 15px;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        box-sizing: border-box;
    }

    .bn-mobile-filter-panel.style a.active {
        background: #6b4b2f !important;
        border-color: #6b4b2f !important;
        color: #fff !important;
        box-shadow: 0 6px 14px rgba(107, 75, 47, .28);
    }

    .bn-mobile-filter-panel.space a.active {
        background: #2f4b5a !important;
        border-color: #2f4b5a !important;
        color: #fff !important;
        box-shadow: 0 6px 14px rgba(47, 75, 90, .28);
    }

    .bn-mobile-filter-panel a.active::before {
        content: "✓";
        margin-right: 6px;
        font-weight: 900;
    }

    .bn-mobile-filter-panel .is-disabled {
        color: #aaa;
        background: #f3f0eb;
        border-color: #e6ded3;
        cursor: not-allowed;
        pointer-events: none;
    }
}


/* =========================================================
   Mobile Number Circle Version
   風格 = 1、空間 = 2，預設縮起，展開時數字圈填色
   ========================================================= */
@media (max-width: 768px) {
    .bn-mobile-filter-btn {
        min-height: 56px;
    }

    .bn-mobile-left-wrap {
        gap: 12px !important;
    }

    .bn-mobile-step-circle {
        flex: 0 0 auto;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #e8e0d4;
        color: #8a7155;
        border: 0;
        font-style: normal;
        font-size: 16px;
        font-weight: 900;
        line-height: 1;
        box-sizing: border-box;
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
        transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
    }

    .bn-style-btn .bn-mobile-step-circle {
        color: #8a7155;
        background: #e8e0d4;
    }

    .bn-space-btn .bn-mobile-step-circle {
        color: #8a7155;
        background: #e8e0d4;
    }

    .bn-style-btn.is-open .bn-mobile-step-circle,
    .bn-style-btn.active-box .bn-mobile-step-circle {
        background: #6b4b2f;
        color: #fff;
        box-shadow: 0 0 0 7px rgba(107, 75, 47, .16);
    }

    .bn-space-btn.is-open .bn-mobile-step-circle,
    .bn-space-btn.active-box .bn-mobile-step-circle {
        background: #2f4b5a;
        color: #fff;
        box-shadow: 0 0 0 7px rgba(47, 75, 90, .16);
    }

    .bn-mobile-circle {
        display: none !important;
    }
}

/* =========================================================
   FINAL FIX：Number Circle 狀態修正
   未選擇：1 淺咖啡、2 淺藍；選擇 SPACE 時 2 深藍白字
   ========================================================= */
@media (max-width: 768px) {
    .bn-mobile-filter-btn {
        background: #fff !important;
        box-shadow: none !important;
    }

    .bn-style-btn {
        border-color: #c9a26f !important;
        color: #6b4b2f !important;
    }

    .bn-space-btn {
        border-color: #7d98a4 !important;
        color: #2f4b5a !important;
    }

    .bn-style-btn.is-open,
    .bn-style-btn.active-box,
    .bn-space-btn.is-open,
    .bn-space-btn.active-box {
        background: #fff !important;
        box-shadow: none !important;
    }

    .bn-style-btn strong {
        color: #a7835b !important;
    }

    .bn-space-btn strong {
        color: #7d98a4 !important;
    }

    .bn-style-btn .bn-current-label {
        color: #6b4b2f !important;
    }

    .bn-space-btn .bn-current-label {
        color: #2f4b5a !important;
    }

    /* 未選 / 預設：1 是淺咖啡 */
    .bn-style-btn .bn-mobile-step-circle {
        background: #eee3d5 !important;
        color: #8a7155 !important;
        box-shadow: none !important;
    }

    /* 未選 / 預設：2 是淺藍 */
    .bn-space-btn .bn-mobile-step-circle {
        background: #e6f0f7 !important;
        color: #2f4b5a !important;
        box-shadow: none !important;
    }

    /* 選擇風格時：1 深咖啡白字 */
    .bn-style-btn.is-open .bn-mobile-step-circle,
    .bn-style-btn.active-box .bn-mobile-step-circle {
        background: #6b4b2f !important;
        color: #fff !important;
        box-shadow: 0 0 0 7px rgba(107, 75, 47, .16) !important;
    }

    /* 選擇空間時：2 深藍白字 */
    .bn-space-btn.is-open .bn-mobile-step-circle,
    .bn-space-btn.active-box .bn-mobile-step-circle {
        background: #2f4b5a !important;
        color: #fff !important;
        box-shadow: 0 0 0 7px rgba(47, 75, 90, .16) !important;
    }
}
.bn-backtop{
    position:fixed;
    right:22px;
    bottom:24px;
    width:50px;
    height:50px;
    border:1px solid #8a755f;
    border-radius:50%;
    background:#fff;
    color:#4a3829;
    font-size:24px;
    cursor:pointer;
    z-index:9999;
    box-shadow:0 8px 18px rgba(0,0,0,.12);
    opacity:0;
    visibility:hidden;
    transform:translateY(12px);
    transition:.25s ease;
}
.bn-backtop:before{content:"";position:absolute;inset:5px;border:1px solid rgba(138,117,95,.25);border-radius:50%}
.bn-backtop.is-show{opacity:1;visibility:visible;transform:translateY(0)}
.bn-backtop:hover{border-color:#4a3829;background:#faf7f2}
@media(max-width:768px){.bn-backtop{right:16px;bottom:18px;width:44px;height:44px;font-size:21px}}