/**
 * ┌─────────────────────────────────────────────────────────────────────┐
 * │  FILE INDEX — 여수뉴스포털                                          │
 * ├──────────────┬──────────────────────────────────────────────────────┤
 * │  파일명      │  wellbeing.css                                        │
 * │  위치        │  /wellbeing/assets/css/wellbeing.css                  │
 * │  생성일      │  2026-07-11                                           │
 * ├──────────────┼──────────────────────────────────────────────────────┤
 * │  기능/역할   │  행복포털 전용 CSS                                    │
 * │  접두사 규칙 │  CSS 변수: --wb-*  /  클래스: .wb-*                   │
 * │  전역 금지   │  :root에서 --primary 등 전역 변수 재정의 금지         │
 * │              │  .btn .card .badge 등 전역 클래스명 재정의 금지       │
 * │  참고        │  공통 목록 스타일: /assets/css/portal-list.css        │
 * │              │  (life-list.css는 portal-list.css와 동일 — 중복)      │
 * └──────────────┴──────────────────────────────────────────────────────┘
 */

/* ── 1. 행복포털 전용 CSS 변수 ── */
:root {
  --wb-primary:      var(--primary,      #10b981);
  --wb-primary-dark: var(--primary-dark, #059669);
  --wb-link:         var(--link-color,   #10b981);

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

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

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

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

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

/* ── 4. 콘텐츠 카드 ── */
.wb-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--wb-gap);
}
.wb-card {
  background: #fff;
  border: 1px solid var(--wb-gray-300);
  border-radius: var(--wb-radius);
  box-shadow: var(--wb-shadow);
  overflow: hidden;
  transition: box-shadow .2s;
}
.wb-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.12); }
.wb-card-body  { padding: 16px; }
.wb-card-title {
  font-size: var(--wb-fs-sm);
  font-weight: 700;
  color: var(--wb-gray-900);
  margin: 0 0 8px;
}
.wb-card-meta {
  font-size: var(--wb-fs-xs);
  color: var(--wb-gray-500);
}

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

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