/* Theme: match site (FF4040 red, sky blue, gold accents) */
:root{
  --ink:#1b2430;
  --muted:#5d6472;
  --bg:#f0f4f8;
  --card:#ffffff;
  --brand:#FF4040;
  --brand-2:#00BFFF;
  --gold:#FFD700;
  --ok:#1fa97b;
  --warn:#f59e0b;
  --low:#e11d48;
  --radius:16px;
  --shadow:0 12px 24px rgba(0,0,0,.08);
}
html,body{margin:0;background:linear-gradient(180deg,#fff 0%,#f7fbff 70%)}
*{box-sizing:border-box}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}

/* Constrain schedule page to prevent horizontal scroll */
.sched-page {
  overflow-x: hidden;
}


/* Header/footer styles come from css/styles.css; avoid overriding here */

/* Hero */
.sched-hero{
  position:relative;
  background:
    radial-gradient(900px 140px at 10% -10%, rgba(255,64,64,.15), transparent 60%),
    radial-gradient(900px 160px at 80% 0%, rgba(0,191,255,.15), transparent 60%),
    linear-gradient(180deg,#fff, #f8fbff);
  padding:34px 0 24px;
}
.sched-hero .title{
  font-size: clamp(1.6rem,3.2vw,2.2rem);
  margin:.2rem 0 .4rem; font-weight:900; color:#111827; text-shadow:0 2px 10px rgba(0,0,0,.06)
}
.sched-hero .sub{color:var(--muted);margin:0 0 .6rem}
.hero-pill{
  display:inline-block;background:rgba(255,64,64,.1);color:#b91c1c;
  padding:.35rem .6rem;border-radius:999px;font-weight:800
}
.hero-cta{display:flex;gap:.6rem;flex-wrap:wrap}
.btn-primary{
  background:var(--brand);color:#fff;border:0;border-radius:12px;
  padding:.7rem 1rem;font-weight:800;box-shadow:0 8px 20px rgba(255,64,64,.25);
  transition:transform .18s ease, box-shadow .18s ease, background .18s
}
.btn-primary:hover{transform:translateY(-2px);background:#ff5555;box-shadow:0 10px 24px rgba(255,64,64,.32)}
.cta-secondary{
  display:inline-block;padding:.7rem 1rem;border-radius:12px;font-weight:800;
  background:#fff;border:1px solid #e5e7eb;color:#111827
}
.cta-secondary:hover{transform:translateY(-2px);background:#f8fafc;box-shadow:var(--shadow)}
.hero-gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.04) 100%);pointer-events:none}

/* Tabs */
.day-tabs{padding:10px 0}
.tabs{display:flex;gap:.5rem;overflow:auto;scrollbar-width:none;padding:0 16px}
.tabs::-webkit-scrollbar{display:none}
.tab{
  border:1px solid #e6e9ee;background:#fff;color:#111827;cursor:pointer;
  padding:.55rem .9rem;border-radius:999px;font-weight:900;white-space:nowrap;
  box-shadow:0 6px 16px rgba(0,0,0,.06);transition:background .18s,color .18s, transform .18s
}
.tab:hover{transform:translateY(-2px)}
.tab.active{background:linear-gradient(135deg,var(--brand),#ff7373);color:#fff;border-color:transparent}

/* Toolbar */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:0 16px 8px 16px}
.pill{
  display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.28rem .55rem;font-weight:800;
  border:1px dashed rgba(0,0,0,.12); background:#fff; color:#374151
}
.pill-open{background:#fff7df;color:#8a5a00;border-color:#fde68a}
.pill-ok{background:#ecfdf5;color:#065f46;border-color:#bbf7d0}
.pill-low{background:#fff1f2;color:#9f1239;border-color:#fecdd3}
.view-toggle{display:flex;gap:.4rem}
.view-btn{
  border:1px solid #dbe4ff;background:#fff;color:#111827;padding:.4rem .7rem;border-radius:10px;font-weight:800;cursor:pointer
}
.view-btn.active{background:var(--brand-2);color:#fff;border-color:var(--brand-2)}

/* Filters */
.filters{padding:2px 0 10px}
.filters .wrap{display:flex;gap:.4rem;flex-wrap:wrap}
.filter-chip{
  appearance:none;border:1px solid #e5e7eb;background:#fff;color:#111827;cursor:pointer;
  padding:.45rem .8rem;border-radius:999px;font-weight:800;transition:background .18s, color .18s, box-shadow .18s
}
.filter-chip:hover{background:#f3f7ff}
.filter-chip.is-active{
  background:linear-gradient(135deg, #ffde59, #ffd000);
  color:#111827;border-color:#ffd54f; box-shadow:0 8px 20px rgba(255,213,79,.25)
}

/* Schedule list/cards */
.schedule-list{
  display:grid;gap:14px;padding:0 16px 28px;grid-template-columns:1fr
}
@media (min-width:720px){ .schedule-list.grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1024px){ .schedule-list.grid{grid-template-columns:repeat(3,1fr)} }

/* Extra safety: avoid any child pushing width unintentionally */
.schedule-list, .tabs, .filters .wrap, .toolbar, .sched-hero .wrap {
  max-width: 1100px;
  margin-left: auto; margin-right: auto;
}

/* Images and media inside cards shouldn't exceed container */
.card img, .card video { max-width: 100%; height: auto; display: block; }

.card{
  position:relative;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:14px;display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center;
  border:2px solid #f3f4f6; transform:translateY(10px); opacity:0; animation:cardIn .5s ease forwards;
}
@keyframes cardIn{to{transform:translateY(0);opacity:1}}
.time{
  font-weight:900;font-size:1rem;padding:.38rem .58rem;background:#fff5f5;border-radius:12px;color:#991b1b;min-width:76px;text-align:center;border:1px solid #ffe1e1
}
.meta{display:flex;flex-direction:column;gap:.3rem}
.title{font-weight:900;font-size:1.06rem;line-height:1.2}
.badges{display:flex;gap:.35rem;flex-wrap:wrap}
.badge{
  font-size:.78rem;padding:.25rem .5rem;border-radius:10px;background:#f8fafc;color:#475569;border:1px solid #e5e7eb
}
.badge.subject{background:#fff8eb;color:#8a4b00;border-color:#ffe0a3}
.badge.rus{background:#eef2ff;color:#3730a3;border-color:#e0e7ff}
.badge.ukr{background:#e6fffb;color:#036672;border-color:#b6fff5}
.badge.open{background:#fff7df;color:#8a5a00}
.badge.low{background:#fff1f2;color:#9f1239}
.badge.ok{background:#ecfdf5;color:#065f46}

/* CTA + footer (reuse site styles) */
.cta{padding:12px 16px 36px;text-align:center}
.cta .btn{
  display:inline-block;background:var(--brand);color:#fff;text-decoration:none;
  padding:.7rem 1rem;border-radius:12px;font-weight:800;box-shadow:0 8px 18px rgba(255,64,64,.25)
}

/* Small “no results” notice */
.empty{
  background:#fff;border:2px dashed #e5e7eb;border-radius:16px;padding:22px;text-align:center;color:#6b7280
}
