/**
 * Clics Modernos
 *
 * Devices promotional banners.
 */

.devices-banners {
    width: 100%;
    margin-bottom: var(--section-spacing-md);
}

.devices-banners__viewport {
    overflow: hidden;
}

.devices-banners__track {
    display: flex;
    transition: transform var(--duration-slow) var(--ease-apple);
    will-change: transform;
}

.devices-banner {
    position: relative;
    display: block;
    flex: 0 0 100%;
    width: 100%;
    overflow: hidden;
    cursor: pointer;
    background-color: var(--color-surface);
    color: inherit;
    isolation: isolate;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity var(--transition-base),
        visibility var(--transition-base);
}

.devices-banner.is-active {
    opacity: 1;
    visibility: visible;
}

.devices-banner__image {
    display: block;
    width: 100%;
    aspect-ratio: 3.2 / 1;
    object-fit: cover;
    object-position: center;
    transition: transform var(--duration-slow) var(--ease-apple);
}

.devices-banner__overlay {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background-color: rgb(0 0 0 / 0%);
    color: #fff;
    opacity: 0;
    transition:
        background-color var(--transition-base),
        opacity var(--transition-base);
}

.devices-banner__label {
    padding: 0.8rem 1.25rem;
    border: 1px solid rgb(255 255 255 / 75%);
    border-radius: var(--radius-full);
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.01em;
    transform: translateY(0.5rem);
    transition: transform var(--transition-base);
}

.devices-banner:hover .devices-banner__image,
.devices-banner:focus-visible .devices-banner__image {
    transform: scale(1.015);
}

.devices-banner:hover .devices-banner__overlay,
.devices-banner:focus-visible .devices-banner__overlay {
    background-color: rgb(0 0 0 / 28%);
    opacity: 1;
}

.devices-banner:hover .devices-banner__label,
.devices-banner:focus-visible .devices-banner__label {
    transform: translateY(0);
}

.devices-banner:focus-visible {
    outline: 3px solid var(--color-ring);
    outline-offset: 3px;
}

@media (max-width: 639px) {
    .devices-banners {
        margin-bottom: var(--section-spacing-sm);
    }

}

@media (prefers-reduced-motion: reduce) {
    .devices-banner__image,
    .devices-banner__overlay,
    .devices-banner__label {
        transition: none;
    }

    .devices-banners__track {
        transition: none;
    }
}