/* Phone: two columns. Desktop: four when available, two for a two-card door. */
.home-section .home-door-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  max-width: none;
  width: 100%;
}
.home-section .home-door-grid .card .thumb {
  aspect-ratio: 16 / 9;
  height: auto;
}
.home-section .home-door-grid .card .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-section .home-door-grid:has(> :only-child) {
  grid-template-columns: minmax(0, 1fr);
}
.home-section .home-door-grid:has(> :only-child) .card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
}
@media (min-width: 1000px) {
  .home-section .home-door-grid:has(> :nth-child(4)) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .home-section .home-door-grid {
    gap: 0.55rem;
  }
  .home-section .home-door-grid .card .body {
    padding: 0.55rem;
  }
  .home-section .home-door-grid .card h3 {
    font-size: 0.9rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }
  .home-section .home-door-grid:has(> :only-child) .card {
    grid-template-columns: minmax(0, 1fr);
  }
}
