/* ==================== 经营闭环页面 (solution-operations.css) ==================== */
/* 依赖 base.css + pages.css · 仅页面独有组件 */

/* ==================== Loop Chain ==================== */
.loop-chain { display: flex; align-items: center; justify-content: center; gap: 0; margin-top: 3rem; flex-wrap: wrap; }
.loop-node { display: flex; flex-direction: column; align-items: center; gap: .5rem; padding: 1.5rem 1.8rem; border-radius: 14px; background: var(--white); border: 1px solid var(--gray-200); transition: all .25s; min-width: 140px; }
.loop-node:hover { border-color: var(--primary); box-shadow: 0 8px 32px rgba(214,0,15,.06); transform: translateY(-3px); }
.loop-node__icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--primary-soft); }
.loop-node__name { font-size: .9rem; font-weight: 700; color: var(--text-dark); }
.loop-node__desc { font-size: .75rem; color: var(--text-dark-muted); text-align: center; }
.loop-arrow { color: var(--primary); padding: 0 .5rem; flex-shrink: 0; display: flex; align-items: center; }

/* ==================== Impact Cards ==================== */
.impact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 3rem; }
.impact-card { padding: 2rem 1.75rem; border-radius: 14px; text-align: center; transition: all .3s; }
.impact-card--light { background: var(--white); border: 1px solid var(--gray-200); }
.impact-card--light:hover { border-color: rgba(214,0,15,.15); box-shadow: 0 8px 32px rgba(214,0,15,.06); transform: translateY(-3px); }
.impact-card__val { font-size: 2rem; font-weight: 700; font-family: 'DM Sans', sans-serif; color: var(--primary); line-height: 1; }
.impact-card__label { font-size: .9rem; font-weight: 600; color: var(--text-dark); margin-top: .5rem; }
.impact-card__desc { font-size: .82rem; color: var(--text-dark-soft); margin-top: .35rem; line-height: 1.6; }

/* ==================== 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) {
  .loop-chain { gap: .75rem; }
  .loop-node { min-width: 120px; padding: 1.2rem 1.2rem; }
}
@media (max-width: 768px) {
  .loop-chain { flex-direction: column; gap: .5rem; }
  .loop-arrow { transform: rotate(90deg); }
  .impact-grid { grid-template-columns: 1fr; }
  .metrics-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .metrics-row { grid-template-columns: 1fr; }
}
