/* Ana stil dosyası */

/* ===== Sayfa Geçiş Animasyonu ===== */
.page-transition {
    pointer-events: none;
}
@keyframes cursor-blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0.3; }
}
.page-transition-cursor {
    margin-left: 2px;
    animation: cursor-blink 0.8s ease-in-out infinite;
}
.page-transition.page-transition-visible {
    pointer-events: auto;
}
.page-transition.page-transition-out {
    opacity: 0 !important;
}
.page-transition.page-transition-out .page-transition-text {
    opacity: 0;
}

@font-face {
    font-family: 'Mont';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/Mont-Bold.otf') format('opentype');
}

/* Footer - Görüntüdeki gibi iki bölümlü grid layout */
.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 200px;
}

@media (min-width: 1024px) {
    .footer-grid {
        grid-template-columns: 1fr auto;
        /* Sol ~78%, Sağ ~22% - Pantone referansına uygun */
        grid-template-columns: minmax(0, 4fr) minmax(200px, 1fr);
    }
}

.footer-main {
    min-width: 0; /* Grid overflow fix */
}

.footer-cta {
    min-width: 0;
}

/* Phosphor Icons - font-based, inherit color/size */
.ph, .ph-bold, .ph-thin, .ph-light, .ph-fill, .ph-duotone {
    font-style: normal;
    display: inline-block;
    line-height: 1;
}

/* ===== İletişim Formu Animasyonları ===== */

/* Sayfa/form yüklenirken fade-in + slide-up */
@keyframes fadeSlideUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.contact-page-animate {
    animation: fadeSlideUp 0.6s ease-out forwards;
}

.proje-detay-animate {
    animation: fadeSlideUp 0.5s ease-out both;
}

/* Form grupları - staggered (sıralı) giriş */
@keyframes formGroupIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.contact-form-animate .form-group {
    animation: formGroupIn 0.5s ease-out both;
}

.contact-form-animate .form-group:nth-child(1) { animation-delay: 0.1s; }
.contact-form-animate .form-group:nth-child(2) { animation-delay: 0.18s; }
.contact-form-animate .form-group:nth-child(3) { animation-delay: 0.26s; }
.contact-form-animate .form-group:nth-child(4) { animation-delay: 0.34s; }
.contact-form-animate .form-group:nth-child(5) { animation-delay: 0.42s; }

/* Input focus - glow efekti */
.form-input:focus {
    box-shadow: 0 2px 12px rgba(196, 30, 58, 0.2);
}

textarea.form-input:focus {
    box-shadow: 0 0 0 2px rgba(196, 30, 58, 0.2), 0 0 16px rgba(196, 30, 58, 0.12);
}

/* Loading spinner (Tailwind animate-spin yoksa yedek) */
@keyframes spin {
    to { transform: rotate(360deg); }
}

.animate-spin {
    animation: spin 0.8s linear infinite;
}

/* Başarı/hata mesajı animasyonu */
@keyframes messageSlideIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.form-message {
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    font-weight: 500;
    animation: messageSlideIn 0.4s ease-out;
    transition: opacity 0.3s ease;
}

.form-message.success {
    background: rgba(34, 197, 94, 0.15);
    color: #15803d;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.form-message.error {
    background: rgba(239, 68, 68, 0.15);
    color: #b91c1c;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.form-message.hidden {
    display: none !important;
}

/* Gönder butonu - loading sırasında disabled görünüm */
.submit-btn:disabled,
.submit-btn-icon:disabled {
    cursor: not-allowed;
    opacity: 0.85;
}

/* ===== Çözümler Mega Menu ===== */
.cozumler-tab {
    background: white;
}

.cozumler-tab .cozumler-tab-title { color: #1e293b; }
.cozumler-tab .cozumler-tab-desc { color: #64748b; }

.cozumler-tab-active,
.cozumler-tab-active:hover {
    background: linear-gradient(135deg, #04879C 0%, #03707f 100%) !important;
    border-color: #04879C !important;
}

.cozumler-tab-active .cozumler-tab-title { color: white !important; }
.cozumler-tab-active .cozumler-tab-desc { color: rgba(255,255,255,0.9) !important; }
.cozumler-tab-active .cozumler-tab-icon { color: white !important; }

.cozumler-tab .cozumler-tab-icon { transition: color 0.2s ease; }
.cozumler-tab:hover .cozumler-tab-icon { color: white !important; }

.cozumler-tab:not(.cozumler-tab-active):hover {
    background: #f8fafc !important;
}

.cozumler-mega {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

/* Mega menu - grid arka plan deseni */
.cozumler-mega {
    background-image: 
        linear-gradient(rgba(0,0,0,.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,0,0,.02) 1px, transparent 1px);
    background-size: 20px 20px;
    background-color: #f8fafc;
}

/* Alt menüler alanı - sabit yükseklik, tab değişiminde kayma olmaz */
.cozumler-panel {
    min-height: 280px;
}

/* Full width mega menu - yatay taşmayı önle */
body { overflow-x: hidden; }

/* Daktilo imleci - yanıp sönme */
.typewriter-cursor {
    animation: cursor-blink 0.8s step-end infinite;
}
@keyframes cursor-blink {
    50% { opacity: 0; }
}

/* ===== Genel Sayfa Animasyonları ===== */

/* Hero ve içerik - sayfa yüklenirken */
.page-hero-animate .page-hero-content {
    animation: fadeSlideUp 0.6s ease-out forwards;
}

/* Scroll-triggered: görünür olunca animasyon (JS ile .animate-in verilir) */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.animate-on-scroll.animate-in {
    opacity: 1;
    transform: translateY(0);
}

/* Sol/sağ fade - index "En güçlü etki" */
.fade-from-left {
    opacity: 0;
    transform: translateX(-24px);
    transition: opacity 0.6s ease-out 0.1s, transform 0.6s ease-out 0.1s;
}
.fade-from-left.animate-in { opacity: 1; transform: translateX(0); }
.fade-from-right {
    opacity: 0;
    transform: translateX(24px);
    transition: opacity 0.6s ease-out 0.2s, transform 0.6s ease-out 0.2s;
}
.fade-from-right.animate-in { opacity: 1; transform: translateX(0); }

/* Staggered grid öğeleri - her biri gecikmeli */
.stagger-child {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.stagger-parent.animate-in .stagger-child:nth-child(1) { transition-delay: 0.05s; }
.stagger-parent.animate-in .stagger-child:nth-child(2) { transition-delay: 0.1s; }
.stagger-parent.animate-in .stagger-child:nth-child(3) { transition-delay: 0.15s; }
.stagger-parent.animate-in .stagger-child:nth-child(4) { transition-delay: 0.2s; }
.stagger-parent.animate-in .stagger-child:nth-child(5) { transition-delay: 0.25s; }
.stagger-parent.animate-in .stagger-child:nth-child(6) { transition-delay: 0.3s; }
.stagger-parent.animate-in .stagger-child:nth-child(7) { transition-delay: 0.35s; }
.stagger-parent.animate-in .stagger-child:nth-child(8) { transition-delay: 0.4s; }
.stagger-parent.animate-in .stagger-child:nth-child(9) { transition-delay: 0.45s; }
.stagger-parent.animate-in .stagger-child:nth-child(10) { transition-delay: 0.5s; }
.stagger-parent.animate-in .stagger-child {
    opacity: 1;
    transform: translateY(0);
}

/* Sayfa yüklenirken içerik fade - page-hero için */
.hero-content-animate {
    animation: fadeSlideUp 0.7s ease-out 0.2s both;
}
