/* ============================================================
 * 展会模块 - PC 端样式
 * 依赖：pc-common.css
 * ============================================================ */

.ex-page{
    width:100%;
    max-width:var(--pc-width);
    margin:0 auto;
    padding:var(--pc-gap) 20px 40px;
    font-size:14px;
    color:var(--pc-text);
    box-sizing:border-box;
}

/* ========== 面包屑 ========== */
.ex-crumb{
    padding:12px 0;
    font-size:13px;
    color:var(--pc-text-light);
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}
.ex-crumb a{
    color:var(--pc-text-sub);
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.ex-crumb a:hover{color:var(--pc-primary)}
.ex-crumb i.fa-chevron-right{font-size:10px;color:var(--pc-text-dis)}

/* ========== 分类 tab ========== */
.ex-filter{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    padding:0 24px;
    margin-bottom:var(--pc-gap);
    display:flex;
    gap:0;
}
.ex-tab{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:16px 20px;
    font-size:14px;
    color:var(--pc-text-sub);
    text-decoration:none;
    position:relative;
    transition:color .15s;
}
.ex-tab:hover{color:var(--pc-primary)}
.ex-tab.on{
    color:var(--pc-primary);
    font-weight:600;
}
.ex-tab.on::after{
    content:'';
    position:absolute;
    left:20px;
    right:20px;
    bottom:0;
    height:2px;
    background:var(--pc-primary);
    border-radius:2px 2px 0 0;
}

/* ========== 首屏 hero ========== */
.ex-hero{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    overflow:hidden;
    margin-bottom:var(--pc-gap);
    display:flex;
    gap:0;
}

/* 左侧图集 */
.ex-hero-gallery{
    flex:0 0 700px;
    width:700px;
    height:460px;
    position:relative;
    overflow:hidden;
    background:var(--pc-bg);
}
.ex-hero-track{
    display:flex;
    width:100%;
    height:100%;
    transition:transform .45s ease-out;
    will-change:transform;
}
.ex-hero-slide{
    flex:0 0 100%;
    width:100%;
    height:100%;
    position:relative;
}
.ex-hero-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* 箭头 */
.ex-hero-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:40px;
    height:64px;
    background:rgba(0,0,0,.35);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    cursor:pointer;
    opacity:0;
    transition:all .2s;
    z-index:3;
}
.ex-hero-arrow:hover{background:rgba(0,0,0,.6)}
.ex-hero-prev{left:0;border-radius:0 var(--pc-radius-sm) var(--pc-radius-sm) 0}
.ex-hero-next{right:0;border-radius:var(--pc-radius-sm) 0 0 var(--pc-radius-sm)}
.ex-hero-gallery:hover .ex-hero-arrow{opacity:1}

/* 圆点 */
.ex-hero-dots{
    position:absolute;
    left:50%;
    bottom:16px;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
    padding:6px 14px;
    background:rgba(0,0,0,.35);
    border-radius:var(--pc-radius-xl);
    z-index:2;
}
.ex-hero-dots i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:rgba(255,255,255,.55);
    cursor:pointer;
    transition:all .25s;
}
.ex-hero-dots i.on{
    width:22px;
    border-radius:4px;
    background:#fff;
}

/* 右侧信息卡 */
.ex-hero-info{
    flex:1;
    min-width:0;
    padding:36px 40px;
    display:flex;
    align-items:center;
    position:relative;
}
.ex-hero-info-item{
    display:none;
    width:100%;
}
.ex-hero-info-item.on{display:block}

.ex-hero-title{
    margin:0 0 24px;
    font-size:22px;
    line-height:1.4;
    font-weight:600;
    color:var(--pc-text);
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:calc(22px * 1.4 * 2);
}

.ex-hero-meta{
    margin-bottom:28px;
}
.ex-hero-meta-row{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:10px 0;
    font-size:14px;
    line-height:1.6;
    border-bottom:1px dashed var(--pc-border);
}
.ex-hero-meta-row:last-child{border-bottom:none}

.ex-hero-meta-icon{
    flex:0 0 20px;
    color:var(--pc-primary);
    font-size:15px;
    padding-top:1px;
    text-align:center;
}
.ex-hero-meta-label{
    flex:0 0 42px;
    color:var(--pc-text-light);
    font-size:13px;
}
.ex-hero-meta-value{
    flex:1;
    min-width:0;
    color:var(--pc-text);
    word-break:break-all;
}

.ex-hero-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    height:44px;
    padding:0 26px;
    background:var(--pc-primary);
    color:#fff !important;
    border-radius:var(--pc-radius-sm);
    font-size:14px;
    font-weight:500;
    text-decoration:none;
    box-shadow:0 4px 12px rgba(71,153,54,.25);
    transition:all .2s;
}
.ex-hero-btn:hover{
    background:var(--pc-primary-dark);
    box-shadow:0 6px 16px rgba(71,153,54,.35);
    transform:translateY(-1px);
}
.ex-hero-btn i{
    font-size:12px;
    transition:transform .2s;
}
.ex-hero-btn:hover i{transform:translateX(3px)}

/* ========== 主体两栏 ========== */
.ex-main{
    display:flex;
    gap:var(--pc-gap);
    align-items:flex-start;
}

/* 左侧：推荐展会 */
.ex-left{
    flex:0 0 360px;
    width:360px;
}
.ex-left-head{
    display:flex;
    align-items:center;
    gap:8px;
    background:var(--pc-card);
    padding:16px 20px;
    border-radius:var(--pc-radius) var(--pc-radius) 0 0;
    border-bottom:1px solid var(--pc-border);
    font-size:15px;
    font-weight:600;
    color:var(--pc-text);
    position:relative;
}
.ex-left-head::before{
    content:'';
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:3px;
    height:16px;
    background:var(--pc-primary);
    border-radius:0 2px 2px 0;
}
.ex-left-head i{color:var(--pc-primary);font-size:14px}

.ex-rec-list{
    background:var(--pc-card);
    border-radius:0 0 var(--pc-radius) var(--pc-radius);
    padding:14px;
    box-shadow:var(--pc-shadow-sm);
    display:flex;
    flex-direction:column;
    gap:14px;
}
.ex-rec-item{
    display:block;
    border-radius:var(--pc-radius-sm);
    overflow:hidden;
    text-decoration:none;
    color:inherit;
    background:var(--pc-bg);
    transition:all .2s;
}
.ex-rec-item:hover{
    transform:translateY(-2px);
    box-shadow:var(--pc-shadow);
}
.ex-rec-thumb{
    width:100%;
    aspect-ratio:4 / 3;
    position:relative;
    overflow:hidden;
    background:var(--pc-bg);
}
.ex-rec-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .4s;
}
.ex-rec-item:hover .ex-rec-thumb img{transform:scale(1.05)}
.ex-rec-body{
    padding:12px 14px;
    background:var(--pc-card);
}
.ex-rec-title{
    font-size:14px;
    line-height:1.4;
    font-weight:600;
    color:var(--pc-text);
    margin-bottom:8px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:calc(14px * 1.4 * 2);
    transition:color .15s;
}
.ex-rec-item:hover .ex-rec-title{color:var(--pc-primary)}
.ex-rec-meta{
    display:flex;
    align-items:center;
    gap:14px;
    font-size:12px;
    color:var(--pc-text-light);
    flex-wrap:wrap;
}
.ex-rec-meta span{
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.ex-rec-meta i{color:var(--pc-text-dis);font-size:11px}

/* 右侧：最新展会列表 */
.ex-right{
    flex:1;
    min-width:0;
}
.ex-right-head{
    display:flex;
    align-items:center;
    gap:8px;
    background:var(--pc-card);
    padding:16px 24px;
    border-radius:var(--pc-radius) var(--pc-radius) 0 0;
    border-bottom:1px solid var(--pc-border);
    font-size:15px;
    font-weight:600;
    color:var(--pc-text);
    position:relative;
}
.ex-right-head::before{
    content:'';
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:3px;
    height:16px;
    background:var(--pc-primary);
    border-radius:0 2px 2px 0;
}
.ex-right-head i{color:var(--pc-primary);font-size:14px}
.ex-right-head-extra{
    margin-left:auto;
    font-size:12px;
    font-weight:400;
    color:var(--pc-text-light);
}
.ex-right-head-extra b{
    color:var(--pc-primary);
    font-weight:600;
    margin:0 2px;
}

.ex-list{
    background:var(--pc-card);
    border-radius:0 0 var(--pc-radius) var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    overflow:hidden;
    min-height:400px;
}

/* 列表项 */
.ex-item{
    display:flex;
    align-items:center;
    gap:16px;
    padding:16px 20px;
    border-bottom:1px solid var(--pc-border);
    text-decoration:none;
    color:inherit;
    transition:background .15s;
}
.ex-item:last-child{border-bottom:none}
.ex-item:hover{background:var(--pc-primary-bg-light)}

.ex-item-thumb{
    flex:0 0 140px;
    width:140px;
    height:105px;
    border-radius:var(--pc-radius-sm);
    overflow:hidden;
    background:var(--pc-bg);
    position:relative;
}
.ex-item-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .3s;
}
.ex-item:hover .ex-item-thumb img{transform:scale(1.05)}

.ex-item-body{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:10px;
    height:105px;
}

.ex-item-title{
    margin:0;
    font-size:18px;
    line-height:1.4;
    font-weight:600;
    color:var(--pc-text);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    transition:color .15s;
}
.ex-item:hover .ex-item-title{color:var(--pc-primary)}

.ex-item-meta{
    display:flex;
    align-items:center;
    gap:14px;
    font-size:13px;
    color:var(--pc-text-light);
    flex-wrap:wrap;
}
.ex-item-meta-item{
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.ex-item-meta-item i{
    color:var(--pc-text-dis);
    font-size:12px;
}
.ex-item-meta-sponsor{
    max-width:200px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    display:inline-block;
}

.ex-item-status{
    flex:0 0 100px;
    display:flex;
    justify-content:center;
    align-items:center;
    align-self:stretch;
    border-left:1px dashed var(--pc-border);
}

/* 状态徽章放大版（列表右侧用） */
.ex-item-status .ex-badge{
    padding:6px 14px;
    font-size:12px;
    font-weight:500;
    border-radius:var(--pc-radius-sm);
    position:relative;
}
.ex-item-status .ex-badge::before{
    content:'';
    display:inline-block;
    width:6px;
    height:6px;
    border-radius:50%;
    margin-right:6px;
    vertical-align:1px;
}
.ex-item-status .ex-badge-blue{
    background:rgba(52,152,219,.1);
    color:#2980b9;
    border:1px solid rgba(52,152,219,.25);
}
.ex-item-status .ex-badge-blue::before{background:#2980b9}

.ex-item-status .ex-badge-green{
    background:rgba(39,174,96,.1);
    color:#1e8449;
    border:1px solid rgba(39,174,96,.25);
}
.ex-item-status .ex-badge-green::before{
    background:#1e8449;
    box-shadow:0 0 0 3px rgba(39,174,96,.2);
}

.ex-item-status .ex-badge-gray{
    background:rgba(153,153,153,.1);
    color:#888;
    border:1px solid rgba(153,153,153,.2);
}
.ex-item-status .ex-badge-gray::before{background:#999}

/* ========== 状态徽章 ========== */
.ex-badge{
    display:inline-flex;
    align-items:center;
    padding:2px 8px;
    border-radius:var(--pc-radius-xl);
    font-size:11px;
    font-weight:500;
    line-height:1.6;
    white-space:nowrap;
    flex-shrink:0;
}
.ex-badge-blue{
    background:rgba(52,152,219,.12);
    color:#2980b9;
}
.ex-badge-green{
    background:rgba(39,174,96,.12);
    color:#1e8449;
}
.ex-badge-gray{
    background:rgba(153,153,153,.15);
    color:#777;
}

/* 推荐卡上的徽章位置 */
.ex-rec-thumb .ex-badge{
    position:absolute;
    top:10px;
    left:10px;
    z-index:2;
    background:rgba(0,0,0,.55);
    color:#fff;
    backdrop-filter:blur(4px);
}
.ex-rec-thumb .ex-badge-blue{background:rgba(52,152,219,.85)}
.ex-rec-thumb .ex-badge-green{background:rgba(39,174,96,.85)}
.ex-rec-thumb .ex-badge-gray{background:rgba(0,0,0,.55)}

/* ========== 分页 ========== */
.ex-pages{
    text-align:center;
    padding:24px 0;
    background:var(--pc-card);
}
.ex-pages a,
.ex-pages span{
    display:inline-block;
    min-width:36px;
    height:36px;
    line-height:34px;
    padding:0 12px;
    margin:0 4px;
    border-radius:var(--pc-radius-sm);
    background:var(--pc-card);
    border:1px solid var(--pc-border);
    color:var(--pc-text-sub);
    font-size:13px;
    text-decoration:none;
    transition:all .15s;
}
.ex-pages a:hover{
    border-color:var(--pc-primary);
    color:var(--pc-primary);
}
.ex-pages .on,
.ex-pages .current{
    background:var(--pc-primary);
    border-color:var(--pc-primary);
    color:#fff;
}

/* ========== 响应式（可选） ========== */
@media (max-width:1360px){
    .ex-page{width:1200px}
    .ex-hero-gallery{flex:0 0 600px;width:600px;height:400px}
}

/* 补充：地址字段超长截断 */
.ex-item-meta-addr{
    max-width:220px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    display:inline-block;
}

/* 补充：主办方字段超长截断 */
.ex-item-meta-sponsor{
    max-width:220px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    display:inline-block;
}

/* ============================================================
 * 列表页 - 筛选区
 * ============================================================ */

.ex-filter-panel{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    margin-bottom:var(--pc-gap);
    padding:6px 0;
}

.ex-filter-row{
    display:flex;
    padding:12px 24px;
    border-bottom:1px dashed var(--pc-border);
    align-items:flex-start;
}
.ex-filter-row:last-child{border-bottom:none}

.ex-filter-label{
    flex:0 0 72px;
    color:var(--pc-text-light);
    font-size:13px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding-top:6px;
    line-height:1.4;
}
.ex-filter-label i{
    color:var(--pc-primary);
    font-size:12px;
}

.ex-filter-values{
    flex:1;
    min-width:0;
    display:flex;
    flex-wrap:wrap;
    gap:6px 4px;
    line-height:1.8;
}
.ex-filter-values a{
    display:inline-block;
    padding:4px 12px;
    border-radius:var(--pc-radius-sm);
    color:var(--pc-text-sub);
    font-size:13px;
    text-decoration:none;
    transition:all .15s;
    line-height:1.5;
    white-space:nowrap;
}
.ex-filter-values a:hover{
    color:var(--pc-primary);
    background:var(--pc-primary-bg-light);
}
.ex-filter-values a.on{
    background:var(--pc-primary);
    color:#fff;
}
.ex-filter-values a em{
    font-style:normal;
    color:var(--pc-text-dis);
    font-size:12px;
    margin-left:2px;
}
.ex-filter-values a.on em{
    color:rgba(255,255,255,.7);
}

/* 月份横向排列 */
.ex-filter-months a{
    min-width:52px;
    text-align:center;
}

/* ============================================================
 * 列表页 - 右侧栏
 * ============================================================ */

.ex-left-list{
    flex:1;
    min-width:0;
}

.ex-side{
    flex:0 0 300px;
    width:300px;
}

.ex-side-card{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    margin-bottom:var(--pc-gap);
    overflow:hidden;
}
.ex-side-head{
    display:flex;
    align-items:center;
    gap:8px;
    padding:14px 20px;
    font-size:14px;
    font-weight:600;
    color:var(--pc-text);
    border-bottom:1px solid var(--pc-border);
    position:relative;
    padding-left:24px;
}
.ex-side-head::before{
    content:'';
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    width:3px;
    height:14px;
    background:var(--pc-primary);
    border-radius:2px;
}
.ex-side-head i{color:var(--pc-primary);font-size:13px}
.ex-side-body{padding:12px 16px}

/* 右侧广告图 */
.ex-side-body img{
    max-width:100%;
    height:auto;
    display:block;
    border-radius:var(--pc-radius-sm);
}

/* 搜索排行 */
.ex-side-body .list-rank li,
.ex-side-body li{
    list-style:none;
    padding:8px 4px;
    border-bottom:1px dashed var(--pc-border);
    font-size:13px;
    line-height:1.6;
    display:flex;
    align-items:center;
    gap:8px;
}
.ex-side-body .list-rank li:last-child,
.ex-side-body li:last-child{
    border-bottom:none;
}
.ex-side-body li a{
    color:var(--pc-text-sub);
    text-decoration:none;
    flex:1;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    transition:color .15s;
}
.ex-side-body li a:hover{color:var(--pc-primary)}

/* 如果搜索排行输出纯 <a> 的兜底 */
.ex-side-body .list-rank > a{
    display:block;
    padding:8px 4px;
    border-bottom:1px dashed var(--pc-border);
    color:var(--pc-text-sub);
    text-decoration:none;
    font-size:13px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    transition:color .15s;
}
.ex-side-body .list-rank > a:hover{color:var(--pc-primary)}
.ex-side-body .list-rank > a:last-child{border-bottom:none}

/* ============================================================
 * 列表页 - 分页（覆盖进列表容器）
 * ============================================================ */

.ex-left-list .ex-list{
    min-height:400px;
}

/* ============================================================
 * 搜索页
 * ============================================================ */

/* ========== 搜索表单卡片 ========== */
.ex-search-form{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    padding:24px;
    margin-bottom:var(--pc-gap);
}

/* 关键词行 */
.ex-search-kw{
    display:flex;
    align-items:stretch;
    background:var(--pc-card);
    border:2px solid var(--pc-primary);
    border-radius:var(--pc-radius-sm);
    overflow:hidden;
    margin-bottom:16px;
    transition:box-shadow .15s;
}
.ex-search-kw:focus-within{
    box-shadow:0 0 0 4px var(--pc-primary-bg);
}
.ex-search-kw-icon{
    align-self:center;      /* ← 关键：不拉伸，在父容器中线 */
    padding:0 16px;
    color:var(--pc-primary);
    font-size:16px;
    flex-shrink:0;
    line-height:1;
}
.ex-search-kw-input{
    flex:1;
    min-width:0;
    border:none;
    outline:none;
    padding:14px 0;
    font-size:15px;
    color:var(--pc-text);
    background:transparent;
    font-family:inherit;
}
.ex-search-kw-input::placeholder{
    color:var(--pc-text-dis);
}
.ex-search-kw-btn{
    flex-shrink:0;
    align-self:stretch;
    padding:0 36px;
    background:var(--pc-primary);
    color:#fff;
    border:none;
    font-size:15px;
    font-weight:500;
    cursor:pointer;
    font-family:inherit;
    transition:background .15s;
}
.ex-search-kw-btn:hover{
    background:var(--pc-primary-dark);
}

/* 搜索范围 */
.ex-search-field{
    display:flex;
    align-items:center;
    gap:16px;
    padding:10px 0 16px;
    border-bottom:1px dashed var(--pc-border);
    margin-bottom:8px;
    flex-wrap:wrap;
}
.ex-search-field-label{
    font-size:13px;
    color:var(--pc-text-light);
}
.ex-search-field-items{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}
.ex-search-radio{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    color:var(--pc-text-sub);
    cursor:pointer;
    user-select:none;
}
.ex-search-radio input[type=radio]{
    width:15px;
    height:15px;
    accent-color:var(--pc-primary);
    cursor:pointer;
}
.ex-search-radio:hover span{
    color:var(--pc-primary);
}

/* 高级筛选 */
.ex-search-advanced{
    margin-top:8px;
}
.ex-search-row{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:14px 0;
    border-bottom:1px dashed var(--pc-border);
}
.ex-search-row:last-child{
    border-bottom:none;
}
.ex-search-row-label{
    flex:0 0 80px;
    padding-top:8px;
    font-size:13px;
    color:var(--pc-text-light);
    display:inline-flex;
    align-items:center;
    gap:6px;
    line-height:1.4;
}
.ex-search-row-label i{
    color:var(--pc-primary);
    font-size:12px;
}
.ex-search-row-body{
    flex:1;
    min-width:0;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}
.ex-search-row-body select,
.ex-search-select{
    height:40px;
    padding:0 14px;
    border:1px solid var(--pc-border-input);
    border-radius:var(--pc-radius-sm);
    background:var(--pc-card);
    font-size:14px;
    color:var(--pc-text);
    outline:none;
    cursor:pointer;
    font-family:inherit;
    min-width:160px;
    transition:border-color .15s;
}
.ex-search-row-body select:hover,
.ex-search-row-body select:focus,
.ex-search-select:hover,
.ex-search-select:focus{
    border-color:var(--pc-primary);
}

/* 日期范围 */
.ex-search-date{
    gap:12px;
}
.ex-search-date-sep{
    color:var(--pc-text-light);
    font-size:13px;
}
.ex-search-date input{
    height:40px;
    padding:0 14px;
    border:1px solid var(--pc-border-input);
    border-radius:var(--pc-radius-sm);
    background:var(--pc-card);
    font-size:14px;
    color:var(--pc-text);
    outline:none;
    font-family:inherit;
    min-width:160px;
    transition:border-color .15s;
}
.ex-search-date input:focus{
    border-color:var(--pc-primary);
}
.ex-search-date img{
    vertical-align:middle;
    cursor:pointer;
    margin-left:4px;
}

/* 提交按钮区 */
.ex-search-actions{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    padding-top:20px;
    border-top:1px dashed var(--pc-border);
    margin-top:8px;
}
.ex-search-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    height:46px;
    padding:0 40px;
    border-radius:var(--pc-radius-sm);
    font-size:15px;
    font-weight:600;
    text-decoration:none;
    border:none;
    cursor:pointer;
    font-family:inherit;
    transition:all .15s;
}
.ex-search-btn-primary{
    background:var(--pc-primary);
    color:#fff;
    box-shadow:0 4px 12px rgba(71,153,54,.25);
}
.ex-search-btn-primary:hover{
    background:var(--pc-primary-dark);
    box-shadow:0 6px 16px rgba(71,153,54,.35);
    transform:translateY(-1px);
}
.ex-search-btn-outline{
    background:var(--pc-card);
    border:1px solid var(--pc-border-input);
    color:var(--pc-text-sub);
}
.ex-search-btn-outline:hover{
    border-color:var(--pc-primary);
    color:var(--pc-primary);
}

/* ========== 搜索结果头部 ========== */
.ex-right-head .ex-kw{
    color:var(--pc-primary);
    font-style:normal;
    font-weight:600;
    margin:0 2px;
}

/* ========== 空状态 ========== */
.ex-empty{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    padding:80px 24px;
    text-align:center;
}
.ex-empty > i{
    display:block;
    font-size:56px;
    color:var(--pc-text-dis);
    margin-bottom:20px;
    opacity:.6;
}
.ex-empty-title{
    font-size:16px;
    color:var(--pc-text-sub);
    margin-bottom:10px;
}
.ex-empty-tip{
    font-size:13px;
    color:var(--pc-text-light);
    margin-bottom:24px;
}
.ex-empty-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    height:40px;
    padding:0 24px;
    background:var(--pc-primary);
    color:#fff !important;
    border-radius:var(--pc-radius-sm);
    font-size:14px;
    text-decoration:none;
    transition:all .15s;
}
.ex-empty-btn:hover{
    background:var(--pc-primary-dark);
    transform:translateY(-1px);
}

/* ========== 相关搜索 ========== */
.ex-related-list{
    list-style:none;
    padding:0;
    margin:0;
}
.ex-related-list li{
    padding:8px 4px;
    border-bottom:1px dashed var(--pc-border);
    font-size:13px;
    line-height:1.6;
}
.ex-related-list li:last-child{
    border-bottom:none;
}
.ex-related-list li a{
    color:var(--pc-text-sub);
    text-decoration:none;
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    transition:color .15s;
}
.ex-related-list li a em{
    color:var(--pc-primary);
    font-style:normal;
    font-weight:500;
}
.ex-related-list li a:hover{
    color:var(--pc-primary);
}

/* ============================================================
 * 展会详情页
 * ============================================================ */

.es-page{
    width:var(--pc-width);
    margin:0 auto;
    padding:var(--pc-gap) 0 40px;
    font-size:14px;
    color:var(--pc-text);
}

/* ========== 面包屑 ========== */
.es-crumb{
    padding:12px 0;
    font-size:13px;
    color:var(--pc-text-light);
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}
.es-crumb a{
    color:var(--pc-text-sub);
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.es-crumb a:hover{color:var(--pc-primary)}
.es-crumb i.fa-chevron-right{font-size:10px;color:var(--pc-text-dis)}

/* ========== 标题卡片 ========== */
.es-header{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    padding:26px 28px;
    margin-bottom:var(--pc-gap);
}
.es-title{
    margin:0 0 16px;
    font-size:24px;
    line-height:1.4;
    font-weight:600;
    color:var(--pc-text);
}
.es-meta{
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
    font-size:13px;
    color:var(--pc-text-light);
}
.es-meta-item{
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.es-meta-item i{color:var(--pc-text-dis);font-size:12px}
.es-meta-status .ex-badge{
    padding:3px 10px;
    font-size:12px;
}
.es-meta-share{
    margin-left:auto;
}
.es-meta-share a{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 14px;
    border:1px solid var(--pc-border);
    border-radius:var(--pc-radius-sm);
    color:var(--pc-text-sub);
    text-decoration:none;
    font-size:13px;
    transition:all .15s;
}
.es-meta-share a:hover{
    border-color:var(--pc-primary);
    color:var(--pc-primary);
}

/* ========== 主区布局 ========== */
.es-main{
    display:flex;
    gap:var(--pc-gap);
    align-items:flex-start;
}
.es-left{
    flex:1;
    min-width:0;
}
.es-side{
    flex:0 0 300px;
    width:300px;
}

/* ========== 通用卡片 ========== */
.es-card{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    margin-bottom:var(--pc-gap);
    overflow:hidden;
}
.es-card-head{
    display:flex;
    align-items:center;
    gap:8px;
    padding:16px 28px;
    font-size:15px;
    font-weight:600;
    color:var(--pc-text);
    border-bottom:1px solid var(--pc-border);
    position:relative;
    padding-left:38px;
    background:var(--pc-primary-bg-light);
}
.es-card-head::before{
    content:'';
    position:absolute;
    left:28px;
    top:50%;
    transform:translateY(-50%);
    width:3px;
    height:16px;
    background:var(--pc-primary);
    border-radius:2px;
}
.es-card-head i{color:var(--pc-primary);font-size:14px}
.es-card-body{padding:8px 28px 20px}

/* ========== 展会信息列表 ========== */
.es-info-list{
    display:flex;
    flex-direction:column;
}
.es-info-item{
    display:flex;
    align-items:flex-start;
    padding:14px 0;
    border-bottom:1px dashed var(--pc-border);
    line-height:1.7;
    font-size:14px;
}
.es-info-item:last-child{border-bottom:none}

.es-info-label{
    flex:0 0 130px;
    color:var(--pc-text-light);
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    padding-top:2px;
}
.es-info-label i{
    color:var(--pc-primary);
    font-size:13px;
    width:14px;
    text-align:center;
    flex-shrink:0;
}
.es-info-value{
    flex:1;
    min-width:0;
    color:var(--pc-text);
    word-break:break-all;
}
.es-info-value a{
    color:var(--pc-primary);
    text-decoration:none;
    transition:opacity .15s;
}
.es-info-value a:hover{opacity:.8;text-decoration:underline}

/* 在线报名按钮 */
.es-action{
    padding-top:18px;
    border-top:1px dashed var(--pc-border);
    margin-top:8px;
    text-align:center;
}
.es-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    height:44px;
    padding:0 36px;
    border-radius:var(--pc-radius-sm);
    font-size:14px;
    font-weight:500;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:all .15s;
}
.es-btn-primary{
    background:var(--pc-primary);
    color:#fff;
    box-shadow:0 4px 12px rgba(71,153,54,.25);
}
.es-btn-primary:hover{
    background:var(--pc-primary-dark);
    box-shadow:0 6px 16px rgba(71,153,54,.35);
    transform:translateY(-1px);
}

/* ========== 展会说明（内容区） ========== */
.es-content{
    font-size:14px;
    line-height:1.8;
    color:var(--pc-text);
    word-break:break-all;
}
.es-content img{
    max-width:100% !important;
    height:auto !important;
    display:block;
    margin:12px 0;
    border-radius:var(--pc-radius-sm);
}
.es-content p{margin:0 0 12px}
.es-content h1,
.es-content h2,
.es-content h3{
    margin:16px 0 10px;
    line-height:1.4;
}
.es-content table{
    max-width:100%;
    border-collapse:collapse;
    margin:12px 0;
}
.es-content table td,
.es-content table th{
    border:1px solid var(--pc-border);
    padding:8px 12px;
}

/* ========== 备注 ========== */
.es-remark{
    font-size:14px;
    line-height:1.8;
    color:var(--pc-text-sub);
    white-space:pre-line;
    padding:8px 0;
}

/* ========== 打赏 ========== */
.es-award{
    text-align:center;
    padding:20px 0;
    margin-bottom:var(--pc-gap);
}
.es-award a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 28px;
    background:var(--pc-primary-bg);
    color:var(--pc-primary);
    border-radius:var(--pc-radius-xl);
    font-size:14px;
    text-decoration:none;
    transition:all .15s;
}
.es-award a:hover{
    background:var(--pc-primary);
    color:#fff;
    transform:translateY(-1px);
}

/* ========== 评论区 ========== */
.es-comment{
    padding:24px 28px;
}

/* ========== 右侧栏 ========== */
.es-side-card{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    margin-bottom:var(--pc-gap);
    overflow:hidden;
}
.es-side-head{
    display:flex;
    align-items:center;
    gap:8px;
    padding:14px 20px;
    font-size:14px;
    font-weight:600;
    color:var(--pc-text);
    border-bottom:1px solid var(--pc-border);
    position:relative;
    padding-left:24px;
}
.es-side-head::before{
    content:'';
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    width:3px;
    height:14px;
    background:var(--pc-primary);
    border-radius:2px;
}
.es-side-head i{color:var(--pc-primary);font-size:13px}
.es-side-body{padding:8px 16px 12px}

/* 侧栏列表项（兼容 li 包裹和纯 a） */
.es-side-body li{
    list-style:none;
    padding:9px 0;
    border-bottom:1px dashed var(--pc-border);
    font-size:13px;
    line-height:1.6;
    display:flex;
    align-items:center;
    gap:8px;
    overflow:hidden;
}
.es-side-body li:last-child{border-bottom:none}

.es-side-body li a,
.es-side-body > a{
    display:block;
    padding:9px 0;
    color:var(--pc-text-sub);
    text-decoration:none;
    font-size:13px;
    line-height:1.6;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    transition:color .15s;
    border-bottom:1px dashed var(--pc-border);
}
.es-side-body li a{
    border-bottom:none;
    padding:0;
    flex:1;
    min-width:0;
}
.es-side-body li a:hover,
.es-side-body > a:hover{color:var(--pc-primary)}
.es-side-body > a:last-child{border-bottom:none}

/* 搜索排行前三名突出 */
.es-side-body .list-rank li:nth-child(1) a,
.es-side-body .list-rank li:nth-child(2) a,
.es-side-body .list-rank li:nth-child(3) a{
    color:var(--pc-text);
    font-weight:500;
}


/* ============================================================
 * 在线报名页
 * ============================================================ */

.esg-page{
    width:1300px;
    margin:0 auto;
    padding:var(--pc-gap) 0 60px;
    font-size:14px;
    color:var(--pc-text);
}

/* ========== 面包屑 ========== */
.esg-crumb{
    padding:12px 0;
    font-size:13px;
    color:var(--pc-text-light);
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}
.esg-crumb a{
    color:var(--pc-text-sub);
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.esg-crumb a:hover{color:var(--pc-primary)}
.esg-crumb i.fa-chevron-right{font-size:10px;color:var(--pc-text-dis)}

/* ========== 卡片 ========== */
.esg-card{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    margin-bottom:var(--pc-gap);
    overflow:hidden;
}
.esg-card-head{
    display:flex;
    align-items:center;
    gap:8px;
    padding:16px 28px;
    font-size:15px;
    font-weight:600;
    color:var(--pc-text);
    border-bottom:1px solid var(--pc-border);
    position:relative;
    padding-left:38px;
    background:var(--pc-primary-bg-light);
}
.esg-card-head::before{
    content:'';
    position:absolute;
    left:28px;
    top:50%;
    transform:translateY(-50%);
    width:3px;
    height:16px;
    background:var(--pc-primary);
    border-radius:2px;
}
.esg-card-head i{color:var(--pc-primary);font-size:14px}
.esg-card-body{padding:8px 28px 20px}

/* ========== 展会信息 ========== */
.esg-event{
    padding:16px 0;
}
.esg-event-title{
    font-size:16px;
    font-weight:600;
    color:var(--pc-text);
    line-height:1.5;
    margin-bottom:10px;
}
.esg-event-meta{
    display:flex;
    align-items:center;
    gap:20px;
    font-size:13px;
    color:var(--pc-text-light);
    flex-wrap:wrap;
}
.esg-event-meta span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.esg-event-meta i{color:var(--pc-primary);font-size:12px}

/* ========== 表单字段 ========== */
.esg-field{
    display:flex;
    gap:20px;
    padding:16px 0;
    border-bottom:1px dashed var(--pc-border);
}
.esg-field:last-child{border-bottom:none}

.esg-label{
    flex:0 0 100px;
    padding-top:10px;
    font-size:14px;
    color:var(--pc-text-sub);
    line-height:1.6;
}
.esg-label em{
    color:var(--pc-danger);
    font-style:normal;
    margin-right:4px;
}
.esg-input-wrap{
    flex:1;
    min-width:0;
}

/* ========== 输入控件 ========== */
.esg-input,
.esg-textarea{
    width:100%;
    box-sizing:border-box;
    padding:10px 14px;
    border:1px solid var(--pc-border-input);
    border-radius:var(--pc-radius-sm);
    background:var(--pc-card);
    font-size:14px;
    color:var(--pc-text);
    font-family:inherit;
    outline:none;
    transition:border-color .15s, box-shadow .15s;
}
.esg-input:hover,
.esg-textarea:hover{
    border-color:var(--pc-text-light);
}
.esg-input:focus,
.esg-textarea:focus{
    border-color:var(--pc-primary);
    box-shadow:0 0 0 3px var(--pc-primary-bg);
}
.esg-input::placeholder,
.esg-textarea::placeholder{
    color:var(--pc-text-dis);
}
.esg-input-sm{max-width:220px}
.esg-textarea{
    min-height:140px;
    line-height:1.7;
    resize:vertical;
}

/* 地区选择器 */
.esg-area-select{
    margin-bottom:10px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.esg-area-select select{
    height:40px;
    padding:0 14px;
    border:1px solid var(--pc-border-input);
    border-radius:var(--pc-radius-sm);
    background:var(--pc-card);
    font-size:14px;
    color:var(--pc-text);
    outline:none;
    cursor:pointer;
    font-family:inherit;
    min-width:140px;
    transition:border-color .15s;
}
.esg-area-select select:hover,
.esg-area-select select:focus{
    border-color:var(--pc-primary);
}

/* 错误提示 */
.esg-error{
    display:block;
    margin-top:6px;
    font-size:12px;
    color:var(--pc-danger);
    min-height:0;
}
.esg-error:empty{display:none}

/* ========== 提交栏 ========== */
.esg-submit-bar{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    padding:28px;
    text-align:center;
}
.esg-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    height:46px;
    padding:0 44px;
    border-radius:var(--pc-radius-sm);
    font-size:15px;
    font-weight:600;
    border:none;
    cursor:pointer;
    font-family:inherit;
    transition:all .15s;
}
.esg-btn-primary{
    background:var(--pc-primary);
    color:#fff;
    box-shadow:0 4px 12px rgba(71,153,54,.25);
}
.esg-btn-primary:hover{
    background:var(--pc-primary-dark);
    box-shadow:0 6px 16px rgba(71,153,54,.35);
    transform:translateY(-1px);
}
.esg-btn-primary:active{
    transform:translateY(0);
    box-shadow:0 2px 6px rgba(71,153,54,.3);
}