/* ==================== 资产治理页面 (solution-governance.css) ==================== */
/* 依赖 base.css + pages.css · 仅页面独有组件 */

/* ==================== Pain Cards ==================== */
.pain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 3rem; }
.pain-card { padding: 2rem 1.75rem; border-radius: 14px; background: var(--white); border: 1px solid var(--gray-200); transition: all .3s; }
.pain-card:hover { border-color: rgba(214,0,15,.15); box-shadow: 0 8px 32px rgba(214,0,15,.06); transform: translateY(-3px); }
.pain-card__icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.2rem; }
.pain-card__icon--red { background: #fef2f2; }
.pain-card__icon--orange { background: #fff7ed; }
.pain-card__icon--yellow { background: #fefce8; }
.pain-card__icon--sky { background: #f0f9ff; }
.pain-card__icon--violet { background: #f5f3ff; }
.pain-card__icon--emerald { background: #ecfdf5; }
.pain-card__title { font-size: 1rem; font-weight: 700; color: var(--text-dark); margin-bottom: .5rem; }
.pain-card__text { font-size: .85rem; color: var(--text-dark-soft); line-height: 1.75; }

/* ==================== Steps ==================== */
.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 3rem; }
.step-card { position: relative; padding: 2rem 1.5rem; border-radius: 14px; background: var(--white); border: 1px solid var(--gray-200); text-align: center; transition: all .25s; }
.step-card:hover { border-color: var(--primary); box-shadow: 0 8px 32px rgba(214,0,15,.06); transform: translateY(-3px); }
.step-card__num { font-size: 2rem; font-weight: 700; font-family: 'DM Sans', sans-serif; color: var(--primary); line-height: 1; margin-bottom: .75rem; }
.step-card__title { font-size: .95rem; font-weight: 700; color: var(--text-dark); margin-bottom: .5rem; }
.step-card__text { font-size: .82rem; color: var(--text-dark-soft); line-height: 1.7; }
.step-card__arrow { position: absolute; right: -1rem; top: 50%; transform: translateY(-50%); color: var(--text-dark-muted); font-size: 1.2rem; }

/* ==================== Deliverables ==================== */
.deliver-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; margin-top: 3rem; }
.deliver-card { padding: 2rem 1.75rem; border-radius: 12px; background: var(--white); border: 1px solid var(--gray-200); transition: all .25s; }
.deliver-card:hover { border-color: var(--primary); box-shadow: 0 8px 32px rgba(214,0,15,.06); transform: translateY(-3px); }
.deliver-card__label { font-size: .72rem; font-weight: 700; letter-spacing: .1em; color: var(--primary); margin-bottom: .8rem; font-family: 'DM Sans', sans-serif; }
.deliver-card__title { font-size: 1.05rem; font-weight: 700; color: var(--text-dark); margin-bottom: .5rem; }
.deliver-card__text { font-size: .85rem; color: var(--text-dark-soft); line-height: 1.75; }

/* ==================== Metrics (4-col) ==================== */
.metrics-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; margin-top: 3rem; }
.metric-item { padding: 2rem 1.5rem; border-radius: 12px; background: var(--white); border: 1px solid var(--gray-200); text-align: center; transition: all .25s; }
.metric-item:hover { border-color: var(--primary); box-shadow: 0 8px 32px rgba(214,0,15,.06); transform: translateY(-3px); }
.metric-item__val { font-size: 2.2rem; font-weight: 700; font-family: 'DM Sans', sans-serif; color: var(--primary); line-height: 1; }
.metric-item__val span { font-size: .85rem; font-weight: 500; color: var(--text-dark-muted); }
.metric-item__label { font-size: .88rem; color: var(--text-dark); margin-top: .5rem; font-weight: 500; }
.metric-item__desc { font-size: .78rem; color: var(--text-dark-muted); margin-top: .35rem; }

/* ==================== Responsive ==================== */
@media (max-width: 1024px) {
  .steps-grid { grid-template-columns: repeat(2, 1fr); }
  .step-card__arrow { display: none; }
}
@media (max-width: 768px) {
  .pain-grid { grid-template-columns: 1fr; }
  .steps-grid { grid-template-columns: 1fr; }
  .deliver-grid { grid-template-columns: 1fr; }
  .metrics-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .metrics-row { grid-template-columns: 1fr; }
}
