/* ==========================================================================
   PROJECT-10 — PHASE-5E : 관리비 비교 (fee-compare.html) 전용 스타일
   Design Freeze v1.0(assets/css/style.css)의 색상/폰트/Radius/Shadow 변수를
   그대로 상속합니다. 새 클래스(mf- 접두사)만 정의합니다.
   ========================================================================== */

.mf-main{ max-width:1180px; margin:0 auto; padding:0 32px 40px; }

.mf-breadcrumb{ font-size:12.5px; color:var(--text-muted); padding:16px 0 8px; }
.mf-breadcrumb a{ color:var(--text-muted); text-decoration:none; }
.mf-breadcrumb .sep{ margin:0 6px; }
.mf-breadcrumb .current{ color:var(--text-headline); font-weight:600; }

.mf-page-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:8px 0 20px; flex-wrap:wrap; }
.mf-page-title{ font-size:24px; font-weight:800; color:var(--text-headline); margin:0 0 6px; }
.mf-page-sub{ font-size:13px; color:var(--text-body); margin:0; }

.mf-info-card{ background:var(--bg-cream); border-radius:var(--radius-lg); padding:16px 20px; max-width:420px; display:flex; flex-direction:column; gap:10px; }
.mf-info-title{ font-size:13px; font-weight:700; color:var(--text-headline); margin:0; }
.mf-info-sub{ font-size:11.5px; color:var(--text-body); margin:0; line-height:1.5; }
.mf-info-btn{ border:1px solid var(--border); background:#fff; color:var(--text-headline); font-size:12px; font-weight:600; padding:9px; border-radius:999px; text-align:center; text-decoration:none; }
.mf-info-btn:hover{ background:var(--bg-alt); }

/* 비교 단지 선택 */
.mf-select-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px; margin-bottom:20px; }
.mf-select-card h3{ font-size:14px; font-weight:700; color:var(--text-headline); margin:0 0 14px; }
.mf-chip-row{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.mf-chip{ position:relative; background:var(--bg-alt); border:1px solid var(--border); border-radius:var(--radius-md); padding:12px 30px 12px 14px; }
.mf-chip-name{ font-size:13px; font-weight:700; color:var(--text-headline); }
.mf-chip-block{ font-size:11px; color:var(--text-muted); }
.mf-chip-remove{ position:absolute; top:10px; right:10px; background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:13px; }
.mf-chip-remove:hover{ color:#C0392B; }
.mf-chip-add{ border:1.5px dashed var(--border); border-radius:var(--radius-md); background:#fff; color:var(--text-muted); font-size:12.5px; font-weight:600; display:flex; align-items:center; justify-content:center; cursor:pointer; padding:12px; }
.mf-chip-add:hover{ border-color:var(--green); color:var(--green); }

.mf-filter-row{ display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; }
.mf-filter-field{ min-width:150px; }
.mf-filter-field label{ display:block; font-size:11.5px; font-weight:600; color:var(--text-headline); margin-bottom:6px; }
.mf-filter-field select{ width:100%; border:1px solid var(--border); border-radius:8px; padding:9px 10px; font-size:12.5px; color:var(--text-headline); }
.mf-check-field{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-body); padding-bottom:9px; }
.mf-check-field input{ accent-color:var(--green); }
.mf-compare-btn{ border:none; background:var(--green); color:#fff; font-size:13px; font-weight:700; padding:11px 22px; border-radius:999px; cursor:pointer; margin-left:auto; white-space:nowrap; }
.mf-compare-btn:hover{ background:#365f52; }

/* 요약 카드 */
.mf-section-title{ font-size:15px; font-weight:700; color:var(--text-headline); margin:0 0 14px; }
.mf-summary-row{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:24px; }
.mf-summary-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:16px; }
.mf-summary-num{ display:inline-flex; width:18px; height:18px; border-radius:50%; color:#fff; font-size:10.5px; font-weight:700; align-items:center; justify-content:center; margin-right:6px; }
.mf-summary-name{ font-size:13px; font-weight:700; color:var(--text-headline); }
.mf-summary-block{ font-size:11px; color:var(--text-muted); margin:2px 0 10px 24px; }
.mf-summary-label{ font-size:11px; color:var(--text-body); margin-bottom:3px; }
.mf-summary-value{ font-size:19px; font-weight:800; margin-bottom:8px; }
.mf-summary-sub{ font-size:11px; color:var(--text-muted); margin-bottom:2px; }

/* 항목별 비교 표 */
.mf-table-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px; margin-bottom:24px; overflow-x:auto; }
.mf-table{ width:100%; border-collapse:collapse; font-size:12px; white-space:nowrap; }
.mf-table th{ text-align:left; color:var(--text-muted); font-weight:600; padding:9px 10px; border-bottom:1px solid var(--border); }
.mf-table th.mf-num{ text-align:right; }
.mf-table td{ padding:9px 10px; border-bottom:1px solid var(--border); color:var(--text-body); text-align:right; }
.mf-table td:first-child{ text-align:left; color:var(--text-headline); font-weight:600; }
.mf-table tr.mf-total td{ font-weight:800; color:var(--text-headline); border-top:2px solid var(--border); }

/* 차트 2열 */
.mf-chart-row{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; margin-bottom:24px; }
.mf-chart-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px; display:flex; flex-direction:column; }
.mf-chart-card h3{ font-size:13.5px; font-weight:700; color:var(--text-headline); margin:0 0 12px; }
.mf-chart-canvas-wrap{ height:170px; margin-bottom:10px; }
.mf-chart-canvas-wrap canvas{ max-width:100%; }
.mf-chart-link{ border:1px solid var(--border); background:#fff; color:var(--text-headline); font-size:12px; font-weight:600; padding:9px; border-radius:999px; text-align:center; text-decoration:none; margin-top:auto; }
.mf-chart-link:hover{ background:var(--bg-alt); }

.mf-insight-list{ display:flex; flex-direction:column; gap:10px; margin-bottom:10px; flex:1; }
.mf-insight-item{ display:flex; gap:8px; }
.mf-insight-icon{ width:20px; height:20px; border-radius:50%; background:rgba(66,120,102,0.14); color:var(--green); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.mf-insight-title{ font-size:12px; font-weight:700; color:var(--text-headline); margin:0 0 2px; }
.mf-insight-desc{ font-size:11px; color:var(--text-muted); line-height:1.4; margin:0; }

/* 하단 3열 CTA */
.mf-cta-row{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.mf-cta-card{ background:var(--bg-alt); border-radius:var(--radius-lg); padding:18px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.mf-cta-icon{ width:36px; height:36px; border-radius:50%; background:#fff; color:var(--green); display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
.mf-cta-title{ font-size:12.5px; font-weight:700; color:var(--text-headline); margin:0 0 5px; }
.mf-cta-desc{ font-size:11px; color:var(--text-body); line-height:1.5; margin:0 0 12px; }
.mf-cta-btn{ border:none; background:var(--navy2); color:#fff; font-size:12px; font-weight:600; padding:9px 16px; border-radius:999px; text-decoration:none; margin-top:auto; }
.mf-cta-btn:hover{ background:#081430; }

/* ---------------------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------------------- */
@media (max-width: 1080px){
  .mf-chip-row{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mf-summary-row{ grid-template-columns:1fr 1fr; }
  .mf-chart-row{ grid-template-columns:1fr 1fr; }
  .mf-cta-row{ grid-template-columns:1fr; }
}
@media (max-width: 860px){
  .mf-page-head{ flex-direction:column; }
  .mf-info-card{ max-width:none; width:100%; }
  .mf-filter-row{ flex-direction:column; align-items:stretch; }
  .mf-compare-btn{ margin-left:0; width:100%; }
  .mf-chart-row{ grid-template-columns:1fr; }
}
@media (max-width: 620px){
  .mf-chip-row{ grid-template-columns:1fr 1fr; }
  .mf-summary-row{ grid-template-columns:1fr; }
}
