/* Album detail (app_song_playlist). Ported from Kalameh Web Album mockup; --aud maps
   to --accent via .section--audio. Track play uses mini-player; download is app-gated. */

.al-crumb { padding: 22px 0 0; }
.al-crumb a { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ink-3); text-decoration: none; }
.al-crumb a:hover { color: var(--accent); }
[dir="rtl"] .al-crumb a > svg { transform: scaleX(-1); }

.al-hero { padding: 8px 0 36px; border-bottom: 1px solid var(--line); }
.al-hero .grid { display: grid; grid-template-columns: 320px 1fr; gap: 48px; align-items: end; }
.al-hero .cover-wrap {
  aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden;
  background: var(--paper-2);
  box-shadow: 0 24px 48px rgba(20,57,69,0.22), 0 8px 16px rgba(20,57,69,0.10);
}
.al-hero .cover-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.al-hero .meta-col { padding-bottom: 10px; }
.al-hero h1 { font-family: var(--serif-fa); font-weight: 500; font-size: 60px; line-height: 1.05; letter-spacing: -1.6px; margin: 0 0 14px; }
.al-hero .meta-row { display: flex; gap: 16px; align-items: center; font-size: 13px; color: var(--ink-3); margin-bottom: 26px; flex-wrap: wrap; }
.al-hero .meta-row .dot { width: 3px; height: 3px; background: var(--ink-4); border-radius: 999px; display: inline-block; }
.al-hero .meta-row .team-tag { color: var(--accent); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--accent-tint); }
.al-hero .meta-row .team-tag:hover { border-bottom-color: var(--accent); }
.al-hero .actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.al-hero .play-big {
  display: inline-flex; align-items: center; gap: 9px; padding: 14px 28px; border-radius: 999px;
  background: var(--accent); color: #fff; font-weight: 700; font-size: 14.5px; border: none; cursor: pointer;
  transition: background 0.15s;
}
.al-hero .play-big:hover { background: var(--accent-deep); }
.al-hero .text-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 14px 20px; border-radius: 999px;
  background: transparent; border: 1px solid var(--line); color: var(--ink-2); font-weight: 600;
  font-size: 13.5px; cursor: pointer; transition: border-color 0.15s, color 0.15s;
}
.al-hero .text-btn:hover { border-color: var(--accent); color: var(--accent); }
.al-hero .icon-btn {
  width: 48px; height: 48px; border-radius: 999px; background: transparent; border: 1px solid var(--line);
  color: var(--ink-3); cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
  transition: border-color 0.15s, color 0.15s;
}
.al-hero .icon-btn:hover { border-color: var(--accent); color: var(--accent); }

.al-desc { padding: 40px 0 0; max-width: 760px; }
.al-desc p { font-family: var(--serif-fa); font-size: 16px; line-height: 1.85; color: var(--ink-2); margin: 0 0 14px; }
.al-desc p:last-child { margin-bottom: 0; }

.tracks-sec { padding: 48px 0 80px; }
.tracks-head {
  display: grid; grid-template-columns: 32px 1fr 200px 60px 32px;
  gap: 18px; padding: 0 16px 12px; align-items: center;
  border-bottom: 1px solid var(--line);
  font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--ink-4);
}
[dir="rtl"] .tracks-head { letter-spacing: 0.4px; }
.tracks-head .clk { display: inline-flex; align-items: center; justify-content: center; }
.tracks-head .dur-i svg { width: 14px; height: 14px; }
.tr-row {
  display: grid; grid-template-columns: 32px 1fr 200px 60px 32px;
  gap: 18px; padding: 12px 16px; align-items: center;
  border-radius: 8px; transition: background 0.12s; margin: 0 -16px; text-decoration: none; color: inherit;
}
.tr-row:hover { background: var(--paper-3); }
.tr-row .tr-idx {
  position: relative; width: 32px; height: 28px;
  display: flex; align-items: center; justify-content: center;
}
.tr-row .num { font-family: var(--serif); font-size: 17px; color: var(--ink-4); font-weight: 500; text-align: center; line-height: 1; }
[dir="rtl"] .tr-row .num { font-family: var(--serif-fa); font-weight: 600; }
.tr-row .pp {
  display: none; position: absolute; inset: 0; margin: auto;
  width: 28px; height: 28px; border-radius: 999px; background: var(--accent); color: #fff;
  border: none; cursor: pointer; align-items: center; justify-content: center;
}
.tr-row:hover .num { visibility: hidden; }
.tr-row:hover .pp { display: inline-flex; }
@media (hover: none) {
  .tr-row .num { display: none; }
  .tr-row .pp { display: inline-flex; position: static; }
}
.tr-row .ttl { font-family: var(--serif-fa); font-size: 15px; font-weight: 600; color: var(--ink); margin: 0; line-height: 1.35; letter-spacing: -0.1px; }
.tr-row .sub { font-size: 12.5px; color: var(--ink-3); margin: 2px 0 0; }
.tr-row .writers { font-size: 13px; color: var(--ink-3); }
.tr-row .dur { font-size: 13px; color: var(--ink-3); text-align: center; font-variant-numeric: tabular-nums; }
.tr-row .dl-mini {
  width: 28px; height: 28px; border-radius: 999px; background: transparent;
  border: none; color: var(--ink-4); cursor: pointer; opacity: 0;
  display: inline-flex; align-items: center; justify-content: center; transition: all 0.15s;
}
.tr-row:hover .dl-mini { opacity: 1; color: var(--ink-2); }
.tr-row .dl-mini:hover { color: var(--accent); }

@media (max-width: 980px) {
  .al-hero .grid { grid-template-columns: 1fr; gap: 28px; align-items: start; }
  .al-hero .cover-wrap { max-width: 260px; }
  .al-hero h1 { font-size: 40px; }
  .tracks-head, .tr-row { grid-template-columns: 32px 1fr 60px 32px; }
  .tracks-head .writer-i, .tr-row .writers { display: none; }
}
@media (max-width: 640px) {
  .al-hero h1 { font-size: 32px; }
  .al-hero .text-btn { font-size: 0; gap: 0; padding: 0; width: 48px; height: 48px; justify-content: center; }
  .al-hero .text-btn > *:not(svg) { display: none; }
}
