/* ========== 全局基础重置 ========== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Microsoft YaHei",sans-serif;
}
ul,li{list-style:none;}
a{text-decoration:none;color:#333;}
.clearfix::after{content:"";display:block;clear:both;visibility:hidden;height:0;}
.fl{float:left;}
.fr{float:right;}
.w1200{
    width:1200px;
    margin:0 auto;
    position:relative;
}
body{
    background:#fff;
    color:#333;
    padding-top: 50px;
}

/* 主导航容器 */
.main-nav{
    width:100%;
    height:50px;
    background:#e62828;
    line-height:50px;
    position:fixed;
    top:0;
    left:0;
    z-index:1001;
    overflow:visible !important;
}
.main-nav .w1200{
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.nav-left,.nav-right{
    display:flex;
    align-items:center;
    gap:0px;
    white-space: nowrap;
}
.main-nav .logo-text{
    font-size:22px;
    font-weight:bold;
    color:#fff;
    margin-right:12px;
}
.nav-link{
    color:#fff;
    font-size:14px;
    padding:0 10px;
    height:50px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    transition: background 0.2s;
    position:relative;
    z-index:99999;
}
.nav-link:hover{
    background:#c41e1e;
}
.nav-link.active-item{
    background:#c41e1e;
}
/* 文字右侧下箭头 独立span，无伪元素冲突 */
.arrow-down{
    width:0;
    height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:9px solid #ffffff;
    flex-shrink:0;
}
/* 下拉父容器 */
.nav-item-wrap{
    position:relative;
    height:50px;
    display:flex;
    align-items:center;
}
/* 下拉面板 */
.nav-submenu{
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%);
    width:140px;
    background:#fff;
    box-shadow:0 3px 12px rgba(0,0,0,0.15);
    padding:8px 0;
    display:none;
    z-index:9998;
    border-radius:0 0 6px 6px;
}
/* 仅hover时生成下拉框顶部小白三角，只做弹窗指向，和span箭头完全隔离 */
.nav-item-wrap:hover .nav-link::after{
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:-1px;
    width:0;
    height:0;
    border-left:8px solid transparent;
    border-right:8px solid transparent;
    border-bottom:8px solid #ffffff;
    opacity:1;
    visibility:visible;
    z-index:999999;
}
/* 悬浮展开下拉菜单 */
.nav-item-wrap:hover .nav-submenu{
    display:block;
}

.sub-item{
    height:36px;
    line-height:36px;
    padding:0 20px;
    font-size:14px;
    color:#333;
    cursor:pointer;
}
.sub-item:hover{
    background:#f2f3f5;
}
.sub-item.red-text{
    color:#e62828;
}
.sub-btn{
    width:calc(100% - 16px);
    margin:8px auto 0;
    height:40px;
    line-height:40px;
    text-align:center;
    background:#e62828;
    color:#fff;
    border-radius:4px;
    cursor:pointer;
}
.nav-right{
    gap:6px;
}
.nav-right span{
    color:#fff;
}
/* 登录下拉备用样式 */
.login-tip{
    width:160px;
    padding:8px;
    text-align:center;
}
.login-tip span{
    color:#e62828;
    font-size:14px;
    border:1px solid #e62828;
    display:block;
    padding:4px;
}
.login-tip::before{
	left:50%;
	transform:translateX(-50%);
}

/* ========== 顶部导航气泡提示 ========== */
.nav-bubble-item{
	position:relative;
	display:inline-flex;
	align-items:center;
}
.nav-bubble-item .nav-link{
	padding-right:28px;
}
.bubble{
	position:absolute;
	top:8px;
	right:2px;
	min-width:18px;
	height:18px;
	background:#ffc107;
	color:#fff;
	font-size:11px;
	font-weight:bold;
	border-radius:9px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0 5px;
	box-shadow:0 1px 3px rgba(0,0,0,0.2);
}
.bubble-popup{
	position:absolute;
	top:100%;
	right:0;
	width:320px;
	background:#fff;
	box-shadow:0 4px 16px rgba(0,0,0,0.15);
	border-radius:6px;
	padding:10px;
	display:none;
	z-index:99999;
	margin-top:5px;
	border:1px solid #eee;
}
.bubble-popup::before{
	content:"";
	position:absolute;
	top:-6px;
	right:15px;
	width:0;
	height:0;
	border-left:6px solid transparent;
	border-right:6px solid transparent;
	border-bottom:6px solid #fff;
}
.nav-bubble-item:hover .bubble-popup{
	display:block !important;
	visibility:visible !important;
	opacity:1 !important;
}
.bubble-item{
	padding:8px 10px;
	border-bottom:1px solid #f5f5f5;
	cursor:pointer;
	display:flex;
	align-items:center;
	gap:10px;
	transition:background 0.2s;
}
.bubble-item:last-child{
	border-bottom:none;
}
.bubble-item:hover{
	background:#f8f9fa;
}
.bubble-avatar{
	width:40px;
	height:40px;
	border-radius:50%;
	background:#e4393c;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:16px;
	flex-shrink:0;
}
.bubble-link{
	display:block;
	text-decoration:none;
	color:#333;
}
.bubble-loading{
	text-align:center;
	padding:20px;
	color:#999;
	font-size:14px;
}
.bubble-content{
	flex:1;
	min-width:0;
}
.bubble-title{
	font-size:13px;
	font-weight:bold;
	color:#333;
	margin-bottom:2px;
}
.bubble-desc{
	font-size:12px;
	color:#999;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.card-list{
	height:72px;
	background:#FFFFFF;
	overflow:hidden;
	clear:both;
	border-bottom:#F0F0F0 1px solid;
	padding:0 16px 0 12px;
	cursor:pointer;
}
.card-list:hover{
	background:#f8f9fa;
}
.card-list img{
	float:left;
	margin:12px 12px 0 0;
	border-radius:50%;
}
.card-list ul{
	margin:12px 0;
	padding:0;
	list-style:none;
}
.card-list li{
	height:24px;
	line-height:24px;
	overflow:hidden;
}
.card-list strong{
	display:block;
	width:100%;
	font-size:13px;
	color:#333;
}
.card-list em{
	float:right;
	color:#FFFFFF;
	font-style:normal;
	background:#FA5A57;
	border-radius:10px;
	font-size:12px;
	display:inline-block;
	height:14px;
	line-height:14px;
	padding:0 4px;
}
.card-list span{
	color:#666666;
	font-size:12px;
}
.card-more{
	line-height:40px;
	text-align:center;
	background:#FFFFFF;
	font-size:13px;
	color:#999;
	cursor:pointer;
}
.card-more:hover{
	background:#f8f9fa;
}
.card-none{
	padding:30px 0;
	text-align:center;
	background:#FFFFFF;
	font-size:14px;
	color:#999999;
}
.bubble-time{
	font-size:11px;
	color:#ccc;
}
.bubble-empty{
	padding:20px;
	text-align:center;
	color:#999;
	font-size:13px;
}

/* ========== 头部搜索区域 ========== */
.header-main{
    background:#fff;
    padding:20px 0;
}
.header-main .w1200{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:30px;
    position:relative;
}
.logo img{
    width:320px;
    height:60px;
    object-fit:contain;
}
.search-wrap{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.search-row{
    display:flex;
    align-items:center;
    gap:0;
}
.search-box {
    width: 478px;
    display: flex;
    align-items: center;
    height: 40px;
    border: 2px solid #3366ff;
    border-radius: 8px 0 0 8px;
    background: #fff;
    position: relative;
    z-index: 2;
    transition: border-radius 0.2s ease;
}
.search-box.has-open-dropdown{
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
}
.search-input-area{
    flex:1;
    position:relative;
    padding-left:38px;
    padding-right:10px;
    height:100%;
    display:flex;
    align-items:center;
}
.search-input-area::before {
    content:"";
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    width: 16px;
    height: 16px;
    background: url("../img/ico-search.png") no-repeat center;
    background-size: contain;
    z-index:1;
    pointer-events:none;
}
.search-input{
    width:100%;
    height:100%;
    border:none;
    outline:none;
    font-size:14px;
    background:transparent;
}
.title-time{
    position:relative;
    padding-left:22px;
}
.title-time::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:16px;
    height:16px;
    background:url("../img/time.png") no-repeat center;
    background-size:contain;
}
.del-history{
    position:relative;
    width:16px;
    height:16px;
    display:block;
    cursor:pointer;
}
.del-history::before{
    content:"";
    width:16px;
    height:16px;
    position:absolute;
    left:0;
    top:0;
    background:url("../img/ico-delete.png") no-repeat center;
    background-size:contain;
}
.ico-hot{
    position:relative;
    padding-left:22px;
}
.ico-hot::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:16px;
    height:16px;
    background:url("../img/ico-hot.png") no-repeat center;
    background-size:contain;
}
.ico-spread i {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url("../img/ico-spread.png") no-repeat center;
    background-size: contain;
}
.search-select{
	width: 90px;
	height: 100%;
	border-left: 2px solid #eee;
	line-height: 40px;
	cursor: pointer;
	display: flex;
	align-items: center;
	padding-left: 16px;
	gap: 4px;
	font-size: 14px;
	background-image: url(img/ico-arrd.png);
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 10px;
}
.search-btn{
    width:90px;
    height:40px;
    background:#3366ff;
    color:#fff;
    border:none;
    border-radius:0 8px 8px 0;
    cursor:pointer;
    font-size:18px;
    font-weight:bold;
}
.search-clear{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    font-size:18px;
    color:#ccc;
    cursor:pointer;
    z-index:2;
    display: none;
}
.search-box.has-open-dropdown .search-clear{
    display: block !important;
}
.search-clear:hover{
    color:#333;
}
.search-dropdown,
.channel-panel{
	position: absolute;
	top: 36px;
	left: -2px;
	width: calc(478px);
	background: #fff;
	border-radius: 0 0 4px 4px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	display: none;
	z-index: 998;
	padding: 16px;
	border-right-width: 2px;
	border-bottom-width: 2px;
	border-left-width: 2px;
	border-top-style: none;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-right-color: #36F;
	border-bottom-color: #36F;
	border-left-color: #36F;
}
.search-dropdown::before,
.channel-panel::before{
    content: "";
    position: absolute;
    top: 0;
    left: 10px;
    right: 10px;
    height: 1px;
    background-color: #ccc;
}
.drop-title::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-4px;
    width:100%;
    height:0px;
    background:#e0e0e0;
}
.drop-title:last-of-type::after{
    display:none;
}
.drop-title{
	font-size: 14px;
	color: #666;
	margin-bottom: 8px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	font-weight: bold;
}
.title-right-group{
    display:flex;
    gap:18px;
    align-items:center;
}
.channel-panel .close-channel {
    font-size: 16px;
    color: #ccc;
    cursor:pointer !important;
}
.channel-panel .close-channel:hover {
    color: #3366ff;
}
.hot-more {
    color: #999;
    font-size: 14px;
}
.hot-more i {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url("../img/ico-spread.png") no-repeat center;
    background-size: contain;
}
.hot-more:hover {
    color: #3366ff;
}
.tag-list{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
.search-tag{
    padding:2px 10px;
    background:#f5f7fa;
    border-radius:4px;
    font-size:14px;
    cursor:pointer;
}
.search-tag:hover{
    background:#e8f0ff;
    color:#3366ff;
}
.channel-grid{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-top: 6px;
}
.channel-item{
    text-align: center;
    padding: 2px 4px;
    cursor: pointer;
    border-radius: 4px;
    font-size:14px;
}
.channel-item:hover{
    background:#f2f3f5;
}
.search-hot-key{
    display:flex;
    align-items:center;
    gap:5px;
    padding-left:4px;
}
.hot-fire-icon{
    width:16px;
    height:16px;
    background:url("../img/ico-hot.png") no-repeat center center;
    background-size:contain;
    display:inline-block;
}
.hot-item{
    font-size:14px;
    color:#333;
    cursor:pointer;
}
.hot-item:hover{
    color:#3366ff;
}
.head-btn-group{
	display: flex;
	gap: 18px;
	align-items: center;
}
.head-btn{
    width:90px;
    height:40px;
    border:1px solid #4073f7;
    color:#4073f7;
    text-align:center;
    line-height:40px;
    border-radius:4px;
    cursor:pointer;
    background:#fff;
    font-size:14px;
}
.head-btn i{margin-right:4px;}
.head-btn.orange{
    border-color:#ff7800;
    color:#ff7800;
}
.head-btn.drop-wrap {
    position: relative;
}
.drop-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 2px;
    min-width: 90px;
    background: #fff;
    border: 1px solid #eee;
    z-index: 999;
}
.drop-item {
    padding: 2px 16px;
    font-size: 14px;
    cursor: pointer;
}
.drop-item:hover {
    background: #f5f7fa;
}
.head-btn.drop-wrap:hover .drop-menu {
    display: block;
}
.head-btn.orange {
    position: relative;
}
.buy-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 2px;
    min-width: 90px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    z-index: 999;
}
.buy-item {
    padding: 2px 16px;
    font-size: 14px;
    cursor: pointer;
}
.buy-item:hover {
    background: #f5f7fa;
	color: #f00;
}
.head-btn.orange:hover .buy-menu {
    display: block;
}

/* ========== 分类筛选区域 ========== */
.category-filter-box {
    width: 100%;
    margin-bottom: 12px;
}
.category-filter-box .w1200 {
    width: 1200px;
    margin: 0 auto;
    border: 1px solid #eee;
    border-radius: 4px;
    padding: 12px;
}
.nav-category{
    padding-bottom: 8px;
}
.category-list{
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 0px;
    text-align: center;
    list-style: none;
    padding: 0;
    margin: 0;
}
.category-item{
    cursor:pointer;
}
.category-icon{
    width:68px;
    height:68px;
    margin:0 auto 6px;
    border-radius:50%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 60px;
    max-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.category-item:nth-child(1) .category-icon{background:#ffe8e6;}
.category-item:nth-child(2) .category-icon{background:#e6f9ef;}
.category-item:nth-child(3) .category-icon{background:#e6f2ff;}
.category-item:nth-child(4) .category-icon{background:#e6f9ef;}
.category-item:nth-child(5) .category-icon{background:#e6f2ff;}
.category-item:nth-child(6) .category-icon{background:#e6f9ef;}
.category-item:nth-child(7) .category-icon{background:#e6f2ff;}
.category-item:nth-child(8) .category-icon{background:#e6f9ef;}
.category-item:nth-child(9) .category-icon{background:#fff0e6;}
.category-name{
    font-size:13px;
    color:#333;
    margin:0;
}
.filter-wrap{
    background:#fff;
    padding-top: 8px;
}
.filter-row{
    display:flex;
    align-items:center;
    padding:6px 0;
    flex-wrap:wrap;
    gap:8px;
}
.filter-tab-row-top{
    padding-bottom:8px;
}
.filter-label{
    width:85px;
    color:#666;
    display:inline-block;
}
.filter-tab-group .filter-item.active{
    color:#e62828;
    font-weight:bold;
}
.filter-tag-row{
    background:#f2f4f9;
    padding:10px 8px;
    margin:4px 0;
    border-radius:4px;
    margin-left: 85px;
}
.filter-item{
    padding:2px 10px;
    border:none;
    border-radius:3px;
    cursor:pointer;
    font-size:13px;
}
.filter-item.active{
    color:#e62828;
    border:none;
    font-weight:bold;
}
.filter-tag-row .filter-item.active{
    background: transparent !important;
}

/* ========== 房源标题栏 ========== */
.house-title-bar{
    width:1200px;
    margin:0 auto 12px;
    background:#fff;
    padding:16px 0;
}
.house-title{
    font-size:26px;
    font-weight:bold;
    margin-bottom:12px;
    line-height:1.3;
}
.house-meta-full-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 24px;
    color: #999;
    font-size: 13px;
    white-space: nowrap;
}
.meta-info-left {
    display: flex;
    align-items: center;
    gap: 20px;
}
.report {
    color: #e62828;
    cursor: pointer;
}
.title-tag-group{
    display:flex;
    gap:10px;
    align-items:center;
}
.title-tag{
    padding:3px 10px;
    border:1px solid #ccc;
    border-radius:3px;
    font-size:12px;
    background:#fff;
    color:#333;
}
.title-tag.green{
    border:1px solid #36c060;
    color:#009929;
}
.meta-collect-right {
    margin-left: auto;
}
.collect {
    color: #999;
    cursor: pointer;
    font-size:16px;
}
.collect:hover {
    color: #e62828;
}

/* ========== 大图轮播 ========== */
.slide-box {
    position: relative;
    border: 8px solid transparent;
    border-radius: 12px;
    background-image: linear-gradient(#fff,#fff), linear-gradient(135deg,#ff2222,#ffc899);
    background-origin: border-box;
    background-clip: padding-box, border-box;
    padding: 0px;
    overflow: visible;
    margin-bottom:12px;
    width: fit-content;
}
.sale-tag {
    position: absolute;
    top: -3px;
    left: -3px;
    background: #ff2222;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    padding: 4px 14px;
    border-bottom-right-radius: 10px;
    z-index: 9;
}
.big-img{
    width:720px;
    height:420px;
    border-radius:6px;
    display:block;
}
.thumb-list{
    display:flex;
    gap:8px;
    margin-bottom:10px;
}
.thumb-item{
    width:142px;
    height:100px;
    border:2px solid transparent;
    cursor:pointer;
    opacity:0.75;
    border-radius:3px;
}
.thumb-item.active{
    border-color:#e62828;
    opacity:1;
}

/* ========== 主内容左右布局 ========== */
.main-wrap .w1200{
    display:flex;
    gap:40px;
	justify-content:flex-start;
}
.left-main{
    width:750px;
}
.right-side{
    width:410px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

/* ========== 通用卡片模块 ========== */
.card-box{
    padding:16px 0;
    margin-bottom:12px;
}
.card-title {
    font-size: 24px;
    font-weight: bold;
    border-left: 6px solid #ff7800;
    padding-left: 10px;
    margin: 0 0 16px 0;
}
.info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    row-gap:14px;
}
.info-item{
    display:flex;
    gap:6px;
}
.info-k{
    color:#666;
    width:80px;
}
.tag_ti{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: 8px;
}
.tag-small{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:3px 20px;
    border-radius:2px;
    font-size:14px;
    margin: 0;
}
.dynamic-row{
    display:flex;
    justify-content:space-between;
    padding:8px 0;
    border-bottom:1px solid #f2f2f2;
    align-items:center;
}
.dynamic-time{
    color:#999;
    font-size:13px;
    width:110px;
}
.dynamic-btn{
    padding:4px 12px;
    background:#e62828;
    color:#fff;
    border:none;
    border-radius:3px;
    cursor:pointer;
    font-size:12px;
}

/* 房贷计算器 */
.mortgage-wrap{
    display:flex;
    gap:30px;
    align-items: stretch;
}
.mortgage-left{
    width:400px;
    display:flex;
    flex-direction:column;
    gap:20px;
}
.calc-list{
    display:flex;
    flex-direction:column;
    gap:22px;
}
.calc-row{
    display:flex;
    align-items:center;
    gap:10px;
}
.calc-label{
    width:100px;
    color:#666;
    flex-shrink:0;
}
.calc-select{
    flex:1;
    height:42px;
    border:1px solid #ddd;
    padding:0 8px;
    border-radius:3px;
    font-size:14px;
}
.calc-btn{
    width:100%;
    height:48px;
    background:linear-gradient(90deg,#ffb248,#ff3333);
    color:#fff;
    border:none;
    border-radius:4px;
    font-size:15px;
    cursor:pointer;
    margin-top:0;
}
.mortgage-right{
    width:340px;
    border:1px solid #ddd;
    padding:20px;
    border-radius:4px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.result-row{
    display:flex;
    justify-content:space-between;
    padding:2px 0;
    font-size:15px;
}
.result-red{
    color:#e62828;
    font-weight:bold;
}
.result-divider{
    border-top:1px solid #ddd;
    margin:10px 0;
}

/* 房源相册 */
.album-list{
    display:grid;
    grid-template-columns:calc(50% - 6px) calc(50% - 6px);
    gap:12px;
    margin-bottom:10px;
}
.album-img{
    width:100%;
    height:220px;
    border:1px solid #eee;
    display:block;
}
.album-item.hide-item{
    display:none;
}
.album-more{
    width:100%;
    height:36px;
    line-height:36px;
    text-align:center;
    border:1px solid #eee;
    border-radius:4px;
    color:#666;
    cursor:pointer;
}

/* 小区信息 */
.xiaoqu-wrap{
    display:flex;
    gap:16px;
    align-items:flex-start;
}
.xiaoqu-img{
    width:300px;
    height:220px;
    border:1px solid #eee;
    flex-shrink:0;
}
.xiaoqu-info{
    flex:1;
}
.xiaoqu-info h3{
    font-size:28px;
    margin:0 0 36px 0;
    font-weight:bold;
    line-height:1;
}
.xiaoqu-info p{
    color:#666;
    line-height:1.5;
    margin:0 0 20px 0;
    font-size:16px;
}
.xiaoqu-link-box{
    display:flex;
    justify-content:space-between;
}
.xiaoqu-link{
    color:#e62828;
    font-size:16px;
	margin:20px 0 0 0;
    text-decoration:none;
}
.xiaoqu-link:hover{
    text-decoration:underline;
}

/* 周边小区 */
.around-xiaoqu-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px 20px;
  margin-top: 16px;
}
.around-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.around-img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border: 1px solid #eee;
}
.around-name {
  font-size: 18px;
  font-weight: normal;
  color: #222;
  letter-spacing: -1px;
  line-height: 1.8;
}
.around-area {
  font-size: 14px;
  color: #999;
  margin: 0;
  line-height: 1;
}

/* 右侧顶部价格信息 */
.right-top-info{
    position:relative;
}
.price-row-top {
  display: flex;
  align-items: flex-end;
  margin-bottom: 8px;
  gap: 15px;
}
.price-left {
  display: flex;
  align-items: flex-end;
}
.price-num {
  font-size: 50px;
  color: #e62828;
  font-weight: bold;
  line-height: 1;
}
.price-wan {
  font-size: 16px;
  color: #999;
  margin-left: 6px;
}
.price-center {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.price-top-line {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  min-width: 320px;
}
.unit-price {
  font-size: 18px;
  color: #333;
}
.risk-tip-btn {
  color: #e62828;
  cursor: pointer;
  font-size: 16px;
  white-space: nowrap;
}
.tip-text {
  font-size: 13px;
  color: #999;
  line-height: 1.0;
}
.broker-link {
  color: #3366ff;
  text-decoration: none;
  margin-left: 4px;
}
.broker-link:hover {
  text-decoration: underline;
}
.price-note {
  font-size: 12px;
  color: #999;
  margin: 0;
}

/* 风险弹窗遮罩 */
.risk-modal-mask{
    display:none;
    position:fixed;
    left:0;
    top:0;
    width:100vw;
    height:100vh;
    background:rgba(0,0,0,0.55);
    z-index:9999;
    align-items:center;
    justify-content:center;
}
.risk-modal-box{
    width:620px;
    max-height:80vh;
    background:#fff;
    border-radius:8px;
    padding:24px;
    position:relative;
    overflow:hidden;
}
.modal-close{
    position:absolute;
    right:16px;
    top:16px;
    font-size:24px;
    color:#666;
    cursor:pointer;
}
.risk-modal-box h3{
    font-size:22px;
    margin-bottom:16px;
    color:#222;
}
.modal-text{
    font-size:14px;
    color:#444;
    line-height:1.7;
    max-height:60vh;
    overflow-y:auto;
    padding-right:8px;
}
.risk-modal-mask.show{
    display:flex;
}

/* 三栏基础信息 */
.info-three-row{
    display:flex;
    gap:16px;
    padding:12px 0;
    border-bottom:1px solid #f2f2f2;
}
.info-three-col{
    flex:1;
    text-align:center;
}
.info-three-name{
    color:#666;
    font-size:13px;
    margin-bottom:4px;
}
.info-three-val{
    font-size:15px;
    font-weight:bold;
}

/* 小区信息行 - 详情页专用，用更具体选择器避免影响首页卡片 */
.info-key{
    color:#666;
    width:100px;
    text-align:left;
    flex-shrink:0;
}
.info-val{
	text-align: left;
	flex: 1;
	color: #999;
}
.info-val a{
    color:#3366ff;
    text-decoration:none;
}
.info-val.link-blue{
    color:#3366ff;
    text-decoration:none;
}
.info-val.link-blue:hover{
    text-decoration:underline;
}
.price-down{
    color:#e62828;
    font-weight:normal;
    margin-left:8px;
}

/* 经纪人侧边卡片 */
.broker-fixed{
    position:sticky;
    top:46px;
    z-index:99;
    width:410px;
}
.broker-card-wrap{
    border:1px solid #eee;
    border-radius:6px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.broker-info{
    padding:14px 12px;
    border-bottom:1px solid #eee;
}
.broker-recommend{
    padding:12px;
    max-height:calc(100vh - 176px);
    overflow-y:auto;
}
.broker-top{
    display:flex;
    gap:10px;
    align-items:center;
    margin-bottom:10px;
}
.broker-avatar{
    width:60px;
    height:60px;
    border-radius:50%;
    overflow:hidden;
    background:#f5f5f5;
    display:flex;
    align-items:center;
    justify-content:center;
}
.broker-avatar img{
    cursor:pointer;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    background:#f5f5f5;
}
.broker-name-wrap{
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom:2px;
}
.broker-name-text{
    font-size:22px;
    font-weight:700;
    color:#111;
}
.broker-name-tag{
    font-size:16px;
    font-weight:400;
    color:#999;
}
.broker-tel{
    display:block;
    color:#e62828;
    margin:2px 0;
    font-size:18px;
    font-weight:bold;
}
.broker-btn-group{
    display:flex;
    gap:8px;
    margin:2px 0 10px;
}
.btn-red-small{
    display: inline-block;
    padding:4px 10px;
    background:#e62828;
    color:#fff;
    border:none;
    border-radius:12px;
    font-size:12px;
    white-space:nowrap;
    cursor:pointer;
    transition: background 0.2s ease;
}
.btn-red-small:hover{
    background:#c41e1e;
}
.btn-orange-small{
    display: inline-block;
    padding:4px 10px;
    background:#ffbc69;
    color:#fff;
    border:none;
    border-radius:12px;
    font-size:12px;
    white-space:nowrap;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease;
}
.btn-orange-small:hover{
    background:#ff9f29;
}
.broker-shop-link{
	font-size: 12px;
	color: #666;
	margin-bottom: 12px;
	text-align: center;
}
.broker-shop-link a{
    color:#e62828;
}
.broker-big-btn{
  width: 100%;
  height: 43px;
  border-radius: 999px;
  border: none;
  background: linear-gradient(90deg, #ffaa44, #f53333);
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  cursor: pointer;
}
.broker-big-btn::before {
  content: "";
  width: 21px;
  height: 22px;
  background-image: url("../img/feiji.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.rec-title{
    display:flex;
    justify-content:space-between;
    font-size:14px;
    color:#666;
    margin-bottom:10px;
}
.rec-title .change{
    color:#e62828;
    cursor:pointer;
}
.rec-group{
    display:none;
}
.rec-group.active{
    display:block;
}
.rec-item, a.rec-item{
    display:flex;
    gap: 12px; /* 稍微加大间距更好看 */
    margin-bottom:12px;
    padding-bottom:12px;
    border-bottom:1px solid #f2f2f2;
    align-items: flex-start;
    color:#333;
    text-decoration:none;
}
a.rec-item:hover{
    color:#e4393c;
    text-decoration:none;
}
.rec-item:last-child{
    border-bottom:none;
    margin-bottom:0;
    padding-bottom:0;
}

.rec-text{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.rec-desc{
	font-size: 16px;
	line-height: 1.5;
	margin-bottom: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.rec-row-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.rec-price{
    color:#e62828;
    font-weight:bold;
}
.rec-area{
    font-size:12px;
    color:#999;
    text-align:right;
}

/* 右侧悬浮侧边栏 */
.fixed-sidebar-wrap {
    position: fixed;
    left: calc(50% + 600px + 20px);
    bottom: 140px;
    z-index: 999;
    width: 55px;
}
.sidebar-btn-list {
    background: #fff;
    border-radius: 27.5px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    position: relative;
    overflow: visible;
    width: 55px;
    height: 235px;
    display: flex;
    flex-direction: column;
    /* 新增上下内边距，拉开首尾按钮距离圆角 */
    padding: 12px 0;
}
.sidebar-btn-item {
    width: 55px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    cursor: pointer;
    color: #666;
    position: relative;
    transition: all 0.2s ease;
    padding-top: 24px;
	font-size: 12px;
}
.sidebar-btn-item:before {
    content: '';
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.sidebar-btn-ruzhu:before {
    background-image: url('../img/rz_img.png');
}
.sidebar-btn-ruzhu:hover:before {
    background-image: url('../img/rz_on.png');
}
.sidebar-btn-kefu:before {
    background-image: url('../img/kf_img.png');
}
.sidebar-btn-kefu:hover:before {
    background-image: url('../img/kf_on.png');
}
.sidebar-btn-xcx:before {
    background-image: url('../img/xc_img.png');
}
.sidebar-btn-xcx:hover:before {
    background-image: url('../img/xc_on.png');
}
.sidebar-btn-gzh:before {
    background-image: url('../img/gzh_img.png');
}
.sidebar-btn-gzh:hover:before {
    background-image: url('../img/gzh_on.png');
}
.sidebar-btn-item:not(:last-child) {
    border-bottom: 1px solid #f0f0f0;
}
.sidebar-btn-item.active {
    color: #ff7800;
}
.sidebar-top-btn {
	width: 55px;
	height: 55px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	cursor: pointer;
	color: #666;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	position: absolute;
	left: 0;
	top: auto;
	bottom: -62px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	pointer-events: none;
	padding-top: 18px;
}
.sidebar-top-btn::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 50%;
    transform: translateX(-50%);
    width: 26px;
    height: 26px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='18 15 12 9 6 15'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.sidebar-top-btn:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5a623' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='18 15 12 9 6 15'%3E%3C/polyline%3E%3C/svg%3E");
}
.sidebar-top-btn.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.sidebar-top-btn span {
    font-size: 11px;
}
.sidebar-pop-box {
    position: absolute;
    right: 68px;
    top: 12px;
    background: #fff;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.12);
    width: 180px;
    display: none;
    z-index: 1000;
}
.sidebar-pop-box.show {
    display: block;
}
.sidebar-pop-box::after {
    content: "";
    position: absolute;
    right: -8px;
    top: 10px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 8px solid #fff;
}
.sidebar-btn-item[data-type="ruzhu"] .sidebar-pop-box {
    top: 12px !important;
    bottom: auto !important;
}
.sidebar-btn-item[data-type="ruzhu"] .sidebar-pop-box::after {
    top: 10px !important;
    bottom: auto !important;
}
.sidebar-btn-item[data-type="xcx"] .sidebar-pop-box,
.sidebar-btn-item[data-type="gzh"] .sidebar-pop-box {
    top: auto !important;
    bottom: 0 !important;
}
.sidebar-btn-item[data-type="xcx"] .sidebar-pop-box::after,
.sidebar-btn-item[data-type="gzh"] .sidebar-pop-box::after {
    top: auto !important;
    bottom: 10px !important;
}
.pop-qrcode {
    text-align: center;
}
.pop-qrcode h4 {
    font-size: 12px;
    color: #333;
    margin-bottom: 10px;
}
.pop-qrcode .orange-text {
	color: #FF3300;
	font-size: 12px;
	margin-bottom: 10px;
}
.pop-qrcode img {
    width: 120px;
    height: 120px;
    margin: 0 auto 10px;
    display: block;
}
.pop-qrcode .desc {
    color: #999;
    font-size:12px;
}
.pop-service-btn {
	width: 100%;
	background: #ff7800;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 14px;
	margin-bottom: 10px;
	cursor: pointer;
	padding-top: 5px;
	padding-bottom: 5px;
}
/* 底部版权 */
.footer{
    background:#fff;
    margin-top:20px;
    padding:30px 0;
    text-align:center;
    color:#666;
    font-size:14px;
    line-height:2.2;
}
.footer .w1200{
    width:1200px;
    margin:0 auto;
}
.footer a{
    color:#666;
    margin:0 8px;
}
.footer .pice{
    margin:0 12px;
    color:#999;
}
.footer img{
    vertical-align:middle;
    margin:0 4px;
}
.footer p:nth-child(2){
    font-size:16px;
    letter-spacing:1px;
}
#destoon-card {width:360px;max-height:420px;overflow-y:auto;background:#FFFFFF url('../../image/load.gif') no-repeat center center;box-shadow:0 0 6px #DDDDDD;border-radius:12px;position:fixed;z-index:1020;display:none;}
.card-info {padding:0 24px 16px 24px;overflow:hidden;background:#FFFFFF;}
.card-info li {width:156px;height:32px;line-height:32px;overflow:hidden;color:#666666;float:left;}