/* Estilos do catálogo de álbuns; os grupos acompanham a estrutura de albuns.html. */
* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: "Segoe UI", Arial, sans-serif;
      background: #000;
      color: #fff;
      min-height: 100vh;
    }

    /* =========================
       NAVBAR: posiciona os links de navegação e seus estados.
    ========================= */

    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 18px 40px;
      background: rgba(0, 0, 0, 0.95);
      position: fixed;
      width: 100%;
      top: 0;
      left: 0;
      z-index: 100;
      border-bottom: 1px solid #222;
    }

    .logo {
      font-size: 1.7rem;
      font-weight: 800;
      color: #fff;
    }

    .nav-links {
      display: flex;
      gap: 24px;
      flex-wrap: wrap;
      justify-content: center;
    }

    .nav-links a {
      color: #aaa;
      text-decoration: none;
      font-size: .9rem;
      transition: color .2s;
    }

    .nav-links a:hover {
      color: #fff;
    }

    /* =========================
       HERO: define a apresentação de abertura do catálogo.
    ========================= */

    .hero {
      min-height: 55vh;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 170px 40px 90px;
      background: radial-gradient(ellipse at 50% 0%, #151515 0%, #000 65%);
      border-bottom: 1px solid #1b1b1b;
    }

    .hero-content {
      max-width: 760px;
    }

    .hero-content h1 {
      font-size: clamp(2.2rem, 5vw, 3.2rem);
      font-weight: 800;
      color: #fff;
      margin-bottom: 18px;
    }

    .hero-content p {
      color: #999;
      font-size: 1.1rem;
      line-height: 1.7;
    }

    /* =========================
       SECTION TITLES: padroniza cabeçalhos e subtítulos das seções.
    ========================= */

    .section-title {
      text-align: center;
      font-size: 2.2rem;
      font-weight: 800;
      margin-bottom: 16px;
      color: #fff;
    }

    .section-subtitle {
      text-align: center;
      color: #777;
      margin-bottom: 48px;
    }

    /* =========================
       ÁLBUNS HISTÓRICOS: formata cada cartão com capa e informações do disco.
    ========================= */

    .albums {
      padding: 90px 40px;
      background: #000;
    }

    .albums-container {
      max-width: 1200px;
      margin: 0 auto;
    }

    .album-card {
      background: #0d0d0d;
      border: 1px solid #222;
      border-radius: 16px;
      overflow: hidden;
      margin-bottom: 35px;

      display: grid;
      grid-template-columns: 1fr 1.3fr;

      transition: .3s;
    }

    .album-card:hover {
      border-color: #444;
      box-shadow: 0 15px 40px rgba(255,255,255,.04);
    }

    .album-card.reverse {
      direction: rtl;
    }

    .album-card.reverse > * {
      direction: ltr;
    }

    .album-img {
      width: 100%;
      height: 100%;
      min-height: 280px;
      object-fit: cover;
      filter: grayscale(100%);
      transition: filter .3s;
    }

    .album-card:hover .album-img {
      filter: grayscale(10%);
    }

    .album-body {
      padding: 38px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .album-top {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 10px;
      margin-bottom: 10px;
    }

    .album-body h2 {
      font-size: 1.6rem;
      color: #fff;
      margin-bottom: 4px;
    }

    .album-artist {
      color: #999;
      font-size: .92rem;
    }

    .stars {
      color: #facc15;
      font-size: .95rem;
      white-space: nowrap;
    }

    .album-badges {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 14px;
    }

    .badge-outline {
      border: 1px solid #333;
      background: #151515;
      color: #bbb;
      padding: 4px 12px;
      border-radius: 20px;
      font-size: .78rem;
    }

    .album-body > p.album-desc {
      color: #888;
      line-height: 1.8;
      margin-bottom: 20px;
      font-size: .92rem;
    }

    .tracks-label {
      color: #ddd;
      font-size: .9rem;
      margin-bottom: 8px;
    }

    .songs-wrap {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 20px;
    }

    .song-badge {
      background: #151515;
      border: 1px solid #333;
      color: #bbb;
      padding: 6px 13px;
      border-radius: 20px;
      font-size: .8rem;
    }

    .album-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-top: 16px;
      border-top: 1px solid #222;
    }

    .album-sales {
      color: #888;
      font-size: .88rem;
    }

    .album-sales strong {
      color: #fff;
    }

    /* =========================
       LANÇAMENTOS RECENTES: organiza cartões compactos de lançamentos.
    ========================= */

    .recentes {
      padding: 80px 40px;
      background: #080808;
      border-top: 1px solid #1b1b1b;
      border-bottom: 1px solid #1b1b1b;
    }

    .curio-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 20px;
      max-width: 1200px;
      margin: 0 auto;
    }

    .recent-card {
      background: #111;
      border: 1px solid #222;
      border-radius: 12px;
      overflow: hidden;
      transition: .3s;
    }

    .recent-card:hover {
      border-color: #444;
      transform: translateY(-3px);
    }

    .recent-img {
      aspect-ratio: 1;
      overflow: hidden;
    }

    .recent-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: grayscale(100%);
      transition: filter .3s;
    }

    .recent-card:hover .recent-img img {
      filter: grayscale(10%);
    }

    .recent-body {
      padding: 16px;
    }

    .recent-body h3 {
      color: #fff;
      font-size: .95rem;
      margin-bottom: 4px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .recent-body .artist {
      color: #888;
      font-size: .82rem;
      margin-bottom: 8px;
    }

    /* =========================
       STATS: apresenta números em uma grade responsiva.
    ========================= */

    .stats {
      padding: 90px 40px;
      background: #000;
    }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 20px;
      max-width: 1000px;
      margin: 0 auto;
      text-align: center;
    }

    .stats-grid .curio-icon {
      font-size: 2.2rem;
    }

    .stats-grid .val {
      font-size: 2.6rem;
      font-weight: 800;
      color: #fff;
      margin-bottom: 6px;
    }

    .stats-grid .lbl {
      color: #999;
      font-size: 1rem;
    }

    /* =========================
       FOOTER: formata créditos e contatos do projeto.
    ========================= */

    footer {
      text-align: center;
      padding: 40px;
      color: #555;
      font-size: .85rem;
      border-top: 1px solid #1b1b1b;
      background: #050505;
    }

    /* =========================
       MOBILE: reorganiza capas e cartões em telas menores.
    ========================= */

    @media(max-width: 900px) {
      .nav {
        padding: 15px 20px;
        flex-direction: column;
        gap: 12px;
      }

      .nav-links {
        gap: 12px;
      }

      .album-card,
      .album-card.reverse {
        grid-template-columns: 1fr;
        direction: ltr;
      }

      .album-img {
        height: 260px;
        min-height: unset;
      }

      .album-body {
        padding: 26px;
      }
    }

    @media(max-width: 600px) {
      .hero {
        min-height: 45vh;
        padding: 140px 20px 60px;
      }

      .albums,
      .recentes,
      .stats {
        padding: 60px 20px;
      }

      .nav-links {
        display: none;
      }

      .album-body h2 {
        font-size: 1.3rem;
      }
    }

    /* =========================
       PAGINAÇÃO: destaca os números e a página atual do catálogo.
    ========================= */

    .google-pagination {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
      margin: 50px auto 10px;
      padding: 30px 20px;
    }

    .gp-numbers {
      display: flex;
      align-items: center;
      gap: 18px;
      flex-wrap: wrap;
      justify-content: center;
    }

    .gp-num {
      color: #fff;
      text-decoration: none;
      font-size: 1rem;
      font-weight: 600;
    }

    .gp-num:hover {
      text-decoration: underline;
    }

    .gp-num.active {
      color: #fff;
      border-bottom: 2px solid #fff;
      padding-bottom: 2px;
    }
/* Regras complementares ajustam a navegação e o logotipo nesta página. */
.nav {
  display: flex;
  align-items: center;
}

.nav-links {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-right: 96px;
}

.nav-links a:last-child {
  position: absolute;
  right: 0;
  padding: 8px 16px;
  border: 1px solid #d4af37;
  border-radius: 20px;
  color: #f3d46b;
  font-weight: 700;
}

.nav-links a:last-child:hover {
  background: #d4af37;
  color: #111;
}
.logo-image {
  width: 36px;
  height: 36px;
  object-fit: contain;
  vertical-align: middle;
  margin-right: 8px;
}