/* Desenvolvido por: DriveWeb | Rodrigo Soares | (c) DriveWeb - Todos os direitos reservados */

.dw-carousel{
    position:relative;
    overflow:hidden;
    line-height:0;
    background:#000;
    border-radius:4px;
}
.dw-carousel__track{
    position:relative;
    width:100%;
}
.dw-carousel__slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .55s ease;
    pointer-events:none;
}
.dw-carousel__slide.is-active{
    opacity:1;
    pointer-events:auto;
    position:relative;
}
.dw-carousel__picture{
    display:block;
    line-height:0;
}
.dw-carousel__img{
    display:block;
    width:100%;
    height:auto;
    object-fit:cover;
}
.dw-carousel__link{
    display:block;
    line-height:0;
}

/* ── Efeito slide (substitui o fade default) ─────────────────────────── */
.dw-carousel--slide .dw-carousel__track{
    display:flex;
    transition:transform .5s cubic-bezier(.4,0,.2,1);
    will-change:transform;
}
.dw-carousel--slide .dw-carousel__slide{
    position:relative;
    inset:auto;
    flex:0 0 100%;
    opacity:1;
    pointer-events:auto;
    transition:none;
}

/* ── Setas ───────────────────────────────────────────────────────────── */
.dw-carousel__nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    color:#0b0b0b;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s,transform .2s;
    z-index:3;
    padding:0;
    line-height:1;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.dw-carousel__nav:hover{
    background:#fff;
}
.dw-carousel__nav:focus-visible{
    outline:2px solid #ffcc00;
    outline-offset:2px;
}
.dw-carousel__nav--prev{left:12px;}
.dw-carousel__nav--next{right:12px;}
.dw-carousel__nav[disabled]{opacity:.35;cursor:not-allowed;}

/* ── Dots ────────────────────────────────────────────────────────────── */
.dw-carousel__dots{
    position:absolute;
    left:0;right:0;bottom:12px;
    display:flex;
    justify-content:center;
    gap:8px;
    z-index:3;
}
.dw-carousel__dot{
    width:9px;height:9px;
    padding:0;border:none;border-radius:50%;
    background:rgba(255,255,255,.5);
    cursor:pointer;
    transition:background .2s,transform .2s;
}
.dw-carousel__dot:hover{background:rgba(255,255,255,.85);}
.dw-carousel__dot.is-active{background:#fff;transform:scale(1.25);}
.dw-carousel__dot:focus-visible{outline:2px solid #ffcc00;outline-offset:2px;}

/* ── Mobile tweaks ───────────────────────────────────────────────────── */
@media (max-width:767px){
    .dw-carousel__nav{
        width:36px;height:36px;
    }
    .dw-carousel__nav--prev{left:6px;}
    .dw-carousel__nav--next{right:6px;}
    .dw-carousel__dots{bottom:8px;gap:6px;}
    .dw-carousel__dot{width:8px;height:8px;}
}

/* ── Reduzir movimento se o utilizador pediu ──────────────────────────── */
@media (prefers-reduced-motion:reduce){
    .dw-carousel__slide,
    .dw-carousel--slide .dw-carousel__track{
        transition-duration:.01ms !important;
    }
}
