/*
Theme Name: HD Substance
Theme URI:
Author: HD Substance
Description: Dark media library theme for YouTube videos and Spotify podcasts.
Version: 1.0.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: hd-substance
*/

/* ── Reset & Base ─────────────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

body {
  background: #0d0f14;
  color: #e0e0e0;
}

img { max-width: 100%; height: auto; display: block; }

/* ── Site Header ──────────────────────────────────────────────────────────── */

.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  border-bottom: 1px solid rgba(254, 80, 0, 0.12);
}

/* Frosted-glass background lives on a pseudo-element, not on .site-header
   itself — backdrop-filter on the header would create a new containing
   block for any position:fixed descendant (the mobile nav overlay uses
   position:fixed to cover the full viewport), confining that overlay to
   the header's own box instead of the screen. */
.site-header::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(13, 15, 20, 0.95);
  backdrop-filter: blur(12px);
}

/* Inner flex row: title on left, .hds-nav-right (nav + search) on right */
.site-header .wp-block-group {
  padding: 0 40px;
  min-height: 64px;
  align-items: center;
}

/* Right-side wrapper injected by JS — holds nav block + search button */
.hds-nav-right {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

/* Site title */
.site-header .wp-block-site-title {
  flex-shrink: 1;
  min-width: 0;
}

.site-header .wp-block-site-title a {
  font-family: 'Space Mono', monospace;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #e0e0e0;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.site-header .wp-block-site-title a:hover { color: #FE5000; }

/* Desktop nav links */
.site-header .wp-block-navigation a {
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #7a8090;
  text-decoration: none;
  transition: color 0.2s;
  padding: 4px 0;
  position: relative;
  white-space: nowrap;
}

.site-header .wp-block-navigation a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 100%;
  height: 1px;
  background: #FE5000;
  transition: right 0.25s ease;
}

.site-header .wp-block-navigation a:hover { color: #e0e0e0; }
.site-header .wp-block-navigation a:hover::after { right: 0; }

/* External / opens-in-new-tab nav link */
.site-header .wp-block-navigation a[target="_blank"] { color: #FE5000; }
.site-header .wp-block-navigation a[target="_blank"]:hover { color: #e0e0e0; }

/* Active / current page link */
.site-header .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.site-header .wp-block-navigation-item.current-page-ancestor > .wp-block-navigation-item__content {
  color: #e0e0e0 !important;
}
.site-header .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content::after {
  right: 0 !important;
}

/* ── Navigation responsive breakpoint — hamburger below 1100px ─────────────── */

/* Above 1100px: show inline links, hide hamburger */
@media screen and (min-width: 1100px) {
  .site-header .wp-block-navigation.is-responsive
    .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
  .site-header .wp-block-navigation.is-responsive
    .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: flex !important;
    position: static !important;
    background: transparent !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
  }
  /* Ensure the close button stays hidden on desktop */
  .site-header .wp-block-navigation.is-responsive
    .wp-block-navigation__responsive-container:not(.is-menu-open)
    .wp-block-navigation__responsive-container-close {
    display: none !important;
  }
  /* Let the inner dialog/content be transparent pass-throughs */
  .site-header .wp-block-navigation.is-responsive
    .wp-block-navigation__responsive-container:not(.is-menu-open)
    .wp-block-navigation__responsive-close,
  .site-header .wp-block-navigation.is-responsive
    .wp-block-navigation__responsive-container:not(.is-menu-open)
    .wp-block-navigation__responsive-dialog {
    display: contents;
  }
  .site-header .wp-block-navigation.is-responsive
    .wp-block-navigation__responsive-container:not(.is-menu-open)
    .wp-block-navigation__responsive-container-content {
    display: flex;
    align-items: center;
  }
}

/* Below 1100px: show hamburger, hide inline links */
@media screen and (max-width: 1099px) {
  .site-header .wp-block-navigation.is-responsive
    .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
  .site-header .wp-block-navigation.is-responsive
    .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
}

/* ── Mobile menu — hamburger button ──────────────────────────────────────── */

.wp-block-navigation__responsive-container-open {
  color: #e0e0e0 !important;
  background: transparent !important;
  border: none !important;
  padding: 6px !important;
  cursor: pointer;
  line-height: 0;
}

.wp-block-navigation__responsive-container-open svg {
  width: 24px !important;
  height: 24px !important;
  fill: currentColor;
}

.wp-block-navigation__responsive-container-open:hover {
  color: #FE5000 !important;
}

/* ── Mobile menu — fullscreen overlay ────────────────────────────────────── */

.wp-block-navigation__responsive-container.is-menu-open {
  background: rgba(10, 12, 18, 0.98) !important;
  backdrop-filter: blur(16px);
  padding: 0 !important;
  z-index: 9000;
}

.wp-block-navigation__responsive-dialog {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0 32px;
}

/* Close button */
.wp-block-navigation__responsive-container-close {
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  background: transparent !important;
  border: none !important;
  color: #7a8090 !important;
  padding: 6px !important;
  cursor: pointer;
  transition: color 0.2s;
  line-height: 0;
}

.wp-block-navigation__responsive-container-close:hover { color: #e0e0e0 !important; }

.wp-block-navigation__responsive-container-close svg {
  width: 22px !important;
  height: 22px !important;
}

/* Nav items in overlay */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding-top: 80px;
  width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item {
  border-bottom: 1px solid rgba(255,255,255,0.06);
  width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
  display: block !important;
  font-family: 'Space Mono', monospace !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #e0e0e0 !important;
  padding: 22px 0 !important;
  text-decoration: none !important;
  transition: color 0.15s, padding-left 0.2s !important;
  width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content:hover {
  color: #FE5000 !important;
  padding-left: 8px !important;
}

/* Formación link accent in overlay (last item) */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item:last-child
  .wp-block-navigation-item__content {
  color: #FE5000 !important;
}

/* Site title — small screens */
@media (max-width: 480px) {
  .site-header .wp-block-group { padding: 0 20px; }
  .site-header .wp-block-site-title a {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
  }
}

@media (min-width: 481px) and (max-width: 767px) {
  .site-header .wp-block-group { padding: 0 28px; }
}

/* ── Hero Section ─────────────────────────────────────────────────────────── */

.hero-section {
  min-height: 90vh;
  display: flex;
  align-items: center;
  padding: 80px 40px;
  position: relative;
  overflow: hidden;
}

.hero-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(254, 80, 0, 0.015) 3px,
      rgba(254, 80, 0, 0.015) 4px
    );
  pointer-events: none;
}

.hero-label {
  font-family: 'Space Mono', monospace;
  font-size: 0.7rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
  color: #FE5000 !important;
  margin-bottom: 20px !important;
}

.hero-title {
  font-family: 'Space Mono', monospace;
  font-size: clamp(2.2rem, 5.5vw, 5rem) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  color: #e0e0e0;
  margin-bottom: 0 !important;
}

.hero-title strong {
  color: #FE5000;
  font-weight: 700;
}

.hero-cyan-bar {
  width: 80px;
  height: 2px;
  background: #FE5000;
  box-shadow: 0 0 12px rgba(254, 80, 0, 0.5);
  margin: 28px 0;
}

.hero-sub {
  font-family: 'Inter', sans-serif;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #7a8090;
  max-width: 520px;
  margin-bottom: 40px;
}

/* Hero CTA row — 4 buttons, wraps to 2×2 on mobile */
.hero-ctas.wp-block-buttons {
  row-gap: 10px !important;
  column-gap: 12px !important;
}
.hero-ctas .wp-block-button { flex-shrink: 0; }

@media (max-width: 480px) {
  .hero-ctas.wp-block-buttons { column-gap: 8px !important; row-gap: 8px !important; }
  .hero-ctas .wp-block-button__link { font-size: 0.65rem !important; padding: 10px 16px !important; }
}

/* ── Buttons ──────────────────────────────────────────────────────────────── */

.wp-block-button__link {
  border-radius: 0 !important;
  font-family: 'Space Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: all 0.2s;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #FE5000;
  color: #0d0f14;
  border: 1px solid #FE5000;
  padding: 14px 32px;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: transparent;
  color: #FE5000;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: #FE5000;
  border: 1px solid rgba(254, 80, 0, 0.45);
  padding: 14px 32px;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: #FE5000;
  background: rgba(254, 80, 0, 0.06);
}

/* ── Section Headings ─────────────────────────────────────────────────────── */

.section-heading {
  font-family: 'Space Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #FE5000;
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.section-heading::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(254, 80, 0, 0.2);
}

/* ── Media Cards ──────────────────────────────────────────────────────────── */

.media-card {
  background: #141720;
  border: 1px solid rgba(255, 255, 255, 0.06);
  transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s;
  overflow: hidden;
}

.media-card:hover {
  border-color: rgba(254, 80, 0, 0.3);
  box-shadow: 0 0 24px rgba(254, 80, 0, 0.08);
  transform: translateY(-2px);
}

.media-card .wp-block-post-featured-image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.media-card .card-body {
  padding: 18px 20px 20px;
}

.media-card .wp-block-post-title {
  font-family: 'Space Mono', monospace;
  font-size: 0.88rem;
  line-height: 1.4;
  margin-bottom: 8px;
}

.media-card .wp-block-post-title a {
  color: #e0e0e0;
  text-decoration: none;
}

.media-card .wp-block-post-title a:hover {
  color: #FE5000;
}

.media-card .wp-block-post-date {
  font-size: 0.72rem;
  color: #7a8090;
  letter-spacing: 0.06em;
}

/* Equal-height card grid with gap */
.wp-block-post-template.is-layout-grid {
  gap: 24px !important;
  align-items: stretch !important;
}

.wp-block-post-template .wp-block-post {
  display: flex;
  flex-direction: column;
}

.wp-block-post-template .wp-block-post .media-card {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.wp-block-post-template .wp-block-post .media-card .card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* ── Archive Header ───────────────────────────────────────────────────────── */

.archive-header {
  padding: 80px 40px 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.archive-header .wp-block-query-title {
  font-family: 'Space Mono', monospace;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  color: #e0e0e0;
}

.archive-header .wp-block-term-description {
  color: #7a8090;
  margin-top: 12px;
}

/* ── Single Post ──────────────────────────────────────────────────────────── */

.single-header {
  padding: 80px 40px 40px;
  border-bottom: 1px solid rgba(254, 80, 0, 0.1);
}

.single-header .wp-block-post-title {
  font-family: 'Space Mono', monospace;
  font-size: clamp(1.6rem, 4vw, 3.2rem);
  font-weight: 700;
  line-height: 1.15;
  color: #e0e0e0;
}

.single-meta {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 16px;
}

.single-meta .wp-block-post-date {
  font-size: 0.78rem;
  color: #7a8090;
  letter-spacing: 0.08em;
}

/* Embed wrapper */
.hds-embed-wrapper {
  background: #000;
  margin-bottom: 32px;
}

.hds-embed-wrapper iframe,
.hds-embed-wrapper embed {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
}

/* Spotify embeds have different aspect */
.hds-embed-wrapper iframe[src*="spotify"] {
  aspect-ratio: unset;
  height: 232px;
}

/* ── Footer ───────────────────────────────────────────────────────────────── */

.site-footer {
  background: #080b14;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 56px 40px 32px;
}

.footer-top {
  gap: 48px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  margin-bottom: 28px;
  align-items: flex-start !important;
}

/* Brand column */
.footer-brand {
  flex: 2 1 220px;
  max-width: 320px;
  gap: 12px;
}

.site-footer .wp-block-site-title a {
  font-family: 'Space Mono', monospace;
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #e0e0e0;
  text-decoration: none;
  transition: color 0.2s;
}
.site-footer .wp-block-site-title a:hover { color: #FE5000; }

.footer-tagline {
  font-size: 0.78rem !important;
  color: #52596a !important;
  line-height: 1.6;
  margin: 0 !important;
}

/* Shared column styles */
.footer-col {
  flex: 1 1 140px;
  gap: 14px;
}

.footer-col-heading {
  font-family: 'Space Mono', monospace;
  font-size: 0.6rem !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #FE5000 !important;
  margin: 0 0 4px !important;
}
.footer-col-heading--sm {
  margin-top: 10px !important;
}

/* Archive links list */
.footer-nav-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.footer-nav-list li {
  margin-bottom: 10px !important;
}
.footer-nav-list li a {
  color: #7a8090;
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.18s;
}
.footer-nav-list li a:hover { color: #e0e0e0; }

/* External link */
.footer-ext-link {
  margin: 0 !important;
}
.footer-ext-link a {
  color: #7a8090;
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.18s;
}
.footer-ext-link a:hover { color: #e0e0e0; }

/* Social icons row */
.footer-social-icons {
  display: flex !important;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 !important;
}
.footer-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #52596a;
  transition: color 0.18s;
}
.footer-social-icon:hover { color: #FE5000; }
.footer-social-icon svg { display: block; }

/* Bottom bar */
.footer-bottom {
  gap: 12px;
}
.footer-copy {
  font-size: 0.72rem !important;
  color: #3a4050 !important;
  margin: 0 !important;
}

.footer-legal-links {
  display: flex !important;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0 !important;
}
.footer-legal-links a {
  font-size: 0.72rem;
  color: #3a4050;
  text-decoration: none;
  transition: color 0.18s;
}
.footer-legal-links a:hover { color: #7a8090; }

/* ── Cookie consent banner ──────────────────────────────────────────────── */

#hds-cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #0d1220;
  border-top: 1px solid rgba(254, 80, 0, 0.2);
  padding: 20px 40px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  font-size: 0.8rem;
  color: #7a8090;
}
#hds-cookie-banner p {
  margin: 0;
  flex: 1 1 300px;
  line-height: 1.5;
}
#hds-cookie-banner a {
  color: #FE5000;
  text-decoration: underline;
}
.hds-cookie-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
.hds-cookie-btn {
  padding: 8px 20px;
  border-radius: 3px;
  font-size: 0.78rem;
  font-family: inherit;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.18s;
}
.hds-cookie-btn--accept {
  background: #FE5000;
  color: #0a0e1a;
  font-weight: 600;
  border-color: #FE5000;
}
.hds-cookie-btn--accept:hover { background: #00b8d9; border-color: #00b8d9; }
.hds-cookie-btn--reject {
  background: transparent;
  color: #7a8090;
  border-color: rgba(255,255,255,0.12);
}
.hds-cookie-btn--reject:hover { color: #e0e0e0; border-color: rgba(255,255,255,0.3); }

@media (max-width: 600px) {
  #hds-cookie-banner { padding: 16px 20px; }
  .hds-cookie-actions { width: 100%; }
  .hds-cookie-btn { flex: 1; text-align: center; }
}

/* ── Page content (legal pages, static pages) ─────────────────────────── */

.wp-block-post-content h2 {
  font-family: 'Space Mono', monospace;
  font-size: 1rem;
  letter-spacing: 0.04em;
  color: #e0e0e0;
  margin-top: 2.5em;
  margin-bottom: 0.75em;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.wp-block-post-content p,
.wp-block-post-content li {
  color: #9aa0b0;
  line-height: 1.75;
}
.wp-block-post-content a {
  color: #FE5000;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.wp-block-post-content a:hover { opacity: 0.8; }
.wp-block-post-content ul,
.wp-block-post-content ol {
  padding-left: 1.4em;
  margin-bottom: 1em;
}
.wp-block-post-content li { margin-bottom: 6px; }

.wp-block-post-content .wp-block-table {
  overflow-x: auto;
  margin-bottom: 1.5em;
}
.wp-block-post-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.83rem;
}
.wp-block-post-content th {
  background: rgba(254, 80, 0, 0.07);
  color: #FE5000;
  font-family: 'Space Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 10px 14px;
  text-align: left;
  border-bottom: 1px solid rgba(254, 80, 0, 0.15);
}
.wp-block-post-content td {
  padding: 10px 14px;
  color: #9aa0b0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  vertical-align: top;
}
.wp-block-post-content tr:last-child td { border-bottom: none; }

/* ── Separator ────────────────────────────────────────────────────────────── */

.wp-block-separator.is-style-wide {
  border-color: rgba(254, 80, 0, 0.15) !important;
}

hr.wp-block-separator {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin: 0;
}

/* ── Pagination ───────────────────────────────────────────────────────────── */

.wp-block-query-pagination {
  margin-top: 48px;
}

.wp-block-query-pagination a,
.wp-block-query-pagination-numbers a {
  font-family: 'Space Mono', monospace;
  font-size: 0.78rem;
  color: #7a8090;
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 8px 16px;
  text-decoration: none;
  transition: all 0.2s;
}

.wp-block-query-pagination a:hover,
.wp-block-query-pagination-numbers a:hover {
  color: #FE5000;
  border-color: rgba(254, 80, 0, 0.3);
}

/* ── Animations ───────────────────────────────────────────────────────────── */

@keyframes hds-fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.hds-animate {
  opacity: 0;
  animation: hds-fade-up 0.6s ease forwards;
}

.hds-animate.is-visible {
  opacity: 1;
  animation: hds-fade-up 0.6s ease forwards;
}

/* Editor visibility — prevent opacity:0 from hiding blocks in editor */
.editor-styles-wrapper .hds-animate {
  opacity: 1 !important;
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .hds-animate { animation: none !important; opacity: 1 !important; }
  .site-header .wp-block-navigation a::after { transition: none; }
  .media-card { transition: none; }
}

/* ── Homepage Stats Strip ────────────────────────────────────────────────── */

.home-stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.home-stat {
  text-align: center;
  padding: 28px 16px;
  border-right: 1px solid rgba(255,255,255,0.05);
  transition: background 0.2s;
}

.home-stat:last-child { border-right: none; }
.home-stat:hover { background: rgba(254, 80, 0, 0.04); }

.home-stat-num {
  font-family: 'Space Mono', monospace !important;
  font-size: clamp(1.4rem, 2.8vw, 2.6rem) !important;
  font-weight: 700 !important;
  color: #FE5000 !important;
  line-height: 1 !important;
  margin: 0 0 6px !important;
  display: block;
}

.home-stat-label {
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #7a8090 !important;
  margin: 0 !important;
  display: block;
}

/* mobile: 3-col grid → 3+2, last item in row 2 keeps border-right:none */
@media (max-width: 600px) {
  .home-stats { grid-template-columns: repeat(3, 1fr); }
  .home-stat { padding: 20px 10px; }
  .home-stat:nth-child(3n) { border-right: none; }
}
@media (max-width: 400px) {
  .home-stats { grid-template-columns: repeat(2, 1fr); }
  .home-stat:nth-child(3n) { border-right: 1px solid rgba(255,255,255,0.05); }
  .home-stat:nth-child(2n) { border-right: none; }
}

/* ── Tag Cloud (homepage topics) ─────────────────────────────────────────── */

.home-topics.wp-block-tag-cloud {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.home-topics.wp-block-tag-cloud a {
  font-family: 'Space Mono', monospace !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7a8090 !important;
  border: 1px solid rgba(255,255,255,0.1);
  padding: 5px 12px;
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s;
  display: inline-block;
  line-height: 1.4;
}

.home-topics.wp-block-tag-cloud a:hover {
  color: #FE5000 !important;
  border-color: rgba(254, 80, 0, 0.35);
}

/* ── Homepage About Section ───────────────────────────────────────────────── */

.home-about {
  border-top: 1px solid rgba(254, 80, 0, 0.1);
}

.home-about-text {
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
  color: #c0c6d4 !important;
  max-width: 720px;
  margin-bottom: 24px !important;
}

.home-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

.home-topic-tag {
  font-family: 'Space Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7a8090;
  border: 1px solid rgba(255,255,255,0.1);
  padding: 5px 12px;
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s;
  display: inline-block;
}

.home-topic-tag:hover {
  color: #FE5000;
  border-color: rgba(254, 80, 0, 0.35);
}

/* ── Bio Page ─────────────────────────────────────────────────────────────── */

.bio-lead {
  font-family: 'Space Mono', monospace !important;
  font-size: clamp(1.25rem, 3vw, 1.9rem) !important;
  line-height: 1.5 !important;
  color: #e0e0e0 !important;
  border-left: 3px solid #FE5000;
  padding-left: 24px !important;
  margin-bottom: 56px !important;
}

.bio-stats.wp-block-columns {
  gap: 2px !important;
  margin-bottom: 64px !important;
}

.bio-stat {
  background: #141720 !important;
  border-top: 2px solid #FE5000;
  padding: 28px 20px !important;
  text-align: center;
}

.bio-stat-num {
  font-family: 'Space Mono', monospace !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  color: #FE5000 !important;
  line-height: 1 !important;
  margin: 0 0 10px !important;
}

.bio-stat-label {
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #7a8090 !important;
  margin: 0 !important;
}

/* Timeline */
.bio-era.wp-block-columns {
  align-items: stretch !important;
  gap: 0 !important;
  margin-bottom: 3px !important;
}

.bio-year-col.wp-block-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  padding: 24px 20px 24px 0 !important;
  border-right: 1px solid rgba(254, 80, 0, 0.18) !important;
  flex-basis: 120px !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
}

.bio-year {
  font-family: 'Space Mono', monospace !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #FE5000 !important;
  margin: 0 !important;
  letter-spacing: 0.04em;
  line-height: 1.2 !important;
}

.bio-era-present .bio-year {
  color: #ffab40 !important;
}

.bio-era-present .bio-year-col.wp-block-column {
  border-right-color: rgba(255, 171, 64, 0.25) !important;
}

.bio-content-card.wp-block-column {
  background: #141720 !important;
  border-left: 2px solid rgba(254, 80, 0, 0.2) !important;
  padding: 24px 28px !important;
  margin-left: 0 !important;
}

.bio-era-present .bio-content-card.wp-block-column {
  border-left-color: rgba(255, 171, 64, 0.3) !important;
}

.bio-content-card p {
  color: #c0c6d4 !important;
  line-height: 1.85 !important;
  font-size: 0.96rem !important;
  margin: 0 !important;
}

.bio-content-card em {
  color: #FE5000;
  font-style: normal;
  font-weight: 500;
}

.bio-content-card strong {
  color: #e0e0e0;
  font-weight: 600;
}

@media (max-width: 600px) {
  .bio-lead { border-left: none; padding-left: 0 !important; }
  .bio-era.wp-block-columns { flex-direction: column !important; margin-bottom: 16px !important; }
  .bio-year-col.wp-block-column { flex-direction: row !important; align-items: center !important; border-right: none !important; border-bottom: 1px solid rgba(254, 80, 0, 0.15) !important; padding: 12px 0 12px !important; }
  .bio-content-card.wp-block-column { border-left: none !important; border-top: 2px solid rgba(254, 80, 0, 0.2) !important; padding: 20px 0 !important; }
  /* 6 stats → 3×2 grid on mobile */
  .bio-stats.wp-block-columns { flex-wrap: wrap !important; gap: 2px !important; }
  .bio-stat { flex: 0 0 calc(33.333% - 2px) !important; box-sizing: border-box !important; padding: 18px 8px !important; }
  .bio-stat-num { font-size: 1.6rem !important; }
}

/* ── Responsive ───────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
  .site-header .wp-block-group { padding: 14px 20px; }
  .hero-section { padding: 60px 20px; min-height: 80vh; }
  .archive-header { padding: 60px 20px 32px; }
  .single-header { padding: 60px 20px 32px; }
  .site-footer { padding: 40px 20px 24px; }
  .footer-top { gap: 36px; }
  .footer-brand { max-width: 100%; }
  .footer-col { flex: 1 1 120px; }
}

/* ── Mobile: reduce all large section padding across home page ───────────────
   Targets inline style="padding-top:NNpx" blocks (72 / 80 / 64 / 56px)
   that are too tall on small screens. Named sections get explicit overrides
   below; this catches anonymous content-grid sections. */
@media (max-width: 768px) {
  .home-about { padding-top: 48px !important; padding-bottom: 48px !important; }
  .buy-strip  { padding-top: 40px !important; padding-bottom: 40px !important; }
  /* anonymous constrained sections (Videos / Podcasts / Albums / Sessions grids) */
  .wp-block-group[style*="padding-top:72px"],
  .wp-block-group[style*="padding-top: 72px"] {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  /* home-about two-column stacking */
  .home-about .wp-block-columns { flex-direction: column !important; gap: 32px !important; }
  .home-about .wp-block-column { flex-basis: 100% !important; }
  .home-about-text { font-size: 0.95rem !important; }
}
@media (max-width: 480px) {
  .home-about { padding-top: 36px !important; padding-bottom: 36px !important; }
  .buy-strip  { padding-top: 32px !important; padding-bottom: 32px !important; }
  .wp-block-group[style*="padding-top:72px"],
  .wp-block-group[style*="padding-top: 72px"] {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
}

/* ── HD Substance Lab — Nav link ──────────────────────────────────────────── */

.wp-block-navigation .nav-lab-link > a {
  color: #FE5000 !important;
}

/* ── HD Substance Lab — Homepage Promo Section ────────────────────────────── */

.lab-promo {
  border-top: 1px solid rgba(254, 80, 0, 0.15);
  border-bottom: 1px solid rgba(254, 80, 0, 0.15);
  background: linear-gradient(135deg, rgba(254, 80, 0, 0.04) 0%, transparent 60%);
  position: relative;
}

.lab-promo::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(to bottom, #FE5000, transparent);
}

.lab-promo-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
}

.lab-badge {
  display: flex !important;
  align-items: flex-start;
  gap: 14px;
  padding: 0;
}

.lab-badge-icon {
  color: #FE5000;
  font-size: 0.55rem;
  margin: 0;
  padding-top: 4px;
  flex-shrink: 0;
  line-height: 1.6;
}

.lab-badge-title {
  font-family: var(--wp--preset--font-family--space-grotesk, "Space Grotesk", sans-serif);
  font-weight: 600;
  font-size: 0.9rem;
  color: #e0e0e0;
  margin: 0;
  line-height: 1.3;
}

.lab-badge-desc {
  font-size: 0.8rem;
  color: #7a8090;
  margin: 0;
  line-height: 1.4;
}

@media (max-width: 768px) {
  /* Lab promo + Gig promo: reduce excessive inline padding on mobile */
  .lab-promo,
  .gig-promo {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .lab-promo .wp-block-columns,
  .gig-promo .wp-block-columns { flex-direction: column; }
  .lab-promo-list { margin-top: 24px; }
  /* Tighten section headings inside promo blocks */
  .lab-promo h2,
  .gig-promo h2 { font-size: 1.6rem !important; line-height: 1.25 !important; }
  /* Gig promo right column: stats + venue list */
  .gig-promo-stats { margin-top: 28px; gap: 20px; }
  .gig-promo-num { font-size: 1.8rem; }
}

@media (max-width: 480px) {
  .lab-promo,
  .gig-promo {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }
  .lab-promo h2,
  .gig-promo h2 { font-size: 1.4rem !important; }
  .lab-promo-list { margin-top: 20px; gap: 14px; }
  .lab-badge-title { font-size: 0.85rem; }
  .lab-badge-desc { font-size: 0.75rem; }
}


/* ── Buy / Platform Cards ─────────────────────────────────────────────────── */

.buy-strip {
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.buy-platform-card {
  background: #131720;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 8px;
  padding: 28px 28px 24px;
  display: flex;
  flex-direction: column;
}

.buy-platform-card--beatport {
  border-top: 2px solid #FE5000;
}

.buy-platform-card--bandcamp {
  border-top: 2px solid rgba(255,255,255,0.2);
}

.buy-platform-name {
  font-family: var(--wp--preset--font-family--space-grotesk, "Space Grotesk", sans-serif);
  font-weight: 700;
  font-size: 1.3rem;
  color: #e0e0e0;
  margin: 0 0 4px !important;
  letter-spacing: -0.01em;
}

.buy-platform-scope {
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #7a8090;
  margin: 0 0 16px !important;
}

.buy-strip-single .wp-block-buttons {
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 768px) {
  .buy-platform-card { padding: 22px 18px 20px; }
}

/* ── Bio: 4-column stats ──────────────────────────────────────────────────── */

.bio-stats.wp-block-columns {
  gap: 12px !important;
}

/* ── Bio: Album cards ─────────────────────────────────────────────────────── */

.bio-albums.wp-block-columns {
  gap: 16px !important;
  margin-bottom: 16px !important;
}

.bio-album-card {
  background: #131720;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 6px;
  padding: 20px;
  transition: border-color 0.2s;
}

.bio-album-card:hover {
  border-color: rgba(254, 80, 0, 0.25);
}

.bio-album-year {
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #FE5000;
  margin: 0 0 6px !important;
}

.bio-album-title {
  font-family: var(--wp--preset--font-family--space-grotesk, "Space Grotesk", sans-serif);
  font-weight: 700;
  font-size: 1.05rem;
  color: #e0e0e0;
  margin: 0 0 4px !important;
}

.bio-album-label {
  font-size: 0.78rem;
  color: #7a8090;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .bio-albums.wp-block-columns { flex-wrap: wrap !important; }
  .bio-album-card { min-width: 45%; }
}

/* ── RSS Block — HD Substance Lab articles ────────────────────────────────── */

.lab-articles .wp-block-rss,
.lab-articles-home .wp-block-rss {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
}

/* Grid layout (single post templates) */
.lab-articles .wp-block-rss.is-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* Reset core flexbox-based li sizing so CSS grid takes control */
.lab-articles .wp-block-rss.is-grid li,
.lab-articles-home .wp-block-rss.is-grid li {
  width: auto !important;
  margin: 0 !important;
}

.lab-articles .wp-block-rss__item,
.lab-articles-home .wp-block-rss__item {
  background: #131720;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 6px;
  padding: 18px 20px;
  transition: border-color 0.2s;
}

.lab-articles .wp-block-rss__item:hover,
.lab-articles-home .wp-block-rss__item:hover {
  border-color: rgba(254, 80, 0, 0.3);
}

.lab-articles .wp-block-rss__item-title a,
.lab-articles-home .wp-block-rss__item-title a {
  color: #e0e0e0;
  text-decoration: none;
  font-family: var(--wp--preset--font-family--space-grotesk, "Space Grotesk", sans-serif);
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.4;
  display: block;
  margin-bottom: 8px;
  transition: color 0.2s;
}

.lab-articles .wp-block-rss__item-title a:hover,
.lab-articles-home .wp-block-rss__item-title a:hover {
  color: #FE5000;
}

.lab-articles .wp-block-rss__item-excerpt,
.lab-articles-home .wp-block-rss__item-excerpt {
  font-size: 0.78rem;
  color: #7a8090;
  line-height: 1.5;
  margin: 0;
}

/* List layout (homepage) */
.lab-articles-home .wp-block-rss__item {
  border-radius: 4px;
  padding: 12px 16px;
  margin-bottom: 0;
}

.lab-articles-home .wp-block-rss__item-title a {
  font-size: 0.85rem;
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .lab-articles .wp-block-rss.is-grid {
    grid-template-columns: 1fr;
  }
  .lab-articles-home .wp-block-columns {
    flex-direction: column;
  }
  /* Lab articles home: reduce inline section padding on mobile */
  .lab-articles-home {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  /* Left intro column becomes full width, remove right-column offset */
  .lab-articles-home .wp-block-column:first-child {
    flex-basis: 100% !important;
    max-width: 100% !important;
    margin-bottom: 24px;
  }
  .lab-articles-home .wp-block-column:last-child {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

/* ── Course Cards ────────────────────────────────────────────────────────── */

.course-card .course-price-label .wp-block-post-excerpt__excerpt {
  font-family: 'Space Mono', monospace;
  font-size: 0.68rem !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #FE5000 !important;
  margin: 4px 0 6px !important;
}

/* ── Course Single: CTA bar ─────────────────────────────────────────────── */

.hds-course-cta {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 24px;
  background: rgba(254, 80, 0, 0.06);
  border: 1px solid rgba(254, 80, 0, 0.18);
  border-radius: 4px;
  margin-bottom: 32px;
}

.hds-course-price {
  font-family: 'Space Mono', monospace;
  font-size: 1.5rem;
  font-weight: 700;
  color: #FE5000;
  line-height: 1;
  flex-shrink: 0;
}

.hds-course-price--free {
  color: #4ade80;
}

.hds-course-btn {
  display: inline-block;
  background: #FE5000;
  color: #0d0f14 !important;
  font-family: 'Space Mono', monospace;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none !important;
  padding: 12px 24px;
  transition: background 0.2s, transform 0.15s;
}

.hds-course-btn:hover {
  background: #00b8db;
  transform: translateY(-1px);
}

.hds-course-btn--soon {
  background: rgba(255,255,255,0.08);
  color: #7a8090 !important;
  cursor: default;
}

.hds-course-btn--soon:hover {
  background: rgba(255,255,255,0.08);
  transform: none;
}

/* ── Course Related Content ──────────────────────────────────────────────── */

/* Unified cross-CPT related content wrapper */
.hds-cpt-related {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid rgba(254, 80, 0, 0.12);
}

/* Legacy alias kept for any remaining references */
.hds-course-related { margin-top: 56px; padding-top: 40px; border-top: 1px solid rgba(254, 80, 0, 0.12); }

.hds-cpt-related__heading,
.hds-related-heading {
  font-family: 'Space Mono', monospace !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #FE5000 !important;
  margin: 0 0 32px !important;
  font-weight: 700 !important;
}

/* Per-type section inside the recommendations block */
.hds-rel-section {
  margin-bottom: 40px;
}
.hds-rel-section:last-child { margin-bottom: 0; }

.hds-rel-section__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 16px;
}

.hds-rel-section__label {
  font-family: 'Space Mono', monospace;
  font-size: 0.62rem !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #7a8090 !important;
  margin: 0 !important;
}

.hds-rel-section__more {
  font-size: 0.72rem;
  color: #FE5000;
  text-decoration: none;
  opacity: 0.75;
  transition: opacity 0.18s;
  white-space: nowrap;
}
.hds-rel-section__more:hover { opacity: 1; }

.hds-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width: 768px) {
  .hds-related-grid { grid-template-columns: 1fr; }
}

.hds-related-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  background: var(--wp--preset--color--surface, #161b28);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  overflow: hidden;
  transition: border-color 0.2s, transform 0.2s;
}

.hds-related-card:hover {
  border-color: rgba(254, 80, 0, 0.3);
  transform: translateY(-2px);
}

.hds-related-thumb {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #0d0f14;
  flex-shrink: 0;
}

.hds-related-thumb--empty {
  background: linear-gradient(135deg, #161b28, #0d0f14);
}

.hds-related-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s;
}

.hds-related-card:hover .hds-related-thumb img {
  transform: scale(1.04);
}

.hds-related-body {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.hds-related-type {
  font-family: 'Space Mono', monospace;
  font-size: 0.58rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #FE5000;
}

.hds-related-title {
  font-size: 0.85rem;
  line-height: 1.35;
  color: #e0e0e0;
}

/* ── Site Search ──────────────────────────────────────────────────────────── */

.hds-search-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: #7a8090;
  padding: 6px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  transition: color 0.2s;
  margin-left: 8px;
}

.hds-search-btn:hover,
.hds-search-btn.is-active {
  color: #FE5000;
}

.hds-search-btn svg {
  width: 18px;
  height: 18px;
  display: block;
}

.hds-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(10, 12, 18, 0.98);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 80px 24px 40px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s;
}

.hds-search-overlay.is-open {
  opacity: 1;
  pointer-events: all;
}

.hds-search-overlay-close {
  position: absolute;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  cursor: pointer;
  color: #7a8090;
  padding: 8px;
  line-height: 0;
  transition: color 0.2s;
}

.hds-search-overlay-close:hover { color: #e0e0e0; }

.hds-search-overlay-close svg {
  width: 22px;
  height: 22px;
  display: block;
}

.hds-search-wrap {
  width: 100%;
  max-width: 680px;
}

.hds-search-input-row {
  display: flex;
  align-items: center;
  border-bottom: 2px solid #FE5000;
  gap: 12px;
  padding-bottom: 10px;
  margin-bottom: 28px;
}

.hds-search-input-row svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: #FE5000;
}

.hds-search-input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  color: #e0e0e0;
  font-family: 'Space Mono', monospace;
  font-size: 1.35rem;
  caret-color: #FE5000;
  -webkit-appearance: none;
}

.hds-search-input::placeholder { color: rgba(255,255,255,0.2); }

/* hide browser default clear button on search input */
.hds-search-input::-webkit-search-cancel-button { -webkit-appearance: none; }

.hds-search-results {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hds-search-results li {
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.hds-search-results a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  text-decoration: none;
  color: #e0e0e0;
  transition: color 0.15s;
}

.hds-search-results a:hover { color: #FE5000; }

.hds-result-type {
  font-family: 'Space Mono', monospace;
  font-size: 0.58rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #FE5000;
  padding: 3px 8px;
  border: 1px solid rgba(254, 80, 0, 0.35);
  white-space: nowrap;
  flex-shrink: 0;
}

.hds-result-title {
  font-size: 0.92rem;
  line-height: 1.35;
}

.hds-search-status,
.hds-search-no-results {
  font-family: 'Space Mono', monospace;
  font-size: 0.78rem;
  color: #7a8090;
  padding: 20px 0;
  text-align: center;
  display: block;
}

@media (max-width: 768px) {
  .hds-search-overlay { padding-top: 60px; }
  .hds-search-input { font-size: 1.1rem; }
}

/* ── Links page ───────────────────────────────────────────────────────────── */

.links-page { max-width: 480px; margin: 0 auto; }

.link-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 18px 20px;
  margin-bottom: 10px;
  background: #141720;
  transition: border-color 0.2s, background 0.2s;
  text-decoration: none;
}
.link-card:hover { border-color: #FE5000; background: #1c2030; }

.link-card-inner { display: flex; flex-direction: column; gap: 2px; }

.link-card-category {
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #7a8090;
  margin: 0;
}
.link-card-name {
  font-size: 0.95rem;
  font-weight: 500;
  color: #e0e0e0;
  margin: 0;
}

.link-card-btn {
  font-family: 'Space Mono', monospace;
  font-size: 1.1rem;
  color: #FE5000;
  text-decoration: none;
  transition: transform 0.15s;
  display: block;
  padding-left: 16px;
}
.link-card:hover .link-card-btn { transform: translateX(4px); }

.link-card--music  { border-left: 2px solid #FE5000; }
.link-card--video  { border-left: 2px solid #9b59b6; }
.link-card--social { border-left: 2px solid #e1306c; }
.link-card--info   { border-left: 2px solid #f39c12; }
.link-card--lab    { border-left: 2px solid #2ecc71; }
.link-card--media  { border-left: 2px solid #3498db; }
.link-card--bio    { border-left: 2px solid rgba(255,255,255,0.2); }

/* ── Gig Archive ──────────────────────────────────────────────────────────── */

.gig-archive-year {
  font-family: 'Space Mono', monospace;
  font-size: 1.6rem;
  color: #FE5000;
  margin: 48px 0 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(254, 80, 0, 0.2);
}

.gig-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
  margin-bottom: 8px;
}
.gig-table th {
  font-family: 'Space Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #7a8090;
  text-align: left;
  padding: 8px 12px 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.gig-table td {
  padding: 10px 12px 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  color: #c0c8d8;
  vertical-align: top;
}
.gig-table tr:hover td { background: rgba(255,255,255,0.02); }
.gig-date  { color: #7a8090; white-space: nowrap; font-family: 'Space Mono', monospace; font-size: 0.78rem; }
.gig-title { color: #e0e0e0; font-weight: 500; }
.gig-venue { color: #aab0bc; }
.gig-city  { color: #7a8090; }
.gig-alias { font-size: 0.72rem; color: #FE5000; font-family: 'Space Mono', monospace; white-space: nowrap; }

@media (max-width: 640px) {
  .gig-table th:nth-child(3),
  .gig-table td:nth-child(3) { display: none; }
}

/* ── Gig promo teaser (home page) ──────────────────────────────────────────── */
.gig-promo-stats {
  display: flex;
  gap: 32px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.gig-promo-stat { text-align: center; min-width: 72px; }
.gig-promo-num {
  font-family: 'Space Mono', monospace;
  font-size: 2.2rem;
  font-weight: 700;
  color: #FE5000;
  margin: 0 0 4px;
  line-height: 1;
}
.gig-promo-label {
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #7a8090;
  margin: 0;
}
