/* ============================================================
   MOUNT CARMEL — Academic Calendar 2026–27
   ============================================================ */

.cal{padding:20px 0 120px;background:var(--paper)}

/* ---------- filter bar ---------- */
.cal__bar{position:sticky;top:70px;z-index:20;background:var(--paper);
  padding:16px 0 18px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.cal__filters{display:flex;flex-wrap:wrap;gap:8px}
.cal__f{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.02em;
  color:var(--text);background:transparent;border:1px solid var(--line);border-radius:100px;
  padding:8px 16px;cursor:pointer;transition:.22s}
.cal__f i{font-style:normal;opacity:.5;margin-left:4px}
.cal__f:hover{border-color:var(--gold);color:var(--gold-d)}
.cal__f.is-on{background:var(--green);border-color:var(--green);color:#fff}
.cal__f.is-on i{opacity:.7}
.cal__next{margin:14px 0 0;font-size:13.5px;color:var(--muted)}
.cal__next b{color:var(--green);font-weight:600}

/* ---------- months ---------- */
.cal__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:22px;align-items:start}
.cal__m{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 24px 12px;transition:opacity .3s}
.cal__m.is-empty{display:none}

.cal__mh{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding-bottom:14px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.cal__mh h3{font-family:var(--serif);font-weight:600;font-size:1.45rem;color:var(--ink);margin:0}
.cal__mh h3 span{color:var(--muted);font-weight:400;font-size:.72em}
.cal__theme{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--green);background:var(--tint);border-radius:100px;padding:5px 11px;white-space:nowrap}

/* ---------- events ---------- */
.cal__list{list-style:none;margin:0;padding:0}
.cal__ev{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;
  padding:11px 0;border-bottom:1px solid var(--line)}
.cal__ev:last-child{border-bottom:0}
.cal__ev.is-hid{display:none}
.cal__d{font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--ink);text-align:right}
.cal__n{font-size:13.6px;color:var(--text);line-height:1.45}
.cal__t{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border-radius:100px;padding:4px 9px;white-space:nowrap;border:1px solid transparent}

.cal__t--exam {color:#8a2f2f;background:rgba(150,50,50,.10);border-color:rgba(150,50,50,.28)}
.cal__t--hol  {color:#6b4d05;background:rgba(190,150,40,.14);border-color:rgba(190,150,40,.36)}
.cal__t--fest {color:#8a4a12;background:rgba(200,110,30,.11);border-color:rgba(200,110,30,.28)}
.cal__t--feast{color:var(--green);background:var(--tint);border-color:rgba(31,77,58,.22)}
.cal__t--ptm  {color:#274b7a;background:rgba(40,80,140,.10);border-color:rgba(40,80,140,.26)}
.cal__t--act  {color:var(--muted);background:transparent;border-color:var(--line)}
.cal__t--key  {color:var(--ink);background:transparent;border-color:var(--ink);opacity:.55}

/* the next event coming up */
.cal__ev.is-next{background:linear-gradient(90deg,rgba(190,150,40,.10),transparent 70%);
  margin:0 -12px;padding-left:12px;padding-right:12px;border-radius:8px}
.cal__ev.is-next .cal__d{color:var(--gold-d)}

.cal__note{margin-top:34px;text-align:center;font-size:13px;color:var(--muted)}

/* ---------- dark ---------- */
[data-theme="dark"] .cal__t--exam {color:#e88b8b;background:rgba(200,90,90,.14);border-color:rgba(200,90,90,.3)}
[data-theme="dark"] .cal__t--hol  {color:#f0d17a;background:rgba(190,150,40,.16)}
[data-theme="dark"] .cal__t--fest {color:#e8a765;background:rgba(200,110,30,.15);border-color:rgba(200,110,30,.32)}
[data-theme="dark"] .cal__t--ptm  {color:#8fb3e0;background:rgba(80,130,200,.14);border-color:rgba(80,130,200,.3)}
[data-theme="dark"] .cal__f.is-on {color:#0f1113}

/* ---------- phone ---------- */
@media(max-width:860px){
  .cal{padding:8px 0 80px}
  .cal__bar{top:62px;padding:12px 0 14px}
  .cal__f{font-size:12px;padding:7px 13px}
  .cal__grid{grid-template-columns:1fr;gap:16px}
  .cal__m{padding:20px 18px 8px}
  .cal__mh h3{font-size:1.3rem}
  .cal__ev{grid-template-columns:26px 1fr;row-gap:5px}
  .cal__t{grid-column:2;justify-self:start}
}
