/* ---------------------------------------------------------
   MODEL GRID CARDS – shared across themes
   --------------------------------------------------------- */

.model-card {
  position: relative;
  overflow: hidden;
  border-radius: 0.85rem;
  /* card background / border come from theme-woodland.css (.card) */
  transition: transform 140ms ease-out, box-shadow 140ms ease-out;
}

/* Mild hover lift */
.model-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.85);
}

/* Thumbnail wrapper keeps aspect ratio for stable layout (LCP) */
.model-card .model-thumb {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-top-left-radius: 0.85rem;
  border-top-right-radius: 0.85rem;
  background: #000;
}

/* Image fills wrapper; actual size optimised by src */
.model-card .model-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* LIVE / HD badges */
.model-card .badge {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Body spacing / text sizes */
.model-card .card-body {
  padding: 0.55rem 0.7rem 0.75rem;
}

.model-card .card-body h2.h6 {
  font-size: 0.9rem;
  margin-bottom: 0.1rem;
}

.model-card .card-body .text-muted {
  font-size: 0.76rem;
}

.model-card .card-body .text-warning {
  font-size: 0.78rem;
}

/* Tag badges inside cards */
.model-card .badge.bg-secondary-subtle {
  border-radius: 999px;
  padding-inline: 0.5rem;
}

/* Small screens – a bit more spacing between cards */
@media (max-width: 576px) {
  .index-grid .model-card {
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.8);
  }
}
