#tabsComponent {
    position: relative;
    margin: auto;
    border: 1px solid #f2f4f8;
    border-radius: 9999px;
    background: white;
    padding: 3px;
    width: fit-content;
    max-width: 66%;
    overflow: hidden;
    user-select: none;

    .tabs-wrapper {
        position: relative;
        width: fit-content;
        max-width: 100%;
        overflow: auto;
        scrollbar-width: none;
    }

    .tabs-container {
        display: flex;
        border-radius: 9999px;
        background: white;
        white-space: nowrap;
    }

    .tab-btn {
        z-index: 2;
        mix-blend-mode: darken;
        transition: background 0.3s ease;
        cursor: pointer;
        border: none;
        border-radius: 9999px;
        background: transparent;
        padding: 10px 16px;
        color: var(--color-dark);
        font-weight: 500;
        font-size: 14px;
        line-height: 20px;
    }

    .tab-btn:hover {
        background: #f8f9fc;
    }

    .pill {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        transition: all 300ms cubic-bezier(0.65, 0.05, 0.36, 1);
        border-radius: 99px;
        background-color: #f1f3f9;
        height: 100%;
    }

    .arrow {
        display: flex;
        position: absolute;
        top: auto;
        top: 0;
        right: auto;
        bottom: 0;
        left: auto;
        flex-wrap: wrap;
        align-content: center;
        align-items: center;
        visibility: hidden;
        opacity: 0;
        z-index: 10;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        cursor: pointer;
        background: white;
        pointer-events: none;
    }

    .arrow.visible {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    .arrow.visible:hover svg path {
        stroke: black;
    }

    .arrow.moveLeft {
        left: 0;
        mask-image: linear-gradient(to left, transparent, black 20px);
        -webkit-mask-image: linear-gradient(to left, transparent, black 20px);
        padding: 0 30px 0 20px;
    }

    .arrow.moveRight {
        right: 0px;
        mask-image: linear-gradient(to right, transparent, black 20px);
        -webkit-mask-image: linear-gradient(to right, transparent, black 20px);
        padding: 0 20px 0 30px;
    }
}

.tab-content:not(.active) {
    display: none;
}

@media screen and (max-width: 768px) {
    #tabsComponent {
        border-radius: 24px;
        width: 100%;
        max-width: 100%;
        max-height: 48px;
        transition: max-height 200ms ease-in-out;
        overflow: hidden;

        .arrow {
            display: none;
        }

        .arrow.moveRight {
            display: flex;
            top: 16px;
            right: 24px;
            rotate: 90deg;
            visibility: visible;
            opacity: 1;
            mask-image: none;
            transition: rotate 200ms ease-in-out;
            background: none;
            padding: 0;
            width: fit-content;
            height: fit-content;

            svg {
                width: 6px;

                path {
                    stroke-width: 2.5px;
                    stroke: #c4c7d3;
                }
            }
        }

        .tabs-wrapper {
            width: 100%;
            overflow: auto;
        }

        .tabs-container {
            display: flex;
            flex-direction: column;
            width: 100%;
        }

        .tab-btn.active {
            order: -1;
        }

        .tab-btn:hover {
            background: transparent;
        }

        .pill {
            display: none;
        }
    }

    #tabsComponent.expanded {
        max-height: 200px;
        overflow: scroll;

        .arrow.moveRight {
            rotate: -90deg;
        }
    }
}
