.xhb_info-banner{min-width:1400px;height:400px;background:url("../img/market-banner-bg.jpg") no-repeat center top;background-size:auto 100%;}

.xhb_info-intro{width:740px;padding-top: 80px;}
.xhb_info-intro .xhb_info-title{line-height:44px;font-size:36px;font-weight:bold;color:#FF0;}
.xhb_info-intro .xhb_info-desc{margin-top:10px;line-height:175%;text-align:justify;font-size:24px;color:#EEE;}
.xhb_info-idx-stats{display: flex;flex-wrap: wrap;justify-content: space-between;}
.xhb_info-idx-stats::after{content:"\20";display:block;height:0;visibility:hidden;clear:both;}
.stats-item{flex:1;padding:20px 40px;background:#FFF;position:relative;}
.stats-item:first-child{margin-left:0;}
.stats-item .stats-item-tip{height:40px;line-height:40px;font-size:22px;font-weight:bold;color:#C3272B;display:flex;align-items:center;justify-content:flex-start;}
.stats-item .stats-item-tip span{width:98px;margin-left:8px;text-align:center;font-size:12px;font-weight:normal;background:url("../img/market-icon-tip.png") no-repeat center;}
.stats-item .stats-item-sum{height:40px;line-height:40px;font-size:14px;display:flex;align-items:center;justify-content:flex-start;}
.stats-item .stats-item-sum span{padding:0 5px;font-size:22px;font-weight:bold;color:#C3272B;}
.stats-item .stats-item-btn{position:absolute;right:0;top:50%;height:48px;margin-top:-24px;border-radius:10px 0 0 10px;background:#C3272B;}
.stats-item .stats-item-btn:hover{background-color:#B70000;}
.stats-item .stats-item-btn a{height:48px;padding:0 16px 0 56px;line-height:48px;font-size:22px;font-weight:bold;color:#FFF;background:url("../img/market-icon-sub.png") no-repeat 12px center;display:inline-block;}
.xhb_info-idx-gy::after{content:"\20";display:block;height:0;visibility:hidden;clear:both;}

.xhb_info-idx-gy-l{width:270px;height:524px;float:left;background:#FFF;position:relative;overflow: hidden;}
.xhb_info-idx-gy-l .xhb_focus-bd > div{width:100%;height:524px;background-repeat:no-repeat;background-position:center;background-size:cover;}
.xhb_info-idx-gy-l .xhb_focus-hd{position:absolute;bottom:12px;width:100%;height:10px;line-height:10px;}
.xhb_info-idx-gy-l .xhb_focus-hd ul{height:10px;text-align:center}
.xhb_info-idx-gy-l .xhb_focus-hd ul li{display:inline-block;display:inline;zoom:1;overflow:hidden;width:8px;height:8px;margin:0 5px;text-indent:-9999px;background:rgba(0,0,0,0.2);border-radius:100%;cursor:pointer;}
.xhb_info-idx-gy-l .xhb_focus-hd ul .on{background:rgba(195,39,43,0.8);}

.xhb_info-idx-gy-r{width:1110px;box-sizing: border-box; margin-left:20px;padding:20px;float:right;background:#FFF;display: grid;grid-template-columns:repeat(4,2fr);gap: 20px;}
.xhb_info-idx-gy-r::after{content:"\20";display:block;height:0;visibility:hidden;clear:both;}

.xhb_info-idx-gyitem{flex:1;border:rgba(0,0,0,0.08) 1px solid;}
.xhb_info-idx-gyitem:hover{box-shadow:0 0 10px rgba(0,0,0,0.08);}
.xhb_info-idx-gyitem .gyitem-thumb{width:100%;height:120px;background-repeat:no-repeat;background-position:center;background-size:cover;}
.xhb_info-idx-gyitem .gyitem-thumb a{width:100%;height:100%;display:block;}
.xhb_info-idx-xqitem .xqitem-thumb{width:100%;height:100px;background-repeat:no-repeat;background-position:center;background-size:cover;}
.xhb_info-idx-xqitem .xqitem-thumb a{width:100%;height:100%;display:block;}
.xhb_info-idx-gyitem .gyitem-title{height:40px;margin:10px;line-height:20px;font-size:14px;overflow:hidden;}
.xhb_info-idx-gyitem .gyitem-desc{height:40;padding:0 10px 10px;}
.xhb_info-idx-gyitem .gyitem-desc p{height:20px;margin:0;padding:0;line-height:20px;color:#999;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.xhb_floor-head{height:48px;padding:0 16px 0 10px;line-height:48px;background:#FFF;overflow:hidden;clear:both;}
.xhb_floor-head strong{padding-left:12px;font-size:22px;border-left:#C3272B 5px solid;}
.xhb_floor-head span{float:right;font-size:14px;color:#999;}
.xhb_floor-head span a{color:#999;}
.xhb_floor-head i{font-style:normal;font-weight:bold;padding:0 2px;font-family:simsun;}
.xhb_info-idx-xq .xhb_column-cont{padding:20px;display: flex;flex-wrap: wrap;justify-content: flex-start;}

.xhb_info-idx-xqitem{width:230px;height:220px;padding:10px; margin: 10px;border:rgba(0,0,0,0.08) 1px solid;}
.xhb_info-idx-xqitem:hover{box-shadow:0 0 10px rgba(0,0,0,0.08);}
.xhb_info-idx-xqitem .xqitem-title{height:44px;margin:5px;line-height:22px;font-size:14px;overflow:hidden;text-overflow:ellipsis;display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
.xhb_info-idx-xqitem .xqitem-desc{height:40;margin:0 5px 5px;}
.xhb_info-idx-xqitem .xqitem-desc p{height:20px;margin:0;padding:0;line-height:20px;color:#999;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.xhb_layui .layui-font-green {
    color: #009688 !important
}
.swiper-pagination-bullet-active {
    background: rgba(195,39,43,0.8);
}
.xhb_info-list-sort{background-color:#FFF;}
.xhb_info-list-sort-item{padding:8px 0;font-size:14px;}
.xhb_info-list-sort-item::after{content:"\20";display:block;height:0;visibility:hidden;clear:both;}
.xhb_info-list-sort-item .k{width:120px;height:36px;padding:8px 16px;float:left;line-height:36px;text-align:right;font-weight:bold;}
.xhb_info-list-sort-item .v{width:1068px;padding:8px 0;float:left;line-height:20px;}
.xhb_info-list-sort-item .v span{padding:8px 16px;border-radius:3px;display:inline-block;}
.xhb_info-list-sort-item .v span.on{background-color:#EEE;}
.xhb_info-list-gy .xhb_column-cont{padding:20px;display: grid;grid-template-columns: repeat(5, 2fr);gap: 20px;}

.xhb_info-list-gyitem{flex: 1;border:rgba(0,0,0,0.08) 1px solid;}
.xhb_info-list-gyitem:hover{box-shadow:0 0 10px rgba(0,0,0,0.08);}
.xhb_info-list-gyitem .gyitem-thumb{width:100%;height:122px;background-repeat:no-repeat;background-position:center;background-size:cover;}
.xhb_info-list-gyitem .gyitem-thumb a{width:100%;height:100%;display:block;}
.xhb_info-list-gyitem .gyitem-title{height:40px;margin:10px;line-height:20px;font-size:14px;overflow:hidden;}
.xhb_info-list-gyitem .gyitem-desc{height:40;padding:0 10px 10px;}
.xhb_info-list-gyitem .gyitem-desc p{height:20px;margin:0;padding:0;line-height:20px;color:#999;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}

.xhb_info-show-gypanel{padding:50px;background:#FFF;}
.xhb_info-show-gypanel::after{content:"\20";display:block;height:0;visibility:hidden;clear:both;}

.xhb_info-show-gypanel-l{width:670px;float:left;}
.xhb_info-show-gypanel-l h1{margin:0;padding:0;line-height:150%;text-align:left;letter-spacing:1px;font-size:24px;font-weight:bold;}

.xhb_info-show-gyinfo{padding:8px 0;font-size:14px;color:#666;border-bottom:#EEE 1px solid;}
.xhb_info-show-gyinfo::after{content:"\20";display:block;height:0;visibility:hidden;clear:both;}
.xhb_info-show-gyinfo > div{height:20px;margin-left:12px;padding-left:12px;float:left;line-height:20px;position:relative;}
.xhb_info-show-gyinfo > div::before{position:absolute;left:0;top:50%;content:"\20";margin-top:-6px;width:1px;height:12px;background:#CCC;display:block;}
.xhb_info-show-gyinfo > div:first-child{margin-left:0;padding-left:0;}
.xhb_info-show-gyinfo > div:first-child::before{display:none;}
.xhb_info-show-gyattr{padding:6px 0;}
.xhb_info-show-gyattr > div{height:20px;padding:8px 0;line-height:20px;font-size:14px;overflow:hidden;}
.xhb_info-show-gyattr > div span{color:#666;}
.xhb_info-show-gymsg{padding-top:8px;}
.xhb_info-show-gymsg a{width:124px;height:36px;line-height:36px;text-align:center;font-size:14px;display:inline-block;color:#FFF;background:#005bff ;border-radius:3px;}

.xhb_info-show-gypanel-r{width:400px;height:300px;margin-left:50px;float:left;background:#FFF;position:relative;}
.xhb_info-show-gypanel-r .xhb_focus-bd > div{width:100%;height:300px;background-repeat:no-repeat;background-position:center;background-size:cover;}
.xhb_info-show-gypanel-r .xhb_focus-hd{position:absolute;bottom:12px;width:100%;height:10px;line-height:10px;}
.xhb_info-show-gypanel-r .xhb_focus-hd ul{height:10px;text-align:center}
.xhb_info-show-gypanel-r .xhb_focus-hd ul li{display:inline-block;display:inline;zoom:1;overflow:hidden;width:8px;height:8px;margin:0 5px;text-indent:-9999px;background:rgba(0,0,0,0.2);border-radius:100%;cursor:pointer;}
.xhb_info-show-gypanel-r .xhb_focus-hd ul .on{background:rgba(195,39,43,0.8);}
.xhb_info-show-gypanel-r .xhb_play{position:absolute;left:50%;top:50%;z-index:10;width:48px;height:48px;margin-left:-24px;margin-top:-24px;background:url("ab-play.png") no-repeat center;}
.xhb_info-show-gypanel-r .xhb_play:hover{background:url("ab-play-on.png") no-repeat center;cursor:pointer;}
.xhb_info-show-gypanel-r .xhb_hide{position:absolute;right:0;top:0;z-index:14;width:30px;height:30px;background:url("ab-hide.png") no-repeat center;display:none;}
.xhb_info-show-gypanel-r .xhb_hide:hover{background:url("ab-hide-on.png") no-repeat center;cursor:pointer;}
.xhb_info-show-gypanel-r .xhb_video{position:absolute;z-index:12;width:400px;height:300px;background:#000;display:none;}
.xhb_info-show-gypanel-r .xhb_video video{object-fit:cover;outline:none;}
.xhb_info-show-gymain .xhb_column-head{height:48px;padding-top:0;padding-bottom:0;}
.xhb_info-show-gymain .xhb_column-head strong{margin-right:16px;padding:10px 0 8px;display:inline-block;cursor:pointer;}
.xhb_info-show-gymain .xhb_column-head strong.on{color:#005bff ;border-bottom:#005bff  2px solid;}

.supply-form ,.demand-form ,.publish-form {
    background: #fff;
    padding: 30px;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.supply-form .form-item ,.demand-form .form-item ,.publish-form .form-item {
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
}

.supply-form .form-item label ,.demand-form .form-item label ,.publish-form .form-item label {
    width: 120px;
    text-align: right;
    padding-right: 15px;
    line-height: 38px;
    color: #333;
}

.supply-form .form-item .required ,.demand-form .form-item .required ,.publish-form .form-item .required {
    color: #ff4d4f;
    margin-right: 4px;
}

.supply-form .form-item input,.demand-form .form-item input,.publish-form .form-item input,
.supply-form .form-item select,.demand-form .form-item select,.publish-form .form-item select {
    width: 400px;
    height: 38px;
    line-height: 38px;
    padding: 0 10px;
    border: 1px solid #ddd;
    border-radius: 2px;
    box-sizing: border-box;
}

.supply-form .form-item input:focus,.demand-form .form-item input:focus,.publish-form .form-item input:focus,
.supply-form .form-item select:focus,.demand-form .form-item select:focus,.publish-form .form-item select:focus {
    border-color: #1890ff;
    outline: none;
    box-shadow: 0 0 0 2px rgba(24,144,255,0.2);
}

.supply-form .upload-box ,.demand-form .upload-box ,.publish-form .upload-box {
    width: 400px;
    min-height: 100px;
    border: 1px dashed #ddd;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s;
}

.supply-form .upload-box:hover ,.demand-form .upload-box:hover ,.publish-form .upload-box:hover {
    border-color: #1890ff;
}

.supply-form #editor ,.demand-form #editor ,.publish-form #editor {
    width: 800px;
    margin-left: 120px;
}

.supply-form .layui-btn ,.demand-form .layui-btn ,.publish-form .layui-btn {
    margin-left: 135px;
    padding: 0 30px;
    height: 40px;
    line-height: 40px;
    background: #1890ff;
    border: none;
    border-radius: 4px;
}

.supply-form .layui-btn:hover ,.demand-form .layui-btn:hover ,.publish-form .layui-btn:hover {
    background: #40a9ff;
}


.form-item textarea {
    width: 400px;  /* 100px = label宽度 + padding */
    vertical-align: middle;
}

.layui-form-select dl dd.layui-this {
    background-color: #005bff !important;
}

/* 招投标信息 */
.xhb_info-idx-bidding {
    background: #FFF;
    padding: 0 0 10px;
}
.xhb_info-idx-bidding .xhb_column-cont {
    padding: 10px 20px 20px;
}
.bidding-list-panel {
    background: #FFF;
    padding-bottom: 20px;
}
.bidding-list-panel .xhb_column-cont {
    padding: 10px 20px;
}
.bidding-list-txt {
    list-style: none;
    margin: 0;
    padding: 0;
}
.bidding-list-txt li {
    height: 42px;
    line-height: 42px;
    padding: 0 10px;
    border-bottom: 1px dashed #EEE;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.bidding-list-txt li:hover {
    background: #F8F8F8;
}
.bidding-list-txt li a {
    color: #333;
    margin-right: 12px;
}
.bidding-list-txt li a:hover {
    color: #C3272B;
}
.bidding-list-txt .f_r {
    float: right;
    color: #999;
    font-size: 13px;
}
.bidding-list-txt .no-data {
    text-align: center;
    color: #999;
    border-bottom: none;
}
.bidding-tag {
    display: inline-block;
    height: 20px;
    line-height: 20px;
    padding: 0 8px;
    margin-right: 8px;
    font-size: 12px;
    border-radius: 2px;
    vertical-align: middle;
}
.bidding-tag-type {
    color: #C3272B;
    background: rgba(195, 39, 43, 0.08);
}
.bidding-tag-anno {
    color: #005bff;
    background: rgba(0, 91, 255, 0.08);
}
.bidding-region {
    font-style: normal;
    color: #666;
    font-size: 14px;
    margin-right: 8px;
}
.bidding-list-sort {
    background: #FFF;
    padding: 10px 20px;
}
.bidding-list-sort-item {
    display: flex;
    align-items: flex-start;
    padding: 8px 0;
    font-size: 14px;
}
.bidding-list-sort-item .k {
    width: 90px;
    line-height: 36px;
    text-align: right;
    font-weight: bold;
    flex-shrink: 0;
    color: #333;
}
.bidding-list-sort-item + .bidding-list-sort-item {
    border-top: 1px dashed #EEE;
}
.bidding-list-sort-item .v {
    flex: 1;
    line-height: 20px;
}
.bidding-parent-filter span,
.bidding-child-filter span {
    display: inline-block;
    padding: 8px 16px;
    margin: 4px 8px 4px 0;
    border-radius: 3px;
    cursor: pointer;
    color: #666;
}
.bidding-parent-filter span.on,
.bidding-parent-filter span:hover,
.bidding-child-filter span.on,
.bidding-child-filter span:hover {
    background: #EEE;
    color: #C3272B;
}
.bidding-list-total {
    float: right;
    font-size: 14px;
    color: #999;
    font-weight: normal;
}
.bidding-detail-panel {
    background: #FFF;
    padding: 30px 40px;
}
.bidding-detail-title h1 {
    margin: 0;
    padding: 0;
    line-height: 150%;
    font-size: 24px;
    font-weight: bold;
    color: #333;
}
.bidding-detail-info {
    margin: 16px 0 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #EEE;
    font-size: 14px;
    color: #666;
    line-height: 28px;
}
.bidding-detail-info .bidding-tag {
    margin-bottom: 8px;
}
.bidding-detail-content {
    font-size: 16px;
    line-height: 200%;
    color: #333;
    word-break: break-word;
}
.bidding-detail-content table {
    width: 100%;
    border-collapse: collapse;
}
.bidding-detail-content td {
    padding: 6px 10px;
    border: 1px solid #DDD;
}
.bidding-detail-content .shsj2em {
    text-indent: 2em;
}
.bidding-detail-content .suojin4em {
    padding-left: 4em;
}

/* 招投标列表 AI 风格 loading */
.bidding-loading-wrap {
    padding: 48px 20px;
    text-align: center;
    background: #fff;
}
.bidding-ai-loading-card {
    max-width: 680px;
    margin: 0 auto;
    padding: 26px 18px;
    border-radius: 10px;
    border: 1px dashed #d9e3f2;
    background: #fafcff;
    color: #4f5b72;
}
.bidding-ai-loading-icon {
    font-size: 28px;
    color: #2f86ff;
    line-height: 1;
}
.bidding-ai-loading-title {
    margin-top: 12px;
    font-size: 17px;
    font-weight: 600;
    color: #2d3748;
}
.bidding-ai-loading-desc {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.7;
    color: #6b7280;
}
.bidding-ai-loading-progress {
    margin-top: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #eef4ff;
    color: #1d4ed8;
    font-size: 13px;
}
.bidding-ai-loading-dot {
    display: inline-flex;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3b82f6;
    animation: biddingLoadingPulse 1.2s infinite ease-in-out;
}
@keyframes biddingLoadingPulse {
    0%, 100% { opacity: .3; transform: scale(.85); }
    50% { opacity: 1; transform: scale(1); }
}
.bidding-ai-loading-card.bidding-ai-loading-error {
    border-color: #ffd6d6;
    background: #fff6f6;
}
.bidding-ai-loading-card.bidding-ai-loading-error .bidding-ai-loading-icon {
    color: #ff4d4f;
}
.bidding-ai-loading-card.bidding-ai-loading-error .bidding-ai-loading-title {
    color: #cf1322;
}
.bidding-detail-panel .bidding-loading-wrap {
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
}