:root{
  --accent:light-dark(rebeccapurple, #4b63db);
    
    --brand: #fb00bd;
    
    --danger:light-dark(red,red);
    --warning:light-dark(#fd7203,orange);
    --info:light-dark(#56adf6, #11a6c1);
    --success:light-dark(#26b050, #26b050);
}

html{
    font-family: 'Montserrat','Segoe UI', sans-serif;
}

.code-sample > *,
.html-code-sample > *,
pre,
code{
    font-family: "JetBrains Mono",Consolas,monospace!important;
}

@media (width > 601px) {
    html {
        scroll-behavior: smooth;
    }
    .mobile-menu{
        display: none;
    }
    a.bk-page-link.active {
        background-color: hsl(from var(--accent) h s l / 0.8);
        color: white;
    }

    .documentation-layout .bk-page-content .bk-page-link-menu-link {
        font-size: 0.8rem;

        svg {
            height: 50px;
            width: 50px;
            margin: 1rem;
        }

        .svg-csharp {
            width: 100px;
            height: 100px;
        }

        .svg-blazor {
            width: 100px;
            height: 100px;
            fill: mediumpurple;
        }

    }

    .bk-page-link-menu:has(.svg-blazor, .svg-csharp) .bk-page-link-menu-link {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        font-size: 3rem;
    }

    .bk-external-login-picker {
        all: unset;
        width: 50svw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .bk-external-login-buttons {
        all: unset;
        width: 50svw;
        align-items: center;
    }

    .bk-login-providers {
        width: 50vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .bk-external-provider {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        font-size: 1.3rem;
        padding: 1rem;
        width: min(30svw, 400px);

        svg {
            height: 3rem;
            width: 3rem;
            fill: var(--fc);
        }

        &:hover {
            filter: brightness(1.2);
        }

    }

    aside.bullet-menu {
        width: 50px;
        background-color: var(--bg-level-1);
    }
}

@media (width < 600px) {
   h2{
       font-size: 1.5rem;
   }
    h3{
        font-size: 1.3rem;
    }
    h4{
        font-size: 1.2rem;
    }
    .sections{
        background-color: transparent!important;
    }
    .only-desktop{
        display: none!important;
    }
    header nav {
        display: none;
    }

    .home-page-layout aside {
        display: none;
    }

    .home-page-layout {
        height: 100%;
        overflow-y: auto;
    }

    .home-page {
        height: 100%;
        overflow-y: auto;
    }
    .bk-page-menu{
        display: none;
    }
}

.mobile-menu{
    nav{
        width: 100%;
    }
    ul{
        width: 100%;
        display: grid;
        grid-template-columns: repeat(auto-fit,minmax(50px,1fr));
        place-items: center;
        li{
            width: 100%;
        }
        li:empty{
            display: none;
        }
    }
    a{
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap:2px;
        padding: 5px;
        svg{
            height: 15px;
        }
        font-size: 8px;
        p{
            font-size: 0.7rem;
        }
    }
}

@media (width < 600px) {
    aside{
        display: none;
    }
    .bk-display-grid{
        padding: 0!important;
    }
    .price-layout{
        .bk-component-area{
           all: unset;
        }
        .bk-display-grid{
            display: flex;
            flex-direction: column;
            gap:1rem;
            overflow-y: auto;
        }
    }
    .bk-component-area:has(.wrapper){
        height: 100%!important;
        overflow-y: auto!important;
    }
}
.bk-page-back{
    width: max-content;
}
.bk-back-button{
    color: var(--accent)!important;
    width: max-content !important;
    padding: 0 1ch;
    svg{
        fill: currentColor;
    }
}
.bk-page-icon{
    width: 50px!important;
    padding:0 1ch;
    
    svg{
        zoom: 2;
    }
}
.bk-page-title{
    p{
        opacity: 0.6;
    }
    
}


.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.text-danger{
    margin: 1rem;
    padding: 1rem;
}

.bk-header-menu-item{
    max-width: 180px;
}
.bk-header-menu-item.bk-dropdown-menu{
    max-width: 250px;
}
.bk-dropdown-list{
    box-shadow: 0 0 1px gray;
}
.bk-dropdown-menu-item{
    background-color: var(--bg);
    color: var(--fc);
}

a.application-logo{
    padding: 0 1rem;
    font-size: 2rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap:1rem;
    text-decoration: none;
    cursor: pointer;
    h1{
        font-size: 1.6rem;
        color: var(--primary-text);
        width: min-content;
        text-wrap: nowrap;
    }
    svg{
        height: 50px;
        width: 50px;
    }
}
a.active{
    color: var(--accent);
}


.cookie-consent-banner{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: black;
    z-index: 100;
    padding: 1.5rem;
    a{
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: underline;
        text-align: center;
        padding: 0.5rem;
        font-size: 1.2rem;
        color: var(--info);
        svg{
            height: 1.5rem;
            width: 1.5rem;
            margin-right: 0.5rem;
        }
    }
    p{
        line-height: 2rem;
        text-align: center;
    }
    
    button{
        display: block;
        margin: 1rem auto;
        padding: 0.5rem 1rem;
        background-color: whitesmoke;
        color: black;
        border: 1px solid var(--accent);
    }
}