
:root {
    --gap: 12px;
    --radius: 14px;
    --speed: 480ms;
}

/*body {
    font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    margin: 0;
    padding: 14px;
    background: #0b1020;
    color: #e7e9ee;
}*/

h1 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 10px;
}

.wrap {
    max-width: 2900px;
    margin: 0 auto;
}


.carousel {
    position: relative;
}


.viewport {
    overflow: hidden;
    border-radius: var(--radius);
}

.track {
    display: flex;
    gap: var(--gap);
    padding: 0;
    margin: 0;
    list-style: none;
    will-change: transform;
    transition: transform var(--speed) ease;
}

.slide {
    flex: 0 0 calc((100% - (var(--gap) * 3)) / 4);
}


.card {
    position: relative;
    aspect-ratio: 4/3;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: 0 6px 30px rgba(0,0,0,.35);
    background: #141a35;
}

    .card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .card .badge {
        position: absolute;
        left: 10px;
        top: 10px;
        background: rgba(0,0,0,.55);
        color: #fff;
        padding: 4px 8px;
        font-size: 12px;
        border-radius: 999px;
        backdrop-filter: blur(4px);
    }


.controls {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0 0;
}

.btn {
    border: none;
    padding: 10px 14px;
    border-radius: 10px;
    cursor: pointer;
    background: #1b2246;
    color: #e7e9ee;
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(0,0,0,.25);
}

    .btn:hover {
        filter: brightness(1.1);
    }

.muted {
    opacity: .7;
    font-size: 12px;
}


/* Responsivitet */
@media (max-width: 1024px) {
    .slide {
        flex-basis: calc((100% - (var(--gap) * 2)) / 3);
    }
}

@media (max-width: 760px) {
    .slide {
        flex-basis: calc((100% - var(--gap)) / 2);
    }
}

@media (max-width: 480px) {
    .slide {
        flex-basis: 100%;
    }
}


