/* ============================================================
   custom.css — 联球景观照明 定制覆盖层
   作用范围：合作伙伴图片 / 案例导航 / 资质荣誉图片
   加载顺序：在 style.css 之后引入，覆盖同名规则
   ============================================================ */

/* ---- 1) index.html 合作伙伴：partner-logo 内图片适配 ---- */
.partners-grid .partner-logo img{
  max-width:82%;
  max-height:40px;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
}
@media(max-width:768px){
  .partners-grid .partner-logo img{max-height:32px}
}

/* ---- 2) cases.html 案例分类导航：胶囊按钮 ----
   原始 style.css 中 .filter-bar 只有容器样式，内部 button 无任何
   规则（继承浏览器默认灰按钮），表现为"样式有问题"的根因。 */
.filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  align-items:center;
}
.filter-bar button{
  appearance:none;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink,#333);
  font:inherit;
  font-size:.9rem;
  font-weight:600;
  padding:.5rem 1.35rem;
  border-radius:999px;
  cursor:pointer;
  transition:all .2s ease;
}
.filter-bar button:hover{
  border-color:var(--primary);
  color:var(--primary);
  transform:translateY(-1px);
}
.filter-bar button.active{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
  box-shadow:0 4px 12px rgba(230,33,41,.28);
}
@media(max-width:576px){
  .filter-bar button{padding:.4rem 1rem;font-size:.84rem}
}

/* ---- 3) tech.html 资质与荣誉：长方形图片 + 图文卡片 ----
   honor-item 原为纯文字（padding:1.5rem），改为上图下文结构 */
.honor-item{
  padding:0;
  overflow:hidden;
}
.honor-item:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 24px rgba(17,20,27,.08);
}
.honor-img{
  width:100%;
  aspect-ratio:16/10;
  height:auto;
  object-fit:cover;
  display:block;
}
.honor-body{
  padding:1.15rem 1.3rem 1.3rem;
}
@media(max-width:768px){
  .honor-list{grid-template-columns:1fr}
}

/* ---- 4) about.html 企业实力全景：简单排版设计 ----
   原卡片仅 emoji 图标 + 标题 + 文字，层级单调；增强为带序号、
   图标色块、悬浮强调的卡片，提升视觉层次（不改 HTML 结构，
   序号由 CSS 计数器自动生成）。 */
.overview-grid{
  counter-reset:ov;
  gap:1.15rem;
}
.overview-item{
  position:relative;
  counter-increment:ov;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
/* 大号序号水印（01~06） */
.overview-item::before{
  content:counter(ov, decimal-leading-zero);
  position:absolute;
  top:1rem;
  right:1.1rem;
  font-size:1.55rem;
  font-weight:800;
  line-height:1;
  color:rgba(230,33,41,.12);
  font-family:var(--font-head, inherit);
}
/* 顶部强调条，hover 时从左展开 */
.overview-item::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:3px;
  width:0;
  background:var(--primary);
  transition:width .3s ease;
}
.overview-item:hover{
  transform:translateY(-6px);
  border-color:var(--primary);
  box-shadow:0 14px 30px rgba(17,20,27,.10);
}
.overview-item:hover::after{
  width:100%;
}
/* 图标色块：放大并加悬浮微动 */
.overview-item .icon{
  width:58px;
  height:58px;
  font-size:1.6rem;
  border-radius:14px;
  background:rgba(230,33,41,.10);
  transition:transform .25s ease, background .25s ease;
}
.overview-item:hover .icon{
  transform:scale(1.06) rotate(-3deg);
  background:rgba(230,33,41,.16);
}
/* 标题突出：放大 + 品牌红 + 下方短强调线 */
.overview-item h4{
  position:relative;
  padding-bottom:.5rem;
  margin-bottom:.75rem;
  font-size:1.22rem;
  color:var(--primary);
  font-weight:800;
}
.overview-item h4::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:30px;
  height:3px;
  background:var(--primary);
  border-radius:2px;
}
/* 明细：横向标签行（桌面多数成一行，最长卡片自动换行避免溢出） */
.overview-item .detail{
  display:flex;
  flex-wrap:wrap;
  gap:.32rem;
  align-items:center;
}
.overview-item .detail .ov-tag{
  flex:0 0 auto;
  white-space:nowrap;
  padding:.24rem .55rem;
  font-size:.74rem;
  line-height:1.35;
  color:var(--ink);
  background:rgba(230,33,41,.06);
  border:1px solid rgba(230,33,41,.14);
  border-radius:999px;
}
.overview-item .detail .ov-tag b{
  color:var(--primary);
  font-weight:800;
}
@media(max-width:768px){
  .overview-item .detail{flex-wrap:wrap}
  .overview-item h4{font-size:1.12rem}
}

/* ---- 5) 顶部语言切换（替换原「专业选型支持 ｜ 项目定制服务」） ---- */
.topbar .lang-switch{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-weight:600;
}
.topbar .lang-switch a{
  color:inherit;
  opacity:.72;
  text-decoration:none;
  transition:opacity .2s ease, color .2s ease;
}
.topbar .lang-switch a:hover{opacity:1}
.topbar .lang-switch a.active{
  opacity:1;
  color:#fff;
  border-bottom:2px solid #fff;
  padding-bottom:1px;
}
.topbar .lang-switch .sep{opacity:.45}
.topbar .lang-switch{color:#fff}

