/* Reusable term-card presentation. Grid and vertical gaps use Xleb components. */
.catalog-category { min-width:0; }
.catalog-category__link { display:block; }
.catalog-category__media { display:block; width:100%; aspect-ratio:4/3; position:relative; }
.catalog-category__media img { display:block; width:100%; height:100%; object-fit:cover; }
.catalog-category--1 { text-align:center; }
.catalog-category--1 .catalog-category__media { height:var(--gapX15); aspect-ratio:auto; display:flex; align-items:center; justify-content:center; }
.catalog-category--1 .catalog-category__media img { object-fit:contain; width:auto; height:auto; max-width:100%; max-height:100%; margin:auto; }
.catalog-category--3 { display:flex; flex-direction:column; background:var(--cardBgColor); border-radius:var(--roundedM); }
.catalog-category__body { padding:var(--gapX6) var(--gapX6) var(--gapX8); }
.catalog-category--3 .catalog-category__media { aspect-ratio:16/9; margin-top:auto; }
.catalog-category__tag { display:inline-flex; align-items:center; border:1px solid var(--dividerDefault); border-radius:var(--roundedXS); padding:var(--gapX2) var(--gapX3); }
.catalog-category__arrow { position:absolute; right:var(--gapX6); bottom:var(--gapX6); display:flex; opacity:0; transition:opacity .2s; }
.catalog-category--3:hover .catalog-category__arrow, .catalog-category--3:focus-within .catalog-category__arrow { opacity:1; }
.catalog-category--4 .catalog-category__link { display:flex; align-items:center; gap:var(--gapX2); border-radius:var(--roundedS); background:var(--cardBgColor); padding:0 var(--gapX4) 0 var(--gapX1); min-height:var(--gapX15); }
.catalog-category--4 .catalog-category__media { width:calc((var(--gapX15) - var(--gapX1))*4/3); height:calc(var(--gapX15) - var(--gapX1)); flex-shrink:0; }
.catalog-category--4 .catalog-category__media img { object-fit:contain; }
@media(max-width:767px) {
 .catalog-category__body { padding:var(--gapX5) var(--gapX5) var(--gapX8); }
 .catalog-category--4 .catalog-category__link { min-height:var(--gapX12); padding-right:var(--gapX3); }
 .catalog-category--4 .catalog-category__media { width:calc((var(--gapX12) - var(--gapX1))*4/3); height:calc(var(--gapX12) - var(--gapX1)); }
}
