/* 역할: 공통 기본 스타일: 글꼴, 배경, 링크, 제목의 모양을 정합니다. */

/* 1. 전체 화면 */
body {
  max-width: 900px;
  margin: 30px auto;
  padding: 20px;
  background: white;
  color: #222;
  font-family: -apple-system, sans-serif;
  line-height: 1.7;
}

a {
  color: gray;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* 2. 상단과 제목 */
.site-header, .heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
  border-bottom: 1px solid #4d4d4d;
}

.logo {
  color: #222;
  font-size: 40px;
  font-weight: bold;
  border-bottom: #222;
}

h1 {
  font-size: 30px;
  margin: 0 0 12px;
}

h2 {
  font-size: 20px;
}

.muted, small, .empty {
  color: #777;
}

/* 운영 안내·신고 화면 (다른 페이지의 글자 크기는 바꾸지 않습니다.) */
.legal-page { max-width: 820px; margin: 0 auto; overflow-wrap: anywhere; font-size: 14px; line-height: 1.8; }
.legal-page h1 { font-size: 25px; }
.legal-page h2 { margin-top: 28px; font-size: 18px; }
.legal-nav, .site-policy-footer { display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; }
.site-policy-footer { justify-content: center; padding: 22px 16px; color: #687080; background: rgb(255 255 255 / 92%); }
.site-policy-footer a { color: #4d5b70; }
.legal-meta { color: #687080; font-size: 12px; }
.legal-table-wrap { overflow-x: auto; }
.legal-page table { width: 100%; border-collapse: collapse; font-size: 12px; }
.legal-page th, .legal-page td { padding: 10px; border: 1px solid #d5dce6; text-align: left; vertical-align: top; }
.legal-page th { background: #eef3f9; }
.legal-summary { margin: 16px 0; padding: 14px; border: 1px solid #d5dce6; border-radius: 8px; background: rgb(255 255 255 / 95%); font-size: 12px; line-height: 1.8; }
.legal-summary p { margin: 8px 0; }
.legal-checkbox { display: flex; align-items: flex-start; gap: 9px; margin: 12px 0; font-size: 13px; line-height: 1.7; }
.legal-checkbox input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; min-height: 0; margin: 2px 0 0; padding: 0; }
.legal-page input[type="email"], .legal-page input[type="text"], .legal-page textarea, .legal-page select { box-sizing: border-box; width: 100%; max-width: 100%; font-size: 16px; }
.legal-request-body { padding: 16px; border: 1px solid #d5dce6; background: #fff; white-space: pre-wrap; }
.comment-actions .comment-report-link { color: #87909c; font-size: 11px; text-decoration: none; }






/* PC: 채널을 2열로 배치 */
.channel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 28px;
}

.channel-section {
  min-width: 0;
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
}

.channel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.channel-heading h2 {
  margin: 0;
  font-size: 18px;
}

.channel-heading h2 a {
  color: #222;
  text-decoration: none;
}

.channel-more {
  flex-shrink: 0;
  font-size: 12px;
  color: #777;
}

.channel-post {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 0;
  font-size: 14px;
  color: #333;
  text-decoration: none;
}

.channel-post-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.channel-post-comments {
  flex-shrink: 0;
  color: #007a78;
}

.channel-empty {
  margin: 0;
  padding: 8px 0;
  font-size: 13px;
  color: #777;
}

/* 화면 폭이 700px 이하이면 1열 */
@media (max-width: 700px) {
  .channel-grid {
    grid-template-columns: 1fr;
  }
}