:root {
    --logo-color: #ff7832;
}

.carrusel-web-container {
    width: 100%;
    margin-top: -15px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    cursor: grab;
    user-select: none;
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 1s cubic-bezier(0.15, 1, 0.3, 1) forwards;
    animation-delay: 0.55s;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: none;
    overscroll-behavior-y: auto;
}

.carrusel-web-container:active {
    cursor: grabbing;
}

.carrusel-web-container::-webkit-scrollbar {
    display: none;
}

.carrusel-web-track {
    display: flex;
    gap: 5px;
    width: max-content;
}

.carrusel-web-item {
    position: relative;
    background-color: rgb(125, 125, 125);
    flex-shrink: 0;
    scroll-snap-align: center;
    border-radius: 10px;
    overflow: hidden;
}

.carrusel-web-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    border-radius: 10px;
}

.carrusel-web-controls {
    display: none;
}










@media (min-width: 1201px) {
    .carrusel-web-container {
        scroll-snap-type: none;
        scroll-behavior: smooth;
        overflow-x: hidden;
        top: -100px;
        touch-action: pan-x pan-y;
    }

    .carrusel-web-track {
        padding-left: calc((100vw - 1200px) / 2 - 10px);
        padding-right: calc((100vw - 1200px) / 2 - 5px);
    }

    .carrusel-web-item.size-small {
        width: 220px;
        height: 390px;
    }

    .carrusel-web-item.size-large {
        width: 690px;
        height: 390px;
    }

    .carrusel-web-item {
        background-color: rgb(125, 125, 125);
        scroll-snap-align: none;
    }

    .carrusel-web-controls {
        display: flex;
        gap: 15px;
        width: 1200px;
        margin: 30px auto 0 auto;
        padding-left: 0;
    }

    .carrusel-btn {
        background: none;
        border: none;
        color: var(--text-color);
        padding: 0;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: color 0.3s ease, opacity 0.3s ease;
    }

    .carrusel-btn:disabled {
        opacity: 0.25;
        cursor: default;
        pointer-events: none;
    }

    .carrusel-btn:not(:disabled):hover {
        color: var(--logo-color);
    }

    html.light-mode .carrusel-btn:not(:disabled):hover {
        color: rgb(245, 110, 45);
    }

    .carrusel-web-item img,
    .carrusel-web-item video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        pointer-events: none;
        border-radius: 10px;
    }
}










@media (max-width: 1200px) {
    .carrusel-web-container {
        margin-top: 0px;
    }

    .carrusel-web-track {
        padding-left: 20px;
        padding-right: 20px;
    }

    .carrusel-web-item.size-large {
        display: none;
    }

    .carrusel-web-item.size-small {
        width: calc(100vw - 40px);
        max-width: 255px;
        height: 450px;
    }

    .carrusel-web-item img,
    .carrusel-web-item video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        display: block;
        border-radius: 10px;
    }
}