
/* =========================================================
   V24.1 — Calendar detail links + dedicated event page
   ========================================================= */

.cal241-details-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  padding:7px 10px;
  border:1px solid #d9e6f2;
  border-radius:9px;
  background:#f7fbff;
  color:#0c63b8;
  font-size:8.5px;
  font-weight:900;
  text-decoration:none;
  transition:.18s ease;
}

.cal241-details-link:hover{
  transform:translateX(-2px);
  border-color:#b7d1e8;
  background:#edf6ff;
}

.cal241-details-link--featured{
  margin-top:0;
  border-color:rgba(255,255,255,.25);
  background:rgba(255,255,255,.12);
  color:#fff;
}

.cal24-featured-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
}

.cal241-show{
  padding:34px 0 58px;
  background:linear-gradient(180deg,#f3f7fc,#f8fbff 55%,#f4f8fc);
  direction:rtl;
}

.cal241-show__hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:28px;
  align-items:center;
  padding:30px 32px;
  border-radius:22px;
  background:linear-gradient(135deg,#073d7e,#0b68c7);
  color:#fff;
  box-shadow:0 16px 34px rgba(7,59,121,.12);
}

.cal241-show__back{
  display:inline-flex;
  margin-bottom:16px;
  color:#d6eaff;
  font-size:9px;
  font-weight:900;
  text-decoration:none;
}

.cal241-show__badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}

.cal241-show__featured{
  min-height:27px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  background:#fff1cf;
  color:#9c6700;
  font-size:8px;
  font-weight:900;
}

.cal241-show__hero h1{
  margin:10px 0 7px;
  font-size:34px;
  line-height:1.45;
}

.cal241-show__hero p{
  max-width:760px;
  margin:0;
  color:#dcecff;
  font-size:10px;
  line-height:1.95;
}

.cal241-show__date-card{
  min-height:135px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:rgba(255,255,255,.1);
}

.cal241-show__date-card strong{
  font-size:40px;
  line-height:1;
}

.cal241-show__date-card span{
  margin-top:8px;
  font-size:12px;
  font-weight:900;
}

.cal241-show__date-card small{
  margin-top:3px;
  color:#cbe4ff;
  font-size:8px;
}

.cal241-show__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 270px;
  gap:18px;
  align-items:start;
  margin-top:18px;
}

.cal241-show__main{
  display:grid;
  gap:14px;
}

.cal241-show__info,
.cal241-show__description,
.cal241-related{
  padding:22px;
  border:1px solid #dfe8f2;
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 24px rgba(5,37,81,.045);
}

.cal241-show__section-head span{
  color:#0a66c2;
  font-size:8px;
  font-weight:900;
}

.cal241-show__section-head h2{
  margin:4px 0 14px;
  color:#173a61;
  font-size:19px;
}

.cal241-show__info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.cal241-show__info-grid>div{
  padding:14px;
  border:1px solid #e6edf4;
  border-radius:12px;
  background:#f8fbff;
}

.cal241-show__info-grid small,
.cal241-show__info-grid strong{
  display:block;
}

.cal241-show__info-grid small{
  color:#8595a6;
  font-size:8px;
}

.cal241-show__info-grid strong{
  margin-top:5px;
  color:#284866;
  font-size:11px;
}

.cal241-show__info-wide{
  grid-column:1/-1;
}

.cal241-show__description p{
  margin:0;
  color:#667a8e;
  font-size:10px;
  line-height:2;
}

.cal241-related__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.cal241-related__card{
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid #e2eaf2;
  border-radius:13px;
  color:inherit;
  text-decoration:none;
  background:#fff;
  transition:.18s ease;
}

.cal241-related__card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(5,37,81,.07);
}

.cal241-related__date{
  min-height:74px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:#eef5fd;
}

.cal241-related__date strong{
  color:#0a5eb4;
  font-size:24px;
}

.cal241-related__date span{
  color:#5f7286;
  font-size:8px;
  font-weight:800;
}

.cal241-related__card small{
  color:#0a67bd;
  font-size:7px;
  font-weight:900;
}

.cal241-related__card h3{
  margin:4px 0 7px;
  color:#254663;
  font-size:11px;
  line-height:1.6;
}

.cal241-related__card>div:last-child>span{
  color:#0c64b7;
  font-size:8px;
  font-weight:900;
}

.cal241-show__aside{
  display:grid;
  gap:11px;
  position:sticky;
  top:92px;
}

.cal241-show__aside>section,
.cal241-show__all{
  padding:17px;
  border:1px solid #dfe8f2;
  border-radius:16px;
  background:#fff;
  box-shadow:0 9px 24px rgba(5,37,81,.045);
}

.cal241-show__aside-icon{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#edf5ff;
}

.cal241-show__aside small{
  display:block;
  margin-top:7px;
  color:#0a65bf;
  font-size:7px;
  font-weight:900;
}

.cal241-show__aside h3{
  margin:4px 0 7px;
  color:#173a61;
  font-size:15px;
}

.cal241-show__aside p{
  margin:0;
  color:#7a8b9b;
  font-size:8px;
  line-height:1.9;
}

.cal241-show__all{
  display:grid;
  grid-template-columns:39px 1fr auto;
  gap:10px;
  align-items:center;
  color:inherit;
  text-decoration:none;
}

.cal241-show__all>span{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#0a61b9;
}

.cal241-show__all small,
.cal241-show__all strong{
  display:block;
}

.cal241-show__all small{
  color:#8796a5;
  font-size:7px;
}

.cal241-show__all strong{
  margin-top:3px;
  color:#24445f;
  font-size:10px;
}

.cal241-show__all b{
  color:#0a61b9;
}

@media(max-width:920px){
  .cal241-show__layout{
    grid-template-columns:1fr;
  }

  .cal241-show__aside{
    position:static;
    grid-template-columns:1fr 1fr;
  }

  .cal241-related__grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .cal241-show{
    padding-top:22px;
  }

  .cal241-show__hero{
    grid-template-columns:1fr;
    padding:22px 18px;
  }

  .cal241-show__hero h1{
    font-size:27px;
  }

  .cal241-show__date-card{
    min-height:100px;
  }

  .cal241-show__info-grid{
    grid-template-columns:1fr;
  }

  .cal241-show__info-wide{
    grid-column:auto;
  }

  .cal241-show__aside{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   V30.0 — Event details readability polish
   ========================================================= */
.cal241-show{padding:38px 0 68px!important}
.cal241-show__hero{padding:34px 36px!important;border-radius:24px!important;grid-template-columns:minmax(0,1fr) 158px!important;box-shadow:0 18px 42px rgba(7,59,121,.13)!important}
.cal241-show__back{font-size:10px!important;color:#eef7ff!important}
.cal241-show__hero h1{font-size:36px!important;line-height:1.42!important}
.cal241-show__hero p{font-size:13px!important;line-height:1.95!important;color:#eef7ff!important}
.cal241-show__date-card{min-height:145px!important;background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.25)!important}
.cal241-show__date-card strong{font-size:43px!important}.cal241-show__date-card span{font-size:13px!important}.cal241-show__date-card small{font-size:9px!important;color:#e6f3ff!important}
.cal241-show__layout{grid-template-columns:minmax(0,1fr) 286px!important;gap:18px!important}
.cal241-show__info,.cal241-show__description,.cal241-related{padding:25px!important;border-radius:18px!important}
.cal241-show__section-head span{font-size:9.5px!important}.cal241-show__section-head h2{font-size:22px!important;margin:5px 0 16px!important}
.cal241-show__info-grid>div{padding:16px!important;border-radius:12px!important;background:#f8fbff!important}.cal241-show__info-grid small{font-size:9px!important}.cal241-show__info-grid strong{font-size:12px!important;margin-top:6px!important}
.cal241-show__description p{font-size:12.5px!important;line-height:2!important;color:#5d7388!important}
.cal241-related__card{padding:14px!important}.cal241-related__card small{font-size:8.5px!important}.cal241-related__card h3{font-size:12px!important;line-height:1.65!important}.cal241-related__card>div:last-child>span{font-size:9px!important}
.cal241-show__aside>section,.cal241-show__all{padding:19px!important}.cal241-show__aside small{font-size:8.5px!important}.cal241-show__aside h3{font-size:17px!important}.cal241-show__aside p{font-size:10px!important;line-height:1.9!important}.cal241-show__all small{font-size:8px!important}.cal241-show__all strong{font-size:11px!important}
@media(max-width:620px){.cal241-show__hero{grid-template-columns:1fr!important;padding:25px 20px!important}.cal241-show__hero h1{font-size:29px!important}.cal241-show__hero p{font-size:12px!important}.cal241-show__date-card{min-height:105px!important}.cal241-show__info,.cal241-show__description,.cal241-related{padding:19px!important}}


/* =========================================================
   V46.2 — Academic Calendar Readability
   Calendar list + event detail.
   Loaded last after calendar-v15.css and calendar-v240.css.
   ========================================================= */

/* Main calendar hero */
.cal15-hero__copy>span,
.cal15-kicker{
  font-size:13px!important;
  font-weight:900!important;
}
.cal15-hero h1{
  color:#fff!important;
  font-size:40px!important;
  line-height:1.35!important;
  font-weight:900!important;
}
.cal15-hero p{
  color:#f4f9ff!important;
  font-size:16px!important;
  line-height:1.9!important;
  font-weight:650!important;
}
.cal15-hero__stats b{
  font-size:28px!important;
  font-weight:900!important;
}
.cal15-hero__stats small{
  color:#f2f8ff!important;
  font-size:12px!important;
  font-weight:800!important;
}

/* Toolbar / filters */
.cal15-toolbar h2{
  color:#173b60!important;
  font-size:27px!important;
  font-weight:900!important;
}
.cal15-filters button{
  min-height:39px!important;
  padding:0 14px!important;
  color:#405d77!important;
  font-size:11.5px!important;
  font-weight:900!important;
}

/* Featured event */
.cal15-featured__date strong{
  font-size:40px!important;
}
.cal15-featured__date span{
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
}
.cal15-featured__date small{
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
}
.cal15-featured__content h2{
  color:#fff!important;
  font-size:27px!important;
  line-height:1.45!important;
  font-weight:900!important;
}
.cal15-featured__content p{
  color:#f3f8ff!important;
  font-size:15px!important;
  line-height:1.9!important;
  font-weight:650!important;
}
.cal15-badge,
.cal24-state{
  font-size:10.5px!important;
  font-weight:900!important;
}
.cal24-featured-meta span{
  color:#f3f8ff!important;
  font-size:11px!important;
  font-weight:850!important;
}
.cal241-details-link,
.cal241-details-link--featured{
  font-size:11.5px!important;
  font-weight:900!important;
}

/* Timeline event cards */
.cal15-event__date strong{
  color:#0b61ad!important;
  font-size:32px!important;
  font-weight:900!important;
}
.cal15-event__date span{
  color:#355774!important;
  font-size:12px!important;
  font-weight:900!important;
}
.cal15-event__date small{
  color:#385f7e!important;
  font-size:12px!important;
  font-weight:900!important;
}
.cal15-event__top>small{
  color:#5f768c!important;
  font-size:11px!important;
  font-weight:850!important;
}
.cal15-event h3{
  color:#173b60!important;
  font-size:20px!important;
  line-height:1.5!important;
  font-weight:900!important;
}
.cal15-event p{
  color:#435d75!important;
  font-size:14px!important;
  line-height:1.85!important;
  font-weight:550!important;
}
.cal15-event__meta span{
  color:#536b82!important;
  font-size:10.5px!important;
  font-weight:750!important;
}
.cal15-event .cal241-details-link{
  margin-top:9px!important;
  padding:8px 11px!important;
  font-size:11px!important;
}

/* Quick upcoming sidebar — the area highlighted by the user */
.cal15-side>section>small{
  color:#0b65ba!important;
  font-size:11.5px!important;
  font-weight:900!important;
}
.cal15-side h3{
  color:#173b60!important;
  font-size:22px!important;
  line-height:1.5!important;
  font-weight:900!important;
}
.cal15-summary div{
  padding:12px 0!important;
  color:#3f5870!important;
  font-size:12px!important;
  line-height:1.65!important;
  font-weight:700!important;
}
.cal15-summary strong{
  color:#173b60!important;
  font-size:12px!important;
  font-weight:900!important;
}
.cal15-summary span{
  color:#405d77!important;
  font-size:11.5px!important;
  font-weight:750!important;
}

/* Academic notice */
.cal15-note strong{
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
}
.cal15-note p{
  color:#f2f8ff!important;
  font-size:12.5px!important;
  line-height:1.9!important;
  font-weight:650!important;
}

/* Semester card */
.cal3033-semester-season{
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
}
.cal3033-semester-cycle{
  color:#fff!important;
  font-size:18px!important;
  font-weight:900!important;
}
.cal3033-semester-stat small{
  color:#eef7ff!important;
  font-size:11px!important;
  font-weight:800!important;
}

/* =========================================================
   Calendar event detail page
   ========================================================= */
.cal241-show__back{
  color:#eef7ff!important;
  font-size:12px!important;
  font-weight:900!important;
}
.cal241-show__featured{
  font-size:10.5px!important;
  font-weight:900!important;
}
.cal241-show__hero h1{
  color:#fff!important;
  font-size:38px!important;
  line-height:1.42!important;
  font-weight:900!important;
}
.cal241-show__hero p{
  color:#f4f9ff!important;
  font-size:16px!important;
  line-height:1.95!important;
  font-weight:650!important;
}
.cal241-show__date-card strong{
  font-size:43px!important;
  font-weight:900!important;
}
.cal241-show__date-card span{
  font-size:13px!important;
  font-weight:900!important;
}
.cal241-show__date-card small{
  color:#e8f4ff!important;
  font-size:11px!important;
  font-weight:800!important;
}

.cal241-show__section-head span{
  color:#0a66c2!important;
  font-size:12.5px!important;
  font-weight:900!important;
}
.cal241-show__section-head h2{
  color:#173b60!important;
  font-size:25px!important;
  line-height:1.5!important;
  font-weight:900!important;
}
.cal241-show__info-grid small{
  color:#5c7186!important;
  font-size:11.5px!important;
  font-weight:750!important;
}
.cal241-show__info-grid strong{
  color:#163e62!important;
  font-size:14px!important;
  line-height:1.6!important;
  font-weight:900!important;
}
.cal241-show__description p{
  color:#304b64!important;
  font-size:16px!important;
  line-height:2!important;
  font-weight:550!important;
}

/* Related events */
.cal241-related__date strong{
  color:#0863ad!important;
  font-size:25px!important;
  font-weight:900!important;
}
.cal241-related__date span{
  color:#536b82!important;
  font-size:11.5px!important;
  font-weight:800!important;
}
.cal241-related__card small{
  color:#60768b!important;
  font-size:11.5px!important;
  font-weight:750!important;
}
.cal241-related__card h3{
  color:#173f63!important;
  font-size:16.5px!important;
  line-height:1.6!important;
  font-weight:900!important;
}
.cal241-related__card>div:last-child>span{
  font-size:11.5px!important;
  font-weight:900!important;
}

/* Detail sidebar */
.cal241-show__aside small{
  color:#0a65bf!important;
  font-size:11px!important;
  font-weight:900!important;
}
.cal241-show__aside h3{
  color:#173a61!important;
  font-size:20px!important;
  font-weight:900!important;
}
.cal241-show__aside p{
  color:#52697f!important;
  font-size:13.5px!important;
  line-height:1.85!important;
  font-weight:550!important;
}
.cal241-show__all small{
  color:#60768b!important;
  font-size:11px!important;
  font-weight:750!important;
}
.cal241-show__all strong{
  color:#24445f!important;
  font-size:13.5px!important;
  font-weight:900!important;
}

@media(max-width:700px){
  .cal15-hero h1{font-size:31px!important}
  .cal15-hero p{font-size:15px!important}
  .cal15-featured__content h2{font-size:23px!important}
  .cal15-event h3{font-size:18px!important}
  .cal15-event p{font-size:13.5px!important}
  .cal15-side h3{font-size:20px!important}
  .cal15-summary div{font-size:11.5px!important}
  .cal241-show__hero h1{font-size:29px!important}
  .cal241-show__hero p{font-size:15px!important}
  .cal241-show__description p{font-size:15px!important}
}


/* =========================================================
   V46.3 — Academic Calendar Darker Typography
   Builds directly on V46.2.
   Focus: darker text and stronger contrast only.
   ========================================================= */

/* Featured event */
.cal15-featured__content h2{
  color:#ffffff!important;
  font-weight:950!important;
}
.cal15-featured__content p{
  color:#ffffff!important;
  font-weight:750!important;
}

/* Event cards */
.cal15-event h3{
  color:#0f2f4d!important;
  font-weight:950!important;
}
.cal15-event p{
  color:#2d465e!important;
  font-weight:650!important;
}
.cal15-event__date span{
  color:#294d69!important;
  font-weight:950!important;
}
.cal15-event__date small{
  color:#294d69!important;
  font-weight:950!important;
}
.cal15-event__top>small{
  color:#405c75!important;
  font-weight:900!important;
}
.cal15-event__meta span{
  color:#3e5870!important;
  font-weight:850!important;
}

/* Quick upcoming sidebar */
.cal15-side>section>small{
  color:#075aaa!important;
  font-weight:950!important;
}
.cal15-side h3{
  color:#102f4f!important;
  font-weight:950!important;
}
.cal15-summary div{
  color:#2c465f!important;
  font-weight:800!important;
}
.cal15-summary strong{
  color:#102f4f!important;
  font-weight:950!important;
}
.cal15-summary span{
  color:#2f4d67!important;
  font-weight:800!important;
}

/* Toolbar */
.cal15-toolbar h2{
  color:#102f4f!important;
  font-weight:950!important;
}
.cal15-kicker{
  color:#075aaa!important;
  font-weight:950!important;
}
.cal15-filters button{
  color:#2f4d67!important;
  font-weight:950!important;
}

/* Academic notice */
.cal15-note strong{
  color:#ffffff!important;
  font-weight:950!important;
}
.cal15-note p{
  color:#ffffff!important;
  font-weight:750!important;
}

/* Calendar event detail page — same darker standard */
.cal241-show__section-head h2,
.cal241-show__aside h3,
.cal241-related__card h3{
  color:#102f4f!important;
  font-weight:950!important;
}
.cal241-show__description p,
.cal241-show__aside p{
  color:#2d465e!important;
  font-weight:650!important;
}
.cal241-show__info-grid strong{
  color:#173b5b!important;
  font-weight:950!important;
}
.cal241-show__info-grid small,
.cal241-related__card small,
.cal241-related__date span,
.cal241-show__all small{
  color:#465f77!important;
  font-weight:800!important;
}
