.tabs {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100%;

    .tabs__buttons {
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
    }

    .tabs__panels {
        > *:not([data-active="true"]) {
            display: none;
        }
    }

    &.tabs-variant__pill {
        .tabs__buttons-wrapper {
            margin: 0 auto;

            @media screen and (max-width: 991px) {
                width: calc(100% - var(--spacing) * 8);
                overflow: scroll;

                &::-webkit-scrollbar {
                    display: none;
                }
            }
        }
        
        .tabs__buttons {
            border: 1px solid var(--color-primary-dark);
            border-radius: var(--radius);
            align-self: center;

            button {
                --accent-color: var(--color-primary-dark);
                --background-color: transparent;

                font-size: 14px;
                color: var(--accent-color);
                background: var(--background-color);
                border-color: 1px solid var(--accent-color);
                padding-inline: calc(var(--spacing) * 12);
                padding-block: calc(var(--spacing) * 2);
                transition: all .3s;
                min-width: 130px;

                @media screen and (max-width: 991px) {
                    min-width: unset;
                    white-space: nowrap;
                    padding-inline: calc(var(--spacing) * 6);
                }

                &:not(:last-child) {
                    border-right: 1px solid var(--color-primary-dark);

                    @media screen and (max-width: 991px) {
                        border: none;
                    }
                }

                &:first-child {
                    border-top-left-radius: var(--radius);
                    border-bottom-left-radius: var(--radius);
                }
                &:last-child {
                    border-top-right-radius: var(--radius);
                    border-bottom-right-radius: var(--radius);
                }

                &:hover,
                &[data-active="true"] {
                    color: #fff;
                    background: var(--accent-color);
                }
            }
        }
    }

    &.tabs-variant__text {
        .tabs__buttons {
            gap: calc(var(--spacing) * 8);

            button {
                font-size: 1rem;
                font-weight: 600;
                transition: all .3s;
                color: var(--color-primary-dark-50);
                border-bottom: 1px solid transparent;

                &:hover,
                &[data-active="true"] {
                    color: var(--color-primary-dark);
                    border-color: var(--color-primary-dark);
                }
            }
        }
    }

    &.tabs-variant__full-icon {
        .tabs__buttons {
            position: relative;
            justify-content: space-evenly;
            gap: 0;
            width: 100%;

            &::after {
                content: '';
                position: absolute;
                bottom: 0;
                left: 0;
                width: 100%;
                height: 1px;
                background-color: var(--color-light-gray);
            }

            button {
                z-index: 1;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: .5rem;
                color: var(--color-primary-dark);
                padding-inline: calc(var(--spacing) * 8);
                border-bottom: 2px solid transparent;
                height: 100%;

                @media screen and (max-width: 991px) {
                    padding-inline: 0;
                }

                > svg {
                    @media screen and (max-width: 991px) {
                        width: 24px;
                        height: 24px;
                    }
                }

                span:last-child {
                    text-align: center;
                    font-size: 15px;
                    font-weight: 500;
                    line-height: 23px;

                    @media screen and (max-width: 991px) {
                        display: none;
                    }
                }

                &[data-active="true"] {
                    color: var(--color-primary);
                    border-color: var(--color-primary);
                }
            }
        }

        .tabs__panels {
            position: relative;
            padding: calc(var(--spacing) * 8);
            height: 300px;

            @media screen and (max-width: 991px) {
                height: 500px;
            }

            > * {
                display: none;
                scroll-margin: 12rem;

                &[data-active="true"] {
                    display: block;
                }
            }
        }
    }

    &:not(.tabs-variant__full-icon) .tabs__panels {
        margin-top: calc(var(--spacing) * 8);
    }
}

.tabs-image {
    position: relative;
    padding-bottom: 48px;


    @media screen and (max-width: 991px) {
        overflow: hidden;
    }

    .tabs-image__content {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: calc(var(--spacing) * 32);

        @media screen and (max-width: 1024px) {
            gap: calc(var(--spacing) * 8);
        }
        @media screen and (max-width: 768px) {
            grid-template-columns: 1fr;
        }

        .tabs__panels > div {
            position: relative;
            z-index: 100;
        }
    }

    .tabs-image__image {
        position: relative;
        z-index: 1;

        @media screen and (max-width: 768px) {
            display: none;
        }

        img {
            position: relative;
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: grayscale(100%);
            border-radius: var(--radius-semilarge);
            mix-blend-mode: color;
        }

        &::before {
            border-radius: 50%;
            mix-blend-mode: overlay;
            z-index: 3;
            content: "";
            position: absolute;
            width: 357px;
            height: 357px;
            aspect-ratio: 1/1;
            transition: all .5s allow-discrete;
            top: 50%;
            left: 50%;
            transform: translateX(-50%) translateY(-50%);
        }
        &.top-left::before {
            background: var(--color-primary);
            margin-top: -20%;
            margin-left: -35%;
        }
        &.top-right::before {
            background: var(--color-primary);
            margin-top: -20%;
            margin-left: 35%;
        }
        &.bottom-left::before {
            background: var(--color-primary);
            margin-top: 20%;
            margin-left: -35%;
        }
        &.bottom-right::before {
            background: var(--color-primary);
            margin-top: 20%;
            margin-left: 35%;
        }

        &::after {
            z-index: 2;
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border-radius: var(--radius-semilarge);
            background: linear-gradient(
                    180deg,
                    rgba(0, 0, 0, 0.00) 40.86%,
                    rgba(0, 0, 0, 0.70) 100%
            );
        }

        .tabs-image__image-text {
            z-index: 3;
            position: absolute;
            bottom: calc(var(--spacing) * 6);
            right: calc(var(--spacing) * 8);
            color: #fff !important;
            font-family: var(--font-livvic) !important;
            font-size: 40px !important;
            font-weight: 700 !important;
            line-height: 1;
        }
    }
}
