.tab-marker {
    display: none;
}

.tabs ~ * {
    opacity: 0;
    pointer-events: none;
}

body.tabs-processed .tabs ~ * {
    opacity: unset;
    pointer-events: unset;
}

.tab-group {
    padding-top: 50px;
    padding-bottom: 50px;
    
    & .tab-list {
        display: flex;
        justify-content: center;
        --container-width: 100%;
        padding-left: var(--sideGap);
        padding-right: var(--sideGap);
        width: 100%;
        max-width: calc(var(--container-width, none) + 3.13rem * 2);
        margin-left: auto;
        margin-right: auto;
    }

    & .tab-content {
        padding-top: 48px;
    }

    & .tab-panel {
        display: none;
    }

    & .tab-panel.active {
        display: block;
    }

    & .tab-icon {
        width: 26px;
        height: 26px;
        object-fit: contain;
    }

    & svg.tab-icon path:not([fill="none"]) {
        fill: currentColor
    }

    & .tab-button {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        padding: 14px 24px 13px 24px;
        border: none;
        background: transparent;
        font-family: Roboto;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: 1.25;
        color: #9A9DA0;
        border-bottom: 1px solid #E5E5E9;
        transition: color 0.2s ease-in-out;

        &.active {
            padding-bottom: 12px;
            color: #4D758F;
            border-bottom: 2px solid #4D758F;
        }

        &:hover {
            color: #4D758F;
        }

        &:focus-visible {
            outline: 1px dashed #4D758F;
        }
    }

    & .tab-spacer {
        min-height: 100%;
        min-width: 26px;
        border-bottom: 1px solid #E5E5E9;
    }
}

@media (max-width: 653px) {
    .tab-group {
        padding-top: calc(48px - 0.94rem);
        padding-bottom: 48px;

        & .tab-button {
            flex-direction: column;
            gap: 5px;
            padding: 10px 0 9px 0;
            flex-grow: 1;

            &.active {
                padding-bottom: 8px;
            }
        }

        & .tab-spacer {
            min-width: 16px;
        }
        
        & .tab-list {
            padding-left: 16px;
            padding-right: 16px;
        }

        & .tab-content {
            padding-top: 32px;
        }
    }
}