/* 校历页（programme.html）。标题横幅与时间地点卡沿用原样式；下面的学年校历用 yc- 前缀，避免和旧 sc- 样式互相影响 */

/* 标题横幅（保持原样） */
.sc-official {background:#fff}
.calendar-hero {background-image:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.86) 35%,rgba(255,255,255,.08) 75%),url('/assets/editorial/calendar-v1.jpg');background-size:cover;background-position:center 72%;border-bottom:1px solid #e5eae6}
.calendar-hero .co-wrap {min-height:280px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:34px}
.calendar-hero h1 {font-family:var(--mc-serif,var(--ls-serif));font-size:42px;line-height:1.25;color:#173d29;margin:0 0 18px}
.calendar-hero p {font-size:18px;margin:0;color:#354c3e}
.calendar-jump {margin-top:22px;color:#315b3c;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.sc-schedule {padding:24px 0;background:#fff;scroll-margin-top:100px}
@media(max-width:700px) {
 .calendar-hero {background-position:62% 72%;background-image:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.88) 55%,rgba(255,255,255,.4)),url('/assets/editorial/calendar-v1.jpg')}
 .calendar-hero .co-wrap {min-height:225px;padding-block:26px}
 .calendar-hero h1 {font-size:30px;margin-bottom:14px}
 .calendar-hero p {font-size:15px}
 .calendar-jump {margin-top:18px}
}

/* 学年校历 */
.yc-year {
 --yc-ink:#2f4a28; --yc-muted:#6b7766;
 --yc-green:#538047; --yc-green-bg:#eaf2e6; --yc-green-soft:#f3f8f1;
 --yc-pink:#b3505a; --yc-pink-bg:#fbe7e6; --yc-pink-accent:#e8737a;
 --yc-grey-bg:#f1f2f0; --yc-grey-ink:#8a9188;
 background:#fff;padding:12px 0 44px;scroll-margin-top:100px;color:var(--yc-ink)
}
.yc-year *,.yc-year *::before,.yc-year *::after {box-sizing:border-box}
.yc-heading {display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 20px;margin-bottom:18px}
.yc-heading h2 {margin:0;font-size:26px;font-weight:700;line-height:1.4;color:var(--yc-ink)}
.yc-heading p {margin:0;font-size:14px;line-height:1.7;color:var(--yc-muted)}
.yc-foot {margin:18px 0 0;font-size:13px;color:var(--yc-muted)}

/* 下一次上课 */
.yc-next {display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:14px 18px;margin-bottom:16px;border-radius:14px;background:linear-gradient(100deg,#fdf1f0,#f6faf4)}
.yc-next-label {font-size:13px;font-weight:600;color:var(--yc-pink);background:#fff;border-radius:999px;padding:2px 12px}
.yc-next strong {font-size:19px;font-weight:700;color:var(--yc-ink)}
.yc-next .yc-tags {flex:0 1 auto}

/* 图例 */
.yc-legend {list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--yc-muted)}
.yc-legend li {display:inline-flex;align-items:center;gap:8px}
.yc-legend .yc-chip {padding:1px 9px}
.yc-swatch {display:inline-block;width:22px;height:16px;border-radius:5px}
.yc-swatch-tentative {background:var(--yc-green-soft);box-shadow:inset 0 0 0 1px #d9e6d4}
.yc-swatch-holiday {background:var(--yc-grey-bg)}
.yc-swatch-pending {background:#fff;box-shadow:inset 0 0 0 1px #e6e8e5}

/* 月份 */
.yc-months {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.yc-month {background:#fcfdfb;border-radius:14px;padding:0 0 10px;box-shadow:0 1px 0 rgba(47,74,40,.04),0 0 0 1px #edf1eb;min-width:0}
.yc-month h3 {display:flex;align-items:baseline;justify-content:space-between;margin:0 0 6px;padding:10px 16px;border-radius:14px 14px 0 0;background:linear-gradient(110deg,#e8f1e4,#f7faf5);font-size:20px;font-weight:700;line-height:1.4;color:var(--yc-ink)}
.yc-month h3 small {font-size:13px;font-weight:500;color:var(--yc-muted)}
.yc-month ol {list-style:none;margin:0;padding:0 10px;display:grid;gap:6px}

/* 每个周日 */
.yc-day {display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:6px 10px;border-radius:10px;background:#fff;font-size:14px;line-height:1.5}
.yc-day time {font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--yc-ink)}
.yc-tags {display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.yc-day-class {background:#fff}
.yc-day-tentative {background:var(--yc-green-soft)}
.yc-day-holiday {background:var(--yc-grey-bg)}
.yc-day-holiday time,.yc-day-holiday .yc-plain {color:var(--yc-grey-ink)}
.yc-day-pending {background:transparent;box-shadow:inset 0 0 0 1px #eef0ed}
.yc-day-pending time,.yc-day-pending .yc-plain {color:#a3aaa1}
.yc-day.is-past {opacity:.55}
.yc-day.is-next {background:#fff7f6;box-shadow:inset 0 0 0 2px #f0b3b5}
.yc-plain {color:var(--yc-ink)}
.yc-tbd {font-style:normal;font-size:12px;color:var(--yc-muted);margin-left:8px}
.yc-next-tag {font-style:normal;font-size:11px;font-weight:600;color:#fff;background:var(--yc-pink-accent);border-radius:999px;padding:1px 9px}

/* 班级小标签 */
.yc-chip {display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 8px;border-radius:999px;font-size:13px;line-height:1.6;white-space:nowrap;text-decoration:none}
.yc-chip b {font-weight:700}
.yc-chip-qm {background:var(--yc-green-bg);color:#36592c}
.yc-chip-jj {background:var(--yc-pink-bg);color:var(--yc-pink)}
.yc-chip-trial {background:#fff;box-shadow:inset 0 0 0 1px #c9dcc2}
.yc-chip-tentative {background:var(--yc-green-soft);color:var(--yc-muted)}
.yc-chip-jj.yc-chip-tentative {background:#fdf5f4;color:#b98a8e}
a.yc-chip {transition:background .15s ease}
a.yc-chip-qm:hover {background:#dbe9d5}
a.yc-chip-jj:hover {background:#f7d8d7}
a.yc-chip:focus-visible {outline:2px solid var(--yc-pink-accent);outline-offset:2px}

@media(max-width:1040px) {
 .yc-months {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px) {
 .yc-year {padding:8px 0 34px}
 .yc-heading h2 {font-size:23px}
 .yc-heading p {font-size:13px}
 .yc-next {padding:12px 14px;gap:6px 12px}
 .yc-next strong {font-size:17px}
 .yc-legend {gap:8px 14px;font-size:12px}
 .yc-months {grid-template-columns:minmax(0,1fr);gap:14px}
 .yc-month ol {padding:0 8px}
 .yc-day {grid-template-columns:30px minmax(0,1fr);padding:6px 8px;gap:6px}
 .yc-chip {font-size:12.5px;padding:2px 9px 2px 7px;gap:5px}
}
