/* Lincoln University Homecoming 2026
   Scoped to .lu- classes so nothing here can affect other pages. */

:root{
  --lu-blue:#122A6D;
  --lu-orange:#F96B07;
  --lu-cream:#F3F2ED;
}

/* ---------- COUNTDOWN ---------- */
.lu-count{
  font-family:'Poppins','Montserrat',Arial,sans-serif;
  padding:56px 24px 64px;
  text-align:left;
}
.lu-count__eyebrow{
  font-size:14px;
  font-weight:800;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--lu-blue);
  margin:0 0 22px;
}
.lu-count__grid{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin:0 0 34px;
}
.lu-count__tile{
  flex:0 1 150px;
  background:var(--lu-blue);
  padding:22px 18px 16px;
  text-align:center;
}
.lu-count__num{
  display:block;
  font-size:clamp(40px,5vw,64px);
  font-weight:800;
  line-height:1;
  color:#ffffff;
  font-variant-numeric:tabular-nums;
}
.lu-count__lab{
  display:block;
  margin-top:10px;
  font-size:13px;
  font-weight:800;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--lu-orange);
}
.lu-count__done{
  font-size:clamp(22px,3vw,34px);
  font-weight:800;
  text-transform:uppercase;
  color:var(--lu-blue);
  margin:0 0 28px;
}

/* offset-shadow button, LET'S GO */
.lu-btn{
  display:inline-block;
  background:#ffffff;
  color:var(--lu-blue);
  font-size:15px;
  font-weight:800;
  letter-spacing:0.1em;
  text-transform:uppercase;
  text-decoration:none;
  padding:18px 30px;
  border:2px solid var(--lu-blue);
  box-shadow:6px 6px 0 var(--lu-orange);
  transition:transform .15s ease, box-shadow .15s ease;
}
.lu-btn:hover,
.lu-btn:focus{
  transform:translate(3px,3px);
  box-shadow:3px 3px 0 var(--lu-orange);
}
.lu-btn:focus-visible{outline:3px solid var(--lu-orange);outline-offset:3px;}
a.lu-btn,
a.lu-btn:hover,
a.lu-btn:focus{
  text-decoration:none;
  border-bottom:0;
}

/* ---------- FAQ ACCORDION: plus / minus marker ---------- */
.lu-faq{
  background:var(--lu-cream);
  margin:0 0 10px;
  border-bottom:3px solid var(--lu-orange);
}
.lu-faq > summary{
  cursor:pointer;
  list-style:none;
  padding:22px 56px 22px 26px;
  position:relative;
  font-size:17px;
  font-weight:800;
  line-height:1.4;
  color:var(--lu-blue);
}
.lu-faq > summary::-webkit-details-marker{display:none;}
.lu-faq > summary::after{
  content:"+";
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  font-size:26px;
  line-height:1;
  color:var(--lu-orange);
}
.lu-faq[open] > summary::after{content:"\2212";}
.lu-faq > summary:hover{background:rgba(249,107,7,0.07);}

/* ---------- CARD HOVER (homepage) ---------- */
.lu-card{transition:transform .18s ease, box-shadow .18s ease;}
.lu-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,0.13);}

@media (prefers-reduced-motion:reduce){
  .lu-btn,.lu-card{transition:none;}
  .lu-btn:hover,.lu-btn:focus{transform:none;}
  .lu-card:hover{transform:none;}
}

/* ===== HOMECOMING 2026 - week schedule ===== */

.lu-sched{
  --rail:200px;
  --hair:#ded9cc;
  background:var(--lu-cream);
  border-top:3px solid var(--lu-blue);
  border-bottom:3px solid var(--lu-blue);
  margin:0 0 72px;
}
.lu-sched [hidden]{display:none !important;}
.lu-sched__inner{display:flex;align-items:stretch;}

/* ---- day rail ---- */
.lu-rail{
  flex:0 0 var(--rail);
  border-right:3px solid var(--lu-blue);
  display:flex;
  flex-direction:column;
}
.lu-rail__day{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  width:100%;
  padding:20px 24px;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--hair);
  font-family:inherit;
  text-align:left;
  cursor:pointer;
}
.lu-rail__day:last-child{border-bottom:0;}
.lu-rail__dow{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#8a8474;
}
.lu-rail__num{
  font-family:Georgia,'Times New Roman',serif;
  font-size:32px;
  line-height:1;
  color:var(--lu-blue);
}
.lu-rail__day:hover{background:rgba(18,42,109,0.05);}
.lu-rail__day.is-on{background:var(--lu-blue);border-bottom-color:var(--lu-blue);}
.lu-rail__day.is-on .lu-rail__dow{color:var(--lu-orange);}
.lu-rail__day.is-on .lu-rail__num{color:#ffffff;}
.lu-rail__day:focus-visible{outline:3px solid var(--lu-orange);outline-offset:-3px;}

/* ---- main column ---- */
.lu-main{flex:1 1 auto;min-width:0;padding:0 28px 40px;}

.lu-bar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  padding:22px 0;
  border-bottom:1px solid var(--hair);
}
.lu-bar__label{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#8a8474;
  margin-right:6px;
}
.lu-chips{display:flex;flex-wrap:wrap;gap:8px;}
.lu-chip{
  font-family:inherit;
  font-size:15px;
  font-weight:600;
  color:var(--lu-blue);
  background:transparent;
  border:2px solid var(--lu-blue);
  padding:8px 18px;
  cursor:pointer;
}
.lu-chip:hover{background:rgba(18,42,109,0.06);}
.lu-chip.is-on{background:var(--lu-orange);border-color:var(--lu-blue);color:#1a1a1a;}
.lu-chip:focus-visible{outline:3px solid var(--lu-orange);outline-offset:2px;}

.lu-search{
  font-family:inherit;
  font-size:15px;
  margin-left:auto;
  min-width:200px;
  padding:9px 14px;
  background:transparent;
  border:0;
  border-bottom:2px solid var(--lu-blue);
  color:#2f2f35;
}
.lu-search::placeholder{color:#8a8474;}
.lu-search:focus-visible{outline:0;border-bottom-color:var(--lu-orange);}

.lu-count-line{
  font-size:12px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#6f6a5c;
  margin:22px 0 18px;
}

/* ---- event rows ---- */
.lu-rows{display:block;}
.lu-row{
  display:flex;
  align-items:flex-start;
  gap:28px;
  background:#ffffff;
  border-left:5px solid var(--lu-orange);
  padding:26px 30px;
  margin:0 0 12px;
}
.lu-row__time{
  flex:0 0 120px;
  padding-top:2px;
}
.lu-row__t1{
  display:block;
  font-size:17px;
  font-weight:800;
  letter-spacing:0.02em;
  color:#b4551a;
}
.lu-row__t2{
  display:block;
  margin-top:3px;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.12em;
  color:#8a8474;
}
.lu-row__body{flex:1 1 auto;min-width:0;}
.lu-row__kicker{
  font-size:15px;
  line-height:1.45;
  color:#6f6a5c;
  margin:0 0 2px;
}
.lu-row__title{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(22px,2.2vw,30px);
  font-weight:700;
  line-height:1.15;
  color:#16161a;
  margin:0 0 8px;
}
.lu-row__venue{font-size:16px;line-height:1.5;color:#6f6a5c;margin:0 0 2px;}
.lu-row__org{font-size:14px;line-height:1.5;color:#8a8474;margin:0 0 14px;}
.lu-row__tags{margin:0;}
.lu-tag{
  display:inline-block;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#3a3a40;
  border:1px solid #c9c3b4;
  padding:5px 9px;
  margin:0 6px 6px 0;
}
.lu-row__cta{flex:0 0 auto;}
.lu-ics{
  display:block;
  width:150px;
  padding:26px 12px;
  border:2px solid #16161a;
  color:#16161a;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  text-align:center;
  text-decoration:none;
}
.lu-ics:hover{background:var(--lu-orange);border-color:var(--lu-orange);}
.lu-ics:focus-visible{outline:3px solid var(--lu-orange);outline-offset:2px;}

.lu-empty{
  font-size:17px;
  line-height:1.6;
  color:#6f6a5c;
  padding:48px 0 24px;
  margin:0;
}

/* ---- narrow screens: rail becomes a scrolling strip ---- */
@media (max-width:860px){
  .lu-sched__inner{flex-direction:column;}
  .lu-rail{
    flex:0 0 auto;
    flex-direction:row;
    overflow-x:auto;
    border-right:0;
    border-bottom:3px solid var(--lu-blue);
  }
  .lu-rail__day{
    flex:0 0 auto;
    flex-direction:column;
    align-items:center;
    gap:2px;
    padding:14px 18px;
    border-bottom:0;
    border-right:1px solid var(--hair);
  }
  .lu-rail__num{font-size:24px;}
  .lu-main{padding:0 20px 32px;}
  .lu-row{flex-wrap:wrap;gap:16px;padding:22px 20px;}
  .lu-row__time{flex:0 0 100%;}
  .lu-row__cta{flex:0 0 100%;}
  .lu-ics{width:100%;padding:16px 12px;}
  .lu-search{margin-left:0;width:100%;}
}