/* Base Style */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a, abbr, big, cite, code, del, em, font, img, ins, q, s, small, strong, sub, sup, tt, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, textarea, select, option, param {
    margin:0;
    padding:0;
    outline-color:-moz-use-text-color;
    outline-style:none;
    outline-width:0;
}
ul, ol, li {list-style-type:none;}
img {border:0;}
* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
em, i {
    font-style: normal;
}

/* html5 */
section,article,aside,header,footer,nav,figure{display:block;}

/* text */
input, label, select, option, textarea, button, fieldset, legend {font-family:Tahoma,sans-serif;}
/* a link */
a {text-decoration:none;}
a:hover {text-decoration:none;}

/* clear both */
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}
.clearfix{zoom:1;display:inline-block;_height:1px}
*html.clearfix{height:1%}
*+html .clearfix{height:1%}
.clearfix{display:block}
.clear {clear:both;}

/* public */
body {
    font-size:12px;
    color:#111;
    background: #F5F5F8;
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
a {
    color:#111;
}
a:hover {
    color: #00B0A8;
}
input.inputtext:focus,
textarea:focus,
select:focus {background:#fcfcfc;}
textarea {padding:2px; border:1px solid #bdc7d8; font-size:12px;}
select, option {font-size:12px;}
button, select {
    text-transform: none;
}
button, html input[type=button], input[type=reset], input[type=submit] {
    cursor: pointer;
    -webkit-appearance: button;
}
button, input, select, textarea {
    margin: 0;
    font-size: 100%;
    font-family: inherit;
    outline-offset: 0;
    outline-style: none;
    outline-width: 0;
    -webkit-font-smoothing: inherit;
    background-image: none;
}
button {
    border: none;
    background: transparent;
    cursor: pointer;
    outline: none;
    padding: 0;
    margin: 0;
}
dialog {
    position: fixed;
    inset: 0;
    margin: auto;
    max-width: 90vw;
    max-height: 90vh;
    border: none;
    box-shadow: 0 4px 16px rgba(0,0,0,.3);
}
dialog::backdrop {
    background: rgba(0,0,0,.15);
}

/* 1. 弹窗容器基础 */
dialog.commonDialog {
    padding: 0;
    border: none;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    color: #333;
    font-family: -apple-system, BlinkMacSystemFont, "Microsoft YaHei", sans-serif;
    /* 默认宽度，具体模块可覆盖 */
    width: 500px;
    max-width: 95vw;
}

/* 遮罩层 */
dialog.commonDialog::backdrop {
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
}

/* 2. 头部区域 */
.commonDialog .dialog-header {
    padding: 20px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #f5f5f5;
}

.commonDialog .dialog-title {
    font-size: 18px;
    font-weight: 800;
    color: #1f1f1f;
}

/* 关闭按钮 (纯文字链接风格) */
.commonDialog .quitDialog {
    font-size: 16px;
    color: #222;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s;
}
.commonDialog .quitDialog:hover {
    color: #999;
}

/* 3. 内容主体区域 */
.commonDialog .dialog-body {
    padding: 30px 30px 10px 30px;
    font-size: 14px;
}

/* 通用表单行布局 (Flex) */
.commonDialog .form-row {
    display: flex;
    margin-bottom: 18px;
    align-items: flex-start; /* 顶对齐 */
}

/* 左侧标签 (默认宽度 70px) */
.commonDialog .form-label {
    width: 70px;
    text-align: right;
    color: #888;
    margin-right: 20px;
    flex-shrink: 0;
    padding-top: 2px; /* 微调以对齐文字 */
}

/* 右侧内容 */
.commonDialog .form-content {
    flex: 1;
    color: #333;
    font-weight: 500;
    line-height: 1.5;
}

/* 4. 辅助文本样式 */
/* 价格高亮 (红色) */
.commonDialog .text-price {
    color: #ff4d4f;
    font-size: 20px;
    font-weight: 800;
    font-family: Arial, sans-serif;
    margin-right: 4px;
}

/* 灰色提示块 */
.commonDialog .tips-box {
    margin-top: 6px;
    background: #f9f9f9;
    padding: 10px;
    border-radius: 6px;
    font-size: 12px;
    color: #999;
    line-height: 1.6;
}

/* 链接颜色 */
.commonDialog .color_link {
    color: #13c2c2;
    text-decoration: none;
    font-weight: bold;
}
.commonDialog .color_link:hover {
    text-decoration: underline;
}

/* 分割线 */
.commonDialog .dialog-divider {
    border-top: 1px dashed #eee;
    margin: 10px 0 20px 0;
}

/* 5. 底部按钮区域 */
.commonDialog .dialog-footer {
    padding: 0 30px 30px;
    display: flex;
    justify-content: center;
}

/* 确认按钮 (渐变青色) */
.commonDialog .yesButton {
    background: linear-gradient(135deg, #4DE3E0 0%, #13c2c2 100%);
    border: none;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    padding: 10px 60px;
    border-radius: 30px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(19, 194, 194, 0.3);
    transition: all 0.2s;
}
.commonDialog .yesButton:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(19, 194, 194, 0.4);
}

/* customDialog */
.albumBuyDialog {
    width: 600px;
}
.albumGiftDialog {
    width: 600px;
}
/* end customDialog */

body > .tips {
    line-height: 20px;
    position: fixed;
    z-index: 29;
    top: 15%;
    left: 50%;
    max-width: 90%;
    padding: 12px 16px;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    color: #ccc;
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.8);
}

.tips.fadein {
    animation: fadein 0.15s;
}

.tips.fadeout {
    animation: fadeout 0.35s;
}

.line-clamp {
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    position: relative;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 !important;
}
.line-clamp-2 {
    -webkit-line-clamp: 2;
    height: calc(1em * 1.3 * 2);
}

.color_link {
    color: #29cccc;
}

/* icon */
.zhuboLevel-icon {
    display: inline-block;
    background-image: url(/public/images/icon/zhubo-level-icon.png);
    background-repeat: no-repeat;
}
.zhuboLevel-icon {
    width: 34px;
    height: 20px;
    background-size: 240px
}
.zhuboLevel-icon-0 {
    background-position: -12px -15px;
}
.zhuboLevel-icon-1 {
    background-position: -54px -15px;
}
.zhuboLevel-icon-2 {
    background-position: -100px -15px;
}
.zhuboLevel-icon-3 {
    background-position: -146px -15px;
}
.zhuboLevel-icon-4 {
    background-position: -190px -15px;
}
.zhuboLevel-icon-5 {
    background-position: -12px -46px;
}
.zhuboLevel-icon-6 {
    background-position: -55px -48px;
}
.zhuboLevel-icon-7 {
    background-position: -12px -80px;
}
.zhuboLevel-icon-8 {
    background-position: -58px -79px;
}
.zhuboLevel-icon-9 {
    background-position: -12px -112px;
}
.zhuboLevel-icon-10 {
    background-position: -59px -111px;
    width: 32px;
    height: 17px;
}
.zhuboExtName {
    color: #E6C35C;
    border: 1px solid #E6C35C;
    font-size: 11px;
    border-radius: 10px;
    padding: 0 5px;
    display: inline;
}

.sprite {
    background-image: url(/public/images/icon/sprite.png);
    display: inline-block;
}
.sprite2 {
    background-image: url(/public/images/icon/sprite2.png);
    display: inline-block;
}
.sprite3 {
    background-image: url(/public/images/icon/sprite3.png);
    display: inline-block;
}
.sprite4 {
    background-image: url(/public/images/icon/sprite4.png);
    display: inline-block;
}
@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
    .sprite {
        background-image: url(/public/images/icon/sprite@2x.png);
        background-size: 2527px 170px;
    }
    .sprite2 {
        background-image: url(/public/images/icon/sprite2@2x.png);
        background-size: 656px 42px;
    }
    .sprite3 {

    }
    .sprite4 {
        background-image: url(/public/images/icon/sprite4@2x.png);
        background-size: 1547px 42px;
    }
}

.sprite-change {
    width: 14px;
    height: 14px;
    background-position: -1934px 0;
}
.sprite-big-fillstar {
    width: 16px;
    height: 16px;
    background-position: -1918px 0;
}
.sprite-small-fillstar {
    width: 12px;
    height: 12px;
    background-position: -2114px 0;
}
.sprite-big-graystar {
    width: 16px;
    height: 16px;
    background-position: -1948px 0;
}
.sprite-small-graystar {
    width: 12px;
    height: 12px;
    background-position: -2126px 0;
}
.sprite-play {
    width: 16px;
    height: 16px;
    background-position: -2270px 0;
}
.sprite-plays {
    width: 12px;
    height: 12px;
    background-position: -2317px 0;
}
.sprite-list-play {
    width: 20px;
    height: 20px;
    background-position: -1694px 0;
}
.sprite-list-play-hover {
    width: 20px;
    height: 20px;
    background-position: -1600px 0;
}
.sprite-share {
    width: 16px;
    height: 16px;
    background-position: -1902px 0;
}
.sprite-download {
    width: 16px;
    height: 16px;
    background-position: -2191px 0;
}
.sprite2-more {
    width: 14px;
    height: 14px;
    background-position: -340px 0;
}
.sprite2-change {
    width: 18px;
    height: 14px;
    background-position: -64px 0;
}
.sprite2-play {
    width: 42px;
    height: 42px;
    background-position: -386px 0;
}

.sprite4-s1 {
    width: 26px;
    height: 26px;
    background-position: -5px -5px;
}
.sprite4-s2 {
    width: 26px;
    height: 26px;
    background-position: -149px -5px;
}
.sprite4-s3 {
    width: 26px;
    height: 26px;
    background-position: -257px -5px;
}
.sprite4-s4 {
    width: 26px;
    height: 26px;
    background-position: -329px -5px;
}
.sprite4-s5 {
    width: 26px;
    height: 26px;
    background-position: -365px -5px;
}
.sprite4-s6 {
    width: 26px;
    height: 26px;
    background-position: -473px -5px;
}
.sprite4-s7 {
    width: 26px;
    height: 26px;
    background-position: -509px -5px;
}
.sprite4-s8 {
    width: 30px;
    height: 30px;
    background-position: -581px -5px;
}
.sprite4-s9 {
    width: 26px;
    height: 26px;
    background-position: -657px -5px;
}
.sprite4-s10 {
    width: 26px;
    height: 26px;
    background-position: -693px -5px;
}
.sprite4-s11 {
    width: 26px;
    height: 26px;
    background-position: -729px -5px;
}
.sprite4-s12 {
    width: 26px;
    height: 26px;
    background-position: -765px -5px;
}
.sprite4-s13 {
    width: 26px;
    height: 26px;
    background-position: -976px -5px;
}
.sprite4-s14 {
    width: 26px;
    height: 26px;
    background-position: -1012px -5px;
}
.sprite4-s15 {
    width: 26px;
    height: 26px;
    background-position: -1084px -5px;
}
.sprite4-s16 {
    width: 26px;
    height: 26px;
    background-position: -1120px -5px;
}
.sprite4-s17 {
    width: 26px;
    height: 26px;
    background-position: -1156px -5px;
}
.sprite4-s18 {
    width: 26px;
    height: 26px;
    background-position: -1228px -5px;
}
.sprite4-s19 {
    width: 26px;
    height: 26px;
    background-position: -1264px -5px;
}
.sprite4-s20 {
    width: 26px;
    height: 26px;
    background-position: -1336px -5px;
}
.sprite4-s21 {
    width: 26px;
    height: 26px;
    background-position: -1372px -5px;
}
.sprite4-s22 {
    width: 26px;
    height: 26px;
    background-position: -1444px -5px;
}
/* end sprite4 */

/* navigator */
.navigator {
    position: relative;
    z-index: 99;
    width: 100%;
    padding: 15px 0 13px;
    background-color: #fff;
    color: #333;
}
.navigator .centered {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 1200px;
    height: 42px;
    margin: 0 auto;
}
.navigator .centered .logo {
    position: relative;
    width: 120px;
    height: auto;
    display: inline-block;
}
.navigator .centered .logoTxt {
    width: 140px;
    font-size: 30px;
    display: inline-block;
    font-weight: bold;
    letter-spacing: 1px;
    color: #017977;
}
.navigator .centered .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 24px;
    flex: 1;
}
.navigator .centered .menu .item {
    position: relative;
    font-size: 18px;
    font-weight: 400;
    line-height: 32px;
    margin-right: 30px;
    cursor: pointer;
}
.navigator .centered .menu .item a {
    color: #333;
}
.navigator .centered .menu .item.active a {
    color: #29cccb;
    border-bottom: 1px solid #29cccb;
    padding-bottom: 5px;
}
.navigator .centered .menu .item:hover a {
    color: #e13430;
    text-decoration: none;
}
.navigator .centered .menu .item .label {
    position: absolute;
    right: -25px;
    top: -8px;
    width: 36px;
    text-align: center;
    background: #fd5353;
    border-radius: 100px;
    line-height: 14px;
    color: #fff;
    font-family: Arial-BoldMT, serif;
    font-size: 9px;
    font-weight: 300;
}
.navigator .centered .search-input-root {
    width: 224px;
}
.navigator .centered .search-input-root .input-container {
    padding: 0 !important;
    width: 200px;
    position: relative;
}
.navigation .search-input {
    display: inline-block;
    width: 210px;
    height: 38px;
    border: 0 none;
    border-radius: 6px;
    outline: none;
    background: #f2f2f2;
    padding-left: 10px;
    margin: 0;
    font-size: 14px;
    line-height: 14px;
}
.navigation .CcPE {
    right: -5px;
    cursor: pointer;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.input-container .sprite {
    background-image: url(/public/images/icon/sprite@2x.png);
    display: inline-block;
}
.input-container .sprite-homepage-search {
    width: 22px;
    height: 24px;
    background-position: -1486px 0;
    cursor: pointer;
}
.navigator .centered .sign-wrap {
    color: #333;
    cursor: pointer;
    margin-left: 10px;
    text-align: right;
    font-size: 16px;
}
.navigator .centered .sign-wrap .splitSpan {
    display: inline-block;
    width: 20px;
}

/* pagination */
.paging-root {
    text-align: right;
    padding: 10px 0;
    margin-top: 40px;
}
.paging-root .paging-item-btn a {
    outline: none;
}
.pagination {
    font-family: Verdana, serif;
    font-size:16px;
    line-height:34px;
    margin:10px auto;
    text-align:center;
}
.pagination .sel,
.pagination .current {
    color:#F63;
    height:34px;
    margin-right:5px;
    padding:0 10px;
    display: inline-block;
    *display: inline;
    zoom: 1;
    border:1px solid #F63;
    font-weight:bold;
}
.pagination a {
    padding:0 10px;
    display: inline-block;
    *display: inline;
    zoom: 1;
    margin-right:5px;
    color:#333;
    border-color: #E1E3EF #BFC7D8 #BFC7D8 #E1E3EF;
    border-width: 1px;
    border-style: solid;
}
.pagination a:hover {
    text-decoration:none;
    background-color:#E9F1F7;
    border:1px solid #F63;
}

/* qtcode-view */
.qtcode-view {
    min-width: 250px;
    height: 350px;
    margin: auto;
    padding: 15px;
    text-align: center;
}
.qtcode-view .qr {
    width: 222px;
    height: 222px;
    margin: auto;
    margin-bottom: 15px;
    background-size: cover;
}
.qtcode-view .title {
    width: 147px;
    height: 28px;
    font-size: 21px;
    font-family: "Microsoft YaHei Semibold", serif;
    color: rgba(225,52,48,1);
    line-height: 28px;
}
.qtcode-view .slogin {
    padding-top: 10px;
    letter-spacing: 1px;
    font-size: 14px;
    margin: auto;
    font-family: "Microsoft YaHei", serif;
    color: rgba(151,106,106,1);
    line-height: 23px;
    font-weight: 400;
}
.qtcode-view .moresinfo {
    letter-spacing: 1px;
    font-size: 14px;
    margin: auto;
    font-family: "Microsoft YaHei", serif;
    color: rgba(151,106,106,1);
    line-height: 23px;
    font-weight: 400;
}
/* end qtcode-view */

/* footer */
.footer-root {
    outline: none;
    color: #606060;
}
.footer-root .container {
    margin: 0 auto;
    padding: 20px 15px;
    width: 1200px;
    text-align: center;
}
.footer-root .row {
    display: inline-block;
    width: 100%;
}
.footer-root .footer-nav {
    font-size: 14px;
}
.footer-root .footer-bottom {
    font-size: 13px;
    margin-top: 10px;
    color: #888;
}
/* end footer */
