/* Homepage only. Search and category grids keep their existing roomy cards. */
.vg-home .vg-rail-shell { margin: 0 -12px; min-width: 0; }
.vg-home .vg-rail[data-rail-track] {
  --home-rail-columns: 2;
  --home-rail-rows: 2;
  --home-rail-gap: 12px;
  --home-rail-peek: 28px;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(var(--home-rail-rows), minmax(0, 1fr));
  grid-auto-columns: calc((100% - var(--home-rail-peek) - (var(--home-rail-columns) - 1) * var(--home-rail-gap)) / var(--home-rail-columns));
  gap: 20px var(--home-rail-gap);
  box-sizing: border-box;
  width: 100%; min-width: 0;
  margin: 0; padding: 16px 12px 24px;
  overflow-x: auto;
  scroll-padding-inline: 12px;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
}
.vg-home .vg-rail[data-rail-count="1"] { --home-rail-rows: 1; }
.vg-home .vg-rail[data-rail-track].is-dragging { scroll-snap-type: none; }
.vg-home .vg-rail-shell::before, .vg-home .vg-rail-shell::after { top: 12px; bottom: 20px; width: 12px; }
.vg-home .vg-rail-shell::before { left: 0; }
.vg-home .vg-rail-shell::after { right: 0; }
@media (max-width: 767px) {
  .vg-home .vg-home-rail .vg-card { border-radius: 14px; }
  .vg-home .vg-home-rail .vg-card-media { aspect-ratio: 16 / 9; border-radius: 13px 13px 0 0; }
  .vg-home .vg-home-rail .vg-card-body { padding: 10px; }
  .vg-home .vg-home-rail .vg-card-name { font-size: 14px; line-height: 1.3; min-height: 2.6em; margin-bottom: 5px; }
  .vg-home .vg-home-rail .vg-card-meta { display: block; min-height: 0; font-size: 11px; margin-bottom: 8px; }
  .vg-home .vg-home-rail .vg-card-meta span { display: block; }
  .vg-home .vg-home-rail .vg-card-meta span + span::before { content: none; }
  .vg-home .vg-home-rail .vg-card-tags { gap: 4px; min-height: 0; }
  .vg-home .vg-home-rail .vg-card-tags span { font-size: 10px; padding: 2px 5px; }
  .vg-home .vg-home-rail .vg-card-status { top: 7px; left: 7px; padding: 3px 7px; font-size: 10px; }
  .vg-home .vg-home-rail .vg-section-head { flex-wrap: wrap; }
  .vg-home .vg-home-rail .vg-section-head h2 { flex-basis: 100%; }
  .vg-home .vg-rail-actions { width: 100%; justify-content: space-between; }
  .vg-home .vg-rail-control { width: 44px; height: 44px; border-radius: 50%; }
}
@media (max-width: 359px) {
  .vg-home .vg-rail[data-rail-track] { --home-rail-columns: 1; --home-rail-peek: 44px; }
  .vg-home .vg-home-rail .vg-card-name { font-size: 16px; }
}
@media (min-width: 768px) {
  .vg-home .vg-rail[data-rail-track] { --home-rail-rows: 1; --home-rail-gap: 24px; --home-rail-peek: 64px; }
}
@media (min-width: 1100px) {
  .vg-home .vg-rail[data-rail-track] { --home-rail-columns: 3; --home-rail-peek: 72px; }
}
