.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 { container-type: inline-size; overflow: hidden; }
.el54-category-cards__viewport.swiper:not(.swiper-initialized) > .swiper-wrapper { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--el54-desktop-gap, 12px); }
.el54-category-cards__viewport.swiper:not(.swiper-initialized) .swiper-slide { flex: 0 0 calc((100% - (var(--el54-desktop-count, 4) - 1) * var(--el54-desktop-gap, 12px)) / var(--el54-desktop-count, 4)); width: calc((100% - (var(--el54-desktop-count, 4) - 1) * var(--el54-desktop-gap, 12px)) / var(--el54-desktop-count, 4)); }
.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: none; align-items: center; justify-content: center; gap: 12px; min-height: 34px; margin-top: 18px; }
.el54-category-cards.is-slider-active .el54-category-cards__controls { display: flex; }
.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-danger, #d70000); border-color: currentColor; transform: scale(1.06); }
.el54-category-cards__nav.swiper-button-disabled { opacity: .35; pointer-events: none; }
.el54-category-cards__nav:focus-visible { outline: 2px solid var(--color-danger, #d70000); outline-offset: 2px; }
.el54-category-cards__pagination { display: flex; align-items: center; justify-content: center; gap: 2px; width: auto !important; max-width: 100%; padding: 1px 8px; border: 1px solid rgb(255 255 255 / .3); border-radius: 24px; background: rgba(93, 93, 93, .27); backdrop-filter: blur(12px); }
.el54-category-cards__pagination .swiper-pagination-bullet { display: grid; place-items: center; width: 24px; height: 28px; margin: 0 !important; padding: 0; border: 0; border-radius: 14px; background: transparent; opacity: 1; }
.el54-category-cards__pagination .swiper-pagination-bullet::before { content: ''; width: 7px; height: 7px; border-radius: 8px; background: rgb(255 255 255 / .58); transition: width .3s cubic-bezier(.22,1,.36,1), background-color .3s ease; }
.el54-category-cards__pagination .swiper-pagination-bullet-active::before { width: 22px; background: var(--color-danger, #d70000); }
.el54-category-cards__pagination .swiper-pagination-bullet:focus-visible { outline: 2px solid #fff; outline-offset: 1px; }
@media (max-width: 1180px) {
    .el54-category-cards__viewport.swiper:not(.swiper-initialized) > .swiper-wrapper { gap: var(--el54-tablet-gap, 12px); }
    .el54-category-cards__viewport.swiper:not(.swiper-initialized) .swiper-slide { flex-basis: calc((100% - (var(--el54-tablet-count, 2) - 1) * var(--el54-tablet-gap, 12px)) / var(--el54-tablet-count, 2)); width: calc((100% - (var(--el54-tablet-count, 2) - 1) * var(--el54-tablet-gap, 12px)) / var(--el54-tablet-count, 2)); }
}
@media (max-width: 600px) {
    .el54-category-cards__container { width: min(100% - 24px, 520px); }
    .el54-category-cards__viewport.swiper:not(.swiper-initialized) > .swiper-wrapper { gap: var(--el54-mobile-gap, 10px); }
    .el54-category-cards__viewport.swiper:not(.swiper-initialized) .swiper-slide { flex-basis: calc((100% - (var(--el54-mobile-count, 1) - 1) * var(--el54-mobile-gap, 10px)) / var(--el54-mobile-count, 1)); width: calc((100% - (var(--el54-mobile-count, 1) - 1) * var(--el54-mobile-gap, 10px)) / var(--el54-mobile-count, 1)); }
    .el54-category-card { min-height: 128px; }
    .el54-category-card__image { width: 96px; min-width: 96px; height: 96px; }
}
@media (prefers-reduced-motion: reduce) {
    .el54-category-cards *, .el54-category-cards__pagination .swiper-pagination-bullet::before { transition-duration: .01ms !important; }
}
