
/* schedule.css — Standalone schedule styles (scoped under .sched) */
:root {
  --primary: #862633;
  --secondary: #001A72;
  --silver: #C0C0C0;
  --card: #131827;
  --text: #e8eaf1;
  --muted: #aeb6d3;
  --bg-soft: #0f1320;
}

/* Wrapper */
.sched { color: var(--text, #e8eaf1); }

/* Toolbar */
.sched .sched-toolbar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .75rem;
  align-items: center;
  margin-bottom: .75rem;
}
.sched .sched-filters { 
	display: flex; 
	flex-wrap: wrap; 
	gap: .5rem; 
}
.sched .sched-search {
  background: var(--bg-soft, #0f1320);
  border: 0px solid rgba(192,192,192,.25);
  padding: .6rem .8rem;
  color: var(--text, #e8eaf1);
  width: min(360px, 100%);
}

/* Pills */
.sched .pill {
  background: #373737;
  color: var(--text, #e8eaf1);
  border: 0px solid rgba(192,192,192,.25);
  padding: .5rem .8rem;
  cursor: pointer;
  font-weight: 600;
}
.sched .pill.active {
  /*background: linear-gradient(180deg, var(--secondary, #001A72), var(--primary, #862633));*/
  background-color: #862633;
  /*border-color: transparent;*/
}

/* Day tabs */
/* === Schedule tabs: responsive + hover/active === */
.sched .sched-tabs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: .5rem;
  margin: .75rem 0 1rem;
}
.sched .sched-tab {
  display: grid; place-items: center;
  padding: .55rem .75rem;
  border: 1.5px solid rgba(134,38,51,.25);
  background: rgba(15,19,32,.6);
  color: var(--text, #e8eaf1);
  cursor: pointer;
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .08s ease;
}
.sched .sched-tab[aria-selected="true"] {
  background: var(--card, #131827);
  border-color: var(--silver, #C0C0C0);
}
.sched .sched-tab .date { 
	font-weight: 800; 
	line-height: 1.1;
	text-transform: uppercase;
}
.sched .sched-tab .dow  { 
	font-size: 1.5rem; 
	color: var(--muted, #aeb6d3); 
	text-transform: uppercase;
	font-weight: b
}

/* Hover (only on devices that support hover) */
@media (hover:hover) {
  .sched .sched-tab:hover {
    border-color: #862633;
    box-shadow: 0 0 0 2px rgba(134,38,51,.18) inset, 0 6px 18px rgba(0,0,0,.25);
    background: linear-gradient(180deg, rgba(134,38,51,.12), rgba(0,26,114,.06));
  }
}

/* Active (selected) */
.sched .sched-tab[aria-selected="true"] {
  border-color: #862633;
  background-color: #862633;
}

/* Pressed */
.sched .sched-tab:active { transform: translateY(1px); }

/* Focus ring for keyboard users */
.sched .sched-tab:focus-visible {
  outline: 2px solid var(--secondary, #001A72);
  outline-offset: 2px;
}

/* === Mobile: horizontal scrollable pills with snap === */
@media (max-width: 640px) {
  .sched .sched-tabs {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding-bottom: .5rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .sched .sched-tab {
    flex: 0 0 auto;
    min-width: 118px;
    scroll-snap-align: start;
  }
  /* Optional soft edge fade to hint scroll */
  .sched .sched-tabs {
    mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
  }
}

/* Grid + cards */
.sched .sched-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1rem;
}
.sched .sched-card {
  grid-column: span 6;
  background: var(--card, #131827);
  border: 1px solid rgba(192,192,192,.15);
  overflow: clip;
  box-shadow: 0 10px 25px rgba(0,0,0,.25);
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .45s ease, transform .45s ease;
}
.sched .sched-card.reveal { opacity: 1; transform: none; }
@media (max-width: 1100px) { .sched .sched-card { grid-column: span 12; } }

.sched .sched-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .75rem;
  align-items: center;
  padding: .9rem 1rem .6rem;
  border-bottom: 1px dashed rgba(192,192,192,.2);
}
.sched .sched-time { font-weight: 800; font-size: 1.05rem; color: var(--silver, #C0C0C0); }
.sched .sched-title { font-weight: 700; margin: 0; }
.sched .sched-aud { display: flex; gap: .35rem; }

.sched .sched-tag {
  font-size: .72rem;
  padding: .25rem .5rem;
  border: 1px solid rgba(192,192,192,.25);
  color: var(--muted, #aeb6d3);
}
.sched .sched-tag.students { border-color: rgba(0,26,114,.6); color: #a8c1ff; }
.sched .sched-tag.alumni   { border-color: rgba(134,38,51,.6); color: #ffb0b8; }
.sched .sched-tag.public   { border-color: rgba(192,192,192,.7); color: #e1e1e1; }

.sched .sched-body { padding: .8rem 1rem 1rem; color: var(--muted, #aeb6d3); }
.sched .sched-empty { color: var(--muted, #aeb6d3); padding: .75rem 0; }

/* === Row list layout (one event per row with divider) === */
.sched .sched-list {
  display: block;
  margin-top: .25rem;
}

.sched .sched-row {
  display: grid;
  grid-template-columns: 92px 1fr;      /* time | content */
  gap: 2rem;
  padding: 2rem 0;
  border-top: 1px solid rgba(192,192,192,.18);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .35s ease, transform .35s ease;
	align-items: center;              /* centers grid items vertically */
}

/* Keep the main content top-aligned */
.sched .sched-col-main {
  align-self: start;
}

.sched .sched-row.reveal {
  opacity: 1;
  transform: none;
}

/* Don’t draw a top border on the very first row */
.sched .sched-list .sched-row:first-child {
  border-top: 0;
}

/* Stylable row parts */
.sched .sched-col-time {
  font-weight: 800;
  color: var(--silver, #C0C0C0);
  letter-spacing: .2px;
	align-self: center;               /* center the time block in the row */
  	display: flex;                    /* helps if time wraps */
  	align-items: center;              /* vertical centering inside the cell */
 	 line-height: 1.1;
}

/* Subtitle sits above the rest of the title text */
.sched .subtitle {
  display: block;                /* forces next content onto a new line */
  margin-bottom: .1rem;
  font-weight: 600;
  font-size: 0.95rem;
  color: #8da6c8;  /*#af3142;*/
  letter-spacing: .2px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.sched .sched-title {
  font-weight: 800;
  font-size: 2.05rem;
  color: var(--text, #e8eaf1);
}

.sched .sched-loc {
  color: fff;
  font-size: .95rem;
  margin-top: .8rem;
}

.sched .sched-desc {
  color: var(--muted, #aeb6d3);
  font-size: .95rem;
  margin-top: .5rem;
}

/* Optional action button (Tickets) */
.sched .sched-actions { margin-top: .6rem; display: flex; gap: .5rem; }
.sched .sched-btn {
  display: inline-block; padding: .75rem .95rem;
  border: 1.5px solid var(--silver, #C0C0C0);
  font-weight: 700; text-decoration: none;
  color: var(--text, #e8eaf1);
  background: linear-gradient(90deg, var(--secondary, #001A72), var(--secondary, #001A72)) left / 0% 100% no-repeat, transparent;
  transition: background-size .35s ease, color .2s ease, border-color .2s ease, transform .08s ease;
}
.sched .sched-btn:hover { background-size: 100% 100%; color: #fff; border-color: var(--secondary, #001A72); }
.sched .sched-btn:active { transform: translateY(1px); }

/* Location link: no underline; subtle hover highlight */
.sched .sched-loc-link {
  color: inherit;
  text-decoration: none;
  padding: 0 .2em;
  -webkit-tap-highlight-color: transparent;
  transition: background-color .2s ease, box-shadow .2s ease;
	text-transform: uppercase;
	font-weight: bold;
}
.sched .sched-loc-link:hover,
.sched .sched-loc-link:focus-visible {
  background-color: rgba(0,26,114,.18); /* navy tint */
  box-shadow: 0 0 0 1px rgba(0,26,114,.35) inset;
  outline: none;
	font-weight: bold;
	color: #8da6c8;
}



/* Mobile: a little tighter */
@media (max-width: 560px) {
  .sched .sched-row {
    grid-template-columns: 72px 1fr;
    gap: .75rem;
  }
}

.sched-search {
	display: none;
}

