/* ====================================================================
   property-mobile.css
   移动端房源详情页样式 - 独立CSS文件
   参考 soolu.net 房源详情页设计，更美观、更现代的移动端体验
   所有规则仅在 @media(max-width:767px) 下生效
   ==================================================================== */

@media(max-width:767px){

  /* ================================================================
     1. 全局重置
     ================================================================ */
  *{
    -webkit-tap-highlight-color:transparent;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale
  }
  html{
    font-size:16px;
    -webkit-text-size-adjust:100%;
    scroll-behavior:smooth
  }
  body{
    background:#f5f6fa;
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
    font-size:14px;
    color:#555555;
    line-height:1.6;
    padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility
  }

  /* 隐藏PC端专属元素及重复内容 */
  .bb-header,
  .crumbs-bar,
  .breadcrumb-row,
  .detail-right,
  html body.detail-page .detail-wrap,
  html body.detail-page .detail-top,
  html body.detail-page .mobile-breadcrumb,
  .pc-phone,
  .pc-login,
  .desktop-nav{
    display:none!important
  }

  /* 移动端header布局 */
  html body.detail-page .header{
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    gap:0!important;
    background:#fff!important;
    overflow:hidden!important
  }
  html body.detail-page .header .header-inner{
    width:100%;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    gap:0!important;
    padding:0!important;
    max-width:100%!important
  }
  html body.detail-page .header .logo-link{
    flex-shrink:0;
    display:flex!important;
    align-items:center;
    margin-right:0
  }
  html body.detail-page .header .logo-img{
    height:36px!important;
    width:auto!important;
    display:block!important;
    max-height:36px!important;
    min-height:36px!important
  }
  html body.detail-page .header .search-box{
    display:flex!important;
    flex:1!important;
    margin:0 8px!important;
    position:relative;
    height:34px;
    min-width:0;
    background:transparent!important;
    border-radius:0;
    padding:0!important;
    align-items:center
  }
  html body.detail-page .header .search-box .search-icon{
    position:absolute;
    left:13px;
    top:50%;
    transform:translateY(-50%);
    width:16px;
    height:16px;
    z-index:2;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z' fill='%23999'/%3E%3C/svg%3E");
    background-size:contain;
    background-repeat:no-repeat;
    background-position:center
  }
  html body.detail-page .header .search-box .search-input{
    flex:1;
    width:100%;
    height:34px!important;
    border:0!important;
    outline:none;
    background:#f2f5f8!important;
    font-size:13px!important;
    color:#344054!important;
    border-radius:17px!important;
    padding:0 15px 0 38px!important
  }
  html body.detail-page .header .user-btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:30px!important;
    height:30px!important;
    flex-shrink:0!important;
    background:none!important;
    border:none!important;
    cursor:pointer;
    padding:0!important;
    border-radius:0!important
  }
  html body.detail-page .header .user-btn svg{
    width:20px!important;
    height:20px!important;
    fill:#555!important
  }

  /* 通用容器 */
  .wrap{
    padding:0 16px;
    max-width:100%
  }

  /* ================================================================
     移动端面包屑导航
     ================================================================ */
  .m-crumbs-bar{
    display:block;
    background:#fff;
    border-bottom:1px solid #ececec;
    padding:10px 16px
  }
  .m-crumbs{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:4px;
    font-size:12px;
    color:#555;
    white-space:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none
  }
  .m-crumbs::-webkit-scrollbar{
    display:none
  }
  .m-crumbs a{
    color:#333;
    flex-shrink:0
  }
  .m-crumbs a:hover{
    color:#17A1E6
  }
  .m-crumbs span{
    color:#333;
    flex-shrink:0
  }
  .m-crumbs > span:last-child{
    color:#333;
    font-weight:500;
    flex-shrink:0;
    overflow:hidden;
    text-overflow:ellipsis;
    min-width:0
  }

  /* ================================================================
     2. .detail-top — 顶部区域总容器
     ================================================================ */
  .detail-top{
    margin:0;
    padding:0;
    background:transparent;
    display:flex;
    flex-direction:column
  }

  /* CSS order 重新排列子元素（匹配 soolu 模块顺序） */
  .detail-top .title-card{order:1}
  .detail-top .img-info-row{order:2}
  .detail-top .cmd-stats-row{order:3}
  .detail-top .m-stats-row{order:3}
  .detail-top .m-address-card{order:4}
  .detail-top .m-contact-banner{order:5;display:none!important}

  /* ================================================================
     3. .title-card — 标题卡
     ================================================================ */
  .title-card{
    padding:16px 16px 12px;
    border-radius:0;
    margin:0;
    box-shadow:none;
    background:#fff
  }
  .title-card h1{
    font-size:17px;
    font-weight:800;
    color:#353535;
    line-height:1.5;
    margin-bottom:0
  }
  .m-title-actions{
    display:flex;
    align-items:center;
    gap:6px;
    flex-shrink:0;
    padding-top:1px
  }
  .m-title-action-btn{
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(0,160,233,.18);
    border-radius:50%;
    background:linear-gradient(180deg,#fff,#f8fbff);
    color:#526171;
    box-shadow:0 2px 8px rgba(20,45,80,.045);
    -webkit-tap-highlight-color:transparent
  }
  .m-title-action-btn span{
    display:none
  }
  .m-title-action-btn svg{
    width:15px;
    height:15px;
    stroke:#7b8798;
    stroke-width:2.2
  }
  .m-title-action-btn:active{
    transform:scale(.97);
    background:#eef7ff
  }

  .m-sec-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
    padding-bottom:12px;
    border-bottom:1px solid #eee
  }
  .m-sec-title-row .sec-title{
    flex:1;
    min-width:0;
    margin-bottom:0!important;
    padding-bottom:0!important;
    border-bottom:0!important
  }
  .m-sec-title-row .m-title-actions{
    padding-top:0
  }

  /* 隐藏编号和发布时间 */
  .title-meta{
    display:none
  }

  /* ================================================================
     4. .img-info-row — 图片轮播区
     ================================================================ */
  .img-info-row{
    display:flex;
    background:#fff;
    margin:0;
    padding:0;
    gap:0;
    flex-direction:column;
    border-radius:0;
    box-shadow:none
  }

  /* 轮播主图全宽280px */
  .img-area{
    flex:none;
    width:100%;
    position:relative
  }
  .m-carousel-actions{
    position:absolute;
    top:12px;
    right:12px;
    z-index:20;
    display:flex;
    align-items:center;
    gap:8px
  }
  .m-carousel-actions .m-title-action-btn{
    width:34px;
    height:34px;
    border:1px solid rgba(255,255,255,.52);
    background:rgba(17,24,39,.42);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    box-shadow:0 4px 14px rgba(0,0,0,.16)
  }
  .m-carousel-actions .m-title-action-btn svg{
    stroke:#fff
  }
  .swiper-main{
    border-radius:0;
    max-width:100%;
    background:#1a1a1a;
    height:280px;
    overflow:hidden
  }
  .swiper-main .swiper-slide{
    height:280px;
    display:flex;
    align-items:center;
    justify-content:center
  }
  .swiper-main .swiper-slide img{
    width:100%;
    height:100%;
    object-fit:cover
  }

  /* 左右箭头缩小 */
  .swiper-main .swiper-button-prev,
  .swiper-main .swiper-button-next{
    width:30px;
    height:30px;
    background:rgba(0,0,0,.3);
    border-radius:50%
  }
  .swiper-main .swiper-button-prev::after,
  .swiper-main .swiper-button-next::after{
    font-size:11px;
    color:#fff
  }

  /* 隐藏缩略图 */
  .swiper-thumbs{
    display:none
  }

  /* 占位图 */
  .img-placeholder{
    height:280px;
    border-radius:0;
    background:#1a1a1a
  }

  /* 隐藏PC端info区域（右侧信息+联系方式） */
  .info-area{
    display:none!important
  }
  .info-building-name,
  .property-contact-area,
  .contact-area,
  .info-table,
  .m-hide{
    display:none!important
  }

  /* VR/视频标签保留显示 */
  .img-actions .vr-tag,
  .img-actions .video-tag{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px 10px;
    background:rgba(0,0,0,.5);
    backdrop-filter:blur(4px);
    border-radius:14px;
    color:#fff;
    font-size:11px;
    font-weight:500;
    position:absolute;
    z-index:5
  }
  .img-actions .vr-tag{bottom:14px;left:14px}
  .img-actions .video-tag{bottom:14px;left:80px}

  /* 移动端轮播容器 */
  .m-img-carousel{
    width:100%;
    display:block
  }
  .m-img-carousel .swiper{
    width:100%;
    height:56vw;
    min-height:280px;
    max-height:420px;
    overflow:hidden
  }
  .m-img-carousel .swiper-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
  }
  .m-img-carousel .swiper-pagination{
    position:absolute;
    bottom:10px;
    left:50%;
    transform:translateX(-50%);
    z-index:2
  }
  .m-img-carousel .swiper-pagination-bullet{
    width:6px;
    height:6px;
    background:rgba(255,255,255,.45);
    opacity:1;
    margin:0 3px;
    border-radius:3px;
    transition:all .25s ease
  }
  .m-img-carousel .swiper-pagination-bullet-active{
    background:#fff;
    width:18px;
    border-radius:3px
  }
  .m-img-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e8eaed;
    height:56vw;
    min-height:280px;
    max-height:420px
  }
  .m-img-placeholder img{
    width:60%;
    height:auto;
    max-width:280px;
    object-fit:contain
  }

  /* ================================================================
     5a. .cmd-stats-row — 标题卡内数据卡（白色背景风格）
     ================================================================ */
  .cmd-stats-row{
    display:flex!important;
    justify-content:space-around;
    gap:0!important;
    background:#fff;
    margin:0 -14px -16px;
    padding:20px 16px;
    border-radius:8px 8px 0 0;
    box-shadow:0 1px 4px rgba(0,0,0,.05)
  }
  .cmd-stat{
    flex:1 1 auto!important;
    min-width:0;
    text-align:center;
    position:relative;
    padding:0 4px
  }
  .cmd-stat:first-child,
  .cmd-stat:nth-child(2),
  .cmd-stat:nth-child(3){
    flex:1 1 auto!important
  }
  .cmd-stat+.cmd-stat::before{
    content:'';
    position:absolute;
    left:0;
    top:10%;
    bottom:10%;
    width:1px;
    background:#ddd
  }
  .cmd-stat-num{
    display:block;
    font-size:30px;
    font-weight:800;
    color:#555555;
    font-family:-apple-system,BlinkMacSystemFont,Arial,sans-serif;
    line-height:1.3;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
  }
  .cmd-stat-num small{
    font-size:13px;
    font-weight:400;
    color:#B2B2B2;
    margin-left:2px;
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif
  }
  .cmd-stat-label{
    display:block;
    font-size:12px;
    color:#B2B2B2;
    margin-top:8px;
    font-weight:500;
    white-space:nowrap
  }

  /* ================================================================
     5. .m-stats-row — 数据卡（深蓝色背景风格）
     ================================================================ */
  .m-stats-row{
    display:flex!important;
    background:linear-gradient(135deg,#3a4d61 0%,#4d6074 100%);
    margin:0;
    padding:20px 16px;
    border-radius:8px;
    gap:0
  }
  .m-stat-item{
    flex:1;
    text-align:center;
    padding:0;
    position:relative
  }
  /* 列间分隔线 */
  .m-stat-item:not(:last-child)::after{
    content:'';
    position:absolute;
    right:0;
    top:10%;
    bottom:10%;
    width:1px;
    background:rgba(255,255,255,.28)
  }

  /* 数字 — 白色30px */
  .m-stat-num{
    font-size:30px;
    font-weight:800;
    color:#fff!important;
    line-height:1.3;
    font-family:-apple-system,BlinkMacSystemFont,Arial,sans-serif;
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:3px;
    text-shadow:0 1px 3px rgba(0,0,0,.25)
  }
  .m-stat-num small{
    font-size:13px;
    font-weight:600;
    color:rgba(255,255,255,.9)!important;
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
    text-shadow:0 1px 2px rgba(0,0,0,.2)
  }

  /* 标题 */
  .m-stat-title{
    font-size:13px;
    color:rgba(255,255,255,.95)!important;
    margin-bottom:12px;
    font-weight:600;
    text-shadow:0 1px 2px rgba(0,0,0,.25)
  }

  /* 标签 */
  .m-stat-label{
    font-size:12px;
    color:rgba(255,255,255,.9)!important;
    margin-top:8px;
    line-height:1.5;
    font-weight:500;
    text-shadow:0 1px 2px rgba(0,0,0,.2)
  }

  .m-stat-highlight .m-stat-num{
    color:#fff!important
  }
  .m-stat-highlight .m-stat-num small{
    color:rgba(255,255,255,.9)!important;
    font-weight:600
  }

  /* ================================================================
     6. .m-address-card — 地址卡片
     ================================================================ */
  .m-address-card{
    display:flex!important;
    position:relative;
    overflow:hidden;
    background:#fff;
    margin:8px 12px 12px;
    padding:18px 0 18px 18px;
    border:1px solid rgba(226,231,238,.9);
    border-radius:6px;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:104px;
    box-shadow:0 8px 26px rgba(20,45,80,.08)
  }
  .m-address-card:before{
    content:'';
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
      linear-gradient(28deg,transparent 0 44%,rgba(120,130,145,.08) 45% 46%,transparent 47%),
      linear-gradient(150deg,transparent 0 54%,rgba(120,130,145,.07) 55% 56%,transparent 57%);
    opacity:.55
  }
  .m-address-left{
    position:relative;
    z-index:1;
    flex:1;
    min-width:0
  }
  .m-address-text{
    padding-left:0;
    font-size:17px;
    color:#111;
    font-weight:500;
    line-height:1.32;
    letter-spacing:.2px;
    word-break:break-all
  }
  .m-address-text:before{
    display:none
  }
  .m-address-sub{
    margin-top:7px;
    padding-left:0;
    font-size:12px;
    color:#8a8f99;
    line-height:1.4;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
  }

  /* 地图按钮 */
  .m-address-map{
    position:relative;
    z-index:1;
    flex-shrink:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:94px;
    min-height:76px;
    margin-right:4px;
    border-left:1px solid #edf0f3;
    text-decoration:none;
    padding:0 10px 0 14px;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    transition:all .2s
  }
  .m-address-map:active{
    transform:scale(.98);
    background:transparent
  }
  .m-address-map svg{
    width:34px;
    height:34px;
    fill:#f2c94c;
    filter:none
  }
  .m-address-map span{
    display:block;
    font-size:15px;
    font-weight:400;
    color:#696B70;
    white-space:nowrap
  }

  /* ================================================================
     7. .detail-wrap — 详情主体布局
     ================================================================ */
  .detail-wrap{
    padding:0;
    margin:8px 0 0;
    gap:0;
    flex-direction:column;
    max-width:100%
  }
  .detail-left{
    width:100%;
    padding:0
  }

  /* ================================================================
     8. .tab-nav — Tab导航（吸顶毛玻璃）
     ================================================================ */
  .tab-nav{
    position:sticky;
    top:48px;
    z-index:100;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-radius:0;
    margin:0;
    box-shadow:0 1px 6px rgba(0,0,0,.04);
    border-bottom:none;
    overflow:hidden
  }
  .tab-nav ul{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    display:flex
  }
  .tab-nav ul::-webkit-scrollbar{
    display:none
  }
  .tab-nav li{
    padding:0 18px;
    font-size:14px;
    font-weight:500;
    color:#696B70;
    white-space:nowrap;
    height:44px;
    line-height:44px;
    border-bottom:2.5px solid transparent;
    transition:all .2s;
    cursor:pointer
  }
  .tab-nav li.on{
    color:#17A1E6;
    font-weight:700;
    border-bottom-color:#17A1E6
  }
  .tab-nav li:active{
    color:#17A1E6
  }

  /* ================================================================
     9. .tab-content — Tab内容区
     ================================================================ */
  .tab-content{
    padding:16px;
    background:#fff;
    border-radius:0;
    margin-bottom:0
  }
  .tab-content#nearbyContent{
    border:none;
    background:#fff
  }

  /* ================================================================
     10. .sec-title — Section标题
     ================================================================ */
  .sec-title{
    font-size:16px;
    font-weight:700;
    color:#353535;
    padding:16px 0 10px;
    margin-bottom:12px;
    position:relative;
    padding-left:14px;
    border-bottom:1px solid #f0f0f0
  }
  /* 左侧蓝色竖线 */
  .sec-title::before{
    content:'';
    position:absolute;
    left:0;
    top:4px;
    bottom:14px;
    width:3px;
    background:#17A1E6;
    border-radius:2px
  }

  /* ================================================================
     11. .base-info-grid — 基本信息网格（短字段2列，长字段1列）
     ================================================================ */
  .base-info-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:0
  }
  .base-info-grid .big-item{
    grid-column:1/-1
  }
  .bi-item.bi-long{
    grid-column:1/-1
  }
  .bi-item.m-hide{
    display:none!important
  }



  .base-info-table{
    width:100%;
    border:none
  }
  .base-info-table td{
    padding:10px 0;
    font-size:13px;
    border:none;
    border-bottom:1px solid #f5f5f5
  }
  .base-info-table td.lbl{
    width:auto;
    font-size:12px;
    background:none;
    color:#B2B2B2;
    white-space:nowrap
  }
  .base-info-table td.val{
    font-size:13px;
    color:#555555;
    font-weight:500
  }
  .base-info-table td.val.red{
    color:#CC2929;
    font-weight:700
  }
  .base-info-table td.val a{
    color:#17A1E6
  }

  /* bi-item 子项样式 */
  .bi-item{
    padding:10px 0;
    border-bottom:1px solid #f5f5f5
  }
  .bi-lbl{
    font-size:12px;
    color:#B2B2B2;
    margin-bottom:4px
  }
  .bi-val{
    font-size:13px;
    color:#555555;
    font-weight:500
  }
  .bi-val.red{
    color:#CC2929;
    font-weight:700
  }

  /* ================================================================
     12. 租金计算器 .rc-*
     ================================================================ */
  .rc-input{
    height:40px;
    font-size:13px;
    border-radius:8px;
    border:1px solid #e0e0e0;
    background:#fff
  }
  .rc-input:focus{
    border-color:#17A1E6
  }
  .rc-textarea{
    height:72px;
    font-size:13px;
    border-radius:8px;
    border:1px solid #e0e0e0;
    background:#fff
  }
  .rc-textarea:focus{
    border-color:#17A1E6
  }
  .rc-btn{
    width:100%;
    height:40px;
    font-size:14px;
    font-weight:600;
    border-radius:20px;
    background:linear-gradient(135deg,#17A1E6,#1289BF);
    color:#fff;
    border:none;
    cursor:pointer;
    transition:opacity .2s
  }
  .rc-btn:active{
    opacity:.85
  }
  .rc-phone{
    padding:14px;
    font-size:18px;
    font-weight:700;
    color:#17A1E6;
    border-top:1px solid #f0f0f0;
    display:flex;
    align-items:center;
    gap:6px
  }
  .rc-phone svg{
    width:18px;
    height:18px;
    fill:#17A1E6
  }

  /* 右侧卡片容器 */
  .right-card{
    margin-bottom:8px;
    border-radius:0;
    box-shadow:none;
    overflow:hidden;
    background:#fff
  }
  .right-card-head{
    padding:12px 16px;
    font-size:15px;
    font-weight:700;
    color:#353535;
    border-bottom:1px solid #f0f0f0
  }
  .right-card-body{
    padding:16px
  }

  /* ================================================================
     13. .m-overview-section — 概况区块
     ================================================================ */
  .m-overview-section{
    display:none!important
  }
  .m-ov-title{
    font-size:15px;
    font-weight:700;
    color:#353535;
    padding:12px 0 10px;
    margin:0;
    position:relative;
    padding-left:14px;
    border-bottom:1px solid #f0f0f0
  }
  /* 蓝色竖线 */
  .m-ov-title::before{
    content:'';
    position:absolute;
    left:0;
    top:14px;
    bottom:12px;
    width:3px;
    background:#17A1E6;
    border-radius:2px
  }
  .m-ov-list{}
  .m-ov-grid{
    display:grid;
    gap:0
  }
  .m-ov-grid--short{
    grid-template-columns:repeat(2,1fr)
  }
  .m-ov-grid--long{
    grid-template-columns:1fr
  }
  .m-ov-grid + .m-ov-grid{
    border-top:1px solid #f0f0f0
  }
  .m-ov-item{
    display:flex;
    gap:8px;
    font-size:13px;
    line-height:1.55;
    padding:11px 0;
    border-bottom:1px solid #f8f8f8;
    align-items:flex-start
  }
  .m-ov-grid--short .m-ov-item{
    padding-right:8px
  }
  .m-ov-grid--short .m-ov-item:nth-child(odd){
    border-right:1px solid #f0f0f0;
    padding-right:10px
  }
  .m-ov-grid--short .m-ov-item:nth-child(even){
    padding-left:10px
  }
  .m-ov-grid--short .m-ov-item[style*="grid-column"]{
    border-right:none
  }
  .m-ov-item:last-child{
    border-bottom:none
  }
  .m-ov-label{
    font-size:13px;
    color:#B2B2B2;
    white-space:nowrap;
    flex-shrink:0;
    min-width:64px;
    text-align:left;
    margin-right:2px
  }
  .m-ov-val{
    font-size:13px;
    color:#555555;
    word-break:break-all;
    flex:1;
    min-width:0;
    text-align:left
  }
  .m-ov-val-price{
    color:#CC2929;
    font-weight:700
  }

  /* ================================================================
     14. .m-building-stats-bar — 楼盘统计数据栏（改为浅底深字，提升可读性）
     ================================================================ */
  .m-building-stats-bar{
    display:flex!important;
    background:#fff;
    margin:12px 0 0;
    border-radius:0;
    overflow:hidden;
    border-top:1px solid #f0f0f0;
    border-bottom:1px solid #f0f0f0
  }
  .m-bs-col{
    flex:1;
    padding:14px 10px;
    text-align:center
  }
  .m-bs-title{
    font-size:12px;
    color:#666;
    margin-bottom:8px;
    letter-spacing:.5px;
    font-weight:600
  }
  .m-bs-big{
    font-size:20px;
    font-weight:800;
    color:#333;
    line-height:1.3;
    font-family:"DIN Alternate","Helvetica Neue",Arial,sans-serif;
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:2px
  }
  .m-bs-big small{
    font-size:11px;
    font-weight:600;
    color:#666
  }
  .m-bs-sub{
    font-size:11px;
    color:#555;
    margin-top:5px;
    line-height:1.5;
    font-weight:500
  }
  .m-bs-divider{
    width:1px;
    background:#f0f0f0
  }

  /* ================================================================
     15. .desc-box — 房源介绍
     ================================================================ */
  .desc-box{
    display:block;
    margin-top:2px;
    padding:2px 14px 4px;
    border:1px solid #edf1f5;
    border-radius:12px;
    background:#fff;
    font-size:14px;
    color:#3f4652;
    line-height:1.85;
    white-space:normal;
    word-break:break-word;
    box-shadow:0 4px 14px rgba(25,48,80,.035)
  }
  .desc-box p{
    position:relative;
    margin:0;
    padding:13px 0 13px 14px;
    border:0;
    border-bottom:1px solid #f0f3f7;
    border-radius:0;
    background:transparent;
    box-shadow:none
  }
  .desc-box p:before{
    content:'';
    position:absolute;
    left:0;
    top:20px;
    width:3px;
    height:3px;
    border-radius:50%;
    background:#5aa7dc
  }
  .desc-box p:first-child{
    color:#2d3440;
    font-weight:600
  }
  .desc-box p a{
    color:#2f8dcc;
    font-weight:600
  }
  .desc-box p:empty{
    display:none
  }
  .desc-box p:last-child{
    border-bottom:0
  }

  /* ================================================================
     16. .building-summary-card — 所属楼盘（移动端精简：图片上+名称+参数+介绍）
    ================================================================ */
  .building-summary-card{
    display:block;
    background:#fff;
    border-radius:0;
    overflow:hidden;
    margin-top:12px;
    border:none;
    box-shadow:none
  }
  .building-summary-main{
    display:flex!important;
    flex-direction:row!important;
    gap:10px!important;
    padding:10px 14px!important;
    align-items:flex-start!important
  }
  .building-summary-media{
    flex:1!important;
    min-width:0!important;
    border-right:none!important;
    border-bottom:none!important
  }
  .building-summary-photo{
    height:auto!important;
    width:100%!important;
    aspect-ratio:4/3!important;
    display:block!important;
    border-radius:6px!important;
    overflow:hidden!important
  }
  .building-summary-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important
  }
  .building-summary-content{
    padding:0!important;
    flex:1!important;
    min-width:0!important
  }
  .building-summary-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    padding:0 0 6px!important;
    gap:3px!important
  }
  .building-summary-name{
    font-size:15px!important;
    font-weight:700!important;
    color:#353535!important;
    line-height:1.3!important;
    order:2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important
  }
  .building-summary-name .arrow{
    font-size:15px!important;
    color:#ccc!important;
    margin-left:2px!important
  }
  .building-summary-sub{display:none!important}
  .building-summary-sub{
    font-size:11px!important;
    color:#999!important;
    margin-top:2px!important;
    order:3!important
  }
  .building-summary-badge{
    display:none!important
  }
  .building-summary-grid{
    display:block!important;
    padding:0!important;
    border:none!important
  }
  .building-summary-item{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:8px!important;
    padding:7px 0!important;
    border-bottom:1px solid #f0f0f0!important;
    border-right:none!important;
    border-top:none!important
  }
  .building-summary-item:last-child{
    border-bottom:none!important
  }
  .building-summary-label{
    font-size:12px!important;
    color:#999!important;
    display:inline!important;
    margin-bottom:0!important;
    white-space:nowrap!important
  }
  .building-summary-value{
    font-size:13px!important;
    color:#333!important;
    font-weight:600!important;
    display:inline!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:60%!important
  }
  .building-summary-intro{
    display:none!important
  }

  /* 移动端精简：只保留楼盘名称、在租面积、租金、区域 */
  .building-summary-item:nth-child(1),
  .building-summary-item:nth-child(2),
  .building-summary-item:nth-child(3),
  .building-summary-item:nth-child(7),
  .building-summary-item:nth-child(8){
    display:none!important
  }
  .building-summary-item:nth-child(5) .building-summary-value{
    color:#CC2929!important
  }
  .building-summary-item:last-child{
    border-bottom:none
  }

  /* ================================================================
     17. 交通信息 .traffic-row / .subway-badge
     ================================================================ */
  .traffic-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:4px
  }
  .subway-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 12px;
    font-size:13px;
    background:rgba(0,160,233,.08);
    border:1px solid rgba(0,160,233,.2);
    border-radius:10px;
    width:100%
  }
  .subway-badge .line-pill{
    font-size:11px;
    padding:2px 8px;
    border-radius:10px;
    color:#fff;
    flex-shrink:0
  }
  .subway-badge .station-name{
    font-size:13px;
    color:#555555;
    font-weight:500
  }
  .subway-badge .walk-dist{
    font-size:12px;
    color:#B2B2B2;
    margin-left:auto
  }

  /* ================================================================
     18. FAQ .faq-item — 常见问题
     ================================================================ */
  .faq-item{
    padding:14px 0;
    border-bottom:1px solid #f5f5f5;
    position:relative
  }
  .faq-item:last-child{
    border-bottom:none
  }
  .faq-q{
    font-size:14px;
    font-weight:600;
    color:#353535;
    margin-bottom:8px;
    display:flex;
    align-items:flex-start;
    gap:8px;
    line-height:1.5;
    transition:color .2s
  }
  .faq-q:active{
    color:#17A1E6
  }
  .faq-q-badge{
    flex-shrink:0;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#17A1E6;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:1px;
    transition:background .2s
  }
  .faq-q-badge svg{
    width:12px;
    height:12px;
    fill:none;
    stroke:#fff;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round
  }
  .faq-detail-link{
    flex:1;
    color:#555555;
    text-decoration:none;
    cursor:pointer;
    transition:color .2s;
    line-height:1.5;
    font-size:14px
  }
  .faq-detail-link:active{
    color:#17A1E6
  }

  /* ================================================================
     19. 评价 .review-*
     ================================================================ */
  .review-stats{
    display:flex;
    gap:14px;
    padding:14px 0;
    flex-direction:row;
    border-bottom:1px solid #f0f0f0;
    align-items:center
  }
  .review-stats-left{
    text-align:center;
    min-width:80px
  }
  .review-avg-score{
    font-size:32px;
    font-weight:800;
    color:#CC2929;
    font-family:"DIN Alternate","Helvetica Neue",Arial,sans-serif;
    line-height:1
  }
  .review-avg-label{
    font-size:12px;
    color:#B2B2B2;
    margin-top:4px
  }
  .review-stars{
    font-size:16px;
    margin-top:4px;
    letter-spacing:1px
  }
  .star-filled{color:#CC2929}
  .star-empty{color:#ddd}

  .review-stats-right{flex:1}
  .review-bar-row{
    display:flex;
    align-items:center;
    gap:6px;
    margin-bottom:6px
  }
  .bar-label{
    font-size:11px;
    color:#888;
    width:24px;
    text-align:right;
    flex-shrink:0
  }
  .bar-track{
    flex:1;
    height:6px;
    background:#f0f0f0;
    border-radius:3px;
    overflow:hidden
  }
  .bar-fill{
    height:100%;
    background:#CC2929;
    border-radius:3px;
    transition:width .4s
  }
  .bar-count{
    font-size:11px;
    color:#B2B2B2;
    width:18px;
    text-align:right;
    flex-shrink:0
  }

  /* 评价列表 */
  .review-list{padding:0}
  .review-item{
    padding:12px 0;
    border-bottom:1px solid #f5f5f5
  }
  .review-item:last-child{border-bottom:none}
  .review-item-header{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:6px
  }
  .review-avatar{
    width:32px;
    height:32px;
    border-radius:50%;
    background:linear-gradient(135deg,#17A1E6,#7FCFF0);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:700;
    flex-shrink:0
  }
  .review-meta{flex:1}
  .review-name{
    font-size:14px;
    font-weight:600;
    color:#333
  }
  .review-date{
    font-size:12px;
    color:#aaa
  }
  .review-item-stars{
    color:#CC2929;
    font-size:14px;
    letter-spacing:1px
  }
  .review-item-content{
    font-size:13px;
    color:#444;
    line-height:1.7;
    margin-bottom:6px
  }
  .review-pros-cons{
    display:flex;
    gap:8px;
    flex-wrap:wrap
  }
  .review-tag{
    display:inline-flex;
    align-items:center;
    gap:3px;
    padding:3px 8px;
    border-radius:4px;
    font-size:11px
  }
  .review-tag.pros{
    background:#E8F5E9;
    color:#2E7D32
  }
  .review-tag.cons{
    background:#FCE4EC;
    color:#CC2929
  }
  .review-empty{
    padding:24px 0;
    text-align:center;
    color:#aaa;
    font-size:13px
  }

  /* 评价表单 */
  .review-form-wrap{
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid #f0f0f0
  }
  .review-form-title{
    font-size:15px;
    font-weight:700;
    color:#353535;
    margin-bottom:10px
  }
  .review-form-row{margin-bottom:14px}
  .review-form-row label{
    display:block;
    font-size:13px;
    color:#696B70;
    margin-bottom:6px
  }
  .star-pick{
    display:flex;
    align-items:center;
    gap:4px
  }
  .star-pick .s{
    font-size:28px;
    color:#ddd;
    cursor:pointer;
    transition:color .15s,transform .15s;
    user-select:none;
    line-height:1
  }
  .star-pick .s:active{transform:scale(1.15)}
  .star-pick .s.on{color:#CC2929}
  .star-pick .star-text{
    font-size:13px;
    color:#aaa;
    margin-left:8px
  }
  .review-input{
    width:100%;
    height:38px;
    padding:0 12px;
    border:1px solid #e0e0e0;
    border-radius:8px;
    font-size:13px;
    color:#555555;
    transition:border-color .2s
  }
  .review-input:focus{
    border-color:#17A1E6
  }
  .review-textarea{
    width:100%;
    height:80px;
    padding:10px 12px;
    border:1px solid #e0e0e0;
    border-radius:8px;
    font-size:13px;
    color:#555555;
    resize:vertical;
    line-height:1.6;
    transition:border-color .2s
  }
  .review-textarea:focus{
    border-color:#17A1E6
  }
  .review-submit-btn{
    padding:10px 36px;
    background:#17A1E6;
    color:#fff;
    border:none;
    border-radius:20px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:opacity .2s
  }
  .review-submit-btn:active{
    opacity:.85
  }

  /* ================================================================
     20. .guess-like-section — 猜你喜欢
     ================================================================ */
  .guess-like-section{
    margin:10px 0 0;
    padding:0 12px 78px;
    background:#f5f6fa;
    border-top:1px solid #eef1f5;
    border-bottom:1px solid #eef1f5
  }
  .guess-like-section .section-head{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    height:58px;
    margin:0;
    padding:0;
    border-bottom:none;
    font-size:20px;
    font-weight:500;
    color:#353535;
    position:relative;
    line-height:1
  }
  .guess-like-section .section-head::before{
    content:'◆';
    position:static;
    width:auto;
    background:none;
    border-radius:0;
    color:#5d646b;
    font-size:12px;
    transform:scale(.72)
  }
  .guess-like-section .section-head::after{
    content:'◆';
    color:#5d646b;
    font-size:12px;
    transform:scale(.72)
  }

  .guess-grid{
    display:block;
    overflow:visible;
    padding:0;
    scrollbar-width:auto;
    grid-template-columns:none
  }
  .guess-grid::-webkit-scrollbar{display:none}

  .guess-card{
    display:flex;
    align-items:center;
    gap:14px;
    width:100%;
    min-height:118px;
    margin:0 0 12px;
    padding:12px;
    border:1px solid #edf1f5;
    border-radius:14px;
    background:#fff;
    box-shadow:0 4px 14px rgba(20,45,80,.055);
    overflow:hidden;
    text-decoration:none;
    transition:background .2s
  }
  .guess-card:active{
    transform:none;
    background:#f8fbff
  }
  .guess-card-img{
    flex:0 0 118px;
    width:118px;
    height:86px;
    border-radius:4px;
    background:#edf2f7;
    object-fit:cover
  }
  .guess-card-img-ph{
    flex:0 0 118px;
    width:118px;
    height:86px;
    font-size:13px;
    border-radius:4px;
    background:linear-gradient(135deg,#17A1E6,#7FCFF0);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:600
  }
  .guess-card-body{
    flex:1;
    min-width:0;
    padding:0
  }
  .guess-card-name{
    font-size:18px;
    font-weight:500;
    color:#262b33;
    margin-bottom:8px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    line-height:1.25
  }
  .guess-card-meta{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    margin-bottom:12px
  }
  .guess-card-area{
    flex:0 0 auto;
    font-size:14px;
    color:#5f646b;
    margin:0;
    line-height:1
  }
  .guess-card-tag{
    min-width:0;
    max-width:136px;
    padding:2px 8px;
    border-radius:999px;
    background:#eaf6ff;
    color:#3d95cf;
    font-size:14px;
    line-height:1.25;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
  }
  .guess-card-price{
    font-size:20px;
    color:#e76a3c;
    font-weight:700;
    margin-top:0;
    font-family:"DIN Alternate","Helvetica Neue",Arial,sans-serif
  }
  .guess-card-price small{
    font-size:12px;
    color:#5f646b;
    font-weight:400;
    font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif
  }
  .guess-card-price em{
    color:#a8afb8;
    font-size:12px;
    font-style:normal
  }
  .guess-more{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    height:46px;
    color:#17A1E6;
    font-size:15px;
    text-decoration:none
  }
  .guess-more span{
    font-size:24px;
    line-height:1;
    transform:translateY(-1px)
  }

  /* ================================================================
     21. .m-detail-bottombar — 底部固定栏
     ================================================================ */
  .m-detail-bottombar{
    display:flex!important;
    position:fixed;
    left:0;
    right:0;
    bottom:64px;
    z-index:998;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:0 -2px 12px rgba(0,0,0,.08);
    align-items:center;
    padding:8px 16px;
    padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));
    gap:10px;
    height:calc(58px + env(safe-area-inset-bottom,0px))
  }
  .m-detail-bottombar .mbb-btn{
    flex:1;
    height:42px;
    border-radius:21px;
    font-size:15px;
    font-weight:600;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:opacity .15s
  }
  .m-detail-bottombar .mbb-btn:active{
    opacity:.85
  }
  .m-detail-bottombar .mbb-btn svg{
    width:18px;
    height:18px;
    fill:currentColor
  }

  /* 渐变蓝 - 在线咨询 */
  .m-detail-bottombar .mbb-consult{
    background:linear-gradient(135deg,#17A1E6,#1289BF);
    color:#fff
  }

  /* 渐变绿 - 拨打电话 */
  .m-detail-bottombar .mbb-call{
    background:linear-gradient(135deg,#10b981,#059669);
    color:#fff
  }

  /* ================================================================
     22. Footer
     ================================================================ */
  .bb-footer{
    background:#4A6FA5;
    color:#aaa;
    padding:20px 16px 80px;
    margin-top:8px
  }
  .bb-footer .wrap{
    flex-direction:column;
    gap:10px
  }
  .bf-left h3{
    font-size:15px;
    color:#fff;
    margin-bottom:6px
  }
  .bf-left p{
    font-size:12px;
    line-height:1.8
  }
  .bf-right{
    text-align:left;
    font-size:12px
  }

  /* ================================================================
     23. SEO段落 .mobile-seo-geo
     ================================================================ */
  .mobile-seo-geo{
    display:block!important;
    font-size:13px!important;
    color:#888!important;
    line-height:1.85!important;
    margin-top:14px!important;
    padding:12px 16px!important;
    background:#f8f9fb!important;
    border-radius:8px!important;
    border:1px solid #f0f0f0!important
  }

  /* ================================================================
     24. 周边配套
     ================================================================ */
  .nearby-panel{
    padding:0;
    border-radius:0;
    margin-top:0;
    background:transparent;
    border:none
  }
  /* 周边配套区块标题 */
  .nb-section{
    margin-bottom:14px;
    background:#fff;
    border-radius:10px;
    padding:14px;
    border:1px solid #f0f0f0
  }
  .nb-section-title{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:15px;
    font-weight:700;
    color:#353535;
    margin-bottom:12px;
    padding-bottom:8px;
    border-bottom:1px solid #f0f0f0
  }
  .nb-section-title svg{
    width:18px;
    height:18px;
    flex-shrink:0
  }
  /* 地铁站 */
  .nb-subway-list{
    display:flex;
    flex-direction:column;
    gap:0
  }
  .nb-subway-item{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 0;
    border-bottom:1px solid #f5f5f5
  }
  .nb-subway-item:last-child{
    border-bottom:none
  }
  .nb-subway-lines{
    display:flex;
    gap:4px;
    flex-shrink:0
  }
  .nb-line-tag{
    display:inline-block;
    padding:2px 6px;
    border-radius:3px;
    color:#fff;
    font-size:10px;
    font-weight:700;
    white-space:nowrap;
    line-height:1.5
  }
  .nb-subway-station{
    font-size:13px;
    color:#555555;
    font-weight:500;
    flex:1;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
  }
  .nb-subway-dist{
    font-size:12px;
    color:#B2B2B2;
    flex-shrink:0;
    min-width:40px;
    text-align:right
  }
  /* 生活配套 */
  .nb-life-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px
  }
  .nb-life-col{
    margin-bottom:0
  }
  .nb-life-type{
    font-size:13px;
    font-weight:600;
    color:#696B70;
    margin-bottom:8px;
    padding-bottom:4px;
    border-bottom:1px solid #f8f8f8
  }
  .nb-life-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:7px 0;
    border-bottom:1px solid #f8f8f8;
    font-size:13px
  }
  .nb-life-item:last-child{
    border-bottom:none
  }
  .nb-life-name{
    color:#555555;
    flex:1;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    margin-right:8px
  }
  .nb-life-dist{
    color:#B2B2B2;
    flex-shrink:0;
    font-size:12px
  }
  /* 周边楼盘表格 */
  .nb-building-section .nearby-table{
    margin-top:4px;
    width:100%;
    border-collapse:collapse
  }
  .nearby-table th{
    padding:8px 6px;
    font-size:12px;
    background:#f8f9fb;
    font-weight:600;
    color:#696B70;
    text-align:left;
    border-bottom:1px solid #f0f0f0
  }
  .nearby-table td{
    padding:8px 6px;
    font-size:12px;
    border-bottom:1px solid #f5f5f5;
    color:#333
  }
  .nearby-table tr:last-child td{
    border-bottom:none
  }
  .nb-name{
    color:#17A1E6;
    font-weight:500
  }
  .around-block-head{
    font-size:15px;
    font-weight:700;
    margin-bottom:10px;
    padding-bottom:8px;
    color:#353535;
    border-bottom:1px solid #f0f0f0
  }
  .around-list{gap:8px}
  .around-item{
    padding:10px 12px;
    gap:10px;
    background:#f8f9fb;
    border-radius:10px;
    border:1px solid #f0f0f0
  }
  .around-list[style*="grid"]{
    grid-template-columns:1fr 1fr!important;
    gap:0 10px!important
  }
  .traffic-col .around-item{
    padding:8px 10px;
    font-size:12px
  }
  .traffic-col .around-item-name{
    font-size:12px
  }
  .traffic-col .around-item-dist{
    font-size:11px
  }
  .around-icon{
    width:30px;
    height:30px;
    font-size:11px;
    border-radius:50%
  }
  .around-label{
    font-size:12px;
    width:36px
  }
  .around-val{
    font-size:13px;
    color:#333
  }
  .around-empty{
    font-size:13px;
    color:#aaa;
    padding:14px;
    text-align:center;
    border-radius:10px;
    background:#f8f9fb
  }
  .nearby-table{
    margin-top:4px;
    width:100%
  }
  .nearby-table th{
    padding:8px 10px;
    font-size:12px;
    background:#f8f9fb;
    font-weight:600;
    color:#696B70;
    text-align:left;
    border-bottom:1px solid #f0f0f0
  }
  .nearby-table td{
    padding:8px 10px;
    font-size:12px;
    border-bottom:1px solid #f5f5f5
  }
  .nb-name{
    color:#17A1E6;
    font-weight:500
  }

  /* ================================================================
     25. 图片预览
     ================================================================ */
  .img-preview-overlay{
    background:rgba(0,0,0,.92)
  }
  .img-preview-overlay img{
    max-width:95vw;
    max-height:85vh
  }
  .img-preview-close{
    width:36px;
    height:36px;
    font-size:24px;
    top:12px;
    right:12px
  }

  /* ================================================================
     26. 弹窗
     ================================================================ */
  .modal{
    border-radius:12px 12px 0 0;
    width:100%;
    max-width:100%;
    position:fixed;
    bottom:64px;
    left:0;
    right:0;
    animation:modalSlideUp .25s ease
  }
  @keyframes modalSlideUp{
    from{opacity:0;transform:translateY(30px)}
    to{opacity:1;transform:translateY(0)}
  }
  .overlay{
    align-items:flex-end;
    padding:0
  }

  /* ================================================================
     27. 辅助 & 动画
     ================================================================ */
  img[loading="lazy"]{
    background:#f0f0f0
  }

  /* Toast提示 */
  .toast{
    position:fixed;
    top:60px;
    left:50%;
    transform:translateX(-50%);
    font-size:13px;
    padding:10px 20px;
    border-radius:8px;
    z-index:4000;
    background:#fff;
    color:#333;
    box-shadow:0 4px 20px rgba(0,0,0,.18);
    border:1px solid rgba(0,0,0,.08);
    animation:toastIn .3s ease
  }
  @keyframes toastIn{
    from{opacity:0;transform:translateX(-50%) translateY(-10px)}
    to{opacity:1;transform:translateX(-50%) translateY(0)}
  }

  /* 隐藏PC端收藏/分享 */
  .img-actions,
  .img-action-btn{
    display:none!important
  }

  /* 右侧热门推荐列表 */
  .right-hot-item{
    padding:10px 16px;
    gap:10px;
    border-bottom:1px solid #f5f5f5
  }
  .right-hot-item:last-child{border-bottom:none}
  .rhi-img{
    width:72px;
    height:54px;
    border-radius:8px
  }
  .rhi-name{
    font-size:13px;
    color:#555555;
    font-weight:500
  }
  .rhi-area{
    font-size:12px;
    color:#999
  }
  .rhi-price{
    font-size:13px;
    color:#CC2929;
    font-weight:600
  }

  /* ================================================================
     移动端悬浮租金计算器
     ================================================================ */
  .m-rc-section{
    display:none!important
  }
  .m-rc-float-btn{
    position:fixed;
    right:12px;
    bottom:calc(140px + env(safe-area-inset-bottom,0px));
    z-index:200;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    width:56px;
    height:56px;
    border-radius:50%;
    background:linear-gradient(135deg,#17A1E6,#1289BF);
    color:#fff;
    font-size:11px;
    font-weight:600;
    box-shadow:0 4px 14px rgba(0,160,233,.4);
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    border:none
  }
  .m-rc-float-btn svg{
    width:20px;
    height:20px;
    stroke:#fff
  }
  .m-rc-overlay{
    position:fixed;
    inset:0;
    z-index:210;
    background:rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease
  }
  .m-rc-overlay.show{
    opacity:1;
    visibility:visible
  }
  .m-rc-panel{
    position:fixed;
    left:0;
    right:0;
    bottom:64px;
    z-index:220;
    background:#fff;
    border-radius:16px 16px 0 0;
    transform:translateY(100%);
    transition:transform .3s ease;
    max-height:85vh;
    display:flex;
    flex-direction:column
  }
  .m-rc-panel.show{
    transform:translateY(0)
  }
  .m-rc-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 16px;
    border-bottom:1px solid #f0f0f0;
    flex-shrink:0
  }
  .m-rc-panel-head span{
    font-size:16px;
    font-weight:700;
    color:#353535
  }
  .m-rc-panel-head button{
    background:none;
    border:none;
    font-size:24px;
    color:#B2B2B2;
    cursor:pointer;
    line-height:1;
    padding:0 4px
  }
  .m-rc-panel-body{
    padding:16px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 16px
  }
  .m-rc-panel-body .rc-field{
    margin-bottom:0
  }
  .m-rc-panel-body .rc-label{
    display:block;
    font-size:13px;
    margin-bottom:6px;
    color:#666
  }
  .m-rc-panel-body .rc-label.required{
    color:#555555;
    font-weight:600
  }
  .m-rc-panel-body .rc-input-wrap{
    display:flex;
    align-items:center;
    gap:8px
  }
  .m-rc-panel-body .rc-input{
    flex:1;
    height:44px;
    padding:0 12px;
    border:1px solid #e0e0e0;
    border-radius:8px;
    font-size:14px;
    background:#f8f8f8
  }
  .m-rc-panel-body .rc-input:focus{
    border-color:#17A1E6;
    background:#fff
  }
  .m-rc-panel-body .rc-unit{
    font-size:13px;
    color:#696B70;
    flex-shrink:0
  }
  .m-rc-panel-body .rc-btns{
    display:flex;
    gap:12px;
    margin-top:4px;
    grid-column:1/-1
  }
  .m-rc-panel-body .rc-btn-calc,
  .m-rc-panel-body .rc-btn-clear{
    flex:1;
    padding:12px 0;
    border:none;
    border-radius:8px;
    font-size:15px;
    font-weight:600;
    cursor:pointer
  }
  .m-rc-panel-body .rc-btn-calc{
    background:#ff7a45;
    color:#fff
  }
  .m-rc-panel-body .rc-btn-clear{
    background:#f5f5f5;
    color:#666
  }
  .m-rc-panel-body .rc-result{
    margin-top:4px;
    padding:14px;
    background:#fafafa;
    border-radius:8px;
    grid-column:1/-1
  }
  .m-rc-panel-body .rc-r-item{
    display:flex;
    justify-content:space-between;
    padding:6px 0;
    font-size:14px
  }
  .m-rc-panel-body .rc-r-label{
    color:#555555;
    font-weight:500
  }
  .m-rc-panel-body .rc-r-val{
    color:#555555;
    font-weight:600
  }
  .m-rc-panel-body .rc-r-val.green{
    color:#52c41a;
    font-weight:700
  }

  /* ================================================================
     租金趋势分析卡片 — 移动端缩小
     ================================================================ */
  .rent-trend-widget{
    padding:12px!important;
    margin:8px 0!important
  }
  .rent-trend-widget .rtw-title{
    font-size:15px!important
  }
  .rent-trend-widget .rtw-summary{
    gap:16px!important;
    margin-bottom:10px!important
  }
  .rent-trend-widget .rtw-value{
    font-size:18px!important
  }
  .rent-trend-widget .rtw-change{
    font-size:14px!important
  }
  .rent-trend-widget .rtw-chart-area{
    height:120px!important
  }
  .rent-trend-widget .rtw-chart{
    height:100px!important
  }

  /* ================================================================
     移动端自适应文字体系
     ================================================================ */
  :root{
    --m-fs-xs:clamp(10px,2.9vw,12px);
    --m-fs-sm:clamp(11px,3.2vw,13px);
    --m-fs-base:clamp(13px,3.55vw,15px);
    --m-fs-md:clamp(14px,3.85vw,16px);
    --m-fs-lg:clamp(16px,4.6vw,19px);
    --m-fs-xl:clamp(18px,5.25vw,22px);
    --m-fs-price:clamp(19px,6vw,25px);
    --m-lh-tight:1.32;
    --m-lh-normal:1.62;
    --m-lh-reading:1.82
  }

  body{
    font-size:var(--m-fs-base);
    line-height:var(--m-lh-normal)
  }

  .title-card h1,
  .sec-title{
    font-size:var(--m-fs-lg)!important;
    line-height:1.38!important
  }

  .tab-nav li,
  .m-ov-title,
  .right-card-head,
  .review-form-title,
  .around-block-head{
    font-size:var(--m-fs-md)!important
  }

  .phone-display,
  .review-avg-score{
    font-size:var(--m-fs-price)!important;
    line-height:var(--m-lh-tight)!important
  }

  .m-stat-label,
  .m-stat-num small,
  .title-meta,
  .contact-tip,
  .review-date,
  .bar-label,
  .bar-count,
  .guess-card-price small,
  .rent-trend-widget .rtw-unit,
  .rent-trend-widget .rtw-note{
    font-size:var(--m-fs-xs)!important
  }

  .m-address-text{
    font-size:clamp(16px,4.55vw,19px)!important;
    line-height:1.32!important
  }

  .m-address-sub{
    font-size:clamp(12px,3.35vw,14px)!important;
    line-height:1.42!important
  }

  .m-address-map span{
    font-size:clamp(14px,3.9vw,16px)!important
  }

  .desc-box{
    font-size:var(--m-fs-base)!important;
    line-height:var(--m-lh-reading)!important
  }

  .desc-box p{
    padding-top:clamp(11px,3.4vw,14px);
    padding-bottom:clamp(11px,3.4vw,14px)
  }

  .base-info-grid .bi-label,
  .base-info-table td.lbl,
  .building-params-table td.lbl,
  .m-ov-label,
  .around-label,
  .review-avg-label{
    font-size:var(--m-fs-sm)!important
  }

  .base-info-grid .bi-val,
  .base-info-table td.val,
  .building-params-table td.val,
  .m-ov-val,
  .around-val,
  .faq-q,
  .faq-detail-link,
  .review-item-content,
  .nearby-table td,
  .nearby-table th{
    font-size:var(--m-fs-base)!important;
    line-height:var(--m-lh-normal)!important
  }

  .guess-like-section .section-head{
    font-size:var(--m-fs-xl)!important
  }

  .guess-card-name{
    font-size:var(--m-fs-lg)!important;
    line-height:1.28!important
  }

  .guess-card-area,
  .guess-card-tag{
    font-size:var(--m-fs-base)!important
  }

  .guess-card-price{
    font-size:var(--m-fs-price)!important;
    line-height:1.1!important
  }

  .btn-consult,
  .rc-btn,
  .review-submit-btn,
  .modal-submit,
  .m-rc-panel-body .rc-btn-calc,
  .m-rc-panel-body .rc-btn-clear,
  .guess-more{
    font-size:var(--m-fs-base)!important
  }

  .rent-trend-widget .rtw-title{
    font-size:var(--m-fs-md)!important
  }

  .rent-trend-widget .rtw-value{
    font-size:var(--m-fs-xl)!important
  }

  .rent-trend-widget .rtw-change{
    font-size:var(--m-fs-md)!important
  }

  @media(max-width:360px){
    .wrap{
      padding-left:12px;
      padding-right:12px
    }
    .m-address-card{
      margin-left:10px;
      margin-right:10px;
      padding-left:14px
    }
    .m-address-map{
      width:82px;
      padding-left:10px;
      padding-right:8px
    }
    .guess-card{
      gap:10px
    }
    .guess-card-img,
    .guess-card-img-ph{
      flex-basis:104px;
      width:104px;
      height:78px
    }
    .guess-card-tag{
      max-width:112px
    }
  }

  @media(min-width:430px) and (max-width:767px){
    .wrap{
      padding-left:18px;
      padding-right:18px
    }
    .desc-box{
      padding-left:16px;
      padding-right:16px
    }
    .guess-card-img,
    .guess-card-img-ph{
      flex-basis:132px;
      width:132px;
      height:94px
    }
    .guess-card-tag{
      max-width:168px
    }
  }

  /* ================================================================
     移动端滚动性能优化
     ================================================================ */
  .mobile-header,
  .tab-nav,
  .m-detail-bottombar{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important
  }

  .tab-nav{
    background:#fff!important;
    box-shadow:0 1px 3px rgba(0,0,0,.04)!important
  }

  .m-detail-bottombar{
    background:#fff!important;
    box-shadow:0 -1px 6px rgba(0,0,0,.06)!important
  }

  .mobile-header{
    background:#fff!important;
    box-shadow:0 1px 4px rgba(0,0,0,.06)!important
  }

  .mobile-header-logo{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    color:#fff!important;
    text-decoration:none!important;
    flex-shrink:0!important
  }

  .detail-mobile-logo-badge{
    width:36px;
    height:36px;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#17A1E6,#7FCFF0);
    color:#fff;
    font-size:16px;
    font-weight:800;
    line-height:1
  }

  .mobile-header-user{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    height:36px!important;
    flex-shrink:0!important;
    background:transparent!important;
    border:none!important;
    cursor:pointer!important;
    padding:0!important;
    text-decoration:none!important
  }
  .mobile-header-user svg{
    width:22px!important;
    height:22px!important;
    fill:#344054!important
  }

  .mobile-header-search{
    flex:1!important;
    min-width:0!important;
    position:relative!important;
    height:36px!important;
    padding:0 12px!important;
    border:1px solid #e6eaf0!important;
    border-radius:999px!important;
    background:#f5f6f8!important;
    overflow:visible!important
  }

  .mobile-header-search:focus-within{
    border-color:#17A1E6!important;
    background:#fff!important
  }

  .mobile-header-search input{
    font-size:13px!important;
    color:#333!important
  }

  .mobile-header-search input::placeholder{
    color:#999!important
  }

  .mobile-header-search .search-suggest-dropdown{
    top:42px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:52vh!important;
    border:1px solid #edf1f5!important;
    border-top:none!important;
    border-radius:0 0 14px 14px!important;
    box-shadow:0 8px 22px rgba(20,45,80,.12)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important
  }

  .mobile-header-search .suggest-item{
    min-height:42px!important;
    padding:10px 12px!important
  }

  .property-data-declaration{
    display:none!important
  }

  .m-address-card:before{
    display:none!important
  }

  .m-address-card,
  .desc-box,
  .rent-trend-widget{
    box-shadow:none!important
  }

  .guess-card{
    box-shadow:0 4px 14px rgba(20,45,80,.055)!important
  }

  .m-rc-float-btn{
    box-shadow:0 2px 8px rgba(0,160,233,.25)!important
  }

  .tab-content,
  .building-summary-card,
  .guess-like-section,
  .rent-trend-widget{
    content-visibility:auto;
    contain-intrinsic-size:1px 420px
  }

}
/* ===== END @media(max-width:767px) ===== */
