@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap');

/* ====== Base Dark Only ====== */
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }
body {
  font-family: 'Poppins', Arial, sans-serif;
  background: #0E0F12;        /* dark uniforme */
  color: #FFFFFF;             /* texto padrão branco */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.loading-overlay {
  position: fixed;
  inset: 0;
  background: #0e0f12;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
}

.loading-overlay.hidden {
  opacity: 0;
  visibility: hidden;
}

.logo-wrapper {
  display: grid;
  place-items: center;
}

.logo-wrapper img {
  grid-area: 1 / 1;
  max-width: 260px;
  width: min(60vw, 260px);
  height: auto;
}

.logo-base {
  display: block;
}

.logo-overlay {
  opacity: 0;
  pointer-events: none;
}

@keyframes fadeLogoOverlay {
  0% {
    opacity: 0;
  }
  70% {
    opacity: 0.85;
  }
  100% {
    opacity: 1;
  }
}

.logo-overlay.show {
  animation: fadeLogoOverlay 3s forwards;
}


.is-hidden{
  display: none !important;
}

/* Evitar que o conteúdo fique atrás do menu inferior */
.page-content {
  padding: 20px 16px 92px; /* 92px = altura do bottom nav + respiro */
  max-width: 1200px;
  margin: 0 auto;
}

/* ====== Conteúdo exemplo (cards horizontais) ====== */
.category { margin-bottom: 28px; }
.category h2 {
  font-size: 1.25rem;
  letter-spacing: .3px;
  margin-bottom: 12px;
  color: #FFFFFF;
}
.slider-container {
  display: flex; gap: 10px; overflow-x: auto; padding-bottom: 4px;
}
.slider-container::-webkit-scrollbar { height: 6px; }
.slider-container::-webkit-scrollbar-thumb { background: #2A2C35; border-radius: 3px; }
.album-image {
  flex: 0 0 auto; width: 160px; height: 240px; border-radius: 8px; object-fit: cover;
  background: #17181D;
}

.logo-link { display: inline-flex; align-items: center; padding: 14px 16px 8px; }
.logo { width: 100px; height: auto; display: block; }

/* ====== Bottom Nav (compartilhado) ====== */
.bottom-nav {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  height: 72px;
  background: #12131A;               /* dark consistente */
  border-top: 1px solid #1C1D26;     /* sutil */
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 0 8px;
  z-index: 1000;
}

.bottom-nav a {
  text-decoration: none;
  color: #FFFFFF;                    /* estado normal: branco */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: .76rem;
  line-height: 1;
  padding: 10px 8px;
  border-radius: 10px;
  min-width: 64px;
  transition: color .18s ease, background .18s ease, transform .12s ease;
  -webkit-tap-highlight-color: transparent;
}

.bottom-nav a .material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
  font-size: 24px;
}

.bottom-nav a:hover,
.bottom-nav a:focus {
  color: #FF344E;                    /* hover: #FF344E */
  outline: none;
}

.bottom-nav a.is-active {
  color: #FF344E;                    /* ativo: #FF344E */
  background: rgba(255, 52, 78, 0.10);
}

.bottom-nav a:active { transform: scale(.98); }

/* ====== Responsivo ====== */
@media (max-width: 480px) {
  .album-image { width: 140px; height: 210px; }
  .bottom-nav { height: 70px; }
  .bottom-nav a { min-width: 56px; font-size: .72rem; }
  .bottom-nav a .material-symbols-outlined { font-size: 22px; }
}

@media (min-width: 1024px) {
  .bottom-nav { justify-content: center; gap: 22px; }
}

/* ====== Acessibilidade (foco teclado) ====== */
.bottom-nav a:focus-visible {
  box-shadow: 0 0 0 2px rgba(255, 52, 78, .45);
}

/* ====== Qualidade de vida ====== */
img { display: block; }
a { cursor: pointer; }

.logo-nav {
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 16px;
  display: flex;
  align-items: center;
}
.logo-nav img {
  height: 36px;
  width: auto;
  filter: drop-shadow(0 0 0 transparent);
}

/* ====== Containers de formulário (coerente com o tema) ====== */
.form-container {
  width: 100%;
  max-width: 480px;
  margin: 32px auto;
  background: #12131A;
  border: 1px solid #1C1D26;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 6px 24px rgba(0,0,0,.35);
}

.form-container h1 {
  font-size: 1.4rem;
  margin-bottom: 14px;
  color: #FFFFFF;
  letter-spacing: .3px;
}

/* ====== Campos ====== */
.input {
  width: 100%;
  background: #0E0F12;
  border: 1px solid #1C1D26;
  color: #FFFFFF;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 0.95rem;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.input::placeholder { color: #9CA3AF; }
.input + .input { margin-top: 10px; }

.input:focus-visible,
.input:focus {
  border-color: #FF344E;
  box-shadow: 0 0 0 2px rgba(255, 52, 78, .15);
}

/* ====== Toggle/checkbox ====== */
.toggle-container {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0 6px;
}

.toggle-container input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #FF344E; /* suporte nativo moderno */
}

/* ====== Mensagens ====== */
.requisitos {
  font-size: 0.9rem;
  color: #D1D5DB;
}

.mensagem-status {
  font-size: 0.95rem;
  min-height: 20px; /* evita pulo de layout */
}

/* ====== Botões ====== */
.btn {
  width: 100%;
  border: none;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform .08s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  -webkit-tap-highlight-color: transparent;
}

.btn-primary {
  background: #FF344E;
  color: #0E0F12;
  box-shadow: 0 6px 18px rgba(255, 52, 78, .25);
}
.btn-primary:hover,
.btn-primary:focus-visible {
  box-shadow: 0 8px 22px rgba(255, 52, 78, .35);
}
.btn:active { transform: scale(.98); }

/* ====== Imagem de confirmação ====== */
.confirmation-image {
  width: 100%;
  max-width: 260px;
  margin: 10px auto 14px;
  display: block;
  border-radius: 10px;
  background: #17181D;
}

/* ====== Responsivo extra para formulários ====== */
@media (max-width: 480px) {
  .form-container { margin: 20px 12px; padding: 16px; }
  .form-container h1 { font-size: 1.25rem; }
}

/* ====== BLOCO "ÚLTIMAS LEITURAS" ====== */
.last-reads{
  margin-top: 6px;
}

.last-reads h2{
  font-size: 1.6rem;
  letter-spacing: .3px;
  font-weight: 700;
  color: #FFFFFF;
}

.lr-header{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}

/* Grid de cards (2 linhas x até 4 colunas no desktop) */
.lr-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px 18px;
}

/* Card */
.lr-card{
  position: relative;
  display:flex;
  align-items:center;
  background:#2A2C35;
  border-radius: 24px;
  padding: 8px 20px 8px 8px;
  box-shadow: 0 8px 22px rgba(0,0,0,.35);
}

/* Link interno (cobre o card, menos o botão X) */
.lr-link{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:#FFFFFF;
  flex:1;
  min-width: 0;
}

/* Capa quadrada */
.lr-cover-wrap{
  width:64px;
  height:64px;
  border-radius:18px;
  overflow:hidden;
  flex-shrink:0;
  background:#17181D;
}
.lr-cover{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Título da obra */
.lr-title{
  font-weight:600;
  font-size: 1rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

/* Botão X (remover) */
.lr-remove{
  position:absolute;
  right:10px;
  top:50%;
  transform: translateY(-50%);
  width:26px;
  height:26px;
  border-radius:50%;
  border:0;
  background:rgba(0,0,0,.45);
  color:#FFFFFF;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 16px;
  font-weight: 700;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease, background .18s ease;
}

/* Mostrar X no hover (desktop) */
.lr-card:hover .lr-remove{
  opacity:1;
  pointer-events:auto;
}

/* Mostrar X quando for long-press no mobile (classe via JS) */
.lr-card.show-x .lr-remove{
  opacity:1;
  pointer-events:auto;
}

.lr-remove:hover{
  background:rgba(0,0,0,.7);
  transform: translateY(-50%) scale(1.05);
}

/* Ajustes responsivos */
@media (max-width: 640px){
  .last-reads h2{ font-size: 1.4rem; }
  .lr-cover-wrap{
    width:56px;
    height:56px;
  }
  .lr-card{
    border-radius: 20px;
    padding-right: 16px;
  }
}

/* ====== BLOCO "LANÇAMENTOS" ====== */
.releases{
  margin-top: 28px;
}

.releases h2{
  font-size: 1.6rem;
  letter-spacing: .3px;
  font-weight: 700;
  color:#FFFFFF;
  margin-bottom: 16px;
}

/* Slider horizontal dos lançamentos */
.rel-slider{
  display:flex;
  flex-wrap:nowrap;
  gap:16px;
  overflow-x:auto;
  padding-bottom:6px;
  scroll-behavior:smooth;
}

.rel-slider::-webkit-scrollbar{
  height:6px;
}
.rel-slider::-webkit-scrollbar-thumb{
  background:#2A2C35;
  border-radius:3px;
}

/* Cada item do slider */
.rel-item{
  flex:0 0 auto;
  width:120px;
  text-decoration:none;
  color:#FFFFFF;
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* capa quadrada com radius 15 */
.rel-cover-wrap{
  width:120px;
  height:120px;
  border-radius:15px;
  overflow:hidden;
  background:#17181D;
  flex-shrink:0;
}

/* imagem da capa */
.rel-cover{
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .18s ease-out;
}

/* zoom suave no hover/focus */
.rel-item:hover .rel-cover,
.rel-item:focus-within .rel-cover{
  transform: scale(1.06);
}

/* legenda com nome da obra + número */
.rel-caption{
  margin-top:8px;
  font-size:0.9rem;
  line-height:1.2;
  text-align:center;
  min-height:2.4em; /* evita pulo quando quebra linha */
}

/* responsivo do slider */
@media (max-width: 640px){
  .releases h2{
    font-size:1.4rem;
  }
  .rel-item{
    width:100px;
  }
  .rel-cover-wrap{
    width:100px;
    height:100px;
  }
  .rel-caption{
    font-size:0.85rem;
  }
}

/* ====== BLOCO "VOCÊ PRECISA LER ESSES..." ====== */
.must-read{
  margin-top: 32px;
}

.must-read h2{
  font-size: 1.6rem;
  letter-spacing: .3px;
  font-weight: 700;
  color:#FFFFFF;
  margin-bottom: 18px;
}

/* janela do slider (esconde overflow) */
.must-window{
  width: 100%;
  overflow: hidden;
}

/* trilho com as páginas */
.must-track{
  display:flex;
  flex-wrap:nowrap;
  transition: transform .45s ease;
}

/* cada página contém 2 cards */
.must-page{
  flex: 0 0 100%;
  display:flex;
  gap: 24px;
  min-height: 160px;
}

/* card da recomendação */
.must-card{
  flex:1 1 50%;
  display:block;
  border-radius: 20px;
  overflow:hidden;
  background:#17181D;
  box-shadow: 0 10px 26px rgba(0,0,0,.40);
}

/* imagem retangular com radius 20 */
.must-card img{
  width:100%;
  height:100%;
  max-height:280px;
  object-fit:cover;
  border-radius:20px;
}

/* bolinhas de navegação */
.must-dots{
  margin-top: 18px;
  display:flex;
  justify-content:center;
}

.must-dots::before{
  content:"";
  position:absolute;
  width:0;
  height:0;
}

/* pill onde ficam as bolinhas */
.must-dots{
  position: relative;
  padding: 6px 18px;
  background:#111216;
  border-radius:999px;
  gap:10px;
}

.must-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  border:none;
  background:#E3374E;
  cursor:pointer;
  padding:0;
  transition: background .18s ease, transform .12s ease;
}

.must-dot.is-active{
  background: #8F1D2C;
  transform: scale(1.08);
}

/* responsivo do bloco de recomendações */
@media (max-width: 768px){
  .must-page{
    flex-direction:column;
    gap:16px;
  }

  .must-card img{
    max-height:none;
  }

  .must-read h2{
    font-size:1.4rem;
  }
}

/* ====== BLOCO "FAVORITOS" ====== */
.favorites{
  margin-top: 32px;
}

.favorites h2{
  font-size: 1.6rem;
  letter-spacing: .3px;
  font-weight: 700;
  color:#FFFFFF;
  margin-bottom: 16px;
}

/* slider horizontal dos favoritos */
.fav-slider{
  display:flex;
  flex-wrap:nowrap;
  gap:16px;
  overflow-x:auto;
  padding-bottom:6px;
  scroll-behavior:smooth;
}

.fav-slider::-webkit-scrollbar{
  height:6px;
}
.fav-slider::-webkit-scrollbar-thumb{
  background:#2A2C35;
  border-radius:3px;
}

/* cada item favorito */
.fav-item{
  flex:0 0 auto;
  width:120px;
  text-decoration:none;
  color:#FFFFFF;
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* capa quadrada com radius 15 */
.fav-cover-wrap{
  width:120px;
  height:120px;
  border-radius:15px;
  overflow:hidden;
  background:#17181D;
  flex-shrink:0;
}

.fav-cover{
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .18s ease-out;
}

/* título da obra seguida */
.fav-title{
  margin-top:8px;
  font-size:0.9rem;
  line-height:1.2;
  text-align:center;
  min-height:2.4em;
}

.fav-item:hover .fav-cover,
.fav-item:focus-within .fav-cover{
  transform: scale(1.06);
}

/* responsivo favoritos */
@media (max-width: 640px){
  .favorites h2{
    font-size:1.4rem;
  }
  .fav-item{
    width:100px;
  }
  .fav-cover-wrap{
    width:100px;
    height:100px;
  }
  .fav-title{
    font-size:0.85rem;
  }
}

/* ====== BLOCOS "MANGÁS MAIS LIDOS" E "LIGHT NOVELS MAIS LIDAS" ====== */
.manga-top,
.ln-top{
  margin-top: 32px;
}

.manga-top h2,
.ln-top h2{
  font-size: 1.6rem;
  letter-spacing: .3px;
  font-weight: 700;
  color:#FFFFFF;
  margin-bottom: 18px;
}

/* sliders horizontais */
.manga-slider,
.ln-slider{
  display:flex;
  flex-wrap:nowrap;
  gap:18px;
  overflow-x:auto;
  padding-bottom:8px;
  scroll-behavior:smooth;
}

.manga-slider::-webkit-scrollbar,
.ln-slider::-webkit-scrollbar{
  height:6px;
}
.manga-slider::-webkit-scrollbar-thumb,
.ln-slider::-webkit-scrollbar-thumb{
  background:#2A2C35;
  border-radius:3px;
}

/* cards */
.manga-item,
.ln-item{
  flex:0 0 auto;
  width:170px;
  text-decoration:none;
  color:#FFFFFF;
}

.manga-cover-wrap,
.ln-cover-wrap{
  position:relative;
  width:170px;
  height:240px;
  border-radius:26px;
  overflow:hidden;
  background:#17181D;
  flex-shrink:0;
}

.manga-cover,
.ln-cover{
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .18s ease-out;
}

/* zoom suave no hover/focus */
.manga-item:hover .manga-cover,
.manga-item:focus-within .manga-cover,
.ln-item:hover .ln-cover,
.ln-item:focus-within .ln-cover{
  transform: scale(1.06);
}

/* efeito escuro embaixo */
.manga-gradient,
.ln-gradient{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:45%;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.85) 100%);
}

/* texto por cima da capa */
.manga-meta,
.ln-meta{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  display:flex;
  flex-direction:column;
  gap:2px;
}

/* categorias / badges */
.manga-cats,
.ln-cats{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  font-size:.8rem;
  font-weight:600;
}

.manga-cats span,
.ln-cats span{
  display:inline-block;
  background: rgba(255,255,255,.2);
  color:#fff;
  padding: 4px 8px;
  border-radius: 999px;
  width:max-content;
  backdrop-filter: blur(2px);
  text-shadow:0 1px 3px rgba(0,0,0,.7);
}

.manga-title,
.ln-title{
  margin-top:2px;
  font-size:0.95rem;
  font-weight:700;
  line-height:1.2;
  text-shadow:0 1px 3px rgba(0,0,0,.9);
}

/* responsivo mangás/light novels */
@media (max-width: 640px){
  .manga-top h2,
  .ln-top h2{
    font-size:1.4rem;
  }
  .manga-item,
  .ln-item{
    width:150px;
  }
  .manga-cover-wrap,
  .ln-cover-wrap{
    width:150px;
    height:220px;
    border-radius:22px;
  }
}

/* ====== BANNER DE COOKIES ====== */

.cookie-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 72px; /* acima do bottom nav */
  padding: 14px 16px;
  background: rgba(17, 18, 22, 0.98);
  border-top: 1px solid #1C1D26;
  box-shadow: 0 -8px 24px rgba(0,0,0,.7);
  display: none; /* controle 100% via classe .cookie-banner--visible */
  gap: 12px;
  z-index: 1200;
}

/* Quando estiver visível */
.cookie-banner.cookie-banner--visible {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

@media (min-width: 641px) {
  .cookie-banner.cookie-banner--visible {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.cookie-text {
  flex: 1;
  font-size: 0.86rem;
  color: #E5E7EB;
}

.cookie-text p {
  margin-bottom: 6px;
}

.cookie-link {
  color: #FF344E;
  text-decoration: underline;
  font-size: 0.8rem;
}

.cookie-link:hover,
.cookie-link:focus-visible {
  text-decoration: none;
}

.cookie-actions {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-left: 12px;
}

@media (max-width: 640px) {
  .cookie-actions {
    margin-left: 0;
    flex-direction: column;
  }
}

.cookie-btn-prim,
.cookie-btn-sec {
  font-size: 0.9rem;
  padding: 10px 12px;
  border-radius: 999px;
  width: auto;
}

.cookie-btn-prim {
  background: #FF344E;
  color: #0E0F12;
  box-shadow: 0 6px 16px rgba(255, 52, 78, .35);
}

.cookie-btn-sec {
  background: #111216;
  color: #F9FAFB;
  border: 1px solid #4B5563;
}

/* ===== Footer institucional ===== */
.site-footer{
  margin-top: 32px;
  margin-bottom: 120px;
  padding: 14px 20px 28px; /* topo menor: de 24px para 14px */
  background: #0E0F12;
  border-top: 1px solid #1C1D26;
  box-shadow: 0 -6px 24px rgba(0,0,0,.45);
}

.site-footer-inner{
  max-width: 1040px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start; /* sobe o conteúdo */
  justify-content: space-between;
  gap: 10px 18px;
  font-size: .85rem;
  color: #9CA3AF;
  min-height: 80px; /* garante uma altura mínima visual */
}

.site-footer-copy{
  opacity: .85;
}

.site-footer-links{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}

.footer-link{
  text-decoration: none;
  color: #E5E7EB;
  font-weight: 500;
}
.footer-link:hover,
.footer-link:focus-visible{
  color: #ff6e83;
  text-decoration: underline;
  outline: none;
}

.footer-dot{
  opacity: .6;
}

/* Mobile: footer ainda mais alto por causa do menu inferior */
@media (max-width: 720px){
  .site-footer{
    margin-bottom: 140px; /* antes era 96px */
    padding: 14px 16px 26px;
    height: 200px;
  }
  .site-footer-inner{
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ====== BLOCOS "MANGÁS MAIS LIDOS" E "LIGHT NOVELS MAIS LIDAS" E "OBRAS MAIS RECENTES" ====== */
.manga-top,
.ln-top,
.recent-top{
  margin-top: 32px;
}

.manga-top h2,
.ln-top h2,
.recent-top h2{
  font-size: 1.6rem;
  letter-spacing: .3px;
  font-weight: 700;
  color:#FFFFFF;
  margin-bottom: 18px;
}

/* sliders horizontais */
.manga-slider,
.ln-slider,
.recent-slider{
  display:flex;
  flex-wrap:nowrap;
  gap:18px;
  overflow-x:auto;
  padding-bottom:8px;
  scroll-behavior:smooth;
}

.manga-slider::-webkit-scrollbar,
.ln-slider::-webkit-scrollbar,
.recent-slider::-webkit-scrollbar{
  height:6px;
}
.manga-slider::-webkit-scrollbar-thumb,
.ln-slider::-webkit-scrollbar-thumb,
.recent-slider::-webkit-scrollbar-thumb{
  background:#2A2C35;
  border-radius:3px;
}

/* cards */
.manga-item,
.ln-item,
.recent-item{
  flex:0 0 auto;
  width:170px;
  text-decoration:none;
  color:#FFFFFF;
}

.manga-cover-wrap,
.ln-cover-wrap,
.recent-cover-wrap{
  position:relative;
  width:170px;
  height:240px;
  border-radius:26px;
  overflow:hidden;
  background:#17181D;
  flex-shrink:0;
}

.manga-cover,
.ln-cover,
.recent-cover{
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .18s ease-out;
}

/* zoom suave no hover/focus */
.manga-item:hover .manga-cover,
.manga-item:focus-within .manga-cover,
.ln-item:hover .ln-cover,
.ln-item:focus-within .ln-cover,
.recent-item:hover .recent-cover,
.recent-item:focus-within .recent-cover{
  transform: scale(1.06);
}

/* efeito escuro embaixo */
.manga-gradient,
.ln-gradient,
.recent-gradient{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:45%;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.85) 100%);
}

/* texto por cima da capa */
.manga-meta,
.ln-meta,
.recent-meta{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  display:flex;
  flex-direction:column;
  gap:2px;
}

/* categorias / badges */
.manga-cats,
.ln-cats,
.recent-cats{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  font-size:.8rem;
  font-weight:600;
}

.manga-cats span,
.ln-cats span,
.recent-cats span{
  display:inline-block;
  background: rgba(255,255,255,.2);
  color:#fff;
  padding: 4px 8px;
  border-radius: 999px;
  width:max-content;
  backdrop-filter: blur(2px);
  text-shadow:0 1px 3px rgba(0,0,0,.7);
}

.manga-title,
.ln-title,
.recent-title{
  margin-top:2px;
  font-size:0.95rem;
  font-weight:700;
  line-height:1.2;
  text-shadow:0 1px 3px rgba(0,0,0,.9);
}

/* responsivo mangás/light novels/obras recentes */
@media (max-width: 640px){
  .manga-top h2,
  .ln-top h2,
  .recent-top h2{
    font-size:1.4rem;
  }
  .manga-item,
  .ln-item,
  .recent-item{
    width:150px;
  }
  .manga-cover-wrap,
  .ln-cover-wrap,
  .recent-cover-wrap{
    width:150px;
    height:220px;
    border-radius:22px;
  }
}

