

/* 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: 0;


    --tabs-font-size: 1rem;
    --tabs-font-weight: 400;
    --tabs-line-height: 1.25em;

    --tabs-before-padding-y: 10px;
    --tabs-before-padding-x: 40px;

    &.size-sm {
        --tabs-before-padding-y: 8px;
        --tabs-before-padding-x: 20px;
        --tabs-font-size: var(--15px);
    }





    /* Tabs Variations */

    &.has-opacity {
        /*--tabs-opacity: 0.325;*/
        --tabs-opacity: 0.45;
    }

    &.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.25;*/
            --tabs-opacity: 0.325;
        }
    }





    /* 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;
            z-index: 2;
            color: var(--tabs-color, #666);

            &:not(.no-cursor) {
                cursor: pointer;
            }

            &.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: var(--tabs-font-size, 1rem);
                font-weight: var(--tabs-font-weight, 400);
                line-height: var(--tabs-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 0;
        z-index: 10;
        flex: 1 1;
    }


    &.shadow .tabs-body {
        box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
    }



    .tab-content {
        display: none;

        &.active {
            display: block;
        }
    }


    &:not(.no-items) .tabs-no-items {
        display: none;
    }


    &.has-opacity {

        ul.tabs li.tab-item:not(.active) > span {
            opacity: var(--tabs-opacity, 1);

            &::after {
                opacity: 0;
            }
        }

    }




    /* 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 {



            --tabs-before-padding: var(--tabs-before-padding-y, 10px) var(--tabs-before-padding-x, 40px) var(--tabs-before-padding-y, 10px) 0;
            --tabs-before-right: 0;
            --tabs-before-left: auto;

            &.before-left {
                --tabs-before-padding: var(--tabs-before-padding-y, 10px) 0 var(--tabs-before-padding-y, 10px) var(--tabs-before-padding-x, 40px);
                --tabs-before-right: auto;
                --tabs-before-left: 0;
            }





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

            &::before {
                top: 0;
                right: var(--tabs-before-right, 0);
                left: var(--tabs-before-left, auto);
                bottom: 0;
                width: 2px;
            }




            li.tab-item {

                & > span {

                    padding: var(--tabs-before-padding, 10px 40px 10px 0);
                    border-radius: 4px 0 0 4px;
                    min-height: 0;

                    &::after {
                        top: 0;
                        right: var(--tabs-before-right, 0);
                        left: var(--tabs-before-left, auto);
                        bottom: 0;
                        width: 2px;
                    }

                }

            }

        }

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

        @media all and (max-width: 575px) {

            flex-direction: column;
            gap: 20px 0;

            .tabs-body {
                padding: 0;
            }

        }

    }





    /* Tabs Minimal */

    &.minimal {

        & ul.tabs {

            &::before {
                display: none !important;
            }

            & li.tab-item {
                & > span {
                    &::after {
                        display: none !important;
                    }
                }
            }

        }

    }



    /* 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 6px 6px;
            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 */



    /* Tabs Variant 3 */



}


