/* MadRasana — Playlists Page */

/* ── Page header ─────────────────────────────────────────────────── */
.mr-pl-page { padding: 0 0 4rem; }
.mr-pl-page-hdr { padding: 3rem 0 2rem; }
.mr-pl-page-heading {
  font-family: var(--mr-serif) !important;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--mr-text) !important;
  margin: .4rem 0 .75rem;
}
.mr-pl-page-sub { color: var(--mr-muted); font-size: .95rem; max-width: 520px; line-height: 1.6; }

/* ── Filter pills ────────────────────────────────────────────────── */
.mr-pl-pills { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.mr-pl-pill {
  padding: .4rem 1rem;
  border: 1px solid var(--mr-b-vis);
  background: transparent;
  color: var(--mr-muted);
  font-family: var(--mr-font);
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 2rem;
  cursor: pointer;
  transition: all .15s;
}
.mr-pl-pill:hover { border-color: var(--mr-orange); color: var(--mr-orange); }
.mr-pl-pill-active { background: var(--mr-orange); border-color: var(--mr-orange); color: #fff !important; }

/* ── Featured card ───────────────────────────────────────────────── */
.mr-pl-featured {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 0;
  background: var(--mr-footer-bg);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 3rem;
  min-height: 420px;
}

/* Left column */
.mr-pl-feat-left { display: flex; flex-direction: column; padding: 1.25rem 1.5rem 0; }

.mr-pl-feat-cover {
  position: relative;
  aspect-ratio: 16/9;
  background: #0a0a0a;
  overflow: hidden;
  border-radius: 4px;
}
.mr-pl-feat-img {
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: .55;
  display: block;
}
.mr-pl-feat-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.1) 0%, rgba(0,0,0,.55) 100%);
}
.mr-pl-yt-wrap {
  position: absolute; inset: 0;
  display: none;
}
.mr-pl-yt-wrap iframe, .mr-pl-yt-wrap > div { width: 100%; height: 100%; }

.mr-pl-feat-badge {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: .4rem;
  background: rgba(0,0,0,.38);
  border: 1px solid rgba(255,255,255,.15);
  color: #fff;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  padding: .28rem .75rem;
  border-radius: 999px;
  margin-bottom: .65rem;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.mr-pl-feat-badge::before {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--mr-orange);
  flex-shrink: 0;
}

/* Info strip */
.mr-pl-feat-info { padding: 1.25rem 0 1.5rem; flex: 1; display: flex; flex-direction: column; gap: .4rem; }
.mr-pl-now-showing {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mr-orange);
}
.mr-pl-feat-name {
  font-family: var(--mr-serif) !important;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 400;
  color: #fff !important;
  line-height: 1.15;
  margin: 0;
}
.mr-pl-feat-desc { color: rgba(255,255,255,.6); font-size: .88rem; line-height: 1.55; margin: 0; }

/* Playbar — dark-card context overrides on top of mr-playbar.css base */
.mr-pl-playbar.mrpb-bar {
  background: transparent !important;
  border: none !important;
  padding: .6rem 0 0 !important;
  margin-top: .25rem;
}
/* Prev/Next: lighter against dark background instead of footer-bg-on-footer-bg */
.mr-pl-playbar .mrpb-btn {
  background: rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.8) !important;
}
.mr-pl-playbar .mrpb-btn:hover { background: rgba(255,255,255,.22) !important; color: #fff !important; }
/* Track info text — white on dark */
.mr-pl-playbar .mrpb-title { color: rgba(255,255,255,.9) !important; font-size: .85rem; }
.mr-pl-playbar .mrpb-meta  { color: rgba(255,255,255,.5) !important; }
.mr-pl-playbar .mrpb-queue { color: rgba(255,255,255,.4) !important; }

/* Right: tracklist */
.mr-pl-feat-right {
  border-left: 1px solid rgba(255,255,255,.08);
  display: flex; flex-direction: column;
  overflow-y: auto;
  max-height: 520px;
}
.mr-pl-tracklist-hdr {
  padding: 1rem 1.25rem .6rem;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  border-bottom: 1px solid rgba(255,255,255,.08);
  display: flex; justify-content: space-between;
  position: sticky; top: 0;
  background: var(--mr-footer-bg);
}
.mr-pl-tracklist { list-style: none; margin: 0; padding: 0; }
.mrpl-track-row {
  display: grid;
  grid-template-columns: 26px 1fr auto;
  align-items: center;
  gap: .65rem;
  padding: .9rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,.06);
  cursor: pointer;
  transition: background .12s;
}
.mrpl-track-row:hover { background: rgba(255,255,255,.05); }
.mrpl-track-row.mrpl-track-active { background: rgba(176,113,42,.15); }
.mrpl-track-row.mrpl-track-active .mrpl-track-name { color: var(--mr-orange); }
.mrpl-track-num { font-size: .72rem; color: rgba(255,255,255,.28); text-align: center; }
.mrpl-track-info { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.mrpl-track-name {
  font-family: var(--mr-serif);
  font-size: .95rem;
  font-weight: 400;
  color: rgba(255,255,255,.9);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mrpl-track-meta { font-size: .75rem; color: rgba(255,255,255,.4); }
.mrpl-track-dur  { font-size: .75rem; color: rgba(255,255,255,.38); white-space: nowrap; font-variant-numeric: tabular-nums; }

/* ── All Playlists section ───────────────────────────────────────── */
.mr-pl-all-hdr {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 1.25rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid var(--mr-border);
}
.mr-pl-all-label {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mr-orange);
}
.mr-pl-all-count { font-size: .8rem; color: var(--mr-muted); }

/* ── Grid ────────────────────────────────────────────────────────── */
.mr-pl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }

.mr-pl-card {
  background: var(--mr-bg4);
  border-radius: 5px;
  overflow: hidden;
  cursor: pointer;
  transition: transform .18s, box-shadow .18s;
  border: 1px solid var(--mr-border);
}
.mr-pl-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.mr-pl-card-active { border-color: var(--mr-orange); }

.mr-pl-card-thumb {
  position: relative;
  aspect-ratio: 16/9;
  background: #111;
  overflow: hidden;
}
.mr-pl-card-thumb img { width: 100%; height: 100%; object-fit: cover; opacity: .7; display: block; transition: opacity .2s; }
.mr-pl-card:hover .mr-pl-card-thumb img { opacity: .85; }
.mr-pl-card-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,.5) 100%); }


.mr-pl-card-badge {
  position: absolute;
  top: .65rem; left: .65rem;
  background: rgba(0,0,0,.55);
  color: rgba(255,255,255,.85);
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .08em;
  padding: .2rem .5rem;
  border-radius: 2px;
}

.mr-pl-card-body { padding: .85rem 1rem 1rem; }
.mr-pl-card-meta { font-size: .72rem; color: var(--mr-muted); margin-bottom: .3rem; }
.mr-pl-card-name { font-family: var(--mr-serif); font-size: 1.1rem; font-weight: 400; color: var(--mr-text); margin-bottom: .3rem; line-height: 1.25; }
.mr-pl-card-desc { font-size: .8rem; color: var(--mr-muted); line-height: 1.5; margin-bottom: .6rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mr-pl-card-action { font-size: .75rem; color: var(--mr-muted); transition: color .15s; }
.mr-pl-card:hover .mr-pl-card-action { color: var(--mr-orange); }
.mr-pl-card-showing { color: var(--mr-orange) !important; font-weight: 500; }

/* ── Show more ───────────────────────────────────────────────────── */
.mr-pl-show-more-wrap { text-align: center; margin-top: 1.5rem; }
.mr-pl-show-more {
  padding: .55rem 2rem;
  border: 1px solid var(--mr-b-vis);
  background: transparent;
  color: var(--mr-muted);
  font-family: var(--mr-font);
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 2rem;
  cursor: pointer;
  transition: all .15s;
}
.mr-pl-show-more:hover { border-color: var(--mr-orange); color: var(--mr-orange); }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .mr-pl-featured { grid-template-columns: 1fr; }
  .mr-pl-feat-right { max-height: 320px; border-left: none; border-top: 1px solid rgba(255,255,255,.08); }
  .mr-pl-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 600px) {
  .mr-pl-grid { grid-template-columns: 1fr; }
  .mr-pl-page-heading { font-size: 1.8rem; }
}
