@font-face
{
    font-display: swap;
    font-family: 'KS Roboto';
    font-weight: 100 900;
    src: url('fonts/roboto-latin.woff2') format('woff2');
}

:root
{
    --rz-text-font-family: 'KS Roboto', Roboto, sans-serif;
}

body
{
    text-rendering: auto;
}

body:has(.ks-mobile-action-bar) #cookie-consent-banner
{
    bottom: 73px !important;
}

body:has(.ks-mobile-nav) #cookie-consent-banner
{
    bottom: 61px !important;
}

body:has(.ks-mobile-deal) #cookie-consent-banner
{
    bottom: 105px !important;
}

.ks-desktop-head
{
    position: sticky;
    top: 0;
    z-index: 10;
}

.ks-desktop-nav
{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 1fr;
    opacity: 1;
    transition: grid-template-rows 200ms ease, opacity 150ms ease, visibility 200ms;
    visibility: visible;
}

.ks-desktop-nav > *
{
    min-height: 0;
    overflow: hidden;
    width: 100%;
}

.ks-desktop-collapsed .ks-desktop-nav
{
    grid-template-rows: 0fr;
    opacity: 0;
    visibility: hidden;
}

@media (min-width: 865px)
{
    .ks-filter-sticky
    {
        align-self: flex-start;
        max-height: calc(100vh - var(--ks-head-height, 113px) - 32px);
        overflow-y: auto;
        position: sticky;
        scrollbar-width: thin;
        top: calc(var(--ks-head-height, 113px) + 16px);
        transition: max-height 200ms ease, top 200ms ease;
    }
}

@media (prefers-reduced-motion: reduce)
{
    .ks-desktop-nav,
    .ks-filter-sticky
    {
        transition: none;
    }
}

.ks-mobile-full,
.ks-mobile-compact
{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    transition: grid-template-rows 200ms ease, opacity 150ms ease, visibility 200ms;
}

.ks-mobile-full > *,
.ks-mobile-compact > *
{
    min-height: 0;
    overflow: hidden;
    width: 100%;
}

.ks-mobile-full,
.ks-mobile-collapsed .ks-mobile-compact
{
    grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
}

.ks-mobile-compact,
.ks-mobile-collapsed .ks-mobile-full
{
    grid-template-rows: 0fr;
    opacity: 0;
    visibility: hidden;
}

@media (prefers-reduced-motion: reduce)
{
    .ks-mobile-full,
    .ks-mobile-compact
    {
        transition: none;
    }
}

.ks-mobile-scroll
{
    scrollbar-width: none;
}

.ks-text-15
{
    font-size: 15px;
}

.ks-text-18
{
    font-size: 18px;
}

h1:focus
{
    outline: none;
}

.kfw-input::placeholder
{
    color: #757575;
}

.ks-title-18 h2
{
    font-size: 18px;
}

.ks-title-36 h2
{
    font-size: 36px;
}

.ks-dropdown-compact .rz-dropdown-label
{
    padding: 0;
}

.ks-dropdown-compact .rz-dropdown-trigger
{
    width: 20px;
}

.ks-level-missing
{
    background: repeating-linear-gradient(135deg, var(--kfw-c-gray-lightest, #F3F4F6), var(--kfw-c-gray-lightest, #F3F4F6) 3px, var(--kfw-c-white, #FFFFFF) 3px, var(--kfw-c-white, #FFFFFF) 6px);
}

.ks-level-swatch
{
    background: repeating-linear-gradient(135deg, var(--kfw-c-gray-light, #E5E7EB), var(--kfw-c-gray-light, #E5E7EB) 2px, var(--kfw-c-white, #FFFFFF) 2px, var(--kfw-c-white, #FFFFFF) 4px);
    border: 1px solid var(--kfw-c-gray-light, #E5E7EB);
}

.ks-checkbox .rz-chkbox
{
    height: 13px;
    margin-top: 2px;
    min-width: 13px;
    width: 13px;
}

.ks-checkbox .rz-chkbox-box
{
    background: var(--kfw-c-white, #FFFFFF);
    border: 1px solid #767676;
    border-radius: 2px;
    box-sizing: border-box;
    height: 13px;
    width: 13px;
}

.ks-checkbox-filter .rz-chkbox
{
    height: 13px;
    margin: 3px 3px 3px 4px;
    min-width: 13px;
    width: 13px;
}

.ks-checkbox-filter .rz-label
{
    display: block;
    line-height: normal;
    margin: -1.5px 0 0;
}

.ks-checkbox-filter .rz-chkbox-box
{
    background: var(--kfw-c-white, #FFFFFF);
    border: 1px solid #767676;
    border-radius: 2px;
    box-sizing: border-box;
    height: 13px;
    width: 13px;
}

.ks-checkbox-filter .rz-chkbox-box.rz-state-active
{
    background: var(--kfw-c-teal-dark, #0F766E);
    border-color: var(--kfw-c-teal-dark, #0F766E);
}

.ks-checkbox-filter .rz-chkbox-icon
{
    color: var(--kfw-c-white, #FFFFFF);
    font-size: 11px;
}

.kfw-switch.ks-switch .rz-switch
{
    height: 24px;
    min-width: 44px;
    width: 44px;
}

    .kfw-switch.ks-switch .rz-switch .rz-switch-circle
    {
        background: var(--kfw-c-stone-light, #9CA3AF);
    }

    .kfw-switch.ks-switch .rz-switch.rz-switch-checked .rz-switch-circle
    {
        background: var(--kfw-c-teal-dark, #0F766E);
    }

    .kfw-switch.ks-switch .rz-switch .rz-switch-circle::before
    {
        box-shadow: none;
        height: 18px;
        inset-inline-start: 3px;
        margin-block-start: -9px;
        width: 18px;
    }

    .kfw-switch.ks-switch .rz-switch.rz-switch-checked .rz-switch-circle::before
    {
        transform: translateX(20px);
    }
