/* 全局重置与基础设置 */
:root {
    --primary-color: #ff9900;
    --bg-color: #f5f5f5;
    --text-color: #333;
    --text-light: #888;
    --white: #ffffff;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background-color: var(--bg-color); color: var(--text-color); line-height: 1.5; }
a { text-decoration: none; color: var(--text-color); transition: color 0.3s; }
a:hover { color: var(--primary-color); }
ul, ol { list-style: none; }
img { max-width: 100%; display: block; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 15px; }

/* 头部导航 */
.header { background: var(--white); box-shadow: 0 2px 5px rgba(0,0,0,0.05); position: sticky; top: 0; z-index: 100; }
.hd-bar { display: flex; justify-content: space-between; align-items: center; height: 60px; }
.logo { font-size: 20px; font-weight: bold; color: var(--primary-color); display: flex; align-items: center; gap: 10px; }
.logo img { height: 40px; }
.nav { display: flex; gap: 20px; }
.nav > ul { display: flex; gap: 20px; }
.nav > ul > li { position: relative; line-height: 60px; }
.nav > ul > li > a.active { color: var(--primary-color); font-weight: bold; }
/* 下拉菜单 */
.sub { display: none; position: absolute; top: 60px; left: 0; background: var(--white); box-shadow: 0 5px 15px rgba(0,0,0,0.1); width: 120px; border-radius: 4px; overflow: hidden; }
.nav > ul > li:hover .sub { display: block; }
.sub li a { display: block; padding: 10px 15px; line-height: 1.2; font-size: 14px; }
.sub li a:hover { background: #f9f9f9; color: var(--primary-color); }

/* 搜索框 */
.search-form { display: flex; align-items: center; border: 1px solid #ddd; border-radius: 20px; overflow: hidden; padding-left: 15px; background: var(--bg-color); }
.search-form input { border: none; background: transparent; outline: none; padding: 8px 0; width: 150px; }
.search-form button { background: none; border: none; padding: 0 15px; cursor: pointer; color: var(--text-light); }

/* 移动端菜单按钮 (桌面端隐藏) */
.hamburger { display: none; background: none; border: none; font-size: 24px; cursor: pointer; }

/* 视频网格与卡片 */
.sec-tit { display: flex; justify-content: space-between; align-items: center; margin: 20px 0 15px; border-left: 4px solid var(--primary-color); padding-left: 10px; }
.sec-tit h2, .sec-tit h3 { font-size: 18px; font-weight: bold; }
.more { font-size: 14px; color: var(--text-light); }

.vod-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 15px; margin-bottom: 30px; }
.vod-card { background: var(--white); border-radius: 6px; overflow: hidden; transition: transform 0.3s; }
.vod-card:hover { transform: translateY(-5px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.vod-card .pic { position: relative; display: block; aspect-ratio: 2 / 3; background: #eee; overflow: hidden; }
.vod-card .pic img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.vod-card:hover .pic img { transform: scale(1.05); }
.vod-card .tag { position: absolute; bottom: 5px; right: 5px; background: rgba(0,0,0,0.6); color: var(--white); font-size: 12px; padding: 2px 6px; border-radius: 4px; }
.vod-card .score { position: absolute; top: 5px; left: 5px; background: var(--primary-color); color: var(--white); font-size: 12px; font-weight: bold; padding: 2px 6px; border-radius: 4px; }
.vod-card .vinfo { padding: 10px; }
.vod-card .vname { display: block; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 5px; }
.vod-card .vmeta { font-size: 12px; color: var(--text-light); display: flex; justify-content: space-between; }

/* 幻灯片占位 */
.banner { height: 300px; background: #333; color: white; display: flex; align-items: flex-end; padding: 20px; border-radius: 8px; margin: 20px 0; position: relative; }
.banner h2 { font-size: 24px; margin-bottom: 10px; }

/* 筛选分类页特有样式 */
.crumb { display: flex; gap: 5px; padding: 15px 0; font-size: 14px; color: var(--text-light); }
.crumb li::after { content: ">"; margin-left: 5px; }
.crumb li:last-child::after { content: ""; }
.tab-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 15px; }
.tab-nav a { padding: 5px 15px; background: var(--white); border-radius: 20px; font-size: 14px; }
.tab-nav a.active { background: var(--primary-color); color: var(--white); }
.sort-row { margin-bottom: 20px; font-size: 14px; }
.sort-row a { margin-right: 15px; color: var(--text-light); }
.sort-row a.active { color: var(--primary-color); }

/* 分页 */
.pagination { display: flex; justify-content: center; gap: 5px; margin: 30px 0; flex-wrap: wrap; }
.pagination a, .pagination span { padding: 8px 12px; background: var(--white); border-radius: 4px; border: 1px solid #eee; font-size: 14px; }
.pagination a.active { background: var(--primary-color); color: var(--white); border-color: var(--primary-color); }
.pagination a:hover { border-color: var(--primary-color); }

/* 播放页特有样式 */
.player-wrap { background: #000; width: 100%; aspect-ratio: 16/9; margin-bottom: 20px; border-radius: 8px; overflow: hidden; }
.play-src-tabs { display: flex; border-bottom: 2px solid #eee; margin-bottom: 15px; }
.play-src-tab { padding: 10px 20px; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; }
.play-src-tab.active { border-bottom-color: var(--primary-color); color: var(--primary-color); font-weight: bold; }
.play-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 10px; margin-bottom: 30px; }
.play-list a { display: block; text-align: center; padding: 10px; background: var(--white); border: 1px solid #eee; border-radius: 4px; font-size: 14px; }
.play-list a:hover { border-color: var(--primary-color); color: var(--primary-color); }

/* 底部 */
.footer { background: var(--white); padding: 40px 0 20px; margin-top: 40px; }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; margin-bottom: 30px; border-bottom: 1px solid #eee; padding-bottom: 30px; }
.footer-col h4 { margin-bottom: 15px; font-size: 16px; border-left: 3px solid var(--primary-color); padding-left: 10px; }
.footer-col p { font-size: 14px; color: var(--text-light); }
.footer-col a { display: block; font-size: 14px; color: var(--text-light); margin-bottom: 8px; }
.footer-bot { text-align: center; font-size: 12px; color: #999; }

/* 响应式设计 (手机端) */
@media (max-width: 768px) {
    .nav { display: none; /* 移动端隐藏顶部导航，实际项目中需配合JS触发弹出菜单 */ }
    .hamburger { display: block; }
    .search-form input { width: 100px; }
    .vod-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
    .banner { height: 180px; }
    .play-list { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 480px) {
    .vod-grid { grid-template-columns: repeat(2, 1fr); }
}