/**
 * 编程学院页专属样式
 * 深色基调 + 竞赛金强调
 */

/* ===== 课程进阶时间轴 ===== */
.edu-pathway { position: relative; padding: 0; }
.edu-pathway__track {
    position: relative; display: flex; justify-content: space-between;
    max-width: 960px; margin: 0 auto;
}
.edu-pathway__track::before {
    content: ''; position: absolute; top: 48px; left: 10%; right: 10%;
    height: 3px; background: linear-gradient(90deg, rgba(201,168,76,0.3), rgba(201,168,76,0.8), rgba(201,168,76,0.3));
    z-index: 0;
}
.edu-pathway__stage {
    position: relative; z-index: 1; text-align: center; flex: 1;
    padding: 0 16px; cursor: pointer;
}
.edu-pathway__stage-dot {
    width: 24px; height: 24px; border-radius: 50%; background: var(--edu-tech-blue);
    border: 3px solid rgba(201,168,76,0.3); margin: 0 auto 16px;
    position: relative; z-index: 1; transition: all 0.4s;
}
.edu-pathway__stage--active .edu-pathway__stage-dot,
.edu-pathway__stage:hover .edu-pathway__stage-dot {
    background: var(--edu-gold); border-color: var(--edu-gold);
    box-shadow: 0 0 20px rgba(201,168,76,0.5);
}
.edu-pathway__stage-label {
    font-size: 0.9rem; font-weight: 600; color: var(--edu-primary);
    margin-bottom: 4px;
}
.edu-pathway__stage--active .edu-pathway__stage-label { color: var(--edu-gold); }
.edu-pathway__stage-desc { font-size: 0.75rem; color: var(--edu-text-muted); max-width: 160px; margin: 0 auto; }

/* ===== 课程网格 ===== */
.edu-course-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.edu-course-card {
    background: #fff; border-radius: var(--edu-radius);
    box-shadow: var(--edu-shadow); overflow: hidden; transition: all 0.3s;
    border: 1px solid transparent;
}
.edu-course-card:hover {
    transform: translateY(-4px); box-shadow: var(--edu-shadow-hover);
    border-color: var(--edu-gold);
}
.edu-course-card__img { height: 180px; overflow: hidden; background: var(--edu-tech-blue); }
.edu-course-card__img img { width: 100%; height: 100%; object-fit: cover; }
.edu-course-card__body { padding: 20px; }
.edu-course-card__title { font-size: 1.125rem; font-weight: 600; margin-bottom: 8px; color: var(--edu-primary); }
.edu-course-card__meta { display: flex; gap: 16px; font-size: 0.8rem; color: var(--edu-text-muted); margin-bottom: 12px; }
.edu-course-card__desc { font-size: 0.875rem; color: var(--edu-text-muted); line-height: 1.6; }

/* ===== 师资卡片 ===== */
.edu-teacher-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
.edu-teacher-card { text-align: center; padding: 32px 20px; }
.edu-teacher-card__avatar {
    width: 120px; height: 120px; border-radius: 50%; margin: 0 auto 16px;
    border: 3px solid var(--edu-gold); overflow: hidden; box-shadow: 0 0 20px rgba(201,168,76,0.15);
}
.edu-teacher-card__avatar img { width: 100%; height: 100%; object-fit: cover; }
.edu-teacher-card__name { font-size: 1.125rem; font-weight: 600; margin-bottom: 4px; }
.edu-teacher-card__title { font-size: 0.8rem; color: var(--edu-gold); font-weight: 500; margin-bottom: 8px; }
.edu-teacher-card__bio { font-size: 0.8rem; color: var(--edu-text-muted); line-height: 1.5; }

/* ===== 竞赛捷报墙 ===== */
.edu-awards-timeline { max-width: 720px; margin: 0 auto; }
.edu-awards-filters { display: flex; gap: 8px; justify-content: center; margin-bottom: 32px; flex-wrap: wrap; }
.edu-awards-filter {
    padding: 6px 20px; border: 1.5px solid var(--edu-bg-light);
    border-radius: 999px; background: #fff; font-size: 0.875rem;
    font-weight: 500; cursor: pointer; transition: all 0.2s;
    color: var(--edu-text-muted);
}
.edu-awards-filter:hover,
.edu-awards-filter--active { border-color: var(--edu-gold); color: var(--edu-gold); background: rgba(201,168,76,0.05); }
.edu-award-item {
    display: flex; gap: 20px; padding: 20px; border-left: 3px solid var(--edu-gold);
    margin-bottom: 16px; background: #fff; border-radius: 0 var(--edu-radius) var(--edu-radius) 0;
    box-shadow: var(--edu-shadow); transition: transform 0.3s;
}
.edu-award-item__badge {
    flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%;
    background: rgba(201,168,76,0.1); display: flex;
    align-items: center; justify-content: center; font-size: 1.25rem;
}
.edu-award-item__content { flex: 1; }
.edu-award-item__title { font-weight: 600; margin-bottom: 4px; }
.edu-award-item__meta { font-size: 0.8rem; color: var(--edu-text-muted); }
.edu-award-item__note { font-size: 0.75rem; color: var(--edu-green); margin-top: 4px; }

/* ===== 作品画廊 ===== */
.edu-gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.edu-gallery-item {
    aspect-ratio: 4/3; overflow: hidden; border-radius: var(--edu-radius);
    cursor: pointer; position: relative; background: var(--edu-tech-blue);
}
.edu-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.edu-gallery-item:hover img { transform: scale(1.05); }
.edu-gallery-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.9); z-index: 9999;
    display: none; align-items: center; justify-content: center; cursor: pointer;
}
.edu-gallery-overlay--open { display: flex; }
.edu-gallery-overlay img { max-width: 90vw; max-height: 90vh; border-radius: 4px; }

@media (max-width: 768px) {
    .edu-pathway__track { flex-direction: column; gap: 24px; }
    .edu-pathway__track::before { left: 24px; top: 0; bottom: 0; width: 3px; height: auto; }
    .edu-pathway__stage { text-align: left; padding-left: 48px; display: flex; align-items: center; gap: 16px; }
    .edu-pathway__stage-dot { position: absolute; left: 12px; margin: 0; }
    .edu-course-grid { grid-template-columns: 1fr 1fr; }
    .edu-teacher-grid { grid-template-columns: 1fr 1fr; }
    .edu-gallery-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .edu-course-grid { grid-template-columns: 1fr; }
    .edu-teacher-grid { grid-template-columns: 1fr; }
}
