@charset "utf-8";

/* 학교생활 > 학생활동 > 동아리 — 분야 탭(문예/봉사/체육/종교/친목)으로 패널 전환,
 * 각 동아리는 썸네일 + 요약 표 + "자세히보기" 토글 카드.
 * 타이틀·탭 마크업은 공용(common.html + basic.css .tab-nav) */

.club-hero {
  max-width: 1262px;
  margin: 0 auto 60px;
  text-align: center;
  word-break: keep-all;
}

.club-hero-eng {
  font-family: var(--font-accent);
  font-size: var(--font-size-heading-xl);
  line-height: var(--line-height-heading-xl);
  color: var(--color-primary);
}

.club-hero-slogan {
  margin-top: 16px;
  font-size: var(--font-size-heading-md);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-heading-md);
  color: var(--color-text-title2);
}

.club-hero-desc {
  margin-top: 12px;
  font-size: var(--font-size-body-md);
  line-height: var(--line-height-body-md);
  color: var(--color-text-body);
}

/* 분야 패널 — 비활성 패널은 theme.css 의 [hidden]{display:none!important} 로 숨김 */
.club-panel {
  max-width: 1262px;
  margin: 0 auto;
  border-top: 1px solid var(--color-gray300);
}

/* 카드 — 썸네일 + 본문 한 줄, 상세는 자세히보기 시 아래로 100% 폭 펼침 */
.club-card {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  padding: 30px 0;
  border-bottom: 1px solid var(--color-gray300);
}

.club-card-thumb {
  flex-shrink: 0;
  width: 227px;
  aspect-ratio: 227 / 251;
  object-fit: cover;
  background: var(--color-gray50);
  border: 1px solid var(--color-gray300);
}

.club-card-body {
  flex: 1;
  min-width: 0;
  word-break: keep-all;
}

.club-card-name {
  font-size: var(--font-size-heading-md);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-heading-md);
  color: var(--color-text-title2);
}

.club-card-fields {
  margin-top: 12px;
}

.club-card-fields > div {
  display: flex;
  gap: 12px;
  padding: 4px 0;
  font-size: var(--font-size-caption);
  line-height: 28px;
}

.club-card-fields dt {
  flex-shrink: 0;
  width: 80px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-title1);
}

.club-card-fields dd {
  color: var(--color-text-body);
}

.club-card-toggle {
  margin-top: 20px;
  min-width: var(--btn-list-min-width-md);
  height: var(--control-h-md);
  padding: 0 20px;
  border: 1px solid var(--color-gray300);
  background: var(--color-white);
  font-size: var(--font-size-body-md);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-title1);
}

.club-card-toggle[aria-expanded="true"] {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

/* 상세 — flex-wrap 로 카드 본문 아래 한 줄 통째로 내려옴 */
.club-card-detail {
  flex: 0 0 100%;
  margin-top: 4px;
}

.club-card-detail-img,
.club-detail-img {
  display: block;
  width: 100%;
  max-width: 600px;
  height: auto;
  background: var(--color-gray50);
  border: 1px solid var(--color-gray300);
}

.club-card-detail-img.empty-img-board,
.club-detail-img.empty-img-board {
  aspect-ratio: 4 / 3;
}

.club-detail {
  word-break: keep-all;
  font-size: var(--font-size-body-md);
  line-height: var(--line-height-body-md);
  color: var(--color-text-body);
}

.club-detail > * + * {
  margin-top: 20px;
}

.club-detail-title {
  font-size: var(--font-size-heading-md);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-heading-md);
  color: var(--color-text-title2);
}

.club-detail-box {
  padding: 20px;
  background: var(--color-gray50);
  border-radius: 4px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-title1);
}

.club-detail-section > * + * {
  margin-top: 10px;
}

.club-detail-section-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-title1);
}

.club-detail-section-list {
  padding-left: 40px;
  list-style: disc;
}

.club-detail-section-list li {
  display: list-item;
  padding: 2px 0;
}

.club-detail-qa {
  display: grid;
  gap: 16px;
}

.club-detail-qa li {
  display: grid;
  gap: 4px;
}

.club-detail-qa strong {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-title1);
}

.club-detail-figure figcaption {
  margin-top: 8px;
  font-size: var(--font-size-label-sm);
  color: var(--color-text-muted);
}

.club-detail-contact {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-title1);
}

.club-detail-link {
  display: inline-flex;
  align-items: center;
  height: var(--control-h-md);
  padding: 0 24px;
  border: 1px solid var(--color-gray300);
  font-size: var(--font-size-body-md);
  font-weight: var(--font-weight-medium);
  color: var(--color-primary);
}

@media (max-width: 768px) {
  .club-card {
    gap: 16px;
  }

  .club-card-thumb {
    width: 140px;
  }

  .club-card-toggle {
    width: 100%;
  }
}
