:root{
  --app-radius: 1rem;
}

body{ background: var(--bs-body-bg); }

/* Utilidades de imagen y ratio */
.ratio-2x3{ aspect-ratio: 2 / 3; }
.object-fit-cover{ object-fit: cover; width:100%; height:100%; }

/* Tarjetas */
.card{ border-radius: var(--app-radius); }
.hover-lift{ transition: transform .2s ease, box-shadow .2s ease; }
.hover-lift:hover{ transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.15); }

/* Overlay sutil sobre imagen (no bloquea clics) */
.overlay-fade{
  position:absolute; inset:0; pointer-events:none; z-index:1;
  background: linear-gradient(to top, rgba(0,0,0,.35), rgba(0,0,0,0) 60%);
}

/* Badges bien posicionadas encima de la imagen */
.media-badges{
  position:absolute; z-index:2; top:.5rem; left:.5rem; right:.5rem;
  display:flex; justify-content:space-between; align-items:flex-start; pointer-events:none;
}
.media-badges .badge{ pointer-events:auto; }

/* Títulos truncados a 2 líneas */
.line-clamp-2{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* Dark mode ajustes */
[data-bs-theme="dark"] .bg-body{ background-color: var(--bs-body-bg) !important; }
[data-bs-theme="dark"] .hover-lift:hover{ box-shadow: 0 10px 24px rgba(0,0,0,.6); }

/* Helpers de icono tema */
.d-dark-none { display: inline-block; }
.d-dark-inline { display: none; }
[data-bs-theme="dark"] .d-dark-none { display: none !important; }
[data-bs-theme="dark"] .d-dark-inline { display: inline-block !important; }
