
/*
 Theme Name:   Hello Elementor Child DKR
 Template:     hello-elementor
 Version:      1.0.0
*/

/* Okların Genel Tasarımı (Eski kodu bununla güncelle) */
.custom-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: #ffffff; /* Beyaz yuvarlak */
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15); /* Hafif gölge */
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

/* Ok İkonlarını Çizelim (CSS ile ok yapıyoruz) */
.custom-arrow::after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #000; /* Siyah ok rengi */
    border-right: 2px solid #000;
    display: inline-block;
}

/* Sol Ok Yönü */
.my-slider-prev::after {
    transform: rotate(-135deg);
    margin-left: 4px;
}

/* Sağ Ok Yönü */
.my-slider-next::after {
    transform: rotate(45deg);
    margin-right: 4px;
}

/* Hover Efekti (Üzerine gelince siyah olsun) */
.custom-arrow:hover {
    background: #f0f0f0;
}
.custom-arrow:hover::after {
    border-color: #000;
}

/* Okların Konumları (Taşma yapmasın diye) */
.my-slider-next { right: 10px; }
.my-slider-prev { left: 10px; }

/* Mobilde gizlemeyi unutmayalım */
@media (max-width: 768px) {
    .custom-arrow { display: none !important; }
}

.my-slider-next { right: 10px; }
.my-slider-prev { left: 10px; }












/* Header sağ ikonlardaki tüm çizgileri ve efektleri temizle */
.header-icons.right-icons a {
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important; /* Hello Elementor'un gizli çizgisi buradadır */
    outline: none !important;
}

/* Üzerine gelince (hover) oluşan efekti de sil */
.header-icons.right-icons a:hover,
.header-icons.right-icons a:focus,
.header-icons.right-icons a:active {
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* İkonların kendi içindeki çizgileri de garantiye alalım */
.header-icons.right-icons a i {
    border: none !important;
    text-decoration: none !important;
}

/* Sadece ana sayfada (home class'ı sayesinde) header'ın yapışık kalmasını engeller */
.home header.site-header {
    position: absolute !important; /* Veya relative */
    top: 0;
    width: 100%;
}

/* Eğer Elementor'un kendi sticky özelliği devreye giriyorsa onu devre dışı bırakalım */
.home .elementor-sticky--active {
    position: relative !important;
}


/* Slider başlangıçta görünmez olsun */
.shortcode-slider {
    opacity: 0;
    transition: opacity 0.4s ease-in-out; /* Yumuşak açılış için */
}

/* JS yüklendiğinde eklenecek sınıf */
.shortcode-slider.swiper-initialized {
    opacity: 1;
}

/* Yüklenirken yerin boş kalmaması için min-height verelim */
.custom-slider-outer-container {
    min-height: 400px; 
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ==================================================== */
/* 🔍 YÜZEN ARAMA POPUP (MODERN FLOATING) */
/* ==================================================== */
html {
    /* Kaydırma çubuğu alanı her zaman rezerve edilsin, zıplama bitsin */
    scrollbar-gutter: stable;
}

/* Modal açıldığında sağ tarafa zorunlu boşluk binmesin */
body.search-active, body.modal-open {
    overflow: hidden !important;
    /* JS zaten padding ekliyor, tarayıcının ekstradan kaydırmasını engelle */
    touch-action: none; 
}

.search-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); /* Arka planı hafif karart */
    z-index: 10005;
    display: none; /* JS ile .active olunca açılacak */
    justify-content: center; /* Yatayda orta */
    align-items: flex-start; /* Üstten başla */
    padding-top: 0px; /* Header'ın altına gelmesi için pay */
}

.search-popup.active {
    display: flex !important;
}

/* İç Beyaz Kutu (Yüzen Kısım) */
.search-inner {
    background: #fff;
    width: 90%;
    max-width: 650px;
    height: 60px;
    padding: 10px 20px;
    border-radius: 1px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    position: relative;
    animation: slideDown 0.3s ease-out;
}

/* Sonuçların genel listesi */
.search-results-list-wrapper {
    display: flex;
    flex-direction: column;
    background: #fff;
    width: 100%;
}

/* Her bir ürün satırı */
.search-item-row {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    border-bottom: 1px solid #f2f2f2;
    text-decoration: none !important;
    transition: background 0.2s ease;
}

.search-item-row:hover {
    background-color: #f9f9f9;
}

.search-item-row:last-child {
    border-bottom: none;
}

/* Resim Alanı */
.search-item-image {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    margin-right: 15px;
}

.search-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #eee;
}

/* Bilgi Alanı */
.search-item-info {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.search-item-title {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    margin: 0 0 2px 0 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

.search-item-price {
    font-size: 13px !important;
    color: #d30000 !important; /* Kırmızı fiyat */
    font-weight: 700 !important;
}

.search-item-price ins {
    text-decoration: none;
}

.no-results-found {
    padding: 20px;
    text-align: center;
    font-size: 14px;
    color: #888;
}

/* Arama kutusunun olduğu ana beyaz kapsayıcı */
.search-inner {
    position: relative; /* İçindeki sonuçların buna göre hizalanması için şart */
    background: #fff;
    width: 90%;
    max-width: 500px;
    margin: 40px auto; 
    padding: 10px 15px;
    border-radius: 50px; /* Google tarzı oval */
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    z-index: 10006;
}

/* 🚀 İŞTE ÇÖZÜM BURASI: Sonuçlar kutuyu aşağı itmesin, altında süzülsün */
#search-results-display {
    position: absolute; /* Kutudan bağımsız hareket etmesini sağlar */
    top: calc(100% + 10px); /* Beyaz kutunun tam 10px altından başlar */
    left: 0;
    width: 100%; /* Beyaz kutuyla aynı genişlikte olur */
    background: #fff;
    border-radius: 1px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    max-height: 400px; /* Çok ürün varsa kutu devleşmesin, içinde scroll çıksın */
    overflow-y: auto;
    padding: 0;
    z-index: 99999; /* En üstte görünsün */
}

/* Mobilde kutu kaymasın diye ek önlem */
@media (max-width: 768px) {
    .search-inner {
        margin-top: 20px;
        height: 70px  !important;
       width: 100% !important;
  }
    .search-popup {
        /* Arka planı biraz daha karartıp blur'u artırıyoruz */
        background-color: rgba(0, 0, 0, 0.4) !important; /* Beyaz yerine koyu şeffaf daha iyi odak sağlar */
        backdrop-filter: blur(15px) !important; /* 10'dan 15'e çıkardık */
        -webkit-backdrop-filter: blur(15px) !important;
    }
    
    .search-input-field {
        font-size: 1rem; /* Mobilde yazıyı bir tık daha küçülttük */
        letter-spacing: 0px; /* Mobilde harf arası açmaya pek gerek yok */
    }
    
    .search-input-field::placeholder {
        font-size: 0.85rem; /* Placeholder mobilde daha kibar durmalı */
        font-style: normal; /* Mobilde italik bazen okunurluğu bozar, düz yaptık */
        font-weight: 300;
        color: #aaa;
    }
    
    /* 4. İkonları Mobilde Küçültelim */
    .search-icon-static i, 
    .search-close-x i {
        font-size: 20px; /* Parmakla basmak kolay ama görsel olarak daha küçük */
    }

    /* 5. Arama Sonuçlarını Mobilde Tam Ekran Yapalım */
#search-results-display {
    /* 1. Yükseklik Ayarı: Klavye ve header payını düştük */
    max-height: calc(100vh - 160px); 
    
    /* 2. Kaydırma Özelliği */
    overflow-y: auto; 
    
    /* 3. iOS (iPhone) İçin İpeksi Kaydırma */
    -webkit-overflow-scrolling: touch; 
    
    /* 4. Tasarım: Kutuyu tam oturtalım */
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    border: 2px solid #000;
    border-top: none;
    z-index: 99999;
}

/* 5. Şık Bir Scrollbar (Opsiyonel: Kaydırma çubuğu kaba durmasın) */
#search-results-display::-webkit-scrollbar {
    width: 4px;
}

#search-results-display::-webkit-scrollbar-thumb {
    background: #000; /* Senin keskin siyah temanla uyumlu */
}
    
    
}   

/* Fiyat Alanı Genel Ayarı */
.search-item-price {
    display: flex;
    align-items: center;
    gap: 8px; /* Fiyatlar arasındaki boşluk */
    font-size: 14px;
    margin-top: 4px;
}

/* Eski Fiyat (Üstü Çizili Olan) */
.search-item-price del {
    color: #999; /* Gri renk */
    font-size: 14px;
    text-decoration: line-through; /* Üstünü çizer */
    font-weight: 400;
}

/* Yeni Fiyat / Güncel Fiyat (Kırmızı ve Belirgin) */
.search-item-price ins, 
.search-item-price {
    color: #d30000; /* Canlı kırmızı */
    font-weight: 700;
    text-decoration: none; /* Alt çizgisini kaldırır */
}

@keyframes slideDown {
    from { transform: translateY(-30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}


/* Form ve Input Alanı */
.search-form-full {
    flex-grow: 1;
    display: flex;
    align-items: center;
    padding-left: 30px; /* Büyüteç için yer */
    padding-right: 30px; /* X butonu için yer */
}



/* 1. Yazı yazılırken görünen stil (Aktif yazı) */
.search-input-field {
    width: 100%;
    border: none !important;
    outline: none !important;
    font-size: 1.1rem; /* Biraz küçülttük (1.3'ten 1.1'e) */
    font-weight: 400;
    letter-spacing: 0.5px; /* Harf aralarını çok hafif açtık, nefes alsın */
    color: #1a1a1a;
    background: transparent;
    font-family: 'Inter', sans-serif; /* Eğer sitende varsa Inter veya sans-serif çok yakışır */
}

/* 2. "Sök namn, stil..." yazısının (Placeholder) stili */
/* Her tarayıcı için ayrı ayrı tanımlamalıyız ki hepsinde aynı şıklıkta görünsün */

.search-input-field::placeholder {
    color: #999; /* Daha yumuşak bir gri */
    font-size: 0.95rem; /* Placeholder'ı asıl yazıdan bir tık daha küçük yaptık */
    font-style: italic; /* "Buraya yazabilirsin" mesajı veren klasik bir stil */
    font-weight: 300; /* Daha ince ve zarif */
    opacity: 1; /* Bazı tarayıcılar placeholder'ı otomatik soluklaştırır, bunu sabitledik */
}

/* Safari ve Chrome desteği */
.search-input-field::-webkit-input-placeholder {
    color: #999;
    font-size: 0.95rem;
    font-style: italic;
    font-weight: 300;
}

/* Firefox desteği */
.search-input-field::-moz-placeholder {
    color: #999;
    font-size: 0.95rem;
    font-style: italic;
    font-weight: 300;
}



/* 🔍 Arama Popup Genel Geçiş Ayarı */
.search-popup {
    transition: opacity 0.4s ease, visibility 0.4s ease !important;
}

/* 🤍 İç Kutu (Beyaz Alan) Yumuşaklığı */
.search-popup .search-inner {
    
    width: 90%; 
    max-width: 600px;
    margin: 0px auto;
  
    border-radius: 1px; /* Tam oval (Google tarzı) veya 12px yapabilirsin */
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    
    
    
    
    transform: translateY(-20px); /* Başlangıçta biraz yukarıda */
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
}

/* Açık Haldeyken */
.search-popup.active .search-inner,
.search-popup.open .search-inner {
    transform: translateY(0);
    opacity: 1;
}


/* Sol taraftaki Arama İkonu */
.search-icon-static {
    position: absolute;
    left: 10px;
    font-size: 20px;
    color: #333;
}

/* Sağ taraftaki Kapatma (X) Butonu */
.search-close-x {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #888;
    transition: color 0.3s ease;
    z-index: 10;
}

/* ❌ X BUTONU - ELEMENTOR KIRMIZI HOVER TEMİZLİĞİ */
#close-search-popup, 
#search-close-btn {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: #333 !important; /* Varsayılan renk */
    transition: all 0.3s ease !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.google-reviews-footer {
    padding: 50px 0;
    background-color: #fcfcfc; /* Arka planı hafif gri yaparak ayırabilirsin */
    border-top: 1px solid #eee;
}



.google-reviews-footer .footer-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 20px;
    padding-top: 40px; /* Bu değeri göz kararına göre 30px-50px arası değiştirebilirsin */
}

.google-reviews-section {
    background-color: #f9f9f9;
    padding: 60px 20px;
    border-top: 1px solid #eee;
    font-family: 'Inter', sans-serif;
}

.reviews-container {
    max-width: 1200px;
    margin: 0 auto;
}

.reviews-header {
    text-align: center;
    margin-bottom: 20px;
}

/* Google Badge Alanı */
.google-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 20px;
}

.google-logo {
    width: 24px; /* Logoyu küçülttük, rahatsız etmez */
    height: auto;
}

.rating-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.rating-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rating-score {
    font-size: 20px;
    font-weight: bold;
    color: #333;
}

/* Yıldız Sistemi (4.3 Ayarı) */
.stars-outer {
    position: relative;
    display: inline-block;
    font-size: 18px;
    letter-spacing: 2px;
    color: #e0e0e0; /* Boş yıldız rengi (Gri) */
}

.stars-inner {
    position: absolute;
    top: 0;
    left: 0;
    white-space: nowrap;
    overflow: hidden;
    color: #fbbc04; /* Dolu yıldız rengi (Google Sarısı) */
}

.review-count {
    font-size: 13px;
    color: #666;
    margin-top: -2px;
}

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
}

.review-card {
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
}

.review-card:hover { transform: translateY(-5px); }

.review-meta {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 13px;
    color: #777;
}

.reviewer-name { font-weight: 600; color: #333; }

.review-text {
    margin-top: 15px;
    line-height: 1.6;
    color: #555;
    font-style: italic;
}

.view-all-reviews {
    display: inline-block;
    margin-top: 40px;
    color: #4285F4;
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid #4285F4;
}

.reviews-footer { text-align: center; }


/* --- MOBİL ÖZEL AYARLAR (Burayı Güncelliyoruz) --- */
@media (max-width: 768px) {
    .reviews-grid {
        display: flex !important; /* Grid'den Flex'e geçtik */
        overflow-x: auto !important; /* Yan yana kaydırmayı açtık */
        scroll-snap-type: x mandatory; /* Kaydırırken kartın ortalanmasını sağlar */
        gap: 15px !important;
        padding: 10px 5px 20px 5px !important; /* Alt boşluk gölge için */
        scrollbar-width: none; /* Firefox için scrollbar gizle */
        -ms-overflow-style: none; /* IE için scrollbar gizle */
    }

    /* Scrollbar'ı Chrome/Safari için tamamen gizleyelim, daha temiz durur */
    .reviews-grid::-webkit-scrollbar {
        display: none;
    }

.review-card {
        flex: 0 0 260px !important;
        min-width: 260px !important;
        /* 1. Yüksekliği serbest bırakıyoruz, içeriğe göre daralsın */
        height: auto !important;
        min-height: 0!important; 
        /* 2. Alt padding'i iyice kıstık */
        padding: 12px 15px 8px 15px !important; 
        /* 3. İçerideki elemanların otomatik yayılmasını engelliyoruz */
        display: block !important; 
    }

.review-text {
        /* Metnin altındaki margin'i sıfırlıyoruz */
        margin-bottom: 0 !important;
        padding-bottom: 5px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    
    .review-meta {
        /* İsim/Tarih kısmının alt boşluğunu minimize ettik */
        margin-bottom: 2px !important;
    }

    .reviewer-name {
        font-size: 14px !important;
    }

    .reviews-header {
        margin-bottom: 25px !important; /* Üst başlık boşluğunu daralttık */
    }
}
