@charset 'UTF-8';

/*
 ============================================================
  项目名称 : TPS 文档系统 (TPS Files System / TPS-Dateisystem)
  版本号   : v1.00.003
  作者     : 陈节盛 ChenJiesheng
  创建日期 : 2026-10-17
  更新日期 : 2026-10-17
  描述     : 企业文档下载与分类管理系统（中英德三语、文档预览下载、Cookie 政策、数据库备份等）
  许可证   : MIT License (仅TPSSH内部使用, 外部使用请单独联系: chen_jiesheng@tps-elektronik.cn)
  使用方式 : 配合 Laravel + Apache 使用，开发访问 http://localhost
 ============================================================
*/

/*去除常见标签默认的margin 和 padding */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
input {
  margin: 0;
  padding: 0;
}
/* 设置网页统一的字体大小,行高,字体系列相关属性 */
body {
  font: 14px/1.5 "Helvetica Neue", "Helvetica", "Arial", "Microsoft Yahei", "Hiragino Sans GB", "Heiti SC", "WenQuanYi Micro Hei", "sans-serif";
  color: #333;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* 去除列表默认样式 */
ul,
ol {
  list-style: none;
}
/* 去除默认的倾斜效果 */
em,
i {
  font-style: normal;
}
/* 去除a标签默认下划线,并设置默认文字颜色 */
a {
  text-decoration: none;
  color: #333;
}
/* 设置img 的垂直对方式为居中对齐,去除img默认下间隙 */
img {
  vertical-align: middle;
}
/* 去除input默认样式 */
input {
  border: none;
  outline: none;
  color: #333;
}
/* 左浮动 */
.fl {
  float: left;
}
/* 右浮动 */
.fr {
  float: right;
}
/* 双伪元素清除法 */
.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}
.clearfix::after {
  clear: both;
}
/* 样式部分，你可以根据需要自定义 */
.cookie-modal {
  display: none;
  /* 初始隐藏 */
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
}
.cookie-modal-content {
  background-color: #fefefe;
  margin: 15% auto;
  padding: 36px;
  border: 1px solid #888;
  width: 62%;
  border-radius: 8px;
}
.cookie-modal-content button a {
  color: #000;
  text-decoration: none;
}
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
/*公共样式*/
@font-face {
  font-family: 'icomoon';
  src: url('../public/icomoon/fonts/icomoon.eot');
  src: url('../public/icomoon/fonts/icomoon.eot') format('embedded-opentype'), url('../public/icomoon/fonts/icomoon.ttf') format('truetype'), url('../public/icomoon/fonts/icomoon.woff') format('woff'), url('../public/icomoon/fonts/icomoon.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}
/*版心*/
.w {
  width: 1260px;
  margin: 0 auto;
}
/* 1. 超小屏幕下  大于等于 576  布局容器的宽度为 100% */
@media screen and (max-width: 576px) {
  .w {
    width: 100%;
    margin: 0 auto;
  }
}
/* 1. 超小屏幕下  大于等于 576  布局容器的宽度为 540px */
@media screen and (min-width: 576px) {
  .w {
    width: 540px;
    margin: 0 auto;
  }
}
/* 1. 超小屏幕下  大于等于 768  布局容器的宽度为 720px */
@media screen and (min-width: 768px) {
  .w {
    width: 720px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 992px) {
  .w {
    width: 960px;
    margin: 0 auto;
  }
}
/* 3. 中等屏幕下 大于等于 1200px   布局容器修改为 1140px */
@media screen and (min-width: 1200px) {
  .w {
    width: 1140px;
    margin: 0 auto;
  }
}
/* 4. 大屏幕下 大于等于1400布局容器修改为 1320 */
@media screen and (min-width: 1400px) {
  .w {
    width: 1320px;
    margin: 0 auto;
  }
}
/*HomePage-Top顶部*/
.HomePage-Top {
  height: 36px;
  background-color: #323131;
}
.HomePage-Top .w {
  display: flex;
  justify-content: space-between;
  line-height: 36px;
}
.HomePage-Top .w .topLeft a,
.HomePage-Top .w .topRight a {
  color: white;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.6px;
}
.HomePage-Top .w .topLeft a {
  margin-right: 20px;
}
.HomePage-Top .w .topRight a {
  margin-left: 12px;
}
.HomePage-Top .w .topLeft a span {
  vertical-align: bottom;
}
.HomePage-Nav {
  display: flex;
  justify-content: space-between;
  height: 82px;
}
.HomePage-Nav .navLogo h1 {
  display: inline-block;
  width: 175px;
  height: 45px;
  background-repeat: no-repeat;
  background-size: 175px 43px;
  font-size: 0;
  color: #323131;
  text-decoration: none;
  vertical-align: sub;
}
.HomePage-Nav .navLogo h1 a {
  display: block;
  width: 100%;
  height: 100%;
}
.HomePage-Nav .navRight ul {
  display: flex;
  justify-content: flex-end;
}
.HomePage-Nav .navRight ul li a {
  margin-left: 66px;
  line-height: 90px;
  font-weight: 800;
  color: #57585b;
}
.h {
  width: 100%;
  height: 888px;
  background-color: pink;
}
.HomePage-Footer {
  height: 333px;
  width: 100%;
  background-color: #f2f2f2;
}
.HomePage-Footer .w {
  display: flex;
  justify-content: space-between;
}
.HomePage-Footer .w ul {
  margin-top: 26px;
}
.HomePage-Footer .w ul li {
  padding: 8px 0;
}
.HomePage-Footer .w ul li:first-child {
  padding-bottom: 22px;
}
.HomePage-Footer .w ul li:first-child a {
  padding-bottom: 12px;
  border-bottom: 3px solid #083e7f;
  font-weight: 700;
  font-size: 16px;
}
.HomePage-Footer .w ul li a {
  color: #595757;
  letter-spacing: 0.5px;
}
.HomePage-Footer .w ul:nth-child(1) li:nth-child(3),
.HomePage-Footer .w ul:nth-child(1) li:nth-child(5),
.HomePage-Footer .w ul:nth-child(1) li:nth-child(7) {
  line-height: 0;
  padding-bottom: 20px;
}
.HomePage-Footer_Buttom {
  width: 100%;
  background: #e6e6e6;
  /* 原为固定40px单行, 长文案/多语言会被裁切; 改自适应高度允许换行 */
  min-height: 40px;
  text-align: center;
  font-size: 12px;
  line-height: 2;
  padding: 14px 10px;
  clear: both;
  box-sizing: border-box;
}
.HomePage-Footer_Buttom .w a {
  display: inline-block;
  text-decoration: none;
  color: #595757;
  letter-spacing: 0.5px;
  font-family: Microsoft YaHei, Arial, Helvetica, sans-serif;
  vertical-align: middle;
  margin: 2px 0;
}
/* 备案图标: 原为容器宽8%(过大撑高行) + 内联 float:left 导致垂直不齐, 改14px小图标并垂直居中 */
.HomePage-Footer_Buttom .w img {
  width: auto;
  height: 14px;
  vertical-align: middle;
  margin-right: 4px;
  float: none;
}
/* 返回顶部 */
/* <!-- 第2步之返回顶部，CSS样式 --> */
#TPS_top {
  display: block;
  width: 60px;
  height: 60px;
  position: fixed;
  bottom: 50px;
  right: 40px;
  border-radius: 10px;
  text-decoration: none;
  display: none;
  background-color: #083e7f;
  border: 1px solid #fff;
}
#TPS_top span {
  display: block;
  width: 60px;
  color: #fff;
  font-size: 40px;
  text-align: center;
  margin-top: 4px;
}
#TPS_top span:hover {
  color: #666;
}
.navLogo {
  display: flex;
  align-items: center;
}
.files-title {
  font-size: 26px;
  color: #083e7f;
  /* font-weight: 600; */
  /* 艺术字体 */
  padding-left: 12px;
}
.w .HomePage-Nav .navRight ul li:nth-child(1) a {
  color: #083e7f;
  border-bottom: 3px solid #083e7f;
  padding-bottom: 3px;
}
body {
  margin: 0;
  padding: 0;
  /* min-height: 2000px; */
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857;
  color: #333;
}
#main {
  background: #e6e6e6;
}
#main .joinde .joinus-icon .layui-breadcrumb-item {
  font-size: 12px;
  color: #999 !important;
}
#main .joinde .joinus-icon .layui-breadcrumb-item:hover {
  color: #083e7f !important;
}
#main .joinde .joinus-icon .a_3 {
  color: #083e7f !important;
}
#main .joinde .joinus-icon .a_3:hover {
  color: #083e7f !important;
  font-weight: 600;
}
/* 网格布局: 列数随容器宽度自动 3/2/1 切换, 间距由 gap 恒定控制;
   替代旧的 nth-child(2/5/8) 加边距方案(容器只够 2 列时换行会错位紧挨) */
.procate-list ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(380px, 100%), 1fr));
  gap: 12px;
}
/* 内层子分类列表(.cate-list-pro-number ul)不吃上面的网格规则,
   恢复原有紧凑横向流式布局, 否则每个子分类之间被撑出大行距, 面板显空 */
.procate-list ul ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0;
}
.procate-list ul .cate-list {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: flex-start;
  padding: 12px;
  /* 宽度由网格轨道决定(随列数自适应), 不再固定 406px;
     固定高度改最小高度: 子分类多的卡片随内容撑高, 避免溢出被下一行卡片盖住 */
  min-height: 366px;
  background-color: #fff;
  border-radius: 6px;
  /* 行距由 ul 的 gap 控制, 不再用 margin-bottom */
}
.procate-list ul .cate-list .cate-list-title {
  padding: 6px 0;
  font-size: 18px;
  color: #083e7f;
  font-weight: 600;
}
.procate-list ul .cate-list .cate-list-title p:nth-child(2) {
  font-size: 14px;
  color: #000;
  font-weight: 400;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  /* 原为固定369px, 卡片收窄时会溢出; 改自适应宽度(省略号仍生效) */
  width: 100%;
}
.procate-list ul .cate-list .cate-list-pro {
  /* 卡片为 flex-column + align-items:flex-start, 此块会被收缩塌陷;
     固定整宽让 number 的 50% 与 li 的 100% 有确定基准, 否则单子分类会被压成省略号 */
  width: 100%;
  /* 卡片 space-between: 无子分类时避免标题被挤到卡片中间; 有内容时此块仍沉底 */
  margin-top: auto;
}
.procate-list ul .cate-list .cate-list-pro .cate-list-pro-number {
  width: 50%;
  flex-wrap: nowrap;
}
.procate-list ul .cate-list .cate-list-pro .cate-list-pro-number li {
  font-size: 12px;
  line-height: 25px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  /* 原为固定188px, 改自适应上限(省略号仍生效) */
  width: 100%;
  max-width: 188px;
}
.procate-list ul .cate-list .cate-list-pro .cate-list-pro-number li span {
  font-size: 12px;
}
.filescate-sou {
  width: 100%;
  min-height: 188px;
  padding-bottom: 14px;
  background-color: #083e7f;
}
.filescate-sou .filescate-sou-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  padding-top: 20px;
}
.filescate-sou .filescate-sou-content h1 {
  padding: 20px 0;
  color: #fff;
}
.filescate-sou .filescate-sou-content .filescate-sou-search {
  position: relative;
  left: 0;
  width: 50%;
  /* 彻底清除 layui 默认对 form / input-block 的 margin/padding/border 干扰 */
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
.filescate-sou .filescate-sou-content .filescate-sou-search .layui-input-block {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  min-height: 0 !important;
  background: transparent !important;
}
.filescate-sou .filescate-sou-content .filescate-sou-search button {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #999;
}
/* 热搜关键词行: 独立于 form, 居中, 标题+热词同行 */
.filescate-sou .filescate-sou-content .hot-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  margin-top: 8px;
}
/* 热门搜索标题: 不换行, 在热词胶囊左边同行 */
.filescate-sou .filescate-sou-content .hot-label {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  margin-right: 6px;
  white-space: nowrap;
  flex-shrink: 0;
}
/* 单个超长热词(超长中英文文件名): 单行省略号截断, 悬浮 title 显示完整名称 */
.filescate-sou .filescate-sou-content .hot-line .hot-keyword {
  display: inline-block;
  max-width: 220px;
  margin: 3px 5px;
  padding: 3px 12px;
  background-color: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  color: #d8e4f6;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  vertical-align: bottom;
  transition: background-color .18s ease, color .18s ease;
}
.filescate-sou .filescate-sou-content .hot-line .hot-keyword:hover {
  background-color: rgba(255, 255, 255, 0.22);
  color: #fff;
}
.layui-timeline-search li {
  display: flex;
  justify-content: space-between;
}
.layui-timeline-search li div {
  display: flex;
}
.layui-text-none p {
  text-align: center;
}

/* ===== 响应式适配: 防整页横向滚动 ===== */
/* 文件表格: 列多/内容长时容器内横向滚动, 而非撑破整页 */
.file-list {
  overflow-x: auto;
}

/* 平板及以下: 搜索表单50%宽太窄, 放宽 */
@media screen and (max-width: 768px) {
  .filescate-sou .filescate-sou-content .filescate-sou-search {
    width: 92%;
  }
}

/* 超小屏: 网格已自动降为单列, 仅调整底部内边距 */
@media screen and (max-width: 576px) {
  .procate-list ul .cate-list {
    padding-bottom: 18px;
  }
}
