*,
:after,
:before {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    outline: 0 !important;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    word-wrap: break-word;
    word-break: break-all;
}
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
time,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}
ol,
ul {
    list-style: none;
}
blockquote,
q {
    quotes: none;
}
blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
}
body {
    color: #333;
    background: #fff;
    font:14px/1.5 "Alibaba PuHuiTi 2.0",sans-serif;
    outline: 0;
    min-height: 100vh;
    margin: 0 auto;
    overflow-x: hidden;
}
.diy-mode{
    padding: 498px 0 0;
}
.preview-mode{
    padding: 83px 0 0;
}
a {
    color: #333;
    text-decoration: none;
    cursor: pointer;
}
a:hover {
    color: inherit;
}
img,video {
    display: block;
    max-width: 100%;
    border: none;
}
i {
    font-style: normal;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
::-webkit-input-placeholder {
    color: #999;
}
::-moz-placeholder {
    color: #999;
}
::-ms-input-placeholder {
    color: #999;
}
::-ms-clear,
::-ms-reveal {
    display: none;
}
.fix {
    zoom: 1;
}
.fix:after,
.fix:before {
    display: block;
    content: "";
    height: 0;
    clear: both;
}
.c {
    clear: both;
}
.col-l,
.l {
    float: left;
}
.col-r,
.r {
    float: right;
}
.dn {
    display: none;
}
.ani {
    -ms-transition: 0.3s;
    -moz-transition: 0.3s;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.unselect {
    -ms-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
}
.wp {
    width: 98%;
    max-width: 1440px;
    margin: 0 auto;
}
.h50 {
    height: 50px;
    clear: both;
    overflow: hidden;
}
.h100 {
    height: 100px;
    clear: both;
    overflow: hidden;
}
::-webkit-scrollbar {
    width: 5px;
    border-radius: 5px;
}
::-webkit-scrollbar-track {
    background: #ececec;
}
::-webkit-scrollbar-thumb {
    background: #000000;
}
::-webkit-scrollbar-thumb:window-inactive {
    background: #000000;
}

.layui-disabled{
    display: none !important;
}
.flex-1 {
    flex: 1;
}
header {
    background: #fff;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
}
header .wp {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
}
.edit-top {
    background: #ececec;
    padding: 30px 0;
}
.nav-list {
    position: relative;
    flex: 1;
}

/* 二级菜单样式*/
.sub-menu {
    display: none;
    position: absolute;
    top: 80px;
    left: 0;
    right: -20px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 40px rgba(0, 0, 0, 0.08);
    padding: 30px 30px 10px;
    z-index: 100;
}
.sub-menu ul {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 20px;
    margin: 0 -3px;
}
.sub-menu ul li {
    position: relative;
    width: 20%;
    padding-right: 6px;
}
.sub-menu ul li a {
    display: block;
    width: 100%;
    height: 52px;
    line-height: 52px;
    font-size: 16px;
    text-align: left;
    padding: 0 30px;
    margin: 0 3px;
    text-align: center;
}
/* 三级菜单样式*/
.third-menu {
    border-top: 2px solid #dadada;
}
.third-menu-box {
    display: flex;
    flex-wrap: wrap;
    padding: 10px 0;
    max-height: 290px;
    overflow-y: auto;
}
.third-menu-box .third-menu-item {
    width: 20%;
}
.third-menu-box .third-menu-item a {
    display: block;
    text-align: center;
    padding: 20px 10px 20px 10px;
}
.third-menu-box .third-menu-item a .tit {
    font-size: 16px;
}
.third-menu-box .third-menu-item a .desc {
    font-size: 16px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #999999;
}
.layui-nav li {
    position: relative;
}
.layui-nav li:hover > a {
    background-color: #7f78ff;
    color: #fff;
}
.layui-nav li > a {
    display: block;
    font-size: 20px;
    width: 136px;
    height: 50px;
    text-align: center;
    line-height: 50px;
}
.layui-nav li > a .layui-icon {
    display: none;
}
.layui-nav li .layui-nav-child {
    display: none;
    position: absolute;
    top: 130%;
    left: 50%;
    margin-left: -126px;
    width: 252px;
    padding: 46px 19px;
    z-index: 1000;
    box-shadow: 0px 0px 22px 0px rgba(0, 0, 0, 0.03);
}
.layui-nav li .layui-nav-child dd{
    margin-bottom: 6px;
}
.layui-nav li .layui-nav-child dd a {
    display: block;
    font-size: 18px;
    line-height: 52px;
    text-align: center;
}
.logo {
    width: 110px;
    height: 70px;
    line-height: 70px;
    margin-right: 28px;
}
.logo img{
    display: inline-block;
    vertical-align: middle;
    max-height: 100%;
}
/* 解决拖拽布局问题的样式*/
.layout-row {
    display: flex;
}
.layout-column {
    flex: 1;
    width: 0;
}
.layout-container.editing .layout-column + .layout-column{
    border-left: 2px dashed #ECECEC;
}

.ui-draggable-dragging {
    z-index: 9999;
}
.column-droppable{
    position: relative;
    text-align: center;
    min-height: 100%;
}
.column-droppable:empty:before {
    display: block !important;
    padding: 80px 0;
    font-size: 20px;
    content: "拖拽组件到此处";
    color: #999;
}
.column-hover {
    background: #e9f7fe;
    border-color: #7651fa;
}
.canvas-hover {
    background: #f0f8ff;
}
.layout-placeholder {
    border: 2px dashed #7651fa;
    margin-bottom: 15px;
    background: #e9f7fe;
    height: 100px;
    border-radius: 4px;
}
.frame-title {
    margin-bottom: 10px;
    font-weight: bold;
    float: left;
}
.clearfix:after {
    content: "";
    display: table;
    clear: both;
}
.edit-box1 {
    border-radius: 14px;
    background: #fafafa;
    padding: 20px 60px 6px;
    margin-bottom: 10px;
}
.edit-title {
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 20px;
    cursor: pointer; /* 添加手形光标提示可点击 */
    transition: all 0.2s ease; /* 添加过渡效果 */
}

/* 鼠标悬停时的提示效果 */
.edit-title:hover {
    color: #7f78ff;
    opacity: 0.8;
}

/* 双击编辑时的输入框样式 */
.edit-title-input {
    width: 100% !important;
    padding: 5px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    border: 2px solid #7f78ff !important;
    background: #fff !important;
    border-radius: 4px !important;
    outline: none !important;
    box-shadow: 0 0 5px rgba(127, 120, 255, 0.3) !important;
}
.edit-btns {
    margin: 0 -5px;
}
.edit-btns > li {
    position: relative;
    float: left;
    width: 11%;
}
.edit-btns > li > a {
    display: block;
    font-size: 16px;
    color: #666666;
    height: 44px;
    line-height: 44px;
    text-align: center;
    border-radius: 8px;
    margin: 0 5px 20px;
    background: #ffffff;
    box-shadow: 0px 0px 22px 0px rgba(0, 0, 0, 0.03);
}
.edit-btns > li > a:hover{
    background: #7f78ff;
    color: #fff;
}
.edit-box2 {
    border-radius: 14px;
    overflow: hidden;
}

/* 为固定状态的edit-box2添加样式 */
.edit-box2.fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    width: 98%;
    max-width: 1440px;
    margin: 0 auto;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  }

  /* 添加占位元素样式，防止内容跳动 */
  .edit-box2-placeholder {
    display: none;
    width: 100%;
  }

  .edit-box2-placeholder.active {
    display: block;
  }


.edit-box2 .box {
    padding: 40px 50px 20px;
    background: #fafafa;
}
.edit-tab {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
}
.edit-tab li {
    width: calc(50% - 2px);
    line-height: 60px;
    background: #fafafa;
}
.edit-tab li.on a {
    color: #7651fa;
}
.edit-tab li a {
    display: block;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
}
.edit-tab-con {
    padding: 20px 50px;
    background: #fafafa;
    height: 100px;
}
.layout-list {
    display: flex;
    flex-wrap: wrap;
}
.layout-list li {
    margin-right: 40px;
    cursor: move;
}
.layout-list li .diy-layout-item {
    display: flex;
    width: 120px;
    height: 54px;
    border: 1px dashed #999999;
    border-right: 0;
    background: #f1f1f1;
}
.layout-list li .diy-layout-item .line {
    flex: 1;
    margin: 0 auto;
    width: 0;
    height: 100%;
    border-right: 1px dashed #999999;
}
.layout-list li .diy-layout-item:hover {
    border-color: #7F78FF;
    background-color: rgba(127, 120, 255, 0.11);
}
.layout-list li .diy-layout-item:hover .line {
    border-right-color: #7F78FF;
}
.header-action {
    display: flex;
    align-items: center;
}
.diy-button {
    display: inline-block;
    padding: 6px 15px;
    background: #7651fa;
    color: #fff;
    border-radius: 4px;
    font-size: 14px;
}
.diy-button:hover {
    background: #6340e8;
    color: #fff;
}
/* 控制面板样式*/
#controlpanel {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #f1f1f1;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}
#controlheader {
    padding: 0 20px;
    height: 40px;
    background: #333;
    color: #fff;
    line-height: 40px;
}
.cl:after {
    content: "";
    display: block;
    clear: both;
}
.y {
    float: right;
}
#controlheader a {
    color: #fff;
    margin: 0 5px;
}
#controlnav {
    float: left;
}
#controlnav li {
    float: left;
    margin-right: 10px;
}
#controlnav li.current a {
    background: #7651fa;
}
#controlnav li a {
    display: block;
    padding: 0 15px;
    height: 40px;
    line-height: 40px;
    color: #fff;
    text-decoration: none;
}
#controlcontent {
    padding: 15px;
    height: 110px;
    overflow-y: auto;
    background: #444;
}
.content {
    list-style: none;
    margin: 0;
    padding: 0;
}
.content li {
    float: left;
    margin: 0 8px 8px 0;
}
.content li a {
    display: block;
    width: 100px;
    height: 80px;
    background: #555;
    color: #fff;
    text-align: center;
    padding-top: 10px;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.3s;
}
.content li a:hover {
    background: #7651fa;
}
.content li img {
    display: block;
    width: 50px;
    height: 40px;
    margin: 0 auto 5px;
}
/* 支持拖拽功能的样式*/
.diy-highlight,
.diy-drop-hover {
    background-color: #e9f7fe !important;
    border: 2px dashed #7651fa !important;
}
.diy-dragging-helper {
    z-index: 9999 !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3) !important;
    border: 3px dashed #7651fa !important;
    background: rgba(255, 255, 255, 0.95) !important;
    border-radius: 8px !important;
    padding: 15px !important;
    opacity: 0.9 !important;
    font-weight: bold !important;
    color: #333 !important;
}
.layout-list li img {
    cursor: move;
}
.edit-btns .diy-block-item {
    cursor: move;
}
.diy-frame-placeholder,
.diy-module-placeholder {
    background-color: rgba(118, 81, 250, 0.1);
    border: 2px dashed #7651fa;
    border-radius: 4px;
    margin-bottom: 15px;
    min-height: 60px;
}
/* 为新界面添加的样式*/
.canvas-area {
    position: relative;
    min-height: calc(100vh - 400px);
    transition: all 0.3s;
}
/* 占位文本*/
.placeholder-text {
    position: absolute;
    top: 20%;
    left: 0;
    width: 100%;
    text-align: center;
    color: #aaa;
    font-size: 16px;
    transform: translateY(-50%);
}
/* 框架和模块样式*/
.layout-container {
    position: relative;
    transition: border-color 0.2s ease, z-index 0s;
    margin-left: auto;
    margin-right: auto;
}
.layout-container.editing{
    border: 3px dashed #cccccc !important;
}
.layout-container.editing:hover {
    border-color: #7f78ff !important;
}
.layout-container.editing:hover .layout-column{
    border-color: #7f78ff !important;
}
.layout-container.editing.layout-selected {
    border-style: solid !important;
    border-color: #7f78ff !important;
    z-index: 2;
}

.custom-swiper {
    position: relative;
    overflow: hidden;
}

.custom-swiper .swiper-slide {
    overflow: hidden;
}


.module-container {
    position: relative;
    margin: 0 auto;
    max-width: 1440px;
}
.module-container.editing{
    border: 3px dashed #999999;
}

.module-container:hover,
.module-container.module-selected{
    z-index: 2;
}
.module-container.editing:hover,
.module-container.module-selected.editing{
    border-color: #29c8d4;
    border-style: solid;
}
.module-container:hover .edit-controls,
.module-container:hover .component-title{
    opacity: 1;
}
.edit-controls a.btn-drag-layout,
.edit-controls a.btn-drag-module{
    cursor: move;
    width: 44px;
    background: rgba(127, 120, 255, 0.3) url(../images/icon-drag.png) no-repeat center center;
    color: #fff;
    font-size: 0;
}
.edit-controls a.btn-drag-module{
    background-color: #29c8d4;
}

.component-title {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100px;
    padding: 0 5px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    background: #29c8d4;
    color: #ffffff;
    font-size: 16px;
    z-index: 3;
    opacity: 0;
}
.frame-title {
    display: none;
    height: 45px;
    line-height: 45px;
    padding: 0 15px;
    background-color: #fafafa;
    border-bottom: 1px solid #eee;
    position: relative;
    font-weight: 600;
    border-radius: 4px 4px 0 0;
}
.block-container,
.template-item {
    margin-bottom: 15px;
    background-color: #fff;
    border: 1px solid #eee;
    border-radius: 4px;
    position: relative;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: all 0.2s ease;
}
.block-container:hover,
.template-item:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.block-title {
    background-color: #f5f5f5;
    height: 40px;
    line-height: 40px;
    padding: 0 15px;
    font-weight: 600;
    border-radius: 4px 4px 0 0;
    cursor: move;
    position: relative;
}
.block-content {
    padding: 15px;
    background-color: #fff;
    border-radius: 0 0 4px 4px;
}
/* 编辑控件*/
.edit-controls {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    display: flex;
    text-align: left;
    opacity: 0;
    z-index: 999;
}
.edit-controls a {
    font-size: 16px;
    width: 112px;
    height: 44px;
    line-height: 44px;
    background-color: #cccccc;
    color: #666;
    background-repeat: no-repeat;
    background-position: right 18px center;
    background-size: 24px auto;
    margin-left: 2px;
    cursor: pointer;
    padding-left: 18px;
    transition: all 0.3s ease;
}
.edit-controls a.edit-module {
    background-color: #29c8d4;
    color: #ffffff;
    background-image: url(../images/icon-edit-w.png);
}
.edit-controls a.add-item {
    background-color: #29c8d4;
    color: #ffffff;
    background-image: url(../images/icon-add-w.png);
}
.edit-controls a.delete-module{
    width: 60px;
    font-size: 0;
    background-color: #29c8d4;
    color: #ffffff;
    background-image: url(../images/icon-delete-w.png);
}



.edit-controls a.edit-frame{
    background-color: rgba(127, 120, 255, 0.3);
    color: #7f78ff;
    background-image: url(../images/icon-edit-on.png);

}
.edit-controls a.delete-frame{
    font-size: 0;

    width: 60px;
    background-color: rgba(127, 120, 255, 0.3);
    color: #7f78ff;
    background-image: url(../images/icon-delete-on.png);
}
.layout-container:hover .edit-controls a.edit-frame {
    background-image: url(../images/icon-edit-f.png);
    background-color: #7f78ff;
    color: #fff;
}
.layout-container:hover .edit-controls a.delete-frame {
    background-image: url(../images/icon-delete-f.png);
    background-color: #7f78ff;
    color: #fff;
}
.layout-container:hover .edit-controls a.btn-drag-layout{
    background-color: #7f78ff;
}
.frame-title + .edit-controls{
    opacity: 1;
    top: -44px;
}

.module-item.ui-draggable-dragging {
    z-index: 1000;
    opacity: 0.8;
    width: 120px !important;
}
.layout-item.ui-draggable-dragging {
    z-index: 1000;
    opacity: 0.8;
    width: 120px !important;
}
.drag-helper {
    position: absolute;
    border: 2px dashed #0d6efd;
    background-color: rgba(13, 110, 253, 0.1);
    z-index: 100;
    display: none;
}
.canvas-container .layout-placeholder {
    height: 100px;
    border: 2px dashed #0d6efd;
    background-color: rgba(13, 110, 253, 0.1);
    margin: 10px 0;
}
.module-placeholder {
    height: 50px;
    border: 2px dashed #0d6efd;
    background-color: rgba(13, 110, 253, 0.1);
    margin: 5px 0;
}
.highlight-drop {
    border: 2px dashed #0d6efd !important;
    background-color: rgba(13, 110, 253, 0.1) !important;
}
/* 模块标题*/
.block-title {
    background-color: #f5f5f5;
    height: 40px;
    line-height: 40px;
    padding: 0 15px;
    font-weight: 600;
    border-radius: 4px 4px 0 0;
    cursor: move;
    position: relative;
}
/* 模块内容*/
.block-content {
    padding: 15px;
    background-color: #fff;
    border-top: none;
    border-radius: 0 0 4px 4px;
}
/* 拖放视觉效果*/
.diy-drop-hover {
    background-color: #e3f2fd !important;
    border: 2px dashed #7651fa !important;
}
.diy-frame-placeholder {
    background-color: rgba(33, 150, 243, 0.1);
    border: 2px dashed #7651fa;
    border-radius: 4px;
    height: 100px;
    margin-bottom: 20px;
}
.diy-module-placeholder {
    background-color: rgba(33, 150, 243, 0.1);
    border: 2px dashed #7651fa;
    border-radius: 4px;
    height: 60px;
    margin-bottom: 15px;
}
/* 弹窗样式*/
.diy-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    width: 500px;
    max-width: 90%;
    border-radius: 4px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
    z-index: 1001;
}
.diy-popup-title {
    padding: 15px;
    background-color: #f7f7f7;
    border-bottom: 1px solid #eee;
    font-weight: 600;
    border-radius: 4px 4px 0 0;
}
.diy-popup-content {
    padding: 20px;
    max-height: 70vh;
    overflow-y: auto;
}
.diy-popup-content textarea {
    display: block;
    width: 100%;
    min-height: 300px;
}
.diy-popup-footer {
    padding: 15px;
    text-align: right;
    border-top: 1px solid #eee;
}
.diy-popup-footer button {
    padding: 8px 15px;
    margin-left: 10px;
    border-radius: 4px;
    cursor: pointer;
}
.save-btn {
    background-color: #1e88e5;
    color: #fff;
    border: none;
}
.cancel-btn {
    background-color: #f5f5f5;
    border: 1px solid #ddd;
}
/* 表单元素*/
.form-item {
    margin-bottom: 15px;
}
.form-item label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
}
.form-item input,
.form-item select,
.form-item textarea {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}
/* 消息提示*/
.diy-message {
    position: fixed;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    padding: 10px 20px;
    border-radius: 4px;
    color: #fff;
    z-index: 1100;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.success {
    background-color: #28a745;
}
.error {
    background-color: #dc3545;
}
/* 模板列表*/
.template-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.template-list li {
    padding: 10px;
    border-bottom: 1px solid #eee;
}
.template-list li:last-child {
    border-bottom: none;
}
.template-list a {
    text-decoration: none;
    color: #333;
    display: block;
}
.template-list a:hover {
    color: #007bff;
}
.card-list-container .title-box {
    padding: 52px 0 40px;
    text-align: center;
}
.card-list-container .title-box .tit1{
    font-weight: bold;
    font-size: 32px;
}
.card-list-container .title-box .tit2{
    font-size: 16px;
    color: #6e6d7a;
}
.card-list .card-item {
    margin-bottom: 16px;
}
.normal-list-container .card-list .card-item .card-inner {
    border: 2px solid #cccccc;
    border-radius: 36px;
}
.normal-list-container .card-list .card-item .card-inner{
    text-align: left;
}
.normal-list-container .card-list .card-item .card-inner .card-image img,
.normal-list-container .card-list .card-item .card-inner .card-image video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 默认3列布局 */
.normal-list-container .card-list .card-item .card-inner .card-image {
    position: relative;
    padding-top: 75%;
    background: #ECECEC;
    overflow: hidden;
    border-radius: 32px;
}
/* 🔧 修复：保持flex布局，但支持动态列数设置 */
.normal-list-container .card-list{
    display: flex;
    flex-wrap: wrap;
    margin-left: -8px;
    margin-right: -8px;
    margin-bottom: -16px;
}
.normal-list-container:not([class*="columns-"]) .card-list .card-item,
.normal-list-container.columns-3 .card-list .card-item {
    width: 33.3333%;
}

.normal-list-container.columns-1 .card-list .card-item {
    width: 100%;
}

.normal-list-container.columns-2 .card-list .card-item {
    width: 50%;
}

.normal-list-container.columns-4 .card-list .card-item {
    width: 25%;
}

.normal-list-container.columns-5 .card-list .card-item {
    width: 20%;
}

.normal-list-container.columns-6 .card-list .card-item {
    width: 16.6666%;
}
.normal-list-container  .card-list .card-item .card-inner{
    padding: 12px 12px 68px;
    height: 100%;
    margin: 0 8px;
    overflow: hidden;
}
.btn-zoom{
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    font-size: 0;
    z-index: 11;
}
.btn-zoom-video{
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    font-size: 0;
    background: url(../images/icon-play.png) no-repeat center center;
    z-index: 10;
}
.normal-list-container .card-list .card-item .card-inner .card-content{
    padding: 12px 14px 0;
}
.card-list-container .card-list .card-item .card-inner .card-content h3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
}
.card-list-container .card-list .card-item .card-inner .card-content p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: #666666;
}
/* 模块内容编辑弹窗*/
.dl-nav {
    background: #ffffff;
    border-radius: 10px;
    margin-bottom: 20px;
}
.dl-nav dt {
    font-size: 18px;
    line-height: 60px;
    color: #999999;
    padding: 0 30px;
    border-bottom: 2px solid #ececec;
}
.dl-nav dd {
    padding: 20px 16px;
    height: 376px;
    overflow-y: auto;
}
.dl-nav dd p {
    font-size: 16px;
    padding: 0 30px;
    line-height: 44px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: #fafafa;
    border-radius: 10px;
    margin-bottom: 4px;
    cursor: pointer;
}
.dl-nav dd p.p2 {
    padding-left: 60px;
}
.dl-nav dd p.p3 {
    padding-left: 90px;
}
.dl-nav dd p:hover{
    color: #7651fa;
}
.dl-nav dd p.selected{
    background-color: #EFEEFF;
    color: #7651fa;
}
.link-con {
    display: block;
    font-size: 18px;
    width: 300px;
    height: 52px;
    border-radius: 10px;
    background: #ffffff;
    padding: 0 10px;
    border: 0;
    font-size: 18px;
}
.upload-section2 .upload-icon {
    margin-bottom: 0;
}
.upload-section2 .upload-text {
    margin-bottom: 10px;
}
.upload-section2 .upload-image-section {
    padding: 0;
    margin-bottom: 20px;
}
.upload-section2 .upload-video-section {
    padding: 0;
    margin-bottom: 20px;
}
.upload-section2 .upload-placeholder {
    min-height: 100px;
}
/* 热图推荐模块样式*/
.hot-image-container {
    position: relative;
    padding-top: 43.7%;
}

.hot-image-container .hot-image-item {
    position: absolute;
    border-radius: 36px;
    overflow: hidden;
    height: 47.2%;
    background: #ececec;
    background-clip: padding-box;
}
.hot-image-container .hot-image-item[data-user-box-shadow*="inset"]::after,
.hot-image-container .hot-image-item[style*="inset"]::after {
	content: '';
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	border-radius: inherit;
	pointer-events: none;
	z-index: 1; /* 在 .pic 之上、文案之下 */
	box-shadow: inherit; /* 复用父元素的 inset 阴影 */
}
/* 切换过程中箭头按钮的禁用状态 */
.hot-image-container .arrow.switching-disabled {
    opacity: 0.3;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

/* 新内容层样式 */
.hot-image-container .pic-new-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    transform: translateX(100%);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hot-image-container .pic-new-layer img,
.hot-image-container .pic-new-layer video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hot-image-container .pic-new-layer .placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ECECEC;
}

/* 滑入动画 */
.hot-image-container .pic-new-layer.hot-slide-in {
    transform: translateX(0);
    opacity: 1;
}

/* 滑出动画 */
.hot-image-container .hot-slide-out {
    transform: translateX(-100%);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 切换过程中的容器状态 */
.hot-image-container.hot-switching {
    overflow: hidden; /* 确保滑动过程中不出现滚动条 */
}

/* 切换过程中的样式 */
.hot-image-container .switching-items {
    pointer-events: none; /* 切换过程中禁用鼠标事件 */
}

/* 确保图片和视频在切换过程中保持正确的显示效果 */
.hot-image-container .hot-image-item .pic img,
.hot-image-container .hot-image-item .pic video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.3s ease-in-out; /* 图片加载的淡入效果 */
}

/* 🔧 修复：当同时存在图片和视频时，视频默认隐藏，只显示图片 */
.hot-image-container .hot-image-item .pic img ~ video {
    display: none;
}

/* 🔧 修复：确保单独的视频正常显示 */
.hot-image-container .hot-image-item .pic video:only-child {
    display: block;
}

/* 🔧 修复：确保单独的图片正常显示 */
.hot-image-container .hot-image-item .pic img:only-child {
    display: block;
}

/* 箭头在切换过程中的状态优化 */
.hot-image-container .arrow {
    z-index: 12; /* 确保箭头始终在最上层 */
}

/* 防止在切换过程中出现闪烁 */
.hot-image-container .hot-image-item .pic {
    position: relative;
    width: 100%;
    height: 100%;
}

.hot-image-container .hot-image-item.hot-image-item1 {
    top: 0;
    left: 0;
    height: 100%;
    width: 60%;
}
.hot-image-container .hot-image-item.hot-image-item2 {
    top: 0;
    right: 0;
    width: 38%;
}
.hot-image-container .hot-image-item.hot-image-item3 {
    bottom: 0;
    right: 0;
    width: 38%;
}
.hot-image-container .hot-image-item .hot-image-info {
    position: absolute;
    bottom: 40px;
    left: 40px;
    right: 40px;
    text-align: left;
    z-index: 2;
}
.hot-image-container .hot-image-item .hot-image-info .hot-image-title{
    font-weight: bold;
}


/* 图文叠加组件样式*/
.imagetext-content video{
    display: block;
    margin: 0 auto;
}
.image-text-container {
    text-align: left;
    padding: 40px 30px;
}
.image-text-container .btn-edit {
    left: auto;
    right: 40px;
}

.imagetext-content ul{
    list-style: inside;
}
ol {  
    counter-reset: list-counter;  
    list-style: none;  
    padding-left: 0;  
}  
ol>li {  
    counter-increment: list-counter;  
    margin-bottom: 10px;  
}  
ol>li::before {  
    content: counter(list-counter) ". ";  
} 

/* 常规连图组件样式*/
.image-gallery-container {
    text-align: left;
    overflow: hidden;
}
.image-gallery-item {
    position: relative;
}
.image-gallery-item-img {
    font-size: 0;
}
.image-gallery-item-img img,
.image-gallery-item-img video {
    display: inline-block;
}
.image-gallery-item-txt {
    position: absolute;
    bottom: 40px;
    left: 40px;
    right: 40px;
}
.image-gallery-item-txt .image-gallery-item-title{
    font-weight: bold;
}
.image-gallery-item-action {
    position: absolute;
    bottom: 40px;
    right: 40px;
}
.image-gallery-item-action-btn {
    display: inline-block;
}
.image-gallery-item .btn-edit{
    top: auto;
    bottom: 40px;
}

/* 自定义HTML模块样式*/
.custom-html-container {
    position: relative;
    text-align: left;
}


.custom-html-textarea {
    display: block;
    width: 100%;
    resize: vertical;
    border: 0;
    min-height: 150px;
    background: transparent;
}
.custom-html-preview {
    width: 100%;
    overflow: auto;
    word-break: break-word;
}
.custom-html-preview iframe {
    display: block;
}
.custom-html-preview:empty:before {
    content: "请添加自定义HTML内容";
    color: #999;
    font-style: italic;
}
.btn-apply-html {
    background-color: #007bff;
    color: #fff;
    border: none;
    padding: 8px 15px;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 10px;
    display: inline-block;
}
.btn-apply-html:hover {
    background-color: #0069d9;
}
.custom-html-preview-content {
    padding: 15px;
    width: 100%;
    min-height: 100px;
}
/* 预览弹窗样式*/
.custom-html-preview-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 1000px;
    max-height: 80vh;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.15);
    z-index: 10001;
    overflow: hidden;
}
.preview-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10000;
}
.preview-header {
    padding: 15px 20px;
    background: #f5f5f5;
    border-bottom: 1px solid #eee;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.close-preview {
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s;
}
.close-preview:hover {
    opacity: 1;
}
.preview-content {
    padding: 20px;
    max-height: calc(80vh - 51px);
    overflow-y: auto;
}
/* 配置面板样式*/
.config-item {
    margin-bottom: 20px;
}
.config-item label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #333;
}
.config-item input[type="text"],
.config-item textarea {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    transition: border 0.3s;
}
.config-item input[type="text"]:focus,
.config-item textarea:focus {
    border-color: #7651fa;
    box-shadow: 0 0 0 2px rgba(118, 81, 250, 0.1);
}
.config-item .hint {
    font-size: 12px;
    color: #888;
    margin-top: 5px;
}
.preview-btn {
    background: #7651fa;
    color: #fff;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.3s;
}
.preview-btn:hover {
    background: #5f3de8;
}
/* 轮播图片和视频的样式*/
.slider-image-content,
.slider-gif,
.slider-video {
    display: block;
    max-width: 100%;
    height: auto;
}
/* GIF图片特殊样式*/
.slider-gif {
    width: 100%;
}
.slider-module{
    max-width: 1920px;
}
.slider-image {
    position: relative;
}
.custom-swiper .btn-edit {
    top: auto;
    bottom: 40px;
}
.slider-image .txt{
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: left;
    color: #666666;
    left: 10%;
    right: 10%;
}
.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 75px;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-position: center;
    color: #fff;
    border: 1px solid #999999;
    border-radius: 20px;
    z-index: 2;
    cursor: pointer;
    font-size: 0;
}
.arrow.prev {
    left: 40px;
    background-image: url(../images/prev.png);
}
.arrow.next {
    right: 40px;
    background-image: url(../images/next.png);
}
.swiper-button-disabled{
    opacity: 0.3;
    pointer-events: none;
}
.hot-image-container .arrow.next {
    left: 54%;
}
.custom-slider-container .arrow.prev {
    left: 4%;
}
.custom-slider-container .arrow.next {
    right: 4%;
}
/* 轮播编辑弹窗样式*/
.slider-item-edit-panel {
    padding: 20px;
}
.slider-item-edit-panel .form-group {
    margin-bottom: 15px;
}
.slider-item-edit-panel label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}
.slider-item-edit-panel input[type="text"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 3px;
}
/* 标签搜索组件样式*/
.tag-search-container .card-list-container .card-list .card-item .card-inner .card-image .btn-edit{
    display: none;
}
.search-module {
    padding: 0 130px;
}
.search-module .search-results{
    display: none;
    margin: 0 -130px;
}
.search-input-area {
    position: relative;
}
.tag-search-input {
    font-weight: lighter;
    display: block;
    width: 100%;
    height: 70px;
    padding: 0 148px 0 36px;
    border-radius: 35px;
    font-size: 20px;
    transition: border-color 0.3s ease;
    border: 1px solid #999999;
}
.tag-search-btn {
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -25px;
    width: 50px;
    height: 50px;
    background: #7F78FF url(../images/so.svg) no-repeat center;
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    transition: opacity 0.3s;
}
.tag-search-btn:hover {
    opacity: 0.6;
}
.tag-options {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}
.tag-filter-options {
    display: flex;
    gap: 15px;
}
.tag-option {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #555;
    cursor: pointer;
}
.tag-option input {
    margin-right: 5px;
}
.tag-actions {
    display: flex;
    gap: 10px;
}
.add-tag-btn,
.save-tag-btn,
.cancel-tag-btn {
    padding: 5px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #f5f5f5;
    cursor: pointer;
    font-size: 14px;
}
.add-tag-btn:hover,
.save-tag-btn:hover {
    background: #e5e5e5;
}
.cancel-tag-btn:hover {
    background: #ffebee;
}
.new-tag-input {
    width: 120px;
    padding: 5px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    outline: none;
}
.tag-cloud {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    padding: 38px 30px 24px 36px;
    background: #ffffff;
    border-radius: 20px;
    margin-top: 8px;
}
.tag-item {
    width: 123px;
    height: 42px;
    line-height: 42px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.05);
    color: rgba(0, 0, 0, 1);
    font-size: 16px;
    transition: all 0.2s ease;
    margin: 0 15px 15px 0;
    text-align: center;
    cursor: pointer;
}
.tag-item:hover{
    color: rgba(127, 120, 255, 1);
    background: rgba(127, 120, 255, 0.1);
}
.tag-item.selected {
    color: #ffffff;
    background: rgba(127, 120, 255, 1);
    position: relative;
}
.tag-item[data-count]:after {
    content: " (" attr(data-count) ")";
    font-size: 12px;
    color: #888;
}

.no-results {
    padding: 15px;
    text-align: center;
    color: #888;
    background: #f9f9f9;
    border-radius: 4px;
    width: 100%;
}
/* 页面管理样式*/
.pop-page-manager {
    display: none;
    position: absolute;
    top: 108%;
    right: 0;
    width: 350px;
    background: #fff;
    box-shadow: 7px 7px 50px rgba(0, 0, 0, 0.11);
    border-radius: 10px;
    z-index: 1001;
    overflow: hidden;
}
.pop-page-manager .title {
    font-size: 18px;
    padding: 0 30px;
    line-height: 60px;
    background: #fafafa;
    color: #999999;
}
.pop-page-manager .page-list {
    padding: 15px;
}
.pop-page-manager .page-list ul{
    max-height: 330px;
    overflow-y: auto;
}
.pop-page-manager .page-list li {
    padding-right: 6px;
    margin-bottom: 4px;
}
.pop-page-manager .page-list li a {
    display: block;
    line-height: 44px;
    background: #fafafa;
    color: #000000;
    padding: 0 30px;
    border-radius: 10px;
}
.pop-page-manager .page-list li.level2 a {
    padding-left: 60px;
}
.pop-page-manager .page-list li.level3 a {
    padding-left: 90px;
}
.pop-page-manager .page-list li a:hover{
    color: #7651fa;
}
.pop-page-manager .page-list li.selected a{
    background-color: #EFEEFF;
    color: #7651fa;
}
/* 页面表格*/
.pages-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}
.pages-table th,
.pages-table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}
.pages-table th {
    padding-top: 12px;
    padding-bottom: 12px;
    background-color: #4caf50;
    color: white;
}
.pages-table tr:nth-child(even) {
    background-color: #f2f2f2;
}
.pages-table tr:hover {
    background-color: #ddd;
}
.pages-table .page-actions {
    display: flex;
    gap: 5px;
}
.pages-table .page-action-btn {
    padding: 5px 10px;
    border-radius: 3px;
    cursor: pointer;
    font-size: 12px;
}
.pages-table .edit-btn {
    background-color: #7651fa;
    color: white;
}
.pages-table .delete-btn {
    background-color: #f44336;
    color: white;
}
/* 模块编辑面板*/
#module-editor-panel {
    position: fixed;
    top: 20%;
    right: 20px;
    width: 300px;
    background-color: white;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}
.panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    background-color: #4caf50;
    color: white;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.panel-header h3 {
    margin: 0;
    font-size: 16px;
}
.close-btn {
    cursor: pointer;
    font-size: 20px;
}
.panel-content {
    padding: 15px;
    max-height: 70vh;
    overflow-y: auto;
}
.setting-item {
    margin-bottom: 15px;
}
.setting-item label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}
.setting-item input,
.setting-item select {
    width: 100%;
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 3px;
}
.font-settings {
    margin-bottom: 20px;
}
.alignment-settings {
    margin-bottom: 20px;
}
.alignment-options {
    display: flex;
    gap: 5px;
    margin-top: 5px;
}
.alignment-option {
    padding: 5px 10px;
    border: 1px solid #ddd;
    border-radius: 3px;
    cursor: pointer;
    flex: 1;
    text-align: center;
}
.alignment-option.active {
    background-color: #4caf50;
    color: white;
    border-color: #4caf50;
}
/* 组件设置面板*/
#component-settings-panel {
    position: fixed;
    top: 20%;
    right: 20px;
    width: 320px;
    background-color: white;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}
.device-switch {
    display: flex;
    margin-bottom: 15px;
}
.device-switch-btn {
    flex: 1;
    text-align: center;
    padding: 8px;
    border: 1px solid #ddd;
    cursor: pointer;
}
.device-switch-btn:first-child {
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
}
.device-switch-btn:last-child {
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}
.device-switch-btn.active {
    background-color: #4caf50;
    color: white;
    border-color: #4caf50;
}
.layout-setting {
    margin-bottom: 15px;
}
.layout-modes {
    display: flex;
    gap: 5px;
    margin-top: 5px;
}
.layout-mode-option {
    flex: 1;
    text-align: center;
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 3px;
    cursor: pointer;
}
.layout-mode-option.active {
    background-color: #4caf50;
    color: white;
    border-color: #4caf50;
}
.setting-title {
    font-weight: bold;
    margin-bottom: 5px;
    margin-top: 10px;
}
.margin-padding-settings {
    margin-bottom: 15px;
}
.margin-padding-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 5px;
    align-items: center;
    justify-items: center;
}
.margin-padding-grid input {
    width: 50px;
    text-align: center;
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 3px;
}
/* 背景设置面板*/
#background-settings-panel {
    position: fixed;
    top: 20%;
    right: 20px;
    width: 320px;
    background-color: white;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}
.bg-type-options {
    display: flex;
    margin-bottom: 15px;
}
.bg-type-option {
    flex: 1;
    text-align: center;
    padding: 8px;
    border: 1px solid #ddd;
    cursor: pointer;
}
.bg-type-option:first-child {
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
}
.bg-type-option:last-child {
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}
.bg-type-option.active {
    background-color: #4caf50;
    color: white;
    border-color: #4caf50;
}
.bg-settings-section {
    margin-bottom: 15px;
}
.bg-image-preview {
    width: 100%;
    height: 100px;
    margin-top: 10px;
    background-size: cover;
    background-position: center;
    border: 1px solid #ddd;
    border-radius: 3px;
}
/* 不同设备视图*/
.device-view-pc .canvas-container {
    width: 100%;
    max-width: 1200px;
}
.device-view-mobile .canvas-container {
    width: 375px;
    margin: 0 auto;
    border: 10px solid #333;
    border-radius: 20px;
}
.device-view-tablet .canvas-container {
    width: 768px;
    margin: 0 auto;
    border: 15px solid #333;
    border-radius: 15px;
}
/* 筛选列表设置弹窗样式*/
.filter-list-layer .layui-layer-content {
    overflow: hidden !important;
}
.filter-list-editor {
    width: 100%;
    height: 100%;
    background-color: #f5f5f5;
}
.filter-editor-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background-color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.layui-layer {
    border-radius: 26px !important;
    overflow: hidden;
}
.filter-editor-header h3 {
    font-size: 18px;
    font-weight: normal;
    margin: 0;
}
.filter-editor-header .save-btn {
    padding: 6px 18px;
    background-color: #f0f0f0;
    border: none;
    border-radius: 30px;
    color: #333;
    cursor: pointer;
    font-size: 14px;
}
.filter-editor-header .save-btn:hover {
    background-color: #e0e0e0;
}
.upload-section {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}
.upload-image-section,
.upload-video-section {
    flex: 1;
    background-color: #fff;
    border-radius: 5px;
}
.upload-placeholder {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
}
.upload-icon {
    font-size: 40px;
    color: #ccc;
    margin-bottom: 15px;
}
.upload-text {
    text-align: center;
    color: #999;
    margin-bottom: 15px;
}
.upload-text p {
    margin: 5px 0;
}
.upload-option {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 15px;
    cursor: pointer;
    color: #000;
}
.upload-option i{
    position: relative;
    width: 20px;
    height: 20px;
    background: url(../images//radio.svg);
    margin-left: 5px;
}
.upload-option.active i{
    background-image: url(../images/radio-on.svg);
}
.upload-btn {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 2;
}
.file-preview {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.file-preview img,
.file-preview video {
    max-width: 100%;
    max-height: 200px;
    border-radius: 4px;
}
.remove-file {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.6);
    color: #fff;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    z-index: 1000;
}
.remove-file:hover {
    background-color: rgba(0, 0, 0, 0.8);
}
.title-section {
    background-color: #fff;
    border-radius: 5px;
    padding: 15px;
}
.title-input,
.subtitle-input {
    margin-bottom: 15px;
}
.title-input label,
.subtitle-input label {
    display: block;
    margin-bottom: 5px;
    color: #666;
}
.title-input input,
.subtitle-input input {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}
/* 背景设置弹窗样式*/
.bg-setting-layer .layui-layer-content {
    overflow: hidden !important;
}
.bg-setting-editor {
    width: 100%;
    height: 100%;
}
.bg-setting-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px 0 0;
    background-color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    z-index: 200000;
}
.bg-setting-header h3 {
    flex: 1;
    font-size: 18px;
    line-height: 62px;
    font-weight: normal;
    margin: 0;
    padding-left: 20px;
}
.header-right {
    display: flex;
    align-items: center;
    gap: 15px;
}
.toggle-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    z-index: 100;
}
.toggle-switch span {
    font-size: 14px;
    color: #666;
}
.switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 20px;
    z-index: 101;
}
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
    cursor: pointer;
    z-index: 102;
}
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: 0.4s;
}
.slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    transition: 0.4s;
}
input:checked + .slider {
    background-color: #000;
}
input:checked + .slider:before {
    transform: translateX(20px);
}
.slider.round {
    border-radius: 20px;
}
.slider.round:before {
    border-radius: 50%;
}
.bg-setting-header .save-btn {
    padding: 6px 18px;
    background-color: #f0f0f0;
    border: none;
    border-radius: 30px;
    color: #333;
    cursor: pointer;
    font-size: 14px;
}
.bg-setting-header .save-btn:hover {
    background-color: #e0e0e0;
}
.bg-setting-content {
    padding: 82px 20px 20px;
}
.upload-area {
    background-color: #fff;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 20px;
}
.bg-option-section {
    background-color: #fff;
    border-radius: 5px;
    padding: 0 15px;
}
.bg-option-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-top: 1px solid #eee;
}
.option-label {
    font-size: 18px;
    color: #999999;
}
.radio-options {
    display: flex;
    gap: 15px;
}
.radio-option {
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
    gap: 5px;
}
.radio-option input[type="radio"] {
    position: absolute;
    opacity: 0;
}
.radio-mark {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(../images//radio.svg);
    position: relative;
}
.radio-option input[type="radio"]:checked + .radio-mark {
    background-image: url(../images/radio-on.svg);
}
.radio-text {
    font-size: 18px;
    color: #333;
}
.color-picker-container {
    display: flex;
    align-items: center;
    gap: 15px;
}
.opacity-slider {
    display: flex;
    align-items: center;
    gap: 8px;
}
.opacity-slider span {
    font-size: 14px;
    color: #333;
    width: 40px;
}
.opacity-slider input[type="range"] {
    width: 100px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 1000px;
    cursor: move;
}
.color-input {
    display: flex;
    align-items: center;
}
.color-input input[type="text"] {
    width: 70px;
    height: 30px;
    border: 1px solid #ddd;
    border-radius: 3px;
    padding: 0 5px;
    font-size: 14px;
    text-transform: uppercase;
}
.color-input input[type="color"] {
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    margin-left: 5px;
}
.desc-box {
    padding: 40px 30px;
    background-color: #fff;
}
.desc-box textarea {
    display: block;
    width: 100%;
    min-height: 300px;
}
/* 手机预览弹窗样式*/
.mobile-preview-modal {
    display: none;
}
.mobile-preview-layer .layui-layer-content {
    overflow: hidden !important;
    background: linear-gradient(135deg, #f5f7fa 0%, #e4e8eb 100%);
}
.mobile-preview-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.mobile-preview-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background-color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.mobile-preview-header h3 {
    font-size: 18px;
    font-weight: normal;
    margin: 0;
    color: #333;
}
.close-preview-btn {
    padding: 6px 15px;
    background-color: #f0f0f0;
    border: none;
    border-radius: 30px;
    color: #333;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s ease;
}
.close-preview-btn:hover {
    background-color: #e0e0e0;
}
.mobile-preview-content {

}
.mobile-device {
    width: 320px;
    height: 620px;
    background-color: #111;
    border-radius: 40px;
    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.2),
        0 5px 15px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    padding: 15px;
    position: relative;
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.mobile-device.show {
    transform: translateY(0);
    opacity: 1;
}
.device-header {
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.device-speaker {
    width: 60px;
    height: 8px;
    background-color: #222;
    border-radius: 4px;
    position: relative;
}
.device-speaker:before {
    content: "";
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background-color: #333;
    border-radius: 50%;
}
.device-screen {
    flex: 1;
    background-color: #fff;
    border-radius: 20px;
    margin: 10px 0;
    overflow: hidden;
    position: relative;
}
#mobile-preview-frame {
    width: 100%;
    height: 100%;
    border: none;
}
.device-home-button {
    width: 40px;
    height: 40px;
    background-color: #222;
    border-radius: 50%;
    margin: 5px auto;
    position: relative;
}
.device-home-button:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 15px;
    height: 15px;
    border: 1px solid #444;
    border-radius: 4px;
}
/* 布局属性设置面板*/
.mb0{
    margin-bottom: 0 !important;
}
.mb4{
    margin-bottom: 4px !important;
}
.mb10{
    margin-bottom: 10px !important;
}
.layout-option-row {
    display: flex;
    justify-content: space-between;
    border-radius: 10px;
    padding: 0 30px;
    height: 52px;
    background: #ffffff;
    align-items: center;
    margin-bottom: 20px;
}
.layout-option-row .layui-input {
    width: 62%;
}
.layui-select-title .layui-input {
    width: 100%;
}
.layui-layer-page {
    background: #ececec !important;
    max-height: 90%;
}

/* 设备选项卡*/
/* 添加自定义样式*/
.hint {
    color: #ff5722;
    margin-top: 10px;
}
.device-tab,
.copy-paste-tab {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
}
.device-tab .tab-btn,
.copy-paste-tab .tab-btn {
    font-size: 16px;
    width: 167px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s;
    background-color: #fff;
    color: #666666;
    font-weight: 500;
}
.device-tab .tab-btn + .tab-btn,
.copy-paste-tab .tab-btn + .tab-btn {
    margin-left: 10px;
}
.device-tab .tab-btn.active,
.copy-paste-tab .tab-btn.active {
    background: #000000;
    color: #ffffff;
}
.tabs-box{
    display: flex;
    justify-content: space-between;
    align-items: center;
}


/* 对齐选项*/
.align-options {
    display: flex;
    gap: 10px;
}
.align-option {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border-radius: 5px;
    background: #f5f5f5;
    cursor: pointer;
    transition: all 0.3s;
}
.align-option i {
    margin-right: 5px;
    pointer-events: none;
}
.align-option.active {
    background: #848cff;
    color: #ffffff;
}
/* 上传框样式*/
.upload-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 10px;
    padding: 20px;
    cursor: pointer;
    height: 148px;
    text-align: center;
}
.plus-icon {
    font-size: 24px;
    margin-bottom: 10px;
    color: #848cff;
}
.upload-box p {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}
/* 输入组样式*/
.input-group {
    display: flex;
    align-items: center;
    background: #f5f5f5;
    border-radius: 5px;
    padding: 0 10px;
}
.input-group input[type="number"] {
    border: none;
    background: transparent;
    outline: none;
    padding: 5px 0;
    text-align: center;
}
.input-group span {
    color: #666;
    font-size: 14px;
}
/* 弹窗样式*/
.layout-setting-layer .layui-layer-content {
    background: #eeeeee;
    padding: 0;
    overflow: auto !important;
}
.layout-settings-content {
    padding: 90px 30px 30px;
}
/* 轮播模块样式*/
.empty-tip {
    padding: 20px;
    text-align: center;
    color: #999;
    background-color: #f5f5f5;
    border-radius: 4px;
}
.module-items-preview {
    min-height: 100px;
    border: 1px dashed #ddd;
    border-radius: 4px;
    margin-top: 10px;
}
.item-preview-area {
    margin-top: 20px;
}
/* 模块项目样式*/
.module-item {
    border: 1px solid #eee;
    border-radius: 4px;
    padding: 10px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    position: relative;
}
.module-item:hover {
    background-color: #f9f9f9;
}
.module-item-preview {
    width: 60px;
    height: 60px;
    margin-right: 10px;
    background-color: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    overflow: hidden;
}
.module-item-preview img {
    max-width: 100%;
    max-height: 100%;
}
.module-item-info {
    flex: 1;
}
.module-item-title {
    font-weight: bold;
    margin-bottom: 5px;
}
.module-item-desc {
    font-size: 12px;
    color: #666;
}
.module-item-actions {
    position: absolute;
    right: 10px;
    top: 10px;
    display: flex;
    gap: 5px;
}
.module-item-actions button {
    background: none;
    border: none;
    cursor: pointer;
    color: #666;
    font-size: 16px;
}
.module-item-actions button:hover {
    color: #000;
}
.module-dialog-container {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    width: 720px;
    max-width: 90vw;
    margin: 0 auto;
    position: relative;
}
.dialog-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
}
.dialog-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: normal;
}
.dialog-header .close-btn {
    font-size: 24px;
    cursor: pointer;
    color: #999;
    line-height: 24px;
}
.dialog-header .close-btn:hover {
    color: #333;
}
.dialog-content {
    padding: 20px;
    max-height: 70vh;
    overflow-y: auto;
}
.module-types-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.module-type-item {
    padding: 20px;
    border: 1px solid #eee;
    border-radius: 6px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s;
}
.module-type-item:hover {
    border-color: #1e9fff;
    background-color: #f5f9ff;
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.module-type-icon {
    font-size: 32px;
    margin-bottom: 15px;
    color: #1e9fff;
}
.module-type-name {
    font-size: 16px;
}
.add-module-btn {
    width: 100%;
    padding: 15px;
    text-align: center;
    background-color: #f5f5f5;
    border: 2px dashed #ddd;
    border-radius: 6px;
    color: #666;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s;
    margin: 15px 0;
}
.add-module-btn:hover {
    background-color: #e9f5ff;
    border-color: #1e9fff;
    color: #1e9fff;
}
.add-module-btn i {
    font-size: 20px;
    vertical-align: middle;
    margin-right: 5px;
}
.module-container-slot {
    min-height: 100px;
}
.layui-layer-setwin .layui-layer-close2 {
    position: absolute;
    right: 23px;
    top: 20px;
    width: 30px;
    height: 30px;
    margin-left: 0;
    background: url(../images/icon-close2.png);
}
/*我的/账号密码（弹窗）*/
.account-password {
    position: relative;
    padding: 132px 64px 20px;
    background: #fff;
}
.account-password .title {
    font-size: 24px;
    margin-bottom: 30px;
}
.account-password .inp-box {
    position: relative;
    margin-bottom: 30px;
}
.account-password .inp-box .tit {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    font-size: 18px;
    line-height: 52px;
    color: #999999;
    width: 104px;
    text-align: center;
    pointer-events: none;
}
.account-password .inp-box input {
    display: block;
    width: 100%;
    height: 52px;
    border: 0;
    background: #ececec;
    padding: 0 30px 0 104px;
    border-radius: 10px;
    font-size: 18px;
}
/* 密码显示/隐藏切换按钮 */
.account-password .toggle-password {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(../images/icon-eye-close.png) no-repeat center;
}
.account-password .toggle-password.show{
    background-image: url(../images/icon-eye-open.png);
}
.account-password-pop {
    background: #fff !important;
}
.account-password-pop .layui-layer-btn {
    padding: 0 64px 64px;
}
.account-password-pop .layui-layer-btn0 {
    display: block;
    font-size: 20px;
    color: #ffffff;
    width: 100%;
    line-height: 52px;
    text-align: center;
    background: #666666;
    border-radius: 8px;
}
.account-password-pop .layui-layer-btn0:hover{
    background-color: #000000;
}
/*我的/账号密码 确认（弹窗）*/
.pop-confirm {
    text-align: center;
    background: #fff;
    padding: 71px 0 0 0;
}
.pop-confirm .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    background: #ececec;
    margin: 0 auto 20px;
    border-radius: 50%;
}
.pop-confirm .tit {
    font-size: 20px;
    word-break: break-all;
    padding: 0 20px;
    line-height: 1.4;
}
.pop-confirm .desc {
    color: #999999;
    margin-bottom: 20px;
    padding: 0 20px;
    line-height: 1.6;
    word-break: break-all;
}
.pop-confirm .btns {
    display: flex;
    justify-content: center;
}
.pop-confirm .btns a {
    font-size: 16px;
    color: #666666;
    width: 180px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 8px;
    background: #ececec;
    margin: 0 6px;
}
.account-password-confirm-pop {
    background: #fff !important;
}
.account-password-confirm-pop .layui-layer-btn {
    display: flex;
    padding: 0 64px 64px;
}
.account-password-confirm-pop .layui-layer-btn a {
    width: 180px;
    display: block;
    font-size: 16px;
    color: #666666;
    line-height: 40px;
    text-align: center;
    background: #ececec;
    border-radius: 8px;
    margin: 0 6px;
}
.account-password-confirm-pop .layui-layer-btn a:hover{
    background: #000000;
    color: #fff;
}
/*我的/浏览邀请（弹窗）*/
.browse-invitations {
    padding: 40px;
    overflow: hidden;
}
.browse-invitations .browse-invitations-l {
    float: left;
    width: 492px;
    margin-right: 40px;
    border-radius: 10px;
    background: #ffffff;
}
.browse-invitations .browse-invitations-l .title-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    padding: 0 20px 0 30px;
    border-bottom: 2px solid #ececec;
}
.browse-invitations .browse-invitations-l .title-box .title {
    font-size: 18px;
    color: #999999;
}
.browse-invitations .browse-invitations-l .page-list {
    padding: 15px;
}
.browse-invitations .browse-invitations-l .browse-list {
    height: 310px;
    overflow-y: auto;
}
.browse-invitations .browse-invitations-l .browse-list li {
    font-size: 16px;
    padding: 0 30px;
    line-height: 44px;
    background: #fafafa;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    border-radius: 10px;
}
.browse-invitations .browse-invitations-l .browse-list li.level2 {
    padding-left: 60px;
}
.browse-invitations .browse-invitations-l .browse-list li.level3 {
    padding-left: 90px;
}
.browse-invitations .browse-invitations-l .browse-list li:hover {
    color: #7651fa;
}
.browse-invitations .browse-invitations-l .browse-list li.selected {
    background-color: #EFEEFF;
    color: #7651fa;
}
.browse-invitations .browse-invitations-r {
    overflow: hidden;
}
.browse-invitations .browse-invitations-r .avatar {
    width: 148px;
    height: 148px;
    background: #fff url(../images/icon-emial.png) no-repeat center;
    border-radius: 50%;
    margin: 0 auto 37px;
    pointer-events: none;
}
.browse-invitations .browse-invitations-r .avatar .upload-placeholder {
    position: static;
    min-height: 100%;
}
.browse-invitations .browse-invitations-r .invitations-list li {
    position: relative;
    display: flex;
    font-size: 18px;
    margin-bottom: 30px;
}
.browse-invitations .browse-invitations-r .invitations-list li .tit {
    position: absolute;
    top: 0;
    left: 30px;
    color: #999999;
    line-height: 52px;
}
.browse-invitations .browse-invitations-r .invitations-list li input {
    display: block;
    font-size: 18px;
    width: 100%;
    height: 52px;
    border-radius: 10px;
    background: #ffffff;
    padding: 0 10px 0 135px;
    border: 0;
}
.browse-invitations .browse-invitations-r .btn-send-copy {
    display: block;
    font-size: 18px;
    color: #ffffff;
    width: 100%;
    line-height: 52px;
    background-color: #666666;
    border-radius: 8px;
    text-align: center;
}
.browse-invitations .browse-invitations-r .btn-send-copy:hover{
    background-color: #000000;
}
.browse-invitations-pop .layui-layer-title {
    font-size: 20px;
    padding: 0 40px;
    line-height: 72px;
    background: #ffffff;
}
.browse-invitations-pop .layui-layer-setwin .layui-layer-close {
    position: absolute;
    right: 20px;
    top: 6px;
    width: 30px;
    height: 30px;
    margin-left: 0;
    background: url(../images/icon-close2.png);
}
#website-settings {
    position: relative;
    padding: 40px 30px 40px 212px;
}
#website-settings .website-settings-l {
    position: absolute;
    top: 40px;
    left: 30px;
    width: 152px;
}
#website-settings .website-settings-l li a {
    display: block;
    font-size: 18px;
    line-height: 52px;
    text-align: center;
    border-radius: 10px;
}
#website-settings .website-settings-l li a:hover{
    color: #7f78ff;
}
#website-settings .website-settings-l li.on a {
    box-shadow: 0 0 22px rgba(0, 0, 0, 0.03);
    background-color: #fafafa;
    color: #7f78ff;
}
#website-settings .website-settings-r {
    overflow: hidden;
    position: relative;
    padding: 90px 0 0;
}
#website-settings .website-settings-r .title-save {
    position: absolute;left: 0;top: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
    padding: 0 40px;
    border-radius: 14px;
    background: #ffffff;
    margin-bottom: 20px;
    overflow: hidden;
}
#website-settings .website-settings-r .title-save .title {
    font-size: 20px;
}
#website-settings .website-settings-r .title-save .btn-save {
    width: 68px;
    height: 30px;
    line-height: 28px;
    border-radius: 15px;
    border: 1px solid #7f78ff;
    text-align: center;
    color: #7f78ff;
    background: #f7f6fb;
}
#website-settings .website-settings-r .content-box {
    padding: 40px 20px 40px;
    background: #fafafa;
    border-radius: 14px;
}
.web-box{
    border-radius: 14px;
    overflow: hidden;
}
.scroll-y-box{
    overflow-y: auto;
    height: 680px;
    max-height: 680px;
}
#website-settings .website-settings-r .content-box1{
    padding-bottom: 0;
}
#website-settings .website-settings-r .content-box .content-item {
    float: left;
    width: 50%;
}
#website-settings .website-settings-r .content-box .content-item:last-child {
    width: 100%;
}
#website-settings .website-settings-r .content-box .content-item .content-inner {
    margin: 0 20px 40px;
}
#website-settings .website-settings-r .content-box .content-item .content-inner .content-title {
    font-size: 16px;
    width: 120px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    color: #7f78ff;
    background: #e9eaff;
    border-radius: 8px;
    margin-bottom: 20px;
}
#website-settings .website-settings-r .content-box .content-item .content-inner .content-title2{
    font-size: 18px;
    color: #7f78ff;
    padding: 0 30px;
    line-height: 52px;
    background: #EFEEFF;
    border-radius: 10px;
    margin-bottom: 10px;
    position: relative;
}
.content-title2::after{
    content: '';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    width: 15px;
    height: 22px;
    background:  url(../images/arrow-left.svg) no-repeat center;
    cursor: pointer;
}
.content-title2.expanded::after{
    transform: translateY(-50%) rotate(90deg);
    cursor: pointer;
}
.content-title3{
    position: relative;
    font-size: 18px;
    color: #7f78ff;
    line-height: 52px;
}
.content-title3::after{
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    width: 15px;
    height: 22px;
    background:  url(../images/arrow-left.svg) no-repeat center;
    cursor: pointer;
}
.content-title3.expanded::after{
    transform: translateY(-50%) rotate(90deg);
}

#website-settings .website-settings-r .content-box .content-item .content-inner .upload-image-section {
    box-shadow: 0 0 22px rgba(0, 0, 0, 0.03);
}



#website-settings
    .website-settings-r
    .content-box
    .content-item
    .content-inner
    .upload-image-section
    .upload-placeholder {
    min-height: 186px;
}
#website-settings
    .website-settings-r
    .content-box
    .content-item
    .content-inner
    .upload-image-section
    .upload-placeholder
    .file-preview {
    width: 160px;
    height: 160px;
    min-height: auto;
}
#website-settings
    .website-settings-r
    .content-box
    .content-item
    .content-inner
    .upload-image-section
    .upload-placeholder
    .file-preview
    img {
    max-height: 100%;
}
#website-settings
    .website-settings-r
    .content-box
    .content-item
    .content-inner
    .upload-image-section
    .upload-placeholder
    .upload-option {
    display: none;
}
#website-settings
    .website-settings-r
    .content-box
    .content-item
    .content-inner
    .upload-image-section
    .upload-placeholder
    .upload-btn {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
}
.ul-input li {
    position: relative;
    box-shadow: 0 0 22px rgba(0, 0, 0, 0.03);
    margin-bottom: 16px;
    border-radius: 10px;
    overflow: hidden;
}
.ul-input li .tit {
    position: absolute;
    top: 0;
    left: 30px;
    line-height: 52px;
    font-size: 18px;
    color: #999999;
}
.ul-input li input {
    display: block;
    font-size: 18px;
    width: 100%;
    height: 52px;
    padding: 0 20px 0 140px;
    border: 0;
}
.nav-setting {
    margin: 0 -10px;
}
.nav-setting li {
    float: left;
    width: 50%;
}
.nav-setting li .inner {
    padding: 0 20px;
    margin: 0 10px 20px;
    box-shadow: 0 0 22px rgba(0, 0, 0, 0.03);
    border-radius: 10px;
    background: #fff;
}
/* 表格统一列宽样式 */
.layui-table-view .display-disabled td {
    color: #cccccc;
}
.layui-table-view .level1 .layui-table-cell {
    padding-left: 30px;
}
.layui-table-view .level2 .layui-table-cell {
    padding-left: 60px;
}
.layui-table-view .level3 .layui-table-cell {
    padding-left: 90px;
}
.layui-table-view .icon {
    display: block;
    width: 30px;
    height: 30px;
    -webkit-background-size: 30px auto;
    background-size: 30px auto;
    cursor: pointer;
}
.layui-table-view .icon.i-tag {
    background-image: url(../images/icon-tag.png);
}
.layui-table-view .icon.i-edit {
    background-image: url(../images/icon-edit2.png);
}
.layui-table-view .icon.i-add {
    background-image: url(../images/icon-add2.png);
}
.layui-table-view .icon.i-delete {
    background-image: url(../images/icon-del2.png);
}
.tag-input-area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.tag-input {
    flex: 1;
    border: none;
    height: 38px;
    background-color: #f5f5f5;
    padding: 0 30px;
}
.clear-all-tags {
    font-size: 18px;
    color: #999999;
    cursor: pointer;
    margin-left: 17px;
    padding-right: 24px;
    background: url(../images/icon-del3.png) no-repeat right center;
}
.tag-content {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 20px;
}
.tag-list {
    overflow: hidden;
    margin: 0 -8px;
    max-height: 208px;
    overflow-y: auto;
}
.tag-list .item {
    float: left;
    width: 33.33%;
}
.tag-list .item.active .inner {
    background: #000;
    color: #fff;
}
.tag-list .item .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    background: #ececec;
    height: 42px;
    line-height: 42px;
    padding: 0 16px;
    border-radius: 8px;
    margin: 0 8px 10px;
    cursor: pointer;
}
.tag-list .item .inner .tag-delete {
    width: 20px;
    height: 20px;
    background: url(../images/icon-close4.png) no-repeat right center;
    cursor: pointer;
}
.tag-list .item.active .inner .tag-delete {
    background-image: url(../images/icon-close4-on.png);
}
.tag-delete {
    margin-left: 5px;
    font-style: normal;
    font-size: 16px;
    cursor: pointer;
}
#return-edit-btn {
    display: none;
    position: absolute;
    top: 0;
    right: -110px;
    z-index: 1001;
    line-height: 80px;
    width: 100px;
    text-align: center;
    text-align: center;
    color: #ffffff;
    font-size: 18px;
    background: #7651fa;
    cursor: pointer;
}
.new-add {
    display: block;
    font-size: 16px;
    line-height: 60px;
    text-align: right;
    background: #fff
}
.new-add-btn {
    display: inline-block;
    line-height: 60px;
    width: 170px;
    padding-right: 70px;
    background: #fff url(../images/icon-add2.png) no-repeat right 32px center;
}
.related-page-pop .layui-layer-title {
    font-size: 20px;
    line-height: 74px;
    padding: 0 40px;
    background: #ffffff;
    color: #000;
}
.related-page-pop .layui-layer-btn0 {
    position: absolute;
    top: 22px;
    right: 40px;
    width: 68px;
    height: 30px;
    line-height: 30px;
    background-color: #cccccc;
    text-align: center;
    border-radius: 15px;
}
#related-page {
    padding: 10px;
}
#related-page .browse-invitations-l {
    float: none;
    width: auto;
    margin-right: 0;
    margin-bottom: 20px;
}
/* 卡片列表相关样式补充*/
.card-list-container .add-card-btn {
    display: block;
    width: 100%;
    max-width: 200px;
    height: 40px;
    margin: 20px auto;
    background-color: #fff;
    color: #409eff;
    border: 1px dashed #409eff;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s;
}
.card-list-container .add-card-btn:hover {
    background-color: #ecf5ff;
}
.card-list-container .card-list .card-item .card-inner .card-image .btn-delete {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    cursor: pointer;
    display: none;
}
.card-list-container .card-list .card-item:hover .card-inner .card-image .btn-delete {
    display: block;
}
/* 卡片编辑对话框样式*/
.card-edit-dialog {
    padding: 0;
    background: #fff;
    border-radius: 6px;
}
.card-edit-dialog .dialog-header {
    background: #409eff;
    color: #fff;
    padding: 15px 20px;
    border-radius: 6px 6px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.card-edit-dialog .dialog-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: normal;
}
.card-edit-dialog .dialog-header .close-btn {
    background: none;
    border: none;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
}
.card-edit-dialog .dialog-content {
    padding: 20px;
}
.card-edit-dialog .dialog-content .form-group {
    margin-bottom: 15px;
}
.card-edit-dialog .dialog-content .form-group label {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    color: #333;
}
.card-edit-dialog .dialog-content .form-group input,
.card-edit-dialog .dialog-content .form-group textarea {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}
.card-edit-dialog .dialog-content .form-group textarea {
    min-height: 80px;
    resize: vertical;
}
.card-edit-dialog .dialog-footer {
    padding: 10px 20px 20px;
    display: flex;
    justify-content: flex-end;
}
.card-edit-dialog .dialog-footer button {
    padding: 8px 15px;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    margin-left: 10px;
}
.card-edit-dialog .dialog-footer .cancel-btn {
    background: #f4f4f5;
    border: 1px solid #dcdfe6;
    color: #606266;
}
.card-edit-dialog .dialog-footer .save-btn {
    background: #409eff;
    border: 1px solid #409eff;
    color: #fff;
}
/* 文件上传相关样式补充*/
.card-image-upload {
    width: 100%;
    min-height: 100px;
    border: 1px dashed #ddd;
    border-radius: 4px;
}
.card-image-upload .upload-placeholder {
    padding: 20px;
    text-align: center;
}
.card-image-upload .upload-icon {
    font-size: 24px;
    color: #c0c4cc;
    margin-bottom: 10px;
}
.card-image-upload .upload-text {
    color: #606266;
    font-size: 14px;
    margin-bottom: 10px;
}
.card-image-upload .upload-btn {
    display: inline-block;
    padding: 8px 15px;
    background: #409eff;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}
.card-image-upload .file-preview {
    position: relative;
}
.card-image-upload .file-preview img {
    max-width: 100%;
    max-height: 200px;
    display: block;
    margin: 0 auto;
}
.card-image-upload .file-preview .remove-file {
    position: absolute;
    right: 5px;
    top: 5px;
    width: 20px;
    height: 20px;
    line-height: 18px;
    text-align: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    cursor: pointer;
}
/*瀑布流列表 样式*/
.waterfall-list-container .card-list .card-item {
    break-inside: avoid; /* 防止项目内容被分割到不同列 */
    width: 100%; /* 确保充满列宽 */
}
.waterfall-list-container .card-list .card-item .card-inner {
    position: relative;
    width: 100%; /* 确保内容充满容器 */
    min-width: 0; /* 移除最小宽度限制 */
    overflow: hidden;
}
.waterfall-list-container .card-list .card-item .card-inner .card-image {
    padding-top: 0%;
    background-color: #ECECEC;
    overflow: hidden;
}
.waterfall-list-container .card-list .card-item .card-inner .card-image .edit-del {
    bottom: 50%;
    transform: translate(-50%, 50%);
}
.waterfall-list-container .card-list .card-item .card-inner .card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    padding: 30px;
    transition: all 1s;
    text-align: left;
}
.waterfall-list-container .card-list .card-item .card-inner .card-content p {
    -webkit-line-clamp: 1;
}



.waterfall-list-container .add-card-btn {
    display: block;
    width: 100%;
    max-width: 200px;
    height: 40px;
    margin: 20px auto;
    background-color: #fff;
    color: #409eff;
    border: 1px dashed #409eff;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s;
    line-height: 40px;
    text-align: center;
}
.waterfall-list-container .add-card-btn:hover {
    background-color: #ecf5ff;
}


.waterfall-list-container .title-box {
    font-weight: bold;
    padding: 20px 30px;
    text-align: center;
    font-size: 36px;
}
.waterfall-list-container .card-list .card-item .card-inner .card-image img,
.waterfall-list-container .card-list .card-item .card-inner .card-image video {
    display: block;
    width: 100%;
    position: relative; /* 改为相对定位 */
    height: auto; /* 高度自适应 */
}

.waterfall-list-container .card-list .card-item .card-inner.diy-interaction-mask:hover .card-content{
    bottom: auto;
    top: 0;
}
.waterfall-list-container .card-list .card-item .card-inner.diy-interaction-mask:hover .card-content h3{
    -webkit-line-clamp: inherit;
}
.waterfall-list-container .card-list .card-item .card-inner.diy-interaction-mask:hover .card-content p{
    -webkit-line-clamp: inherit;
    height: auto;
}

/* 轮播推荐模块样式*/
.swiper-recommend {
    position: relative;
    overflow: hidden;
}
.swiper-recommend .card-image {
    position: relative;
    padding-top: 75%;
    overflow: hidden;
    margin-bottom: 20px;
}
.swiper-recommend .card-image img,
.swiper-recommend .card-image video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.swiper-recommend .card-content {
    text-align: left;
}
.swiper-recommend .card-content h3 {
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 10px;
}
.swiper-recommend .card-content h3:empty{
    margin-bottom: 0;
}
.swiper-recommend .card-content p {
    margin: 0;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.swiper-recommend .btn-edit{
    top: auto;
    bottom: 40px;
}
/* avatar logo上传样式*/
.logo-upload-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 10px;
    overflow: hidden;
}
.logo-upload-container .upload-placeholder:hover {
    background-color: #eceaf4;
}
.logo-upload-container .upload-icon {
    display: none;
}
.logo-upload-container .upload-text {
    display: none;
}
.logo-upload-container .upload-text p {
    display: none;
}
.logo-upload-container .upload-option {
    display: none;
}
.logo-upload-container .upload-btn {
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.logo-upload-container .file-preview {
    width: 100%;
    height: 100%;
    position: relative;
}
.logo-upload-container .file-preview img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background-color: #fff;
}
.logo-upload-container .file-preview .remove-file {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 20px;
    height: 20px;
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 18px;
    cursor: pointer;
    font-size: 16px;
}
.layout-upload .upload-placeholder {
    min-height: auto;
}
.layout-upload .upload-placeholder .file-preview {
    min-height: auto;
}
.layout-upload .upload-option {
    display: none;
}

/* 为固定状态的edit-top添加样式 */
.header-box {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10000;
    width: 100%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* 添加占位元素样式，防止内容跳动 */
.edit-top-placeholder {
    display: none;
    width: 100%;
}

.edit-top-placeholder.active {
    display: block;
}



/* 最佳尺寸提示样式 */
.best-size-tip {
    color: #f56c6c;
    font-size: 12px;
    margin-top: 5px;
}

/* 文件上传进度条样式 */
.upload-progress-container {
    display: none;
    margin-top: 10px;
    width: 100%;
    height: 20px;
    background-color: #f5f5f5;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
}

.upload-progress-bar {
    height: 100%;
    background-color: #4caf50;
    width: 0;
    transition: width 0.3s ease;
}

.upload-progress-text {
    margin-top: 5px;
    font-size: 12px;
    color: #666;
    text-align: center;
}

.upload-success-message {
    display: none;
    margin-top: 10px;
    padding: 6px 10px;
    background-color: #dff0d8;
    color: #3c763d;
    border-radius: 4px;
    text-align: center;
    font-size: 14px;
}

.upload-error-message {
    margin-top: 10px;
    padding: 6px 10px;
    background-color: #f2dede;
    color: #a94442;
    border-radius: 4px;
    text-align: center;
    font-size: 14px;
}

.file-preview {
    position: relative;
    text-align: center;
}

/* 确保上传按钮样式美观 */
.upload-btn {
    background-color: #4caf50;
    color: white;
    border: none;
    padding: 8px 16px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 14px;
    margin: 10px 0;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s;
}

.upload-btn:hover {
    background-color: #45a049;
}

/* 页面编辑操作弹窗样式 */

.page-edit-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    background: linear-gradient(135deg, #7f78ff 0%, #6c63ff 100%);
    color: white;
}

.page-edit-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.page-edit-header .close-btn {
    background: none;
    border: none;
    color: white;
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.2s;
}

.page-edit-header .close-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.page-edit-content {
    padding: 25px;
}

.page-edit-info {
    margin-bottom: 20px;
}

.page-edit-info p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.page-edit-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.page-action-btn {
    display: flex;
    align-items: flex-start;
    padding: 16px 20px;
    border: 2px solid #e8e8e8;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.page-action-btn:hover:not(:disabled) {
    border-color: #7f78ff;
    background: #f8f7ff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(127, 120, 255, 0.15);
}

.page-action-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: #f9f9f9;
}

.page-action-btn i {
    width: 24px;
    height: 24px;
    margin-right: 15px;
    margin-top: 2px;
    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.page-action-btn .icon-copy {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%237f78ff"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>');
}

.page-action-btn .icon-paste {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23666"><path d="M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z"/></svg>');
}

.page-action-btn:not(:disabled) .icon-paste {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%237f78ff"><path d="M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z"/></svg>');
}

.page-action-btn .icon-edit-page {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%237f78ff"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"/></svg>');
}

.page-action-btn .content {
    flex: 1;
}

.page-action-btn span {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 4px;
}

.page-action-btn small {
    display: block;
    font-size: 13px;
    color: #888;
    line-height: 1.4;
}

.page-action-btn:hover:not(:disabled) span {
    color: #7f78ff;
}

/* 成功状态样式 */
.page-action-btn.success {
    border-color: #52c41a;
    background: #f6ffed;
}

.page-action-btn.success .icon-copy {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2352c41a"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg>');
}

/* 表格拖拽排序样式 */
.table-dragging {
    opacity: 0.5 !important;
    background: #f0f8ff !important;
}

.table-drag-helper {
    background: #ffffff !important;
    border: 2px solid #1E9FFF !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important;
    z-index: 9999 !important;
}

.ui-state-highlight {
    height: 50px !important;
    background: #e6f3ff !important;
    border: 2px dashed #1E9FFF !important;
    margin: 2px 0 !important;
}

/* 表格行拖拽提示样式 */
.layui-table-body tr {
    transition: all 0.2s ease;
}

.layui-table-body tr:hover {
    background-color: #aaafee !important;
}

.layui-table-body tr[title*="拖拽"] {
    cursor: move !important;
}

#levelSelect {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    background: #fff;
    outline: none;
}

#levelSelect:focus {
    border-color: #1E9FFF;
    box-shadow: 0 0 5px rgba(30, 159, 255, 0.3);
}
.imagetext-editor{
    padding: 44px 0 0;
}
.imagetext-module .module-content,
.custom-module .module-content{
    overflow: hidden;
    background-color: #fff;
}
.imagetext-content,
.editor-container{
    text-align: left;
}
.imagetext-content{
    word-break: break-word;
}
.imagetext-content img{
    display: inline-block;
}
.editor-container{
    height: 500px;
}
.toolbar-container{
    border-bottom: 1px solid #ddd;
}
.btn-edit-content{
    display: block;
    width: 150px;
    padding: 0 5px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    background: #29c8d4;
    color: #ffffff;
    font-size: 16px;
    border: 0;
    margin: 0 auto;
    cursor: pointer;
}


.edit-del{
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}
.btn-del{
    width: 36px;
    height: 36px;
    background: #666666 url(../images/icon-del0.png) no-repeat center center;
    background-size: 16px auto;
    border-radius: 4px;
    font-size: 0;
}
.btn-edit {
    width: 36px;
    height: 36px;
    background: #666666 url(../images/edit.svg) no-repeat center center;
    z-index: 3;
    border-radius: 4px;
    font-size: 0;
}

/* 切换过程中的样式 */
.hot-image-container .switching-items {
    pointer-events: none; /* 切换过程中禁用鼠标事件 */
}


/* 防止在切换过程中出现闪烁 */
/* 通过类名+属性选择器精准定位 */
.w-e-menu-tooltip-v5[data-menu-key="codeBlock"] {
  display: none !important; /* 强制覆盖内联样式 */
}
.w-e-menu-tooltip-v5[data-menu-key="fullScreen"] {
  display: none !important; /* 强制覆盖内联样式 */
}
.layout-hidden{
    padding: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    margin: 0 !important;
}
.layout-hidden .layout-bg-video{
    display: none !important;
}
.layout-hidden .layout-row{
    height: 0;
    overflow: hidden;
    padding: 22px;
    opacity: 0;
    pointer-events: none;
}
.mobile-preview-mode.layout-hidden .layout-row,
.layout-hidden.previewing .layout-row{
    padding: 0;
}
.hidden-module.editing {
   padding: 22px;
   opacity: 0.6;
}
.hidden-module .component-big-title,
.hidden-module .module-content{
    display: none !important;
}

/* 🆕 交互样式定义 */
/* 弹起效果 */
.diy-interaction-bounce {
    transition: transform .3s ease-in-out;
    position: relative;
}

.diy-interaction-bounce:hover {
    transform: translateY(-20px);
    z-index: 2;
}



/* 描边效果 */
.diy-interaction-border {
    transition: border 0.3s ease;
}

/* 遮罩效果 */
.diy-interaction-mask {
    position: relative;
    overflow: hidden;
}

.diy-interaction-mask::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: transparent;
    transition: background-color 0.3s ease;
    pointer-events: none;
    z-index: 1;
}

/* 阴影效果 */
.diy-interaction-shadow {
    transition: box-shadow 0.3s ease;
    position: relative;
}

/* 交互样式通用规则 */
.module-container .hot-image-item,
.module-container .swiper-slide .card-image,
.module-container .card-item .card-inner {
    transition: all 0.3s ease;
}



/* 组件大标题样式 */
.component-big-title {
    position: relative;
    z-index: 1;
}

.component-big-title .big-title-content {
    line-height: 1.5;
}


.component-big-title .big-title-content:empty::before {
    content: "点击编辑大标题按钮来添加内容";
    color: #999;
    font-style: italic;
    font-size: 14px;
}

.component-big-title .btn-edit-big-title {
    display: inline-block;
    padding: 6px 12px;
    background-color: #7651fa;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    transition: all 0.3s;
    margin-top: 5px;
}

.component-big-title .btn-edit-big-title:hover {
    background-color: #5a3fcf;
    transform: translateY(-1px);
}

/* 大标题编辑器弹窗样式 */
.big-title-editor-dialog {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

.big-title-editor-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: #f8f9fa;
    border-bottom: 1px solid #eee;
}

.big-title-editor-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: normal;
    color: #333;
}

.big-title-editor-header .save-btn {
    padding: 8px 16px;
    background-color: #7651fa;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
}

.big-title-editor-header .save-btn:hover {
    background-color: #5a3fcf;
}

.big-title-editor-content {
    padding: 20px;
}

.big-title-editor-content .toolbar-container {
    border: 1px solid #ddd;
    border-bottom: none;
    border-radius: 4px 4px 0 0;
}

.big-title-editor-content .editor-container {
    border: 1px solid #ddd;
    border-radius: 0 0 4px 4px;
    min-height: 200px;
}

.big-title-editor-content .editor-container {
    min-height: 300px;
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 5px;
}

/* 预览选项样式 */
.preview-options {
    display: flex;
    gap: 15px;
}

#export-json-content{
    display: block;
    height: 400px;
    width: 100%;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 10px;
    resize: vertical;
}


 /* 级别符号样式 */
 .level-symbol {
    font-family: sans-serif;
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 50%;
    color: white;
    font-size: 12px;
    margin-right: 8px;
    vertical-align: middle;
}

td .level-symbol {
    background-color: #5FB878; /* 一级默认 */
}

td.level2 .level-symbol {
    background-color: #1E9FFF; /* 二级 - 蓝色 */
}

td.level3 .level-symbol {
    background-color: #FF5722; /* 三级 - 橙色 */
}

.editable-name {
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 3px;
    transition: background-color 0.2s;
    display: inline-block;
    vertical-align: middle;
}

.editable-name:hover {
    background-color: #f0f0f0;
}

.temp-edit-input {
    outline: none !important;
    box-shadow: 0 0 3px rgba(0,123,255,0.3) !important;
    display: inline-block;
    vertical-align: middle;
}

/* 排序输入框样式 */
.sort-input {
    outline: none;
    transition: border-color 0.2s;
}

.sort-input:focus {
    border-color: #1E9FFF !important;
    box-shadow: 0 0 3px rgba(30,159,255,0.3);
}

/* 名称单元格样式 */
.layui-table td .level-symbol + .editable-name,
.layui-table td .level-symbol + .temp-edit-input {
    vertical-align: middle;
}

/* 名称列容器样式 */
.layui-table td:first-child {
    white-space: nowrap;
}

/* 确保符号和文字在同一行 */
.layui-table td .level-symbol,
.layui-table td .editable-name,
.layui-table td .temp-edit-input {
    display: inline-block;
    vertical-align: middle;
}

/* 编辑状态下的输入框样式调整 */
.temp-edit-input {
    width: auto !important;
    min-width: 100px;
    max-width: calc(100% - 35px);
}

/* 表格行样式 */
.layui-table tbody tr.display-disabled {
    opacity: 0.5;
    background-color: #f5f5f5;
}

.layui-table tbody tr.level1 td:first-child {
    font-weight: bold;
}

.layui-table tbody tr.level2 td:first-child {
    padding-left: 20px;
}

.layui-table tbody tr.level3 td:first-child {
    padding-left: 40px;
}


.custom-slider-container .swiper-slide:hover,
.card-item:hover,
.hot-image-item:hover,
.image-gallery-item:hover,
.recommend-list-container .swiper-slide:hover{
    .btn-zoom-video{
        opacity: 0;
    }
}
.hotimage-module .edit-del .btn-del{
    display: none !important;
}
.w-e-textarea-video-container video{
    display: inline-block;
}
.imagetext-content [data-href] { cursor: pointer; }
.imagetext-content video{
    background: #000;
}

.menuBtn{display:none;width:24px;height:30px;cursor:pointer;position: absolute;top: 13px;left: 110px; z-index:101;transition:.3s;-ms-transition:.3s;-moz-transition:.3s;-webkit-transition:.3s;-o-transition:.3s}
.menuBtn b{display:block;height:3px;background-color:#7f78ff;margin:4px 0;transition:.3s;-ms-transition:.3s;-moz-transition:.3s;-webkit-transition:.3s;-o-transition:.3s}
.menuBtn.open b{display:none;margin:0;position:absolute;left:0;top:50%;margin-top:-5px;width:24px}
.menuBtn.open b:first-child{display:block;transform:rotate(45deg);-webkit-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg)}
.menuBtn.open b:last-child{display:block;transform:rotate(-45deg);-webkit-transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg)}
#save-confirm, #publish-confirm{padding-bottom: 60px;}
.website-settings-pop .layui-table-body {
    height: 570px;
}
.website-settings-pop .layui-table-body::-webkit-scrollbar-track {
    background: #ffffff;
}
.web-box.scroll-y-box{
    height: auto;
    overflow: hidden;
}
.web-box .layui-border-box{
    border-right: 0;
}
.website-settings-pop .layui-layer-content{
    overflow: hidden !important;
}

