/* ==========================================================
   JAMV Records — style.css
   ========================================================== */

@font-face {
  font-family: 'Bebas Neue';
  src: url('./BebasNeue-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --color-bg: #0a0a0a;
  --color-bg-alt: #131313;
  --color-bg-alt-2: #17140d;
  --color-text: #f2f0ea;
  --color-text-muted: #b8b3a6;
  --color-gold: #c9a227;
  --color-gold-light: #e2c766;
  --color-border: #2a2822;
  --font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-display: 'Bebas Neue', var(--font-base);
  --max-width: 1120px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ---------- FUNDO MASTER (imagem estática, sem animação) ---------- */
/* Camada única atrás de todo o site. Só aparece onde as seções
   não têm fundo opaco próprio — não substitui nenhum fundo existente. */

.fluid-bg {
  position: fixed;
  inset: -40px;
  z-index: -1;
  overflow: hidden;
  opacity: 0.3;
  pointer-events: none;
  background-image: url('data:image/jpeg;base64,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');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: blur(20px);
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-base);
  background: var(--color-bg);
  color: var(--color-text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body.nav-open-lock {
  overflow: hidden;
}

/* Com o menu mobile aberto, o header não pode ter backdrop-filter:
   filter/backdrop-filter em um ancestral cria um novo "containing block"
   pra elementos position:fixed dentro dele (spec CSS Filter Effects).
   Isso fazia o .main-nav (fixed, inset:0) passar a se posicionar em
   relação ao .site-header (que só tem a altura da barra), em vez do
   viewport inteiro — por isso o menu "abria" só numa faixa fina no topo
   e o resto da tela mostrava o conteúdo por baixo. Desligando o
   backdrop-filter do header enquanto o menu está aberto, o fixed volta
   a valer pro viewport todo. */
body.nav-open-lock .site-header {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

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

a {
  color: inherit;
  text-decoration: none;
}

.container {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
}

.eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-gold);
  margin-bottom: 10px;
}

.section-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 700;
  letter-spacing: 0.01em;
  margin-bottom: 32px;
  text-transform: uppercase;
}

/* ---------- reveal-on-scroll ---------- */

.reveal {
  opacity: 1;
  transform: none;
  transition: opacity 0.7s ease, transform 0.7s ease;
}

html.js-anim .reveal {
  opacity: 0;
  transform: translateY(28px);
}

html.js-anim .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- BUTTONS ---------- */

.btn {
  display: inline-block;
  padding: 13px 30px;
  border-radius: 3px;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: all 0.2s ease;
  border: 1px solid transparent;
  cursor: pointer;
}

.btn-gold {
  background: var(--color-gold);
  color: #0a0a0a;
}

.btn-gold:hover {
  background: var(--color-gold-light);
  transform: translateY(-2px);
}

.btn-outline {
  border-color: var(--color-gold);
  color: var(--color-gold);
  background: transparent;
}

.btn-outline:hover {
  background: var(--color-gold);
  color: #0a0a0a;
  transform: translateY(-2px);
}

.btn-small {
  padding: 9px 20px;
  font-size: 0.8rem;
  background: transparent;
  border: 1px solid var(--color-gold);
  color: var(--color-gold);
}

.btn-small:hover {
  background: var(--color-gold);
  color: #0a0a0a;
}

.btn-disabled {
  opacity: 0.4;
  pointer-events: none;
  border-color: var(--color-text-muted);
  color: var(--color-text-muted);
}

/* ---------- HEADER ---------- */

.site-header {
  position: static;
  width: 100%;
  z-index: 100;
  background: rgba(10, 10, 10, 0.85);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--color-border);
  transition: border-color 0.3s ease;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
  padding-bottom: 10px;
}

.logo-img {
  width: 110px;
  height: auto;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 28px;
}

.main-nav a {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted);
  transition: color 0.2s ease;
}

.main-nav a:hover {
  color: var(--color-gold);
}

.follow-bar {
  display: flex;
  gap: 8px;
  margin-left: 12px;
  padding-left: 20px;
  border-left: 1px solid var(--color-border);
}

.follow-chip {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 7px 13px;
  border-radius: 20px;
  border: 1px solid var(--color-border);
  color: var(--color-text-muted);
  transition: all 0.2s ease;
  white-space: nowrap;
}

.follow-chip:hover {
  border-color: var(--color-gold);
  color: var(--color-gold);
}

.follow-chip--yt:hover { border-color: #ff3b30; color: #ff3b30; }
.follow-chip--sp:hover { border-color: #1db954; color: #1db954; }
.follow-chip--am:hover { border-color: var(--color-gold); color: var(--color-gold); }

.follow-chip--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 50%;
}

.follow-chip--icon svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  position: relative;
  z-index: 1000;
  transition: opacity 0.2s ease;
}

.nav-toggle span {
  width: 24px;
  height: 2px;
  background: var(--color-text);
  border-radius: 2px;
}

.nav-close {
  display: none;
  border: none;
  cursor: pointer;
}

/* ---------- HERO / SLIDER ---------- */

.hero {
  position: relative;
  min-height: clamp(560px, 100vh, 760px);
  overflow: hidden;
}

.hero-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease;
}

.hero-slide.is-active {
  opacity: 1;
  visibility: visible;
}

.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #0a0a0a;
  filter: brightness(0.4) saturate(1.1);
  background-image: inherit;
  background-size: inherit;
  background-position: inherit;
  transform: scale(1.08);
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(10,10,10,0.5) 0%, rgba(10,10,10,0.6) 45%, #0a0a0a 100%),
    linear-gradient(90deg, rgba(10,10,10,0.75) 0%, rgba(10,10,10,0.15) 55%);
}

.hero-overlay--solid {
  background: rgba(10,10,10,0.72);
}

.hero-slide--institutional {
  background: linear-gradient(160deg, #0a0a0a 0%, #131313 55%, #0a0a0a 100%);
}

.hero-slide--institutional::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(201,162,39,0.10), transparent 45%),
    radial-gradient(circle at 82% 74%, rgba(201,162,39,0.07), transparent 50%),
    url("../images/Preenchimento de Cor 2.jpg");
  background-size: cover;
  background-position: center;
  filter: blur(6px); opacity: 0.65;
  transform: scale(1.06);
}

.hero-overlay--institutional {
  background: linear-gradient(180deg, rgba(10,10,10,0.18) 0%, rgba(10,10,10,0.35) 55%, rgba(10,10,10,0.7) 100%);
}

.hero-content {
  position: relative;
  z-index: 2;
  padding-top: 24px;
  text-align: center;
}

.hero-eyebrow {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--color-gold);
  margin-bottom: 22px;
}

.hero-title {
  font-size: clamp(2.4rem, 6.5vw, 4.6rem);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.01em;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 26px;
}

.hero-title--display {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(3.2rem, 9vw, 6.4rem);
  letter-spacing: 0.01em;
  line-height: 0.98;
}

.hero-title-art {
      display: block;
        width: 100%;
          max-width: 620px;
            height: auto;
            margin: 0 auto;
}

.hero-tagline {
  color: var(--color-text-muted);
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 24px;
}

.hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}

.hero-platforms {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  justify-content: center;
}

.hero-platform-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border-radius: 30px;
  border: 1px solid var(--color-border);
  background: rgba(10, 10, 10, 0.45);
  backdrop-filter: blur(6px);
  color: var(--color-text);
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: all 0.2s ease;
}

.hero-platform-btn img {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.hero-platform-btn:hover {
  border-color: var(--color-gold);
  background: var(--color-gold);
  color: #0a0a0a;
}

.hero-platform-btn:hover img {
  filter: invert(1) brightness(0);
}

.hero-badge-live {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-gold);
}

.hero-badge-live::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-gold);
  box-shadow: 0 0 0 0 rgba(201,162,39,0.6);
  animation: heroPulse 1.8s ease-out infinite;
}

@keyframes heroPulse {
  0% { box-shadow: 0 0 0 0 rgba(201,162,39,0.55); }
  70% { box-shadow: 0 0 0 10px rgba(201,162,39,0); }
  100% { box-shadow: 0 0 0 0 rgba(201,162,39,0); }
}

.hero-dots {
  position: absolute;
  bottom: 90px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  gap: 10px;
}

.hero-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(242,240,234,0.3);
  border: none;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.hero-dot.is-active {
  background: var(--color-gold);
  transform: scale(1.25);
}

.scroll-cue {
  position: absolute;
  bottom: 28px;
  right: 24px;
  width: 22px;
  height: 36px;
  border: 2px solid rgba(242,240,234,0.35);
  border-radius: 12px;
  z-index: 3;
}

.scroll-cue span {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 8px;
  background: var(--color-gold);
  border-radius: 2px;
  animation: scrollcue 1.8s ease-in-out infinite;
}

@keyframes scrollcue {
  0%   { opacity: 1; top: 6px; }
  70%  { opacity: 0; top: 18px; }
  100% { opacity: 0; top: 6px; }
}

/* ---------- MARQUEE ---------- */

.marquee {
  background: var(--color-gold);
  overflow: hidden;
  white-space: nowrap;
  border-top: 1px solid #0a0a0a;
  border-bottom: 1px solid #0a0a0a;
  margin-top: 0px;
  position: relative;
  z-index: 4;
}

.marquee-track {
  display: inline-flex;
  gap: 18px;
  padding: 12px 0;
  /* Conteúdo repetido 4x no HTML (não 2x) — garante que a faixa sempre
     seja mais larga que qualquer tela, então o loop de -50% nunca expõe
     um vão em branco no final antes de recomeçar. Duração dobrada (30s→60s)
     pra manter a mesma velocidade visual de antes. */
  animation: marquee 60s linear infinite;
  width: max-content;
}

.marquee-track span {
  color: #0a0a0a;
  font-weight: 800;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ---------- FAIXA DO MOMENTO ---------- */

.faixa-momento {
  padding: 90px 0 70px;
  text-align: center;
}

.faixa-momento-sub {
  color: var(--color-text-muted);
  font-size: 0.9rem;
  max-width: 560px;
  margin: 0 auto 36px;
}

.faixa-momento-player {
  position: relative;
  width: 100%;
  max-width: 720px;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--color-border);
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}

.faixa-momento-player iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.video-direct-link {
  display: inline-block;
  margin-top: 18px;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-gold);
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}

.video-direct-link:hover {
  border-color: var(--color-gold);
}

/* ---------- DISCOGRAFIA ---------- */

.discografia {
  padding: 90px 0;
}

.album-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.album-card {
  position: relative;
  background: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  overflow: hidden;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.album-card:hover {
  transform: translateY(-6px);
  border-color: var(--color-gold);
}

.album-index {
  position: absolute;
  top: 10px;
  left: 12px;
  z-index: 2;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--color-gold-light);
  background: rgba(10,10,10,0.55);
  padding: 3px 9px;
  border-radius: 3px;
  letter-spacing: 0.06em;
}

.album-cover {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.album-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.album-card:hover .album-cover img {
  transform: scale(1.06);
}

.album-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--color-gold);
  color: #0a0a0a;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 3px;
}

.album-badge--soon {
  background: var(--color-text-muted);
}

.album-info {
  padding: 22px;
}

.album-info h3 {
  font-size: 1.15rem;
  margin-bottom: 4px;
}

.album-meta {
  color: var(--color-gold);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
}

.album-desc {
  color: var(--color-text-muted);
  font-size: 0.9rem;
  margin-bottom: 20px;
}

/* ---------- ENVIE SUA HISTÓRIA (CTA) ---------- */

.historia-cta {
  padding: 56px 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-bg-alt);
}

.historia-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.historia-cta-text {
  color: var(--color-text-muted);
  max-width: 560px;
}

.historia-cta .btn {
  flex-shrink: 0;
}

@media (max-width: 700px) {
  .historia-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }
}

/* ---------- DISCOS EM LANÇAMENTO ---------- */

.lancamentos {
  padding: 90px 0;
  background: var(--color-bg-alt);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.lancamento-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.lancamento-card {
  background: linear-gradient(135deg, #123a3a, #0e2b2b);
  border: 1px solid #1d4d4d;
  border-radius: 8px;
  padding: 24px;
}

.lancamento-card--aprovacao {
  background: var(--color-bg);
  border-color: var(--color-border);
}

.lancamento-status {
  display: inline-block;
  background: #6c4de0;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 18px;
}

.lancamento-status--aprovacao {
  background: var(--color-text-muted);
  color: #0a0a0a;
}

.lancamento-card--principal {
  background: linear-gradient(135deg, var(--color-bg-alt-2), #241c0c);
  border-color: var(--color-gold);
  margin-bottom: 24px;
}

.lancamento-status--principal {
  background: var(--color-gold);
  color: #0a0a0a;
}

.lancamento-card--principal .lancamento-cover {
  width: 110px;
  height: 110px;
}

.lancamento-body {
  display: flex;
  gap: 20px;
  align-items: center;
}

.lancamento-cover {
  width: 92px;
  height: 92px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
}

.lancamento-info h3 {
  font-size: 1.1rem;
  margin-bottom: 12px;
}

.countdown {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}

.countdown-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 42px;
}

.countdown-box span {
  font-size: 1.3rem;
  font-weight: 800;
}

.countdown-box small {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-muted);
}

.lancamento-date {
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

.lancamento-date--muted {
  opacity: 0.7;
}

.lancamento-previsao {
  font-size: 0.85rem;
  color: var(--color-gold);
  font-weight: 700;
  margin-bottom: 4px;
}

/* ---------- TRAP VOL. 2 TEASER ---------- */

.trap-teaser {
  padding: 90px 0;
}

.trap-teaser-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.trap-teaser-desc {
  color: var(--color-text-muted);
  max-width: 440px;
  margin-bottom: 28px;
}

.trap-teaser-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.trap-teaser-player {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--color-border);
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}

.trap-teaser-player iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* ---------- COMUNIDADE ---------- */

.comunidade {
  position: relative;
  padding: 90px 0;
  overflow: hidden;
}

.comunidade-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: brightness(0.16) saturate(0.8) blur(2px);
  transform: scale(1.05);
  z-index: 0;
}

.comunidade > .container {
  position: relative;
  z-index: 1;
}

.comunidade-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.comunidade-card {
  padding: 26px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: rgba(10,10,10,0.75);
  backdrop-filter: blur(4px);
  position: relative;
}

.comunidade-card h3 {
  font-size: 1.02rem;
  margin-bottom: 8px;
}

.comunidade-card p {
  color: var(--color-text-muted);
  font-size: 0.88rem;
  margin-bottom: 14px;
}

.comunidade-card--placeholder {
  opacity: 0.85;
}

.tag-em-breve {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted);
  border: 1px solid var(--color-border);
  padding: 3px 9px;
  border-radius: 3px;
}

.comunidade-links {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.comunidade-links a {
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-gold);
  transition: color 0.2s ease;
}

.comunidade-links a:hover {
  color: var(--color-gold-light);
}

/* ---------- SOBRE ---------- */

.sobre {
  padding: 90px 0;
  background: var(--color-bg-alt);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.sobre-inner {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 56px;
  align-items: center;
}

.sobre-img {
  border-radius: 6px;
}

.sobre-text p {
  color: var(--color-text-muted);
  margin-bottom: 16px;
  max-width: 560px;
}

.sobre-subscribe {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--color-border);
}

.sobre-subscribe-label {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gold);
  margin-bottom: 14px;
}

.sobre-subscribe-links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ---------- OUÇA / PLATAFORMAS ---------- */

.ouca {
  padding: 90px 0;
}

.platform-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.platform-chip {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 22px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-bg-alt);
  min-width: 160px;
  transition: all 0.2s ease;
}

.platform-chip:hover {
  border-color: var(--color-gold);
  transform: translateY(-3px);
}

.platform-chip--primary {
  border-color: var(--color-gold);
  background: linear-gradient(135deg, var(--color-bg-alt-2), var(--color-bg-alt));
}

.platform-name {
  font-weight: 700;
  font-size: 0.98rem;
}

.platform-tag {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted);
}

.platform-chip--primary .platform-tag {
  color: var(--color-gold);
}

.platform-note {
  margin-top: 22px;
  font-size: 0.8rem;
  color: var(--color-text-muted);
  opacity: 0.7;
  max-width: 620px;
}

.ia-note {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--color-border);
  font-size: 0.72rem;
  color: var(--color-text-muted);
  opacity: 0.5;
  max-width: 620px;
}

/* ---------- FOOTER ---------- */

.site-footer {
  padding: 64px 0 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 48px;
}

.footer-col h4 {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-gold);
  margin-bottom: 18px;
}

.footer-col a {
  display: block;
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin-bottom: 12px;
  transition: color 0.2s ease;
}

.footer-col a:hover {
  color: var(--color-gold);
}

.footer-col--brand .footer-logo {
  width: 185px;
  max-width: 100%;
  height: auto;
  margin-bottom: 14px;
  margin-top: -4px;
}

.footer-support-text {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}

.footer-pix-key {
  color: var(--color-gold);
  font-size: 0.9rem;
}

.footer-bottom {
  padding: 24px 0 32px;
  text-align: center;
  border-top: 1px solid var(--color-border);
}

.footer-copy {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  opacity: 0.55;
}

.footer-dev {
  font-size: 0.7rem;
  color: var(--color-text-muted);
  opacity: 0.45;
  margin-top: 4px;
}

.footer-dev a {
  color: var(--color-text-muted);
  text-decoration: underline;
}

.footer-dev a:hover {
  color: var(--color-gold);
}

/* ---------- STUB PAGES ---------- */

.stub-page {
  min-height: 70vh;
  display: flex;
  align-items: center;
  padding: 140px 0 80px;
}

.stub-page--doc {
  align-items: flex-start;
}

.stub-text {
  color: var(--color-text-muted);
  max-width: 640px;
  margin-bottom: 20px;
}

/* ---------- COOKIE BANNER ---------- */

.cookie-banner {
  position: fixed;
  left: 20px;
  right: 20px;
  bottom: 20px;
  max-width: 620px;
  margin: 0 auto;
  background: var(--color-bg-alt);
  border: 1px solid var(--color-gold);
  border-radius: 8px;
  padding: 20px 24px;
  z-index: 999;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
  transform: translateY(140%);
  transition: transform 0.4s ease;
}

.cookie-banner.is-visible {
  transform: translateY(0);
}

.cookie-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.cookie-logo {
  height: 26px;
  flex-shrink: 0;
}

.cookie-inner p {
  flex: 1 1 260px;
  font-size: 0.82rem;
  color: var(--color-text-muted);
}

.cookie-inner p a {
  color: var(--color-gold);
  text-decoration: underline;
}

.cookie-actions {
  display: flex;
  gap: 10px;
}

.cookie-actions .btn {
  padding: 8px 18px;
  font-size: 0.75rem;
}

/* ---------- BOTÕES FLUTUANTES ---------- */

.float-buttons {
  position: fixed;
  right: 22px;
  bottom: 26px;
  z-index: 200;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.float-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid var(--color-border);
  background: rgba(19,19,19,0.9);
  backdrop-filter: blur(6px);
  color: var(--color-text);
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  transition: all 0.2s ease;
  font-size: 1rem;
}

.float-btn:hover {
  border-color: var(--color-gold);
  transform: translateY(-2px);
}

.share-btn {
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  position: relative;
}

.share-btn.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.share-btn .share-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-muted);
  transition: color 0.2s ease;
}

.share-btn:hover .share-icon,
.share-btn.is-copied .share-icon {
  color: var(--color-gold);
}

/* Texto "Compartilhar" só pra leitor de tela — o botão mostra o ícone */
.share-btn .share-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.share-btn::after {
  content: "Link copiado!";
  position: absolute;
  right: 62px;
  top: 50%;
  transform: translateY(-50%) translateX(6px);
  background: var(--color-bg-alt);
  border: 1px solid var(--color-gold);
  color: var(--color-text);
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
  padding: 6px 12px;
  border-radius: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.share-btn.is-copied::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

.back-to-top {
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top span {
  font-size: 1.2rem;
  color: var(--color-gold);
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 960px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 860px) {
  .sobre-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .sobre-img {
    max-width: 280px;
    margin: 0 auto;
  }

  .sobre-subscribe-links {
    justify-content: center;
  }

  .album-grid,
  .comunidade-grid,
  .lancamento-grid,
  .trap-teaser-inner {
    grid-template-columns: 1fr;
  }

  .lancamento-body {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 700px) {
  .logo-img {
    width: 90px;
  }

  .hero-content {
    padding-top: 50px;
  }

  .footer-col--brand .footer-logo {
    width: 150px;
  }

  .main-nav {
    position: fixed;
    inset: 0;
    z-index: 900;
    background: rgba(10, 10, 10, 0.92);
    backdrop-filter: blur(26px);
    -webkit-backdrop-filter: blur(26px);
    border-bottom: none;
    flex-direction: column;
    align-items: center;
    /* flex-start (não center) — com "center" o conteúdo podia ficar
       posicionado atrás do botão fechar (que é fixed, fora do scroll)
       quando a altura real da tela mudava (barra de endereço do celular
       aparecendo/escondendo). Começando do topo isso não acontece mais. */
    justify-content: flex-start;
    padding: 96px 24px 160px;
    gap: 28px;
    transform: scale(1.03);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    max-height: none;
    overflow-y: auto;
  }

  .main-nav.is-open {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
  }

  .main-nav a {
    font-size: 1.15rem;
  }

  .follow-bar {
    margin-left: 0;
    padding-left: 0;
    border-left: none;
    padding-top: 22px;
    border-top: 1px solid var(--color-border);
    width: auto;
    justify-content: center;
  }

  .nav-toggle {
    display: flex;
  }

  .nav-toggle.is-open {
    opacity: 0;
    pointer-events: none;
  }

  .nav-close {
    display: flex;
    position: fixed;
    bottom: 34px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 901;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid var(--color-border);
    background: rgba(255,255,255,0.05);
    color: var(--color-text);
    font-size: 1.7rem;
    line-height: 1;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s;
  }

  .nav-close.is-open {
    opacity: 1;
    visibility: visible;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-col--brand {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}


/* ===================================================================
   JAMV — adições ELO/絆 (04/08/2026): 5 colunas na discografia, cards
   misteriosos, grid de 2 vídeos na Faixa do Momento, radar com ELO/絆.
   Bloco 100% adicionado ao final do arquivo — nada acima foi alterado.
   =================================================================== */

.marquee-track {
  padding: 22px 0;
}

.faixa-momento-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 860px;
  margin: 0 auto;
}

.faixa-momento-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.faixa-momento-grid .faixa-momento-player {
  max-width: none;
  margin: 0;
}

.faixa-momento-item-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--color-text);
}

@media (max-width: 700px) {
  .faixa-momento-grid {
    grid-template-columns: 1fr;
  }
}

.album-grid {
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

.album-cover--mystery {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1d1d1d, #0a0a0a);
}

.album-mystery-mark {
  font-size: 2.4rem;
  font-weight: 800;
  color: var(--color-gold);
}

.album-info {
  padding: 14px;
}

.album-info h3 {
  font-size: 0.92rem;
  margin-bottom: 3px;
  line-height: 1.2;
}

.album-meta {
  font-size: 0.64rem;
  margin-bottom: 8px;
}

.album-desc {
  font-size: 0.76rem;
  margin-bottom: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.album-card .btn-small {
  padding: 7px 14px;
  font-size: 0.68rem;
}

.album-card .countdown {
  gap: 6px;
  margin-bottom: 8px;
}

.album-card .countdown-box {
  min-width: 32px;
}

.album-card .countdown-box span {
  font-size: 0.95rem;
}

.album-card .countdown-box small {
  font-size: 0.52rem;
}

.lancamento-card--principal {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

/* .album-grid: 5 → 4 → 3 → 2 → 1 colunas conforme a tela encolhe.
   Ordem largura-maior-primeiro é proposital — cada bloco seguinte
   (max-width menor) sobrescreve o anterior no cascade. */
@media (max-width: 1180px) {
  .album-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 860px) {
  .album-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 620px) {
  .album-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 400px) {
  .album-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-height: 700px) {
  .hero-eyebrow { margin-bottom: 12px; }
  .hero-title { margin-bottom: 14px; }
  .hero-tagline { margin-bottom: 16px; }
  .hero-platforms { margin-bottom: 16px; }
  .hero-content { padding-top: 16px; }
  .marquee { margin-top: 0px; }
}

@media (max-width: 480px) {
  .hero-content {
    text-align: center;
  }
  .hero-eyebrow,
  .hero-title,
  .hero-tagline {
    margin-left: auto;
    margin-right: auto;
  }
  .hero-actions,
  .hero-platforms {
    flex-direction: column;
    align-items: center;
  }
  .hero-actions .btn,
  .hero-platform-btn {
    width: 100%;
    max-width: 320px;
    justify-content: center;
    text-align: center;
  }
  .scroll-cue {
    right: 50%;
    transform: translateX(50%);
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
