/* ============================================================
   programs/schedule.html (운영 및 일정) 전용 스타일
   ============================================================ */
.sched-section { max-width: var(--container-max); margin: 0 auto; padding: 40px var(--container-pad); }
@media (min-width: 768px) { .sched-section { padding: 80px var(--container-pad); } }
.sched-section--soft { background: var(--surface-soft); }
.sched-heading-center { font-size: 22px; font-weight: 800; color: var(--ink); margin: 0 0 12px; text-align: center; }
@media (min-width: 768px) { .sched-heading-center { font-size: 28px; } }
.sched-subtext-center { font-size: 14px; color: var(--ink-soft); text-align: center; margin: 0 auto 36px; max-width: 640px; line-height: 1.7; }
.sched-note { font-size: 12.5px; color: oklch(55% 0.02 260); text-align: center; margin-top: 28px; max-width: 700px; margin-left: auto; margin-right: auto; line-height: 1.6; }

.sched-flow { display: flex; flex-direction: column; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px; }
@media (min-width: 768px) { .sched-flow { flex-direction: row; gap: 0; } }
.sched-flow__item { display: flex; align-items: center; gap: 4px; }
@media (min-width: 768px) { .sched-flow__item { gap: 18px; } }
.sched-flow__block { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 18px; min-width: auto; }
@media (min-width: 768px) { .sched-flow__block { padding: 4px 10px; min-width: 110px; } }
.sched-flow__num { font-size: 13px; font-weight: 800; color: var(--blue); }
.sched-flow__label { font-size: 14px; font-weight: 700; color: var(--ink); text-align: center; }
@media (min-width: 768px) { .sched-flow__label { font-size: 13.5px; } }
.sched-flow__arrow { font-size: 18px; color: oklch(75% 0.02 260); transform: rotate(90deg); }
@media (min-width: 768px) { .sched-flow__arrow { transform: none; } }

.sched-division-grid { max-width: var(--container-max); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 768px) { .sched-division-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1080px) { .sched-division-grid { grid-template-columns: repeat(4,1fr); } }
.sched-division-card { background: var(--paper); border: 1px solid var(--hair); border-radius: 6px; padding: 26px 22px; display: flex; flex-direction: column; gap: 8px; }
.sched-division-card__name { font-size: 20px; font-weight: 800; }
.sched-division-card__age { font-size: 13px; color: var(--ink-soft); margin-bottom: 10px; }
.sched-division-card__label { font-size: 11px; font-weight: 700; color: oklch(60% 0.02 260); text-transform: uppercase; letter-spacing: 0.05em; }
.sched-division-card__programs { font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 8px; }
.sched-division-card__feature { font-size: 13px; line-height: 1.6; color: var(--ink-soft); }

.sched-program-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 36px; }
@media (min-width: 768px) { .sched-program-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1080px) { .sched-program-grid { grid-template-columns: repeat(3,1fr); } }
.sched-program-card { position: relative; background: var(--paper); border: 1px solid var(--hair); border-radius: 6px; padding: 24px 24px 24px 28px; display: flex; flex-direction: column; gap: 10px; overflow: hidden; }
.sched-program-card__bar { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; }
.sched-program-card__title { font-size: 17px; font-weight: 800; color: var(--ink); }
.sched-program-card__desc { font-size: 13.5px; line-height: 1.7; color: var(--ink-soft); }
.sched-program-card__tags { font-size: 12px; color: oklch(55% 0.02 260); margin-top: 4px; }

.sched-timeline { max-width: var(--container-max); margin: 0 auto; display: flex; flex-direction: column; position: relative; }
@media (min-width: 768px) { .sched-timeline { flex-direction: row; } }
.sched-timeline__node { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 20px 0 20px 24px; border-left: 2px solid var(--hair); position: relative; }
@media (min-width: 768px) { .sched-timeline__node { padding: 0 16px; border-left: none; border-top: 2px solid var(--hair); } }
.sched-timeline__dot { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--blue); left: -6px; top: 20px; }
@media (min-width: 768px) { .sched-timeline__dot { left: 0; top: -6px; } }
.sched-timeline__period { font-size: 12px; font-weight: 800; color: var(--blue); letter-spacing: 0.03em; }
.sched-timeline__desc { font-size: 13.5px; font-weight: 700; color: var(--ink); line-height: 1.5; }
.sched-timeline__sub { font-size: 11.5px; color: var(--ink-soft); margin-top: 2px; }

.sched-coach-head { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.sched-heading-left { font-size: 22px; font-weight: 800; color: var(--ink); margin: 0 0 14px; }
@media (min-width: 768px) { .sched-heading-left { font-size: 28px; } }
.sched-coach-body { font-size: 14.5px; line-height: 1.8; color: var(--ink-soft); margin: 0; }
@media (min-width: 768px) { .sched-coach-body { font-size: 15.5px; } }

.sched-info-grid {
  display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--hair);
  border: 1px solid var(--hair); border-radius: 6px; overflow: hidden;
}
@media (min-width: 768px) { .sched-info-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1080px) { .sched-info-grid { grid-template-columns: repeat(4,1fr); } }
.sched-info-block { background: var(--paper); padding: 24px 20px; display: flex; flex-direction: column; gap: 8px; }
.sched-info-block__label { font-size: 11px; font-weight: 700; color: var(--blue); text-transform: uppercase; letter-spacing: 0.05em; }
.sched-info-block__value { font-size: 14.5px; font-weight: 700; color: var(--ink); line-height: 1.5; }
.sched-info-block__sub { font-size: 12.5px; color: var(--ink-soft); line-height: 1.5; }

.sched-activity-list { max-width: 640px; margin: 0 auto 8px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.sched-activity-list li { font-size: 14.5px; color: var(--ink); line-height: 1.6; }
.sched-levels-heading { font-size: 20px; font-weight: 800; color: var(--ink); margin: 56px 0 12px; text-align: center; }
@media (min-width: 768px) { .sched-levels-heading { font-size: 24px; } }
.sched-levels-row { max-width: 1100px; margin: 0 auto; display: flex; flex-direction: column; align-items: stretch; gap: 12px; justify-content: center; }
@media (min-width: 768px) { .sched-levels-row { flex-direction: row; gap: 0; } }
.sched-level-item { display: flex; flex-direction: column; align-items: center; flex: 1; gap: 12px; }
@media (min-width: 768px) { .sched-level-item { flex-direction: row; gap: 0; } }
.sched-level-card { flex: 1; background: var(--paper); border: 1px solid var(--hair); border-radius: 6px; padding: 24px 20px; display: flex; flex-direction: column; gap: 10px; width: 100%; }
.sched-level-card__badge { font-size: 12px; font-weight: 800; color: var(--blue); letter-spacing: 0.04em; }
.sched-level-card__title { font-size: 17px; font-weight: 800; color: var(--ink); }
.sched-level-card__list { margin: 0; padding: 0 0 0 16px; display: flex; flex-direction: column; gap: 4px; }
.sched-level-card__list li { font-size: 12.5px; color: var(--ink-soft); line-height: 1.6; }
.sched-level-arrow { font-size: 20px; color: oklch(75% 0.02 260); transform: rotate(90deg); }
@media (min-width: 768px) { .sched-level-arrow { padding: 0 10px; transform: none; } }

.sched-notice { max-width: 900px; margin: 0 auto; padding: 40px var(--container-pad) 56px; border-top: 1px solid var(--hair); }
@media (min-width: 768px) { .sched-notice { padding: 80px var(--container-pad) 96px; } }
.sched-notice__heading { font-size: 19px; font-weight: 800; color: var(--ink); margin: 0 0 14px; text-align: center; }
@media (min-width: 768px) { .sched-notice__heading { font-size: 22px; } }
.sched-notice__body { font-size: 13.5px; line-height: 1.8; color: var(--ink-soft); text-align: center; margin: 0 0 32px; }
.sched-principle-row { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .sched-principle-row { grid-template-columns: repeat(3,1fr); } }
.sched-principle-item { text-align: center; display: flex; flex-direction: column; gap: 6px; }
.sched-principle-item__title { font-size: 13.5px; font-weight: 800; color: var(--ink); }
.sched-principle-item__desc { font-size: 12.5px; color: var(--ink-soft); line-height: 1.6; }
