/*
 * 党建顶栏 —— 严格对齐设计稿 lncu_party_site/assets/style.css
 * 作用域：body.party-site，覆盖父主题 .site-header 规则
 */
body.party-site{
  --party-red:#c90012;
  --party-dark-red:#b70010;
  --party-text:#222;
  --party-muted:#777;
  --party-wrap:930px;
}

body.party-site .site-header{
  color:#222 !important;
  background:#fff !important;
  position:relative !important;
  overflow:visible !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:0 1px 0 rgba(0,0,0,.04) !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
}

body.party-site .site-header .topbar{
  height:76px;
  background:linear-gradient(90deg,#b50010,#d20a18);
}

body.party-site .site-header .container{
  width:min(var(--party-wrap),calc(100% - 48px)) !important;
  margin:0 auto !important;
  max-width:none !important;
  padding:0 !important;
}

body.party-site .site-header .header-inner{
  height:76px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  position:relative !important;
}

body.party-site .site-header .brand{
  display:block !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
}

body.party-site .site-header .brand img{
  display:block !important;
  height:48px !important;
  width:auto !important;
  max-width:460px !important;
  max-height:none !important;
  object-fit:contain !important;
  filter:none !important;
}

body.party-site .site-header .header-tools{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  color:#fff !important;
  font-size:14px !important;
  white-space:nowrap !important;
  position:static !important;
  margin:0 !important;
}

body.party-site .site-header .header-tools > a{
  color:#fff !important;
  text-decoration:none !important;
  font-weight:400 !important;
}

body.party-site .site-header .search{
  width:250px;
  height:31px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:16px;
  display:flex;
  align-items:center;
  padding:0 8px;
  background:rgba(255,255,255,.05);
  margin:0;
}

body.party-site .site-header .search input{
  flex:1;
  min-width:0;
  background:transparent;
  border:0;
  outline:0;
  color:#fff;
  height:26px;
  font-size:14px;
  box-shadow:none;
  padding:0;
}

body.party-site .site-header .search input::placeholder{color:rgba(255,255,255,.7)}
body.party-site .site-header .search button{
  width:26px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  padding:0;
}

body.party-site .site-header .nav{
  height:82px !important;
  background:#fff !important;
  border-bottom:1px solid #eee !important;
  position:relative !important;
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}

body.party-site .site-header .nav-inner{
  height:82px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:stretch !important;
  gap:0 !important;
  text-align:center !important;
  font-weight:700 !important;
  color:#1f1f1f !important;
  font-size:18px !important;
  flex-wrap:nowrap !important;
}

body.party-site .site-header .nav a{
  flex:1 1 0 !important;
  height:82px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  border-left:1px solid transparent !important;
  position:relative !important;
  margin:0 !important;
  padding:0 8px !important;
  color:#1f1f1f !important;
  background:transparent !important;
  font-size:18px !important;
  font-weight:700 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

body.party-site .site-header .nav a.active,
body.party-site .site-header .nav a:hover{
  color:var(--party-red) !important;
}

body.party-site .site-header .nav a.active:after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:5px !important;
  background:var(--party-red) !important;
  border-radius:0 !important;
}

body.party-site .site-header .menu-toggle{
  display:none;
  position:absolute;
  right:14px;
  top:7px;
  width:40px;
  height:40px;
  border:0;
  background:transparent;
  padding:8px;
  cursor:pointer;
  z-index:5;
}
body.party-site .site-header .menu-toggle span{
  display:block;
  height:2px;
  margin:6px 0;
  background:#1f1f1f;
  border-radius:1px;
}

/* 列表页 tabs 微调 */
body.party-site .party-list-tabs a.active{
  color:var(--party-red);
  border-color:var(--party-red);
}

body.party-site .news-row-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

@media (max-width:760px){
  body.party-site .site-header .topbar{height:auto}
  body.party-site .site-header .header-inner{
    height:auto !important;
    min-height:78px !important;
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:10px !important;
    padding:14px 0 !important;
  }
  body.party-site .site-header .brand img{
    height:42px !important;
    max-width:100% !important;
  }
  body.party-site .site-header .header-tools{
    width:100% !important;
    justify-content:space-between !important;
  }
  body.party-site .site-header .search{width:170px}

  body.party-site .site-header .nav{
    height:auto !important;
    min-height:54px;
  }
  body.party-site .site-header .menu-toggle{
    display:block;
  }
  body.party-site .site-header .nav-inner{
    display:none !important;
    height:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    background:#fff;
    border:1px solid #eee;
    border-radius:8px;
    margin:8px 0 12px;
    padding:8px;
    box-shadow:0 12px 28px rgba(0,0,0,.08);
  }
  body.party-site .site-header .nav-inner.show{
    display:flex !important;
  }
  body.party-site .site-header .nav a{
    height:54px !important;
    flex:none !important;
    justify-content:flex-start !important;
    padding:0 16px !important;
  }
  body.party-site .site-header .nav a.active:after{
    left:16px !important;
    right:auto !important;
    width:28px !important;
    bottom:10px !important;
    height:3px !important;
  }
  body.party-site .site-header .container{
    width:min(var(--party-wrap),calc(100% - 28px)) !important;
  }
}
