:root{
    --bhmz-bg:#fffaf3;
    --bhmz-card:#ffffff;
    --bhmz-soft:#fff4e5;
    --bhmz-soft2:#f8efe2;
    --bhmz-text:#342414;
    --bhmz-muted:#806a52;
    --bhmz-line:rgba(126,83,38,.16);
    --bhmz-gold:#b9803a;
    --bhmz-gold-dark:#89561f;
    --bhmz-brown:#3d2a17;
    --bhmz-red:#8f2f20;
    --bhmz-shadow:0 16px 42px rgba(63,38,16,.10);
}

.bhmz-sidebar-shell,
.bhmz-sidebar,
.bhmz-sidebar *{
    box-sizing:border-box;
}

.bhmz-sidebar{
    width:100%;
    max-width:360px;
    margin:0 auto;
    color:var(--bhmz-text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
}

.bhmz-side-note{
    width:max-content;
    max-width:100%;
    margin:0 auto 14px;
    padding:7px 14px;
    border-radius:999px;
    text-align:center;
    color:#83592b;
    background:#fff5e7;
    border:1px solid rgba(185,128,58,.22);
    font-size:12px;
    font-weight:700;
    letter-spacing:.03em;
}

.bhmz-sidebar-mounted .bhmz-sidebar{
    max-width:none;
}

.bhmz-side-card{
    position:relative;
    overflow:hidden;
    background:var(--bhmz-card);
    border:1px solid var(--bhmz-line);
    border-radius:20px;
    padding:20px;
    margin:0 0 16px;
    box-shadow:var(--bhmz-shadow);
}

.bhmz-side-card:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 100% 0%,rgba(185,128,58,.10),transparent 34%);
}

.bhmz-card-title{
    position:relative;
    z-index:1;
}

.bhmz-title-center{
    text-align:center;
}

.bhmz-card-title span,
.bhmz-address-card span,
.bhmz-qr-card span{
    display:block;
    color:var(--bhmz-gold-dark);
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.04em;
}

.bhmz-card-title h3{
    margin:7px 0 0;
    color:var(--bhmz-text);
    font-size:18px;
    line-height:1.25;
    font-weight:900;
    letter-spacing:.01em;
}

.bhmz-search-card{
    padding:18px;
    background:linear-gradient(180deg,#fffaf3,#fff);
}

.bhmz-search-form{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr 72px;
    gap:8px;
    margin-top:15px;
}

.bhmz-search-form input{
    width:100%;
    height:42px;
    margin:0!important;
    padding:0 14px!important;
    border-radius:999px!important;
    border:1px solid rgba(126,83,38,.18)!important;
    background:#fff!important;
    color:var(--bhmz-text)!important;
    font-size:13px!important;
    outline:none!important;
    box-shadow:none!important;
}

.bhmz-search-form input:focus{
    border-color:rgba(185,128,58,.55)!important;
}

.bhmz-search-form button{
    height:42px;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    color:#fff!important;
    background:linear-gradient(135deg,var(--bhmz-brown),var(--bhmz-gold))!important;
    font-size:13px!important;
    font-weight:800!important;
    cursor:pointer;
}

.bhmz-consult-card{
    padding:0;
    color:#fff;
    border:0;
    background:
        linear-gradient(145deg,rgba(54,35,17,.97),rgba(118,70,26,.95)),
        radial-gradient(circle at top right,rgba(255,219,148,.26),transparent 36%);
}

.bhmz-consult-card:before{
    background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 48%);
}

.bhmz-consult-inner{
    position:relative;
    z-index:1;
    padding:24px 22px 22px;
}

.bhmz-consult-kicker,
.bhmz-sidebar .bhmz-consult-kicker{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:27px;
    padding:0 12px;
    border-radius:999px;
    color:#f5d69d!important;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(245,214,157,.22);
    font-size:12px;
    font-weight:800;
}

.bhmz-consult-card h3,
.bhmz-sidebar .bhmz-consult-card h3,
.bhmz-sidebar-shell .bhmz-consult-card h3{
    margin:14px 0 0!important;
    color:#fff!important;
    font-size:25px!important;
    line-height:1.18!important;
    font-weight:900!important;
}

.bhmz-consult-card h3 *,
.bhmz-sidebar .bhmz-consult-card h3 *{
    color:#fff!important;
}

.bhmz-consult-card p,
.bhmz-sidebar .bhmz-consult-card p{
    margin:11px 0 0!important;
    color:rgba(255,255,255,.82)!important;
    font-size:14px;
    line-height:1.75;
}

.bhmz-mini-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:16px 0 15px;
}

.bhmz-mini-tags span{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    color:#ffe4b0;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,228,176,.20);
    font-size:12px;
    font-weight:700;
}

.bhmz-phone-line{
    padding:14px;
    border-radius:17px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
}

.bhmz-phone-line span,
.bhmz-phone-line em{
    display:block;
    color:rgba(255,255,255,.68);
    font-size:12px;
    font-style:normal;
}

.bhmz-phone-line a{
    display:block;
    width:max-content;
    margin-top:5px;
    color:#fff!important;
    text-decoration:none!important;
    font-size:19px;
    line-height:1.15;
    font-weight:900;
    letter-spacing:.02em;
}

.bhmz-phone-line em{
    margin-top:8px;
}

.bhmz-cta-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:14px;
}

.bhmz-btn{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:42px;
    border-radius:999px;
    text-decoration:none!important;
    font-weight:900;
    font-size:14px;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.bhmz-btn:hover{
    transform:translateY(-1px);
}

.bhmz-btn-primary{
    color:#3b250d!important;
    background:linear-gradient(135deg,#f7d99a,#c58b42);
    box-shadow:0 12px 22px rgba(191,137,62,.28);
}

.bhmz-btn-ghost{
    color:#fff!important;
    border:1px solid rgba(255,255,255,.28);
    background:rgba(255,255,255,.08);
}

.bhmz-hot-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:16px;
}

.bhmz-hot-link{
    display:block!important;
    min-height:116px;
    padding:13px 12px;
    border-radius:17px;
    text-decoration:none!important;
    background:linear-gradient(180deg,#fff8ee,#fff);
    border:1px solid rgba(185,128,58,.14);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.bhmz-hot-link:hover{
    transform:translateY(-2px);
    border-color:rgba(185,128,58,.34);
    box-shadow:0 12px 26px rgba(63,38,16,.08);
}

.bhmz-hot-link i{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:12px;
    color:#fff;
    background:linear-gradient(135deg,var(--bhmz-brown),var(--bhmz-gold));
    font-size:15px;
    font-style:normal;
    font-weight:900;
}

.bhmz-hot-link strong{
    display:block;
    margin-top:9px;
    color:var(--bhmz-text);
    font-size:15px;
    line-height:1.2;
    font-weight:900;
}

.bhmz-hot-link em{
    display:block;
    margin-top:5px;
    color:var(--bhmz-muted);
    font-size:12px;
    line-height:1.45;
    font-style:normal;
}

.bhmz-topic-grid{
    position:relative;
    z-index:1;
    display:grid;
    gap:10px;
    margin-top:16px;
}

.bhmz-topic-link{
    display:grid!important;
    grid-template-columns:42px 1fr;
    gap:12px;
    align-items:center;
    padding:12px;
    border-radius:16px;
    text-decoration:none!important;
    background:var(--bhmz-soft);
    border:1px solid rgba(185,128,58,.13);
    transition:transform .18s ease,background .18s ease;
}

.bhmz-topic-link:hover{
    transform:translateX(2px);
    background:#fff8ec;
}

.bhmz-topic-icon{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:50%;
    color:#fff;
    background:linear-gradient(135deg,var(--bhmz-brown),var(--bhmz-gold));
    font-weight:900;
}

.bhmz-topic-link strong,
.bhmz-latest-text strong,
.bhmz-address-card strong,
.bhmz-qr-card strong{
    display:block;
    color:var(--bhmz-text);
    font-weight:900;
    line-height:1.35;
}

.bhmz-topic-link em,
.bhmz-latest-text em{
    display:block;
    margin-top:3px;
    color:var(--bhmz-muted);
    font-style:normal;
    font-size:12px;
}

.bhmz-latest-list{
    position:relative;
    z-index:1;
    display:grid;
    gap:0;
    margin-top:14px;
}

.bhmz-latest-item{
    display:grid!important;
    grid-template-columns:68px 1fr;
    gap:12px;
    align-items:center;
    padding:12px 0;
    text-decoration:none!important;
    border-top:1px solid var(--bhmz-line);
}

.bhmz-latest-item:first-child{
    border-top:0;
    padding-top:0;
}

.bhmz-latest-thumb{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:68px;
    height:52px;
    overflow:hidden;
    border-radius:14px;
    background:linear-gradient(135deg,#fff0d6,#fffaf3);
    border:1px solid rgba(185,128,58,.13);
}

.bhmz-latest-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.bhmz-latest-thumb b{
    color:#8b5f2c;
    font-size:13px;
    font-weight:900;
}

.bhmz-latest-text strong{
    font-size:14px;
}

.bhmz-latest-item:hover strong,
.bhmz-address-card a:hover,
.bhmz-cat-list a:hover span,
.bhmz-tag-cloud a:hover{
    color:var(--bhmz-gold-dark);
}

.bhmz-cat-list{
    position:relative;
    z-index:1;
    display:grid;
    gap:8px;
    margin-top:15px;
}

.bhmz-cat-list a{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    min-height:38px;
    padding:0 12px;
    border-radius:999px;
    text-decoration:none!important;
    color:var(--bhmz-text)!important;
    background:#fff8ed;
    border:1px solid rgba(185,128,58,.13);
}

.bhmz-cat-list span{
    font-size:13px;
    font-weight:800;
}

.bhmz-cat-list em{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:25px;
    height:25px;
    padding:0 7px;
    border-radius:999px;
    color:#8b5f2c;
    background:#fff;
    font-size:12px;
    font-style:normal;
    font-weight:900;
}

.bhmz-tag-cloud{
    position:relative;
    z-index:1;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}

.bhmz-tag-cloud a{
    display:inline-flex!important;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border-radius:999px;
    color:#7a5631!important;
    background:#fff;
    border:1px solid rgba(185,128,58,.16);
    text-decoration:none!important;
    font-size:12px!important;
    font-weight:800;
}

.bhmz-step-list{
    position:relative;
    z-index:1;
    list-style:none!important;
    margin:16px 0 0!important;
    padding:0!important;
}

.bhmz-step-list li{
    display:grid;
    grid-template-columns:40px 1fr;
    gap:12px;
    align-items:center;
    margin:0 0 11px!important;
    padding:0!important;
}

.bhmz-step-list li:last-child{
    margin-bottom:0!important;
}

.bhmz-step-list b{
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:13px;
    color:#fff;
    background:linear-gradient(135deg,var(--bhmz-gold),var(--bhmz-gold-dark));
    font-size:12px;
    font-weight:900;
}

.bhmz-step-list span{
    color:#5a4630;
    font-size:14px;
    line-height:1.55;
}

.bhmz-qr-card{
    display:grid;
    grid-template-columns:1fr 90px;
    align-items:center;
    gap:16px;
}

.bhmz-qr-card img{
    position:relative;
    z-index:1;
    width:90px;
    height:90px;
    object-fit:cover;
    border-radius:14px;
    border:1px solid var(--bhmz-line);
}

.bhmz-qr-card strong{
    position:relative;
    z-index:1;
    margin-top:8px;
    font-size:15px;
}

.bhmz-address-card{
    background:linear-gradient(180deg,#fffaf1,#fff);
}

.bhmz-address-card strong{
    position:relative;
    z-index:1;
    margin-top:9px;
    font-size:15px;
}

.bhmz-address-card a{
    position:relative;
    z-index:1;
    display:inline-block;
    margin-top:12px;
    color:var(--bhmz-gold-dark)!important;
    font-weight:900;
    text-decoration:none!important;
}

.bhmz-mobile-cta{
    display:none;
}

@media (min-width:992px){
    .bhmz-sidebar{
        position:sticky;
        top:96px;
    }
}

@media (max-width:991px){
    .bhmz-sidebar{
        max-width:none;
        margin-top:24px;
    }

    .bhmz-side-card{
        border-radius:18px;
        padding:17px;
        margin-bottom:14px;
    }

    .bhmz-consult-inner{
        padding:21px 18px 18px;
    }

    .bhmz-consult-card h3{
        font-size:22px;
    }

    .bhmz-hot-grid{
        grid-template-columns:1fr 1fr;
    }

    .bhmz-mobile-cta{
        position:fixed;
        left:12px;
        right:12px;
        bottom:12px;
        z-index:9998;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:10px;
        padding:9px;
        border-radius:18px;
        background:rgba(255,250,242,.94);
        border:1px solid rgba(126,83,38,.18);
        box-shadow:0 14px 32px rgba(42,27,12,.18);
        backdrop-filter:blur(10px);
    }

    .bhmz-mobile-cta a{
        display:flex!important;
        align-items:center;
        justify-content:center;
        min-height:42px;
        border-radius:999px;
        text-decoration:none!important;
        font-size:14px;
        font-weight:900;
    }

    .bhmz-mobile-cta a:first-child{
        color:#fff!important;
        background:linear-gradient(135deg,var(--bhmz-brown),var(--bhmz-gold));
    }

    .bhmz-mobile-cta a:last-child{
        color:#6d461e!important;
        background:#fff2dc;
    }

    body{
        padding-bottom:76px;
    }
}

@media (max-width:480px){
    .bhmz-search-form{
        grid-template-columns:1fr 68px;
    }
    .bhmz-hot-grid{
        gap:8px;
    }
    .bhmz-hot-link{
        min-height:112px;
        padding:12px 10px;
    }
}

/* v3: 自定义广告 HTML 模块 */
.bhmz-custom-html-card{
    padding:14px;
    background:#fff;
}

.bhmz-custom-html-card:before{
    display:none;
}

.bhmz-custom-html-inner{
    position:relative;
    z-index:1;
    width:100%;
    min-height:1px;
    overflow:hidden;
}

.bhmz-custom-html-inner ins,
.bhmz-custom-html-inner iframe,
.bhmz-custom-html-inner img{
    max-width:100%!important;
}

/* v3: 二维码悬停/点击放大 */
.bhmz-qr-card{
    overflow:visible;
}

.bhmz-qr-card em{
    position:relative;
    z-index:1;
    display:block;
    margin-top:7px;
    color:var(--bhmz-muted);
    font-size:12px;
    line-height:1.45;
    font-style:normal;
}

.bhmz-qr-zoom-trigger{
    position:relative;
    z-index:3;
    display:block;
    width:90px;
    height:90px;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    cursor:zoom-in;
    border-radius:16px;
}

.bhmz-qr-zoom-trigger img{
    display:block;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.bhmz-qr-zoom-trigger:hover img{
    transform:scale(1.08);
    box-shadow:0 18px 32px rgba(44,28,13,.18);
    border-color:rgba(185,128,58,.45);
}

.bhmz-qr-zoom-trigger:after{
    content:"";
    position:absolute;
    right:calc(100% + 10px);
    top:auto;
    bottom:calc(100% + 10px);
    width:176px;
    height:176px;
    padding:9px;
    border-radius:20px;
    background:#fff var(--bhmz-qr-url, none) center/calc(100% - 18px) calc(100% - 18px) no-repeat;
    border:1px solid rgba(126,83,38,.18);
    box-shadow:0 22px 52px rgba(44,28,13,.20);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform-origin:100% 100%;
    transform:translate(8px,8px) scale(.92);
    transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
}

.bhmz-qr-zoom-trigger:hover:after,
.bhmz-qr-zoom-trigger.is-active:after{
    opacity:1;
    visibility:visible;
    transform:translate(0,0) scale(1);
}

.bhmz-qr-modal{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(24,15,7,.58);
    backdrop-filter:blur(6px);
    opacity:0;
    visibility:hidden;
    transition:opacity .22s ease, visibility .22s ease;
}

.bhmz-qr-modal.is-open{
    opacity:1;
    visibility:visible;
}

.bhmz-qr-modal-box{
    position:relative;
    width:min(330px,88vw);
    padding:20px 20px 18px;
    border-radius:26px;
    background:#fffaf3;
    border:1px solid rgba(245,214,157,.36);
    box-shadow:0 28px 80px rgba(0,0,0,.32);
    transform:translateY(12px) scale(.96);
    transition:transform .22s ease;
}

.bhmz-qr-modal.is-open .bhmz-qr-modal-box{
    transform:translateY(0) scale(1);
}

.bhmz-qr-modal-box img{
    display:block;
    width:100%;
    height:auto;
    border-radius:20px;
    border:1px solid rgba(126,83,38,.15);
    background:#fff;
}

.bhmz-qr-modal-title{
    margin:12px 0 0;
    color:#3d2a17;
    font-size:15px;
    line-height:1.45;
    text-align:center;
    font-weight:900;
}

.bhmz-qr-modal-close{
    position:absolute;
    right:-10px;
    top:-10px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    color:#fff;
    background:#3d2a17;
    box-shadow:0 10px 24px rgba(0,0,0,.22);
    cursor:pointer;
    font-size:20px;
    line-height:1;
}

@media (max-width:991px){
    .bhmz-qr-zoom-trigger:after{
        right:0;
        bottom:calc(100% + 10px);
        width:168px;
        height:168px;
        transform-origin:100% 100%;
    }
}