

/* Tabs */

.tabs-wrap {

    --tabs-color: var(--theme-tabs-color, #666);
    --tabs-background-color: var(--theme-tabs-background-color, #fff);
    --tabs-border-color: var(--theme-tabs-border-color, #d9d9d9);
    --tabs-active-border-color: var(--theme-tabs-active-border-color, #000);
    --tabs-active-color: var(--theme-tabs-active-color, #000);
    --tabs-opacity: 1;
    --tabs-gap-horizontal: 0;
    --tabs-gap-vertical: 10px;





    /* Tabs White Opacity */

    &.is-white {
        --tabs-color: #fff;
        --tabs-background-color: #fff;
        --tabs-border-color: #fff;
        --tabs-active-border-color: #fff;
        --tabs-active-color: #fff;
    }

    &.has-opacity {
        --tabs-opacity: 0.325;
        ul.tabs li.tab-item:not(.active) > span {
            opacity: var(--tabs-opacity, 1);
            &::after {
                opacity: 0;
            }
        }
    }





    /* Tabs Base */

    ul.tabs {
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        overflow: hidden;
        padding: 0;
        margin: 0;
        gap: var(--tabs-gap-horizontal, 0);

        &::before {
            content: ' ';
            opacity: var(--tabs-opacity, 1);
            background-color: var(--tabs-border-color, #d9d9d9);
            position: absolute;
            z-index: 1;
        }

        li.tab-item {

            display: inline-flex;
            position: relative;
            cursor: pointer;
            z-index: 2;
            color: var(--tabs-color, #666);

            &.active {
                color: var(--tabs-active-color, #000);
            }

            & > span {

                display: flex;
                overflow: hidden;
                position: relative;
                white-space: nowrap;
                padding: 14px 16px 16px;
                border-radius: 4px 4px 0 0;
                min-height: 42px;
                font-size: 1rem;
                font-weight: 400;
                line-height: 1.25em;
                flex: 1 1;

                &::after {
                    content: ' ';
                    position: absolute;
                    background-color: var(--tabs-border-color, #000);
                }

            }

            &.active > span::after {
                background-color: var(--tabs-active-color, #000);
            }

        }

    }


    .tabs-head {
        position: relative;
        z-index: 20;
    }


    .tabs-body {
        position: relative;
        padding: 20px 16px 20px;
        z-index: 10;
    }


    .tab-content {
        display: none;

        &.active {
            display: block;
        }
    }





    /* Tabs Horizontal */

    &:not(.vertical) {

        ul.tabs {
            padding: 5px 10px 0;
            margin: 0 -10px -2px;

            &::before {
                left: 0;
                right: 0;
                bottom: 0;
                height: 2px;
            }

            li.tab-item {

                & > span {

                    &::after {
                        left: 0;
                        right: 0;
                        bottom: 0;
                        height: 2px;
                    }

                }

            }

        }

    }





    /* Tabs Vertical */

    &.vertical {

        display: flex;
        flex-direction: row;

        ul.tabs {
            position: relative;
            flex-direction: column;
            gap: var(--tabs-gap-vertical, 0);

            &::before {
                top: 0;
                right: 0;
                bottom: 0;
                width: 2px;
            }

            li.tab-item {

                & > span {

                    padding: 10px 40px 10px 0;
                    border-radius: 4px 0 0 4px;
                    min-height: 0;


                    &::after {
                        top: 0;
                        right: 0;
                        bottom: 0;
                        width: 2px;
                    }

                }

            }

        }

        .tabs-body {
            padding: 0 30px;
        }

    }



    /* Tabs Variant 1 */

    &.variant-1 {

        ul.tabs {
            gap: 10px;

            li.tab-item {

                & > span {

                    color: var(--tabs-color, #666);
                    background-color: var(--tabs-background-color, #fff);

                    .tab-item.active & {
                        background-color: var(--tabs-color, #666);
                        color: var(--tabs-background-color, #fff);
                    }

                }

            }

        }



        .tabs-body {

            color: var(--tabs-color, #666);
            background-color: var(--tabs-background-color, #fff);
            border-radius: 0 0 4px 4px;
            padding: 25px 30px;

        }



        &.vertical {

            ul.tabs {

                li.tab-item {

                    & > span {
                        padding: 14px 16px 16px;
                        border-radius: 4px 0 0 4px;
                    }

                }

            }

            .tabs-body {
                border-radius: 0 4px 4px 4px;
            }

        }

    }



    /* Tabs Variant 2 */


}


