/* Only the decorative catalogue strip is removed; content headers stay intact. */
body.catalog-no-banner { min-height:100vh; }
.catalog-no-banner .topbar { position:sticky; top:0; }
.catalog-no-banner .catalog-page { min-height:0; }
.catalog-no-banner .catalog-content { padding-top:28px; }
.catalog-no-banner .plain-catalog-heading { margin-bottom:20px; }
.catalog-no-banner .plain-catalog-heading h1 { margin:0; font-size:28px; }
.catalog-no-banner .plain-catalog-heading .eyebrow { margin:0 0 6px; }
@media (max-width:720px) {
  .catalog-no-banner .catalog-content { padding-top:20px; }
}

/* Spacious catalogue layout for desktop landscape screens. */
.catalog-no-banner.catalog-compact .catalog-content {
  padding-top: 48px;
  scroll-margin-top: 88px;
}
@media (min-width: 1600px) and (min-height: 850px) {
  /* Reference: /filme/, 11 columns with 15px gaps and 2:3 covers.
     Two title blocks (13px × 1.45 + 11px spacing) and a 32px row gap.
     Reserve the same 72px pagination area even when it is hidden.
     These variables affect only the space above the grid, never cover sizes. */
  .catalog-no-banner {
    --catalog-reference-grid-height: calc((94vw - 150px) * 3 / 11 + 2 * (13px * 1.45 + 11px) + 32px);
    --catalog-reference-inset: max(0px, calc((100svh - 64px - 48px - 24px - 39.15px - 48px - 72px - var(--catalog-reference-grid-height)) / 2));
    --catalog-reference-top: calc(175.15px + var(--catalog-reference-inset));
  }
  .catalog-no-banner.catalog-compact .catalog-content {
    min-height: calc(100svh - 64px);
    padding: 48px 3% 24px;
    grid-template-rows: auto 1fr auto;
    row-gap: 24px;
  }
  .catalog-no-banner.catalog-compact .catalog-rows {
    align-self: start;
    margin-top: var(--catalog-reference-inset);
  }
  .catalog-no-banner.catalog-compact .catalog-grid {
    grid-template-columns: repeat(11, minmax(0, 1fr));
    gap: 32px 15px;
  }
  .catalog-no-banner.catalog-compact .catalog-pagination { margin: 0; }
}
@media (max-width: 760px) {
  .catalog-no-banner.catalog-compact .catalog-content { padding-top: 28px; }
}

/* The legacy catalogue keeps its existing card sizes and can grow naturally. */
@media (min-width: 1600px) and (min-height: 850px) {
  .catalog-no-banner:not(.catalog-compact) .catalog-content {
    display: flex;
    flex-direction: column;
    min-height: calc(100svh - 64px);
  }
  .catalog-no-banner:not(.catalog-compact) .catalog-rows {
    /* Existing legacy heading, tools, row heading and cover border: 274.53px. */
    margin-block: max(0px, calc(var(--catalog-reference-top) - 274.53px)) 0;
  }
}
