/* Temel Ayarlar */
html {
    scroll-behavior: auto !important;
}
body {
    font-family: 'Poppins', sans-serif;
    animation: fadeIn 1s ease-out;
}
body.menu-open {
    overflow: hidden;
}
.font-playfair { font-family: 'Playfair Display', serif; }

/* Animasyonlar */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Galeri Filtreleme Animasyonu */
@keyframes fadeInFilter {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.fade-in {
    animation: fadeInFilter 0.5s ease-out forwards;
}

@keyframes slideInUp {
    0% { transform: translateY(50px); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
}
.slide-in-active {
    animation: slideInUp 0.8s ease-out forwards;
}
.initially-hidden { opacity: 0; }

/* Floating İkon Animasyonları */
@keyframes pulse-shine {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); }
    50% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}
@keyframes shine {
    0% { left: -100%; }
    100% { left: 100%; }
}
.pulse-animation { animation: pulse-shine 2s infinite; }
.shine-effect { position: relative; overflow: hidden; }
.shine-effect::after {
    content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-25deg); animation: shine 3s infinite;
}

/* Header & Nav */
.nav-link { position: relative; transition: color 0.3s; }
.nav-link::after { content: ''; position: absolute; width: 0; height: 2px; bottom: -5px; left: 50%; transform: translateX(-50%); background-color: #a38b6a; transition: width 0.3s; }
.nav-link:hover::after, .nav-link.active::after { width: 100%; }
#mobile-menu { max-height: 0; overflow: hidden; transition: max-height 0.5s ease-in-out; }
#mobile-menu.open { max-height: 100vh; }

/* Project Cards */
.project-card { transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out; }
.project-card:hover { transform: translateY(-8px); box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); }

/* Gallery Specific */
.gallery-item { transition: all 0.3s ease-in-out; }
.gallery-item.hidden { display: none !important; } /* Kesin gizleme için */
#lightbox { transition: opacity 0.3s ease-in-out; }
#lightbox.hidden { opacity: 0; pointer-events: none; }
#lightbox-img { animation: zoomIn 0.3s ease-out; transition: transform 0.3s ease-in-out; }
@keyframes zoomIn { from { transform: scale(0.8); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* Galeri Filtre Butonları */
.filter-btn {
    transition: all 0.3s ease;
}
.filter-btn:hover:not(.active) {
    background-color: #e5e7eb !important; /* Tailwind gray-200 */
    color: #374151 !important; /* Tailwind gray-700 */
}
.filter-btn.active {
    background-color: #292524 !important; /* Tailwind stone-800 */
    color: white !important;
    border-color: #292524 !important;
}