/* 프로그램 상세 페이지 */
.pd-hero { margin-bottom: 2.5rem; }
.pd-hero .back-link { display: inline-block; margin-bottom: 1.5rem; font-size: 0.9rem; }
.pd-hero-image { border-radius: var(--radius); overflow: hidden; margin-bottom: 1.5rem; background: var(--gray-100); }
.pd-hero-image img, .pd-hero-image .img-placeholder { width: 100%; }
.pd-subtitle { font-size: 1.05rem; color: var(--text-light); margin-top: 0.5rem; line-height: 1.6; }
.pd-meta { display: flex; gap: 1.5rem; margin-top: 1rem; font-size: 0.9rem; color: var(--text-muted); }
.pd-meta span { display: flex; align-items: center; gap: 4px; }
.pd-body { margin-bottom: 2.5rem; }
.pd-section { margin-bottom: 2rem; }
.pd-heading { font-size: 1.1rem; font-weight: 700; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--gray-200); }
.pd-section > p { font-size: 0.95rem; line-height: 1.8; color: var(--text-light); }
.pd-list { list-style: none; padding: 0; }
.pd-list li { padding: 0.6rem 0 0.6rem 1.75rem; position: relative; font-size: 0.93rem; line-height: 1.6; }
.pd-list.check li::before { content: '✓'; position: absolute; left: 0; color: var(--secondary); font-weight: 700; }
.pd-list.star li::before { content: '★'; position: absolute; left: 0; color: var(--accent); font-size: 0.85rem; }
.pd-steps { counter-reset: step; list-style: none; padding: 0; }
.pd-steps li { counter-increment: step; padding: 1rem 1rem 1rem 3.5rem; position: relative; background: var(--gray-50); border-radius: var(--radius-sm); margin-bottom: 0.75rem; }
.pd-steps li::before {
    content: counter(step); position: absolute; left: 1rem; top: 1rem;
    width: 26px; height: 26px; background: var(--primary); color: #fff; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700;
}
.pd-steps strong { display: block; font-size: 0.95rem; margin-bottom: 2px; }
.pd-steps span { font-size: 0.85rem; color: var(--text-light); line-height: 1.5; }
.pd-note { background: var(--blue-50, #EBF5FF); border-left: 4px solid var(--primary); padding: 1rem 1.25rem; border-radius: var(--radius-sm); margin-top: 1rem; }
.pd-note strong { display: block; margin-bottom: 0.5rem; color: var(--primary); font-size: 0.95rem; }
.pd-note p { font-size: 0.85rem; color: var(--text-light); line-height: 1.6; }
