.woo-categories-slider-wrapper-c48742bf {
    position: relative;
    padding: 0 50px; /* Make room for arrows */
    overflow: hidden; /* Important for swiper */
}

/* Ensure swiper wrapper displays horizontally */
.woo-categories-slider-wrapper-c48742bf .swiper-wrapper {
    display: flex;
    flex-direction: row;
}

.woo-cat-item-c48742bf {
    text-align: center;
    padding: 15px;
    border-radius: 8px;
    transition: transform 0.3s ease;
    box-sizing: border-box;
    display: flex;
    flex-shrink: 0;
}

/* Horizontal Layout (Default) */
.woo-cat-layout-horizontal .woo-cat-item-c48742bf a {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.woo-cat-layout-horizontal .woo-cat-item-c48742bf img {
    margin-bottom: 15px;
    width: 100%;
    /* Lazy loading visual placeholder */
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* Vertical Layout */
.woo-cat-layout-vertical .woo-cat-item-c48742bf a {
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: left;
    gap: 15px;
    width: 100%;
}

.woo-cat-layout-vertical .woo-cat-item-c48742bf img {
    margin-bottom: 0;
    width: 60px;
    height: 60px;
    object-fit: cover;
    flex-shrink: 0;
}

.woo-cat-layout-vertical .woo-cat-item-content {
    display: flex;
    flex-direction: column;
}

/* General Styling */
.woo-cat-item-c48742bf:hover {
    transform: translateY(-5px);
}

.woo-cat-item-c48742bf img {
    height: auto;
    border-radius: 4px;
}

.woo-cat-item-c48742bf h3 {
    margin: 0;
    font-size: 1.2em;
    color: #333;
}

.woo-cat-item-c48742bf .cat-count {
    display: block;
    margin-top: 5px;
    font-size: 0.9em;
    color: #777;
}

.woo-cat-layout-vertical .woo-cat-item-c48742bf .cat-count {
    margin-top: 0;
}

.woo-cat-item-c48742bf a {
    text-decoration: none;
}

/* Navigation Arrows Fix - Important Overrides */
html body .woo-categories-slider-wrapper-c48742bf .woo-cat-slider-nav-c48742bf {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.15) !important;
    margin-top: -20px !important; 
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 50% !important;
    opacity: 1 !important;
    background-color: #fff !important;
    border: 1px solid #e0e0e0 !important;
}

html body .woo-categories-slider-wrapper-c48742bf .woo-cat-slider-nav-c48742bf.swiper-button-disabled {
    opacity: 0.35 !important;
    cursor: auto !important;
    pointer-events: none !important;
}

html body .woo-categories-slider-wrapper-c48742bf .swiper-button-prev.woo-cat-slider-nav-c48742bf {
    left: 0 !important;
}

html body .woo-categories-slider-wrapper-c48742bf .swiper-button-next.woo-cat-slider-nav-c48742bf {
    right: 0 !important;
}

/* Arrow icons via SVG - replaces missing swiper-icons font */
html body .woo-categories-slider-wrapper-c48742bf .woo-cat-slider-nav-c48742bf::after {
    content: '' !important;
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    color: inherit !important;
}

html body .woo-categories-slider-wrapper-c48742bf .swiper-button-next.woo-cat-slider-nav-c48742bf::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

html body .woo-categories-slider-wrapper-c48742bf .swiper-button-prev.woo-cat-slider-nav-c48742bf::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E") !important;
}