/* /discography/ — editorial-grid list of all 17 albums. */

.cd-root {
  font-family: var(--cc-font);
  color: var(--cc-body);
  background: var(--cc-bg);
}
.cd-root * { box-sizing: border-box; }

/* ── Hero ─────────────────────────────── */
.cd-hero {
  background: var(--cc-hero-bg);
  color: var(--cc-bg);
  padding: 12vh 24px 10vh;
  text-align: center;
  border-bottom: 2px solid var(--cc-warm-deep);
}
.cd-hero-ogham {
  font-family: "Noto Sans Ogham", "Segoe UI Historic", Georgia, serif;
  color: var(--cc-warm);
  font-size: 2.4rem;
  line-height: 1;
  margin-bottom: 14px;
}
.cd-hero-eyebrow {
  font-family: var(--cc-font-slab);
  font-style: italic;
  color: var(--cc-warm);
  letter-spacing: 0.12em;
  font-size: 0.84rem;
  margin: 0 0 12px;
}
.cd-hero-eyebrow em { color: var(--cc-warm-deep); }
.cd-hero-title {
  font-family: var(--cc-font-display);
  letter-spacing: 0.1em;
  font-weight: 600;
  color: var(--cc-bg) !important;
  font-size: clamp(2.6rem, 6vw, 4.4rem);
  margin: 0 0 18px;
}
.cd-hero-lede {
  font-family: var(--cc-font-slab);
  color: var(--cc-bg);
  opacity: 0.9;
  max-width: 620px;
  margin: 0 auto 32px;
  font-size: 1.08rem;
  line-height: 1.6;
}
.cd-filters {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}
.cd-filter {
  padding: 10px 18px;
  border: 1px solid rgba(237,241,240,0.3);
  border-radius: 999px;
  font-family: var(--cc-font);
  font-weight: 500;
  font-size: 0.84rem;
  letter-spacing: 0.08em;
  color: var(--cc-bg);
  text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.cd-filter:hover {
  background: var(--cc-warm-deep);
  border-color: var(--cc-warm-deep);
  color: var(--cc-bg) !important;
}
.cd-filter--preorder {
  background: var(--cc-warm-deep);
  border-color: var(--cc-warm-deep);
  color: var(--cc-hero-bg) !important;
}

/* ── Era sections ─────────────────────── */
.cd-era {
  max-width: 1120px;
  margin: 0 auto;
  padding: 10vh 24px;
  border-bottom: 1px solid var(--cc-border);
}
.cd-era:last-child { border-bottom: 0; }
.cd-era-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 56px;
}
.cd-era-eyebrow {
  font-family: var(--cc-font);
  color: var(--cc-warm-deep);
  letter-spacing: 0.22em;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.cd-era-title {
  font-family: var(--cc-font-slab);
  font-weight: 600;
  font-size: clamp(1.8rem, 3.6vw, 2.8rem);
  color: var(--cc-fg);
  margin: 0 0 14px;
}
.cd-era-sub {
  font-family: var(--cc-font-slab);
  color: var(--cc-muted);
  font-size: 1rem;
  margin: 0;
}

/* ── Album cards (editorial horizontal) ─ */
.cd-album {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 36px;
  padding: 32px 0;
  border-bottom: 1px solid var(--cc-border);
  align-items: start;
}
.cd-album:last-child { border-bottom: 0; }
.cd-album-cover {
  display: block;
  aspect-ratio: 1;
  border-radius: var(--cc-radius);
  overflow: hidden;
  background: var(--cc-surface);
  box-shadow: 0 4px 16px rgba(15,24,21,0.08);
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.cd-album-cover:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(15,24,21,0.2);
}
.cd-album-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cd-album-cover-empty {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-family: "Noto Sans Ogham", serif;
  font-size: 3rem;
  color: var(--cc-warm-deep);
  background: var(--cc-surface);
}

.cd-album-body { padding-top: 4px; }
.cd-album-year {
  font-family: var(--cc-font-display);
  letter-spacing: 0.22em;
  color: var(--cc-warm-deep);
  font-size: 0.84rem;
  font-weight: 600;
  margin: 0 0 6px;
}
.cd-album-title {
  font-family: var(--cc-font-slab);
  font-weight: 600;
  font-size: clamp(1.4rem, 2.6vw, 1.9rem);
  margin: 0 0 14px;
}
.cd-album-title a { color: var(--cc-fg); text-decoration: none; }
.cd-album-title a:hover { color: var(--cc-accent); }

.cd-ogham {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 14px;
  padding: 4px 10px;
  background: var(--cc-surface);
  border-radius: 999px;
}
.cd-ogham-glyph {
  font-family: "Noto Sans Ogham", "Segoe UI Historic", serif;
  color: var(--cc-warm-deep);
  font-size: 1.2rem;
}
.cd-ogham-name {
  font-family: var(--cc-font-slab);
  font-style: italic;
  color: var(--cc-body);
  font-size: 0.8rem;
  letter-spacing: 0.06em;
}
.cd-ogham-meaning {
  color: var(--cc-muted);
  font-size: 0.74rem;
  font-style: italic;
}
.cd-ogham-meaning::before { content: "· "; }

.cd-album-stat {
  color: var(--cc-body);
  font-size: 0.92rem;
  margin: 0 0 6px;
}
.cd-album-stat strong { color: var(--cc-warm-deep); }
.cd-album-tracks {
  color: var(--cc-muted);
  font-size: 0.86rem;
  margin: 0 0 16px;
}

.cd-album-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.cd-listen {
  padding: 7px 14px;
  border: 1px solid var(--cc-border);
  border-radius: var(--cc-radius);
  font-family: var(--cc-font);
  font-weight: 500;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  color: var(--cc-body) !important;
  text-decoration: none;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
}
.cd-listen:hover {
  border-color: var(--cc-accent);
  color: var(--cc-accent) !important;
}
.cd-listen--page {
  border-color: var(--cc-warm-deep);
  color: var(--cc-warm-deep) !important;
  font-weight: 600;
}
.cd-listen--page:hover {
  background: var(--cc-warm-deep);
  color: var(--cc-bg) !important;
}

.cd-btn {
  padding: 10px 20px;
  border-radius: var(--cc-radius);
  font-family: var(--cc-font);
  font-weight: 600;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  display: inline-block;
}
.cd-btn-primary {
  background: var(--cc-accent);
  color: var(--cc-bg) !important;
}
.cd-btn-primary:hover { background: var(--cc-accent-deep); }

/* Preorder card — highlighted */
.cd-album--preorder {
  padding: 40px 32px;
  background: var(--cc-surface);
  border-left: 3px solid var(--cc-warm-deep);
  border-radius: var(--cc-radius);
  border-bottom: 0 !important;
  margin-bottom: 20px;
}
.cd-album--preorder .cd-album-title a { color: var(--cc-accent); }

/* Solo cards — a touch quieter */
.cd-album--solo .cd-album-cover { opacity: 0.92; }

/* Merch chips per album — CD / Vinyl / Shirt pills with price */
.cd-album-merch {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--cc-border);
}
.cd-merch-label {
  font-family: var(--cc-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cc-muted);
  margin-right: 2px;
}
.cd-merch {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px;
  border: 1px solid var(--cc-warm-deep);
  border-radius: 999px;
  font-size: 0.82rem;
  background: var(--cc-bg);
  color: var(--cc-accent);
  text-decoration: none !important;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}
.cd-merch:hover { background: var(--cc-warm-deep); color: var(--cc-bg); transform: translateY(-1px); }
.cd-merch-type {
  font-family: var(--cc-font);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.72rem;
}
.cd-merch-price { font-family: var(--cc-font-slab); color: inherit; font-weight: 600; }
.cd-merch-price .woocommerce-Price-amount { color: inherit; }
.cd-merch-price del { opacity: 0.55; margin-right: 4px; }
.cd-merch--more { border-style: dashed; color: var(--cc-muted); border-color: var(--cc-border); }

/* Sold-out merch chip — muted, strikethrough, still clickable (goes to product page) */
.cd-merch--out {
  border-color: var(--cc-border);
  background: var(--cc-surface);
  color: var(--cc-muted);
  text-decoration: line-through;
  text-decoration-color: var(--cc-muted);
}
.cd-merch--out:hover {
  background: var(--cc-surface);
  color: var(--cc-body);
  transform: none;
  text-decoration: none;
}
.cd-merch-status {
  font-family: var(--cc-font);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cc-muted);
}
.cd-merch--out .cd-merch-type { text-decoration: line-through; }
.cd-merch--out .cd-merch-status { text-decoration: none; }

@media (max-width: 700px) {
  .cd-album { grid-template-columns: 1fr; gap: 18px; }
  .cd-album-cover { max-width: 200px; }
}
