/**
 * ┌─────────────────────────────────────────────────────────────────────┐
 * │  FILE INDEX — 여수뉴스포털                                          │
 * ├──────────────┬──────────────────────────────────────────────────────┤
 * │  파일명      │  match.css                                            │
 * │  위치        │  /match/assets/css/match.css                          │
 * │  생성일      │  2026-07-11                                           │
 * ├──────────────┼──────────────────────────────────────────────────────┤
 * │  기능/역할   │  매칭포털 전용 CSS                                    │
 * │  접두사 규칙 │  CSS 변수: --mt-*  /  클래스: .mt-*                   │
 * │  전역 금지   │  :root에서 --primary 등 전역 변수 재정의 금지         │
 * │              │  .btn .card .badge 등 전역 클래스명 재정의 금지       │
 * └──────────────┴──────────────────────────────────────────────────────┘
 */

/* ── 1. 매칭포털 전용 CSS 변수 ── */
:root {
  --mt-primary:      var(--primary,      #ec4899);
  --mt-primary-dark: var(--primary-dark, #db2777);
  --mt-link:         var(--link-color,   #ec4899);

  --mt-fs-xs:   var(--fs-xs,   12px);
  --mt-fs-sm:   var(--fs-sm,   14px);
  --mt-fs-base: var(--fs-base, 16px);
  --mt-fs-lg:   var(--fs-lg,   18px);
  --mt-lh:      1.7;

  --mt-gray-100: #f8fafc;
  --mt-gray-200: #f1f5f9;
  --mt-gray-300: #e2e8f0;
  --mt-gray-500: #94a3b8;
  --mt-gray-700: #475569;
  --mt-gray-900: #1e293b;

  --mt-radius:  var(--card-radius, 12px);
  --mt-shadow:  var(--card-shadow, 0 1px 6px rgba(0,0,0,.08));
  --mt-gap:     var(--grid-gap,    20px);
}

/* ── 2. 래퍼 ── */
.mt-wrap {
  width: 100%;
  font-size: var(--mt-fs-base);
  line-height: var(--mt-lh);
  color: var(--mt-gray-900);
}
.mt-wrap * { box-sizing: border-box; }

/* ── 3. 섹션 헤더 ── */
.mt-sec-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--mt-primary);
}
.mt-sec-title {
  font-size: var(--mt-fs-lg);
  font-weight: 700;
  color: var(--mt-gray-900);
}

/* ── 4. 프로필 카드 ── */
.mt-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--mt-gap);
}
.mt-card {
  background: #fff;
  border: 1px solid var(--mt-gray-300);
  border-radius: var(--mt-radius);
  box-shadow: var(--mt-shadow);
  overflow: hidden;
  text-align: center;
  padding: 20px 16px;
  transition: box-shadow .2s;
}
.mt-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.12); }
.mt-card-name {
  font-size: var(--mt-fs-base);
  font-weight: 700;
  color: var(--mt-gray-900);
  margin: 8px 0 4px;
}
.mt-card-meta {
  font-size: var(--mt-fs-xs);
  color: var(--mt-gray-500);
}

/* ── 5. 배지 ── */
.mt-badge {
  display: inline-block;
  padding: 2px 8px;
  font-size: var(--mt-fs-xs);  /* 배지 예외: 12px */
  font-weight: 600;
  border-radius: 4px;
  background: var(--mt-primary);
  color: #fff;
}

/* ── 6. 반응형 ── */
@media (max-width: 768px) {
  .mt-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .mt-grid { grid-template-columns: 1fr; }
}
