.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
.tippy-box[data-animation=scale][data-placement^=top]{transform-origin:bottom}.tippy-box[data-animation=scale][data-placement^=bottom]{transform-origin:top}.tippy-box[data-animation=scale][data-placement^=left]{transform-origin:right}.tippy-box[data-animation=scale][data-placement^=right]{transform-origin:left}.tippy-box[data-animation=scale][data-state=hidden]{transform:scale(.5);opacity:0}
:root {
    --dlw-content-overview--cell--min-width: 250px;
}

.dlw-content-overview {
    display: block;
    container: content-overview / inline-size;
    padding-block: calc(var(--bg-active) * var(--dlw-spacing-cqi, 0px));

    section,
    .dlw-content-overview__head {
        display: flex;
        gap: var(--dlw-spacing);
    }

    section {
        /* Wrapper */
        flex-direction: column;
    }

    .dlw-content-overview__head {
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    h2 {
        margin: 0;
    }

    .dlw-content-overview__items {
        grid-area: items;
    }

    .dlw-content-overview__cta {
        text-align: center;
    }

    ul {
        list-style: none;
        margin: 0;
        padding: 0;

        /* By default we use an implicit grid with items of at least 250px wide */
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(var(--dlw-content-overview--cell--min-width), 1fr));
        gap: var(--dlw-spacing);
    }

    dlw-content-overview-items {
        display: block;        

        &[no-overflow] [data-dlw-reel-button] {
            display: none;
        }
    }
}
.dlw-content-overview {
    &[layout="5columns"] {
        --columns: 5;
    }

    &[layout="4columns"] {
        --columns: 4;
    }

    &[layout="3columns"] {
        --columns: 3;
    }

    /* In case a layout is forced via the 'layout' attribute, we use an explicit grid */
    @container content-overview (width > 60rem) {
        &[layout] ul {
            grid-template-columns: repeat(var(--columns), 1fr);
        }
    }
}
.dlw-content-overview[layout="scroll"] {
    --spacing: 1rem;

    li {
        width: 250px;
        flex-shrink: 0;
    }

    dlw-content-overview-items {
        display: block;
        position: relative;
        margin: 0;
        padding-block: 0 var(--spacing);

        ul {
            display: flex;
            overflow: auto;
            scroll-snap-type: x mandatory;
            scroll-behavior: smooth;
            overscroll-behavior: contain;
            position: relative;
            padding: var(--spacing); 
            margin: 0 calc(-1 * var(--spacing));          
            scroll-padding-inline-start: 1rem;

            &::-webkit-scrollbar {
                height: 10px;
            }

            &::-webkit-scrollbar-track {
                background: #0000;
                background-clip: padding-box;
                margin: 0 var(--spacing); 
            }

            &::-webkit-scrollbar-thumb {
                background: var(--dlw-color--primary-light--80);
                border-radius: 1e3px;
                border: 3px solid #0000;
            }


            &:hover,
            &:focus-within,
            &:is(:focus-visible) {
                &::-webkit-scrollbar {
                    opacity: 1;
                }

                &::-webkit-scrollbar-thumb {
                    background: var(--dlw-color--primary);
                }
            }

            @supports (-moz-appearance:none) {
                scrollbar-width: thin;
                scrollbar-color: var(--dlw-color--primary-light--20) #0000;
                transition: scrollbar-color .3s ease;

                &:is(:focus-visible, :focus-within) {
                    scrollbar-color: var(--dlw-color--primary) #0000;
                }

                @media (hover) {
                    scrollbar-color: var(--dlw-color--primary) #0000;

                    &:hover {
                        scrollbar-color: var(--dlw-color--primary) #0000;
                    }
                }
            }
        }

        li {
            animation: sliding linear both;
            animation-timeline: view(x);
            scroll-snap-align: start;
        }
    }

    [data-dlw-reel-button] {
        --size: 48px;

        background: var(--dlw-color--primary);
        color: #fff;
        position: absolute;
        top: calc(50% - var(--size) / 2);
        inset-inline: calc(-1.5 * var(--spacing)) auto;
        border-radius: var(--dlw-border-radius);
        height: var(--size);
        width: var(--size);
        box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
        border: none;
        cursor: pointer;
        transition: transform 0.2s ease, opacity 0.2s ease;
        z-index: 10;
        user-select: none;

        &:active {
            transform: scale(0.90);
        }

        &[disabled] {
            opacity: 0.3;
        }
    }

    [data-dlw-reel-button="next"] {
        inset-inline: auto calc(-1.5 * var(--spacing));
    }
}

@keyframes sliding {
    entry 0% {
        opacity: 0;
        transform: scale(0.95);
    }
    entry 80%,
    exit 20% {
        opacity: 1;
        transform: scale(1);
    }

    exit 100% {
        opacity: 0;
        transform: scale(0.95);
    }
}

.dlw-content-overview[layout="stack"] {
    position: relative;

    
    .dlw-content-overview__cta {
        display: none;
    }

    section {
        display: flex;
        flex-direction: column;
        width: 100%;
        align-items: stretch;
    }

    ul li {        
        position: sticky;
        top: 150px;
    }

    ul {
        display: flex;
        flex-direction: column;
    }

    li {
        max-width: 500px;
        animation: tilt linear both;
        animation-timeline: view(y);
        animation-range: contain 0% contain calc(100% - var(--index) * 1%);
        filter: drop-shadow(0 0 5px rgb(0 0 0 / 0.1));
        transform-origin: top center;
    }

    li:nth-child(odd) {
        --direction: 1;
    }

    li:nth-child(even) {
        --direction: -1;
    }

    li:nth-child(1n) {
        --index: 1;
    }

    li:nth-child(2n) {
        --index: 2;
    }

    li:nth-child(3n) {
        --index: 3;
    }

    li:nth-child(4n) {
        --index: 4;
    }

    li:nth-child(5n) {
        --index: 5;
    }

    @container content-overview (width >= 60rem) {
        .dlw-content-overview__head {       
            padding: 3rem; 
            position: sticky;
            top: 150px;
        }

        section {
            display: grid;
            grid-template-areas:
                "head items"
                "head items";
            grid-template-columns: repeat(2, 1fr);
            align-items: center;
            grid-template-rows: auto 1fr;
        }
    }
}

@keyframes tilt {
    from { 
        transform: rotate(0deg);         
    }
    to { 
        transform: rotate(calc(var(--direction) * var(--index) * 0.5deg)) scale(0.9);
    }
}
