/* --- CARROSSEL COM PORTFÓLIO DA HOME --- */
.wrapper-carrossel-home {
    position: relative;
    width: 100%;
    margin: 40px 0;
    display: flex;
    align-items: center;
}

.track-mask {
    width: 100%;
    overflow: visible;
}

.track-carrossel {
    display: flex;
    gap: 30px;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}


.card-projeto-home {
    min-width: 100%;
    max-width: 100%;
    opacity: 1;
    filter: blur(0px);
}

.card-projeto-home.active {
    opacity: 1 !important;
    filter: blur(0) !important;
}

.card-projeto-home img {
    width: 100%;
    height: auto;
    border: 6px solid var(--black-color);
    background: var(--white-color);
    display: block;
    transition: 0s;
}

.card-projeto-home h3 {
    margin-top: 30px;
    font-family: 'Zalando Sans Expanded', sans-serif;
    color: var(--white-color);
    text-align: left;
}

/* Setas */
.nav-home {
    position: absolute;
    z-index: 100;
    top: 0;
    /* NOVO: Gruda no topo */
    bottom: 0;
    /* NOVO: Gruda no fundo */
    margin: auto;
    /* NOVO: Centraliza sem usar transform(-50%)! */
    background: var(--light-purple-color);
    border: 6px solid var(--black-color);
    width: 55px;
    height: 70px;
    padding: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--small-box-shadow);
}

.nav-home:hover {
    background: var(--red-color);
}

.nav-home.prev {
    left: -47px;
}

.nav-home.next {
    right: -47px;
}

.home-section-carrossel {
    overflow-x: hidden;
    position: relative;
}

.track-mask {
    width: 100%;
    overflow: visible;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}

.track-mask:active {
    cursor: grabbing;
}

/* Força o navegador a não criar aquele 'ghost image' */
.track-carrossel img,
.track-carrossel a {
    -webkit-user-drag: none;
    pointer-events: auto;
}

/* Quando estiver arrastando, força o cursor grabbing em TUDO dentro da máscara */
.track-mask.is-dragging,
.track-mask.is-dragging * {
    cursor: grabbing !important;
}

/* Cursor padrão da área */
.track-mask {
    cursor: grab;
}

/* O link continua com pointer, mas só quando NÃO estivermos arrastando */
.card-projeto-home a {
    cursor: pointer;
}

/* Quando estiver arrastando, força o cursor grabbing em TUDO dentro da máscara */
.track-mask.is-dragging,
.track-mask.is-dragging * {
    cursor: grabbing !important;
}

/* Classe disparada pelo JS para destacar a seta ao passar o mouse nos cards laterais */
.nav-home.highlight-red {
    background-color: var(--red-color) !important;
}

/* Cursor pointer apenas nos links e nos cards inativos */
.card-projeto-home {
    cursor: pointer;
}

.carrossel-left-arrow {
    fill: var(--white-color);
}

/* Faz a imagem preta da seta virar #dad3cd */
.nav-home img {
    filter: invert(96%) sepia(5%) saturate(225%) hue-rotate(323deg) brightness(91%) contrast(89%);
}

/* Quando a seta estiver desativada (limites do carrossel) */
.nav-home.disabled {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

/* Seta: Hover nativo e via JS ficam idênticos ao Portfólio */
.nav-home:hover,
.nav-home.force-hover,
.nav-carrossel.force-hover {
    background: var(--red-color) !important;
    box-shadow: var(--small-box-shadow-hover) !important;
    transform: var(--small-hover);
}

/* ...e aplica o mesmo hover do portfólio no miolo de dentro! */
.card-projeto-home.force-hover .card-content {
    transform: var(--small-hover);
    box-shadow: var(--small-box-shadow-hover);
    border: 6px solid var(--red-color);
}







/* --- PÁGINA PORTFÓLIO (FRONT-END E DESIGN) --- */
.grid-portfolio {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 30px 0;
    width: 100%;
}

.filtros-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

button.btn-filtro {
    background: #0000 !important;
    padding: 16px 26px;
    border-bottom: 6px solid rgb(218 211 205 / 10%);
    border-top: 0;
    border-left: 0;
    border-right: 0;
    box-shadow: 0 0 0 !important;
}

button.btn-filtro.active {
    border-bottom: 6px solid var(--red-color);
    transform: translate(0, -5px);
}

button.btn-filtro:hover {
    transform: translate(0, -5px);
    color: var(--red-color);
}

.card-content {
    display: flex;
    flex-direction: column;
    border: 6px solid var(--black-color);
    background: var(--dark-purple-color);
    box-shadow: var(--small-box-shadow);
    transition: transform 0s ease;
}

.card-content:hover {
    transform: var(--small-hover);
    box-shadow: var(--small-box-shadow-hover);
    border: 6px solid var(--red-color);
}

.thumb-wrapper {
    width: 100%;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden;
    padding: 0;
    background-color: var(--white-color);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.thumb-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border: 0;
    flex-shrink: 0;
    box-sizing: border-box;
}

.card-text {
    padding: 30px;
    background: var(--white-color);
}

.card-text h3 {
    margin: 0;
    font-size: var(--h3-font-size);
    color: var(--black-color);
    text-transform: none;
}















/* ========== RESPONSIVO - TABLET 768+ ==========*/

@media screen and (min-width:768px) {

    /* --- CARROSSEL COM PORTFÓLIO DA HOME --- */
    .card-projeto-home {
        min-width: calc((100% - 40px) / 2);
        max-width: calc((100% - 40px) / 2);
    }

    .grid-portfolio {
        grid-template-columns: repeat(2, 1fr);
    }

    .wrapper-carrossel-home {
        margin: 40px 0;
    }

    .card-content {
        box-shadow: var(--medium-box-shadow);
    }

    .card-content:hover {
        transform: var(--medium-hover);
        box-shadow: var(--medium-box-shadow-hover);
    }

    .card-projeto-home {
        opacity: 0.3;
        filter: blur(6px);
        transition: opacity 0.3s ease, filter 0.3s ease;
    }
}















/* ========== RESPONSIVO - LAPTOP 1024+ ==========*/

@media screen and (min-width:1024px) {
    .thumb-wrapper {
        padding: 20px 20px 0;
    }

    .thumb-wrapper img {
        border: 6px solid var(--black-color);
    }

    .nav-home.prev {
        left: -60px;
    }

    .nav-home.next {
        right: -60px;
    }

    .wrapper-carrossel-home {
        margin: 60px 0 80px;
    }

    .card-content {
        box-shadow: var(--large-box-shadow);
    }

    .card-content:hover {
        transform: var(--large-hover);
        box-shadow: var(--large-box-shadow-hover);
    }

}














/* ========== RESPONSIVO - DESKTOP 1440+ ==========*/

@media screen and (min-width:1440px) {}