/* Case catalogue cards: one category, one description, one action. */
body[data-page="cases"] .case-card-project .case-card-media > em,
body[data-page="cases"] .case-card-project .case-card-media > i,
body[data-page="cases"] .case-card-project .case-video-mark,
body[data-page="cases"] .case-card-project > a > div:last-child > small {
  display: none !important;
}

body[data-page="cases"] .case-grid {
  grid-auto-rows: 1fr;
}

body[data-page="cases"] .case-card-project > a > div:last-child {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

body[data-page="cases"] .case-card-project > a > div:last-child > span {
  color: rgba(154, 190, 222, .72);
}

body[data-page="cases"] .case-card-project > a > div:last-child > p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body[data-page="cases"] .case-card-project > a > div:last-child > b {
  margin-top: auto;
}

/* Keep catalogue filters reachable beneath the desktop site navigation. */
@media (min-width: 1101px) {
  body[data-page="cases"] .cases-section .case-toolbar:not(.case-toolbar--short) {
    position: sticky;
    top: calc(var(--header-height, 76px) + 12px);
    z-index: 20;
  }
}

/* Shared catalogue: compact light cards with full screenshots. */
@media (min-width: 0px) {
  body[data-page="cases"] .cases-section {
    background: #f5f8fc;
    color: #132d45;
    padding-top: 36px;
    padding-bottom: 72px;
  }
  body[data-page="cases"] .cases-section .case-toolbar { margin-bottom: 28px; }
  body[data-page="cases"] #caseFilters {
    background: #fff;
    border-color: #dce5ef;
    box-shadow: 0 4px 16px rgba(24, 59, 92, .05);
  }
  body[data-page="cases"] .cases-section .case-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: auto;
    gap: 24px;
  }
  body[data-page="cases"] .cases-section .case-card > a {
    min-height: 0;
    height: 100%;
    background: #fff;
    color: #132d45;
    border: 1px solid #dce5ef;
    box-shadow: 0 3px 12px rgba(24, 59, 92, .04);
  }
  body[data-page="cases"] .cases-section .case-card .case-card-media {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
    padding: 8px;
    background: #edf2f7;
  }
  body[data-page="cases"] .cases-section .case-card .case-card-media::after { display: none; }
  body[data-page="cases"] .cases-section .case-card .case-card-media > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transform: none !important;
    filter: none;
  }
  body[data-page="cases"] .cases-section .case-card > a > div:last-child {
    min-height: 0;
    padding: 20px;
    gap: 0;
    background: #fff;
  }
  body[data-page="cases"] .cases-section .case-card h3 {
    margin: 8px 0 10px;
    font-family: inherit;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
    color: #132d45;
  }
  body[data-page="cases"] .cases-section .case-card > a > div:last-child > span {
    font-size: 12px;
    line-height: 1.5;
    color: #647b90;
  }
  body[data-page="cases"] .cases-section .case-card p {
    min-height: 0;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    color: #526a7f;
    display: block;
    overflow: visible;
  }
  body[data-page="cases"] .cases-section .case-card > a > div:last-child > b {
    padding-top: 18px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    color: #0965d6;
  }
}
@media (min-width: 1440px) {
  body[data-page="cases"] .cases-section .case-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Semantic title units inherit the same type on every card. */
body[data-page="cases"] .case-card h3 .case-title-word { font: inherit; color: inherit; letter-spacing: inherit; }
@media (min-width: 821px) {
  body[data-page="cases"] .case-card h3 .case-title-word { display: inline-block; white-space: nowrap; }
}

@media (max-width:1100px) {
 body[data-page="cases"] .cases-section .case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
 body[data-page="cases"] .cases-section { padding:24px 0 48px; }
 body[data-page="cases"] .cases-section .case-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 body[data-page="cases"] .cases-section .case-toolbar { position:static; }
 body[data-page="cases"] #caseFilters { flex-wrap:wrap; border-radius:16px; gap:6px; padding:8px; }
 body[data-page="cases"] #caseFilters .filter-btn { flex:1 1 calc(50% - 6px); min-height:44px; white-space:normal; }
 body[data-page="cases"] .cases-section .case-card h3 { font-size:20px; }
 body[data-page="cases"] .cases-section .case-card > a > div:last-child { padding:20px; gap:0; }
}
@media (max-width:820px) {
 body[data-page="cases"] .page-hero { background:#f5f8fc; color:#132d45; }
 body[data-page="cases"] .page-hero h1 { color:#132d45; font-size:clamp(32px,8vw,42px); }
 body[data-page="cases"] .page-hero p { color:#526a7f; }
}

/* Soften screenshot upper corners while retaining the full image framing. */
body[data-page="cases"] .cases-section .case-card .case-card-media > img {
  border-radius: 10px 10px 0 0;
}

/* Keep the approved Wusong project title break after 建管 at every width. */
body[data-page="cases"] .case-card h3 .case-title-line { font: inherit; color: inherit; white-space: nowrap; }
