/* NTO Live — calendar page styles. Inherits :root vars from site.css */

/* ---------- hero / next stream card ---------- */
.cal-hero{padding:clamp(2.5rem,6vw,5rem) clamp(1rem,5vw,5rem) clamp(1rem,3vw,2rem)}
.cal-hero-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,.38fr);gap:clamp(1.25rem,3.5vw,2.5rem);align-items:center}
.poster{margin:0;border:1px solid var(--line);border-radius:.6rem;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.poster img{display:block;width:100%;height:auto}
.next-card{margin-top:1.8rem;border:1px solid var(--line);border-radius:.6rem;padding:clamp(1.1rem,3vw,1.8rem);background:linear-gradient(135deg,#f4140e26,#e7ea0021),var(--panel-strong);box-shadow:var(--shadow)}
.next-card.is-live{border-color:#f4140ec9;background:linear-gradient(135deg,#f4140e40,#e7ea002e),var(--panel-strong)}
.next-loading{color:var(--muted)}
.next-top{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.6rem}
.pill{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.28rem .7rem;font-size:.74rem;font-weight:900;text-transform:uppercase;background:#f6f1db14;color:var(--muted)}
.pill.live{background:var(--red);color:#fff}
.pill.special{background:var(--green);color:#091007}
.next-title{margin:0;font-size:clamp(1.5rem,4vw,2.6rem);line-height:1.05;color:var(--gold)}
.next-when{margin:.7rem 0 0;font-size:clamp(1.05rem,2.4vw,1.35rem);color:var(--text);font-weight:800}
.next-when small{display:block;margin-top:.35rem;color:var(--muted);font-weight:500;font-size:.9rem}
.next-desc{margin:.8rem 0 0;color:var(--muted);max-width:52rem}
.next-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}
.countdown{color:var(--amber);font-weight:900}

/* ---------- month grid ---------- */
.cal-section{background:linear-gradient(180deg,#ffffff08,#0000)}
.month-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.month-head h3{margin:0;font-size:clamp(1.3rem,3vw,2rem);color:var(--gold)}
.month-nav{width:2.6rem;height:2.6rem;border:1px solid var(--line);border-radius:.5rem;background:#f6f1db14;color:var(--text);font-size:1.1rem;font-weight:900;cursor:pointer}
.month-nav:hover{background:#e7ea0026}
.month-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.9rem;color:var(--muted);font-size:.86rem}
.month-legend .dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;margin-right:.4rem;vertical-align:middle}
.dot.live{background:var(--red)}
.dot.short{background:var(--gold)}
.dot.special{background:var(--green)}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}
.dow{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase;padding:.3rem .45rem}
.cell{min-height:6.4rem;border:1px solid var(--line);border-radius:.5rem;padding:.4rem;background:#24242099;text-align:left;color:inherit;font:inherit;cursor:pointer}
.cell:hover{border-color:var(--gold);background:#242420d9}
.cell.empty{border:0;background:0;cursor:default;min-height:0}
.cell.today{border-color:var(--gold);box-shadow:inset 0 0 0 1px #e7ea0059}
.cell.selected{border-color:var(--text);background:#30302ccc}
.cell .num{display:block;font-size:.82rem;font-weight:900;color:var(--muted);margin-bottom:.3rem}
.cell.today .num{color:var(--gold)}
.chip{display:block;border-radius:.3rem;padding:.15rem .35rem;margin-bottom:.2rem;font-size:.68rem;font-weight:900;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip.live{background:#f4140e2e;border-left:2px solid var(--red);color:var(--text)}
.chip.short{background:#e7ea001f;border-left:2px solid var(--gold);color:var(--body-text)}
.chip.special{background:#52b83433;border-left:2px solid var(--green);color:var(--body-text)}
.chip.more{background:0;color:var(--muted);font-weight:700}

.day-detail{margin-top:1.2rem;border:1px solid var(--line);border-radius:.5rem;padding:1rem;background:#242420cc}
.day-detail h4{margin:0 0 .7rem;color:var(--gold);font-size:1.05rem}
.day-detail ul{margin:0;padding-left:1.1rem;color:var(--muted)}
.day-detail li{margin-bottom:.45rem}
.day-detail b{color:var(--text)}

/* ---------- upcoming list ---------- */
.upcoming-list{display:grid;gap:.7rem}
.up-item{display:grid;grid-template-columns:minmax(8.5rem,auto) minmax(0,1fr) auto;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:.5rem;padding:.9rem 1rem;background:#242420cc}
.up-item.live{border-color:#f4140ec9;background:linear-gradient(135deg,#f4140e26,#e7ea0023),var(--panel-strong)}
.up-when{color:var(--gold);font-weight:900;line-height:1.25}
.up-when span{display:block;color:var(--muted);font-weight:600;font-size:.8rem}
.up-body h4{margin:0 0 .2rem;font-size:1rem}
.up-body p{margin:0;color:var(--muted);font-size:.9rem}
.up-actions a{color:var(--muted);font-size:.82rem;font-weight:800;text-decoration:none;border:1px solid var(--line);border-radius:.35rem;padding:.35rem .55rem;white-space:nowrap}
.up-actions a:hover{color:var(--text);border-color:var(--gold)}

@media(max-width:900px){
  .cal-hero-top{grid-template-columns:1fr}
  .poster{max-width:17rem}
  .up-item{grid-template-columns:1fr;gap:.5rem}
  .cell{min-height:5.2rem}
  .chip{font-size:.62rem}
}
@media(max-width:620px){
  .month-grid{gap:.25rem}
  .chip.short{display:none}
  .cell{min-height:4.4rem;padding:.3rem}
}
