.blank_block div {
    min-height: 0;
}.categorynav_block .icon {
    height: 50px;
    line-height: 50px;
    overflow: hidden;
}
.categorynav_block .icon img {
    height: 42px;
	border-radius: 5px;
}
.categorynav_block .text {
    padding: 2px 4px;
    font-size: 12px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.editor-categorynav .categorynav-item {
    border: 1px solid #e1e1e1;
    background: #fcfcfc;
    padding: 10px;
    margin: 10px 0;
    position: relative;
}
.editor-categorynav .categorynav-item .categorynav-image {
    width: 70px;
    height: 70px;
    overflow: hidden;
    float: left;
    border: 1px solid #ececec;
    text-align: center;
    vertical-align: middle;
    background: #ececec;
}
.editor-categorynav .categorynav-item .categorynav-image .ep-select-image {
    font-size: 12px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    height: 18px;
    line-height: 18px;
}
.editor-categorynav .categorynav-item .categorynav-image img {
    width: 48px;
    height: 48px;
    margin: 1px;
}
.editor-categorynav .categorynav-item .categorynav-params {
    margin-left: 80px;
}
.cubeimg_block {
    position: relative;
    width: 100%;
}
.cubeimg_block img {
    height: 100%;
    width: 100%;
}
.cubeimg_block .diy-col{
    margin: 0;
}
.cubeimg_block .cubeimg-left{
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.cubeimg_block .cubeimg-right {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
}
.cubeimg_block .cubeimg-right .cubeimg-top {
    width: 100%;
    height: 50%;
    position: absolute;
    top: 0;
    left: 0;
}
.cubeimg_block .cubeimg-right .cubeimg-bottom {
    width: 100%;
    height: 50%;
    position: absolute;
    top: 50%;
    left: 0;
}
.cubeimg_block .cubeimg-right .cubeimg-bottom .cubeimg-bottom-one{
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.cubeimg_block .cubeimg-right .cubeimg-bottom .cubeimg-bottom-two {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
}
.ware {
    position: relative;
    margin:5px;
}
.ware:before {
    content: "";
    display: block;
   
}

.ware img {
  
    width: 100%;
    height: 100%;
}


.editor-cubeimg .cubeimg-item {
    border: 1px solid #e1e1e1;
    background: #fcfcfc;
    padding: 10px;
    margin: 10px 0;
    position: relative;
}
.editor-cubeimg .cubeimg-item .cubeimg-image {
    width: 70px;
    height: 70px;
    overflow: hidden;
    float: left;
    border: 1px solid #ececec;
    text-align: center;
    vertical-align: middle;
}
.editor-cubeimg .cubeimg-item .cubeimg-image img {
    height: 70px;
    width: 70px;
}
.editor-cubeimg .cubeimg-item .cubeimg-params {
    margin-left: 80px;
}
.editor-cubeimg .cubeimg-item .cubeimg-params input:last-child {
    margin-top: 10px;
}
.editor-cubeimg .text-right{
    margin-right: 10px;
}.footnav_block{
    display: table;
    width: 100%;
    table-layout: fixed;
}
.footnav_block a{
    position: relative;
    display: table-cell;
    width: 1%;
    height: 4.5rem;
    color: #929292;
    text-align: center;
    vertical-align: middle;
}
.footnav_block a img {
    top: 0.05rem;
    height: 2rem;
    font-size: 2.6rem;
    line-height: 1.2rem;
    padding-top: 0;
    padding-bottom: 0;
}
.footnav_block a span{
    display: block;
    font-size: 0.55rem;
    position: relative;
    top: 0.15rem;
}
.editor-footnav .ep-item-sortable{
    display: block;
}
.editor-footnav .footnav-item {
    border: 1px solid #e1e1e1;
    background: #fcfcfc;
    padding: 10px;
    margin: 10px 0;
    position: relative;
}
.editor-footnav .footnav-item .footnav-image {
    width: 50px;
    height: 80px;
    overflow: hidden;
    float: left;
    border: 1px solid #ececec;
    text-align: center;
    vertical-align: middle;
    background: #ececec;
}
.editor-footnav .footnav-item .footnav-image .ep-select-image {
    font-size: 12px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    height: 13px;
    line-height: 13px;
}
.editor-footnav .footnav-item .footnav-image img {
    width: 24px;
    height: 24px;
    margin: 1px;
}
.editor-footnav .footnav-item .footnav-params {
    margin-left: 60px;
}
.editor-footnav .footnav-params .input-text-color{
    margin-bottom: 10px;
    overflow: hidden;
}
.editor-footnav .footnav-params .input-text-color .input-text{
    width: 40%;
    float: left;
    display: flex;
}
.editor-footnav .footnav-params .input-text-color .input-text>span{
    width: 49px;
    float:left;
    line-height: 35px;
    padding: 0;
    border-color: #e7e7eb;
}
.editor-footnav .footnav-params .input-text-color .input-text>input{
    flex: 1;
}
.editor-footnav .footnav-params .input-text-color .input-color{
    width: 30%;
    float: left;
}
.editor-footnav .footnav-params .input-text-color .input-color>input{
    width: 65%;
}
.editor-footnav .footnav-params input{
    height: 35px;
    float: left;
}
.editor-footnav .footnav-params span{
    height: 35px;
}
.line_block .line {
    width: 100%;
    height: 0;
    border-top-style: solid;
}.navicon_block .icon {
    height: 50px;
    line-height: 50px;
    overflow: hidden;
}
.navicon_block .icon img {
    height: 42px;
	border-radius: 5px;
}
.navicon_block .text {
    padding: 2px 4px;
    font-size: 12px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.editor-navicon .navicon-item {
    border: 1px solid #e1e1e1;
    background: #fcfcfc;
    padding: 10px;
    margin: 10px 0;
    position: relative;
}
.editor-navicon .navicon-item .navicon-image {
    width: 70px;
    height: 70px;
    overflow: hidden;
    float: left;
    border: 1px solid #ececec;
    text-align: center;
    vertical-align: middle;
    background: #ececec;
}
.editor-navicon .navicon-item .navicon-image .ep-select-image {
    font-size: 12px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    height: 18px;
    line-height: 18px;
}
.editor-navicon .navicon-item .navicon-image img {
    width: 48px;
    height: 48px;
    margin: 1px;
}
.editor-navicon .navicon-item .navicon-params {
    margin-left: 80px;
}
.flex0_1 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}
.flex_all {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: 20%;
}
.flex_g0 {
    -webkit-flex-grow: 0;
    -webkit-flex-shrink: 0;
    flex-grow: 0;
    flex-shrink: 0;
}

.notice_block {
    overflow: hidden;
}
.notice_block .notice_image {
    width: 53px;
    height: 40px;
    padding: 10px 16px;
    float: left;
    overflow: hidden;
    border-right: #ccc 1px solid;
}
.notice_block .notice_image img {
    width: 100%;
}
.notice_block .notice_list {
    padding: 4px 8px;
    font-size: 14px;
}
.notice_block .notice_list ul {
    margin: 0;
}
.notice_block .notice_list li:last-child {
    margin-top: 5px;
}
.notice_block .notice_more{
    padding-left: 13px;
    line-height: 40px;
    border-left: 1px solid #f1f0f5;
    padding-right: 14px;
    color: #969696;
    font-size: 14px;
    font-weight: normal;
}
.notice_block .notice_lable {
    border: 1px solid;
    border-radius: 4px;
    padding: 2px 4px;
    float: left;
    max-width: 80px;
    overflow: hidden;
    margin-right: 2px;
    white-space: nowrap;
}
.notice_block .notice_title {
    line-height: 23px;
    white-space: nowrap;
    overflow: hidden;
}

.editor-notice .notice-item {
    border: 1px solid #e1e1e1;
    background: #fcfcfc;
    padding: 10px;
    margin: 10px 0;
    position: relative;
}
.editor-notice .notice-item .notice-sort-icon {
    width: 50px;
    height: 75px;
    line-height: 75px;
    float: left;
    border: 1px solid #ececec;
    text-align: center;
    vertical-align: middle;
    cursor: move;
    color: #aaa;
}
.editor-notice .notice-item .notice-params {
    margin-left: 60px;
}.flex0 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.flex1 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.flex_g0 {
    -webkit-flex-grow: 0;
    -webkit-flex-shrink: 0;
    flex-grow: 0;
    flex-shrink: 0;
}
.flex_all {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: 20%;
}
.more {
    font-size: 13px;
    color: #969696;
    font-weight: normal;
}
.mar-l-a{
	margin-left: auto;
}

.editor-reclesson .reclesson-item {
    border: 1px solid #e1e1e1;
    background: #fcfcfc;
    padding: 10px;
    margin: 10px 0;
    position: relative;
}
.editor-reclesson .reclesson-item .reclesson-image {
    width: 115px;
    height: 70px;
    overflow: hidden;
    float: left;
    border: 1px solid #ececec;
    text-align: center;
    vertical-align: middle;
}
.editor-reclesson .reclesson-item .reclesson-image img {
    width: 115px;
    height: 70px;
}
.editor-reclesson .reclesson-item .reclesson-params {
    margin-left: 80px;
}
.editor-reclesson .reclesson-item .reclesson-params input:last-child {
    margin-top: 10px;
}
.editor-reclesson .text-right{
    margin-right: 10px;
}


.index_unit {
    background-color: #ffffff;
}
.index_title {
    font-size: 16px;
    color: #1d1d1d;
    font-weight: bold;
}
.index_title .img {
    min-width: 20px;
    margin-right: 5px;
}
.overhidden {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.teacher {
    font-size: 13px;
    color: #969696;
    margin-left: 10px;
}

/* 课程样式 */
.big_grid {
    display: block;
    margin-top: 13px;
    border: 1px solid #e6e6e6;
    box-shadow: 0 2px 12px 0 rgb(0 0 0 / 5%);
    padding-bottom: 5px;
    border-radius: 4px;
}
.big_grid .grid_title{
	margin-top: 0;
	padding: 10px;
}
.big_grid .grid_info{
	margin-top: 0;
	padding: 0 10px;
}
.big_grid .ico_common{
	width: 60px;
    height: 60px;
}
.small_grid {
    margin: 0 -10px;
    overflow: hidden;
    font-size: 0;
}
.small_grid .small_grid_a {
    display: inline-block;
    vertical-align: top;
    margin-top: 13px;
    padding-bottom: 10px;
    width: 50%;
}
.reclesson-imgBox {
    padding-bottom: 52.6%;
    margin-left: 10px;
    margin-right: 10px;
	padding-bottom: 51.8%;
    position: relative;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    overflow: hidden;
}
.reclesson-imgBox .img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin: auto;
    font-size: 0;
}
.reclesson-imgBox .img img {
    width: 100%;
}
.big-img-box{
	margin: 0;
	padding-bottom: 61%;
}
.icon-live {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    opacity: .85;
}
.ico_common {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
}
.ico-new {
    background-image: url(../../../images/icon-new.png);
}
.ico-vip {
    background-image: url(../../../images/icon-vip.png);
}
.ico-hot {
    background-image: url(../../../images/icon-hot.png);
}
.ico-discount {
    background-image: url(../../../images/icon-discount.png);
}
.learned {
    display: inline-block;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 2px 4px;
    font-size: 12px;
    position: absolute;
    color: white;
    font-weight: normal;
    bottom: 2px;
    right: 2px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.learned::before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 2px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid white;
}
.small_grid_a .grid_title {
    color: #1d1d1d;
    line-height: 1.4;
    max-height: 40px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
    word-wrap: break-word;
    white-space: unset;
    -webkit-box-align: unset;
}
.small_grid_a .grid_title, .small_grid_a .grid_info {
	font-size: 15px;
    margin-left: 10px;
    margin-right: 10px;
}
.grid_title {
    font-size: 15px;
    color: #1d1d1d;
    margin-top: 10px;
}
.grid_info {
    font-size: 15px;
    color: #737373;
    margin-top: 6px;
    min-height: 23px;
}
.grid_info .price {
    color: #fd5a45;
}
.mar5 {
    margin-left: 5px;
    margin-right: 5px;
}


.article_title_grid{
	padding:13px 0 0 0 !important;
	background:#fff
}
.article_title_grid li{
	position:relative;
	height:40px;
	line-height:40px;
	padding:0 3px;
	border-bottom:1px solid #f1f1f1;
}
.article_title_grid li:last-child{
	border-bottom:none;
}
.article_title_grid a{
	width:100%;
	display:block;
	font-size: 15px;
	text-decoration:none;
	color:#444;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.article_title_grid a:hover,.article_title_grid a:visited{
	color:#444;
}
.article_title_grid .index-book-ico{
	display: inline-block;
    width: 17px;
    height: 16px;
    background-image: url(../../../images/ico_index_book.png);
    background-repeat: no-repeat;
    background-size: cover;
}


/*最新课程*/
.new_lesson {
    margin-top: 13px;
    padding-bottom: 5px;
}
.new_lesson .new_lesson_a {
    width: 47%;
    min-width: 141px;
    margin-right: 12px;
}
.new_lesson_a .img-box {
    padding-bottom: 61% !important;
}
.new_lesson_a .img-box {
    padding-bottom: 51.8%;
    position: relative;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    overflow: hidden;
}
.new_lesson_a .img-box .img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin: auto;
    font-size: 0;
}
.new_lesson_a .img-box .img img {
    width: 100%;
}
.new_lesson_title {
    font-size: 15px;
    color: #1d1d1d;
    line-height: 1.4;
    max-height: 40px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
    word-wrap: break-word;
}
.new_lesson_info {
    font-size: 13px;
    color: #494949;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin-top: 8px;
}
.new_lesson_bottom {
    border-top: 1px solid #f1f0f5;
    padding-top: 5px;
}
.new_lesson_bottom .time {
    font-size: 12px;
    color: #969696;
}
.new_lesson_bottom .price {
    color: #fd5a45;
}
.richetext_block {

}

.editor-richtext {

}
.editor-richtext .ep-ueditor-textarea {
    display: none;
}.search_block {

}
.search_block .search_inner {
    clear: both;
    height: 38px;
    overflow: hidden;
}
.search_block .search_icon {
    float: left;
    width: 38px;
    height: 38px;
    line-height: 38px;
    background: #fff;
    text-align: center;
}
.search_block .search_icon .fa-search {
    margin: 0;
    float: none !important;
}
.search_block .search_input {
	position: relative;
    /* 【2026-09-13】显式 width:auto 是防御：.search_input 是个极易被全局规则
       （.u-search/.index-header-search 系列，均写 width/height）命中的通用类名。
       容器宽度必须由「父宽 - 左侧 38px 图标位」自动推算，写死或继承 100% 都会溢出裁剪。 */
    width: auto;
    box-sizing: border-box;
    height: 38px;
    line-height: 38px;
	margin-left: 38px;
}
.search_block .search_input .search-btn{
	position: absolute;
    top: 3px;
    right: 6px;
    background-color: #eee;
    color: #333;
    padding: 0px 15px;
    border-radius: 25px;
    line-height: 32px;
}.singleimg_block img {
    width: 100%;
}

.editor-singleimg .singleimg-item {
    border: 1px solid #e1e1e1;
    background: #fcfcfc;
    padding: 10px;
    margin: 10px 0;
    position: relative;
}
.editor-singleimg .singleimg-item .singleimg-image {
    width: 120px;
    height: 70px;
    overflow: hidden;
    float: left;
    border: 1px solid #ececec;
    text-align: center;
    vertical-align: middle;
}
.editor-singleimg .singleimg-item .singleimg-image img {
    height: 70px;
}
.editor-singleimg .singleimg-item .singleimg-params {
    margin-left: 130px;
}
.editor-singleimg .singleimg-item .singleimg-params input:last-child {
    margin-top: 10px;
}.swiper_block {
    overflow: hidden;
}
.swiper_block img{
    width: 100%;
}

.editor-swiper .swiper-item {
    border: 1px solid #e1e1e1;
    background: #fcfcfc;
    padding: 10px;
    margin: 10px 0;
    position: relative;
}
.editor-swiper .swiper-item .swiper-image {
    width: 120px;
    height: 70px;
    overflow: hidden;
    float: left;
    border: 1px solid #ececec;
    text-align: center;
    vertical-align: middle;
}
.editor-swiper .swiper-item .swiper-image img {
    height: 70px;
}
.editor-swiper .swiper-item .swiper-params {
    margin-left: 130px;
}
.editor-swiper .swiper-item .swiper-params input:last-child {
    margin-top: 10px;
}.flex1 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.flex0 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.flex_all {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: 20%;
}
.index_title {
    font-size: 16px;
    color: #1d1d1d;
    font-weight: bold;
}
.index_title .img {
    min-width: 20px;
    margin-right: 5px;
}
.teacher_title_unit {
    background-color: white;
}
.teacher_title {
    font-size: 16px;
    color: #1d1d1d;
    font-weight: bold;
}
.teacher_title .img {
    min-width: 20px;
    margin-right: 5px;
}
.teacher_title.bor {
    padding: 15px 20px;
    border-bottom: 1px solid #f1f0f5;
}

.swiper-slide {
	-webkit-flex-shrink: 0;
    -ms-flex: 0 0 auto;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 28%;
    height: 128px;
    position: relative;
	float: left;
    margin-right: 26px;
}
.swiper-slide:last-child{
	margin-right: 0;
}
.teacher_swiper {
    margin-top: 15px;
    width: 100%;
}
.teacher_swiper .swiper-slide a {
    display: block;
}
.teacher_swiper .img-box {
    position: relative;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    overflow: hidden;
}
.teacher_swiper .img-box img{
	height: 96px;
}
.teacher_swiper .swiper-slide .job {
    display: inline-block;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 3px 6px;
    font-size: 12px;
    position: absolute;
    color: white;
    font-weight: lighter;
    bottom: 3px;
    right: 3px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.teacher_swiper .swiper-slide .name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #494949;
    text-align: center;
    margin-top: 10px;
}
.more_teacher{
    font-size: 13px;
    font-weight: normal;
}/* === 补充：渲染层class名与CSS对齐 === */

/* navicon / categorynav 网格导航 */
.grid_wrap {
    padding: 10px 0;
    overflow: hidden;
}
.grid_wrap::after {
    content: "";
    display: block;
    clear: both;
}
.grid_item {
    display: block;
    text-decoration: none;
    text-align: center;
    margin-bottom: 10px;
}
.grid_item .grid_hd {
    text-align: center;
}
.grid_item .grid_hd img {
    display: inline-block;
}
.grid_item .grid_bd p {
    margin: 0;
    padding: 2px 4px;
    font-size: 12px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* newlesson 最新课程 */
.diy-newlesson {
    padding: 10px 15px;
}
.diy-newlesson .section-header {
    margin-bottom: 10px;
}
.diy-newlesson .section-title {
    font-size: 16px;
    font-weight: bold;
    color: #1d1d1d;
    display: flex;
    align-items: center;
}
.diy-newlesson .title-icon {
    width: 25px;
    margin-right: 5px;
    vertical-align: middle;
}
.newlesson-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.newlesson-item {
    width: 48%;
    margin-bottom: 12px;
    text-decoration: none;
    color: #333;
}
.newlesson-item .thumb {
    width: 100%;
    border-radius: 6px;
    overflow: hidden;
}
.newlesson-item .info {
    padding: 6px 2px;
}
.newlesson-item .title {
    font-size: 13px;
    color: #333;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* teacher 站长风采 */
.diy-teacher {
    padding: 10px 15px;
}
.diy-teacher .section-header {
    margin-bottom: 10px;
}
.diy-teacher .section-title {
    font-size: 16px;
    font-weight: bold;
    color: #1d1d1d;
    display: flex;
    align-items: center;
}
.diy-teacher .title-icon {
    width: 25px;
    margin-right: 5px;
    vertical-align: middle;
}
.teacher-scroll {
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 5px 0;
}
.teacher-item {
    flex: 0 0 auto;
    width: 80px;
    margin-right: 12px;
    text-align: center;
}
.teacher-item .teacher-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto;
}
.teacher-item .teacher-name {
    font-size: 12px;
    color: #333;
    margin-top: 4px;
}

/* reclesson 课程板块通用 */
.index_unit {
    padding: 10px 15px;
}
.index_title {
    font-size: 16px;
    font-weight: bold;
    color: #1d1d1d;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
.index_title .img {
    min-width: 25px;
    margin-right: 5px;
}
.index_title .img img {
    width: 25px;
}
.index_title .more {
    margin-left: auto;
    font-size: 12px;
    font-weight: normal;
    text-decoration: none;
}
.small_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.small_grid_a {
    width: 48%;
    margin-bottom: 10px;
    text-decoration: none;
    color: #333;
}
.small_grid_a .img-box {
    border-radius: 6px;
    overflow: hidden;
}
.small_grid_a .grid_title {
    font-size: 13px;
    padding: 4px 0;
    color: #333;
}
.big_grid {
    display: block;
    margin-bottom: 10px;
    text-decoration: none;
}
.big_grid .big-img-box {
    border-radius: 6px;
    overflow: hidden;
}
.new_lesson {
    display: flex;
    align-items: center;
    padding: 8px 0;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #f5f5f5;
}
.new_lesson_a {
    display: flex;
    align-items: center;
    width: 80px;
    flex: 0 0 80px;
    margin-right: 10px;
}
.new_lesson_a .img-box {
    width: 80px;
    border-radius: 4px;
    overflow: hidden;
}
.new_lesson_title {
    font-size: 14px;
    color: #333;
}
.lesson2 ul.article_title_grid {
    list-style: none;
    padding: 0;
    margin: 0;
}
.lesson2 ul.article_title_grid li {
    padding: 10px 0;
    border-bottom: 1px solid #f5f5f5;
}
.lesson2 ul.article_title_grid a {
    color: #333;
    text-decoration: none;
    font-size: 14px;
}
.index-book-ico {
    display: inline-block;
    width: 18px;
    height: 18px;
    background: #f0f0f0;
    border-radius: 3px;
    margin-right: 8px;
    vertical-align: middle;
}

/* search 搜索栏 */
.index-search {
    padding: 10px 15px;
}
.index-header-search {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}
.u-search {
    position: relative;
    padding: 5px 40px 5px 30px;
}
.u-search .fa-search {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 14px;
}
/* 【2026-09-13 修复】这条规则原本是写给 `<input class="search_input">` 的
   （border:none / outline:none / background:transparent 都是 input 样式）。
   但 DIY 搜索组件的 input 已改用 .diy-search-text，这条成了孤儿规则，
   转而命中【容器 div.search_input】：容器本就有 margin-left:38px，
   再叠加 width:100% → 盒子总宽超出父容器 38px，被 .search_inner{overflow:hidden}
   裁掉，绝对定位的搜索按钮右侧 32px 被剪（56px 只剩 24px 可见，「搜索」二字看不全）。
   现限定到 .u-search 作用域内，保留原意图的同时解除污染。 */
.u-search .search_input {
    width: 100%;
    border: none;
    outline: none;
    font-size: 14px;
    background: transparent;
}
.search-btn {
    position: absolute;
    top: 3px;
    right: 3px;
    padding: 5px 15px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 13px;
}

/* cubeimg 魔方图 */
.cubeimg_wrap {
    position: relative;
    overflow: hidden;
}
.cubeimg-inner {
    float: left;
    padding: 2px;
    box-sizing: border-box;
}
.cubeimg-inner img {
    width: 100%;
    display: block;
}
.cubeimg-inner.w-50 { width: 50%; }
.cubeimg-inner.w-33 { width: 33.33%; }
.cubeimg-inner.w-25 { width: 25%; }

/* notice 公告 */
.article_div {
    display: flex;
    align-items: center;
    padding: 10px 15px;
}
.article_div .icon_new {
    width: 16px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 8px;
    flex-shrink: 0;
}
.article_div_list {
    flex: 1;
    list-style: none;
    padding: 0;
    margin: 0;
    overflow: hidden;
    height: 20px;
    line-height: 20px;
}
.article_div_list li a {
    text-decoration: none;
    font-size: 13px;
}
.article_div .more {
    font-size: 12px;
    margin-left: 8px;
    text-decoration: none;
    flex-shrink: 0;
}

/* footnav 底部导航 */
.footer-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    display: flex;
    box-shadow: 0 -1px 6px rgba(0,0,0,0.1);
}
.footnav-item {
    flex: 1;
    text-align: center;
    padding: 6px 0;
    text-decoration: none;
}
.footnav-item img.weui-tabbar__icon {
    width: 24px;
    height: 24px;
    display: block;
    margin: 0 auto;
}
.footnav-item .weui-tabbar__label {
    font-size: 11px;
    margin: 2px 0 0;
}

/* ===== selfheader 头部区域 =====
   与装修预览 static/diy/css/tpl/selfheader.css 的规则保持一致，
   供前端真机（core/DiyRenderer::renderSelfheader）使用。
   两边共用同一套类名与规则，改这里预览与真机同时生效。 */
.mine_head {
    position: relative;
    padding-bottom: 55%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.mine_head .mine_head_body {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.mine_head .aui-member-setting {
    position: absolute;
    top: 0;
    right: 0;
    padding: 15px;
    text-shadow: 0 1px 0 #666;
    z-index: 1;
}
.mine_head .aui-member-setting img {
    width: 26px;
}
.mine_head .tx {
    margin: 0 auto;
    display: block;
    width: 63px;
    height: 63px;
    font-size: 0;
    margin-bottom: 10px;
    overflow: hidden;
    border: 1px solid #e0e0ef;
    background-color: #e0e0ef;
}
.mine_head .tx img {
    width: 100%;
    height: 100%;
}
.mine_head .nickname {
    text-align: center;
    font-size: 16px;
}
.mine_head .idno {
    text-align: center;
    font-size: 13px;
    margin-top: 5px;
}
.mine_head .idno .vip_crown {
    height: 20px;
    vertical-align: -6px;
    margin-right: 2px;
}

/* ===== selfcredit 积分余额 =====
   与装修预览 static/diy/css/tpl/selfcredit.css 的规则保持一致 */
.flex-al1 {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: 20%;
}
.mine_info_grid {
    background-color: white;
    padding: 10px 0;
}
.mine_info {
    color: #494949;
    text-align: center;
    box-sizing: border-box;
}
.mine_info .num {
    color: #d8b362;
    font-size: 22px;
}

/* ===== selfcollege 收藏足迹 =====
   与装修预览 static/diy/css/tpl/selfcollege.css 的规则保持一致 */
.mine_menu_grid {
    background-color: white;
    font-size: 0;
    padding: 6px 0;
}
.mine_menu_grid .mine_menu {
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: 14px;
    color: #494949;
    text-align: center;
}
.mine_menu_grid .mine_menu .img {
    width: 100%;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 0;
    margin-bottom: 5px;
}
.mine_menu_grid .mine_menu .img img {
    max-width: 100%;
    max-height: 100%;
    vertical-align: middle;
}

/* ===== selfmenu 横排菜单 =====
   与装修预览 static/diy/css/tpl/selfmenu.css 的规则保持一致 */
.mine_unit {
    padding: 0 15px;
    background-color: #ffffff;
}
.line-grid {
    color: #494949;
    min-height: 26px;
    padding: 12px 5px;
    font-size: 15px;
}
.line-grid .img {
    min-width: 20px;
    margin-right: 10px;
}
.line-grid + .line-grid {
    border-top: 1px solid #f1f1f1;
}

/* ===== 栅格列（导航图标 / 分类导航 / 图片组共用）=====
   与装修预览 static/diy/css/edit_main.css 的规则保持一致。
   注意：这套规则原先只在装修后台的样式表里，前端没有 ——
   真机若用 .diy-col 系列会完全没有宽度（图标不横排），所以必须同步过来。 */
.diy-col {
    float: left;
    margin: 10px 0;
    text-align: center;
    overflow: hidden;
}
.diy-col-20 {
    width: 20%;
}
.diy-col-25 {
    width: 25%;
}
.diy-col-33 {
    width: 33.33333333%;
}
.diy-col-50 {
    width: 50%;
}

/* ===== 覆盖全局 .icon（cindex.css 里有一条 .icon{width:20px;height:20px;float:left}）=====
   导航图标 / 分类导航的图标容器用的是 class="icon"，会命中那条全局规则：
   高度被 .xxx_block .icon 的 50px 覆盖了，但 width:20px 与 float:left 没有 ——
   结果是图标容器只有 20px 宽还左浮动，图标被裁切错位。
   预览侧本来没有这条全局规则，所以预览是正常的；这里把缺的声明补齐，两边才一致。 */
.navicon_block .icon,
.categorynav_block .icon {
    float: none;
    width: auto;
    background-image: none;
}

/* ===== 搜索框输入区 =====
   【重要】input 不能再用 .search_input 这个类：父容器 <div class="search_input"> 已占用该名字，
   而 .search_block .search_input{height:38px;margin-left:38px} 是写给【容器】的，
   同名会让 input 也吃到这条（右移 38px、高度 38px），同时 input 原本靠
   .index-header-search .search_input 得到的 width/height 全部失效 —— 搜索框就会错位。
   改用专用类 .diy-search-text，并在这里把 input 该有的样式补全。 */
.search_block input.diy-search-text {
    display: inline-block;
    width: 100%;
    height: 38px;
    margin: 0;
    padding: 3px 76px 3px 0;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 14px;
    color: inherit;
    box-sizing: border-box;
    vertical-align: middle;
    /* 【2026-09-13】显式写死：真机侧是浏览器给的 normal，预览侧会继承
       .search_input{line-height:38px} 拿到 38px，两边不一致。 */
    line-height: normal;
    -webkit-appearance: none;
}
/* placeholder 颜色跟随站长配置的「文字颜色」：input 已带内联 color，
   ::placeholder 继承即可。（原版模块用 #diy_index_search_input::-webkit-input-placeholder
   实现，改造成 .search_block 结构时丢失。） */
.search_block input.diy-search-text::placeholder {
    color: inherit;
}
.search_block input.diy-search-text::-webkit-input-placeholder {
    color: inherit;
}

/* ===== 清除浮动 =====
   .diy-col 是 float:left（照预览搬过来的），容器必须自行清除浮动，
   否则容器高度为 0、后面的组件会叠上来。
   预览侧是靠手机壳 .phone_content .block{overflow:hidden} 兜住的，前端没有那一层，
   所以这里显式给用到浮动列的组件容器加上。 */
.navicon_block,
.categorynav_block,
.cubeimg_block {
    overflow: hidden;
}
