/* 학원안내 (운영 안내 · 장학 안내) — 왼쪽 큰 제목 · 오른쪽 내용 */

/* 하위 메뉴 탭 */
.subnav {
  margin-bottom: var(--space-8);
}

.subnav ul {
  display: flex;
  gap: var(--space-6);
  border-bottom: 1px solid var(--color-line);
}

.subnav a {
  display: inline-block;
  padding: var(--space-3) 0;
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  color: var(--color-text-muted);
  font-weight: var(--weight-medium);
}

.subnav a:hover { color: var(--color-text); }

.subnav a[aria-current="page"] {
  color: var(--color-text);
  border-bottom-color: var(--color-text);
}

/* 한 묶음 */
.info-sec {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-6) var(--space-8);
  align-items: start;
  padding-block: var(--space-8) var(--section-gap);
  border-top: 1px solid var(--color-line);
}

.info-sec__head {
  position: sticky;
  top: calc(var(--header-height) + var(--space-6));
}

.info-sec__head .h2 {
  margin-top: var(--space-4);
  text-align: start;
}

.info-sec__title {
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-line-strong);
  font-size: var(--text-h3);
  font-weight: var(--weight-bold);
  letter-spacing: -0.02em;
}

.info-sec__title + p {
  margin-top: var(--space-4);
  color: var(--color-text-muted);
}

.info-sec__body > * + .info-sec__title {
  margin-top: var(--space-8);
}

/* 제목 없이 표만 두는 묶음 (장학 안내, 2026-10-28 원장님) */
.info-sec--solo {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 860px) {
  .info-sec { grid-template-columns: 1fr; }
  .info-sec__head { position: static; }
}

/* 시간표 */
.timetable {
  margin-top: var(--space-6);
  padding: var(--space-6);
  border: 1px solid var(--color-line);
}

.timetable__eyebrow {
  margin-bottom: var(--space-4);
  font-size: 1.5rem;
  font-weight: var(--weight-heavy);
  letter-spacing: 0.12em;
}

.timetable table,
.scholar {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.timetable th,
.timetable td {
  padding: var(--space-3) var(--space-2);
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  font-weight: var(--weight-regular);
}

.timetable thead th {
  border-bottom: 1px solid var(--color-line-strong);
  font-size: var(--text-small);
  color: var(--color-text-muted);
}

.timetable tbody th { font-weight: var(--weight-bold); }

.timetable td:last-child,
.timetable thead th:last-child {
  text-align: right;
  color: var(--color-text-muted);
}

.timetable tr.is-meal > * {
  background: #f3f3f3;
}

@media (max-width: 600px) {
  .timetable { padding: var(--space-4); }
}

/* 생활 규칙 */
.rules > li {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: var(--space-4);
  align-items: baseline;
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--color-line);
}

.rule-tag {
  display: inline-block;
  padding: 2px 0;
  border: 1px solid var(--color-line-strong);
  font-size: 0.75rem;
  font-weight: var(--weight-medium);
  text-align: center;
}

.rule-tag--no {
  background: var(--color-text);
  color: var(--color-bg);
  border-color: var(--color-text);
}

.rule-tag--ask {
  border-style: dashed;
}

/* 출결 */
.attend {
  margin-top: var(--space-6);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--color-line-strong);
}

.attend > li {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-5) var(--space-4) var(--space-5) 0;
}

.attend > li + li {
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-line);
}

.attend strong { font-size: 1.0625rem; }

.attend p {
  font-size: var(--text-small);
  color: var(--color-text-muted);
}

@media (max-width: 760px) {
  .attend { grid-template-columns: 1fr; }
  .attend > li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--color-line); }
}

/* 장학 표 */
.scholar {
  margin-top: var(--space-6);
}

.scholar th,
.scholar td {
  padding: var(--space-4) var(--space-3);
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  vertical-align: middle;
  font-weight: var(--weight-regular);
}

.scholar thead th {
  border-bottom: 1px solid var(--color-line-strong);
  font-size: var(--text-small);
  color: var(--color-text-muted);
}

.scholar tbody th {
  width: 8.5rem;
  font-weight: var(--weight-bold);
  border-right: 1px solid var(--color-line);
}

.scholar tr.is-first > * {
  border-top: 1px solid var(--color-line-strong);
}

.scholar .req { line-height: 1.7; }

.scholar .benefit {
  width: 11rem;
  white-space: nowrap;
}

.scholar .benefit strong {
  font-size: 1.5rem;
  font-weight: var(--weight-heavy);
  letter-spacing: -0.02em;
}

/* 좁은 화면: 표 대신 카드처럼 — 구분은 각 요건 위에 작게 */
@media (max-width: 600px) {
  .scholar thead { display: none; }
  .scholar, .scholar tbody, .scholar tr, .scholar td { display: block; width: auto; }
  .scholar tbody th { display: none; }
  .scholar tr { padding-block: var(--space-4); border-bottom: 1px solid var(--color-line); }
  .scholar tr.is-first > * { border-top: 0; }
  .scholar td { padding: 0; border: 0; }
  .scholar .req::before {
    content: attr(data-cat);
    display: block;
    margin-bottom: var(--space-1);
    font-size: var(--text-label);
    letter-spacing: var(--tracking-wide);
    color: var(--color-text-muted);
  }
  .scholar .benefit { margin-top: var(--space-2); }
}

/* 탭 바로 아래 첫 묶음은 위 줄을 겹쳐 긋지 않는다 */
.subnav + .info-sec {
  border-top: 0;
  padding-top: var(--space-4);
}

.attend p { text-align: start; }
