/**
 * College Board–inspired layout overrides.
 * Scope: body.cb-home — core 首页 (app/core/tpls/app/index.tpl)、题库列表 (app/exam/tpls/app/index.tpl) 等。
 */
:root {
    --cb-navy: #003057;
    --cb-blue: #0066b2;
    --cb-blue-hover: #005291;
    --cb-text: #1a1a1a;
    --cb-muted: #4a4f55;
    --cb-border: #d4dce5;
    --cb-bg-page: #eef2f7;
    --cb-bg-card: #ffffff;
    --cb-radius: 6px;
    --cb-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

body.cb-home {
    font-family: "Helvetica Neue", Helvetica, Arial, "Microsoft YaHei", "PingFang SC", sans-serif;
    color: var(--cb-text);
    background: var(--cb-bg-page) !important;
    -webkit-font-smoothing: antialiased;
}

body.cb-home .pages {
    background: transparent;
}

body.cb-home .content {
    padding-top: 8px;
}

/* ----- Top utility bar ----- */
body.cb-home .topbar {
    background: var(--cb-navy) !important;
    border-bottom: none;
    color: #fff;
}

body.cb-home .topbar .menu,
body.cb-home .topbar a.menu {
    color: #fff !important;
    text-decoration: none;
    font-weight: 600;
}

body.cb-home .topbar a.menu:hover {
    text-decoration: underline;
    color: #fff !important;
}

body.cb-home .topbar .list-inline > li {
    color: rgba(255, 255, 255, 0.65);
}

/* ----- Main header / logo row ----- */
body.cb-home .header {
    background: var(--cb-bg-card) !important;
    border-bottom: 1px solid var(--cb-border);
    box-shadow: 0 1px 0 rgba(0, 48, 87, 0.06);
    margin-bottom: 0;
}

body.cb-home .header .nav {
    padding: 12px 0;
}

body.cb-home .header .logo img {
    height: 52px !important;
}

body.cb-home .header .menu {
    color: var(--cb-text) !important;
    font-weight: 600;
    font-size: 15px;
    padding: 8px 12px !important;
    border-radius: var(--cb-radius);
    text-decoration: none !important;
}

body.cb-home .header .menu:hover {
    color: var(--cb-blue) !important;
    background: rgba(0, 102, 178, 0.08);
}

/* ----- Exam filter tabs (header_link) ----- */
body.cb-home .nav-tabs {
    list-style: none;
    padding: 16px 18px;
    margin: 0 0 16px;
    background: var(--cb-bg-card);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    box-shadow: var(--cb-shadow);
    text-align: center;
    overflow: visible;
}

body.cb-home .nav-tabs li {
    display: inline-block;
    margin: 4px 6px;
}

body.cb-home .nav-tabs li a {
    display: inline-block;
    color: var(--cb-navy) !important;
    text-align: center;
    padding: 8px 16px !important;
    text-decoration: none !important;
    border-radius: var(--cb-radius);
    border: 1px solid var(--cb-border);
    background: #fafbfc !important;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    font-weight: 600;
    font-size: 14px;
}

body.cb-home .nav-tabs li a:hover {
    border-color: var(--cb-blue);
    color: var(--cb-blue) !important;
    background: #f0f6fb !important;
}

body.cb-home .nav-tabs li a.active,
body.cb-home .nav-tabs li a.active:hover {
    background: var(--cb-blue) !important;
    border-color: var(--cb-blue) !important;
    color: #fff !important;
    box-shadow: 0 2px 4px rgba(0, 102, 178, 0.25);
}

/* ----- Content cards ----- */
body.cb-home .content-box {
    background: var(--cb-bg-card);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    box-shadow: var(--cb-shadow);
    margin-bottom: 20px;
    overflow: hidden;
}

body.cb-home .content-box.padding {
    padding: 20px 22px;
}

body.cb-home .swiper-container {
    border-radius: var(--cb-radius);
}

body.cb-home h2.title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--cb-navy);
    border-bottom: 3px solid var(--cb-navy);
    padding-bottom: 10px;
    margin: 0 0 18px;
}

body.cb-home h2.title .badge {
    background: transparent !important;
    color: var(--cb-blue) !important;
    font-weight: 700;
    font-size: 14px;
    border: 1px solid var(--cb-blue);
    padding: 6px 12px;
    border-radius: var(--cb-radius);
}

body.cb-home h2.title .badge:hover {
    background: var(--cb-blue) !important;
    color: #fff !important;
}

body.cb-home .list-box .box {
    padding: 0 10px 20px;
}

body.cb-home .list-box .box a {
    display: block;
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    padding: 12px;
    background: #fafbfc;
    transition: border-color 0.2s, box-shadow 0.2s;
    text-decoration: none !important;
}

body.cb-home .list-box .box a:hover {
    border-color: var(--cb-blue);
    box-shadow: 0 4px 12px rgba(0, 48, 87, 0.1);
}

body.cb-home .list-box .box .img {
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 10px;
}

body.cb-home .box-title {
    color: var(--cb-navy);
    font-weight: 700;
    font-size: 15px;
}

body.cb-home .list-box .intro p {
    color: var(--cb-muted);
    font-size: 13px;
    line-height: 1.5;
}

/* ----- Left accordion menu ----- */
body.cb-home .leftmenu .panel-primary {
    border-color: var(--cb-border);
    border-radius: var(--cb-radius);
    box-shadow: none;
}

body.cb-home .leftmenu .panel-heading {
    background: var(--cb-navy) !important;
    border-color: var(--cb-navy) !important;
    padding: 0;
}

body.cb-home .leftmenu .panel-heading a {
    padding: 10px 14px;
    display: block;
    font-weight: 700;
    text-decoration: none !important;
}

body.cb-home .leftmenu .panel-heading font {
    color: #fff !important;
}

body.cb-home .leftmenu .list-group-item {
    border-color: var(--cb-border);
    font-size: 13px;
}

body.cb-home .leftmenu .list-group-item a {
    color: var(--cb-blue);
    font-weight: 600;
}

body.cb-home .leftmenu .list-group-item a:hover {
    color: var(--cb-navy);
}

/* ----- Right sidebar lists ----- */
body.cb-home .col-xs-2 .content-box h2.title {
    font-size: 1.05rem;
}

body.cb-home .list-txt li.border {
    border-color: var(--cb-border) !important;
}

body.cb-home .list-txt li a {
    color: var(--cb-blue);
    font-weight: 600;
}

body.cb-home .list-txt li a:hover {
    color: var(--cb-navy);
}

/* ----- Footer ----- */
body.cb-home .footer {
    background: var(--cb-bg-card);
    border-top: 1px solid var(--cb-border);
    margin-top: 32px;
    padding: 28px 16px 32px;
    color: var(--cb-muted);
}

body.cb-home .footer-content p {
    margin-bottom: 8px;
    font-size: 13px;
}

/* ----- Bootstrap grid spacing on homepage ----- */
body.cb-home .row-fluid .col-xs-8 {
    padding-left: 10px;
    padding-right: 10px;
}

@media (max-width: 991px) {
    body.cb-home .nav-tabs li {
        display: block;
        margin: 6px 0;
    }
}

/* ----- Exam 题库列表页：搜索框、分页、状态按钮 ----- */
body.cb-home .content-box .dxform .form-control {
    border-radius: var(--cb-radius);
    border-color: var(--cb-border);
    height: 40px;
}

body.cb-home .content-box .dxform .btn-primary {
    background: var(--cb-blue);
    border-color: var(--cb-blue);
    font-weight: 700;
    border-radius: var(--cb-radius);
}

body.cb-home .content-box .dxform .btn-primary:hover {
    background: var(--cb-blue-hover);
    border-color: var(--cb-blue-hover);
}

body.cb-home .content-box .pagination > li > a,
body.cb-home .content-box .pagination > li > span {
    color: var(--cb-navy);
    border-color: var(--cb-border);
}

body.cb-home .content-box .pagination > .active > a,
body.cb-home .content-box .pagination > .active > span {
    background: var(--cb-blue);
    border-color: var(--cb-blue);
    color: #fff;
}

body.cb-home .list-box .box .btn-info {
    background: var(--cb-blue);
    border-color: var(--cb-blue);
    font-weight: 600;
    border-radius: var(--cb-radius);
}

body.cb-home .list-img li.border.padding {
    border-color: var(--cb-border) !important;
}
