/* Ortak: şerit, header animasyonu, çekmece, reveal */
@keyframes marquee-x {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-50%, 0, 0); }
}
.marquee-track {
    display: flex;
    width: max-content;
    --marquee-duration: 38s;
    animation: marquee-x var(--marquee-duration) linear infinite;
    animation-delay: calc(var(--marquee-duration) / -2);
    will-change: transform;
    backface-visibility: hidden;
}
.marquee-track:hover { animation-play-state: paused; }

@keyframes bar-drop {
    from { transform: translateY(-100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
.anim-bar-in { animation: bar-drop 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards; }

@keyframes nav-in {
    from { transform: translateY(-120%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
.anim-nav-in {
    animation: nav-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.08s forwards;
    opacity: 0;
}

/* Masaüstü: geniş, sade menü (segment / kapsül yok — düz metin + alt çizgi) */
.desktop-nav {
    min-width: 0;
}
.desktop-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.625rem 0.35rem;
    font-size: 1.0625rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.3;
    color: rgb(71 85 105);
    text-decoration: none;
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    transition: color 0.15s ease, border-color 0.15s ease;
    white-space: nowrap;
}
.desktop-nav-link:hover {
    color: rgb(15 23 42);
}
.desktop-nav-link.is-active {
    color: rgb(21 128 61);
    font-weight: 600;
    border-bottom-color: rgb(34 197 94);
}
button.desktop-nav-link {
    -webkit-appearance: none;
    appearance: none;
}
.desktop-nav-link svg {
    width: 1.125rem;
    height: 1.125rem;
}

/* Mobil çekmece: aktif sayfa */
.mobile-drawer-link.is-active {
    border-color: rgb(187 247 208 / 0.95) !important;
    background: linear-gradient(90deg, rgb(220 252 231 / 0.65), rgb(248 250 252 / 0.98)) !important;
    box-shadow: inset 3px 0 0 0 rgb(34 197 94);
}
.mobile-drawer-link.is-active .flex-1 {
    color: rgb(21 128 61);
}

.js-reveal {
    opacity: 0;
    transform: translateY(2rem);
    transition: opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1), transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}
.js-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.06s; }
.reveal-delay-2 { transition-delay: 0.12s; }
.reveal-delay-3 { transition-delay: 0.18s; }

@keyframes float-wa {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}
.anim-float-wa { animation: float-wa 2.8s ease-in-out infinite; }

#mobileDrawer {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.32s ease;
}
#mobileDrawer.is-open {
    opacity: 1;
    pointer-events: auto;
}
#mobileDrawer .mobile-drawer-panel {
    transform: translateX(-105%);
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}
#mobileDrawer.is-open .mobile-drawer-panel {
    transform: translateX(0);
}
#mobileDrawer .mobile-drawer-backdrop {
    opacity: 0;
    transition: opacity 0.32s ease;
}
#mobileDrawer.is-open .mobile-drawer-backdrop {
    opacity: 1;
}

/* Mobil çekmece: öne çıkan bağışlar yatay kaydırma */
.drawer-donations-scroll {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}
.drawer-donations-scroll::-webkit-scrollbar {
    display: none;
}
.drawer-donation-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.drawer-donation-card:active {
    transform: scale(0.98);
}

/* Projeler: kategori şeridi — tek satır, sağa kaydırma */
/* Mobilde dikey sayfa kaydırmayı korumak: snap kapalı (HTML'de md:), touch iki yönlü; x-contain sadece md+ */
.projeler-kategori-scroll {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    overscroll-behavior-y: auto;
}
@media (min-width: 768px) {
    .projeler-kategori-scroll {
        overscroll-behavior-x: contain;
    }
}
.projeler-kategori-scroll::-webkit-scrollbar {
    display: none;
}

/* Footer */
.site-footer a:focus-visible {
    outline: 2px solid rgb(34 197 94);
    outline-offset: 2px;
    border-radius: 2px;
}
.site-footer a {
    text-underline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .anim-nav-in {
        opacity: 1 !important;
        transform: none !important;
    }
    .desktop-nav-link.is-active {
        border-bottom-color: rgb(34 197 94);
    }
    .anim-bar-in,
    .anim-nav-in,
    .anim-float-wa,
    #mobileDrawer .mobile-drawer-panel,
    #mobileDrawer .mobile-drawer-backdrop {
        animation: none !important;
        transition: none !important;
    }
    #mobileDrawer.is-open .mobile-drawer-panel { transform: none !important; }
    .js-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
