/* WooCustom Toolkit - lightweight taxonomy carousels */
.wct-tax-carousel {
    --wct-carousel-gap: 18px;
    --wct-card-min-height: 240px;
    --wct-media-ratio: 1 / 1;
    --wct-transition-speed: 420ms;
    position: relative;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    direction: rtl;
}

.wct-tax-carousel *,
.wct-tax-carousel *::before,
.wct-tax-carousel *::after {
    box-sizing: border-box;
}

.wct-tax-carousel__viewport {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: var(--wct-card-min-height);
    overflow: hidden;
    direction: ltr;
    outline: none;
    contain: layout paint;
}

.wct-tax-carousel__track {
    display: flex;
    align-items: stretch;
    gap: var(--wct-carousel-gap);
    width: 100%;
    min-width: 0;
    transform: translate3d(0, 0, 0);
    transition-property: transform;
    transition-duration: var(--wct-transition-speed);
    transition-timing-function: cubic-bezier(.22, .61, .36, 1);
    will-change: transform;
}

.wct-tax-carousel.is-dragging .wct-tax-carousel__track {
    transition-duration: 0ms !important;
}

.wct-tax-carousel__slide {
    flex: 0 0 100%;
    min-width: 0;
    min-height: var(--wct-card-min-height);
    direction: rtl;
}

/* Stable widths are available before JavaScript, preventing carousel-init CLS. */
.wct-items-d-1 .wct-tax-carousel__slide { flex-basis: 100%; }
.wct-items-d-2 .wct-tax-carousel__slide { flex-basis: 50%; }
.wct-items-d-3 .wct-tax-carousel__slide { flex-basis: 33.333333%; }
.wct-items-d-4 .wct-tax-carousel__slide { flex-basis: 25%; }
.wct-items-d-5 .wct-tax-carousel__slide { flex-basis: 20%; }
.wct-items-d-6 .wct-tax-carousel__slide { flex-basis: 16.666667%; }
.wct-items-d-7 .wct-tax-carousel__slide { flex-basis: 14.285714%; }
.wct-items-d-8 .wct-tax-carousel__slide { flex-basis: 12.5%; }

.wct-tax-carousel__card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    min-height: var(--wct-card-min-height);
    height: 100%;
    overflow: hidden;
    color: inherit;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background-color .24s ease;
}

.wct-tax-carousel__card:focus-visible {
    outline: 2px solid var(--woocustom-color-primary, #087f8c);
    outline-offset: 3px;
}

.wct-tax-carousel__media {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    aspect-ratio: var(--wct-media-ratio);
    overflow: hidden;
    flex: 0 0 auto;
    background: #f8fafc;
}

.wct-tax-carousel__image,
.wct-tax-carousel__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
}

.wct-tax-carousel__image {
    object-fit: contain;
    object-position: center;
}

.wct-tax-carousel__placeholder {
    background:
        linear-gradient(135deg, rgba(148, 163, 184, .10) 25%, transparent 25%) -12px 0 / 24px 24px,
        linear-gradient(225deg, rgba(148, 163, 184, .10) 25%, transparent 25%) -12px 0 / 24px 24px,
        #f8fafc;
}

.wct-tax-carousel__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    padding: 14px 12px;
    text-align: center;
}

.wct-tax-carousel__title {
    display: block;
    width: 100%;
    min-width: 0;
    color: #1f2937;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.7;
    overflow-wrap: anywhere;
    transition: color .2s ease;
}

.wct-tax-carousel__description {
    display: block;
    width: 100%;
    color: #64748b;
    font-size: 13px;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.wct-tax-carousel__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 3px 9px;
    color: #64748b;
    background: #f1f5f9;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.5;
}

/* Style 1: classic card */
.wct-tax-carousel--style-1 .wct-tax-carousel__media {
    border-radius: 14px 14px 0 0;
}

/* Style 2: circular image */
.wct-tax-carousel--style-2 .wct-tax-carousel__card {
    align-items: center;
    justify-content: flex-start;
    padding: 14px;
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

.wct-tax-carousel--style-2 .wct-tax-carousel__media {
    width: min(100%, 180px);
    aspect-ratio: 1 / 1 !important;
    margin-inline: auto;
    border-radius: 50%;
    border: 1px solid #e5e7eb;
}

.wct-tax-carousel--style-2 .wct-tax-carousel__content {
    padding: 12px 4px 4px;
}

/* Style 3: image overlay */
.wct-tax-carousel--style-3 .wct-tax-carousel__card {
    isolation: isolate;
    justify-content: flex-end;
    border: 0;
    background: #0f172a;
}

.wct-tax-carousel--style-3 .wct-tax-carousel__card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 25%, rgba(15, 23, 42, .72) 100%);
}

.wct-tax-carousel--style-3 .wct-tax-carousel__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    aspect-ratio: auto;
    border-radius: inherit;
    background: #0f172a;
}

.wct-tax-carousel--style-3 .wct-tax-carousel__image {
    object-fit: cover;
    transition: transform .45s ease;
}

.wct-tax-carousel--style-3 .wct-tax-carousel__card:hover .wct-tax-carousel__image {
    transform: scale(1.045);
}

.wct-tax-carousel--style-3 .wct-tax-carousel__content {
    align-items: flex-start;
    padding: 22px 18px;
    text-align: right;
}

.wct-tax-carousel--style-3 .wct-tax-carousel__title {
    color: #fff;
    font-size: 17px;
}

.wct-tax-carousel--style-3 .wct-tax-carousel__description {
    color: rgba(255, 255, 255, .82);
}

.wct-tax-carousel--style-3 .wct-tax-carousel__count {
    color: #fff;
    background: rgba(255, 255, 255, .16);
    backdrop-filter: blur(5px);
}

.wct-tax-carousel__arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    color: #1f2937;
    background: rgba(255, 255, 255, .94);
    border: 1px solid #e5e7eb;
    border-radius: 50%;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .10);
    cursor: pointer;
    transform: translateY(-50%);
    transition: opacity .2s ease, color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}html body .wct-tax-carousel__arrow{padding: 0;color: #1f2937;background: rgba(255, 255, 255, .94);border: 1px solid #e5e7eb;border-radius: 50%;}

.wct-tax-carousel__arrow:hover {
    color: #fff;
    background: var(--woocustom-color-primary, #087f8c);
    border-color: var(--woocustom-color-primary, #087f8c);
}

.wct-tax-carousel__arrow:disabled {
    opacity: .35;
    cursor: not-allowed;
}

.wct-tax-carousel__arrow[hidden] {
    display: none !important;
}

.wct-tax-carousel__arrow svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.wct-tax-carousel__arrow--prev { right: 10px; }
.wct-tax-carousel__arrow--next { left: 10px; }
.wct-tax-carousel--arrows-edge .wct-tax-carousel__arrow--prev { right: 0; transform: translate(50%, -50%); }
.wct-tax-carousel--arrows-edge .wct-tax-carousel__arrow--next { left: 0; transform: translate(-50%, -50%); }
.wct-tax-carousel--arrows-outside .wct-tax-carousel__arrow--prev { right: -52px; }
.wct-tax-carousel--arrows-outside .wct-tax-carousel__arrow--next { left: -52px; }

.wct-tax-carousel__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 22px;
    margin-top: 14px;
}

.wct-tax-carousel__dots[hidden] {
    display: flex !important;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

.wct-tax-carousel__dot {
    display: block;
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #cbd5e1;
    cursor: pointer;
    transition: width .2s ease, background-color .2s ease, opacity .2s ease;
}html body .wct-tax-carousel__dot{padding: 0;border: 0;border-radius: 999px;background: #cbd5e1;}

.wct-tax-carousel__dot.is-active {
    width: 22px;
    background: var(--woocustom-color-primary, #087f8c);
}

.wct-tax-carousel__dot:focus-visible,
.wct-tax-carousel__arrow:focus-visible {
    outline: 2px solid var(--woocustom-color-primary, #087f8c);
    outline-offset: 2px;
}

.wct-tax-carousel[data-draggable="1"] .wct-tax-carousel__viewport {
    cursor: grab;
    touch-action: pan-y pinch-zoom;
    user-select: none;
}

.wct-tax-carousel.is-dragging .wct-tax-carousel__viewport {
    cursor: grabbing;
}

@media (max-width: 1024px) {
    .wct-items-t-1 .wct-tax-carousel__slide { flex-basis: 100%; }
    .wct-items-t-2 .wct-tax-carousel__slide { flex-basis: 50%; }
    .wct-items-t-3 .wct-tax-carousel__slide { flex-basis: 33.333333%; }
    .wct-items-t-4 .wct-tax-carousel__slide { flex-basis: 25%; }
    .wct-items-t-5 .wct-tax-carousel__slide { flex-basis: 20%; }
    .wct-items-t-6 .wct-tax-carousel__slide { flex-basis: 16.666667%; }
    .wct-items-t-7 .wct-tax-carousel__slide { flex-basis: 14.285714%; }
    .wct-items-t-8 .wct-tax-carousel__slide { flex-basis: 12.5%; }

    .wct-tax-carousel--arrows-outside .wct-tax-carousel__arrow--prev { right: 4px; }
    .wct-tax-carousel--arrows-outside .wct-tax-carousel__arrow--next { left: 4px; }
}

@media (max-width: 767px) {
    .wct-items-m-1 .wct-tax-carousel__slide { flex-basis: 100%; }
    .wct-items-m-2 .wct-tax-carousel__slide { flex-basis: 50%; }
    .wct-items-m-3 .wct-tax-carousel__slide { flex-basis: 33.333333%; }
    .wct-items-m-4 .wct-tax-carousel__slide { flex-basis: 25%; }
    .wct-items-m-5 .wct-tax-carousel__slide { flex-basis: 20%; }
    .wct-items-m-6 .wct-tax-carousel__slide { flex-basis: 16.666667%; }
    .wct-items-m-7 .wct-tax-carousel__slide { flex-basis: 14.285714%; }
    .wct-items-m-8 .wct-tax-carousel__slide { flex-basis: 12.5%; }

    .wct-tax-carousel__arrow {
        width: 36px;
        height: 36px;
    }

    .wct-tax-carousel__arrow--prev,
    .wct-tax-carousel--arrows-edge .wct-tax-carousel__arrow--prev,
    .wct-tax-carousel--arrows-outside .wct-tax-carousel__arrow--prev {
        right: 4px;
        transform: translateY(-50%);
    }

    .wct-tax-carousel__arrow--next,
    .wct-tax-carousel--arrows-edge .wct-tax-carousel__arrow--next,
    .wct-tax-carousel--arrows-outside .wct-tax-carousel__arrow--next {
        left: 4px;
        transform: translateY(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .wct-tax-carousel__track,
    .wct-tax-carousel__card,
    .wct-tax-carousel__image,
    .wct-tax-carousel__arrow,
    .wct-tax-carousel__dot {
        transition-duration: 0.01ms !important;
    }
}
