.rick-taxonomy-cards {
    --rick-card-gap: 24px;
    --rick-card-radius: 10px;
    margin: 0 0 42px;
}

.rick-taxonomy-cards__heading {
    margin: 0 0 22px;
    color: #0b0b0b;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 700;
}

.rick-taxonomy-cards__grid {
    display: grid;
    gap: var(--rick-card-gap);
    position: relative;
}

.rick-taxonomy-cards__carousel {
    overflow: visible;
}

.rick-taxonomy-cards__carousel > .swiper-wrapper {
    display: contents;
}

.rick-taxonomy-cards__slide {
    height: auto;
    min-width: 0;
}

.rick-taxonomy-cards__slide > .rick-taxonomy-card {
    width: 100%;
    height: 100%;
}

.rick-taxonomy-cards__carousel > .rick-carousel-nav,
.rick-taxonomy-cards__carousel > .rick-carousel-nav .rick-swiper-prev,
.rick-taxonomy-cards__carousel > .rick-carousel-nav .rick-swiper-next {
    display: none;
}

.rick-taxonomy-card {
    display: flex;
    position: relative;
    overflow: hidden;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    background: #ffffff;
    border-radius: var(--rick-card-radius);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.rick-taxonomy-card:hover {
    transform: translateY(-2px);
    box-shadow: 4px 4px 0px 0px #ea6011 !important;
}

.rick-taxonomy-cards__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rick-taxonomy-card__fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100%;
    padding: 18px;
    color: #005b60;
    font-size: 20px;
    line-height: 1.15;
    font-weight: 700;
    text-align: center;
    background: linear-gradient(135deg, #ffffff 0%, #f5f4f1 100%);
}

.rick-taxonomy-cards--playbook .rick-taxonomy-cards__grid,
.rick-taxonomy-cards--category .rick-taxonomy-cards__grid,
.rick-taxonomy-cards--recently-viewed .rick-taxonomy-cards__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rick-taxonomy-cards--playbook .rick-taxonomy-card {
    aspect-ratio: 1.77 / 1;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
}

.rick-taxonomy-cards--category .rick-taxonomy-card {
    aspect-ratio: 1.82 / 1;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.1);
}

.rick-taxonomy-cards--recently-viewed .rick-taxonomy-card {
    aspect-ratio: 1.82 / 1;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.1);
}

.rick-taxonomy-cards--category .rick-taxonomy-card__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0.46)),
        linear-gradient(0deg, rgba(234, 96, 17, 0.18), rgba(234, 96, 17, 0.02));
    pointer-events: none;
}

.rick-taxonomy-cards--category .rick-taxonomy-card__title {
    position: absolute;
    inset: 18px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: clamp(27px, 2.6vw, 30px);
    line-height: 1.05;
    font-weight: 500;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
    font-family: var(--primary-font);
}

.rick-taxonomy-cards--sub-category .rick-taxonomy-cards__grid {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 32px 28px;
}

.rick-taxonomy-cards--sub-category .rick-taxonomy-card {
    align-items: center;
    gap: 14px;
    flex: 0 1 auto;
    width: fit-content;
    min-width: 286px;
    max-width: min(100%, 420px);
    min-height: 99px;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0px 12px rgba(15, 23, 42, 0.08);
}

.rick-taxonomy-cards--sub-category .rick-taxonomy-cards__slide {
    flex: 0 1 auto;
    width: fit-content;
    width: 23%;
    min-width: 286px;
    max-width: min(100%, 420px);
}

.rick-taxonomy-cards--sub-category .rick-taxonomy-cards__slide > .rick-taxonomy-card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.rick-taxonomy-cards--sub-category .rick-taxonomy-card__icon {
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    overflow: hidden;
    border-radius: 9px;
    background: #a8dfe4;
}

.rick-taxonomy-cards--sub-category .rick-taxonomy-card__title {
    min-width: 0;
    color: #0b0b0b;
    font-size: clamp(19px, 1.55vw, 20px);
    line-height: 1.2;
    font-weight: 700;
}

.rick-taxonomy-card__fallback-icon {
    display: block;
    width: 100%;
    height: 100%;
    background:
        radial-gradient(circle at 50% 50%, #005b60 0 8%, transparent 9%),
        radial-gradient(circle at 50% 50%, transparent 0 34%, #005b60 35% 42%, transparent 43%),
        #a8dfe4;
}

@media (max-width: 1100px) {
    .rick-taxonomy-cards--playbook .rick-taxonomy-cards__grid,
    .rick-taxonomy-cards--category .rick-taxonomy-cards__grid,
    .rick-taxonomy-cards--recently-viewed .rick-taxonomy-cards__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .rick-taxonomy-cards {
        --rick-card-gap: 18px;
    }

    .rick-taxonomy-cards__heading {
        font-size: 23px;
    }

    .rick-taxonomy-cards--playbook .rick-taxonomy-cards__grid,
    .rick-taxonomy-cards--category .rick-taxonomy-cards__grid,
    .rick-taxonomy-cards--recently-viewed .rick-taxonomy-cards__grid {
        grid-template-columns: 1fr;
    }

    .rick-taxonomy-cards--category .rick-taxonomy-card__title {
        font-size: 32px;
    }

    .rick-taxonomy-cards--sub-category .rick-taxonomy-cards__grid {
        gap: 18px;
    }

    .rick-taxonomy-cards--sub-category .rick-taxonomy-card {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 768px) {
    .rick-taxonomy-cards__grid.rick-taxonomy-cards__carousel {
        display: block;
        overflow: hidden;
    }

    .rick-taxonomy-cards__carousel > .swiper-wrapper {
        display: flex;
        gap: 0;
        padding: 20px 0px;
    }

    .rick-taxonomy-cards__carousel .rick-taxonomy-cards__slide {
        display: flex;
        width: auto;
        min-width: 0;
        max-width: none;
        height: auto;
    }

    .rick-taxonomy-cards--playbook .rick-taxonomy-cards__carousel .rick-taxonomy-cards__slide,
    .rick-taxonomy-cards--category .rick-taxonomy-cards__carousel .rick-taxonomy-cards__slide,
    .rick-taxonomy-cards--recently-viewed .rick-taxonomy-cards__carousel .rick-taxonomy-cards__slide {
        min-height: 1px;
    }

    .rick-taxonomy-cards--sub-category .rick-taxonomy-cards__carousel .rick-taxonomy-cards__slide > .rick-taxonomy-card {
        min-height: 99px;
    }

    .rick-taxonomy-cards--sub-category .rick-taxonomy-cards__carousel[data-mobile-slides-per-view="2"] .rick-taxonomy-cards__slide {
        flex: 0 0 calc((100% - 12px) / 2);
        width: calc((100% - 12px) / 2) !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box;
    }

    .rick-taxonomy-cards--sub-category .rick-taxonomy-cards__carousel[data-mobile-slides-per-view="2"] .rick-taxonomy-card {
        width: 100%;
        min-width: 0;
        max-width: none;
        flex-direction: column;
        text-align: center;
    }

    .rick-taxonomy-cards__carousel > .rick-carousel-nav {
        display: block;
    }

    .rick-taxonomy-cards__carousel > .rick-carousel-nav .rick-swiper-prev,
    .rick-taxonomy-cards__carousel > .rick-carousel-nav .rick-swiper-next {
        display: flex;
        top: 50%;
        width: 44px;
        height: 44px;
        border-radius: 999px;
        border: 1px solid rgba(15, 23, 42, 0.1);
        background: rgba(255, 255, 255, 0.92) !important;
        opacity: 1;
        transform: translateY(-50%);
        box-shadow: 0 12px 24px rgba(15, 23, 42, 0.14);
    }

    .rick-taxonomy-cards__carousel > .rick-carousel-nav .rick-swiper-prev {
        left: 10px;
    }

    .rick-taxonomy-cards__carousel > .rick-carousel-nav .rick-swiper-next {
        right: 10px;
    }

    .rick-taxonomy-cards__carousel > .rick-carousel-nav .rick-swiper-prev svg,
    .rick-taxonomy-cards__carousel > .rick-carousel-nav .rick-swiper-next svg {
        width: 24px;
        height: 24px;
        stroke: #101828;
    }

    .rick-taxonomy-cards__carousel > .rick-carousel-nav .rick-swiper-prev.swiper-button-disabled,
    .rick-taxonomy-cards__carousel > .rick-carousel-nav .rick-swiper-next.swiper-button-disabled {
        opacity: 0.4;
    }
}
