/* =========================================
   1. GENEL AYARLAR VE DEĞİŞKENLER
   ========================================= */
* { margin: 0; padding: 0; box-sizing: border-box; }

:root {
    --primary: #c9a55c; /* Gold (Altın) Rengi */
    --dark-bg: #080808; 
    --card-bg: #141414;
    --text-grey: #a0a0a0;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--dark-bg);
    color: #e0e0e0;
    line-height: 1.7;
    overflow-x: hidden; 
}

html { scroll-behavior: smooth; }
h1, h2, h3, h4, .logo { font-family: 'Oswald', sans-serif; }
a { text-decoration: none; transition: 0.3s; }
ul { list-style: none; }

/* =========================================
   2. HEADER (ÜST MENÜ - 80px)
   ========================================= */
header {
    position: fixed; top: 0; width: 100%; height: 80px; padding: 0 5%;
    background: rgba(5, 5, 5, 0.98); backdrop-filter: blur(10px);
    display: flex; justify-content: space-between; align-items: center;
    z-index: 1000;
    border-bottom: 1px solid rgba(201, 165, 92, 0.3);
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.logo-container { height: 100%; display: flex; align-items: center; z-index: 1001; }
.logo-container img { height: 55px; width: auto; display: block; }

nav { height: 100%; }
nav ul { display: flex; align-items: center; height: 100%; gap: 40px; }
nav ul li { position: relative; }

nav ul li a { 
    color: #fff; font-size: 13px; text-transform: uppercase; 
    font-weight: 600; letter-spacing: 1px; padding: 10px 0; display: block;
}

.nav-text { position: relative; }
.nav-text::after {
    content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px;
    background: var(--primary); transition: width 0.3s ease;
}
.nav-text:hover { color: var(--primary); }
.nav-text:hover::after { width: 100%; }

/* Header Sosyal İkon Fix */
.header-social-link {
    width: 36px; height: 36px; 
    border: 1px solid rgba(255,255,255,0.3); border-radius: 50%;
    display: flex; align-items: center; justify-content: center; 
    transition: 0.3s; margin-left: 10px;
}
.header-social-link svg { 
    width: 16px; height: 16px; 
    fill: #ffffff !important; 
    transition: 0.3s; 
}
.header-social-link:hover { border-color: #d62976; background: rgba(214, 41, 118, 0.1); }
.header-social-link:hover svg { fill: #d62976 !important; }

/* Hamburger Menü İkonu */
.hamburger { display: none; cursor: pointer; flex-direction: column; gap: 6px; z-index: 1001; }
.hamburger span { width: 30px; height: 3px; background-color: var(--primary); transition: 0.4s; border-radius: 2px; }

/* =========================================
   3. HERO SECTIONS
   ========================================= */
#home {
    height: 85vh; min-height: 600px; position: relative; overflow: hidden;
    display: flex; justify-content: center; align-items: center; text-align: center; padding: 0 20px;
    margin-top: 80px;
}
#home::before {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(rgba(0,0,0,0.5), rgba(8,8,8,1)), url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?ixlib=rb-1.2.1&auto=format&fit=crop&w=1920&q=80');
    background-size: cover; background-position: center; background-attachment: fixed;
    z-index: -1; animation: zoomEffect 20s infinite alternate;
}

#page-hero { 
    height: 40vh; min-height: 300px; position: relative; display: flex; 
    justify-content: center; align-items: center; text-align: center; margin-top: 80px; 
}
#page-hero::before { 
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
    background: linear-gradient(rgba(0,0,0,0.7), rgba(8,8,8,1)), url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?ixlib=rb-1.2.1&auto=format&fit=crop&w=1920&q=80'); 
    background-size: cover; background-position: center; z-index: -1; 
}

.hero-content { z-index: 2; max-width: 900px; }
.hero-content h1 { font-size: 4rem; line-height: 1.1; margin-bottom: 20px; color: #fff; opacity: 0; animation: fadeInUp 1s ease-out forwards; }
.hero-content h1 span { color: var(--primary); }
.hero-content p { font-size: 1.2rem; color: #dcdcdc; margin-bottom: 40px; opacity: 0; animation: fadeInUp 1s ease-out 0.3s forwards; }
.hero-btn { display: inline-block; padding: 15px 45px; background: transparent; border: 2px solid var(--primary); color: var(--primary); font-weight: bold; font-size: 14px; letter-spacing: 2px; opacity: 0; animation: fadeInUp 1s ease-out 0.6s forwards; }
.hero-btn:hover { background: var(--primary); color: #000; }

.page-title { font-size: 3rem; color: #fff; text-transform: uppercase; letter-spacing: 2px; position: relative; z-index: 2; }
.page-title span { color: var(--primary); }

.scroll-down { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; color: rgba(255,255,255,0.5); font-size: 10px; letter-spacing: 2px; animation: bounce 2s infinite; }
.scroll-down span { width: 20px; height: 32px; border: 2px solid rgba(255,255,255,0.5); border-radius: 50px; margin-top: 10px; position: relative; }
.scroll-down span::before { content: ''; position: absolute; top: 6px; left: 50%; width: 4px; height: 4px; background: #fff; border-radius: 50px; transform: translateX(-50%); animation: scrollDot 1.5s infinite; }

/* =========================================
   4. İÇERİK BÖLÜMLERİ
   ========================================= */
#about { background-color: #0d0d0d; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.about-img-wrapper { position: relative; padding: 20px; z-index: 1; }
.about-img-wrapper::before { content: ''; position: absolute; top: 0; left: 0; width: 70%; height: 90%; border: 3px solid var(--primary); z-index: -1; animation: slideInLeft 1.5s ease-out forwards; }
.about-img-wrapper img { width: 100%; display: block; clip-path: polygon(10% 0, 100% 0, 100% 85%, 90% 100%, 0 100%, 0 15%); filter: grayscale(100%) contrast(1.1); transition: all 0.5s ease; box-shadow: 10px 10px 30px rgba(0,0,0,0.5); animation: slideInRight 1.5s ease-out forwards; }
.about-img-wrapper:hover img { filter: grayscale(0%); transform: scale(1.02); }
.about-text h3 { font-size: 1.8rem; color: var(--primary); margin-bottom: 20px; }
.stats { display: flex; gap: 40px; margin-top: 40px; }
.stat-item h4 { font-size: 3rem; color: #fff; margin-bottom: 5px; line-height: 1; }
.stat-item p { font-size: 0.8rem; color: var(--text-grey); text-transform: uppercase; letter-spacing: 1px; }

#projects { background-color: var(--dark-bg); }
.project-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 30px; }
.project-card-link { display: block; color: inherit; } 
.project-card { background: var(--card-bg); height: 450px; position: relative; overflow: hidden; border: 1px solid #222; }
.p-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s, opacity 0.5s; opacity: 0.7; }
.project-card:hover .p-img { transform: scale(1.1); opacity: 0.4; }
.p-info { position: absolute; bottom: 0; left: 0; width: 100%; padding: 30px; background: linear-gradient(to top, rgba(0,0,0,1), transparent); transform: translateY(20px); transition: 0.5s; }
.project-card:hover .p-info { transform: translateY(0); }
.p-cat { color: var(--primary); font-size: 0.8rem; text-transform: uppercase; font-weight: bold; letter-spacing: 2px; display: block; margin-bottom: 5px; }
.p-title { font-size: 1.8rem; color: #fff; margin-bottom: 5px; line-height: 1.2; }
.p-loc { color: #ccc; font-size: 0.9rem; }
.view-all-container { text-align: center; margin-top: 50px; }
.view-all-btn { display: inline-block; background: transparent; color: var(--primary); border: 1px solid var(--primary); padding: 15px 40px; font-size: 14px; font-weight: 600; letter-spacing: 2px; cursor: pointer; transition: 0.3s; text-transform: uppercase; }
.view-all-btn:hover { background: var(--primary); color: #000; box-shadow: 0 0 20px rgba(201, 165, 92, 0.3); }

/* Detay Sayfası */
#detail-hero { height: 50vh; min-height: 400px; margin-top: 80px; position: relative; display: flex; align-items: flex-end; padding: 0 10% 60px 10%; }
#detail-hero::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0,0,0,0.3), #080808), url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?ixlib=rb-1.2.1&auto=format&fit=crop&w=1920&q=80'); background-size: cover; background-position: center; z-index: -1; }
.detail-title { font-size: 4rem; color: #fff; line-height: 1; text-transform: uppercase; }
.detail-title span { color: var(--primary); display: block; font-size: 1.5rem; font-family: 'Montserrat', sans-serif; margin-bottom: 10px; font-weight: 400; }
.detail-content { padding: 80px 10%; display: grid; grid-template-columns: 1.5fr 1fr; gap: 60px; }
.gallery-container { display: flex; flex-direction: column; gap: 20px; }
.main-image { width: 100%; height: 500px; object-fit: cover; border: 1px solid #222; border-radius: 4px; }
.thumbs { display: flex; gap: 15px; overflow-x: auto; }
.thumb-img { width: 100px; height: 80px; object-fit: cover; cursor: pointer; border: 2px solid transparent; opacity: 0.6; transition: 0.3s; }
.thumb-img:hover, .thumb-img.active { border-color: var(--primary); opacity: 1; }
.info-box { background: var(--card-bg); padding: 40px; border: 1px solid #222; border-top: 4px solid var(--primary); }
.info-box h3 { font-size: 2rem; color: #fff; margin-bottom: 20px; }
.info-list { margin-bottom: 30px; }
.info-list li { display: flex; justify-content: space-between; border-bottom: 1px solid #222; padding: 15px 0; color: var(--text-grey); font-size: 0.95rem; }
.info-list li strong { color: #fff; }
.features-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.feature-item { display: flex; align-items: center; gap: 10px; color: #e0e0e0; font-size: 0.9rem; }
.feature-item svg { fill: var(--primary); width: 16px; height: 16px; flex-shrink: 0; }
.contact-btn { display: block; width: 100%; text-align: center; background: var(--primary); color: #000; font-weight: bold; padding: 15px; margin-top: 30px; text-transform: uppercase; transition: 0.3s; }
.contact-btn:hover { background: #fff; }
.description-area { grid-column: 1 / -1; margin-top: 20px; }
.description-area h3 { font-size: 2rem; color: #fff; margin-bottom: 20px; border-bottom: 1px solid #222; padding-bottom: 10px; display: inline-block; }
.description-area p { margin-bottom: 20px; color: #ccc; }

/* =========================================
   5. VIDEO & İLETİŞİM & FOOTER
   ========================================= */
#video-promo { background-color: #0b0b0b; padding: 100px 10%; text-align: center; border-top: 1px solid #222; }
.video-cover-container { position: relative; max-width: 900px; margin: 0 auto; border: 1px solid #333; padding: 10px; background: #1a1a1a; box-shadow: 0 20px 50px rgba(0,0,0,0.8); cursor: pointer; overflow: hidden; }
.video-cover-container:hover .play-btn { transform: translate(-50%, -50%) scale(1.1); }
.video-cover-img { width: 100%; display: block; height: auto; filter: brightness(0.6); transition: 0.5s; }
.video-cover-container:hover .video-cover-img { filter: brightness(0.8); }
.play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80px; height: 80px; background: rgba(201, 165, 92, 0.9); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 10px rgba(201, 165, 92, 0.2); transition: 0.4s ease; z-index: 2; }
.play-btn::before { content: ''; width: 0; height: 0; border-top: 12px solid transparent; border-bottom: 12px solid transparent; border-left: 20px solid #000; margin-left: 5px; }
.play-btn:hover { box-shadow: 0 0 0 20px rgba(201, 165, 92, 0.4); background: #fff; }
.video-modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.95); z-index: 99999; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; }
.video-modal.active { display: flex; opacity: 1; }
.modal-content { position: relative; width: 90%; max-width: 1000px; aspect-ratio: 16/9; box-shadow: 0 0 50px rgba(0,0,0,1); }
.modal-content iframe { width: 100%; height: 100%; border: none; }
.close-modal { position: absolute; top: -40px; right: 0; color: #fff; font-size: 40px; cursor: pointer; line-height: 1; transition: 0.3s; }
.close-modal:hover { color: var(--primary); }
.video-cover-container::after { content: ''; position: absolute; bottom: -10px; right: -10px; width: 100px; height: 100px; border-bottom: 3px solid var(--primary); border-right: 3px solid var(--primary); z-index: 1; pointer-events: none; }
.video-cover-container::before { content: ''; position: absolute; top: -10px; left: -10px; width: 100px; height: 100px; border-top: 3px solid var(--primary); border-left: 3px solid var(--primary); z-index: 1; pointer-events: none; }

#contact { background: #111; border-top: 1px solid #222; }
.corporate-contact { background: #080808; border: 1px solid #222; border-top: 4px solid var(--primary); padding: 60px 40px; display: flex; justify-content: space-around; flex-wrap: wrap; gap: 40px; text-align: center; }
.cc-item { flex: 1; min-width: 250px; display: flex; flex-direction: column; align-items: center; }
.cc-icon { width: 60px; height: 60px; background: rgba(201, 165, 92, 0.1); color: var(--primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 20px; transition: 0.3s; }
.cc-item:hover .cc-icon { background: var(--primary); color: #000; }
.cc-item h4 { color: #fff; font-size: 1.2rem; margin-bottom: 15px; letter-spacing: 1px; }
.cc-item p, .cc-item a { color: var(--text-grey); font-size: 0.95rem; line-height: 1.8; transition: 0.3s; }
.cc-item a:hover { color: var(--primary); }
section { padding: 100px 10%; }
.section-header { margin-bottom: 60px; text-align: center; }
.section-title { font-size: 3rem; color: #fff; text-transform: uppercase; display: inline-block; position: relative; padding-bottom: 15px; }
.section-title::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 60px; height: 4px; background: var(--primary); }

footer { padding: 30px 5%; background: #000; border-top: 1px solid #222; font-size: 13px; color: #666; display: flex; justify-content: space-between; align-items: center; }
.footer-left, .footer-right { flex: 1; }
.footer-right { display: flex; justify-content: flex-end; }
.footer-center { display: flex; justify-content: center; }
.footer-social-link { width: 40px; height: 40px; border: 1px solid rgba(255,255,255,0.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: 0.3s; margin: 0; }
.footer-social-link svg { fill: #888; width: 18px; height: 18px; transition: 0.3s; }
.footer-social-link:hover { border-color: var(--primary); }
.footer-social-link:hover svg { fill: var(--primary); }
.agency-credit { font-size: 11px; color: #444; letter-spacing: 0.5px; margin: 0; }
.agency-credit a { color: #666; font-weight: 600; text-decoration: none; transition: 0.3s; }
.agency-credit a:hover { color: var(--primary); }
.heart { color: #e25555; font-size: 14px; animation: heartbeat 1.5s infinite; vertical-align: middle; display: inline-block; }

/* =========================================
   6. WHATSAPP & ANIMASYONLAR (NİHAİ CSS ÇÖZÜMÜ)
   ========================================= */
.whatsapp-btn { 
    position: fixed; 
    /* Dikey (bottom) ve Yatay (right) değerler pikselde kaldı. */
    bottom: 20px !important; 
    right: 20px !important; 
    background-color: #25D366; 
    color: #fff; 
    height: 60px; 
    width: 60px; 
    border-radius: 50px; 
    display: flex; 
    align-items: center; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.4); 
    text-decoration: none; 
    
    z-index: 99999; /* En üst katman */
    overflow: hidden; 
    transition: all 0.4s ease;

    /* KAYMA (GLITCH) ÇÖZÜMÜ: Tarayıcıya önceden haber verip GPU ile çizdirir */
    will-change: transform, bottom; /* Dikey çizime odaklandık */
    transform: translate3d(0, 0, 0); 
    -webkit-transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
/* Mobilde Hover/Active */
.whatsapp-btn:hover, .whatsapp-btn:active { width: 260px; background-color: #20b858; }
.wa-icon { width: 60px; height: 60px; display: flex; justify-content: center; align-items: center; flex-shrink: 0; }
.wa-text { white-space: nowrap; opacity: 0; font-weight: bold; font-size: 15px; transform: translateX(20px); transition: all 0.4s ease; padding-right: 0; }
.whatsapp-btn:hover .wa-text, .whatsapp-btn:active .wa-text { opacity: 1; transform: translateX(0); padding-right: 25px; }

@keyframes fadeInUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
@keyframes zoomEffect { 0% { transform: scale(1); } 100% { transform: scale(1.1); } }
@keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); } 40% { transform: translateX(-50%) translateY(-10px); } }
@keyframes scrollDot { 0% { top: 6px; opacity: 1; } 100% { top: 18px; opacity: 0; } }
@keyframes slideInLeft { from { transform: translateX(-50px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes slideInRight { from { transform: translateX(50px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes heartbeat { 0% { transform: scale(1); } 10% { transform: scale(1.1); } 20% { transform: scale(1); } 100% { transform: scale(1); } }

/* =========================================
   7. MOBİL UYUM (RESPONSIVE) - FIX
   ========================================= */
@media (max-width: 900px) {
    .detail-content { grid-template-columns: 1fr; gap: 40px; }
    .main-image { height: 300px; }
    #detail-hero { height: 40vh; padding: 0 20px 40px 20px; }
    .detail-title { font-size: 2.5rem; }
}

@media (max-width: 768px) {
    header { padding: 0 20px; }
    .logo-container img { height: 45px; }
    
    /* Mobil Menü Konfigürasyonu */
    .hamburger { display: flex; z-index: 100001; }
    
    nav { 
        position: fixed; 
        top: 0; 
        right: -100%; 
        width: 100%; 
        height: 100vh; 
        background: #000; 
        display: flex; 
        justify-content: flex-start; 
        padding-top: 120px; 
        align-items: center; 
        flex-direction: column;
        transition: 0.5s ease-in-out; 
        z-index: 100000; 
        overflow-y: auto; 
    }
    nav.active { right: 0; }
    nav ul { flex-direction: column; gap: 40px; }
    nav ul li a { font-size: 24px; }
    
    /* Genel */
    #home { height: 85vh; padding: 0 20px; margin-top: 80px; }
    #page-hero { height: 30vh; margin-top: 80px; }
    .hero-content h1 { font-size: 2.5rem; }
    #about { grid-template-columns: 1fr; gap: 40px; }
    .about-img-wrapper { order: -1; margin-bottom: 20px; }
    section { padding: 80px 5%; }
    
    /* İletişim ve Video */
    #video-promo { padding: 60px 5%; }
    .corporate-contact { flex-direction: column; gap: 50px; padding: 40px 20px; }
    .cc-item:nth-child(2) { border: none; }
    
    /* Proje Izgarası (2x2) */
    .project-grid { grid-template-columns: 1fr 1fr; gap: 15px; }
    .project-card { height: 250px; }
    .p-info { padding: 15px; transform: translateY(0); background: linear-gradient(to top, rgba(0,0,0,0.9), transparent); }
    .p-title { font-size: 1.2rem; }
    .p-loc { font-size: 0.75rem; }
    .p-cat { font-size: 0.65rem; letter-spacing: 1px; }

    /* Footer Mobil */
    footer { flex-direction: column; text-align: center; gap: 20px; padding: 40px 20px; }
    .footer-right { justify-content: center; }

    /* Detay Sayfası Fix */
    .detail-content { display: flex; flex-direction: column; padding: 30px 5%; gap: 30px; overflow-x: hidden; }
    .info-box { width: 100%; padding: 25px 20px; border: none; }
    .features-grid { grid-template-columns: 1fr; gap: 15px; }
    .main-image { height: 250px; }
    .detail-title { font-size: 2rem; }
    .detail-title span { font-size: 1rem; }
}

.hamburger.toggle .line1 { transform: rotate(-45deg) translate(-5px, 6px); }
.hamburger.toggle .line2 { opacity: 0; }
.hamburger.toggle .line3 { transform: rotate(45deg) translate(-5px, -6px); }