/* ============================================================
   BR ANIMES & MANGÁS BRASILEIROS
   CSS atualizado — layout moderno, responsivo e acessível
   ============================================================ */

/* ======= GERAL ======= */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background: linear-gradient(180deg, #000000 0%, #005485 50%, #7c0400 100%);
  color: #fff;
  font-family: 'Arial', sans-serif;
}

/* Camada de contraste para acessibilidade */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(17, 8, 8, 0.5); /* equilíbrio entre contraste e cor */
  z-index: -1;
}

/* ======= CABEÇALHO ======= */
header {
  background: linear-gradient(90deg, #01573d, #006e4d);
  color: #fff;
  text-align: center;
  padding: 1.5rem 1rem;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
}

header h1 {
  font-size: 1.8rem;
  margin-bottom: 0.3rem;
}

header p.tag {
  font-size: 0.9rem;
  opacity: 0.9;
}

header nav ul {
  list-style: none;
  margin-top: 0.8rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.2rem;
}

header nav a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s;
}

header nav a:hover,
header nav a:focus {
  color: #ffe600;
  outline: none;
}

/* ======= CONTEÚDO PRINCIPAL ======= */
main {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

/* Grade de cards */
.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 2rem;
  justify-content: center;
  align-items: start;
}

/* ======= CARD ======= */
.card {
  background-color: #121212;
  border-radius: 15px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
  transition: transform 0.3s, box-shadow 0.3s;
  outline: none;
}

.card:hover,
.card:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 0 25px rgba(255, 255, 255, 0.15);
}

/* ======= IMAGEM ======= */
.card .media img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  display: block;
  border-bottom: 4px solid transparent;
}

/* ======= CORES TEMÁTICAS ======= */
.card.holy .media img {
  border-bottom-color: #0077ff;
}
.card.sense .media img {
  border-bottom-color: #ff8c32;
}
.card.forma .media img {
  border-bottom-color: #7d4de0;
}
.card.rei .media img {
  border-bottom-color: #ff4040;
}

/* ======= CONTEÚDO DO CARD ======= */
.card .meta {
  padding: 1.2rem;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.card h2 {
  font-size: 1.2rem;
  margin-bottom: 0.4rem;
}

/* Cores dos títulos */
.card.holy h2 {
  color: #6cc6ff;
}
.card.sense h2 {
  color: #ffb347;
}
.card.forma h2 {
  color: #b692ff;
}
.card.rei h2 {
  color: #ff7777;
}

.card p {
  font-size: 0.9rem;
  margin-bottom: 0.6rem;
}

/* ======= BOTÕES ======= */
.details-btn {
  display: inline-block;
  background: linear-gradient(90deg, #1f1f1f, #292929);
  border: 2px solid #9ec0ff;
  color: #9ec0ff;
  font-weight: 600;
  font-size: 1rem;
  padding: 0.6rem 1.3rem;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 0.6rem;
}

/* Botões individuais por obra */
.holy .details-btn {
  border-color: #6cc6ff;
  color: #6cc6ff;
}
.holy .details-btn:hover,
.holy .details-btn:focus {
  background: #6cc6ff;
  color: #000;
  box-shadow: 0 0 15px rgba(108, 198, 255, 0.5);
}

.sense .details-btn {
  border-color: #ff8c32;
  color: #ff8c32;
}
.sense .details-btn:hover,
.sense .details-btn:focus {
  background: #ff8c32;
  color: #000;
  box-shadow: 0 0 15px rgba(255, 140, 50, 0.5);
}

.forma .details-btn {
  border-color: #a47cff;
  color: #a47cff;
}
.forma .details-btn:hover,
.forma .details-btn:focus {
  background: #a47cff;
  color: #000;
  box-shadow: 0 0 15px rgba(164, 124, 255, 0.5);
}

.rei .details-btn {
  border-color: #ff4040;
  color: #ff4040;
}
.rei .details-btn:hover,
.rei .details-btn:focus {
  background: #ff4040;
  color: #000;
  box-shadow: 0 0 15px rgba(255, 64, 64, 0.5);
}

/* ======= DESCRIÇÃO EXPANSÍVEL ======= */
.desc {
  display: none;
  opacity: 0;
  transform: translateY(-6px);
  transition: all 0.3s ease;
}

.desc[aria-hidden="false"] {
  display: block;
  opacity: 1;
  transform: translateY(0);
  animation: fadeIn 0.3s ease forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ======= RODAPÉ ======= */
footer {
  background-color: #0c0c0c;
  color: #bbb;
  text-align: center;
  padding: 1rem;
  font-size: 0.9rem;
  border-top: 2px solid #1f1f1f;
}

footer a {
  color: #6cc6ff;
  text-decoration: none;
}

footer a:hover,
footer a:focus {
  color: #fff;
  outline: none;
}

/* ======= ACESSIBILIDADE ======= */
.card:focus-within {
  outline: 2px solid #ffe600;
  outline-offset: 4px;
}

.details-btn:focus-visible {
  outline: 2px solid #9ec0ff;
  outline-offset: 3px;
}

.skip-link {
  position: absolute;
  top: -40px;
  left: 10px;
  background: #000;
  color: #fff;
  padding: 8px 16px;
  z-index: 100;
  transition: top 0.3s;
}
.skip-link:focus {
  top: 10px;
}

/* ======= RESPONSIVIDADE ======= */
@media (max-width: 768px) {
  header h1 {
    font-size: 1.4rem;
  }
  .card .media img {
    height: 300px;
  }
  .cards-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}

@media (max-width: 480px) {
  .card .media img {
    height: 240px;
  }
  header nav ul {
    gap: 0.8rem;
  }
}
