/* upload-optimize.css - 上传组件完整样式（PC专用版） */

/* ========== 全局基础样式 ========== */
* {
    box-sizing: border-box;
}

/* ========== 核心上传容器样式 ========== */
/* 外层容器：统一宽度 */
.upload-wrapper {
    width: calc(100% - 0px);
    max-width: 960px;
    margin: 20px 0;
}
/* 内部flex容器：等高布局 */
.upload-container {
    display: flex;
    gap: 20px;
    align-items: stretch;
    position: relative;
    min-height: 200px;
    width: 100%;
}
/* 左侧预览大图上传区域 */
.upload-left {
    flex: 0 0 calc(20% - 4px);
    border: 1px dashed #ccc;
    border-radius: 4px;
    padding: 20px 10px;
    text-align: center;
    display: flex;
    height: 250px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-color: #fff;
    transition: all 0.3s ease;
    z-index: 10;
}
.upload-left:hover {
    border-color: #f5c04a;
    background-color: #fafafa;
}
/* 大图区域图标样式（专用1.png） */
.upload-left-icon {
    margin-bottom: 10px;
    width: 40px;
    height: 40px;
    display: inline-block;
    overflow: hidden;
    /* 预览大图专用图标：1.png */
    background-image: url(../css/1.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    /* 彻底隐藏原有字体/图标 */
    font-size: 0;
    color: transparent;
}
.upload-left-text {
    color: #999;
    font-size: 14px;
}
/* 右侧附件上传区域 */
.upload-right {
    flex: 1;
    border: 1px dashed #ccc;
    border-radius: 4px;
    padding: 20px 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    transition: all 0.3s ease;
}
.upload-right:hover {
    border-color: #f5c04a;
    background-color: #fafafa;
}
/* 附件区域图标样式（专用2.png） */
.upload-right-icon {
    margin-bottom: 1px;
    width: 50px;
    height: 50px;
    display: inline-block;
    overflow: hidden;
    /* 附件专用图标：2.png */
    background-image: url(../css/2.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    /* 彻底隐藏原有字体/图标 */
    font-size: 0;
    color: transparent;
}
.upload-right-desc {
    color: #999;
    font-size: 14px;
    margin-bottom: 20px;
}
/* 原生附件上传控件样式 */
.upload-native {
    margin-top: 10px;
}
.upload-native input {
    width: 300px;
    padding: 6px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-right: 10px;
}

/* ========== 按钮样式 ========== */
.plupload_select_btn {
    background: #0EC5A1;
    color: #fff;
    padding: 8px 20px;
    border-radius: 4px;
    cursor: pointer;
    display: inline-block;
    border: none;
    transition: background 0.3s ease;
}
.plupload_select_btn:hover {
    background: #0bb894;
}
/* 大图上传隐藏按钮（覆盖整个左侧区域） */
#morepic_btn {
    position: absolute;
    width: calc(20% - 4px);
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 1;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
}
/* 修复点击穿透：子元素不遮挡 */
.upload-left * {
    pointer-events: none;
}

/* ========== 大图列表样式（核心：缩小间距） ========== */
.dpis {
    margin-top: 15px;
    width: calc(100% - 0px);
    max-width: 960px;
}
/* 核心调整：大幅缩小图片项间距（比原有更小） */
.plupload_list_item {
    width: 120px !important;
    background: url(./bg.png) no-repeat;
    /* 重点：水平间距从80px→10px，垂直间距5px */
    margin-right: 10px !important; 
    margin-bottom: 5px !important;
    position: relative;
    display: inline;
    float: left;
    overflow: hidden;
    font-size: 12px;
    padding: 0 !important; /* 移除内边距进一步缩小 */
    border: none !important; /* 移除边框节省空间 */
}
/* 图片容器样式 */
.plupload_list_item .imgWrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    margin-bottom: 0;
    position: relative;
    line-height: 180px;
    vertical-align: middle;
    overflow: hidden;
    width: 120px;
    height: 180px;
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webit-transition: 200ms ease-out;
    -moz-transition: 200ms ease-out;
    -o-transition: 200ms ease-out;
    -ms-transition: 200ms ease-out;
    transition: 200ms ease-out;
}
.plupload_list_item img {
    width: 120px;
    height: auto;
    margin-right: 0 !important; /* 移除图片右侧间距 */
}
/* 移动控件间距缩小 */
.plupload_list_item .moveud {
    position: absolute;
    height: 20px;
    line-height: 20px;
    color: #FFF;
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#80000000', endColorstr='#80000000') \0;
    background: rgba(0, 0, 0, .5);
    width: 100%;
    bottom: 0;
    left: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 201;
    margin: 0 !important; /* 彻底移除上下间距 */
}
.plupload_list_item .moveud .moveud_in {
    position: relative;
    padding: 0 15px !important; /* 缩小左右内边距 */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.plupload_list_item .moveud a {
    width: 20px;
    height: 20px;
    color: #FFFFFF;
    font-size: 20px;
    text-align: center;
}
.plupload_list_item .moveud a.moveUpBtn {
    position: absolute;
    top: 0;
    left: 0;
}
.plupload_list_item .moveud a.moveDownBtn {
    position: absolute;
    top: 0;
    right: 0;
}
.plupload_list_item .moveud .moveud_in .filename {
    width: 100%;
    border: 0;
    height: 20px;
    line-height: 20px;
    font-size: 14px;
    background: transparent;
    color: #f60;
    text-align: center;
    vertical-align: top;
    margin: 0 !important; /* 移除输入框间距 */
}

/* ========== plupload核心样式 ========== */
.plupload_wrapper {
    width: 100%;
    overflow: hidden;
    border: 1px dashed #C0C0C0;
    border-radius: 5px;
    color: #838383;
    font-size: 10px;
    margin-top: 10px;
}
.plupload_list {
    overflow: hidden;
    padding: 10px;
}
.plupload_btns {
    height: 35px;
    line-height: 35px;
    margin-bottom: 10px;
    border-top: 0px solid #dadada;
    vertical-align: middle;
    position: relative;
    width: 100%;
    padding: 10px 0;
}
/* 进度条样式 */
.progress {
    height: 15px;
    margin-bottom: 10px;
    margin-top: 10px;
    overflow: hidden;
    background-color: #f5f5f5;
    border-radius: 5px;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    width: 100%;
}
.plupload_list_item .progress {
    position: absolute;
    margin-bottom: 0;
    margin-top: 0;
    bottom: 0;
    height: 20px;
}
.progress-bar {
    float: left;
    width: 100%;
    height: 15px;
    font-size: 10px;
    line-height: 15px;
    color: #fff;
    text-align: center;
    background-color: #00CC99;
    -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    -webkit-transition: width .6s ease;
    transition: width .6s ease;
}
.plupload_list_item .progress .progress-bar {
    background-color: #027AFF;
    line-height: 20px;
}
.progress-striped .progress-bar {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-size: 40px 40px;
}
/* 文件面板/删除按钮样式 */
.plupload_list .file-panel {
    position: absolute;
    height: 26px;
    line-height: 26px;
    color: #FFF;
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#80000000', endColorstr='#80000000') \0;
    background: rgba(0, 0, 0, .5);
    width: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: 250;
}
.plupload_list .file-shan {
    height: 26px;
    line-height: 26px;
    position: absolute;
    color: #fff;
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#80000000', endColorstr='#80000000') url(0);
    background: rgba(0, 0, 0, .5);
    width: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
}
.state-complete .file-shan {
    position: absolute;
    height: 26px;
    line-height: 26px;
    color: #fff;
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#80000000', endColorstr='#80000000') url(0);
    background: transparent;
    width: 100%;
    bottom: 0;
    left: 0;
    overflow: hidden;
}
.plupload_list span.cancel {
    position: absolute;
    top: 0;
    right: 0;
    width: 24px;
    height: 26px;
    display: inline;
    text-indent: -9999px;
    overflow: hidden;
    background: url(./icons.png) no-repeat;
    cursor: pointer;
    z-index: 300;
    background-position: -48px 5px;
}
.plupload_list_item p.error {
    background: #f43838;
    color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 28px;
    line-height: 28px;
    width: 100%;
    z-index: 100;
}
.plupload_list_item .success {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 40px;
    width: 100%;
    z-index: 200;
    background: url(./success.png) no-repeat right bottom;
}

/* ========== 动画/提示样式 ========== */
.tip-animate {
    animation: shake 0.5s ease;
}
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-5px); }
    40%, 80% { transform: translateX(5px); }
}

/* ========== 其他辅助样式 ========== */
.upload-xieyi {
    width: 100%;
    float: left;
    margin-bottom: 20px;
    text-align: center;
}