/* Ortak & Soft Efektler */
html, body {
    cursor: none;
    scroll-behavior: smooth;
}

@media (max-width: 768px) {
    html, body { cursor: auto !important; } /* Mobilde özel imleci iptal et, normal dokunmatige geç */
}

/* Scroll İlerleme */
#scroll-progress { transition: width 0.1s ease; }

/* Özel İmleç */
.custom-cursor-dot {
    position: fixed;
    top: 0; left: 0;
    width: 10px; height: 10px;
    background-color: #4F46E5;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none !important;
    z-index: 9999;
    transition: width 0.2s, height 0.2s, background-color 0.2s;
}
.custom-cursor-outline {
    position: fixed;
    top: 0; left: 0;
    width: 38px; height: 38px;
    border: 2px solid rgba(6, 182, 212, 0.6);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none !important;
    z-index: 9998;
    transition: width 0.2s, height 0.2s, border-color 0.2s;
}
body.hover-link .custom-cursor-dot { width: 14px; height: 14px; background-color: #EC4899; }
body.hover-link .custom-cursor-outline { width: 52px; height: 52px; border-color: rgba(236, 72, 153, 0.6); }

/* Glassmorphism */
.glass-nav { background: rgba(255, 255, 255, 0.88); backdrop-filter: blur(16px); }
.glass-nav-dark { background: rgba(11, 17, 32, 0.88); backdrop-filter: blur(16px); }
.glass-panel { background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(20px); }
.glass-panel-dark { background: rgba(30, 41, 59, 0.92); backdrop-filter: blur(20px); }

.soft-btn { transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); }
.soft-btn:active { transform: translateY(2px) scale(0.98); }

/* Animasyonlar */
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-12px); }
}
.floating { animation: float 6s ease-in-out infinite; }

@keyframes waPulse {
    0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7); }
    70% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); }
    100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
.wa-pulse { animation: waPulse 2s infinite; }

/* Kurşun Geçirmez CSS Fade-In */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in { animation: fadeIn 0.25s ease-out forwards; }

/* 3D Flip Kart Sınıfları */
.perspective-1000 { perspective: 1000px; }
.transform-style-3d { transform-style: preserve-3d; }
.backface-hidden { backface-visibility: hidden; }
.rotate-y-180 { transform: rotateY(180deg); }

/* Scrollbar (Neon Görünüm) */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0B1120; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #4F46E5, #06B6D4, #EC4899); border-radius: 6px; }
.light ::-webkit-scrollbar-track { background: #f1f5f9; }
.light ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #4F46E5, #06B6D4, #EC4899); }

/* Select Menü Ok Konumu Reset */
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg fill='%234F46E5' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.25rem;
}