﻿.el54-category-cards { background: var(--el54-background); color: var(--el54-text); }
.el54-category-cards__container {  margin-inline: auto; }
.el54-category-cards__heading { margin: 0 0 12px; color: var(--el54-text); font-size: clamp(1.35rem, 2vw, 2rem); }
.el54-category-cards__intro { margin-bottom: 22px; opacity: .74; }
.el54-category-cards__viewport { overflow: hidden; }
.el54-category-cards__static-wrapper { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; width: 100%; }
.el54-category-cards__static-column { flex: 0 0 calc((100% - 36px) / 4); min-width: 0; }
.el54-category-cards__column { display: flex; flex-direction: column; gap: 12px; width: 100%; height: 100%; }
.el54-category-card { display: flex; align-items: center; width: 100%; min-width: 0; min-height: 142px; gap: clamp(16px, 1.8vw, 28px); padding: var(--j-gap-spacing---4, 8px); background: var(--surface, #fff); border-radius: 5px; overflow: hidden; transition: box-shadow .22s ease, transform .22s ease; }
.el54-category-card:hover { box-shadow: 0 10px 25px color-mix(in srgb, var(--el54-text) 10%, transparent); transform: translateY(-2px); }
.el54-category-card__image { display: grid; place-items: center; width: 108px; min-width: 108px; height: 108px; color: inherit; text-decoration: none; overflow: hidden; }
.el54-category-card__image img { width: 100%; height: 100%; object-fit: contain; }
.el54-category-card__image-placeholder { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; background: color-mix(in srgb, var(--el54-text) 8%, transparent); opacity: .6; }
.el54-category-card__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.el54-category-card__content h3 { margin: 0 0 4px; font-size: .96rem; font-weight: 700; line-height: 1.3; }
.el54-category-card__content h3 a { color: var(--el54-text); text-decoration: none; }
.el54-category-card__count { margin-bottom: 5px; color: color-mix(in srgb, var(--el54-text) 62%, transparent); font-size: .78rem; }
.el54-category-card__link { color: var(--el54-text); font-size: .78rem; text-decoration-line: underline; text-decoration-style: dotted; text-underline-offset: 3px; }
.el54-category-card__link:hover { color: var(--color-primary, #ff5e14); }
.el54-category-cards__controls { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 34px; margin-top: 18px; }
.el54-category-cards__nav { display: inline-grid; place-items: center; width: 32px; height: 32px; padding: 0; color: var(--el54-text); background: var(--surface, #fff); border: 1px solid color-mix(in srgb, var(--el54-text) 18%, transparent); border-radius: 50%; transition: color .2s ease, border-color .2s ease, transform .2s ease; }
.el54-category-cards__nav:hover { color: var(--color-primary, #ff5e14); border-color: currentColor; transform: scale(1.06); }
.el54-category-cards__nav.swiper-button-disabled { opacity: .35; pointer-events: none; }
.el54-category-cards__pagination { display: flex; align-items: center; justify-content: center; width: auto !important; }
.el54-category-cards__pagination .swiper-pagination-bullet { width: 7px; height: 7px; margin: 0 4px !important; background: var(--el54-text); opacity: .25; }
.el54-category-cards__pagination .swiper-pagination-bullet-active { background: var(--color-primary, #ff5e14); opacity: 1; }
@media (max-width: 1180px) { .el54-category-cards__static-column { flex-basis: calc((100% - 12px) / 2); } }
@media (max-width: 600px) {
    .el54-category-cards__container { width: min(100% - 24px, 520px); }
    .el54-category-cards__viewport {
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 20px;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline proximity;
        scrollbar-color: color-mix(in srgb, var(--el54-text) 45%, transparent) transparent;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }
    .el54-category-cards__viewport::-webkit-scrollbar { height: 4px; }
    .el54-category-cards__viewport::-webkit-scrollbar-track { background: transparent; }
    .el54-category-cards__viewport::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--el54-text) 45%, transparent); border-radius: 999px; }
    .el54-category-cards__static-wrapper,
    .el54-category-cards__viewport > .swiper-wrapper {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        width: max-content;
        gap: 10px;
        transform: none !important;
    }
    .el54-category-cards__static-column,
    .el54-category-cards__viewport .swiper-slide {
        flex: 0 0 min(78vw, 320px);
        width: min(78vw, 320px) !important;
        min-width: 0;
        scroll-snap-align: start;
    }
    .el54-category-card { min-height: 128px; }
    .el54-category-card__image { width: 96px; min-width: 96px; height: 96px; }
    .el54-category-cards__controls { display: none; }
}
