.category-tabs-wrapper-10157 {
    width: 100%;
}

/* Scrollable container for mobile */
.category-tabs-scroll-container-10157 {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;  /* IE and Edge */
}

.category-tabs-scroll-container-10157::-webkit-scrollbar {
    display: none; /* Chrome, Safari and Opera */
}

.category-tabs-container-10157 {
    width: 100%;
    min-width: min-content; /* Important for horizontal scrolling */
    border-bottom-style: solid;
}

.category-tabs-list-10157 {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0;
    flex-wrap: nowrap; /* Prevent wrapping so it scrolls on small screens */
}

.category-tab-10157 {
    text-align: center;
    transition: background-color 0.3s ease, border-radius 0.3s ease;
    flex-shrink: 0; /* Prevent shrinking below min-width */
}

.category-tab-btn-10157 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: none;
    border: none;
    width: 100%;
    height: 100%;
    cursor: pointer;
    font-family: inherit;
    transition: color 0.3s ease;
}

.category-tab-icon-wrapper-10157 {
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s ease, border 0.3s ease, transform 0.3s ease;
    box-sizing: border-box;
}

.category-tab-icon-10157 {
    display: flex;
    justify-content: center;
    align-items: center;
    transition: color 0.3s ease, fill 0.3s ease;
}

/* Hover animation on icon wrapper */
.category-tab-10157:not(.active):hover .category-tab-icon-wrapper-10157 {
    transform: translateY(-3px);
}

.category-tab-icon-10157 i {
    font-size: inherit; /* Controlled by Elementor slider */
}

.category-tab-title-10157 {
    text-transform: capitalize;
    white-space: nowrap; /* Keep text on one line */
    transition: color 0.3s ease;
}

/* Content Area Styles */
.category-tabs-content-area-10157 {
    width: 100%;
    position: relative;
}

.category-tab-panel-10157 {
    display: none;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}

.category-tab-panel-10157.active {
    display: block;
    opacity: 1;
    animation: tabSlideUpFade 0.5s ease forwards;
}

.elementor-editor-preview-notice {
    padding: 20px;
    text-align: center;
}

@keyframes tabSlideUpFade {
    0% { 
        opacity: 0; 
        transform: translateY(15px);
    }
    100% { 
        opacity: 1; 
        transform: translateY(0);
    }
}

/* Media Queries */
@media (min-width: 769px) {
    .category-tabs-list-10157 {
        flex-wrap: wrap; /* Allow wrapping on larger screens if too many tabs */
    }
}

@media (max-width: 768px) {
    .category-tabs-list-10157 {
        justify-content: flex-start; /* Align left for scrolling on mobile */
    }
    
    /* Fade effect for mobile scrolling edges */
    .category-tabs-scroll-container-10157 {
        mask-image: linear-gradient(to right, black 90%, transparent 100%);
        -webkit-mask-image: linear-gradient(to right, black 90%, transparent 100%);
    }
}