 :root{
    --accent: #ff3d4d;
    --footer-bg: #141424;
    --accent-10: color-mix(in srgb, var(--accent) 12%, transparent);
  }

.playlist-card{
  transition:transform .15s ease, box-shadow .15s ease;
  cursor:pointer;
}
.playlist-card:hover{ transform: translateY(-2px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.1); }

/* Badge now readable on light background */
.playlist-badge{
  font-size: .8rem;
  background: var(--accent-10);
  border: 1px solid var(--accent);
  color: #141424; /* ensure contrast */
}

/* Freesound embed – keep compact */
.fs-embed{ width:100%; border:0; height:166px }

/* Footer on dark background */
footer{
  background: var(--footer-bg);
  color: #e6e6ea;
}
footer .inst-logo{ height: 56px; object-fit: contain; filter: none; }

a, .text-primary{ color: var(--accent) !important; }
.btn-primary{
  --bs-btn-bg: var(--accent);
  --bs-btn-border-color: var(--accent);
  --bs-btn-hover-bg: color-mix(in srgb, var(--accent) 85%, black);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--accent) 85%, black);
}

.author-card .author-photo{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-top-left-radius:.5rem;
  border-top-right-radius:.5rem;
}

.card-body.with-image h2, .card-body.with-image p {
  color: white !important;
  text-shadow: 0 0 8px rgba(0,0,0,.6);
}

.index-card-thumb  {
  width:100%; 
  height:100%; 
  object-fit:cover; 
  filter: brightness(0.45) blur(5px) saturate(0.6);
  transform: scale(1.5);
}

.playlist-card-link:hover .index-card-thumb {
  filter: brightness(0.6) blur(2px) saturate(0.75);
  /* transform: scale(3); */
  transition: transform .15s ease, filter .15s ease;
}