/* --- ESTILOS GERAIS --- */
body {
    font-family: 'Inter', sans-serif;
}
html.modal-open,
body.modal-open {
    overflow: hidden;
}
#detail-content-container {
    overscroll-behavior: contain;
}

/* --- ANIMAÇÕES DE SCROLL --- */
.fade-in-section {
    opacity: 0;
    /* transform: translateY(20px); // Removido para corrigir o posicionamento do modal */
    transition: opacity 0.6s ease-out /* , transform 0.6s ease-out */; /* Transição de transform removida */
}
.fade-in-section.is-visible {
    opacity: 1;
    /* transform: translateY(0); // Removido */
}

/* --- ESTILOS DA BARRA DE NAVEGAÇÃO --- */
#main-nav.scrolled {
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(5px);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}
/* Estilos para o menu mobile */
#mobile-menu {
    transition: max-height 0.3s ease-out;
    max-height: 0;
    overflow: hidden;
}
#mobile-menu.open {
    max-height: 500px; /* Altura suficiente para os links */
}


/* --- ESTILOS PARA VÍDEOS --- */
.aspect-video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
}
.aspect-video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* --- ESTILOS PARA O GOOGLE TRANSLATE WIDGET --- */
body { top: 0 !important; }
.goog-te-banner-frame { display: none !important; }

#google_translate_element {
    position: fixed !important;
    bottom: 20px !important;
    right: 20px !important;
    z-index: 100 !important;
    width: auto !important;
    height: 48px !important;
    border-radius: 24px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
    background-color: #D17D75 !important;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: scale(0.95);
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}
#google_translate_element.loaded {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}
#google_translate_element:hover {
    transform: scale(1.05);
}
#google_translate_element .goog-te-gadget-simple {
    background-color: transparent !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}
#google_translate_element .goog-te-gadget-simple a {
     display: flex !important;
     align-items: center !important;
     gap: 8px !important;
     color: white !important;
}
#google_translate_element .goog-te-gadget-icon {
    background-image: url(https://www.gstatic.com/images/icons/material/product/2x/translate_24dp.png) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 20px !important;
}
#google_translate_element .goog-te-menu-value span {
    color: white !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
}
#google_translate_element .goog-te-menu-value span:last-child {
    display: none !important; 
}

/* --- ANIMAÇÃO E ESTILOS DOS PROJETOS --- */
#projects-grid {
    display: grid; 
    align-items: stretch; 
}

.project-card {
    display: flex; 
    flex-direction: column; 
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out, box-shadow 0.3s ease-in-out;
}
/* Aplica flex-grow apenas ao container do conteúdo de texto do summary */
.project-card > a > .p-6, /* Para links externos */
.project-card > div > .p-6 { /* Para modal trigger */
    flex-grow: 1; 
    display: flex;
    flex-direction: column;
}
.project-card > a > .p-6 > p, /* Para links externos */
.project-card > div > .p-6 > p { /* Para modal trigger */
     flex-grow: 1; 
}


.project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}
/* Estilos para o modal (restaurados) */
#project-detail-view {
    transition: opacity 0.5s ease-in-out;
}
.project-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain; 
}


/* --- ESTILOS DO CARROSSEL --- */
.swiper-button-next, .swiper-button-prev {
    color: #D17D75;
}
.swiper-pagination-bullet-active {
    background: #D17D75;
}
.full-width-carousel .swiper-slide img {
    display: block;
    width: 100%;
    height: 40vh; /* Altura padrão para mobile */
    object-fit: cover; 
}

@media (min-width: 768px) { /* md breakpoint do Tailwind */
    .full-width-carousel .swiper-slide img {
        height: 50vh; /* Altura maior para desktop */
    }
}

/* --- ESTILOS DA SEÇÃO DE RECONHECIMENTO --- */
.recognition-carousel {
    position: relative; 
}
.carousel-recognition-image {
    display: block;
    width: 100%;
    height: 250px; /* Altura consistente para os slides */
    object-fit: cover; /* Garante uniformidade, cortando se necessário */
}