/* MeeladFest — public fest microsite.
   Same night-and-lantern world as the dashboards, but louder:
   this is the page parents and students open. */

.site-hero{
  position:relative; text-align:center; padding:34px 18px 26px;
  border:1px solid var(--line); border-radius:20px; margin-bottom:16px;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(233,185,73,.16), transparent 62%),
    var(--panel);
  overflow:hidden;
}
.site-hero::after{ /* hanging lantern thread */
  content:''; position:absolute; top:0; left:50%; width:1px; height:22px;
  background:linear-gradient(var(--gold), transparent);
}
.site-hero .badge{
  display:inline-block; margin-top:14px; font-family:var(--mono); font-size:.66rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold);
  border:1px solid var(--gold-dim); border-radius:999px; padding:4px 12px;
}
.site-hero h1{font-size:2.1rem; line-height:1.15; margin:12px 0 6px}
@media(max-width:520px){ .site-hero h1{font-size:1.6rem} }
.site-hero .sub{color:var(--muted); font-size:.9rem}
.site-hero .when{font-family:var(--mono); font-size:.75rem; color:var(--cream); margin-top:10px}
.site-logo{width:64px;height:64px;border-radius:18px;object-fit:cover;margin-bottom:6px;
  border:1px solid var(--gold-dim)}

/* tabs across the public site */
.site-tabs{display:flex; gap:6px; overflow-x:auto; padding-bottom:4px; margin-bottom:16px;
  -webkit-overflow-scrolling:touch; scrollbar-width:none}
.site-tabs::-webkit-scrollbar{display:none}
.site-tabs a{
  flex:none; padding:9px 16px; border-radius:999px; font-size:.84rem; font-weight:500;
  border:1px solid var(--line); color:var(--muted); background:var(--panel); white-space:nowrap;
}
.site-tabs a.on{background:var(--gold); color:#1a1305; border-color:transparent; font-weight:600}

/* podium — the signature element */
.podium{display:flex; align-items:flex-end; gap:10px; margin:6px 0 4px}
.podium .col{flex:1; text-align:center}
.podium .bar{
  border-radius:12px 12px 0 0; border:1px solid var(--line); border-bottom:none;
  display:flex; align-items:flex-end; justify-content:center; padding-bottom:8px;
  font-family:var(--mono); font-weight:700; font-size:1.1rem; color:#1a1305;
}
.podium .nm{font-size:.8rem; margin-bottom:6px; line-height:1.25}
.podium .rk{font-family:var(--mono); font-size:.7rem; color:var(--muted); margin-top:6px}

/* result rows */
.res-row{display:flex; gap:10px; align-items:center; padding:9px 0; border-bottom:1px solid rgba(38,51,78,.55)}
.res-row:last-child{border-bottom:none}
.res-row .pl{
  width:26px; height:26px; flex:none; border-radius:8px; display:grid; place-items:center;
  font-family:var(--mono); font-size:.78rem; font-weight:700;
  background:var(--panel2); color:var(--muted);
}
.res-row .pl.p1{background:var(--gold); color:#1a1305}
.res-row .pl.p2{background:#C8D2E4; color:#1a1305}
.res-row .pl.p3{background:#C79B6B; color:#1a1305}

.item-card{background:var(--panel); border:1px solid var(--line); border-radius:14px;
  padding:14px; margin-bottom:12px}
.item-card .hd{display:flex; gap:9px; align-items:center; margin-bottom:8px}

/* schedule */
.sched-day{font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); margin:20px 0 8px}
.sched-row{display:flex; gap:12px; padding:10px 0; border-bottom:1px solid rgba(38,51,78,.55)}
.sched-row .tm{font-family:var(--mono); font-size:.78rem; color:var(--cream); width:66px; flex:none}

/* search */
.big-search input{font-size:1.05rem; padding:14px; text-align:center; font-family:var(--mono)}

.site-foot{text-align:center; padding:24px 0 30px; color:var(--muted); font-size:.78rem}
.site-foot a{color:var(--muted); text-decoration:underline}
