/* =====================================================
   ACS Media Group Theme — Supplementary Styles
   (inner page templates, schedule, events page)
===================================================== */

/* Schedule Page */
.schedule-section { padding:5rem 0; }

.schedule-tabs {
  display:flex; gap:0;
  border-bottom:1px solid var(--border);
  margin-bottom:2rem;
  overflow-x:auto; scrollbar-width:none;
}
.schedule-tabs::-webkit-scrollbar { display:none; }

.tab-btn {
  padding:.75rem 1.5rem;
  font-weight:700; font-size:.85rem;
  color:var(--muted); background:none; border:none;
  border-bottom:2px solid transparent;
  cursor:pointer; white-space:nowrap;
  transition:all .2s ease; margin-bottom:-1px;
}
.tab-btn:hover  { color:var(--text); }
.tab-btn.active { color:var(--primary); border-bottom-color:var(--primary); }

.schedule-grid { display:flex; flex-direction:column; gap:.75rem; }

.schedule-item {
  display:grid;
  grid-template-columns:90px 1fr auto;
  align-items:center; gap:1.5rem;
  padding:1rem 1.5rem;
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  transition:all .25s ease;
  cursor:pointer;
}
.schedule-item:hover { border-color:rgba(168,85,247,.25); background:rgba(168,85,247,.04); }
.schedule-item.active-show { border-color:var(--accent); background:rgba(34,197,94,.05); }

.schedule-time { font-size:.85rem; color:var(--muted); font-weight:600; }
.schedule-item.active-show .schedule-time { color:var(--accent); }

.schedule-show-info { display:flex; align-items:center; gap:1rem; min-width:0; }
.schedule-show-thumb { width:44px; height:44px; border-radius:var(--radius-xs); object-fit:cover; flex-shrink:0; border:1px solid var(--border); background:var(--surface-alt); }
.schedule-show-name  { font-weight:700; font-size:.95rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.schedule-show-host  { font-size:.8rem; color:var(--muted); }

/* Single DJ / Event */
.dj-profile-hero { padding:calc(var(--header-h) + 3rem) 0 3rem; border-bottom:1px solid var(--border); }
.dj-profile-grid { display:grid; grid-template-columns:280px 1fr; gap:3rem; align-items:start; }
.dj-profile-photo { border-radius:var(--radius); overflow:hidden; border:2px solid var(--border); }
.dj-profile-photo img { width:100%; aspect-ratio:1; object-fit:cover; }

/* Comments */
.comments-area { max-width:800px; margin-inline:auto; padding:4rem 0; }
.comment-body {
  padding:1.5rem;
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  margin-bottom:1rem;
}
.comment-author { font-weight:700; margin-bottom:.25rem; }
.comment-time   { color:var(--muted); font-size:.8rem; margin-bottom:.75rem; }

.comment-form input,
.comment-form textarea {
  width:100%; padding:.75rem 1rem;
  background:rgba(255,255,255,.05); border:1px solid var(--border);
  border-radius:var(--radius-sm); color:var(--text); font-size:.95rem; outline:none;
  transition:border-color .2s ease; margin-bottom:1rem;
}
.comment-form input:focus,
.comment-form textarea:focus { border-color:var(--primary); }
.comment-form textarea { resize:vertical; min-height:120px; }
.comment-form input[type="submit"] {
  background:var(--gradient); color:#fff; font-weight:700;
  cursor:pointer; border:none; padding:.85rem 2rem;
  border-radius:var(--radius-pill); width:auto;
}
