@import url("variable.css");

#category {
    padding: 2rem 1rem;
    padding-top: 1rem;
    border-bottom: 1px solid var(--gray-color);

    display: flex;
    gap: 1rem;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

#category::-webkit-scrollbar {
    display: none;
}

#category {
    scrollbar-width: none;
}

.carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.carousel-track {
    display: flex;
    align-items: stretch;
    will-change: transform;
}

.carousel-item {
    flex: 0 0 100%;
    max-width: 100%;
    position: relative;
    overflow: hidden;

    aspect-ratio: 16 / 9;
}

.carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    user-select: none;
    pointer-events: none;
}

.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    border: none;
    padding: 8px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-item img {
    pointer-events: auto;
}

.carousel-btn {
    width: 40px;
    height: 40px;
}

.prev {
    left: 8px;
}
.next {
    right: 8px;
}

.carousel-indicators {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    height: 6px;
    overflow: hidden;
    z-index: 9;
}

.indicator {
    flex: 1;
    background: var(--opacity-color);
    transition: background 0.25s ease;
}

.indicator.active {
    background: var(--secondary-color);
}

.carousel-track.animating {
    transition: transform 0.36s cubic-bezier(0.22, 0.9, 0.32, 1);
}

.none-underline:hover {
    text-decoration: none;
}

.editor-track-wrapper {
    overflow: hidden;
    width: 100%;
    position: relative;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.editor-track-wrapper::-webkit-scrollbar {
    display: none;
}

.editor-track-wrapper img {
    width: 100%;
}

.editor-track,
.hot-track {
    display: flex;
    gap: 1rem;
    transition: transform 0.3s ease;
}

.editor-item,
.hot-item {
    min-width: calc(100% / 3 - 1rem);
    box-sizing: border-box;
}

.hot-track-wrapper {
    overflow: hidden;
    width: 100%;
    position: relative;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.hot-track-wrapper::-webkit-scrollbar {
    display: none;
}

.hot-track-wrapper img {
    width: 100%;
}

.hot-controls {
    margin-top: var(--spacing-md);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.hot-controls button {
    background: transparent;
    color: var(--secondary-color);
    border: none;
    padding: 0.5rem;
    border-radius: var(--radius);
    cursor: pointer;
}

.hot-controls button:disabled {
    opacity: 0.4;
    cursor: default;
}

.editor-item img {
    max-width: 20rem;
}

.editor-controls {
    margin-top: var(--spacing-md);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.editor-controls button {
    background: transparent;
    color: var(--secondary-color);
    border: none;
    padding: 0.5rem;
    border-radius: var(--radius);
    cursor: pointer;
}

.editor-controls button:disabled {
    opacity: 0.4;
    cursor: default;
}

#wallpaper-section,
#global-benefit,
.landing-product {
    max-width: 60rem;
    margin: 0 auto;
}

.wallpaper-track-wrapper {
    overflow: hidden;
    width: 100%;
    position: relative;
}

.wallpaper-track {
    display: flex;
    transition: transform 0.3s ease;
}

.wallpaper-item {
    min-width: calc(100% / 3);
    padding-right: var(--spacing-md);
}

.wallpaper-item picture img {
    width: 100%;
    max-width: 30rem;
    height: auto;
}

.wallpaper-track-wrapper::-webkit-scrollbar {
    display: none;
}
.wallpaper-track-wrapper {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.wallpaper-controls {
    margin-top: var(--spacing-md);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.wallpaper-controls button {
    background: transparent;
    color: var(--secondary-color);
    border: none;
    cursor: pointer;
}

.wallpaper-controls button:disabled {
    opacity: 0.4;
}

.category-selection {
    padding: 0.7rem 1rem;
    background-color: var(--light-gray-color);
    scroll-snap-align: start;
}

@media screen and (max-width: 768px) {
    .carousel-item {
        aspect-ratio: 1 / 1.2;
    }

    .landing-product {
        padding: 0;
    }

    .landing-product h1 {
        padding: 0 2rem;
    }

    .editor-item {
        min-width: 70%;
        padding-right: var(--spacing-md);
        scroll-snap-align: center;
    }

    .editor-controls {
        display: none;
    }

    .editor-track-wrapper {
        position: relative;
        scroll-behavior: smooth;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .editor-track {
        display: flex;
        gap: var(--spacing-md);
        transition: none;
    }

    .wallpaper-item {
        min-width: 80%;
        scroll-snap-align: center;
    }

    .wallpaper-track-wrapper {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .wallpaper-track {
        gap: var(--spacing-md);
        transition: none;
    }

    .wallpaper-controls {
        display: none;
    }

    .mobile-padding-wrapper {
        padding: var(--spacing-md);
    }

    .hot-item {
        min-width: 70%;
        padding-right: var(--spacing-md);
        scroll-snap-align: center;
    }

    .hot-track-wrapper {
        position: relative;
        scroll-behavior: smooth;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .hot-track-wrapper img {
        max-width: 20rem;
    }

    .hot-track {
        display: flex;
        gap: var(--spacing-md);
        transition: none;
    }

    .hot-controls {
        display: none;
    }
}
