/* Catalog-only rules: do not affect individual public-card templates. */
.dvc-template-catalog .container { width: min(100% - 32px, 1280px); max-width: 1280px; margin-inline: auto; }
.dvc-template-catalog .dvc-template-grid { align-items: stretch; }
.dvc-template-catalog .template-showcase-card { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
.dvc-template-catalog .template-showcase-image { aspect-ratio: auto; height: 480px; background: linear-gradient(135deg,#eef3fa,#fff); padding: 12px; display:flex; justify-content:center; align-items:center; overflow: hidden; }
.dvc-template-catalog .dvc-template-image-link { display:flex; align-items:center; justify-content:center; width:100%; height:100%; border-radius:12px; overflow:hidden; }
.dvc-template-catalog .template-showcase-image img { width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center center; display:block; transition:transform .2s ease; }
.dvc-template-catalog .dvc-template-image-link:hover img { transform:scale(1.025); }
.dvc-template-catalog .template-showcase-image span { bottom:16px; left:16px; pointer-events:none; }
.dvc-template-catalog .template-showcase-body { display:flex; flex-direction:column; flex:1; padding:18px; }
.dvc-template-catalog .template-showcase-body p { min-height:0; }
.dvc-template-catalog .template-showcase-body .d-grid { margin-top:auto; }
.dvc-template-catalog .template-hero-stack img { object-fit:contain; background:#fff; }
@media(max-width:1199.98px) { .dvc-template-catalog .template-showcase-image {height:440px;} }
@media(max-width:767.98px) { .dvc-template-catalog .container {width:min(100% - 24px, 1280px);} .dvc-template-catalog .template-showcase-image {height:min(75vh,520px);} }
@media(prefers-reduced-motion:reduce) { .dvc-template-catalog .template-showcase-image img {transition:none;} }
