/* ===================================================
   培训招生网 - 前台主样式
   =================================================== */

/* === 重置与基础 === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 15px; }
body { font-family: -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif; color: #333; background: #f5f7fa; line-height: 1.6; }
a { color: #1a73e8; text-decoration: none; }
a:hover { color: #1557b0; }
img { max-width: 100%; height: auto; }
ul { list-style: none; }
em { color: #e53935; font-style: normal; }

/* === 容器 === */
.container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }

/* === 顶部城市栏 === */
.city-bar { background: #2c3e50; color: #ccc; font-size: 13px; position: relative; z-index: 1000; overflow: visible; }
.city-dropdown { position: relative; display: inline-block; }
.city-bar .container { display: flex; align-items: center; justify-content: space-between; height: 38px; }
.city-bar-left { display: flex; align-items: center; gap: 10px; }
.cur-city-name { color: #fff; font-weight: 600; }
.btn-change-city { color: #90caf9; cursor: pointer; border: 1px solid #455a64; border-radius: 4px; padding: 2px 8px; font-size: 12px; }
.btn-change-city:hover { color: #fff; background: #455a64; }
.arrow-down { display: inline-block; border: 4px solid transparent; border-top-color: #90caf9; vertical-align: middle; margin-top: 4px; }
.city-bar-right a { color: #aaa; margin-left: 16px; font-size: 12px; }
.city-bar-right a:hover { color: #fff; }

/* 城市选择浮层 - 默认隐藏 */
.city-panel { display: none; position: absolute; top: 100%; left: 0; z-index: 9999; min-width: 200px; }
.city-panel-inner { background: #fff; border-bottom: 2px solid #1a73e8; box-shadow: 0 8px 24px rgba(0,0,0,.15); }
.city-panel-inner { padding: 20px; }
.city-group { display: flex; align-items: center; padding: 8px 0; border-bottom: 1px dashed #eee; gap: 6px; flex-wrap: wrap; }
.city-group:last-child { border-bottom: none; }
.city-letter { width: 24px; font-weight: 700; color: #1a73e8; flex-shrink: 0; }
.city-link { padding: 3px 10px; border-radius: 4px; color: #333; font-size: 14px; text-decoration: none; }
.city-link:hover, .city-link.active { background: #1a73e8; color: #fff; }

/* === 主导航 === */
.main-header { background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.08); position: sticky; top: 0; z-index: 100; }
.main-header .container { display: flex; align-items: center; height: 64px; gap: 20px; }
.logo { display: flex; align-items: center; gap: 8px; font-size: 20px; font-weight: 700; color: #1a73e8; flex-shrink: 0; }
.logo-icon { width: 36px; height: 36px; background: #1a73e8; color: #fff; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 18px; }
.main-nav { display: flex; align-items: center; gap: 4px; flex: 1; overflow: hidden; }
.nav-item { padding: 6px 12px; border-radius: 6px; color: #555; font-size: 14px; white-space: nowrap; }
.nav-item:hover, .nav-item.active { background: #e3f2fd; color: #1a73e8; }
.header-search { display: flex; gap: 0; flex-shrink: 0; }
.header-search input { width: 240px; padding: 8px 14px; border: 2px solid #1a73e8; border-right: none; border-radius: 6px 0 0 6px; font-size: 14px; outline: none; }
.btn-search { background: #1a73e8; color: #fff; border: none; padding: 8px 18px; border-radius: 0 6px 6px 0; cursor: pointer; font-size: 14px; }
.btn-search:hover { background: #1557b0; }

/* === Banner === */
.banner-section { margin-bottom: 0; }
.banner-slider { position: relative; overflow: hidden; }
.banner-slide { display: none; padding: 60px 0; }
.banner-slide.active { display: block; }
.banner-text { max-width: 600px; color: #fff; }
.banner-text h2 { font-size: 36px; font-weight: 700; margin-bottom: 12px; }
.banner-text p { font-size: 18px; opacity: .85; margin-bottom: 24px; }
.btn-banner { display: inline-block; background: #fff; color: #1a73e8; padding: 12px 30px; border-radius: 30px; font-weight: 600; font-size: 15px; }
.btn-banner:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.2); }
.banner-dots { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.5); cursor: pointer; }
.dot.active { background: #fff; width: 24px; border-radius: 4px; }

/* === 搜索区域 === */
.search-section { background: #fff; padding: 24px 0; }
.index-search { background: #f8faff; border: 2px solid #1a73e8; border-radius: 12px; padding: 20px; }
.search-tabs { display: flex; gap: 0; margin-bottom: 16px; border-bottom: 2px solid #e8ecf0; }
.tab { padding: 8px 24px; cursor: pointer; font-size: 15px; color: #666; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.tab.active { color: #1a73e8; border-bottom-color: #1a73e8; font-weight: 600; }
.search-form { display: flex; gap: 8px; align-items: center; }
.search-form select, .search-city-select select, .search-cat-select select { padding: 10px 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 14px; background: #fff; }
.search-input { flex: 1; padding: 10px 16px; border: 1px solid #ddd; border-radius: 6px; font-size: 15px; }
.btn-search-big { background: #1a73e8; color: #fff; border: none; padding: 10px 28px; border-radius: 6px; font-size: 15px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.btn-search-big:hover { background: #1557b0; }

/* === 通用section标题 === */
.section-title {
    position: relative;
    text-align: center;
    padding: 40px 0 20px;
}
.section-title h3 { font-size: 26px; color: #222; display: inline-block; }
.section-title p { color: #888; margin-top: 6px; font-size: 14px; }
.section-title .more-link {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: #1a73e8;
    white-space: nowrap;
}
.section-title .more-link:hover { text-decoration: underline; }

/* === 行业分类格 === */
.cat-section { background: #fff; padding-bottom: 40px; }
.cat-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.cat-item { display: flex; flex-direction: column; align-items: center; padding: 20px 10px; border-radius: 10px; border: 1px solid #eee; background: #f9fafb; transition: .2s; cursor: pointer; }
.cat-item:hover { border-color: #1a73e8; background: #e3f2fd; transform: translateY(-3px); }
.cat-icon { font-size: 32px; margin-bottom: 8px; }
.cat-name { font-size: 14px; font-weight: 600; color: #333; }
.cat-count { font-size: 12px; color: #999; margin-top: 4px; }

/* === 机构卡片（首页Grid） === */
.org-section, .course-section, .cities-section { padding: 0 0 48px; }
.org-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.org-card { background: #fff; border-radius: 10px; border: 1px solid #e8ecf0; padding: 16px; position: relative; transition: .2s; }
.org-card:hover { border-color: #1a73e8; box-shadow: 0 4px 16px rgba(26,115,232,.12); transform: translateY(-2px); }
.org-logo-wrap { display: block; text-align: center; margin-bottom: 12px; height: 130px; background: linear-gradient(180deg,#f0f6ff,#e6effd); border-radius: 6px; overflow: hidden; }
.org-logo { max-width: 62%; max-height: 92px; width: auto; height: auto; object-fit: contain; margin-top: 19px; }
.org-logo-placeholder { width: 100%; height: 130px; background: linear-gradient(135deg,#1a73e8,#0d47a1); color: #fff; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; margin: 0 auto; text-align: center; padding: 0 10px; box-sizing: border-box; }
.org-info h4 { font-size: 15px; margin-bottom: 6px; }
.org-info h4 a { color: #222; }
.org-info h4 a:hover { color: #1a73e8; }
.org-meta { display: flex; gap: 8px; font-size: 12px; color: #888; margin-bottom: 6px; flex-wrap: wrap; }
.org-score { display: flex; align-items: center; gap: 4px; margin-bottom: 8px; }
.star { display: inline-block; width: 14px; height: 14px; background: #ffc107; clip-path: polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); }
.star.half { background: linear-gradient(90deg,#ffc107 50%,#ddd 50%); }
.star.empty { background: #ddd; }
.score-num { font-size: 13px; color: #ff9800; font-weight: 600; }
.org-intro { font-size: 13px; color: #666; margin-bottom: 8px; line-height: 1.5; }
.org-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 10px; }
.tag { background: #e3f2fd; color: #1565c0; font-size: 11px; padding: 2px 7px; border-radius: 10px; }
.org-actions { display: flex; gap: 8px; }
.badge-top { background: #ff5722; color: #fff; font-size: 11px; padding: 1px 6px; border-radius: 3px; position: absolute; top: 10px; left: 10px; }
.badge-rec { background: #1a73e8; color: #fff; font-size: 11px; padding: 1px 6px; border-radius: 3px; position: absolute; top: 10px; right: 10px; }
.badge-hot { background: #f44336; color: #fff; font-size: 11px; padding: 1px 6px; border-radius: 3px; position: absolute; top: 10px; left: 10px; }

/* === 通用按钮 === */
.btn-detail, .btn-consult, .btn-primary, .btn-secondary, .btn-outline {
  display: inline-block; padding: 7px 14px; border-radius: 6px; font-size: 13px; cursor: pointer; border: none; text-align: center;
}
.btn-detail   { background: #e3f2fd; color: #1a73e8; }
.btn-consult  { background: #fff3e0; color: #e65100; border: 1px solid #ffcc80; }
.btn-primary  { background: #1a73e8; color: #fff; }
.btn-secondary{ background: #fff; color: #1a73e8; border: 2px solid #1a73e8; }
.btn-outline  { background: #fff; color: #555; border: 1px solid #ddd; }
.btn-detail:hover   { background: #bbdefb; }
.btn-primary:hover  { background: #1557b0; color: #fff; }
.btn-consult:hover  { background: #ffe0b2; }
.btn-full { display: block; width: 100%; text-align: center; margin-bottom: 8px; padding: 11px; }
.btn-outline-sm { font-size: 13px; padding: 4px 12px; border-radius: 4px; color: #1a73e8; border: 1px solid #1a73e8; }

/* === 课程卡片 === */
.course-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.course-card { background: #fff; border-radius: 10px; border: 1px solid #e8ecf0; overflow: hidden; position: relative; transition: .2s; }
.course-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.1); transform: translateY(-2px); }
.course-cover { display: block; }
.course-cover img { width: 100%; height: 160px; object-fit: cover; }
.course-cover-placeholder { width: 100%; height: 160px; background: linear-gradient(135deg,#667eea,#764ba2); display: flex; align-items: center; justify-content: center; font-size: 32px; color: #fff; font-weight: 700; }
.course-info { padding: 12px; }
.course-info h4 { font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.course-info h4 a { color: #222; }
.course-info h4 a:hover { color: #1a73e8; }
.course-org a { font-size: 12px; color: #888; }
.course-meta { display: flex; gap: 10px; font-size: 12px; color: #999; margin: 6px 0; }
.course-price-row { display: flex; align-items: center; gap: 8px; }
.price { color: #e53935; font-size: 18px; font-weight: 700; }
.original-price { color: #bbb; text-decoration: line-through; font-size: 13px; }
.enroll-count { font-size: 12px; color: #999; margin-left: auto; }
.discount { background: #f44336; color: #fff; font-size: 11px; padding: 1px 5px; border-radius: 3px; }

/* === 首页最新校区 === */
.index-campuses-section { background: #f8fafc; padding: 0 0 48px; }
.index-campus-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }

/* 响应式 四列变两列 */
@media (max-width: 768px) {
  .index-campus-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .index-campus-grid { grid-template-columns: 1fr; }
}
.index-campus-item {
    background: #fff;
    border-radius: 10px;
    padding: 16px 20px;
    border: 1px solid #eee;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: all 0.2s;
}
.index-campus-item:hover {
    border-color: #1a73e8;
    box-shadow: 0 4px 12px rgba(26,115,232,0.1);
}


.index-campus-item.is-main {
    background: linear-gradient(90deg, #f0f7ff 0%, #fff 100%);

}
.index-campus-icon {
    width: 44px;
    height: 44px;
    background: #f5f5f5;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.index-campus-item.is-main .index-campus-icon {
    background: #e3f2fd;
}
.index-campus-info {
    flex: 1;
    min-width: 0;
}
.index-campus-info h4 {
    font-size: 14px;
    font-weight: 600;
    color: #222;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.main-tag {
    background: #1a73e8;
    color: #fff;
    font-size: 10px;
    padding: 1px 6px;
    border-radius: 4px;
    font-weight: normal;
}
.campus-org-name {
    font-size: 12px;
    color: #1a73e8;
    margin-bottom: 2px;
}
.campus-location {
    font-size: 12px;
    color: #888;
}
.index-campus-link {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: inherit;
}
.index-campus-phone {
    width: 36px;
    height: 36px;
    background: #1a73e8;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
    text-decoration: none;
    transition: all 0.2s;
}
.index-campus-phone:hover {
    background: #1557b0;
    color: #fff;
    transform: scale(1.1);
}

/* === 最新报名 === */
.enroll-section { background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%); padding: 48px 0; }
.enroll-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.enroll-item { background: #fff; border-radius: 12px; padding: 16px; display: flex; align-items: center; gap: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); transition: .2s; }
.enroll-item:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.enroll-avatar { width: 40px; height: 40px; background: linear-gradient(135deg, #1a73e8, #42a5f5); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 600; flex-shrink: 0; }
.enroll-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.enroll-name-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.enroll-name { font-size: 14px; color: #333; font-weight: 500; }
.enroll-time { font-size: 12px; color: #aaa; white-space: nowrap; flex-shrink: 0; }
.enroll-course { font-size: 12px; color: #888; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 768px) {
    .enroll-list { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 480px) {
    .enroll-list { grid-template-columns: 1fr; }
}

/* === 城市展示 === */
.cities-section { background: #fff; padding-bottom: 40px; }
.cities-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.city-item { padding: 8px 18px; border: 1px solid #e8ecf0; border-radius: 20px; font-size: 14px; color: #555; transition: .2s; }
.city-item:hover, .city-item.active { background: #1a73e8; color: #fff; border-color: #1a73e8; }

/* === 面包屑 === */
.breadcrumb-bar { background: #fff; border-bottom: 1px solid #eee; padding: 10px 0; }
.breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.breadcrumb a { color: #888; }
.breadcrumb .sep { color: #ccc; }
.breadcrumb .current { color: #333; }

/* === 列表页 === */
.list-container { display: flex; gap: 24px; padding-top: 24px; padding-bottom: 48px; }
.list-main { flex: 1; min-width: 0; }
.list-sidebar { width: 240px; flex-shrink: 0; }
.list-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.list-title { font-size: 20px; color: #222; }
.list-stats { font-size: 14px; color: #888; }

/* 筛选区 */
.filter-section { background: #fff; border-radius: 8px; padding: 16px; margin-bottom: 16px; }
.filter-row { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
.filter-row:last-child { margin-bottom: 0; }
.filter-label { font-size: 14px; color: #888; white-space: nowrap; padding-top: 4px; width: 56px; flex-shrink: 0; }
.filter-options { display: flex; flex-wrap: wrap; gap: 6px; }
.filter-item { padding: 3px 12px; border-radius: 14px; font-size: 13px; color: #555; border: 1px solid #eee; background: #f9f9f9; }
.filter-item:hover, .filter-item.active { background: #1a73e8; color: #fff; border-color: #1a73e8; }

/* 机构列表 */
.org-list { display: flex; flex-direction: column; gap: 12px; }
.org-list-item { background: #fff; border-radius: 8px; padding: 16px; display: flex; gap: 16px; border: 1px solid #e8ecf0; transition: .2s; }
.org-list-item:hover { border-color: #1a73e8; box-shadow: 0 2px 10px rgba(26,115,232,.08); }
.org-list-logo { flex-shrink: 0; }
.org-logo-placeholder-sm { width: 80px; height: 80px; background: linear-gradient(135deg,#1a73e8,#0d47a1); color: #fff; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; }
.org-list-body { flex: 1; min-width: 0; }
.org-list-body h3 { font-size: 16px; margin-bottom: 8px; }
.org-list-body h3 a { color: #222; }
.org-list-body h3 a:hover { color: #1a73e8; }
.org-list-meta { display: flex; gap: 14px; font-size: 13px; color: #888; margin-bottom: 8px; flex-wrap: wrap; }
.org-list-intro { font-size: 13px; color: #666; margin-bottom: 8px; }
.org-list-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.org-list-actions { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; justify-content: center; flex-shrink: 0; }
.view-count { font-size: 12px; color: #bbb; }
.org-score-sm { display: flex; align-items: center; gap: 3px; font-size: 13px; }

/* 课程列表 */
.course-list { display: flex; flex-direction: column; gap: 12px; }
.course-list-item { background: #fff; border-radius: 8px; padding: 16px; display: flex; gap: 16px; border: 1px solid #e8ecf0; }
.course-list-cover { flex-shrink: 0; }
/* 校区卡片封面（复用课程封面样式） */
.campus-cover { flex-shrink: 0; }
.campus-cover img { width: 100px; height: 80px; object-fit: contain; border-radius: 6px; border: 1px solid #eee; }
.course-cover-sm { width: 100px; height: 80px; background: linear-gradient(135deg,#667eea,#764ba2); color: #fff; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; }
.course-list-body { flex: 1; min-width: 0; }
.course-list-body h3 { font-size: 16px; margin-bottom: 6px; }
.course-list-body h3 a { color: #222; }
.course-list-org { font-size: 13px; color: #888; margin-bottom: 6px; }
.course-list-meta { display: flex; gap: 12px; font-size: 13px; color: #999; margin-bottom: 6px; }
.course-list-price { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 8px; flex-shrink: 0; }
.price-sm { font-size: 13px; color: #e53935; font-weight: 600; }

/* 侧边栏 */
.sidebar-block { background: #fff; border-radius: 8px; padding: 16px; margin-bottom: 16px; border: 1px solid #e8ecf0; }
.sidebar-title { font-size: 15px; font-weight: 600; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 2px solid #1a73e8; }
.sidebar-cities { display: flex; flex-wrap: wrap; gap: 6px; }
.sidebar-city { padding: 4px 10px; border: 1px solid #eee; border-radius: 12px; font-size: 13px; color: #555; }
.sidebar-city:hover, .sidebar-city.active { background: #1a73e8; color: #fff; border-color: #1a73e8; }
.sidebar-cat-list li { padding: 6px 0; border-bottom: 1px solid #f5f5f5; }
.sidebar-cat-list a { font-size: 14px; color: #555; display: flex; justify-content: space-between; }
.sidebar-cat-list a:hover, .sidebar-cat-list a.active { color: #1a73e8; }
.sidebar-cat-list .cnt { color: #bbb; font-size: 12px; }
.sidebar-consult { background: #e3f2fd; }
.sidebar-consult h5 { margin-bottom: 12px; font-size: 15px; }
.sidebar-consult-form input, .sidebar-consult-form select { width: 100%; padding: 9px 12px; border: 1px solid #ddd; border-radius: 6px; margin-bottom: 10px; font-size: 14px; box-sizing: border-box; }
.sidebar-consult-form button { width: 100%; padding: 11px; background: #1a73e8; color: #fff; border: none; border-radius: 6px; font-size: 15px; cursor: pointer; }

/* 分页 */
.pagination { display: flex; justify-content: center; align-items: center; gap: 8px; padding: 24px 0; flex-wrap: wrap; }
.page-list { display: flex; gap: 4px; list-style: none; }
.page-list li a, .page-list li.active { display: inline-block; min-width: 34px; height: 34px; line-height: 34px; text-align: center; border-radius: 6px; font-size: 14px; border: 1px solid #e0e0e0; color: #555; padding: 0 8px; }
.page-list li.active { background: #1a73e8; color: #fff; border-color: #1a73e8; }
.page-list li a:hover { border-color: #1a73e8; color: #1a73e8; }
.page-list .prev, .page-list .next { color: #1a73e8; }
.page-list .ellipsis { display: flex; align-items: center; padding: 0 4px; color: #999; }
.page-info { font-size: 13px; color: #999; }

/* === 详情页 === */
.detail-container { display: flex; gap: 24px; padding-top: 24px; padding-bottom: 48px; }
.detail-main { flex: 1; min-width: 0; }
.detail-sidebar { width: 260px; flex-shrink: 0; }

.org-detail-header { background: #fff; border-radius: 10px; padding: 24px; display: flex; gap: 24px; margin-bottom: 16px; border: 1px solid #e8ecf0; }
.org-detail-logo img { width: 100px; height: 100px; object-fit: contain; border-radius: 10px; border: 1px solid #eee; }
.org-logo-big { width: 100px; height: 100px; background: linear-gradient(135deg,#1a73e8,#0d47a1); color: #fff; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700; }
.org-detail-name { font-size: 22px; margin-bottom: 10px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.org-detail-meta { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13px; color: #777; margin-bottom: 10px; }
.org-detail-addr { font-size: 14px; color: #555; margin-bottom: 8px; }
.org-detail-contact { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 12px; }
.contact-item { font-size: 14px; color: #555; }
.org-detail-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.org-detail-btns { display: flex; gap: 10px; flex-wrap: wrap; }

.detail-tabs { background: #fff; border-radius: 8px 8px 0 0; display: flex; border-bottom: 2px solid #1a73e8; margin-bottom: 0; overflow: hidden; margin-top: 16px; }
.tab-item { padding: 12px 22px; font-size: 14px; color: #666; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.tab-item.active, .tab-item:hover { color: #1a73e8; background: #f0f7ff; }
.tab-item.active { border-bottom-color: #1a73e8; font-weight: 600; }

.tab-content { background: #fff; border-radius: 0 0 8px 8px; padding: 24px; margin-bottom: 16px; border: 1px solid #e8ecf0; border-top: none; }
.detail-section-title { font-size: 17px; font-weight: 600; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
.org-content p, .course-content p { margin-bottom: 12px; line-height: 1.8; color: #555; }
.org-content h3, .course-content h3 { font-size: 16px; margin: 16px 0 8px; }

.course-grid-sm { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.course-card-sm { background: #f9fafb; border-radius: 8px; padding: 12px; border: 1px solid #eee; position: relative; }
.course-name { font-size: 14px; color: #222; display: block; margin-bottom: 8px; font-weight: 500; }
.course-meta-sm { font-size: 12px; color: #999; display: flex; gap: 10px; margin-bottom: 8px; }
.course-price-sm { display: flex; align-items: center; gap: 8px; }
.btn-sm { padding: 3px 10px; border-radius: 4px; font-size: 12px; background: #e3f2fd; color: #1a73e8; }

.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.gallery-item img { width: 100%; height: 120px; object-fit: cover; border-radius: 4px; }

/* === 校区分布 - 四列网格卡片样式（首页用） === */
.campus-list { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); 
    gap: 16px; 
}
.campus-item { 
    display: flex; 
    flex-direction: column;
    padding: 16px; 
    background: #fff; 
    border-radius: 10px; 
    border: 1px solid #eee; 
    position: relative; 
    transition: all 0.25s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.campus-item:hover { 
    border-color: #1a73e8;
    box-shadow: 0 4px 15px rgba(26,115,232,0.12);
    transform: translateY(-3px);
}
.campus-item.campus-main { 
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 100%); 
    border-color: #b3d7ff;
}
.campus-item .badge-main { 
    position: absolute;
    top: 12px;
    right: 12px;
    background: linear-gradient(135deg, #1a73e8, #4285f4); 
    color: #fff; 
    font-size: 11px; 
    padding: 3px 10px; 
    border-radius: 20px;
    font-weight: 500;
}
.campus-logo-sm {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #f0f7ff, #e3f2fd);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 12px;
}
.campus-name { 
    font-size: 15px; 
    font-weight: 600; 
    color: #1a1a1a; 
    margin-bottom: 8px;
    line-height: 1.4;
}
.campus-detail { 
    font-size: 12px; 
    color: #666; 
    line-height: 1.6;
}
.campus-detail p { margin: 4px 0; }
.campus-detail .org-name { color: #1a73e8; font-weight: 500; }
.campus-footer { 
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px dashed #eee;
}
.btn-campus-call { 
    display: block;
    width: 100%;
    background: #1a73e8; 
    color: #fff; 
    padding: 8px 12px; 
    border-radius: 6px; 
    font-size: 13px; 
    text-align: center;
    text-decoration: none;
    transition: background 0.2s;
}
.btn-campus-call:hover { background: #1557b0; }
.btn-campus-detail { 
    display: block;
    width: 100%;
    text-align: center;
    color: #999; 
    font-size: 12px;
    text-decoration: none;
    padding: 6px;
}
.btn-campus-detail:hover { color: #1a73e8; }

/* === 校区列表页 - 简洁单列样式 === */
.campus-list-page {
    max-width: 1200px;
    margin: 0 auto;
}
.campus-new-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.campus-new-card {
    background: #fff;
    border-radius: 8px;
    padding: 16px 20px;
    border: 1px solid #eee;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    display: flex;
    align-items: center;
    gap: 16px;
    transition: all 0.2s;
}
.campus-new-card:hover {
    border-color: #1a73e8;
    box-shadow: 0 4px 12px rgba(26,115,232,0.1);
}
.campus-new-card.is-main {
    background: linear-gradient(90deg, #f0f7ff 0%, #fff 100%);
    border-left: 1px solid #1a73e8;
}
.campus-card-header {
    flex-shrink: 0;
}
.campus-icon-wrap {
    width: 44px;
    height: 44px;
    background: #f5f5f5;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.campus-icon {
    font-size: 20px;
}
.campus-new-card.is-main .campus-icon-wrap {
    background: #e3f2fd;
}
.main-badge-inline {
    display: inline-block;
    background: #1a73e8;
    color: #fff;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 500;
    margin-left: 8px;
}
.campus-card-body {
    flex: 1;
    min-width: 0;
}
.campus-card-title {
    font-size: 15px;
    font-weight: 600;
    color: #222;
    margin-bottom: 4px;
}
.campus-card-org {
    font-size: 13px;
    color: #1a73e8;
    font-weight: 500;
    margin-bottom: 4px;
}
.campus-card-info {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: #666;
}
.campus-card-info p {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}
.campus-card-actions {
    flex-shrink: 0;
    display: flex;
    gap: 10px;
    align-items: center;
}
.campus-card-phone {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #1a73e8;
    color: #fff;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}
.campus-card-phone:hover {
    background: #1557b0;
    color: #fff;
}
.campus-card-link {
    font-size: 12px;
    color: #666;
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 4px;
    border: 1px solid #ddd;
    transition: all 0.2s;
}
.campus-card-link:hover {
    border-color: #1a73e8;
    color: #1a73e8;
}

/* 首页校区区块 */
.index-campuses {
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    padding: 50px 0;
}
.campus-list-page {
    padding: 0;
}

/* 移动端适配 */
@media screen and (max-width: 768px) {
    .filter-section { padding: 12px; }
    .filter-row { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .filter-row::-webkit-scrollbar { display: none; }
    .filter-label { width: 50px; font-size: 13px; flex-shrink: 0; }
    .filter-options { flex-wrap: nowrap; white-space: nowrap; }
    .filter-item { padding: 4px 10px; font-size: 12px; white-space: nowrap; flex-shrink: 0; }
}
.btn-campus-call:hover { background: #1557b0; color: #fff; }

/* === 分类页校区列表 === */
.campus-section { margin-bottom: 24px; }
.campus-grid-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
.campus-grid-item { display: flex; align-items: flex-start; gap: 12px; padding: 14px; background: #f8faff; border-radius: 8px; border: 1px solid #e8ecf0; transition: .2s; position: relative; }
.campus-grid-item:hover { border-color: #1a73e8; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(26,115,232,.1); }
.campus-grid-item.campus-main { background: #e3f2fd; border-color: #1a73e8; }
.campus-grid-icon { width: 40px; height: 40px; background: linear-gradient(135deg, #1a73e8, #0d47a1); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.campus-grid-icon::before { content: '📍'; font-size: 18px; }
.campus-grid-info { flex: 1; min-width: 0; }
.campus-grid-info h4 { font-size: 14px; font-weight: 600; color: #222; margin-bottom: 4px; }
.campus-grid-info p { font-size: 12px; color: #666; margin-bottom: 4px; }
.campus-grid-addr { font-size: 12px; color: #888; }
.campus-grid-badge { position: absolute; top: 8px; right: 8px; background: #1a73e8; color: #fff; font-size: 10px; padding: 2px 6px; border-radius: 8px; }
.campus-section .section-more { text-align: center; margin-top: 16px; }
.campus-section .section-more a { color: #1a73e8; font-size: 14px; }
.campus-section .section-more a:hover { text-decoration: underline; }
.section-block { background: #fff; border-radius: 10px; padding: 20px; border: 1px solid #e8ecf0; }
.section-block-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.section-block .section-title { font-size: 16px; font-weight: 600; color: #222; margin: 0; }
.section-block .section-count { font-size: 13px; color: #888; }

/* === 校区列表页（独立展示） === */
.campus-list-page { }
.campus-grid-full { display: flex; flex-direction: column; gap: 12px; }
.campus-list-item { display: flex; align-items: center; gap: 16px; padding: 16px; background: #f8faff; border-radius: 10px; border: 1px solid #e8ecf0; transition: .2s; }
.campus-list-item:hover { border-color: #1a73e8; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(26,115,232,.1); }
.campus-list-item.campus-main { background: #e3f2fd; border-color: #1a73e8; }
.campus-list-icon { width: 48px; height: 48px; background: linear-gradient(135deg, #1a73e8, #0d47a1); border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 22px; }
.campus-list-info { flex: 1; min-width: 0; }
.campus-list-info h4 { font-size: 16px; font-weight: 600; color: #222; margin-bottom: 4px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.campus-list-info h4 .badge-main { background: #1a73e8; color: #fff; font-size: 11px; padding: 2px 8px; border-radius: 8px; font-weight: normal; }
.campus-list-org { font-size: 14px; color: #666; margin-bottom: 6px; }
.campus-list-meta { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13px; color: #888; }
.campus-list-action { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; flex-shrink: 0; }
.btn-campus-phone { background: #fff; color: #1a73e8; border: 1px solid #1a73e8; padding: 6px 12px; border-radius: 6px; font-size: 13px; white-space: nowrap; }
.btn-campus-phone:hover { background: #1a73e8; color: #fff; }
.btn-campus-detail { color: #1a73e8; font-size: 14px; }
.btn-campus-detail:hover { text-decoration: underline; }

@media (max-width: 768px) {
  .campus-list-item { flex-direction: column; align-items: flex-start; }
  .campus-list-action { flex-direction: row; width: 100%; justify-content: space-between; }
}

@media (max-width: 768px) {
  .campus-grid-list { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 480px) {
  .campus-grid-list { grid-template-columns: 1fr; }
}

/* === 校区详情页 === */
.campus-detail-header { background: #fff; border-radius: 10px; padding: 24px; display: flex; gap: 20px; margin-bottom: 16px; border: 1px solid #e8ecf0; align-items: center; }
.campus-detail-icon { width: 72px; height: 72px; background: linear-gradient(135deg, #1a73e8, #0d47a1); color: #fff; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.campus-detail-info { flex: 1; }
.campus-detail-name { font-size: 22px; margin-bottom: 8px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.campus-detail-meta { display: flex; gap: 20px; font-size: 14px; color: #666; }
.campus-info-grid { display: grid; grid-template-columns: 1fr 280px; gap: 20px; margin-bottom: 20px; }
.campus-info-card { background: #f8faff; border-radius: 8px; padding: 20px; }
.campus-info-card .info-item { display: flex; padding: 10px 0; border-bottom: 1px dashed #e0e0e0; }
.campus-info-card .info-item:last-child { border-bottom: none; }
.campus-info-card .info-item label { width: 90px; color: #888; font-size: 14px; flex-shrink: 0; }
.campus-info-card .info-item span { color: #333; font-size: 14px; }
.campus-info-card .phone-num { color: #1a73e8; font-weight: 600; font-size: 15px; }
.campus-contact-card { background: #fff; border: 2px solid #1a73e8; border-radius: 8px; padding: 20px; text-align: center; }
.campus-contact-card h4 { font-size: 16px; margin-bottom: 12px; color: #333; }
.campus-contact-card .contact-phone { font-size: 22px; font-weight: 700; color: #1a73e8; margin-bottom: 16px; }
.campus-contact-card .contact-btns { display: flex; flex-direction: column; gap: 8px; }
.sidebar-org-card { text-align: center; background: #fff; border-radius: 8px; padding: 20px; border: 1px solid #e8ecf0; }
.sidebar-org-card .org-logo-link { display: block; margin-bottom: 12px; }
.org-logo-lg { width: 80px; height: 80px; object-fit: contain; border-radius: 8px; margin: 0 auto; }
.org-logo-lg-placeholder { width: 80px; height: 80px; background: linear-gradient(135deg, #1a73e8, #0d47a1); color: #fff; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; margin: 0 auto; }
.org-name-sidebar { font-size: 15px; margin-bottom: 8px; }
.org-name-sidebar a { color: #333; }
.org-score-sidebar { color: #ff9800; font-size: 14px; margin-bottom: 8px; }
.org-phone-sidebar { font-size: 13px; color: #666; }
.campus-map { margin-top: 20px; }

@media (max-width: 768px) {
  .campus-detail-header { flex-direction: column; text-align: center; }
  .campus-info-grid { grid-template-columns: 1fr; }
}

/* 课程详情头部 */
.course-detail-header { background: #fff; border-radius: 10px; padding: 24px; display: flex; gap: 24px; margin-bottom: 16px; }
.course-detail-cover img { width: 280px; height: 180px; object-fit: cover; border-radius: 8px; }
.course-cover-big { width: 280px; height: 180px; background: linear-gradient(135deg,#667eea,#764ba2); color: #fff; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 48px; font-weight: 700; }
.course-detail-name { font-size: 22px; margin-bottom: 10px; }
.course-detail-org { font-size: 14px; color: #888; margin-bottom: 12px; }
.course-detail-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; }
.meta-item { background: #f8faff; border-radius: 6px; padding: 10px; }
.meta-label { font-size: 12px; color: #999; display: block; }
.meta-val { font-size: 14px; font-weight: 600; color: #333; }
.enroll-num { color: #e53935; }
.price-main { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.price-label { font-size: 14px; color: #888; }
.price-big { font-size: 28px; font-weight: 700; color: #e53935; }
.course-detail-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.btn-enroll { padding: 12px 32px; font-size: 16px; border-radius: 8px; }

/* 咨询表单 */
.consult-form-inline .form-row { margin-bottom: 16px; }
.consult-form-inline label { display: block; font-size: 14px; color: #555; margin-bottom: 6px; }
.consult-form-inline input, .consult-form-inline textarea { width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 14px; box-sizing: border-box; }
.consult-form-inline input:focus, .consult-form-inline textarea:focus { border-color: #1a73e8; outline: none; }
.form-tip { font-size: 12px; color: #999; margin-top: 8px; }

.sidebar-quick-consult { background: #fff3e0; text-align: center; }
.sidebar-quick-consult h5 { margin-bottom: 8px; font-size: 16px; }
.org-phone { font-size: 20px; font-weight: 700; color: #e65100; margin-bottom: 12px; }
.sidebar-price { font-size: 26px; font-weight: 700; color: #e53935; margin-bottom: 12px; }
.sidebar-org-item { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #f0f0f0; font-size: 14px; }
.sidebar-course-item { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #f0f0f0; font-size: 14px; }
.score-sm { color: #ff9800; font-size: 12px; }
.sidebar-campuses { }
.sidebar-campus-item { display: flex; align-items: flex-start; gap: 8px; padding: 8px 0; border-bottom: 1px solid #f0f0f0; }
.sidebar-campus-item:last-child { border-bottom: none; }
.sidebar-campus-icon { font-size: 16px; flex-shrink: 0; margin-top: 2px; }
.sidebar-campus-info { flex: 1; min-width: 0; }
.sidebar-campus-name { font-size: 13px; color: #333; font-weight: 500; display: block; }
.sidebar-campus-name:hover { color: #1a73e8; }
.badge-sm { background: #1a73e8; color: #fff; font-size: 10px; padding: 1px 5px; border-radius: 6px; margin-left: 4px; font-weight: normal; }
.sidebar-campus-addr { font-size: 11px; color: #999; display: block; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.course-org-card { display: flex; gap: 16px; align-items: flex-start; background: #f8faff; border-radius: 8px; padding: 16px; }
.org-brief-info h4 { margin-bottom: 8px; }
.org-brief-info p { font-size: 14px; color: #666; margin-bottom: 10px; }

/* === 搜索页 === */
.search-result-bar { padding: 20px 0; }
.search-result-form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.search-input-lg { flex: 1; min-width: 200px; padding: 11px 16px; border: 2px solid #1a73e8; border-radius: 6px; font-size: 15px; }
.search-result-form select { padding: 11px 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 14px; }
.result-type-bar { display: flex; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid #e8ecf0; margin-bottom: 16px; }
.result-tab { font-size: 15px; color: #666; padding: 6px 16px; border-radius: 20px; }
.result-tab.active { background: #1a73e8; color: #fff; }
.result-total { margin-left: auto; font-size: 13px; color: #888; }
.search-result-layout { display: flex; gap: 20px; }
.search-result-main { flex: 1; min-width: 0; }
.search-sidebar { width: 220px; flex-shrink: 0; }
.empty-result { text-align: center; padding: 60px; color: #999; }
.empty-result .empty-icon { font-size: 60px; margin-bottom: 16px; }
.empty-result h3 { font-size: 18px; color: #666; margin-bottom: 8px; }
.empty-tip { text-align: center; color: #999; padding: 40px; }

/* === 浮动咨询入口 === */
.float-consult { position: fixed; right: 0; bottom: 120px; z-index: 500; }
.float-btn { background: #1a73e8; color: #fff; padding: 12px 14px; border-radius: 8px 0 0 8px; cursor: pointer; text-align: center; font-size: 13px; writing-mode: vertical-lr; box-shadow: -2px 2px 8px rgba(0,0,0,.2); }
.float-btn .icon-consult { display: block; font-size: 20px; margin-bottom: 6px; writing-mode: horizontal-tb; }
.float-btn:hover { background: #1559b8; }

/* === 居中预约弹窗 === */
.consult-modal-mask { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 1000; display: flex; align-items: center; justify-content: center; }
.consult-modal { position: relative; width: 380px; max-width: 92vw; background: #fff; border-radius: 14px; padding: 26px 24px 22px; box-shadow: 0 20px 60px rgba(0,0,0,.3); animation: consultPop .25s ease; }
@keyframes consultPop { from { transform: translateY(18px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.consult-modal-close { position: absolute; top: 12px; right: 14px; cursor: pointer; color: #bbb; font-size: 20px; line-height: 1; }
.consult-modal-close:hover { color: #888; }
.consult-modal-head { text-align: center; margin-bottom: 16px; }
.consult-modal-head h3 { font-size: 20px; color: #333; margin: 0 0 6px; font-weight: 700; }
.consult-modal-sub { font-size: 13px; color: #999; margin: 0; }
/* 双 Tab */
.consult-tabs { display: flex; background: #f4f5f7; border-radius: 10px; padding: 4px; margin-bottom: 16px; }
.consult-tab { flex: 1; background: none; border: none; padding: 10px 4px; font-size: 14px; color: #666; cursor: pointer; border-radius: 8px; font-weight: 600; transition: all .2s; }
.consult-tab.active { background: #ff6a00; color: #fff; box-shadow: 0 3px 10px rgba(255,106,0,.35); }
/* 表单与下拉 */
.consult-form input, .consult-select { width: 100%; padding: 11px 12px; border: 1px solid #e2e2e2; border-radius: 8px; margin-bottom: 12px; font-size: 14px; box-sizing: border-box; background: #fff; color: #333; }
.consult-form input:focus, .consult-select:focus { border-color: #ff6a00; outline: none; }
.consult-select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%23999' stroke-width='1.5'/></svg>"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; }
.consult-form button { width: 100%; padding: 13px; background: #ff6a00; color: #fff; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; }
.consult-form button:hover { background: #e85f00; }
.consult-tip { font-size: 12px; color: #999; text-align: center; margin-top: 10px; }

/* === 底部 === */
.main-footer { background: #2c3e50; color: #aaa; padding: 40px 0 0; margin-top: 40px; }
.footer-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; margin-bottom: 24px; }
.footer-col h5 { color: #fff; font-size: 14px; margin-bottom: 12px; }
.footer-col ul li { padding: 4px 0; }
.footer-col ul li a { color: #aaa; font-size: 13px; }
.footer-col ul li a:hover { color: #fff; }
.footer-col p { font-size: 13px; color: #aaa; line-height: 1.8; }
.footer-links { padding: 16px 0; border-top: 1px solid #3d5166; font-size: 13px; }
.footer-links span { color: #777; }
.footer-links a { color: #aaa; margin-right: 12px; }
.footer-links a:hover { color: #fff; }
.footer-bottom { background: #1a252f; margin: 0 -16px; padding: 14px 16px; text-align: center; font-size: 12px; color: #666; }

/* === 响应式 === */
@media (max-width: 992px) {
  .cat-grid { grid-template-columns: repeat(4, 1fr); }
  .org-grid { grid-template-columns: repeat(4, 1fr); }
  .course-grid { grid-template-columns: repeat(4, 1fr); }
  .main-nav { display: none; }
  .list-sidebar, .detail-sidebar, .search-sidebar { display: none; }
  .footer-row { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 600px) {
  .cat-grid { grid-template-columns: repeat(3, 1fr); }
  .org-grid, .course-grid { grid-template-columns: 1fr; }
  .org-detail-header, .course-detail-header { flex-direction: column; }
  .course-detail-meta { grid-template-columns: repeat(4, 1fr); }
  .banner-text h2 { font-size: 22px; }
  .search-form { flex-wrap: wrap; }
  .footer-row { grid-template-columns: 1fr; }
}

/* === 机构介绍详情页样式 === */
.org-intro-section {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px dashed #eee;
}
.org-intro-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}
.org-intro-section h3 {
    font-size: 18px;
    color: #1a73e8;
    margin-bottom: 12px;
    padding-left: 12px;
    border-left: 1px solid #1a73e8;
}
.org-intro-section p {
    font-size: 14px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 10px;
}
.org-intro-section ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.org-intro-section ul li {
    padding: 6px 0 6px 24px;
    position: relative;
    font-size: 14px;
    color: #555;
    line-height: 1.6;
}
.org-intro-section ul li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #1a73e8;
    font-weight: bold;
}
.org-intro-section ul li:nth-child(2)::before { content: "✓"; }
.org-intro-section ul li:nth-child(3)::before { content: "✓"; }
.org-intro-section ul li:nth-child(4)::before { content: "✓"; }
.org-intro-section ul li:nth-child(5)::before { content: "✓"; }
.course-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}
.tag-item {
    display: inline-block;
    padding: 4px 12px;
    background: linear-gradient(135deg, #e3f2fd, #bbdefb);
    color: #1565c0;
    border-radius: 16px;
    font-size: 13px;
    font-weight: 500;
}
.org-content {
    font-size: 14px;
    line-height: 1.8;
}
.org-content > p {
    margin-bottom: 12px;
    color: #555;
}
.org-content strong {
    color: #333;
    font-weight: 600;
}

/* ============ 机构详情页（单栏 keedu 式改造） ============ */
.org-detail-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 20px;
  padding-bottom: 48px;
}

/* Banner（头部下方） */
.org-banner {
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 18px;
}
.org-banner-img {
  width: 100%;
  height: auto;
  display: block;
  min-height: 180px;
  object-fit: cover;
}
.org-banner-css {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0 48px;
  box-sizing: border-box;
}
/* 6 套配色（按机构 id % 6 切换） */
.bc-0 { background: linear-gradient(135deg, #1a73e8 0%, #0d47a1 60%, #1565c0 100%); }
.bc-1 { background: linear-gradient(135deg, #7b1fa2 0%, #512da8 55%, #3f51b5 100%); }
.bc-2 { background: linear-gradient(135deg, #00897b 0%, #00695c 55%, #00796b 100%); }
.bc-3 { background: linear-gradient(135deg, #e64a19 0%, #d84315 55%, #bf360c 100%); }
.bc-4 { background: linear-gradient(135deg, #c2185b 0%, #ad1457 55%, #880e4f 100%); }
.bc-5 { background: linear-gradient(135deg, #1565c0 0%, #283593 55%, #1a237e 100%); }
/* 几何装饰 */
.bc-deco { position: absolute; border-radius: 50%; pointer-events: none; }
.bc-deco-1 { width: 260px; height: 260px; right: -60px; top: -90px;
  background: rgba(255,255,255,.10); }
.bc-deco-2 { width: 150px; height: 150px; right: 120px; bottom: -70px;
  border: 14px solid rgba(255,255,255,.12); background: transparent; }
.bc-deco-3 { width: 90px; height: 90px; left: -30px; bottom: -40px;
  background: rgba(255,255,255,.08); }
.bc-content { position: relative; z-index: 2; }
.bc-name {
  font-size: 40px; font-weight: 800; color: #fff;
  letter-spacing: 2px; line-height: 1.2;
  text-shadow: 0 2px 12px rgba(0,0,0,.25);
}
.bc-sub {
  margin-top: 8px;
  font-size: 16px; font-weight: 500;
  color: rgba(255,255,255,.85);
  letter-spacing: 1px;
}
.bc-tags { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.bc-tag, .bc-score {
  font-size: 13px; line-height: 1;
  padding: 6px 12px;
  border-radius: 20px;
  background: rgba(255,255,255,.18);
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
}
.bc-score { background: rgba(255,255,255,.95); color: #333; font-weight: 700; border: none; }

/* 吸顶锚点导航 */
.org-sticky-nav {
  position: sticky;
  top: 64px;
  z-index: 90;
  background: #fff;
  border: 1px solid #e8ecf0;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(26,115,232,.06);
  margin-bottom: 18px;
  overflow: hidden;
}
.org-sticky-nav ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.org-sticky-nav li { flex: 1; text-align: center; }
.org-sticky-nav li + li { border-left: 1px solid #f0f3f7; }
.org-sticky-nav a {
  display: block;
  padding: 14px 6px;
  font-size: 15px;
  font-weight: 600;
  color: #555;
  border-bottom: 3px solid transparent;
  transition: .15s;
}
.org-sticky-nav a:hover { color: #1a73e8; background: #f5f9ff; }
.org-sticky-nav a.active { color: #1a73e8; border-bottom-color: #1a73e8; }

/* 板块 */
.org-section {
  background: #fff;

  border-radius: 10px;
  padding: 22px 24px;
  margin-bottom: 18px;
  scroll-margin-top: 124px;
}
.org-section-title {
  font-size: 18px;
  font-weight: 700;
  color: #222;
  margin: 0 0 18px;
  padding-left: 12px;
  border-left: 4px solid #1a73e8;
  display: flex;
  align-items: baseline;
}
.org-section-count {
  font-size: 13px;
  font-weight: 400;
  color: #999;
  margin-left: 10px;
}

/* 课程推荐卡片 */
.course-rec-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.course-rec-card {
  display: flex;
  gap: 14px;
  padding: 14px;
  border: 1px solid #eef1f5;
  border-radius: 10px;
  transition: .2s;
  background: #fff;
}
.course-rec-card:hover {
  border-color: #1a73e8;
  box-shadow: 0 6px 18px rgba(26,115,232,.12);
}
.course-rec-cover,
.course-rec-cover-link {
  width: 130px;
  height: 96px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
}
.course-rec-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.course-rec-cover-ph {
  width: 130px;
  height: 96px;
  flex-shrink: 0;
  border-radius: 8px;
  background: linear-gradient(135deg,#1a73e8,#0d47a1);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 700;
}
.course-rec-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.course-rec-title {
  font-size: 15px;
  font-weight: 600;
  color: #222;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 6px;
}
.course-rec-title:hover { color: #1a73e8; }
.course-rec-meta {
  font-size: 12px;
  color: #999;
  margin-bottom: 8px;
}
.course-rec-meta .dot { margin: 0 6px; color: #ddd; }
.course-rec-bottom {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.course-rec-price { color: #e53935; font-weight: 700; font-size: 16px; }
.course-rec-btns { display: flex; gap: 8px; }
.course-rec-btns .btn-sm {
  font-size: 12px;
  padding: 5px 12px;
  border-radius: 6px;
}

/* 编号校区列表 */
.campus-num-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  counter-reset: cp;
}
.campus-num-list li { counter-increment: cp; }
.campus-num-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: #f8fafc;
  border: 1px solid #eef1f5;
  border-radius: 8px;
  transition: .2s;
}
.campus-num-link:hover { border-color: #1a73e8; background: #f5f9ff; }
.campus-num-link::before {
  content: counter(cp);
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  background: #1a73e8;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
}
.campus-num-main { flex: 1; min-width: 0; }
.campus-name { font-size: 15px; color: #222; font-weight: 600; margin: 0 0 2px; }
.campus-addr { font-size: 12px; color: #999; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.campus-num-go { font-size: 13px; color: #1a73e8; flex-shrink: 0; }

/* 相关机构（底部） */
.rel-org-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.rel-org-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #eef1f5;
  border-radius: 8px;
  transition: .2s;
}
.rel-org-card:hover { border-color: #1a73e8; box-shadow: 0 4px 12px rgba(26,115,232,.1); }
.rel-org-logo {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  border-radius: 8px;
  background: linear-gradient(135deg,#1a73e8,#0d47a1);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
}
.rel-org-body { min-width: 0; }
.rel-org-name { font-size: 14px; color: #222; font-weight: 600; margin: 0 0 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rel-org-meta { font-size: 12px; color: #999; }

/* 中等屏：课程卡降为 2 列，避免 3 列过窄 */
@media (max-width: 1100px) {
  .course-rec-grid { grid-template-columns: repeat(2, 1fr); }
}
/* 响应式 */
@media (max-width: 768px) {
  .course-rec-grid,
  .campus-num-list,
  .rel-org-grid { grid-template-columns: 1fr; }
  .org-sticky-nav ul { flex-wrap: wrap; }
  .org-sticky-nav li { flex: 0 0 33.33%; border-left: none; border-top: 1px solid #f0f3f7; }
  .course-rec-cover,
  .course-rec-cover-link,
  .course-rec-cover-ph { width: 100px; height: 76px; }
}

/* 学员评价 */
.review-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.review-card {
  border: 1px solid #eef1f5;
  border-radius: 10px;
  padding: 16px 18px;
  background: #fff;
  transition: .2s;
}
.review-card:hover {
  border-color: #1a73e8;
  box-shadow: 0 6px 18px rgba(26,115,232,.1);
}
.review-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.review-avatar {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 50%;
  background: linear-gradient(135deg,#1a73e8,#0d47a1);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
}
.review-meta { min-width: 0; flex: 1; }
.review-name { font-size: 14px; font-weight: 600; color: #222; line-height: 1.3; }
.review-course { font-size: 12px; color: #1a73e8; margin-top: 2px; }
.review-stars { flex-shrink: 0; display: flex; gap: 1px; }
.review-content { font-size: 13px; line-height: 1.75; color: #555; margin: 0; }
@media (max-width: 768px) {
  .review-grid { grid-template-columns: 1fr; }
}

/* ============ 机构主页补充（keedu school 式） ============ */
/* 横条 · 咨询电话 */
.cd-orgbar-tel { text-align: center; padding-left: 20px; margin-left: 2px; border-left: 1px solid #eef1f5; }
.cd-orgbar-tel span { display: block; font-size: 12px; color: #999; margin-bottom: 2px; }
.cd-orgbar-tel b { font-size: 18px; font-weight: 700; color: #1a73e8; }

/* 试听券 */
.cd-card.cd-coupon {
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(90deg, #fff6f5, #fff 70%);
  border: 1px dashed #ffb3b3;
}
.cd-coupon-icon {
  width: 56px; height: 56px; flex: 0 0 56px;
  border-radius: 8px;
  background: linear-gradient(135deg, #ff6a6a, #e53935);
  color: #fff; font-size: 20px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.cd-coupon-txt { flex: 1; min-width: 0; }
.cd-coupon-name { font-size: 15px; font-weight: 700; color: #e53935; }
.cd-coupon-desc { font-size: 12px; color: #999; margin-top: 5px; }
.cd-coupon-btn {
  padding: 9px 22px; border-radius: 6px;
  background: #e53935; color: #fff;
  font-size: 14px; text-decoration: none; white-space: nowrap;
}
.cd-coupon-btn:hover { background: #c62828; }

/* ============ 校区详情页（keedu 式改造） ============ */
.cd-page{background:#f5f6f8;padding-bottom:40px;}
.cd-page .container{max-width:1200px;}

/* 机构横条 */
.cd-orgbar{background:#fff;border-bottom:1px solid #e8ecf0;}
.cd-orgbar-inner{display:flex;align-items:center;gap:24px;padding-top:20px;padding-bottom:20px;}
.cd-orgbar-logo{width:130px;height:68px;flex:0 0 130px;display:flex;align-items:center;justify-content:center;border:1px solid #eef1f5;border-radius:6px;overflow:hidden;background:#fff;}
.cd-orgbar-logo img{max-width:100%;max-height:100%;object-fit:contain;}
.cd-logo-ph{width:48px;height:48px;border-radius:8px;background:linear-gradient(135deg,#1a73e8,#4a90e2);color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.cd-logo-ph-lg{width:150px;height:90px;border-radius:8px;font-size:38px;}
.cd-orgbar-info{flex:1;min-width:0;}
.cd-orgbar-name{font-size:24px;font-weight:700;color:#222;margin:0 0 8px;display:flex;align-items:center;gap:8px;}
.cd-orgbar-name a{color:#222;text-decoration:none;}
.cd-vbadge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#ff6a00;color:#fff;font-size:12px;font-weight:700;}
.cd-orgbar-rate{display:flex;align-items:center;gap:8px;font-size:13px;color:#888;margin-bottom:10px;}
.cd-orgbar-rcount{color:#1a73e8;}
.cd-sep{color:#ddd;}
.cd-orgbar-tags{display:flex;flex-wrap:wrap;gap:8px;}
.cd-tag{padding:3px 12px;border:1px solid #dfe6ee;border-radius:20px;font-size:12px;color:#5b6b7b;text-decoration:none;background:#f8fafc;}
.cd-orgbar-stats{display:flex;align-items:center;gap:26px;flex:0 0 auto;}
.cd-stat{text-align:center;min-width:64px;}
.cd-stat b{display:block;font-size:28px;font-weight:700;color:#1a73e8;line-height:1.1;}
.cd-stat span{font-size:13px;color:#888;}
.cd-orgbar-btn{padding:10px 22px;border-radius:6px;background:#1a73e8;color:#fff;font-size:14px;text-decoration:none;white-space:nowrap;}
.cd-orgbar-btn:hover{background:#1668d0;}

/* 页面级标签 */
.cd-pagetabs{background:#fff;border-bottom:1px solid #e8ecf0;}
.cd-pagetabs .container{display:flex;gap:34px;}
.cd-pagetabs a{padding:14px 2px;font-size:15px;color:#444;text-decoration:none;border-bottom:2px solid transparent;}
.cd-pagetabs a:hover{color:#1a73e8;}
.cd-pagetabs a.active{color:#1a73e8;border-bottom-color:#1a73e8;font-weight:600;}

/* 面包屑 */
.cd-crumb{padding:12px 0;font-size:13px;color:#888;}
.cd-crumb a{color:#888;text-decoration:none;}
.cd-crumb a:hover{color:#1a73e8;}
.cd-crumb-sep{margin:0 6px;color:#ccc;}
.cd-crumb .cur{color:#333;}

/* 两栏布局 */
.cd-layout{display:flex;gap:20px;padding-top:16px;align-items:flex-start;}
.cd-main{flex:1;min-width:0;}
.cd-side{width:300px;flex:0 0 300px;position:sticky;top:20px;align-self:flex-start;}

/* 通用卡片 */
.cd-card{background:#fff;border:1px solid #e8ecf0;border-radius:8px;padding:20px;margin-bottom:16px;}
.cd-card-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.cd-card-hd h3{font-size:17px;font-weight:700;color:#222;margin:0;padding-left:12px;position:relative;}
.cd-card-hd h3::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:2px;background:#1a73e8;}
.cd-hd-more{font-size:13px;color:#1a73e8;text-decoration:none;}
.cd-hd-more:hover{text-decoration:underline;}
.cd-hd-count{font-size:13px;color:#999;}

/* 校区概览卡 */
.cd-ov-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f3f7;padding-bottom:14px;margin-bottom:16px;}
.cd-ov-title{font-size:20px;font-weight:700;color:#222;margin:0;display:flex;align-items:center;gap:8px;}
.cd-chip{font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px;}
.cd-chip-main{background:#fff2e8;color:#ff7a18;border:1px solid #ffd9bf;}
.cd-chip-auth{background:#eef5ff;color:#1a73e8;border:1px solid #cfe0fb;}
.cd-ov-others{font-size:13px;color:#1a73e8;text-decoration:none;}
.cd-ov-body{display:flex;gap:24px;}
.cd-ov-logo{width:190px;flex:0 0 190px;height:110px;border:1px solid #eef1f5;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;}
.cd-ov-logo img{max-width:100%;max-height:100%;object-fit:contain;}
.cd-ov-info{flex:1;min-width:0;}
.cd-ov-rate{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:13px;color:#888;}
.cd-ov-rcount{color:#1a73e8;}
.cd-ov-score b{color:#ff7a18;font-size:15px;}
.cd-ov-row{font-size:14px;color:#555;line-height:2;}
.cd-ov-label{color:#999;}
.cd-ov-more{display:inline-block;margin-top:6px;font-size:13px;color:#1a73e8;text-decoration:none;}
.cd-ov-foot{display:flex;align-items:center;gap:14px;margin-top:18px;border-top:1px solid #f0f3f7;padding-top:16px;}

/* 按钮 */
.cd-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 26px;border-radius:6px;font-size:15px;text-decoration:none;cursor:pointer;border:none;}
.cd-btn-primary{background:#ff7a18;color:#fff;}
.cd-btn-primary:hover{background:#f06a00;}
.cd-btn-ghost{background:#fff;color:#1a73e8;border:1px solid #1a73e8;}
.cd-btn-ghost:hover{background:#f0f7ff;}
.cd-btn-full{width:100%;}

/* 地图 */
.cd-map-wrap{position:relative;border-radius:6px;overflow:hidden;}
.cd-map-addr{margin-top:10px;font-size:13px;color:#666;}
.map-info{position:absolute;left:50%;bottom:50%;transform:translateX(-50%);margin-bottom:52px;background:#fff;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.18);padding:10px 14px;min-width:180px;max-width:calc(100% - 24px);z-index:1000;text-align:left;}
.map-info::after{content:"";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff;}
.map-info-title{font-weight:700;font-size:14px;color:#333;margin-bottom:4px;}
.map-info-addr{font-size:12px;color:#666;}

/* 分区导航 */
.cd-secnav{display:flex;gap:28px;background:#fff;border:1px solid #e8ecf0;border-radius:8px;padding:0 20px;margin-bottom:16px;}
.cd-secnav a{padding:14px 2px;font-size:15px;color:#555;text-decoration:none;border-bottom:2px solid transparent;}
.cd-secnav a.active,.cd-secnav a:hover{color:#1a73e8;border-bottom-color:#1a73e8;font-weight:600;}

/* 课程卡（横向小卡 · 信息增强） */
.cd-course-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cd-course{display:flex;gap:12px;border:1px solid #eef1f5;border-radius:8px;padding:12px;background:#fff;transition:box-shadow .2s,border-color .2s;}
.cd-course:hover{border-color:#cfe0fb;box-shadow:0 4px 12px rgba(26,115,232,.08);}
.cd-course-cover{width:108px;height:84px;flex:0 0 108px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef5ff,#dfe9f8);position:relative;text-decoration:none;}
.cd-course-cover img{width:100%;height:100%;object-fit:cover;}
.cd-course-ph{font-size:13px;color:#1a73e8;text-align:center;padding:0 6px;font-weight:600;line-height:1.4;}
.cd-course-flag{position:absolute;top:0;font-size:11px;color:#fff;padding:1px 6px;line-height:1.5;}
.cd-flag-hot{left:0;border-radius:0 0 6px 0;background:#ff4d4f;}
.cd-flag-rec{right:0;border-radius:0 0 6px 0;background:#ff9500;}
.cd-course-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.cd-course-name{font-size:14px;font-weight:600;color:#222;text-decoration:none;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cd-course-name:hover{color:#1a73e8;}
.cd-course-intro{display:none;}
.cd-course-meta{display:flex;flex-wrap:wrap;gap:5px;}
.cd-cm{font-size:12px;color:#5b6b7b;background:#f4f6f9;border-radius:4px;padding:1px 7px;}
.cd-cm-level{color:#1a73e8;background:#eef5ff;}
.cd-course-tags{display:flex;flex-wrap:wrap;gap:5px;}
.cd-course-tags em{font-style:normal;font-size:12px;color:#ff7a18;background:#fff5ee;border:1px solid #ffe0c8;border-radius:4px;padding:0 6px;}
.cd-course-foot{display:flex;align-items:baseline;justify-content:space-between;margin-top:2px;}
.cd-course-price{display:flex;align-items:baseline;gap:5px;}
.cd-price-now{font-size:16px;font-weight:700;color:#ff4d4f;}
.cd-price-old{font-size:11px;color:#bbb;}
.cd-course-act{display:flex;align-items:center;gap:8px;}
.cd-course-consult{padding:4px 13px;border-radius:16px;background:#ff7a18;color:#fff;font-size:12px;text-decoration:none;font-weight:500;}
.cd-course-consult:hover{background:#f06a00;}
.cd-course-follow{font-size:12px;color:#aaa;}

/* 校区简介 */
.cd-about-row{display:flex;font-size:14px;color:#555;padding:8px 0;border-bottom:1px dashed #f0f3f7;}
.cd-about-row label{width:90px;flex:0 0 90px;color:#999;}
.cd-about-tags em{font-style:normal;display:inline-block;margin:0 8px 6px 0;padding:3px 12px;background:#f4f8ff;color:#1a73e8;border-radius:20px;font-size:12px;}
.cd-about-intro{font-size:14px;color:#555;line-height:1.9;margin-top:12px;}

/* 教学环境 */
.cd-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.cd-gallery img{width:100%;height:150px;object-fit:cover;border-radius:6px;}

/* 校区分布 */
.cd-campus-item{border:1px solid #eef1f5;border-radius:8px;padding:14px 16px;margin-bottom:12px;}
.cd-campus-item.cur{border-color:#1a73e8;background:#f7faff;}
.cd-campus-top{display:flex;align-items:center;justify-content:space-between;}
.cd-campus-top h4{font-size:15px;color:#222;margin:0;display:flex;align-items:center;gap:8px;}
.cd-campus-go{font-size:13px;color:#1a73e8;text-decoration:none;}
.cd-campus-item.cur .cd-campus-go{color:#999;}
.cd-campus-addr{font-size:13px;color:#777;margin-top:6px;}

/* 会员点评 */
.cd-review-tabs{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.cd-review-tabs a,.cd-review-tabs span{padding:5px 14px;border-radius:20px;background:#f4f6f9;color:#555;font-size:13px;cursor:pointer;text-decoration:none;}
.cd-review-tabs a.on,.cd-review-tabs span.on{background:#1a73e8;color:#fff;}
/* 点评统计卡（教育宝样式） */
.cd-review-summary{display:flex;align-items:center;gap:24px;padding:16px 4px 18px;margin-bottom:16px;border-bottom:1px solid #f2f4f7;flex-wrap:wrap;}
.cd-rs-left{flex:0 0 auto;text-align:left;padding-right:24px;border-right:1px solid #f2f4f7;}
.cd-rs-pct{font-size:34px;font-weight:800;color:#ff7000;line-height:1.1;}
.cd-rs-pct-label{font-size:12px;color:#999;margin-top:2px;}
.cd-rs-mid{flex:1;min-width:200px;}
.cd-rs-name{font-size:16px;font-weight:700;color:#222;margin-bottom:6px;}
.cd-rs-overall{font-size:13px;color:#555;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.cd-rs-score{color:#ff7000;font-size:15px;font-weight:700;}
.cd-rs-dims{font-size:12px;color:#999;margin-top:5px;}
.cd-rs-dims i{font-style:normal;color:#ff7000;font-weight:400;}
.cd-rs-right{flex:0 0 auto;display:flex;gap:16px;font-size:13px;color:#666;}
.cd-rs-right span{white-space:nowrap;}
/* 全局登录/注册弹窗 */
.auth-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;}
.auth-mask{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.auth-box{position:relative;width:340px;max-width:92vw;background:#fff;border-radius:12px;padding:28px 26px 24px;box-shadow:0 18px 50px rgba(0,0,0,.22);animation:authPop .18s ease-out;}
@keyframes authPop{from{transform:translateY(12px) scale(.97);opacity:0;}to{transform:none;opacity:1;}}
.auth-close{position:absolute;top:10px;right:14px;border:none;background:none;font-size:24px;line-height:1;color:#bbb;cursor:pointer;}
.auth-close:hover{color:#666;}
.auth-tabs{display:flex;gap:24px;margin-bottom:18px;border-bottom:1px solid #f0f2f5;}
.auth-tabs span{font-size:17px;color:#888;padding-bottom:10px;cursor:pointer;position:relative;}
.auth-tabs span.on{color:#1a73e8;font-weight:700;}
.auth-tabs span.on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#1a73e8;}
.auth-form .auth-field{margin-bottom:12px;}
.auth-form .auth-field input{width:100%;height:44px;padding:0 14px;border:1px solid #e3e7ee;border-radius:8px;font-size:15px;box-sizing:border-box;outline:none;}
.auth-form .auth-field input:focus{border-color:#1a73e8;}
.auth-msg{color:#e53935;font-size:13px;min-height:18px;margin-bottom:6px;}
.auth-submit{width:100%;height:46px;border:none;border-radius:8px;background:#1a73e8;color:#fff;font-size:16px;font-weight:600;cursor:pointer;margin-top:4px;}
.auth-submit:hover{background:#1666cc;}
.cd-review{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #f2f4f7;}
.cd-review:last-child{border-bottom:none;}
.cd-review-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:linear-gradient(135deg,#1a73e8,#5b9bf3);color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.cd-review-main{flex:1;min-width:0;}
.cd-review-head{display:flex;align-items:center;gap:10px;margin-bottom:4px;}
.cd-review-name{font-size:14px;font-weight:600;color:#333;}
.cd-review-course{font-size:12px;color:#ff7a18;margin-bottom:6px;}
.cd-review-content{font-size:14px;color:#555;line-height:1.8;margin:0 0 8px;}
.cd-review-date{font-size:12px;color:#aaa;}

/* 侧栏 · 预约试听 */
.cd-side-title{font-size:16px;font-weight:700;color:#222;margin:0 0 16px;text-align:center;}
.cd-order{background:linear-gradient(180deg,#f2f9ff,#eaf4ff);border-color:#d6ebff;}
.cd-order form{display:flex;flex-direction:column;gap:12px;}
.cd-order input[type=text],.cd-order input[type=tel]{height:44px;line-height:44px;border:1px solid #dfe6ee;border-radius:8px;padding:0 14px;font-size:14px;color:#333;background:#fff;box-sizing:border-box;width:100%;transition:border-color .2s,box-shadow .2s;}
.cd-order input::placeholder{color:#b6c0cc;}
.cd-order input[type=text]:focus,.cd-order input[type=tel]:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 3px rgba(26,115,232,.12);}
.cd-order form .cd-btn{height:44px;padding:0;border-radius:8px;font-size:15px;font-weight:600;letter-spacing:1px;}
.cd-order-agree{font-size:12px;color:#888;display:flex;align-items:center;gap:4px;margin-top:2px;}
.cd-order-agree input[type=checkbox]{margin:0;width:14px;height:14px;flex:0 0 auto;accent-color:#1a73e8;cursor:pointer;}
.cd-order-agree span{color:#1a73e8;cursor:pointer;}

/* 侧栏 · 课程导航 / 同城机构 */
.cd-nav-tags{display:flex;flex-wrap:wrap;gap:10px;}
.cd-nav-tags a{padding:5px 14px;border:1px solid #dfe6ee;border-radius:20px;font-size:13px;color:#5b6b7b;text-decoration:none;background:#f8fafc;}
.cd-nav-tags a:hover{border-color:#1a73e8;color:#1a73e8;}
.cd-near-list{list-style:none;margin:0;padding:0;}
.cd-near-list li{border-bottom:1px dashed #f0f3f7;}
.cd-near-list a{display:flex;align-items:center;justify-content:space-between;padding:10px 0;text-decoration:none;}
.cd-near-name{font-size:14px;color:#333;}
.cd-near-list a:hover .cd-near-name{color:#1a73e8;}
.cd-near-score{font-size:12px;color:#ff7a18;}

/* 切换城市 */
.cd-city-switch{padding:22px 24px 20px;}
.cd-city-title{font-size:17px;font-weight:700;color:#222;margin:0 0 18px;padding-left:12px;position:relative;}
.cd-city-title::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:2px;background:#1a73e8;}
.cd-city-tags{display:flex;flex-wrap:wrap;gap:14px;}
.cd-city-tag{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 20px;border:1px solid #cfe0fb;border-radius:20px;font-size:14px;color:#1a73e8;background:#fff;text-decoration:none;box-sizing:border-box;transition:background .2s,border-color .2s,color .2s;}
.cd-city-tag:hover{background:#f0f7ff;border-color:#1a73e8;}
.cd-city-tag.active{background:#1a73e8;border-color:#1a73e8;color:#fff;font-weight:600;}
/* 切换城市（右侧栏紧凑版） */
.cd-city-switch.cd-side-card{padding:16px 16px 14px;}
.cd-city-switch.cd-side-card .cd-city-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.cd-city-switch.cd-side-card .cd-city-tag{height:30px;padding:0 13px;font-size:13px;border-radius:16px;}

/* ===================== 课程详情页（keedu 式） ===================== */
/* 课程信息卡（丰富版） */
.cd-course-info{padding:0;overflow:hidden;}
/* 封面小缩略图：左列收窄、封面定高（整体缩小），右侧详情占满剩余宽度 */
.cd-course-info--wide{display:flex;flex-wrap:wrap;}
.cd-ci-left{flex:0 0 300px;width:300px;display:flex;flex-direction:column;border-right:1px solid #f0f3f7;}
.cd-ci-cover{position:relative;flex:0 0 auto;width:100%;aspect-ratio:600/430;min-height:0;background:linear-gradient(135deg,#eef5ff,#dfe9f8);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.cd-ci-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.cd-ci-cstats{display:flex;align-items:center;gap:14px;padding:12px 16px 0;font-size:12px;color:#999;flex-wrap:wrap;}
.cd-ci-cstats .cd-cs{display:inline-flex;align-items:baseline;gap:1px;}
.cd-ci-cstats .cd-cs b{color:#ff7a18;font-weight:700;font-size:13px;}
.cd-ci-cstats .cd-cs-fav{margin-left:auto;align-items:center;cursor:pointer;}
.cd-ci-cstats .cd-cs-fav i{color:#ff4d4f;font-style:normal;font-size:13px;}
.cd-ci-ctags{display:flex;gap:8px;padding:12px 16px 16px;flex-wrap:wrap;}
.cd-ci-ctags em{font-style:normal;font-size:12px;color:#fff;border-radius:4px;padding:4px 12px;line-height:1.3;}
.cd-ci-ctags em.t1{background:#f5b942;}
.cd-ci-ctags em.t2{background:#f28b82;}
.cd-ci-ctags em.t3{background:#6ea8f5;}
.cd-ci-cover-ph{font-size:32px;font-weight:700;color:#1a73e8;}
.cd-ci-flag{position:absolute;top:12px;left:12px;color:#fff;font-size:12px;padding:3px 10px;border-radius:10px;z-index:2;}
.cd-ci-flag-hot{background:#ff4d4f;}
.cd-ci-flag-auth{background:#1a73e8;left:auto;right:12px;}
.cd-ci-main{flex:1;min-width:0;padding:20px 24px;display:flex;flex-direction:column;gap:14px;}
.cd-ci-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.cd-ci-name{font-size:22px;font-weight:700;color:#222;line-height:1.4;margin:0;}
.cd-ci-org{font-size:13px;color:#1a73e8;text-decoration:none;}
.cd-ci-org:hover{text-decoration:underline;}
.cd-ci-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.cd-ci-now{font-size:30px;font-weight:700;color:#ff4d4f;line-height:1;}
.cd-ci-price del{font-size:14px;color:#bbb;}
.cd-ci-disc{font-size:12px;color:#fff;background:#ff7a18;border-radius:4px;padding:2px 7px;}
.cd-ci-meta{font-size:12px;color:#999;margin-left:auto;}
.cd-ci-quote{font-size:13px;color:#1a73e8;background:#fff;border:1px solid #1a73e8;border-radius:4px;padding:3px 10px;line-height:1.4;cursor:pointer;white-space:nowrap;transition:all .2s;}
.cd-ci-quote:hover{background:#1a73e8;color:#fff;}
.cd-ci-satisfy-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.cd-ci-satisfy{font-size:13px;color:#666;}
.cd-ci-satisfy b{font-size:13px;color:#ff7a18;font-weight:normal;margin:0 2px;}
.cd-ci-rvlink{font-size:13px;color:#666;cursor:pointer;}
.cd-ci-rvlink b{font-size:13px;color:#ff7a18;font-weight:normal;margin:0 2px;}
.cd-ci-rvlink:hover{color:#ff7a18;}
.cd-ci-stars{display:inline-flex;gap:2px;vertical-align:-2px;}
.cd-ci-ctags{margin-top:auto;}
.cd-ci-main{padding-bottom:10px;}
/* 返现奖励提示（价格下方） */
.cd-ci-rebate{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cd-ci-fan{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;}
.cd-ci-fan em{font-style:normal;background:#ff4d4f;color:#fff;font-size:12px;line-height:1;padding:4px 6px;border-radius:3px;}
.cd-ci-fan b{font-weight:600;color:#ff4d4f;font-size:13px;line-height:1;padding:3px 8px;border:1px solid #ff4d4f;border-radius:3px;background:#fff5f5;}
.cd-ci-fan-tip{font-size:12px;color:#999;line-height:1.5;}
.cd-ci-attrs{list-style:none;margin:0;padding:14px 0;border-top:1px dashed #f0f3f7;border-bottom:1px dashed #f0f3f7;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;}
.cd-ci-attrs li{display:flex;font-size:13px;}
.cd-ci-attrs li span{width:64px;flex:0 0 64px;color:#999;}
.cd-ci-attrs li em{font-style:normal;color:#333;flex:1;}
.cd-ci-attrs li em a{color:#1a73e8;text-decoration:none;}
.cd-ci-intro{font-size:13px;color:#666;line-height:1.8;margin:0;}
.cd-ci-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
.cd-ci-tags-label{font-size:13px;color:#999;margin-right:2px;}
.cd-ci-tags em{font-style:normal;font-size:12px;color:#ff7a18;background:#fff5ee;border:1px solid #ffe0c8;border-radius:4px;padding:2px 9px;}
.cd-ci-service{display:flex;flex-wrap:wrap;gap:10px 22px;padding:12px 14px;background:#f7fafe;border-radius:8px;}
.cd-ci-sv{display:flex;align-items:center;gap:6px;font-size:13px;color:#555;}
.cd-ci-sv .dot{width:8px;height:8px;border-radius:50%;background:#1a73e8;flex:0 0 8px;}
.cd-ci-actions{display:flex;gap:12px;margin-top:2px;}
.cd-ci-actions .cd-btn{flex:0 0 auto;padding:10px 30px;}
.cd-course-info--wide .cd-btn-full{width:auto;margin:0 20px 0 0;padding:10px 40px;}
.cd-course-info--wide .cd-ci-consult-link{display:inline-block;margin:10px 0 0 14px;}
/* 底部通栏：简介 / 课程标签 / 服务 / 按钮 */
.cd-ci-foot{flex:0 0 100%;width:100%;box-sizing:border-box;padding:16px 24px 20px;margin-top:2px;border-top:1px dashed #eef1f5;display:flex;flex-direction:column;gap:14px;}

/* 主区小标题（该机构其他课程 等） */
.cd-sub-hd{font-size:15px;font-weight:700;color:#222;margin:24px 0 12px;padding-left:12px;position:relative;}
.cd-sub-hd::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:2px;background:#1a73e8;}

/* 报名咨询表单 */
.cd-form{display:flex;flex-direction:column;gap:14px;}
.cd-form-row{display:flex;flex-direction:column;gap:6px;}
.cd-form-row label{font-size:13px;color:#666;}
.cd-form-row label em{color:#ff4d4f;font-style:normal;}
.cd-form-row input,.cd-form-row textarea{width:100%;border:1px solid #dfe6ee;border-radius:8px;padding:10px 12px;font-size:14px;box-sizing:border-box;font-family:inherit;resize:vertical;color:#333;}
.cd-form-row input:focus,.cd-form-row textarea:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 3px rgba(26,115,232,.12);}
.cd-form .cd-btn-full{margin-top:2px;}

/* 校区列表里的小徽标 */
.cd-badge-sm{font-style:normal;font-size:11px;color:#fff;background:#1a73e8;border-radius:4px;padding:1px 5px;margin-left:4px;}


/* 课程信息卡：窄屏堆叠 */
@media (max-width:768px){
  .cd-layout{flex-direction:column;gap:16px;}
  .cd-side{width:100%;flex:0 0 auto;position:static;}
  .cd-pagetabs .container{gap:16px;overflow-x:auto;}
  .cd-course-info--wide{flex-direction:column;}
  .cd-ci-left{flex:0 0 auto;width:100%;border-right:0;border-bottom:1px solid #f0f3f7;}
  .cd-ci-cover{min-height:0;}
  .cd-ci-main{flex:0 0 auto;width:100%;padding:16px;}
  .cd-ci-foot{padding:14px 16px 16px;}
  .cd-ci-attrs{grid-template-columns:1fr;}
}

/* ===================== 移动端横向溢出修复（20260916） ===================== */
/* 头部搜索框：允许收缩，避免窄屏把整页撑宽 */
@media (max-width:768px){
  .main-header .container{gap:12px;}
  .header-search{flex:1 1 auto;min-width:0;}
  .header-search input{width:100%;min-width:0;}
}

/* 课程/机构详情页：堆叠时占满宽度（.cd-layout 桌面为 align-items:flex-start，
   堆叠后会让主列按 min-content 撑开，导致整页横向滚动、封面被裁） */
@media (max-width:768px){
  .cd-layout{align-items:stretch;}
  .cd-main{width:100%;max-width:100%;min-width:0;}
  .cd-side{width:100%;max-width:100%;}
  .cd-course-grid{grid-template-columns:1fr;}
  .cd-orgbar-inner{flex-wrap:wrap;gap:12px;}
  .cd-orgbar-logo{width:92px;height:52px;flex:0 0 92px;}
  .cd-orgbar-name{font-size:18px;}
  .cd-orgbar-stats{flex:0 0 100%;justify-content:flex-start;gap:16px;}
  .cd-ci-cover img{width:100%;height:auto;}
  .course-content img{max-width:100%;height:auto;}
}

/* 课程信息卡：超窄屏进一步收拢 */
@media (max-width:480px){
  .cd-ci-cstats{gap:10px;}
  .cd-ci-actions{flex-wrap:wrap;}
  .cd-ci-actions .cd-btn{flex:1 1 auto;}
}

/* 首页“最新报名”网格：1fr 的 min-content 会撑破容器，改用 minmax(0,1fr) */
.enroll-list{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:992px){
  .enroll-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:480px){
  .enroll-list{grid-template-columns:1fr;}
}

/* ===================== 列表页课程卡片：统一封面尺寸（20260916） ===================== */
/* 原来 .course-list-cover 只设了 flex-shrink:0、没限宽，
   600px 宽的封面大图会把右侧标题/正文/价格挤成窄条 */
.course-list-item{align-items:flex-start;}
.course-list-cover{flex:0 0 160px;width:160px;height:110px;border-radius:6px;overflow:hidden;background:#eef3fa;display:block;}
.course-list-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.course-list-cover .course-cover-sm{width:100%;height:100%;border-radius:6px;font-size:22px;}
.course-list-body{padding-top:2px;}
.course-list-price .btn-detail,.course-list-price .btn-consult{width:92px;box-sizing:border-box;}
@media (max-width:768px){
  .course-list-item{flex-wrap:wrap;}
  .course-list-cover{flex:0 0 104px;width:104px;height:74px;}
  .course-list-price{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;margin-top:10px;}
  .course-list-price .btn-detail,.course-list-price .btn-consult{width:auto;}
}

/* ============ 价格详询（价格为 0/空 时替代打码价格） ============ */
.cd-ci-now.cd-ci-inquiry{font-size:26px;color:#ff7a18;letter-spacing:1px;}
.cd-price-now.cd-price-inquiry{font-size:15px;color:#ff7a18;font-weight:700;}

/* ===== 学校相册 ===== */
.cd-gallery-img{cursor:zoom-in;transition:transform .2s ease,box-shadow .2s ease;}
.cd-gallery-img:hover{transform:scale(1.03);box-shadow:0 4px 14px rgba(0,0,0,.18);}
.cd-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px;cursor:zoom-out;}
.cd-lightbox.on{display:flex;}
.cd-lightbox img{max-width:92vw;max-height:88vh;border-radius:6px;box-shadow:0 8px 30px rgba(0,0,0,.4);}
@media(max-width:600px){.cd-gallery{grid-template-columns:repeat(2,1fr);}.cd-gallery img{height:110px;}}
/* ===== 学校简介折叠 ===== */
.cd-intro-wrap{position:relative;}
.cd-intro-fold{max-height:600px;overflow:hidden;transition:max-height .35s ease;}
.cd-intro-fold.expanded{max-height:4000px;}
.cd-intro-fade{position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,#fff 85%);pointer-events:none;}
.cd-intro-btn{display:block;margin:14px auto 0;padding:7px 26px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#2563eb;font-size:14px;cursor:pointer;transition:all .2s;}
.cd-intro-btn:hover{background:#eff6ff;border-color:#bfdbfe;}


/* ===== 机构列表大卡片（仿勤学365：内嵌课程缩略图+报价）===== */
.org-list-item{display:block;padding:16px 18px 14px;}
.oc-head{display:flex;gap:14px;margin-bottom:10px;}
.oc-logo{flex-shrink:0;width:72px;height:72px;border:1px solid #eef1f5;border-radius:8px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;}
.oc-logo img{width:100%;height:100%;object-fit:contain;padding:5px;box-sizing:border-box;}
.oc-headmain{flex:1;min-width:0;}
.oc-titlerow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.oc-titlerow h3{font-size:18px;margin:0;line-height:1.3;}
.oc-titlerow .badge-rec,.oc-titlerow .badge-top{position:static;display:inline-block;vertical-align:middle;}
.oc-titlerow .badge-rec{background:#ff6a00;}
.oc-titlerow .org-score-sm{margin-left:auto;}
.oc-courses{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:12px;padding-top:12px;border-top:1px dashed #eef1f5;}
.oc-course{display:block;text-decoration:none;}
.oc-course-img{display:block;width:100%;aspect-ratio:16/10;background:#f5f7fa;border-radius:6px;overflow:hidden;}
.oc-course-img img{width:100%;height:100%;object-fit:cover;display:block;}
.oc-course-name{display:block;font-size:13px;color:#333;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.oc-course:hover .oc-course-name{color:#1a73e8;}
.oc-course-price{display:block;color:#ff6a00;font-size:14px;font-weight:700;margin-top:2px;}
.oc-course-ph{display:block;aspect-ratio:16/10;background:#f5f7fa;border-radius:6px;}
.oc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid #f2f4f7;}
.oc-foot .view-count{font-size:13px;color:#999;}
.oc-foot-btns{display:flex;gap:8px;}
/* 侧栏咨询卡改为蓝头+橙按钮 */
.sidebar-consult{background:linear-gradient(180deg,#f5f9ff,#fff);border:1px solid #dbe7fb;}
.sidebar-consult h5{background:linear-gradient(90deg,#1a73e8,#3b96ff);color:#fff;margin:-16px -16px 12px;padding:12px 16px;border-radius:8px 8px 0 0;font-size:15px;}
.sidebar-consult-form button{background:#ff6a00;}
.sidebar-consult-form button:hover{background:#e85f00;}

/* ===== 机构卡片（严格仿勤学365：大logo+认证行+照片条+课程表格）===== */
.qx-card{padding:20px 22px;}
.qx-top{display:flex;gap:22px;}
.qx-logo{flex-shrink:0;width:235px;height:150px;border:1px solid #ececf0;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.qx-logo img{max-width:86%;max-height:80%;object-fit:contain;}
.qx-logo-txt{font-size:26px;font-weight:700;color:#1a73e8;}
.qx-info{flex:1;min-width:0;}
.qx-titlerow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.qx-titlerow h3{font-size:24px;margin:0;line-height:1.2;}
.qx-titlerow h3 a{color:#222;text-decoration:none;}
.qx-cheng{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#ff6a00;color:#fff;font-size:15px;font-weight:700;border-radius:4px;flex-shrink:0;}
.qx-years{color:#ff6a00;font-size:15px;font-weight:600;}
.qx-license{border:1px solid #ffb27a;color:#ff6a00;font-size:13px;padding:3px 10px;border-radius:4px;background:#fff;}
.qx-scorebar{display:flex;align-items:center;gap:18px;margin-top:9px;font-size:14px;flex-wrap:wrap;}
.qx-stars b{color:#ff6a00;font-weight:600;margin-left:5px;}
.qx-views{color:#888;}
.qx-campus-link{color:#1a73e8;text-decoration:none;}
.qx-intro{margin-top:10px;font-size:14px;color:#555;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.qx-intro b{color:#333;font-weight:600;}
.qx-provide{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:14px;}
.qx-provide-label{color:#555;flex-shrink:0;}
.qx-provide-pill{min-width:0;flex:1;background:#fff7ef;border:1px solid #ffe2c4;color:#ff6a00;font-size:14px;padding:7px 14px;border-radius:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qx-photos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px;}
.qx-photo{display:block;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#f5f7fa;}
.qx-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.qx-table{width:100%;border-collapse:collapse;margin-top:16px;border:1px solid #f0f0f0;}
.qx-table th{background:#f7f8fa;font-size:14px;color:#666;font-weight:500;text-align:left;padding:10px 14px;border-bottom:1px solid #f0f0f0;}
.qx-table th:nth-child(3){text-align:right;}
.qx-table td{padding:12px 14px;border-bottom:1px solid #f5f5f5;font-size:14px;vertical-align:middle;}
.qx-table tr:last-child td{border-bottom:none;}
.qx-table td a{color:#333;font-weight:600;text-decoration:none;}
.qx-table td a:hover{color:#1a73e8;}
.qx-feat{color:#888;}
.qx-price{color:#ff6a00;font-weight:700;text-align:right;white-space:nowrap;width:110px;}
.qx-nocourse{color:#aaa;text-align:center;padding:22px 0 !important;}

/* ===== 课程卡片（与机构大卡一致的勤学365设计语言）===== */
.qc-card{background:#fff;border:1px solid #e8ecf0;border-radius:8px;padding:18px 20px;transition:.2s;}
.qc-card:hover{box-shadow:0 2px 12px rgba(26,115,232,.10);}
.qc-wrap{display:flex;gap:20px;align-items:stretch;}
.qc-cover{position:relative;flex:0 0 230px;width:230px;height:148px;border-radius:8px;overflow:hidden;background:#eef3fa;display:block;}
.qc-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.qc-cover .badge-hot{top:8px;left:8px;background:#ff6a00;font-size:12px;padding:2px 8px;}
.qc-cover .course-cover-sm{width:100%;height:100%;border-radius:8px;font-size:30px;}
.qc-body{flex:1;min-width:0;display:flex;flex-direction:column;}
.qc-body h3{font-size:19px;margin:0 0 7px;line-height:1.3;}
.qc-body h3 a{color:#222;text-decoration:none;}
.qc-body h3 a:hover{color:#1a73e8;}
.qc-org{font-size:14px;color:#888;margin:0 0 9px;display:flex;align-items:center;gap:6px;}
.qc-org a{color:#1a73e8;text-decoration:none;}
.qc-org-logo{width:18px;height:18px;border-radius:3px;object-fit:contain;background:#fff;border:1px solid #eee;flex-shrink:0;}
.qc-meta{display:flex;gap:18px;font-size:13px;color:#888;flex-wrap:wrap;margin-bottom:9px;}
.qc-intro{font-size:14px;color:#666;line-height:1.7;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.qc-price{flex:0 0 150px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:9px;}
.qc-price .price{color:#ff6a00;font-size:23px;font-weight:700;line-height:1;}
.qc-price .original-price{color:#bbb;text-decoration:line-through;font-size:13px;}
.qc-price .btn-detail{background:#eef4fe;color:#1a73e8;border:1px solid #cfe0fb;}
.qc-price .btn-detail:hover{background:#dbe9fd;}
.qc-price .btn-consult{background:#ff6a00;color:#fff;border:1px solid #ff6a00;}
.qc-price .btn-consult:hover{background:#e85f00;}
.qc-price .btn-detail,.qc-price .btn-consult{display:block;width:100%;text-align:center;box-sizing:border-box;padding:8px 0;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;}
@media (max-width:768px){
  .qc-wrap{flex-wrap:wrap;}
  .qc-cover{flex:0 0 100%;width:100%;height:172px;}
  .qc-price{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;margin-top:12px;}
  .qc-price .btn-detail,.qc-price .btn-consult{width:auto;padding:8px 18px;}
}

/* ===== 校区卡片（与机构/课程卡片一致的勤学365设计语言）===== */
.cc-card{background:#fff;border:1px solid #e8ecf0;border-radius:8px;padding:18px 20px;transition:.2s;}
.cc-card:hover{box-shadow:0 2px 12px rgba(26,115,232,.10);}
.cc-wrap{display:flex;gap:20px;align-items:stretch;}
.cc-logo{flex:0 0 96px;width:96px;height:96px;border:1px solid #eef1f5;border-radius:8px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;}
.cc-logo img{width:100%;height:100%;object-fit:contain;padding:6px;box-sizing:border-box;}
.cc-logo-txt{font-size:24px;font-weight:700;color:#1a73e8;}
.cc-body{flex:1;min-width:0;display:flex;flex-direction:column;}
.cc-body h3{font-size:19px;margin:0 0 7px;line-height:1.3;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cc-body h3 a{color:#222;text-decoration:none;}
.cc-body h3 a:hover{color:#1a73e8;}
.cc-main-tag{display:inline-flex;align-items:center;background:#e8f0fe;color:#1a73e8;font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px;}
.cc-org{font-size:14px;color:#888;margin:0 0 9px;}
.cc-org a{color:#1a73e8;text-decoration:none;}
.cc-meta{display:flex;gap:18px;font-size:13px;color:#888;flex-wrap:wrap;margin-bottom:0;}
.cc-phone{flex:0 0 160px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:9px;}
.cc-phone .price-sm{font-size:15px;color:#ff6a00;font-weight:600;}
.cc-phone .btn-detail{background:#eef4fe;color:#1a73e8;border:1px solid #cfe0fb;display:block;width:100%;text-align:center;box-sizing:border-box;padding:8px 0;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;}
.cc-phone .btn-detail:hover{background:#dbe9fd;}
@media (max-width:768px){
  .cc-wrap{flex-wrap:wrap;}
  .cc-phone{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;margin-top:12px;}
  .cc-phone .btn-detail{width:auto;padding:8px 18px;}
}

/* ===== 课程大卡（严格仿勤学365：上课程区+下机构条）===== */
.kc-card{background:#fff;border:1px solid #e8ecf0;border-radius:8px;padding:22px 24px 18px;transition:.2s;}
.kc-card:hover{box-shadow:0 2px 14px rgba(26,115,232,.10);}
.kc-top{display:flex;gap:24px;}
.kc-cover{position:relative;flex:0 0 300px;width:300px;height:190px;border-radius:8px;overflow:hidden;background:#eef3fa;display:block;}
.kc-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.kc-cover .course-cover-sm{width:100%;height:100%;border-radius:8px;font-size:34px;}
.kc-top-badge{position:absolute;top:0;left:0;background:#f5222d;color:#fff;font-size:13px;font-weight:700;padding:3px 10px;border-radius:0 0 8px 0;letter-spacing:.5px;}
.kc-body{flex:1;min-width:0;}
.kc-body h3{font-size:24px;font-weight:700;margin:2px 0 14px;line-height:1.3;}
.kc-body h3 a{color:#222;text-decoration:none;}
.kc-body h3 a:hover{color:#1a73e8;}
.kc-modes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:13px;}
.kc-mode-label{font-size:15px;color:#555;flex-shrink:0;}
.kc-mode-tag{border:1px solid #7fb0f5;color:#1a73e8;font-size:14px;padding:2px 12px;border-radius:4px;background:#fff;white-space:nowrap;}
.kc-meta{display:flex;align-items:center;gap:12px;font-size:15px;color:#888;margin-bottom:13px;flex-wrap:wrap;}
.kc-meta i{color:#ddd;font-style:normal;}
.kc-intro{font-size:15px;color:#666;line-height:1.75;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.kc-intro-label{color:#555;}
.kc-price{flex:0 0 170px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:18px;}
.kc-price .price{color:#ff6a00;font-size:30px;font-weight:700;line-height:1;white-space:nowrap;}
.kc-btn-view{display:block;width:100%;box-sizing:border-box;background:#1a73e8;color:#fff;text-align:center;padding:11px 0;border-radius:5px;font-size:16px;font-weight:600;text-decoration:none;}
.kc-btn-view:hover{background:#155fbf;}
.kc-orgbar{display:flex;gap:24px;align-items:center;margin-top:20px;padding-top:18px;border-top:1px solid #f0f2f5;}
.kc-orgleft{flex:0 0 200px;display:flex;flex-direction:column;gap:10px;}
.kc-orglogo{display:flex;align-items:center;justify-content:center;width:200px;height:96px;border:1px solid #ececf0;border-radius:6px;background:#fff;overflow:hidden;}
.kc-orglogo img{max-width:82%;max-height:76%;object-fit:contain;}
.kc-orglogo-txt{font-size:22px;font-weight:700;color:#1a73e8;}
.kc-orgscore{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.kc-orgscore .qx-cheng{width:22px;height:22px;font-size:13px;}
.kc-org-years{color:#ff6a00;font-size:14px;font-weight:600;}
.kc-org-stars{font-size:13px;}
.kc-org-stars b{color:#ff6a00;font-weight:600;margin-left:4px;}
.kc-orgmid{flex:1;min-width:0;}
.kc-org-campus{margin:0 0 12px;font-size:15px;color:#888;}
.kc-org-campus a{color:#333;font-weight:600;text-decoration:none;}
.kc-org-campus a:hover{color:#1a73e8;}
.kc-org-courses{margin:0;font-size:15px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kc-orgright{flex:0 0 150px;display:flex;justify-content:flex-end;}
.kc-btn-home{display:block;width:100%;box-sizing:border-box;background:#fff;color:#1a73e8;border:1px solid #1a73e8;text-align:center;padding:10px 0;border-radius:5px;font-size:15px;font-weight:600;text-decoration:none;}
.kc-btn-home:hover{background:#eef4fe;}
@media (max-width:900px){
  .kc-top{flex-wrap:wrap;}
  .kc-cover{flex:0 0 100%;width:100%;height:200px;}
  .kc-price{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:space-between;margin-top:14px;}
  .kc-price .price{font-size:26px;}
  .kc-btn-view{width:auto;padding:10px 28px;}
  .kc-orgbar{flex-wrap:wrap;}
  .kc-orgleft{flex:0 0 160px;}
  .kc-orglogo{width:160px;height:80px;}
  .kc-orgright{flex:1 1 100%;justify-content:flex-start;margin-top:12px;}
  .kc-btn-home{width:auto;padding:10px 28px;}
}

/* ===== 校区大卡（严格仿勤学365：上校区信息+下内嵌课程小卡）===== */
.mc-card{background:#fff;border:1px solid #e8ecf0;border-radius:8px;padding:22px 24px 18px;transition:.2s;}
.mc-card:hover{box-shadow:0 2px 14px rgba(26,115,232,.10);}
.mc-top{display:flex;gap:24px;}
.mc-photo{position:relative;flex:0 0 320px;width:320px;height:200px;border-radius:6px;overflow:hidden;background:#eef3fa;display:block;}
.mc-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.mc-photo-txt{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:24px;font-weight:700;color:#1a73e8;text-align:center;padding:0 16px;box-sizing:border-box;}
.mc-body{flex:1;min-width:0;}
.mc-body h3{font-size:25px;font-weight:700;margin:2px 0 10px;line-height:1.3;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.mc-body h3 a{color:#222;text-decoration:none;}
.mc-body h3 a:hover{color:#1a73e8;}
.mc-stars{font-size:14px;}
.mc-stars b{color:#ff6a00;font-weight:600;margin-left:4px;}
.mc-scorebar{display:flex;align-items:center;gap:10px;font-size:14px;color:#888;margin-bottom:12px;flex-wrap:wrap;}
.mc-scorebar > span:not(.mc-stars)::before{content:"|";margin-right:10px;color:#ddd;}
.mc-scorebar i{color:#ddd;font-style:normal;}
.mc-line{margin:0 0 10px;font-size:15px;color:#888;line-height:1.6;}
.mc-maplink{color:#1a73e8;text-decoration:none;}
.mc-courses-line{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;}
.mc-courses-line{display:flex;align-items:center;gap:8px;}
.mc-course-label{flex-shrink:0;color:#888;}
.mc-course-pill{flex:1 1 auto;min-width:0;background:#fff7ef;border:1px solid #ffe2c4;color:#ff6a00;font-size:14px;padding:5px 14px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mc-right{flex:0 0 170px;display:flex;flex-direction:column;align-items:stretch;gap:12px;}
.mc-campus-link{text-align:right;color:#1a73e8;font-size:15px;font-weight:600;text-decoration:none;margin-bottom:2px;}
.mc-btn-appoint{display:block;box-sizing:border-box;background:#fff;color:#1a73e8;border:1px solid #1a73e8;text-align:center;padding:11px 0;border-radius:5px;font-size:16px;font-weight:600;text-decoration:none;}
.mc-btn-appoint:hover{background:#eef4fe;}
.mc-btn-consult{display:block;box-sizing:border-box;background:#1a73e8;color:#fff;text-align:center;padding:11px 0;border-radius:5px;font-size:16px;font-weight:600;text-decoration:none;}
.mc-btn-consult:hover{background:#155fbf;}
.mc-courses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid #f0f2f5;}
.mc-course{display:flex;flex-direction:column;border:1px solid #f0f2f5;border-radius:6px;overflow:hidden;background:#fff;text-decoration:none;transition:.2s;}
.mc-course:hover{box-shadow:0 2px 10px rgba(26,115,232,.12);}
.mc-course-img{position:relative;display:block;aspect-ratio:16/10;background:#eef3fa;overflow:hidden;}
.mc-course-img img{width:100%;height:100%;object-fit:cover;display:block;}
.mc-course-badge{position:absolute;top:0;left:0;background:#ff6a00;color:#fff;font-size:13px;font-weight:600;padding:3px 10px;border-radius:0 0 8px 0;font-style:normal;z-index:1;}
.mc-course-name{display:block;font-size:16px;font-weight:700;color:#222;padding:12px 14px 0;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mc-course-tags{display:flex;gap:6px;flex-wrap:wrap;padding:9px 14px 0;}
.mc-course-tags i{border:1px solid #7fb0f5;color:#1a73e8;font-size:12px;padding:1px 8px;border-radius:3px;font-style:normal;white-space:nowrap;}
.mc-course-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 13px;margin-top:auto;}
.mc-course-foot b{color:#f5222d;font-size:18px;font-weight:700;}
.mc-course-foot em{color:#999;font-size:14px;font-style:normal;}
@media (max-width:900px){
  .mc-top{flex-wrap:wrap;}
  .mc-photo{flex:0 0 100%;width:100%;height:200px;}
  .mc-right{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:space-between;margin-top:14px;}
  .mc-campus-link{width:100%;text-align:left;}
  .mc-btn-appoint,.mc-btn-consult{flex:1;padding:10px 0;}
  .mc-courses{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* ===== 筛选行修复：选项过多时在标签右侧内部换行，不整块掉行 ===== */
.filter-row { flex-wrap: nowrap; }
.filter-options { flex: 1; min-width: 0; }

/* ===== Banner 幻灯片轮播 ===== */
.org-banner-slider{position:relative;overflow:hidden;border-radius:10px;}
.org-banner-slider .org-banner-img{position:absolute;top:0;left:0;opacity:0;transition:opacity .6s ease;pointer-events:none;}
.org-banner-slider .org-banner-img.active{opacity:1;position:relative;pointer-events:auto;}
.org-banner-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:8px;z-index:5;}
.org-banner-dots .dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:background .3s,transform .3s;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.org-banner-dots .dot.active{background:#fff;transform:scale(1.15);}

/* ===== 机构开设课程分类标签墙 ===== */
.org-subcat-tags{display:flex;flex-wrap:wrap;gap:10px;padding:4px 2px 2px;}
.org-subcat-tag{display:inline-block;padding:7px 16px;border-radius:20px;background:#eef6f1;color:#0e7f49;font-size:15px;text-decoration:none;transition:background .2s,color .2s;}
.org-subcat-tag:hover{background:#0e7f49;color:#fff;}

/* ===== 课程大纲模块 ===== */
.course-syllabus{padding:8px 6px 4px;}
.course-syllabus h4{font-size:17px;color:#128060;margin:18px 0 8px;padding-left:12px;border-left:4px solid #128060;}
.course-syllabus ul{margin:0 0 4px;padding-left:24px;list-style:disc;}
.course-syllabus li{line-height:1.9;font-size:15px;color:#333;margin:4px 0;}

/* ===== 收藏按钮 ===== */
.cd-fav-btn{background:#fff;color:#ff6a00;border:1px solid #ff6a00;}
.cd-fav-btn:hover{background:#fff7f0;}
.cd-fav-btn.faved{background:#ff6a00;color:#fff;}

/* ===== 会员点评表单 ===== */
.cd-review-form{background:#fafafa;border:1px solid #eee;border-radius:8px;padding:16px;margin:0 0 16px;}
.cd-review-form h4{font-size:16px;margin:0 0 12px;color:#333;}
.cd-rf-stars{font-size:26px;color:#ddd;cursor:pointer;margin-bottom:10px;letter-spacing:4px;}
.cd-rf-stars span{transition:color .15s;}
.cd-rf-stars span.on{color:#ffb400;}
.cd-review-form textarea{width:100%;min-height:80px;border:1px solid #ddd;border-radius:6px;padding:10px;font-size:14px;resize:vertical;box-sizing:border-box;font-family:inherit;}
.cd-review-form .cd-btn{margin-top:10px;}
.cd-rf-msg{display:inline-block;margin-left:12px;font-size:13px;color:#e53935;vertical-align:middle;}
.cd-rf-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.cd-rf-row label{font-size:14px;color:#333;flex:0 0 auto;}
.cd-rf-course{flex:1;border:1px solid #ddd;border-radius:6px;padding:8px 10px;font-size:14px;background:#fff;color:#333;font-family:inherit;box-sizing:border-box;}
.cd-rf-dim{display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:14px;}
.cd-rf-dim-row{display:flex;align-items:center;gap:8px;}
.cd-rf-dim-label{font-size:14px;color:#555;width:34px;flex:0 0 34px;}
.cd-rf-dim .cd-rf-stars{margin-bottom:0;font-size:22px;}
.cd-review-dim{font-size:12px;color:#999;font-weight:400;letter-spacing:0;}
.cd-review-dim .dim-val{color:#ff7000;font-weight:400;font-style:normal;}
.cd-review-score{display:flex;align-items:center;gap:8px;margin:4px 0 8px;flex-wrap:wrap;}
.cd-review-score-num{font-size:16px;color:#ff7000;font-weight:700;}
.cd-review-score .cd-review-stars{display:inline-flex;}
.cd-review-foot{display:flex;align-items:center;gap:14px;font-size:12px;color:#aaa;margin-top:2px;flex-wrap:wrap;}
.cd-review-foot .cd-review-course{color:#888;margin:0;font-weight:400;}
.cd-review-login{padding:14px 4px;color:#888;font-size:14px;}
.cd-review-login a{color:#ff6a00;}

/* ===== 会员注册 / 登录页 ===== */
.auth-wrap{max-width:440px;margin:40px auto;padding:0 16px;}
.auth-card{background:#fff;border-radius:14px;box-shadow:0 6px 30px rgba(0,0,0,.08);padding:36px 32px;}
.auth-title{font-size:24px;text-align:center;margin:0 0 6px;color:#222;}
.auth-sub{text-align:center;color:#999;font-size:14px;margin:0 0 24px;}
.auth-form{display:flex;flex-direction:column;gap:14px;}
.auth-field input{width:100%;height:46px;border:1px solid #e2e2e2;border-radius:8px;padding:0 14px;font-size:15px;box-sizing:border-box;}
.auth-field input:focus{border-color:#ff6a00;outline:none;}
.auth-submit{height:48px;background:#ff6a00;color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer;margin-top:6px;}
.auth-submit:hover{background:#e85f00;}
.auth-error{background:#fff0f0;color:#e53935;padding:10px 14px;border-radius:8px;font-size:14px;}
.auth-foot{text-align:center;color:#999;font-size:14px;margin-top:18px;}
.auth-foot a{color:#ff6a00;}

/* ===== 会员中心 ===== */
.user-center{max-width:860px;margin:30px auto;padding:0 16px;}
.user-head{display:flex;align-items:center;background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,.05);gap:16px;}
.user-avatar{width:60px;height:60px;border-radius:50%;background:#ff6a00;color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;}
.user-meta{flex:1;}
.user-meta h2{margin:0 0 6px;font-size:20px;color:#222;}
.user-meta p{margin:0;color:#999;font-size:14px;}
.user-logout{color:#999;font-size:14px;border:1px solid #ddd;padding:8px 16px;border-radius:20px;text-decoration:none;white-space:nowrap;}
.user-logout:hover{border-color:#ff6a00;color:#ff6a00;}
.user-tip{background:#e8f5e9;color:#2e7d32;padding:10px 16px;border-radius:8px;margin:16px 0;font-size:14px;}
.user-block{background:#fff;border-radius:14px;padding:22px;margin-top:18px;box-shadow:0 2px 12px rgba(0,0,0,.05);}
.user-block-title{font-size:18px;margin:0 0 16px;padding-left:12px;border-left:4px solid #ff6a00;color:#222;}
.user-form{margin-bottom:16px;}
.user-form-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.user-form-row label{width:80px;color:#666;font-size:15px;flex-shrink:0;}
.user-form-row input{flex:1;min-width:160px;height:42px;border:1px solid #e2e2e2;border-radius:8px;padding:0 12px;font-size:14px;box-sizing:border-box;}
.user-form-row input:focus{border-color:#ff6a00;outline:none;}
.user-btn{height:42px;padding:0 22px;background:#ff6a00;color:#fff;border:none;border-radius:8px;font-size:15px;cursor:pointer;}
.user-btn:hover{background:#e85f00;}
.user-list{list-style:none;margin:0;padding:0;}
.user-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0;font-size:14px;flex-wrap:wrap;}
.user-list li:last-child{border-bottom:none;}
.user-list-title{font-weight:500;color:#333;flex:1;min-width:160px;}
.user-list-phone{color:#888;}
.user-list-time{color:#aaa;font-size:13px;}
.user-list-rating{color:#ffb400;}
.user-list-status{color:#e53935;font-size:13px;}
.user-list-status.done{color:#2e7d32;}
.user-fav-group{display:flex;flex-wrap:wrap;gap:10px;}
.user-fav{display:inline-block;padding:9px 16px;background:#fff7f0;color:#ff6a00;border:1px solid #ffd9bf;border-radius:20px;text-decoration:none;font-size:14px;}
.user-fav:hover{background:#ff6a00;color:#fff;}
.user-empty{color:#999;font-size:14px;padding:8px 0;}
.tag{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;color:#fff;}
.tag-trial{background:#1a73e8;}
.tag-quote{background:#0e7f49;}
.review-empty{padding:16px 4px;color:#999;font-size:14px;}

/* ============ 无封面课程·富占位（按分类取渐变色） ============ */
.ph-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;height:100%;box-sizing:border-box;color:#fff;text-align:center;padding:8px;}
.ph-box .ph-cat{font-weight:700;letter-spacing:2px;line-height:1.15;}
.ph-box .ph-name{font-weight:400;opacity:.92;line-height:1.3;max-width:94%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
/* 详情页大封面占位 */
.cd-ci-cover-ph{color:#fff;}
.cd-ci-cover .ph-cat{font-size:30px;}
.cd-ci-cover .ph-name{font-size:18px;}
/* 列表页卡片占位（复用 .course-cover-sm） */
.course-cover-sm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px;box-sizing:border-box;text-align:center;}
.course-cover-sm .ph-cat{font-size:0.95em;font-weight:700;letter-spacing:2px;}
.course-cover-sm .ph-name{font-size:0.62em;font-weight:400;opacity:.92;line-height:1.3;max-width:94%;overflow:hidden;}
.kc-cover .course-cover-sm .ph-cat{font-size:24px;}
.kc-cover .course-cover-sm .ph-name{font-size:14px;}
.course-list-cover .course-cover-sm .ph-cat{font-size:16px;}
.course-list-cover .course-cover-sm .ph-name{font-size:11px;}
.qc-cover .course-cover-sm .ph-cat{font-size:22px;}
.qc-cover .course-cover-sm .ph-name{font-size:13px;}
/* 机构页小卡片占位（复用 .cd-course-ph） */
.cd-course-ph{background:linear-gradient(135deg,#5b8def,#3a5bbf);color:#fff;font-weight:600;line-height:1.4;}
.cd-course-cover .ph-cat{font-size:14px;letter-spacing:1px;}
.cd-course-cover .ph-name{font-size:10px;opacity:.9;}
/* ===== 详情页占位符（CSS 微调版） ===== */
.ph-box{position:relative;overflow:hidden;}
.ph-rich{justify-content:space-between;align-items:center;text-align:center;padding:46px 18px 24px;gap:0;}
.ph-rich>*{position:relative;z-index:1;}
.ph-rich::before,.ph-rich::after{content:'';position:absolute;border-radius:50%;pointer-events:none;z-index:0;}
.ph-rich::before{width:140px;height:140px;top:-46px;right:-38px;background:rgba(255,255,255,.10);}
.ph-rich::after{width:90px;height:90px;bottom:-28px;left:-24px;background:rgba(255,255,255,.07);}
.ph-rich .ph-cat{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;letter-spacing:4px;opacity:.92;}
.ph-rich .ph-line{display:inline-block;width:20px;height:1px;background:rgba(255,255,255,.55);}
.ph-rich .ph-name{font-size:23px;font-weight:800;line-height:1.3;max-width:90%;opacity:1;text-shadow:0 2px 10px rgba(0,0,0,.18);}
.ph-rich .ph-divider{width:34px;height:3px;border-radius:2px;background:rgba(255,255,255,.5);}
.ph-rich .ph-meta{font-size:13px;letter-spacing:.5px;opacity:.95;}
.ph-rich .ph-meta b{font-size:17px;font-weight:700;margin:0 2px;}
.ph-rich .ph-dot{margin:0 9px;font-weight:400;opacity:.6;}
.ph-rich .ph-org{font-size:12px;line-height:1;padding:5px 13px;border:1px solid rgba(255,255,255,.45);border-radius:999px;}

/* 师资力量 */
.cd-teacher-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.cd-teacher-item{display:flex;gap:14px;border:1px solid #eef1f5;border-radius:8px;padding:16px;background:#fff;}
.cd-teacher-avatar{flex:0 0 76px;width:76px;height:76px;border-radius:50%;overflow:hidden;background:#f2f5f8;}
.cd-teacher-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.cd-teacher-info{flex:1;min-width:0;}
.cd-teacher-name{font-size:15px;font-weight:700;color:#222;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cd-teacher-title{font-size:12px;font-weight:500;color:#1a73e8;background:#eaf2ff;border-radius:4px;padding:2px 8px;}
.cd-teacher-subject{font-size:13px;color:#666;margin-top:6px;}
.cd-teacher-intro{font-size:13px;color:#888;line-height:1.6;margin:8px 0 0;}
@media(max-width:640px){.cd-teacher-list{grid-template-columns:1fr;}}
