@charset "UTF-8";
@font-face {
    font-family: "iconfont";
    src: url('../fonts/iconfont.woff2') format('woff2'),
         url('../fonts/iconfont.woff') format('woff'),
         url('../fonts/iconfont.ttf') format('truetype');
}

.iconfont {
    font-family: "iconfont" !important;
    font-size: 16px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-trash:before { content: "\e738"; }
.icon-prompt:before { content: "\e71b"; }
.icon-enter:before { content: "\e6f8"; }
.icon-tupianyanzhengma:before { content: "\e620"; }
.icon-qq1:before { content: "\e630"; }
.icon-lock_fill:before { content: "\e709"; }
.icon-people_fill:before { content: "\e715"; }
.icon-browse_fill:before { content: "\e6e5"; }
.icon-document_fill:before { content: "\e6f3"; }
.icon-order_fill:before { content: "\e713"; }
.icon-unfold:before { content: "\e74a"; }
.icon-list1:before { content: "\e8dc"; }
.icon-list2:before { content: "\ec7e"; }
.icon-weixin:before { content: "\e65d"; }
.icon-mail_fill:before { content: "\e70a"; }
.icon-browse:before { content: "\e6e4"; }
.icon-editor:before { content: "\e6f5"; }
.icon-like_fill:before { content: "\e707"; }
.icon-like:before { content: "\e708"; }
.icon-mine:before { content: "\e70e"; }
.icon-share:before { content: "\e729"; }
.icon-search:before { content: "\e741"; }
.icon-packup:before { content: "\e749"; }
.icon-qq:before { content: "\e630"; }



/* ============ 清除浮动 ============ */
.search-item,
.pagination {
    *zoom: 1;
}
.search-item:before,
.pagination:before,
.search-item:after,
.pagination:after {
    display: block;
    clear: both;
    content: "";
    height: 0;
}

/* ============ 全局样式 ============ */
.score-detail-figure,
.bg-shadow,
.pu-wrapper,
.section.section-white,
.nubble,
.icon-round-group > a:hover img {
    box-shadow: 5px 5px 20px 0 rgba(55,99,170,.1), -5px -5px 20px 0 #fff;
}

.border-list > li > a,
.hotest-large > li > a,
.hotest > li > a,
.nubble > p,
.nubble > a,
.nubble > h3 {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.text-primary { color: #ec7259; }
.text-muted { color: rgba(132,137,153,.5); }
.text-light { color: rgba(132,137,153,.75); }

.breadcrumb {
    white-space: nowrap;
    flex-wrap: nowrap !important;
}

.btn-close {
    width: 1em;
    height: 1em;
    background-size: 50% 50%;
}

.modal-custom .modal-header {
    border-bottom: 0 none;
}
.modal-custom .modal-header > .modal-title {
    font-size: 1rem;
    font-weight: 600;
    color: #848999;
}
.modal-custom .modal-body {
    min-height: 100px;
}
.modal-custom .modal-footer {
    border-top: 0 none;
}

small, .small {
    font-size: .75rem !important;
}

time {
    font-style: normal;
}

a {
    text-decoration: none;
    color: #333;
}

em {
    font-style: normal !important;
    color: #f73131;
}

a:hover {
    text-decoration: underline;
    color: #ec7259;
}

ol, ul, li {
    list-style: none;
    padding: 0;
    margin: 0;
}

blockquote {
    padding: 1.125rem;
    padding-left: 50px;
    font-size: .875rem;
    color: rgba(132,137,153,.6);
    background: #f6f6f6;
    border-radius: 5px;
    position: relative;
}
blockquote:after {
    position: absolute;
    left: 14px;
    top: 15px;
    content: "";
    width: 57px;
    height: 46px;
    background-image: url("../images/quote_l.svg");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 50% auto;
}

/* ======================================== */
/* ============ 导航栏 - 固定顶部 ============ */
/* ======================================== */

.navbar-custom {
position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1030 !important;
    background: #fff !important;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.05) !important;
    border-bottom: 1px solid #eee !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 滚动时增强阴影 */
.navbar-custom.navbar-scrolled {
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08) !important;
}

.navbar-custom .navbar-brand {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.navbar-custom .navbar-brand > img {
    height: 28px;
}

.navbar-custom .navbar-toggler {
    border: 0 none;
    margin-left: 3px;
    padding: 0;
    border-radius: 50%;
}
.navbar-custom .navbar-toggler > .icon-round {
    font-size: 20px;
    line-height: 1.7;
}
.navbar-custom .navbar-toggler:focus {
    box-shadow: 0 0 0 3px rgba(0,0,0,.05) !important;
}

/* 移动端下拉菜单 */
@media screen and (max-width: 992px) {
    .navbar-custom .navbar-brand > img {
        height: 15px;
    }
    
    .navbar-custom .navbar-collapse.show,
    .navbar-custom .navbar-collapse.collapsing {
        position: absolute !important;
        top: 65px;
        left: 0;
        display: block !important;
        width: 100%;
        background: #fff;
        box-shadow: 0 .5rem 1rem rgba(0,0,0,.1) !important;
        z-index: 1030;
        transition: top .35s ease !important;
        max-height: calc(100vh - 65px);
        overflow-y: auto;
        padding: 0.5rem 0;
        border-top: 1px solid #eee;
    }
    .navbar-custom .navbar-collapse.show .nav-link,
    .navbar-custom .navbar-collapse.collapsing .nav-link {
        text-align: center;
        padding: .75rem 0 !important;
        font-size: 1rem;
    }
    .navbar-custom .navbar-collapse.show .nav-item,
    .navbar-custom .navbar-collapse.collapsing .nav-item {
        border-bottom: 1px solid rgba(0,0,0,.03);
    }
    .navbar-custom .navbar-collapse.show .nav-item:last-child,
    .navbar-custom .navbar-collapse.collapsing .nav-item:last-child {
        border-bottom: none;
    }
}

/* 桌面端导航链接 */
@media screen and (min-width: 992px) {
    .navbar-custom .navbar-collapse .navbar-nav {
        margin-left: 2rem;
    }
    .navbar-custom .navbar-collapse .nav-item {
        padding: 0 1.25rem !important;
    }
    .navbar-custom .navbar-collapse .nav-item .nav-link {
        padding: 0;
        font-weight: 600 !important;
        color: #555 !important;
        position: relative;
        line-height: 65px;
    }
    .navbar-custom .navbar-collapse .nav-item .nav-link:hover {
        text-decoration: none;
    }
    .navbar-custom .navbar-collapse .nav-item .nav-link::before {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: #ec7259;
        border-radius: 4px;
        content: "";
        opacity: 0;
        transform: scaleX(0);
        transition: all 0.2s ease;
    }
    .navbar-custom .navbar-collapse .nav-item .nav-link:hover::before,
    .navbar-custom .navbar-collapse .nav-item .nav-link.active::before {
        opacity: 1;
        transform: scaleX(1);
    }
}

.navbar-custom .icon-round {
    opacity: .75;
}
.navbar-custom a,
.navbar-custom a:hover {
    text-decoration: none;
}
.navbar-custom .dropdown-item:hover {
    color: #999;
}
.navbar-custom .dropdown-item:focus {
    color: #fff;
}

/* ============ 搜索框 ============ */
.header-search-wrapper {
    min-width: 100px;
    display: flex;
    align-items: center;
    overflow: hidden;
}
@media screen and (min-width: 992px) {
    .header-search-wrapper {
        width: 300px !important;
    }
}
.header-search-wrapper > .header-search {
    display: flex;
    width: 100%;
    height: 38px;
    border-radius: 18px;
    background: rgba(238,238,238,.9);
    color: #848999;
}
.header-search-wrapper > .header-search > .header-search-button {
    background: none !important;
    border: 0 none;
    height: 38px;
    width: 38px;
}
.header-search-wrapper > .header-search > .header-search-button:hover > .icon-search {
    color: #ec7259;
}
.header-search-wrapper > .header-search > .header-search-button > .icon-search {
    font-size: 1.25rem;
    color: #848999;
}
.header-search-wrapper > .header-search > .header-search-input {
    flex-grow: 1;
    width: 100%;
    background: none;
    border: 0 none;
    height: 38px;
    line-height: 38px;
    padding: 0 .5rem 0 .8rem;
    font-size: .875rem;
}
.header-search-wrapper > .header-search > .header-search-input:focus {
    color: #212529;
    outline: 0;
    box-shadow: none !important;
}

/* ============ 分页 ============ */
.pagination {
    padding: 0;
    margin: 0 auto;
    display: block;
}
.pagination > li {
    display: inline-block;
    list-style: none;
    margin: 0 2px;
}
.pagination > li > span {
    display: block;
    padding: 5px 3px;
    color: #848999;
}
.pagination > li > a {
    display: block;
    padding: 5px;
    min-width: 32px;
    text-align: center;
    background-color: #fff;
    border: 1px solid #eee;
    border-radius: 4px;
    color: #969696;
    font-size: .875rem;
}
.pagination > li > a:hover {
    text-decoration: none;
    color: #ec7259;
    border-color: #ec7259;
}
.pagination > li.active > a,
.pagination > li.active > a:hover {
    text-decoration: none;
    color: #fff;
    background-color: #ec7259;
    border-color: #ec7259;
    cursor: default;
}
.pagination > li.disabled > a {
    color: #ccc;
    pointer-events: none;
    cursor: auto;
    background-color: none;
}
.pagination > li.hide {
    display: none;
}

/* ============ HTML内容 ============ */
.html-raw {
    line-height: 1.7;
    overflow-wrap: break-word;
    word-wrap: break-word;
    font-size: 1rem;
    color: #222;
    margin: 2rem 0;
}
.html-raw a {
    color: #888;
    text-decoration: underline;
}
.html-raw p,
.html-raw blockquote {
    margin-bottom: 25px;
}
.html-raw ul,
.html-raw ol {
    display: block;
    padding-left: 2rem;
    margin-bottom: 25px;
}
.html-raw ul {
    list-style-type: disc;
}
.html-raw ol {
    list-style-type: decimal;
}
.html-raw li {
    padding-bottom: 10px;
}
.html-raw ol li ol,
.html-raw ol li ul,
.html-raw ul li ol,
.html-raw ul li ul {
    margin-top: 20px;
}
.html-raw h1,
.html-raw h2,
.html-raw h3,
.html-raw h4,
.html-raw h5,
.html-raw h6 {
    line-height: 1.2;
    margin-bottom: 25px;
    position: relative;
}
.html-raw h3,
.html-raw h4,
.html-raw h5,
.html-raw h6 {
    font-size: 18px;
}
.html-raw blockquote {
    padding: 10px 15px;
    background-color: gray(.03);
    border-left: 4px solid #e6e6e6;
    word-break: break-word;
    font-size: .875rem;
    margin: 0 0 20px;
    color: #545c63;
}
.html-raw blockquote h1:last-child,
.html-raw blockquote h2:last-child,
.html-raw blockquote h3:last-child,
.html-raw blockquote h4:last-child,
.html-raw blockquote h5:last-child,
.html-raw blockquote h6:last-child,
.html-raw blockquote li:last-child,
.html-raw blockquote ol:last-child,
.html-raw blockquote p:last-child,
.html-raw blockquote ul:last-child {
    margin-bottom: 0;
}
.html-raw table {
    width: 100%;
    margin-bottom: 25px;
    border-collapse: collapse;
    border: 1px solid #eee;
    border-left: none;
    word-break: break-word;
    font-size: .875rem;
}
.html-raw table th {
    font-weight: bold;
    vertical-align: middle;
    text-align: inherit;
}
.html-raw table th,
.html-raw table td {
    padding: 5px;
    border: 1px solid #eee;
}
.html-raw img {
    display: block;
    margin: 10px auto 20px;
    max-width: 100%;
}
.html-raw .thumbnail {
    margin: 12px 0;
}

/* ============ 表单 ============ */
.field-validation-error {
    font-size: .875rem;
    color: #f00;
}
.hide {
    display: none;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-transition-delay: 111111s;
    -webkit-transition: color 11111s ease-out, background-color 111111s ease-out;
}

.form-control {
    padding: .5rem .75rem !important;
}
.form-control::-moz-placeholder {
    font-size: .875rem;
}
.form-control::placeholder {
    font-size: .875rem;
}

.border-input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    border: 1px solid rgba(84,92,99,.2);
    border-radius: 5px;
    background: #fff;
}
.border-input-group > .form-control,
.border-input-group > .form-control:focus {
    padding: .5rem !important;
    color: #212529;
    border: 0 none !important;
    outline: 0;
    box-shadow: none !important;
}
.border-input-group > .form-control {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}
.border-input-group > i {
    padding-left: .5rem;
    color: rgba(84,92,99,.4);
    font-size: 1.35rem;
    padding-top: 2px;
}
.border-input-group > span {
    white-space: nowrap;
    padding: 0 .75rem 0 0;
}

/* ============ 颜色变量 ============ */
:root {
    --this-color: #888;
    --this-bg: rgba(136,136,136,.1);
}
.c-white {
    --this-color: #fff;
    --this-bg: rgba(255,255,255,.1);
}
.c-red {
    --this-color: #ff5473;
    --this-bg: rgba(255,84,115,.1);
}
.c-red2 {
    --this-color: #d6064c;
    --this-bg: rgba(194,41,46,.1);
}
.c-yellow {
    --this-color: #ff6f06;
    --this-bg: rgba(255,111,6,.1);
}
.c-yellow2 {
    --this-color: #c58516;
    --this-bg: rgba(179,103,8,.1);
}
.c-blue {
    --this-color: #2997f7;
    --this-bg: rgba(41,151,247,.1);
}
.c-blue2 {
    --this-color: #5c7cff;
    --this-bg: rgba(77,130,249,.1);
}
.c-cyan {
    --this-color: #04b9b6;
    --this-bg: rgba(8,196,193,.1);
}
.c-green {
    --this-color: #18a52a;
    --this-bg: rgba(18,185,40,.1);
}
.c-green2 {
    --this-color: #6a933e;
    --this-bg: rgba(72,135,24,.1);
}
.c-purple {
    --this-color: #e434e1;
    --this-bg: rgba(213,72,245,.1);
}
.c-purple2 {
    --this-color: #8e4aff;
    --this-bg: rgba(154,72,245,.1);
}

a.disabled,
a:disabled {
    pointer-events: none;
    filter: alpha(opacity=50);
    opacity: .5;
}

.fs-small { font-size: .75rem; }
.fs-medium { font-size: .875rem; }
.fs-large { font-size: 1.25rem; }

/* ============ 页脚 ============ */
.footer {
    padding: 3rem 0 2rem 0;
    background: #f4f4f4;
    font-size: .875rem;
    color: #848999;
}
.footer h4 {
    color: rgba(132,137,153,.8);
    font-size: 1.25rem;
    transform: scale(1, 1.05);
}

/* ============ 图标 ============ */
.iconfont.disabled,
.iconfont.disabled:hover {
    color: #ccc !important;
    border-color: #ccc !important;
    cursor: default !important;
}
.iconfont.icon-round {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    color: #848999;
    font-size: 24px;
    text-decoration: none;
    border: 2px solid #848999;
}
.iconfont.icon-round:hover {
    color: rgba(0,0,0,.4);
    border-color: rgba(0,0,0,.4);
    text-decoration: none;
}
.iconfont.icon-round:not(:last-child) {
    margin-right: 1rem;
}

.icon-round-group > a {
    position: relative;
}
.icon-round-group > a img {
    position: absolute;
    width: 180px;
    height: 180px;
    top: -180px;
    left: -180px;
    display: none;
}
.icon-round-group > a:hover img {
    display: block !important;
    background: #fff;
    padding: 5px;
    border-radius: 5px;
}

/* ============ 浮动按钮 ============ */
.floating {
    position: fixed;
    right: 20px;
    width: 48px;
    bottom: 150px;
    z-index: 998;
}
.floating > a {
    position: relative;
}
.floating > a > img {
    position: absolute;
    width: 180px;
    height: 180px;
    top: -90px;
    left: -200px;
    display: none;
}
.floating > a:hover img {
    display: block !important;
    background: #fff;
    padding: 5px;
    border-radius: 5px;
    box-shadow: 0 2px 15px 0 rgba(0,0,0,.1);
}
.floating > .iconfont {
    display: block;
    width: 3rem;
    height: 3rem;
    line-height: 3rem;
    background: #fff;
    box-shadow: 0 2px 15px 0 rgba(0,0,0,.1);
    border-radius: 50%;
    text-align: center;
    cursor: pointer;
    color: #333;
    text-decoration: none;
    margin: 3px 0 0 0;
    font-size: 1.5rem;
}
.floating > .iconfont:hover:before {
    content: "" !important;
}
.floating > .iconfont > span {
    display: none;
    width: 1.5rem;
    margin: 0 auto;
    padding-top: .55rem;
    font-size: .725rem;
    line-height: 1rem !important;
}
.floating > .iconfont:hover > span {
    display: block !important;
}

/* ============ Nubble组件 ============ */
.nubble-anim {
    transition: width .5s ease;
}
.nubble-anim > .nubble > h3 {
    color: #848999;
}
.nubble-anim.col-lg-6 > .nubble > h3 {
    font-weight: 600;
}
.nubble-anim.col-lg-6 > .nubble > h3,
.nubble-anim.col-lg-6 > .nubble > p,
.nubble-anim.col-lg-6 > .nubble > a {
    color: #636999;
}

.nubble {
    position: relative;
    padding: 1rem 1.25rem;
    border-radius: 5px;
    background-image: linear-gradient(0deg, #fff, #f3f5f8);
    border: 2px solid #fff;
}
.nubble:after {
    position: absolute;
    right: 3px;
    top: 3px;
    content: "";
    width: 57px;
    height: 46px;
    background-image: url("../images/quote_r.svg");
    background-position: right top;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.nubble > h3 {
    color: #888;
    font-size: 1.25rem;
    margin-bottom: 14px !important;
    font-weight: 600;
}
.nubble > p,
.nubble > a {
    color: #848999;
    font-size: .875rem;
    margin: 0;
}

/* ============ 友情链接 ============ */
.friendships {
    font-size: .875rem;
}
.friendships > a {
    display: inline-block;
    color: #666;
    margin: 0 5px;
}
.friendships > span {
    color: #666;
    font-weight: 600;
}

/* ============ 区块 ============ */
.section {
    background-color: rgba(243,245,248,.6);
    border-radius: 5px;
    padding: 1rem;
}
.section.section-white {
    background-color: #fff;
}
.section.section-border {
    border: 1px solid #efefef;
}

/* ============ Tabs ============ */
.group-tabs {
    display: flex;
    justify-content: center;
    white-space: nowrap;
}
.group-tabs > a {
    height: 31px;
    line-height: 30px;
    padding: 0 14px;
    margin: 0 .5rem;
    background: rgba(0,0,0,.05);
    border-radius: 15px;
    display: inline-block;
    color: #848999;
    font-size: .875rem;
}
.group-tabs > a:hover {
    text-decoration: none;
    color: #ec6149;
}
.group-tabs > a.active {
    color: #fff;
    background: #ec7259;
}

.ball-tabs {
    white-space: nowrap;
}
.ball-tabs > a {
    line-height: 1;
    padding: 3px 8px;
    margin-left: .25rem;
    background: rgba(0,0,0,.05);
    border-radius: 5px;
    display: inline-block;
    font-size: .875rem;
    color: #848999;
}
.ball-tabs > a:hover {
    text-decoration: none;
    color: #ec6149;
}
.ball-tabs > a.active {
    color: #ec7259;
    background: rgba(236,114,89,.1);
}

.tabs-result {
    overflow: hidden;
}
.tabs-result > div {
    overflow: hidden;
    display: none;
    transition: all .3s ease-in-out;
}
.tabs-result > div.active {
    display: block;
}

/* ============ 热门列表 ============ */
.hotest {
    font-size: .875rem;
}
.hotest > li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .5rem 0;
    border-bottom: 1px solid rgba(84,92,99,.1);
}
.hotest > li > a {
    flex: 1;
}
.hotest > li > i {
    display: inline-block;
    padding: 0 4px;
    margin-right: .625rem;
    color: #848999;
    background: rgba(132,137,153,.15);
    border-radius: 5px;
    font-style: normal;
    font-size: .75rem;
    font-weight: 600;
}
.hotest > li > span {
    text-align: right;
    width: 50px;
    color: #b2b2b2;
    font-size: .75rem;
}
.hotest > li:nth-child(-n+3) > i {
    color: #ec7259;
    background: rgba(236,114,89,.2);
}

.hotest-large > li {
    display: flex;
    align-items: center;
    padding: .5rem 0;
    border-bottom: 1px solid rgba(84,92,99,.1);
}
.hotest-large > li > a {
    flex: 1;
}
.hotest-large > li > i {
    display: inline-flex;
    width: 30px;
    color: #848999;
    font-style: normal;
    font-family: Impact;
}
.hotest-large > li:nth-child(-n+3) > i {
    color: #ec7259;
}

/* ============ 摘要列表 ============ */
.summary-list > li {
    display: flex;
    align-items: center;
    padding: .5rem 0;
    border-bottom: 1px solid rgba(84,92,99,.1);
}
.summary-list > li > a {
    display: block;
    text-decoration: none;
}
.summary-list > li > a > span {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
.summary-list > li > a > p {
    font-size: .875rem;
    color: #848999;
    margin: 5px 0 0 0 !important;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.summary-list > li > a:hover {
    text-decoration: none;
}
.summary-list > li > a:hover > span {
    color: #ec7259;
}

/* ============ PU Wrapper ============ */
.pu-wrapper {
    padding: 15px;
    border-radius: 5px;
    background: #fff;
    border: 1px solid #eee;
    color: #848999;
    font-size: .875rem;
}
.pu-wrapper a {
    color: #848999;
}
.pu-wrapper:hover {
    background-color: rgba(243,245,248,.5);
    transition: .3s;
}
.pu-wrapper .singers {
    max-width: 50%;
}
.pu-wrapper .singers > a:not(:first-child) {
    position: relative;
    margin-left: 1rem;
}
.pu-wrapper .singers > a:not(:first-child):after {
    content: "|";
    position: absolute;
    top: 0;
    left: -.6rem;
    color: #ccc;
    line-height: 1;
}
.pu-wrapper .pu-title {
    color: #333;
    margin-left: .4rem;
    font-size: 1rem;
    font-weight: 600 !important;
    line-height: 1;
}
.pu-wrapper .cat {
    line-height: 1 !important;
}

/* ============ 歌手热门 ============ */
.singer-hotest {
    display: flex;
    align-items: center;
    line-height: 1.2;
}
.singer-hotest > h3 {
    display: inline-block;
    background-image: linear-gradient(0deg, #fff, #f3f5f8);
    border: 2px solid #fff;
    border-radius: 5px;
    padding: 5px 10px !important;
    margin: 0 !important;
}
.singer-hotest > h3 > span {
    display: inline-block;
    width: 2rem;
    text-align: center;
    white-space: pre-wrap;
    color: #848999;
    font-size: .875rem;
    font-weight: 600;
}
.singer-hotest > .singer-items {
    flex: 1;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.singer-hotest > .singer-items > a {
    display: inline-block;
    font-size: .875rem;
    margin-left: 1rem;
    color: #848999;
}

/* ============ 边框列表 ============ */
.border-list > li {
    display: flex;
    align-items: center;
    padding: 5px 0;
    padding: .5rem 0;
    border-bottom: 1px solid rgba(84,92,99,.1);
}
.border-list > li > i {
    display: inline-block;
    color: #848999;
    margin-right: 5px;
}
.border-list > li > a {
    display: inline-block;
}

/* ============ 标签 ============ */
.cat-wrapper > a {
    margin-right: .5rem !important;
}
.cat-wrapper > .cat {
    margin-left: .5rem !important;
}
.cat {
    display: inline-block;
    font-size: .75rem;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 3px 5px 2px 5px;
    line-height: 1.4;
    vertical-align: middle;
    color: var(--this-color);
    background: var(--this-bg);
}
.cat:focus,
.cat:hover {
    opacity: .8;
    transition: .3s;
}
.cat:active {
    box-shadow: inset 0 2px 3px rgba(0,0,0,.08);
}

.btn-more {
    background: #fff;
    border: 1px solid rgba(132,137,153,.5);
    color: #848999;
    padding: 0 12px;
    display: inline-block;
    line-height: 26px;
    border-radius: 13px;
    font-size: .875rem;
}
.btn-more:focus,
.btn-more:hover {
    text-decoration: none;
    color: #ec7259;
    border-color: #ec7259;
}

.btn-favorite {
    display: inline-flex;
    align-content: center;
    align-items: center;
    border: 1px solid #c9c9c9;
    background-color: #fff;
    color: #999;
    padding: .5rem 1rem;
    border-radius: 1.25rem;
    font-style: normal;
    line-height: 1;
    font-size: .875rem;
    box-shadow: inset -1px -1px rgba(26,26,26,.075);
}
.btn-favorite.active,
.btn-favorite:focus,
.btn-favorite:hover {
    text-decoration: none;
    color: #fff;
    border-color: #ec6149;
    background-color: #ec7259;
}
.btn-favorite > i {
    margin-right: 5px;
    font-size: 1rem;
}

.tags > a {
    display: inline-block;
    white-space: nowrap;
    border: 1px solid rgba(132,137,153,.2);
    background: #fff;
    border-radius: 13px;
    font-size: .875rem;
    margin: .25rem .5rem .35rem 0;
    color: #848999;
    height: 27px;
    line-height: 25px;
    padding: 0 .75rem;
}
.tags > a:hover {
    color: #ec7259;
    border-color: #ec7259;
    text-decoration: none;
}

/* ============ 背景头部 ============ */
.bg-header {
    padding: 1rem 1.25rem;
    border-radius: 5px;
    background-color: #f3f5f8;
    background-image: url(../images/bg_ac34e7.png);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 50% auto;
}

/* ============ 详情页 ============ */
.detail-title {
    font-size: 1.5rem !important;
    margin: 0 !important;
}
.detail-votes {
    display: flex;
    margin-top: 15px;
    color: #848999;
    font-size: .875rem;
}
.detail-miaoshu {
    display: flex;
    margin-top: 15px;
    color: #555555;
    font-size: 18px;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    padding: 16px 20px;
    background-color: #fafafa;
}
.detail-votes > time,
.detail-votes > span {
    display: inline-block;
    white-space: nowrap;
    margin-right: 1rem;
}
.detail-summary {
    color: #848999;
    font-size: .875rem;
    margin-top: 8px;
}

.score-detail-figure {
    width: 100%;
    overflow: hidden;
    border: 1px solid #efefef;
    border-radius: 5px;
    background: #fff;
    position: relative;
    padding: 0 1rem;
}
.score-detail-figure > img {
    width: 100%;
}
.score-detail-figure > figcaption {
    position: absolute;
    top: -.5rem;
    left: -1.875rem;
    width: 5.625rem;
    height: 2.8125rem;
    background: #ec7259;
    background: linear-gradient(to bottom, #ec7259 0, #ec6149 100%);
    font-weight: 600;
    color: #fff;
    box-sizing: border-box;
    padding-top: 1.125rem;
    text-align: center;
    transform: rotate(-45deg);
}

.score-lyric {
    text-align: center;
    line-height: 1.6;
    font-family: inherit;
    font-size: .875rem;
    margin: 0 !important;
    padding: 0 !important;
    color: #848999;
}

.detail-tags {
    display: flex;
    flex-wrap: wrap;
}
.detail-tags > a {
    white-space: nowrap;
    margin: 1rem .5rem 0 0;
    padding: .3rem 1rem;
    font-size: .875rem;
    background: #f5f5f5;
    color: #9a9a9a;
    border-radius: 5px;
    display: inline-block;
}
.detail-tags > a:hover {
    color: #fff;
    text-decoration: none;
    background: #848999;
}

.readall {
    position: relative;
    z-index: 1099;
    margin-top: -200px;
    text-align: center;
}
.readall > .mask {
    height: 200px;
    background-image: linear-gradient(0deg, #fff, rgba(255,255,255,.1));
}
.readall > a {
    display: inline-flex;
    align-items: center;
    margin-bottom: 1rem;
    cursor: pointer;
    color: #ec7259;
}
.readall > a > i {
    margin-left: 10px;
}

/* ============ 主题列表 ============ */
.topic-wrapper {
    display: flex;
    padding: 1.5rem 0;
    margin: 0 .5rem;
    border-bottom: 1px solid rgba(84,92,99,.1);
}
.topic-wrapper:hover {
    background-image: linear-gradient(to right, rgba(243,245,248,.1), #f3f5f8, 20%, #f3f5f8 80%, rgba(243,245,248,.1));
}
.topic-wrapper > .topic-thumb {
    margin-left: auto;
}
.topic-wrapper > .topic-thumb > img {
    margin-left: 20px;
    border: 1px solid #eee;
    border-radius: 4px;
    width: 140px;
    height: 100px;
}
@media screen and (max-width: 992px) {
    .topic-wrapper > .topic-thumb > img {
        width: 80px;
        height: 70px;
    }
}
.topic-wrapper > .topic-item {
    flex: 1;
}
.topic-wrapper > .topic-item > h3 {
    margin: 0 !important;
    font-size: 1.1875rem;
    font-weight: 600;
}
.topic-wrapper > .topic-item > h3 > a {
    color: #333;
}
.topic-wrapper > .topic-item > h3 > a:hover {
    color: #ec7259;
}
@media screen and (max-width: 992px) {
    .topic-wrapper > .topic-item > h3 {
        height: 44px;
        font-weight: normal !important;
        display: -webkit-box;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
}
.topic-wrapper > .topic-item > p {
    font-size: .875rem;
    color: #666;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin: 10px 0 0 0 !important;
}
.topic-wrapper > .topic-item .votes {
    display: flex;
    align-items: center;
    white-space: nowrap;
    font-size: .75rem;
    color: #848999;
    margin-top: 10px;
}
.topic-wrapper > .topic-item .votes > span {
    margin-left: 20px;
    position: relative;
}
.topic-wrapper > .topic-item .votes > span:before {
    content: "";
    display: inline-block;
    width: .15rem;
    height: .15rem;
    border-radius: 50%;
    background-color: rgba(0,0,0,.3);
    margin-top: -1px;
    position: absolute;
    top: 50%;
    left: -11px;
}

/* ============ Slogan ============ */
.slogan {
    margin: 0;
    padding: 1.25rem;
    border-radius: 5px;
    height: 100%;
    background: #f9f9fa;
    background-image: linear-gradient(0deg, #fff, #f3f5f8);
}
.slogan dt {
    font-size: 1.5rem;
    color: #5fa7ef;
    font-style: italic;
    margin-bottom: .25rem;
    font-weight: 300 !important;
}
.slogan dd {
    margin-bottom: 2rem;
    color: #848999;
    font-weight: 300 !important;
}

/* ============ 搜索项 ============ */
.search-item {
    padding: 1.5rem 0;
    border-bottom: 1px solid rgba(0,0,0,.05);
}
.search-item a {
    margin-left: .5rem;
    font-size: 1.125rem;
    font-weight: 500;
    color: #2440b3;
    text-decoration: underline;
}
.search-item > p {
    margin: 6px 0 0 0 !important;
    font-size: .875rem;
    color: #777;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.search-item > time {
    margin-top: 6px !important;
    font-size: .75rem;
    color: rgba(132,137,153,.7);
}

/* ============ 标题分隔线 ============ */
h6 {
    display: block;
    position: relative;
    margin: 0 0 10px !important;
    font-size: .875rem;
    color: #b5b5b5;
    text-align: center;
}
h6:before,
h6:after {
    content: "";
    border-top: 1px solid rgba(84,92,99,.1);
    display: block;
    position: absolute;
    top: 52%;
    width: 40%;
}
@media screen and (max-width: 992px) {
    h6:before,
    h6:after {
        width: 20%;
    }
}
h6:before {
    left: 0;
}
h6:after {
    right: 0;
}

/* ============ 图片视图 ============ */
.img-view {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 98%;
    overflow: hidden;
    border: 1px solid #eee;
    border-radius: 4px;
    margin: 0 !important;
}
.img-view > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.img-view > figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: .25rem .5rem;
    background: rgba(0,0,0,.35);
    z-index: 99;
}

/* ============ 随机项 ============ */
.random-item {
    margin: 0;
    padding: 15px;
    border: 1px solid var(--this-bg);
}
.random-item a {
    font-size: 1rem;
    font-weight: 600;
}
.random-item > p {
    margin: 5px 0 0 0 !important;
    padding: 0;
    font-size: .75rem;
    color: #888;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* ============ 标题装饰 ============ */
.h-title {
    position: relative;
    padding-left: 1.2em;
    font-size: 1rem;
    margin: 0 0 16px 0;
}
.h-title:before {
    position: absolute;
    content: "";
    width: 4px;
    background: #ec7259;
    top: 10%;
    left: 2px;
    bottom: 10%;
    border-radius: 5px;
    box-shadow: 1px 1px 3px -1px #ec7259;
}
/* 在 body 上添加 padding-top 防止内容被遮挡 */
body {
    padding-top: 65px !important;
}
/* ================================================ */
/* ==========  会员功能样式（修复版） ========== */
/* ================================================ */

/* ---------- 会员头像 ---------- */
.user-box {
    position: relative;
    display: inline-block;
    cursor: pointer;
    vertical-align: middle;
    padding-bottom: 8px;  /* 增加底部内边距，填补间隙 */
    margin-bottom: -8px;  /* 负边距抵消，不占额外空间 */
}

.user-avatar-nav {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #00d900;
    transition: all 0.3s ease;
    display: block;
}

.user-avatar-nav:hover {
    border-color: #00ffff;
    transform: scale(1.05);
}

/* ---------- 会员下拉菜单 ---------- */
.user-drop-nav {
    position: absolute;
    top: calc(100% - 4px);  /* 调整位置，与头像更接近 */
    right: 0;
    min-width: 200px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    padding: 6px 0;
    z-index: 99999;
    display: none;
    opacity: 0;
    transform: translateY(-5px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    visibility: hidden;
    border: 1px solid rgba(0, 0, 0, 0.06);
    pointer-events: none;  /* 默认不可点击 */
}

/* 显示下拉菜单时允许点击 */
.user-box:hover .user-drop-nav,
.user-box.active .user-drop-nav {
    display: block;
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;  /* 显示时可点击 */
}

/* 增加一个透明的连接层，防止鼠标移动时失焦 */
.user-drop-nav::after {
    content: "";
    position: absolute;
    top: -8px;
    left: 0;
    right: 0;
    height: 8px;
    background: transparent;
}

/* 下拉菜单三角箭头 - 位置调整 */
.user-drop-nav::before {
    content: "";
    position: absolute;
    top: -5px;
    right: 14px;
    width: 10px;
    height: 10px;
    background: #ffffff;
    transform: rotate(45deg);
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    border-left: 1px solid rgba(0, 0, 0, 0.06);
}

/* ---------- 用户信息区域 ---------- */
.user-name-wrap-nav {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px 12px 16px;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 4px;
}

.mini-avatar-nav {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid #eee;
}

.name-text-nav {
    line-height: 1.4;
    text-align: left;
    flex: 1;
}

.name-text-nav .nick-nav {
    font-size: 15px;
    color: #222;
    font-weight: 600;
    display: block;
}

.name-text-nav .role-nav {
    font-size: 12px;
    color: #999;
    display: block;
    margin-top: 1px;
}

/* ---------- 下拉菜单项 ---------- */
.user-drop-item {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 8px 18px !important;
    color: #444 !important;
    text-decoration: none !important;
    font-size: 14px;
    transition: all 0.15s ease;
    margin: 0 4px;
    border-radius: 6px;
    line-height: 1.4 !important;
    cursor: pointer !important;
}

.user-drop-item:hover {
    background: #f5f7fa !important;
    color: #ec7259 !important;
    text-decoration: none !important;
}

.user-drop-item .iconfont {
    font-size: 16px;
    color: #999;
    transition: color 0.15s ease;
}

.user-drop-item:hover .iconfont {
    color: #ec7259;
}

.user-drop-item.text-danger {
    color: #d9534f !important;
}

.user-drop-item.text-danger:hover {
    background: #fef0ef !important;
    color: #c9302c !important;
}

.user-drop-item.text-danger .iconfont {
    color: #d9534f;
}

.user-drop-item.text-danger:hover .iconfont {
    color: #c9302c;
}

/* 分割线 */
.user-drop-divider {
    height: 1px;
    background: #f0f0f0;
    margin: 4px 12px;
}

/* 为了更平滑的过渡，给下拉菜单的每个项目加一点延迟 */
.user-drop-item {
    transition: all 0.15s ease;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 992px) {
    .user-avatar-nav {
        width: 32px;
        height: 32px;
    }
    
    .user-drop-nav {
        min-width: 180px;
        right: -10px;
        top: calc(100% - 2px);
    }
    
    .user-drop-nav::before {
        right: 18px;
        top: -4px;
    }
    
    .user-name-wrap-nav {
        padding: 8px 14px 10px 14px;
    }
    
    .mini-avatar-nav {
        width: 36px;
        height: 36px;
    }
    
    .name-text-nav .nick-nav {
        font-size: 14px;
    }
    
    .user-drop-item {
        padding: 6px 14px !important;
        font-size: 13px;
    }
}

/* ---------- 手机端下拉菜单点击展开 ---------- */
@media (max-width: 768px) {
    .user-box {
        padding-bottom: 0;
        margin-bottom: 0;
    }
    
    .user-box .user-drop-nav {
        display: none;
        opacity: 1;
        transform: none;
        visibility: visible;
        pointer-events: none;
        top: calc(100% + 4px);
    }
    
    .user-box.active .user-drop-nav {
        display: block;
        opacity: 1;
        transform: none;
        visibility: visible;
        pointer-events: auto;
    }
    
    .user-box .user-drop-nav::before {
        display: none;
    }
    
    .user-box .user-drop-nav::after {
        display: none;
    }
}

/* ---------- 导航栏会员头像位置调整 ---------- */
.navbar-text {
    display: flex;
    align-items: center;
    padding-left: 0.5rem !important;
}

.navbar-text .user-box {
    line-height: 1;
}
/* ================================================ */
/* ==========  购买卡片样式（美化版） ========== */
/* ================================================ */

/* ---------- 购买卡片容器 ---------- */
.purchase-card {
    border: none;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    transition: all 0.3s ease;
}

.purchase-card:hover {
    transform: translateY(-2px);
}

/* ===== 1. 已购买状态 ===== */
.purchased-card {
    box-shadow: 0 4px 20px rgba(34, 197, 94, 0.15);
}

.purchased-box {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border: 1px solid #bbf7d0;
    border-radius: 16px;
    padding: 28px 32px;
    position: relative;
    overflow: hidden;
}

.purchased-box::before {
    content: "✓";
    position: absolute;
    right: -20px;
    top: -30px;
    font-size: 120px;
    color: rgba(34, 197, 94, 0.08);
    font-weight: 700;
}

.purchased-box .icon-check {
    color: #22c55e;
    font-size: 28px;
}

.badge-purchased {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    color: #fff;
    padding: 6px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    line-height: 1.5;
    vertical-align: middle;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3);
}
.badge-purchased i {
    margin-right: 6px;
    font-size: 16px;
}

.btn-download-lg {
    padding: 14px 42px !important;
    font-size: 18px !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 24px rgba(34, 197, 94, 0.35) !important;
}

.btn-download-lg:hover {
    box-shadow: 0 10px 36px rgba(34, 197, 94, 0.45) !important;
    transform: translateY(-2px);
}

/* ===== 2. 未登录状态 ===== */
.login-card {
    box-shadow: 0 4px 20px rgba(245, 158, 11, 0.12);
}

.login-box {
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fde68a;
    border-radius: 16px;
    padding: 48px 36px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.login-box::before {
    content: "🔓";
    position: absolute;
    right: -10px;
    top: -20px;
    font-size: 100px;
    opacity: 0.06;
}

.login-icon {
    font-size: 56px;
    display: block;
    margin-bottom: 12px;
}

.login-title {
    font-size: 24px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 8px;
}

.login-desc {
    color: #6b7280;
    font-size: 16px;
    margin-bottom: 28px;
}

.login-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-login {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: #fff;
    border: none;
    padding: 14px 36px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 6px 24px rgba(245, 158, 11, 0.35);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}
.btn-login:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 36px rgba(245, 158, 11, 0.45);
    color: #fff;
    text-decoration: none;
}

.btn-register {
    background: #fff;
    color: #374151;
    border: 2px solid #e5e7eb;
    padding: 14px 36px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}
.btn-register:hover {
    background: #f9fafb;
    border-color: #d1d5db;
    color: #111827;
    text-decoration: none;
    transform: translateY(-2px);
}

/* ===== 3. 已登录未购买（核心购买卡片） ===== */
.buy-card {
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.buy-card-inner {
    background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 32px 36px;
    position: relative;
    overflow: hidden;
}

.buy-card-inner::before {
    content: "🎸";
    position: absolute;
    right: -10px;
    bottom: -20px;
    font-size: 120px;
    opacity: 0.04;
}

/* 购买提示 */
.buy-tip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    padding: 8px 18px 8px 14px;
    border-radius: 50px;
    border: 1px solid #bfdbfe;
    margin-bottom: 20px;
}

.tip-icon {
    font-size: 20px;
}
.tip-text {
    font-size: 14px;
    color: #1e40af;
}
.tip-text strong {
    color: #1e3a8a;
}

/* 价格显示 */
.price-display {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vip-price-tag {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(135deg, #fefce8 0%, #fef3c7 100%);
    padding: 12px 24px;
    border-radius: 12px;
    border: 1px solid #fde68a;
    width: fit-content;
}

.vip-label {
    font-size: 14px;
    color: #92400e;
    font-weight: 500;
}

.vip-price-number {
    font-size: 28px;
    font-weight: 800;
    color: #d97706;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* 价格特性 */
.price-features {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.price-features .feature-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #6b7280;
    background: #f3f4f6;
    padding: 4px 14px;
    border-radius: 50px;
}

/* 右侧购买操作 */
.buy-action {
    padding: 8px 0;
}

.price-large {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
    margin-bottom: 12px;
}

.price-large .currency {
    font-size: 20px;
    font-weight: 600;
    color: #f59e0b;
}

.price-large .amount {
    font-size: 48px;
    font-weight: 800;
    color: #f59e0b;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.btn-buy-primary {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: #fff;
    border: none;
    padding: 16px 48px;
    border-radius: 14px;
    font-size: 20px;
    font-weight: 700;
    transition: all 0.3s ease;
    box-shadow: 0 8px 32px rgba(245, 158, 11, 0.4);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    width: 100%;
    justify-content: center;
}
.btn-buy-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 48px rgba(245, 158, 11, 0.5);
    color: #fff;
    text-decoration: none;
}

.buy-guarantee {
    font-size: 13px;
    color: #9ca3af;
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

/* 底部特性 - 修复版 */
.buy-features {
    display: flex;
    justify-content: space-around;
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid #f3f4f6;
    gap: 8px;
}

.buy-features .feature-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #4b5563;
    padding: 6px 14px;
    background: #f9fafb;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.buy-features .feature-item:hover {
    background: #f3f4f6;
    transform: translateY(-2px);
}

.buy-features .feature-item .feature-icon {
    font-size: 18px;
    line-height: 1;
}

/* ---------- 信息标签 ---------- */
.info-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 14px;
    background: #f3f4f6;
    border-radius: 50px;
    font-size: 13px;
    color: #6b7280;
}
.info-tag i {
    font-size: 14px;
    color: #667eea;
}

/* ---------- 视频播放器样式 ---------- */
.show-video {
    width: 100%;
    height: 100%;
    display: block;
    margin: 10px auto;
}
.show-video .iframe-video {
    top: 0;
    left: 0;
    width: 100%;
    height: 500px;
    display: block;
    margin: 10px auto;
    border-radius: 12px;
}

/* ---------- 响应式适配 ---------- */
@media (max-width: 992px) {
    .buy-card-inner {
        padding: 24px 20px;
    }
    
    .price-large .amount {
        font-size: 36px;
    }
    
    .btn-buy-primary {
        padding: 14px 32px;
        font-size: 18px;
    }
    
    .vip-price-number {
        font-size: 22px;
    }
    
    .buy-features {
        flex-wrap: wrap;
        gap: 12px;
    }
}

@media (max-width: 768px) {
    .purchased-box {
        padding: 20px;
    }
    
    .login-box {
        padding: 32px 20px;
    }
    
    .login-actions {
        flex-direction: column;
        align-items: center;
    }
    
    .btn-login,
    .btn-register {
        width: 100%;
        justify-content: center;
    }
    
    .buy-tip {
        width: 100%;
        justify-content: center;
    }
    
    .vip-price-tag {
        width: 100%;
        justify-content: center;
    }
    
    .price-features {
        justify-content: center;
    }
    
    .btn-download-lg {
        width: 100%;
        justify-content: center;
    }
}
/* ================================================
   移动端导航栏优化 - 顶部一排显示，搜索压缩
   ================================================ */

/* ---------- 基础导航容器 ---------- */
.navbar-custom {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1030 !important;
    background: #fff !important;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .05) !important;
    border-bottom: 1px solid #eee !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    min-height: 56px;
    padding: 0 8px !important;
}

/* 滚动时增强阴影 */
.navbar-custom.navbar-scrolled {
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08) !important;
}

/* ---------- 品牌 Logo ---------- */
.navbar-custom .navbar-brand {
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.navbar-custom .navbar-brand > img {
    height: 28px;
    max-height: 32px;
}

/* ---------- 顶部布局：使用 flex 保证一排显示 ---------- */
.navbar-custom .container,
.navbar-custom .container-fluid {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

/* 导航折叠按钮 - 最左侧或右侧 */
.navbar-custom .navbar-toggler {
    border: 0 none;
    padding: 0;
    border-radius: 50%;
    flex-shrink: 0;
    margin-left: 0;
    margin-right: 4px;
}
.navbar-custom .navbar-toggler > .icon-round {
    font-size: 20px;
    line-height: 1.7;
}
.navbar-custom .navbar-toggler:focus {
    box-shadow: 0 0 0 3px rgba(0, 0, 0, .05) !important;
}

/* ---------- 搜索框 - 移动端压缩 ---------- */
.header-search-wrapper {
    flex: 1 1 auto !important;
    min-width: 60px !important;
    max-width: 180px !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    margin: 0 6px !important;
    transition: max-width 0.3s ease, min-width 0.3s ease !important;
}

.header-search-wrapper > .header-search {
    display: flex;
    width: 100%;
    height: 32px !important;
    border-radius: 18px;
    background: rgba(238, 238, 238, .9);
    color: #848999;
    align-items: center;
    overflow: hidden;
}

.header-search-wrapper > .header-search > .header-search-button {
    background: none !important;
    border: 0 none;
    height: 32px !important;
    width: 30px !important;
    flex-shrink: 0;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header-search-wrapper > .header-search > .header-search-button > .icon-search {
    font-size: 1rem !important;
    color: #848999;
}
.header-search-wrapper > .header-search > .header-search-button:hover > .icon-search {
    color: #ec7259;
}

.header-search-wrapper > .header-search > .header-search-input {
    flex: 1 1 auto;
    width: 100%;
    min-width: 40px;
    background: none;
    border: 0 none;
    height: 32px !important;
    line-height: 32px;
    padding: 0 .4rem 0 .6rem !important;
    font-size: .75rem !important;
    color: #333;
}
.header-search-wrapper > .header-search > .header-search-input:focus {
    color: #212529;
    outline: 0;
    box-shadow: none !important;
}
.header-search-wrapper > .header-search > .header-search-input::placeholder {
    font-size: .75rem;
    color: #aaa;
}

/* ---------- 右侧会员头像 + 其他操作 ---------- */
.navbar-text {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 2px;
}

/* 会员头像 - 移动端缩小 */
.user-box {
    position: relative;
    display: inline-block;
    cursor: pointer;
    vertical-align: middle;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1;
}

.user-avatar-nav {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #00d900;
    transition: all 0.3s ease;
    display: block;
}

.user-avatar-nav:hover {
    border-color: #00ffff;
    transform: scale(1.05);
}

/* 隐藏下拉菜单的默认显示（由原有样式控制） */
.user-drop-nav {
    /* 保持原有样式，但移动端通过 JS 或点击控制 */
    right: -8px !important;
    top: calc(100% + 2px) !important;
    min-width: 170px !important;
}

/* ---------- 移动端覆盖：确保所有元素在一排 ---------- */
@media screen and (max-width: 992px) {
    /* 导航主体强制 flex 不换行 */
    .navbar-custom .container,
    .navbar-custom .container-fluid {
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
    }

    /* Logo 缩小 */
    .navbar-custom .navbar-brand > img {
        height: 20px !important;
    }

    /* 搜索框更紧凑 */
    .header-search-wrapper {
        min-width: 50px !important;
        max-width: 140px !important;
        margin: 0 4px !important;
    }
    .header-search-wrapper > .header-search {
        height: 28px !important;
        border-radius: 14px;
    }
    .header-search-wrapper > .header-search > .header-search-button {
        height: 28px !important;
        width: 26px !important;
    }
    .header-search-wrapper > .header-search > .header-search-button > .icon-search {
        font-size: .85rem !important;
    }
    .header-search-wrapper > .header-search > .header-search-input {
        height: 28px !important;
        line-height: 28px !important;
        font-size: .7rem !important;
        padding: 0 .3rem 0 .4rem !important;
    }
    .header-search-wrapper > .header-search > .header-search-input::placeholder {
        font-size: .7rem;
    }

    /* 头像再缩小 */
    .user-avatar-nav {
        width: 28px !important;
        height: 28px !important;
        border-width: 1.5px;
    }

    /* 汉堡按钮 */
    .navbar-custom .navbar-toggler > .icon-round {
        font-size: 18px;
    }

    /* 下拉菜单位置微调 */
    .user-drop-nav {
        min-width: 160px !important;
        right: -6px !important;
        top: calc(100% + 4px) !important;
    }
    .user-drop-nav::before {
        right: 16px !important;
        top: -4px !important;
        width: 8px;
        height: 8px;
    }
}

/* ---------- 极小屏手机（< 400px）进一步压缩 ---------- */
@media screen and (max-width: 400px) {
    .navbar-custom {
        padding: 0 4px !important;
        min-height: 48px;
    }
    .navbar-custom .navbar-brand > img {
        height: 16px !important;
    }
    .header-search-wrapper {
        min-width: 40px !important;
        max-width: 100px !important;
        margin: 0 2px !important;
    }
    .header-search-wrapper > .header-search {
        height: 24px !important;
        border-radius: 12px;
    }
    .header-search-wrapper > .header-search > .header-search-button {
        height: 24px !important;
        width: 22px !important;
    }
    .header-search-wrapper > .header-search > .header-search-button > .icon-search {
        font-size: .7rem !important;
    }
    .header-search-wrapper > .header-search > .header-search-input {
        height: 24px !important;
        line-height: 24px !important;
        font-size: .6rem !important;
        padding: 0 .2rem !important;
    }
    .header-search-wrapper > .header-search > .header-search-input::placeholder {
        font-size: .6rem;
    }
    .user-avatar-nav {
        width: 22px !important;
        height: 22px !important;
        border-width: 1px;
    }
    .navbar-custom .navbar-toggler > .icon-round {
        font-size: 16px;
    }
}

/* ---------- 当展开菜单时，不破坏顶部布局 ---------- */
.navbar-custom .navbar-collapse.show,
.navbar-custom .navbar-collapse.collapsing {
    position: absolute !important;
    top: 56px !important;
    left: 0 !important;
    display: block !important;
    width: 100% !important;
    background: #fff;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1) !important;
    z-index: 1030;
    transition: top .35s ease !important;
    max-height: calc(100vh - 56px);
    overflow-y: auto;
    padding: 0.5rem 0;
    border-top: 1px solid #eee;
}
/* 极小屏菜单展开位置 */
@media screen and (max-width: 400px) {
    .navbar-custom .navbar-collapse.show,
    .navbar-custom .navbar-collapse.collapsing {
        top: 48px !important;
        max-height: calc(100vh - 48px);
    }
}

/* ---------- 会员下拉菜单在移动端的点击展开（配合 JS） ---------- */
@media (max-width: 768px) {
    .user-box .user-drop-nav {
        display: none;
        opacity: 1;
        transform: none;
        visibility: visible;
        pointer-events: none;
        top: calc(100% + 4px) !important;
        right: -4px !important;
    }
    .user-box.active .user-drop-nav {
        display: block;
        opacity: 1;
        transform: none;
        visibility: visible;
        pointer-events: auto;
    }
    .user-box .user-drop-nav::before {
        display: none;
    }
    .user-box .user-drop-nav::after {
        display: none;
    }
}

/* ---------- 确保 body 顶部不被遮挡 ---------- */
body {
    padding-top: 56px !important;
}
@media screen and (max-width: 400px) {
    body {
        padding-top: 48px !important;
    }
}
/* ================================================
   移动端内容自适应 - 图片/表格/代码块等溢出修复
   ================================================ */

/* ---------- 全局容器自适应 ---------- */
@media screen and (max-width: 992px) {
    /* 所有容器增加内边距，防止内容贴边 */
    .container,
    .container-fluid {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    
    /* 内容区域增加左右安全边距 */
    .main-content,
    .page-content,
    .content-area,
    .html-raw,
    .detail-content,
    .post-content,
    .article-content {
        padding-left: 4px !important;
        padding-right: 4px !important;
        overflow: hidden !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        max-width: 100% !important;
    }
}

/* ---------- 图片自适应 ---------- */
@media screen and (max-width: 992px) {
    /* 所有图片强制自适应 */
    img,
    .html-raw img,
    .content img,
    .detail-content img,
    .post-content img,
    .article-content img {
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 10px auto !important;
        border-radius: 6px !important;
    }
    
    /* 图片容器防止溢出 */
    .img-wrapper,
    .image-container,
    .thumbnail,
    figure {
        max-width: 100% !important;
        overflow: hidden !important;
    }
    
    /* 防止大图撑破容器 */
    .html-raw img {
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }
}

/* ---------- 表格自适应 ---------- */
@media screen and (max-width: 992px) {
    /* 表格容器 - 允许横向滚动 */
    .html-raw table,
    .content table,
    .detail-content table,
    .post-content table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border-collapse: collapse !important;
        font-size: .75rem !important;
        margin: 15px 0 !important;
        white-space: nowrap !important;
    }
    
    /* 表格内部样式保持 */
    .html-raw table th,
    .html-raw table td,
    .content table th,
    .content table td {
        padding: 6px 10px !important;
        border: 1px solid #e5e7eb !important;
        white-space: nowrap !important;
        min-width: 60px !important;
        max-width: 200px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    
    /* 表格包装器 - 如果存在 */
    .table-wrapper,
    .table-responsive {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        margin: 10px -4px !important;
        padding: 0 4px !important;
        width: 100% !important;
    }
}

/* ---------- 代码块和预格式化文本自适应 ---------- */
@media screen and (max-width: 992px) {
    pre,
    .html-raw pre,
    .code-block,
    .highlight {
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        white-space: pre-wrap !important;
        word-wrap: break-word !important;
        font-size: .75rem !important;
        padding: 10px !important;
        border-radius: 6px !important;
    }
    
    code {
        white-space: pre-wrap !important;
        word-wrap: break-word !important;
        font-size: .75rem !important;
    }
}

/* ---------- 视频和嵌入内容自适应 ---------- */
@media screen and (max-width: 992px) {
    .show-video,
    .video-container,
    .embed-container {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 16/9 !important;
        overflow: hidden !important;
    }
    
    .show-video .iframe-video,
    .video-container iframe,
    .embed-container iframe {
        width: 100% !important;
        height: 100% !important;
        min-height: 200px !important;
        max-height: 400px !important;
        border-radius: 8px !important;
    }
    
    /* 视频播放器响应式 */
    .show-video {
        margin: 10px 0 !important;
    }
    .show-video .iframe-video {
        height: 250px !important;
        min-height: 180px !important;
    }
}

/* ---------- 引用块和特殊内容自适应 ---------- */
@media screen and (max-width: 992px) {
    blockquote,
    .html-raw blockquote {
        padding: 12px 16px !important;
        padding-left: 40px !important;
        font-size: .8rem !important;
        margin: 10px 0 !important;
        word-break: break-word !important;
        overflow: hidden !important;
    }
    
    blockquote:after,
    .html-raw blockquote:after {
        left: 10px !important;
        top: 10px !important;
        width: 30px !important;
        height: 24px !important;
        background-size: 60% auto !important;
    }
    
    /* 列表缩进调整 */
    .html-raw ul,
    .html-raw ol {
        padding-left: 1.2rem !important;
        margin-bottom: 15px !important;
    }
    
    .html-raw li {
        padding-bottom: 6px !important;
        word-break: break-word !important;
    }
}

/* ---------- 详情页内容特殊适配 ---------- */
@media screen and (max-width: 992px) {
    .detail-title {
        font-size: 1.2rem !important;
        word-break: break-word !important;
    }
    
    .detail-miaoshu {
        font-size: 15px !important;
        padding: 12px 14px !important;
        word-break: break-word !important;
        overflow: hidden !important;
        flex-wrap: wrap !important;
    }
    
    .detail-votes {
        flex-wrap: wrap !important;
        gap: 8px !important;
        font-size: .8rem !important;
    }
    
    .detail-votes > time,
    .detail-votes > span {
        margin-right: .5rem !important;
        white-space: normal !important;
    }
    
    .detail-summary {
        font-size: .8rem !important;
        word-break: break-word !important;
    }
    
    .score-detail-figure {
        padding: 0 .5rem !important;
        margin: 0 -4px !important;
        border-radius: 8px !important;
    }
    
    .score-detail-figure > figcaption {
        width: 4rem !important;
        height: 2.2rem !important;
        padding-top: .9rem !important;
        font-size: .75rem !important;
        left: -1.4rem !important;
        top: -.3rem !important;
    }
    
    .score-lyric {
        font-size: .8rem !important;
        line-height: 1.8 !important;
        padding: 0 8px !important;
        word-break: break-word !important;
    }
    
    .detail-tags {
        gap: 6px !important;
    }
    .detail-tags > a {
        font-size: .75rem !important;
        padding: .2rem .7rem !important;
        margin: .5rem .3rem 0 0 !important;
    }
}

/* ---------- 卡片和布局自适应 ---------- */
@media screen and (max-width: 992px) {
    /* 卡片内边距压缩 */
    .pu-wrapper,
    .section,
    .nubble {
        padding: 12px !important;
        margin: 0 -4px !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }
    
    .section.section-white {
        padding: 12px !important;
    }
    
    /* 网格列内边距压缩 */
    .row {
        margin-left: -6px !important;
        margin-right: -6px !important;
    }
    .row > [class*="col-"] {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
    
    /* 热门列表字体调整 */
    .hotest {
        font-size: .8rem !important;
    }
    .hotest > li {
        padding: .4rem 0 !important;
    }
    .hotest > li > a {
        font-size: .8rem !important;
    }
    .hotest > li > span {
        width: 40px !important;
        font-size: .65rem !important;
    }
    
    /* 摘要列表 */
    .summary-list > li {
        padding: .4rem 0 !important;
    }
    .summary-list > li > a > p {
        font-size: .75rem !important;
        -webkit-line-clamp: 2 !important;
    }
}

/* ---------- 主题列表自适应 ---------- */
@media screen and (max-width: 992px) {
    .topic-wrapper {
        padding: 1rem 0 !important;
        margin: 0 !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
    }
    
    .topic-wrapper > .topic-item > h3 {
        font-size: 1rem !important;
        height: auto !important;
        max-height: 44px !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
    }
    
    .topic-wrapper > .topic-item > p {
        font-size: .75rem !important;
        -webkit-line-clamp: 2 !important;
        margin-top: 4px !important;
    }
    
    .topic-wrapper > .topic-item .votes {
        font-size: .65rem !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
    }
    .topic-wrapper > .topic-item .votes > span {
        margin-left: 10px !important;
    }
    .topic-wrapper > .topic-item .votes > span:before {
        display: none !important;
    }
    
    .topic-wrapper > .topic-thumb > img {
        width: 60px !important;
        height: 50px !important;
        margin-left: 0 !important;
        border-radius: 4px !important;
        object-fit: cover !important;
    }
}

/* ---------- 搜索项自适应 ---------- */
@media screen and (max-width: 992px) {
    .search-item {
        padding: 1rem 0 !important;
    }
    .search-item a {
        font-size: 1rem !important;
        display: block !important;
        word-break: break-word !important;
        margin-left: 0 !important;
    }
    .search-item > p {
        font-size: .75rem !important;
        -webkit-line-clamp: 2 !important;
        margin-top: 4px !important;
    }
    .search-item > time {
        font-size: .65rem !important;
    }
}

/* ---------- 面包屑自适应 ---------- */
@media screen and (max-width: 992px) {
    .breadcrumb {
        font-size: .75rem !important;
        padding: 0.5rem 0 !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
        gap: 0 !important;
    }
    .breadcrumb .breadcrumb-item {
        flex-shrink: 0 !important;
    }
    .breadcrumb .breadcrumb-item + .breadcrumb-item {
        padding-left: .3rem !important;
    }
    .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
        padding-right: .3rem !important;
    }
}

/* ---------- 通用溢出修复 ---------- */
@media screen and (max-width: 992px) {
    /* 所有可能溢出的元素 */
    .html-raw,
    .content,
    .detail-content,
    .post-content,
    .article-content,
    .page-content {
        overflow: hidden !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        max-width: 100% !important;
    }
    
    /* 强制所有块级元素不溢出 */
    .html-raw *,
    .content *,
    .detail-content *,
    .post-content *,
    .article-content * {
        max-width: 100% !important;
    }
    
    /* 内联元素换行 */
    .html-raw p,
    .content p,
    .detail-content p,
    .post-content p,
    .article-content p {
        word-wrap: break-word !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }
}