/* Carrossel automático das fotos PNG transparentes dos produtos em promoção
   (faixa azul da home). Marquee contínuo em CSS puro, sem dependência de JS.
   Visual "gelo azulado": chip #eef1f8 (o multiply funde o fundo branco dos
   JPGs nesse tom), sombra azulada suave e anel translúcido — menos contraste
   duro contra o gradiente navy da faixa. */

.fort-promo-slider {
    --fort-promo-item-size: 170px;
    --fort-promo-gap: 24px;
    --fort-promo-duration: 30s;
    --fort-promo-price-h: 52px;
    position: relative;
    width: 100%;
    overflow: hidden;
    /* desvanece nas bordas para sumir suave dentro da faixa azul */
    -webkit-mask-image: linear-gradient(
        to right, transparent 0, #000 6%, #000 94%, transparent 100%);
    mask-image: linear-gradient(
        to right, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.fort-promo-slider__track {
    display: flex;
    align-items: center;
    gap: var(--fort-promo-gap);
    width: max-content;
    animation: fort-promo-marquee var(--fort-promo-duration) linear infinite;
    will-change: transform;
}

/* pausa ao passar o mouse */
.fort-promo-slider:hover .fort-promo-slider__track {
    animation-play-state: paused;
}

.fort-promo-slider__item {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--fort-promo-item-size);
    transition: transform .25s ease;
}

/* chip gelo arredondado: a foto original (JPG) fica dentro, sem recorte */
.fort-promo-slider__media {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: var(--fort-promo-item-size);
    background: #e6ecf8;
    border-radius: 18px;
    padding: 12px;
    box-sizing: border-box;
    box-shadow: 0 10px 24px rgba(8, 12, 40, .25),
                0 0 0 1px rgba(255, 255, 255, .18);
    overflow: hidden;
}

/* logado: chip cresce para caber a linha de preço */
.fort-promo-slider__item--priced .fort-promo-slider__media {
    height: calc(var(--fort-promo-item-size) + var(--fort-promo-price-h));
}

.fort-promo-slider__imgwrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
}

/* marca SOBRE a foto (canto inferior) — gruda no produto, não fica lateral */
.fort-promo-slider__brand {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 4px;
    padding: 2px 4px;
    max-width: 55%;
}

.fort-promo-slider__brand .fort-promo-slider__brand-img,
.fort-promo-slider__brand img {
    display: block;
    max-width: 48px;
    max-height: 16px;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* selo de desconto (só logado) no canto superior do chip */
.fort-promo-slider__badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 3;
    background: #d92d20;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 999px;
    letter-spacing: .02em;
}

/* preço de/por (só logado) */
.fort-promo-slider__price {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 0 auto;
    line-height: 1.25;
    padding-top: 4px;
}

.fort-promo-slider__price-old {
    font-size: 12px;
    color: #7c86a2;
    text-decoration: line-through;
}

.fort-promo-slider__price-final {
    font-size: 17px;
    font-weight: 800;
    color: #1c2a6e;
}

.fort-promo-slider__item:hover {
    transform: translateY(-4px) scale(1.04);
}

.fort-promo-slider__img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    mix-blend-mode: multiply; /* funde o fundo branco do JPG no chip gelo */
}

/* desloca exatamente metade do trilho (lista duplicada) = loop perfeito */
@keyframes fort-promo-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

@media (max-width: 768px) {
    .fort-promo-slider {
        --fort-promo-item-size: 110px;
        --fort-promo-gap: 16px;
        --fort-promo-price-h: 44px;
    }

    .fort-promo-slider__price-old {
        font-size: 10px;
    }

    .fort-promo-slider__price-final {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fort-promo-slider__track {
        animation: none;
        flex-wrap: wrap;
        justify-content: center;
    }
}
