/* ==========================================================================
   ESTILOS ULTRA-PREMIUM - SECÇÃO GALERIA (INFINITE CAROUSEL)
   ========================================================================= */
   .galeria {
    background-color: #ffffff; /* Mantido o fundo branco premium */
    padding: 100px 0;
    overflow: hidden;
    position: relative;
}

.galeria-header {
    text-align: center;
    margin-bottom: 50px;
}

/* WRAPPER (Funciona como uma máscara cortando o que transborda da tela) */
.galeria-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 20px 0;
}

/* Adiciona um efeito sombreado suave nas laterais para suavizar a entrada/saída das fotos */
.galeria-wrapper::before,
.galeria-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    width: 100px;
    height: 100%;
    z-index: 5;
    pointer-events: none;
}

.galeria-wrapper::before {
    left: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

.galeria-wrapper::after {
    right: 0;
    background: linear-gradient(to left, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

/* TRACK (A esteira que move as fotos horizontalmente) */
.galeria-track {
    display: flex;
    width: max-content; /* Calcula a largura total baseada no número de fotos */
    gap: 20px;
    
    /* ⚠️ ACIONA O LOOP INFINITO AUTOMÁTICO EM CSS: 30 segundos por ciclo */
    animation: scrollInfinito 30s linear infinite; 
}

/* Pausa suavemente a animação se o utilizador puser o rato em cima para ver melhor */
.galeria-wrapper:hover .galeria-track {
    animation-play-state: paused;
}

/* ELEMENTOS DE IMAGEM INDIVIDUAIS */
.galeria-item {
    width: 320px;
    height: 220px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
    border: 1px solid #eeeeee;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.galeria-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Impede que as fotos fiquem esticadas ou distorcidas */
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Hover individual na foto: ligeiro zoom e contorno em vermelho */
.galeria-item:hover {
    transform: translateY(-5px);
    border-color: #ff1e27;
    box-shadow: 0 12px 25px rgba(255, 30, 39, 0.1);
}

.galeria-item:hover img {
    transform: scale(1.08); /* Efeito zoom premium dentro da moldura */
}

/* ==========================================================================
   CÁLCULO MATEMÁTICO DA ANIMAÇÃO INFINITA
   ========================================================================= */
@keyframes scrollInfinito {
    0% {
        transform: translateX(0);
    }
    100% {
        /* Desloca exatamente metade do track (as 5 primeiras fotos) */
        /* Como a outra metade é idêntica, o corte visual é 100% impercetível */
        transform: translateX(calc(-50% - 10px)); 
    }
}

/* ==========================================================================
   RESPONSIVIDADE (ADAPTAÇÃO MÓVEL)
   ========================================================================= */
@media (max-width: 768px) {
    .galeria {
        padding: 60px 0;
    }
    
    .galeria-item {
        width: 260px; /* Fotos ligeiramente menores em telemóveis */
        height: 180px;
    }
    
    .galeria-wrapper::before,
    .galeria-wrapper::after {
        width: 50px; /* Reduz as sombras laterais em telas compactas */
    }
}
