/* =========================================================
   dbsports V3.0 · portal.css — 门户三件套
   首页 / 频道列表 / 文章页（搜狐新闻版式 · 橙色系）
   ========================================================= */

/* ---------- 门户首页：焦点区（轮播 + 头条） ---------- */
.v3-hero{display:flex;gap:20px;margin-bottom:20px;align-items:flex-start}
.v3-hero-main{width:600px;min-width:0;position:relative;font-size:0;line-height:0}
.v3-hero-slide{display:none;position:relative;height:340px;border-radius:var(--v3-radius);overflow:hidden;background:#22252a center/cover no-repeat}
.v3-hero-slide.is-active{display:block}
.v3-hero-slide::after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78))}
.v3-hero-cap{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;z-index:2}
.v3-hero-cap i{display:inline-block;font-size:12px;color:#fff;background:var(--v3-primary);border-radius:4px;padding:2px 8px;margin-bottom:8px}
.v3-hero-cap b{display:block;font-size:20px;line-height:1.4;color:#fff;font-weight:700}
.v3-hero-cap em{display:block;font-size:13px;color:rgba(255,255,255,.75);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-hero-dots{position:absolute;right:14px;bottom:14px;z-index:3;display:flex;gap:6px}
.v3-hero-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}
.v3-hero-dots i.is-active{background:#fff;width:18px;border-radius:4px}
.v3-hero-side{flex:1;min-width:0;display:flex;flex-direction:column}

/* ---------- 首页主栏分区头（搜狐式：左粗竖条 + 标题 + 右更多） ---------- */
.v3-sec{margin-bottom:20px}
.v3-sec-hd{display:flex;align-items:center;height:44px;border-bottom:2px solid var(--v3-primary);margin-bottom:4px}
.v3-sec-hd h2{font-size:19px;font-weight:800;padding-left:10px;border-left:4px solid var(--v3-primary);line-height:1.2}
.v3-sec-hd .v3-sec-more{margin-left:auto;font-size:13px;color:var(--v3-ink3)}
.v3-sec-hd .v3-sec-more:hover{color:var(--v3-primary)}

/* ---------- 频道区（双栏卡） ---------- */
.v3-chgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.v3-ch{border-bottom:1px solid var(--v3-line);padding:12px 0;min-width:0}
.v3-ch-hd{display:flex;align-items:center;margin-bottom:8px}
.v3-ch-hd h3{font-size:16px;font-weight:700}
.v3-ch-hd h3 a{color:var(--v3-ink)}
.v3-ch-hd h3 a:hover{color:var(--v3-primary)}
.v3-ch-hd .v3-ch-more{margin-left:auto;font-size:12px;color:var(--v3-ink3)}
.v3-ch-top{display:block;font-size:15px;font-weight:600;line-height:1.5;margin-bottom:6px;color:var(--v3-primary);overflow-wrap:break-word;word-break:break-all}
.v3-ch-top:hover{color:var(--v3-primary-dark)}
.v3-ch-list li{display:flex;height:30px;line-height:30px;font-size:14px}
.v3-ch-list li a{flex:1;min-width:0;color:var(--v3-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-ch-list li a:hover{color:var(--v3-primary)}
.v3-ch-list li em{flex-shrink:0;margin-left:10px;font-size:12px;color:var(--v3-ink3)}

/* ---------- 赛事报名横滑 ---------- */
.v3-strip{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:thin}
.v3-evcard{flex:0 0 260px;display:flex;gap:12px;background:var(--v3-card);border:1px solid var(--v3-line);border-radius:var(--v3-radius);padding:12px;transition:box-shadow .15s}
.v3-evcard:hover{box-shadow:var(--v3-shadow-hover)}
.v3-evlogo{width:56px;height:56px;border-radius:10px;background:linear-gradient(135deg,var(--v3-amber),var(--v3-primary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;flex-shrink:0;overflow:hidden}
.v3-evlogo img{width:100%;height:100%;object-fit:cover}
.v3-evbody{min-width:0;flex:1}
.v3-evname{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-evmeta{display:block;font-size:12px;color:var(--v3-ink3);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-evfoot{display:flex;gap:6px;margin-top:6px;align-items:center}
.v3-evgo{margin-left:auto;font-size:12px;color:var(--v3-primary);font-weight:600}

/* ---------- 相册卡 ---------- */
.v3-albgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.v3-albcard{display:block;min-width:0}
.v3-albcover{display:block;position:relative;height:110px;border-radius:8px;overflow:hidden;background:linear-gradient(120deg,var(--v3-amber),var(--v3-primary))}
.v3-albcover img{display:block;width:100%;height:100%;object-fit:cover}
.v3-albcover em{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;padding:0 8px;text-align:center}
.v3-albcover .v3-tag{position:absolute;left:6px;top:6px}
.v3-albname{display:block;font-size:13px;font-weight:600;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-albmeta{display:block;font-size:12px;color:var(--v3-ink3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- 侧栏组件 ---------- */
.v3-widget{background:var(--v3-card);border:1px solid var(--v3-line);border-radius:var(--v3-radius);margin-bottom:20px}
.v3-widget-hd{display:flex;align-items:center;height:44px;padding:0 16px;border-bottom:1px solid var(--v3-line)}
.v3-widget-hd h3{font-size:16px;font-weight:700;padding-left:10px;border-left:4px solid var(--v3-primary);line-height:1.2}
.v3-widget-hd .v3-widget-more{margin-left:auto;font-size:12px;color:var(--v3-ink3)}
.v3-widget-bd{padding:12px 16px}
.v3-rank li{display:flex;align-items:center;gap:10px;height:34px;font-size:14px}
.v3-rank .v3-rankno{flex-shrink:0}
.v3-rank li a{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--v3-ink2)}
.v3-rank li a:hover{color:var(--v3-primary)}
.v3-race li a{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed var(--v3-line)}
.v3-race li:last-child a{border-bottom:0}
.v3-race-date{flex-shrink:0;width:44px;height:44px;border-radius:8px;background:#fff2e8;color:var(--v3-primary-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1.1}
.v3-race-date em{font-size:10px;font-weight:400;margin-top:2px}
.v3-race-body{min-width:0;flex:1}
.v3-race-body b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-race-body i{display:block;font-size:12px;color:var(--v3-ink3);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-coach li a{display:flex;gap:10px;padding:9px 0;border-bottom:1px dashed var(--v3-line)}
.v3-coach li:last-child a{border-bottom:0}
.v3-coach-bd{min-width:0;flex:1}
.v3-coach-bd b{display:block;font-size:14px}
.v3-coach-bd b em{font-size:12px;color:var(--v3-primary);margin-left:6px}
.v3-coach-bd i{display:block;font-size:12px;color:var(--v3-ink3);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-coach-ft{display:flex;justify-content:space-between;font-size:12px;color:var(--v3-ink3);margin-top:4px}
.v3-coach-ft i{font-style:normal;color:var(--v3-primary);font-weight:600;border:1px solid var(--v3-primary);border-radius:999px;padding:1px 8px;white-space:nowrap}
.v3-coach-ft i::after{content:"92";margin-left:3px}

/* ---------- 广告位 ---------- */
.v3-ad-banner{margin:0 0 20px;background:var(--v3-card);border:1px dashed var(--v3-line);border-radius:var(--v3-radius);min-height:80px;display:flex;align-items:center;justify-content:center;color:var(--v3-ink3);font-size:13px;overflow:hidden}
.v3-ad-box{margin-bottom:16px;background:var(--v3-card);border:1px dashed var(--v3-line);border-radius:var(--v3-radius);min-height:110px;display:flex;align-items:center;justify-content:center;color:var(--v3-ink3);font-size:13px;overflow:hidden}
.v3-ad-banner:empty::before,.v3-ad-box:empty::before{content:"广告位"}
.v3-ad-banner>*:only-child,.v3-ad-box>*:only-child{margin:0}

/* ---------- 频道列表页 ---------- */
.v3-chhead{background:linear-gradient(120deg,var(--v3-primary),var(--v3-primary-dark));border-radius:var(--v3-radius);color:#fff;padding:22px 24px;margin-bottom:20px;display:flex;align-items:flex-end;justify-content:space-between}
.v3-chhead h2{font-size:24px;font-weight:800}
.v3-chhead p{font-size:13px;opacity:.85;margin-top:6px}
.v3-chhead-count{text-align:right;font-size:13px;opacity:.9;flex-shrink:0;margin-left:16px}
.v3-chhead-count b{display:block;font-size:26px;font-weight:800}
.v3-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.v3-chip{display:inline-block;height:30px;line-height:28px;padding:0 14px;border:1px solid var(--v3-line);border-radius:15px;font-size:13px;color:var(--v3-ink2);background:#fff}
.v3-chip:hover{border-color:var(--v3-primary);color:var(--v3-primary)}
.v3-chip.cur{background:var(--v3-primary);border-color:var(--v3-primary);color:#fff;font-weight:600}

/* ---------- 文章页 ---------- */
.v3-article{background:var(--v3-card);border:1px solid var(--v3-line);border-radius:var(--v3-radius);padding:28px 32px}
.v3-article h1{font-size:24px;line-height:1.4;font-weight:800;text-align:center}
.v3-art-meta{display:flex;justify-content:center;flex-wrap:nowrap;gap:18px;margin:14px 0 20px;font-size:13px;color:var(--v3-ink3);white-space:nowrap;overflow:hidden}
.v3-art-meta>span{flex-shrink:0;white-space:nowrap}
.v3-art-meta>span:first-child{min-width:0;max-width:40%;overflow:hidden;text-overflow:ellipsis}
.v3-art-body{font-size:17px;line-height:1.9;color:var(--v3-ink)}
.v3-art-body p{margin-bottom:1em}
.v3-art-body img{max-width:100%;height:auto;border-radius:6px}
.v3-art-pn{display:flex;flex-direction:column;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--v3-line);font-size:14px}
.v3-art-pn a{color:var(--v3-ink2)}
.v3-art-pn a:hover{color:var(--v3-primary)}
.v3-cmt{display:flex;gap:12px;padding:14px 0;border-bottom:1px dashed var(--v3-line)}
.v3-cmt-bd{flex:1;min-width:0}
.v3-cmt-bd b{font-size:14px}
.v3-cmt-bd span{font-size:12px;color:var(--v3-ink3);margin-left:8px}
.v3-cmt-bd p{font-size:14px;color:var(--v3-ink2);margin-top:4px}
.v3-cmt-box{margin-top:14px}
.v3-cmt-box textarea{width:100%;min-height:90px;border:1px solid var(--v3-line);border-radius:6px;padding:10px 12px;font-size:14px;resize:vertical}
.v3-cmt-box textarea:focus{outline:none;border-color:var(--v3-primary)}
.v3-cmt-box .v3-cmt-act{margin-top:10px;text-align:right}

/* ---------- 空态 ---------- */
.v3-empty{padding:32px 0;text-align:center;color:var(--v3-ink3);font-size:14px}

/* ---------- 手机端（≤768px） ---------- */
@media (max-width:768px){
	.v3-hero{display:block}
	.v3-hero-main{width:100%;margin-bottom:14px}
	.v3-hero-slide{height:200px}
	.v3-hero-cap b{font-size:16px}
	.v3-chgrid{grid-template-columns:1fr}
	.v3-albgrid{grid-template-columns:repeat(2,1fr)}
	.v3-evcard{flex-basis:220px}
	.v3-article{padding:18px 16px}
	.v3-article h1{font-size:20px}
	.v3-art-body{font-size:16px;line-height:1.8}
	.v3-chhead{padding:16px;flex-direction:column;align-items:stretch;gap:12px}
	.v3-chhead h2{font-size:20px}
	.v3-chhead p{font-size:13px;line-height:1.6}
	.v3-chhead-side{margin-left:0;justify-content:flex-start}
}

/* ---------- 发布文章入口 ---------- */
.v3-chhead-side{display:flex;align-items:center;gap:16px;flex-shrink:0;margin-left:16px}
.v3-chhead-post{background:#fff !important;color:var(--v3-primary-dark) !important;font-weight:700}
.v3-chhead-post:hover{background:var(--v3-line2) !important;color:var(--v3-primary-dark) !important}
.v3-sec-act{margin-left:auto;display:flex;align-items:center;gap:14px}
.v3-sec-act .v3-sec-more{margin-left:0}

/* ===== 自媒体矩阵页（独立模板页 selfmedia） ===== */
.v3-media-head{margin-bottom:24px}
.v3-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(0,1fr));gap:16px;margin-bottom:32px}
@media(min-width:960px){.v3-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.v3-media-card{background:#fff;border:1px solid var(--v3-line);border-radius:var(--v3-radius);padding:20px;display:flex;flex-direction:column;gap:8px}
.v3-media-card:hover{border-color:var(--v3-primary);box-shadow:var(--v3-shadow)}
.v3-media-type{align-self:flex-start;background:var(--v3-primary-bg);color:var(--v3-primary-dark);font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px}
.v3-media-card h3{font-size:17px;font-weight:800;margin-top:4px}
.v3-media-account{font-size:13px;color:var(--v3-text2)}
.v3-media-qr{width:120px;height:120px;object-fit:cover;border:1px solid var(--v3-line);border-radius:8px}
.v3-media-desc{font-size:12px;color:var(--v3-text3)}
.v3-media-link{margin-top:auto;align-self:flex-start}
.v3-media-friendlinks{background:#fff;border:1px solid var(--v3-line);border-radius:var(--v3-radius);padding:20px 24px}
.v3-media-friendlinks h2{font-size:16px;font-weight:800;margin-bottom:12px;padding-left:10px;border-left:4px solid var(--v3-primary)}
.v3-media-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.v3-media-links a{font-size:13px;color:var(--v3-text2)}
.v3-media-links a:hover{color:var(--v3-primary-dark)}

/* ===== 导航与焦点区之间留白（站主 11-01：区域间隔） ===== */
.v3-hero{margin-top:16px}

/* ---------- 文章页·搜狐式三栏（站主 11-01 13:12 指令） ---------- */
.v3-art-layout{display:flex;gap:20px;align-items:flex-start}
.v3-art-rail{width:110px;min-width:0;flex-shrink:0;position:sticky;top:76px}
.v3-art-layout .v3-article-col{flex:1;min-width:0}
.v3-art-layout .v3-side{flex-shrink:0}
/* 作者卡 */
.v3-author-card{background:var(--v3-card);border:1px solid var(--v3-line);border-radius:var(--v3-radius);padding:18px 10px 14px;text-align:center;margin-bottom:14px}
.v3-author-ava{display:block;width:64px;height:64px;margin:0 auto 8px;border-radius:50%;overflow:hidden}
.v3-author-ava img{width:64px;height:64px;border-radius:50%}
.v3-author-name{display:block;font-size:14px;font-weight:700;color:var(--v3-ink);margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v3-author-stat{display:flex;justify-content:center;gap:10px;margin-bottom:10px}
.v3-author-stat span{font-size:12px;color:var(--v3-ink3);display:flex;flex-direction:column}
.v3-author-stat b{font-size:14px;color:var(--v3-ink);font-weight:700}
.v3-author-home{display:block;font-size:12px;color:var(--v3-primary);text-decoration:none}
.v3-author-home:hover{color:var(--v3-primary-dark)}
/* 纵向操作条 */
.v3-art-acts{background:var(--v3-card);border:1px solid var(--v3-line);border-radius:var(--v3-radius);padding:10px 6px;display:flex;flex-direction:column;gap:6px}
.v3-act{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 2px;border:0;background:none;border-radius:8px;font-size:12px;color:var(--v3-ink2);text-decoration:none;cursor:pointer}
.v3-act:hover{background:#fff7ed;color:var(--v3-primary)}
.v3-act svg{width:20px;height:20px}
.v3-act em{font-style:normal;font-size:12px;font-weight:600;color:var(--v3-ink)}
.v3-act i{font-style:normal;font-size:12px;color:var(--v3-ink3)}
/* 右栏热门精选（带图） */
.v3-hotpick{display:flex;flex-direction:column;gap:12px}
.v3-hotpick-row{display:flex;gap:10px;align-items:flex-start;text-decoration:none}
.v3-hotpick-thumb{width:102px;height:68px;object-fit:cover;border-radius:6px;flex-shrink:0}
.v3-hotpick-txt{flex:1;min-width:0;font-size:13px;line-height:1.5;color:var(--v3-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.v3-hotpick-row:hover .v3-hotpick-txt{color:var(--v3-primary)}
/* 栅格（站主 11-01：取消 680 固定正文列与 1200 断点，正文列随窗口铺满，侧栏基础 320、<1000 时 280） */
.v3-art-layout{gap:24px}
@media (max-width:999px){
	.v3-art-rail{display:none}
	.v3-art-layout{gap:20px}
	.v3-art-layout .v3-side{width:280px}
}
/* 手机版式换向（质检 M1 致命）：768 断点 flex 换单列，正文全宽、侧栏转置页内卡 */
@media (max-width:768px){
	.v3-art-layout{flex-direction:column}
	.v3-art-layout .v3-article-col{width:100%;flex:none;min-width:0}
	.v3-art-layout .v3-side{width:100%}
}

/* ---------- 全部频道·前5条大图卡片（站主 11-01 13:20 指令：图文交替） ---------- */
.v3-news-lg{align-items:center;gap:18px}
.v3-news-lg .v3-news-txt{flex:1;min-width:0}
.v3-news-lg h3{font-size:19px;line-height:1.4;margin-bottom:8px}
.v3-news-lgimg{width:260px;height:150px;flex-shrink:0;border-radius:8px;overflow:hidden}
.v3-news-lgimg img{width:260px;height:150px;object-fit:cover;display:block}
.v3-news-lg.rev{flex-direction:row-reverse}
.v3-news-ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#F97316,#FBBF24);text-decoration:none}
.v3-news-ph span{font-size:16px;font-weight:700;color:#fff;letter-spacing:2px;padding:0 12px;text-align:center}
@media (max-width:768px){
	.v3-news-lgimg{width:130px;height:86px}
	.v3-news-lgimg img{width:130px;height:86px}
	.v3-news-lg h3{font-size:16px}
}

/* 教练卡整卡可点 hover 反馈 */
.v3-coach li a{border-radius:8px;padding:9px 8px;margin:0 -8px;transition:background .15s}
.v3-coach li a:hover{background:#FFF7ED}
.v3-coach li a:hover .v3-coach-ft i{background:var(--v3-primary);color:#fff}
.v3-coach-ft i{transition:all .15s}


/* ===== 热门活动横排（批准项11） ===== */
.v3-actrow{margin-bottom:20px}
.v3-actrow-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.v3-actrow-hd h3{margin:0;font-size:17px;font-weight:800;color:#1A1A1A;padding-left:10px;border-left:4px solid #F97316}
.v3-actrow-bd{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.v3-actcard{flex:0 0 240px;display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--v3-card);border:1px solid var(--v3-line);border-radius:var(--v3-radius);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.v3-actcard:hover{border-color:#FDBA74;box-shadow:0 4px 14px rgba(249,115,22,.12)}
.v3-actcard-logo img{width:100%;height:110px;object-fit:cover;border-radius:6px}
.v3-actcard-name{font-size:14px;font-weight:700;color:var(--v3-ink);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em}
.v3-actcard-meta{font-size:12px;color:var(--v3-ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-actcard-cta{margin-top:4px;align-self:flex-start;font-size:12px;font-weight:600;color:#EA580C;border:1px solid #FDBA74;border-radius:999px;padding:3px 12px;background:#FFF7ED}

/* ===== 头条速递热度微数据（批准项10） ===== */
.v3-rank li{display:flex;align-items:center;gap:8px}
.v3-rank li a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v3-rank-meta{flex-shrink:0;font-size:11px;color:var(--v3-ink3);white-space:nowrap}

/* ===== 面包屑返回频道（批准项13） ===== */
.v3-crumb-back{float:right;font-size:12px;color:#EA580C;text-decoration:none;border:1px solid #FDBA74;border-radius:999px;padding:2px 10px;background:#FFF7ED}
.v3-crumb-back:hover{background:#FFEDD5}
@media(max-width:768px){
.v3-actcard{flex-basis:200px}
.v3-rank-meta{display:none}
}
