/*
 * 金创空间首页视觉层 v0.1
 * 只作用于 /opc/home。保留 Banner 与企业列表，首页申报入口按当前开放状态呈现。
 * 品牌文案与临时字标已切换；完整视觉特效仍留待后续品牌阶段处理。
 */
.opc-extension-page.is-opc-home {
  --jc-pine-900: #143a33;
  --jc-pine-700: #1f5a4e;
  --jc-pine-50: #e4f0ec;
  --jc-teal-500: #2e8b7e;
  --jc-paper: #f7f4ee;
  --jc-surface: #fffefc;
  --jc-ink: #1c2421;
  --jc-ink-2: #5e6b66;
  --jc-line: #e3ded3;
  --jc-gold-400: #c2a878;
  min-height: 100vh;
  color: var(--jc-ink);
  background: var(--jc-paper);
}

.opc-extension-page.is-opc-home .opc-extension-header {
  border-bottom: 1px solid rgba(194, 168, 120, 0.32);
  background: var(--jc-pine-900);
  box-shadow: 0 4px 18px rgba(20, 58, 51, 0.1);
}

.opc-extension-page.is-opc-home .opc-extension-header::after,
.opc-extension-page.is-opc-home .qzy-home-main::before {
  display: none;
}

.opc-extension-page.is-opc-home .opc-extension-header-inner {
  max-width: 1328px;
}

.opc-extension-page.is-opc-home .auth-brand.qzy-brand {
  width: 144px;
  min-width: 144px;
}

.opc-extension-page.is-opc-home .opc-extension-tab.is-active::after {
  background: var(--jc-gold-400);
}

.opc-extension-page.is-opc-home .qzy-home-main {
  max-width: 1328px;
  padding: 2rem 1.5rem 5rem;
}

.opc-extension-page.is-opc-home .qzy-home-banner-carousel {
  min-height: 336px;
  overflow: hidden;
  border: 1px solid rgba(20, 58, 51, 0.12);
  border-radius: 20px;
  color: #fffefc;
  background: var(--jc-pine-900);
  box-shadow: 0 12px 32px rgba(20, 58, 51, 0.11);
}

.opc-extension-page.is-opc-home .qzy-home-banner-track,
.opc-extension-page.is-opc-home .qzy-home-banner-slide.is-active {
  min-height: 336px;
}

.opc-extension-page.is-opc-home .qzy-home-banner-slide {
  padding: clamp(1.6rem, 3.5vw, 3rem);
}

.opc-extension-page.is-opc-home .qzy-home-banner-slide.event-image-banner {
  padding: 0;
}

/* 上传图片仍完整展示，不增加遮罩或改变活动图的点击区域。 */
.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image .qzy-banner-media {
  opacity: 1;
}

.opc-extension-page.is-opc-home .qzy-banner-shade {
  background:
    radial-gradient(circle at 86% 18%, rgba(46, 139, 126, 0.34), transparent 40%),
    radial-gradient(circle at 9% 95%, rgba(194, 168, 120, 0.12), transparent 40%),
    linear-gradient(115deg, #143a33 0%, #1f5a4e 100%);
}

.opc-extension-page.is-opc-home .qzy-home-banner-slide:not(.has-image)::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 254, 252, 0.07) 1px, transparent 1px);
  background-size: 18px 18px;
  pointer-events: none;
}

.opc-extension-page.is-opc-home .qzy-banner-content {
  gap: 1rem;
  max-width: 700px;
  padding: 0 0 0.5rem;
}

.opc-extension-page.is-opc-home .qzy-banner-content > span {
  padding: 0;
  border: 0;
  color: #dfc9a2;
  background: transparent;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.opc-extension-page.is-opc-home .qzy-banner-content h1 {
  max-width: 680px;
  color: #fffefc;
  font-size: clamp(2.5rem, 4.1vw, 3.8rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.15;
}

.opc-extension-page.is-opc-home .qzy-banner-content p,
.opc-extension-page.is-opc-home .qzy-banner-rich {
  color: rgba(255, 254, 252, 0.82);
  font-size: 0.96rem;
  line-height: 1.8;
}

.opc-extension-page.is-opc-home .qzy-home-primary-action {
  min-height: 44px;
  padding: 0.7rem 1.2rem;
  border: 1px solid #e8d7b8;
  border-radius: 10px;
  color: var(--jc-pine-900);
  background: #f1e9d8;
  font-size: 0.9rem;
  font-weight: 700;
  box-shadow: none;
}

.opc-extension-page.is-opc-home .qzy-home-primary-action:hover,
.opc-extension-page.is-opc-home .qzy-home-primary-action:focus-visible {
  color: var(--jc-pine-900);
  background: #fff3df;
  box-shadow: 0 8px 18px rgba(9, 35, 30, 0.16);
}

/* 自定义非活动 Banner 的文案用浅色面板承托，不遮挡整张上传图。 */
.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image:not(.event-image-banner) .qzy-banner-content {
  width: min(480px, 100%);
  padding: 1.4rem;
  border: 1px solid rgba(255, 254, 252, 0.8);
  border-radius: 14px;
  background: rgba(255, 254, 252, 0.94);
  box-shadow: 0 10px 28px rgba(20, 58, 51, 0.12);
}

.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image:not(.event-image-banner) .qzy-banner-content h1 {
  color: var(--jc-ink);
  font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image:not(.event-image-banner) .qzy-banner-content p,
.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image:not(.event-image-banner) .qzy-banner-rich {
  color: var(--jc-ink-2);
}

.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image:not(.event-image-banner) .qzy-banner-content > span {
  color: #8a6d3b;
}

.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image:not(.event-image-banner) .qzy-home-primary-action {
  border-color: var(--jc-pine-700);
  color: #fffefc;
  background: var(--jc-pine-700);
}

.opc-extension-page.is-opc-home .qzy-banner-arrow {
  width: 38px;
  height: 38px;
  border-color: rgba(255, 254, 252, 0.42);
  background: rgba(20, 58, 51, 0.34);
  backdrop-filter: blur(8px);
}

.opc-extension-page.is-opc-home .qzy-banner-dots button.is-active {
  background: #dfc9a2;
}

.opc-extension-page.is-opc-home .qzy-apply-grid {
  grid-template-columns: minmax(0, 1fr);
  margin-top: 2.3rem;
}

.opc-extension-page.is-opc-home .qzy-apply-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 140px;
  min-height: 140px;
  aspect-ratio: auto;
  overflow: hidden;
  border: 1px solid var(--jc-line);
  border-radius: 14px;
  color: var(--jc-ink);
  background: var(--jc-surface);
  box-shadow: 0 2px 4px rgba(20, 58, 51, 0.04), 0 12px 28px rgba(20, 58, 51, 0.04);
}

.opc-extension-page.is-opc-home .qzy-apply-card::before,
.opc-extension-page.is-opc-home .qzy-apply-card::after,
.opc-extension-page.is-opc-home .qzy-apply-card-body::before {
  display: none;
}

.opc-extension-page.is-opc-home .qzy-apply-card-image {
  position: absolute;
  inset: 0;
  grid-row: 1;
  grid-column: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.opc-extension-page.is-opc-home .qzy-apply-card-body {
  position: relative;
  grid-row: 1;
  grid-column: 1;
  align-items: center;
  justify-content: flex-end;
  padding: 1.1rem 1.5rem 1.1rem 38%;
}

.opc-extension-page.is-opc-home .qzy-apply-card strong {
  color: var(--jc-ink);
  font-size: 1.5rem;
  font-weight: 700;
  text-align: right;
  text-shadow: none;
  transform: none;
}

.opc-extension-page.is-opc-home .qzy-apply-card-body::after {
  display: none;
}

.opc-extension-page.is-opc-home .qzy-apply-card:hover,
.opc-extension-page.is-opc-home .qzy-apply-card:focus-visible {
  transform: translateY(-3px);
  border-color: var(--jc-gold-400);
  box-shadow: 0 14px 30px rgba(20, 58, 51, 0.12);
}

.opc-extension-page.is-opc-home .qzy-apply-card:hover strong,
.opc-extension-page.is-opc-home .qzy-apply-card:focus-visible strong,
.opc-extension-page.is-opc-home .qzy-apply-card:hover .qzy-apply-card-body::after {
  transform: none;
}

.opc-extension-page.is-opc-home .qzy-apply-card:focus-visible,
.opc-extension-page.is-opc-home .qzy-banner-arrow:focus-visible,
.opc-extension-page.is-opc-home .qzy-banner-dots button:focus-visible {
  outline: 2px solid var(--jc-teal-500);
  outline-offset: 3px;
}

.opc-extension-page.is-opc-home .qzy-home-stars {
  margin-top: 2.6rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.opc-extension-page.is-opc-home .opc-home-section-title {
  align-items: center;
  margin-bottom: 1rem;
}

.opc-extension-page.is-opc-home .opc-home-section-title h2 {
  color: var(--jc-ink);
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 700;
}

.opc-extension-page.is-opc-home .opc-home-section-title a {
  color: var(--jc-pine-700);
  font-size: 0.85rem;
  font-weight: 700;
}

.opc-extension-page.is-opc-home .qzy-home-stars .star-company-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.opc-extension-page.is-opc-home .star-company-card {
  min-height: 360px;
  border-color: var(--jc-line);
  border-radius: 14px;
  background: var(--jc-surface);
  box-shadow: 0 2px 4px rgba(20, 58, 51, 0.04), 0 12px 28px rgba(20, 58, 51, 0.04);
}

.opc-extension-page.is-opc-home .star-company-card:hover {
  border-color: var(--jc-gold-400);
  box-shadow: 0 14px 30px rgba(20, 58, 51, 0.1);
}

.opc-extension-page.is-opc-home .star-company-data-cover {
  background: linear-gradient(135deg, var(--jc-pine-900), var(--jc-teal-500));
}

.opc-extension-page.is-opc-home .star-company-number {
  border-radius: 6px;
  color: var(--jc-pine-900);
}

.opc-extension-page.is-opc-home .star-company-card-meta,
.opc-extension-page.is-opc-home .star-company-card-body > p,
.opc-extension-page.is-opc-home .star-company-card-body footer span {
  color: var(--jc-ink-2);
}

.opc-extension-page.is-opc-home .star-company-card-body h3,
.opc-extension-page.is-opc-home .star-company-card-body footer strong {
  color: var(--jc-ink);
}

.opc-extension-page.is-opc-home .star-company-card-body footer {
  border-top-color: var(--jc-line);
}

@media (max-width: 820px) {
  .opc-extension-page.is-opc-home .qzy-home-main {
    padding: 1.25rem 1rem 3rem;
  }

  .opc-extension-page.is-opc-home .qzy-apply-grid,
  .opc-extension-page.is-opc-home .qzy-home-stars .star-company-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 760px) {
  .opc-extension-page.is-opc-home .auth-brand.qzy-brand {
    width: 125px;
    min-width: 125px;
  }

}

@media (max-width: 560px) {
  .opc-extension-page.is-opc-home .auth-brand.qzy-brand {
    width: 112px;
    min-width: 112px;
  }

  .opc-extension-page.is-opc-home .qzy-home-main {
    padding: 1rem 0.75rem 2.5rem;
  }

  .opc-extension-page.is-opc-home .qzy-home-banner-carousel,
  .opc-extension-page.is-opc-home .qzy-home-banner-track,
  .opc-extension-page.is-opc-home .qzy-home-banner-slide.is-active {
    min-height: 330px;
  }

  .opc-extension-page.is-opc-home .qzy-home-banner-carousel {
    border-radius: 14px;
  }

  .opc-extension-page.is-opc-home .qzy-home-banner-slide:not(.event-image-banner) {
    padding: 1.4rem;
  }

  .opc-extension-page.is-opc-home .qzy-banner-content h1 {
    font-size: 2.25rem;
  }

  .opc-extension-page.is-opc-home .qzy-banner-content p {
    font-size: 0.88rem;
  }

  .opc-extension-page.is-opc-home .qzy-apply-grid,
  .opc-extension-page.is-opc-home .qzy-home-stars .star-company-grid {
    grid-template-columns: 1fr;
  }

  .opc-extension-page.is-opc-home .qzy-apply-grid {
    margin-top: 1.8rem;
  }

  .opc-extension-page.is-opc-home .qzy-apply-card {
    grid-template-rows: 112px;
    min-height: 112px;
  }

  .opc-extension-page.is-opc-home .qzy-apply-card-body {
    padding: 0.8rem 1rem 0.8rem 40%;
  }

  .opc-extension-page.is-opc-home .qzy-apply-card strong {
    font-size: 1.5rem;
    transform: none;
  }

  .opc-extension-page.is-opc-home .qzy-home-stars {
    margin-top: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .opc-extension-page.is-opc-home .qzy-apply-card,
  .opc-extension-page.is-opc-home .qzy-home-banner-slide {
    animation: none;
    transition: none;
  }
}
.opc-extension-page.is-opc-home .qzy-home-banner-slide.campaign-image-banner .qzy-banner-content{width:min(700px,60%);max-width:700px;padding:0 0 .5rem;border:0;border-radius:0;background:transparent;box-shadow:none}.opc-extension-page.is-opc-home .qzy-home-banner-slide.campaign-image-banner .qzy-banner-content h1{max-width:700px;color:#fffefc;font-size:clamp(2.5rem,4.1vw,3.8rem)}.opc-extension-page.is-opc-home .qzy-home-banner-slide.campaign-image-banner .qzy-banner-content>span{color:#f6d7a1}.opc-extension-page.is-opc-home .qzy-home-banner-slide.campaign-image-banner .qzy-banner-content p{color:rgba(255,255,255,.86)}.opc-extension-page.is-opc-home .qzy-home-banner-slide.campaign-image-banner .qzy-home-primary-action{border-color:#f1e2c3;color:#183a33;background:#f8edda}.opc-extension-page.is-opc-home .qzy-home-banner-slide.campaign-image-banner .qzy-banner-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,35,.2),transparent 70%);pointer-events:none}@media(max-width:700px){.opc-extension-page.is-opc-home .qzy-home-banner-slide.campaign-image-banner .qzy-banner-content{width:min(92%,520px)}.opc-extension-page.is-opc-home .qzy-home-banner-slide.campaign-image-banner .qzy-banner-content h1{font-size:clamp(1.8rem,6vw,2.6rem)}.opc-extension-page.is-opc-home .qzy-home-banner-slide.campaign-image-banner .qzy-banner-media img{object-position:60% center}}
.jc-project-closed-dialog{position:fixed;inset:0;z-index:100000;width:min(420px,calc(100vw - 32px));margin:auto;padding:34px;border:1px solid #dccbaf;border-radius:20px;background:#fffdf8;color:#163e35;text-align:center;box-shadow:0 24px 70px #081b2166}.jc-project-closed-dialog::backdrop{background:rgba(5,22,28,.7);backdrop-filter:blur(3px)}.jc-project-closed-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:18px;background:#f5ead1;color:#b47b2f;font-size:30px}.jc-project-closed-dialog h2{margin:0 0 10px;font-size:24px;line-height:1.35}.jc-project-closed-dialog p{margin:0 0 26px;color:#65776d;font-size:15px;line-height:1.7}.jc-project-closed-dialog button{min-width:148px;padding:11px 20px;border:0;border-radius:10px;background:#174e40;color:#fff;font:inherit;font-weight:700;cursor:pointer}.jc-project-closed-dialog button:focus-visible{outline:3px solid #d8a652;outline-offset:3px}
.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image.campaign-image-banner .qzy-banner-content{width:min(700px,60%);max-width:700px;padding:0 0 .5rem;border:0;border-radius:0;background:transparent;box-shadow:none}.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image.campaign-image-banner .qzy-banner-content h1{max-width:700px;color:#fffefc;font-size:clamp(2.5rem,4.1vw,3.8rem)}.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image.campaign-image-banner .qzy-banner-content>span{color:#f6d7a1}.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image.campaign-image-banner .qzy-banner-content p{color:rgba(255,255,255,.86)}.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image.campaign-image-banner .qzy-home-primary-action{border-color:#f1e2c3;color:#183a33;background:#f8edda}@media(max-width:700px){.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image.campaign-image-banner .qzy-banner-content{width:min(92%,520px)}.opc-extension-page.is-opc-home .qzy-home-banner-slide.has-image.campaign-image-banner .qzy-banner-content h1{font-size:clamp(1.8rem,6vw,2.6rem)}}
