/* ============================================================
   SWEETCHERRY — site içi arama
   Header'daki büyütecin açtığı sonuç panelinin tasarımı.
   ============================================================ */

/* Arama kutusu, sonuçlar açıkken de açık kalsın.
   (Sayfa stillerindeki :hover/:focus kuralları !important kullandığı için
   burada da gerekiyor.) */
.search-wrapper.search-open .search-input {
    width: 14rem !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding-right: 12px !important;
    margin-right: 12px !important;
    border-bottom: 1px solid #FD7979 !important;

    /* Sayfa stilinde `transition: all` var ve bu visibility'yi de kapsıyor;
       o yüzden kutu açılırken 600 ms boyunca "gizli" sayılıyor ve
       odaklanamıyordu (büyütece basınca imleç kutuya girmiyordu).
       Geçişten visibility'yi çıkarınca görünürlük anında uygulanır. */
    transition-property: width, opacity, padding-right, margin-right, border-color !important;
    transition-duration: 0.6s !important;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.search-wrapper.search-open .search-btn {
    color: #FD7979 !important;
}

/* --- Sonuç paneli --- */
.search-results {
    position: absolute;
    top: calc(100% + 14px);
    right: 0;
    width: 24rem;
    max-height: 70vh;
    overflow-y: auto;
    overscroll-behavior: contain;

    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 205, 201, 0.5);
    border-radius: 24px;
    box-shadow: 0 24px 60px -12px rgba(45, 36, 36, 0.28),
                0 8px 20px -8px rgba(253, 121, 121, 0.18);

    text-align: left;
    z-index: 999990;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s;
}

.search-results.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* İnce kaydırma çubuğu */
.search-results::-webkit-scrollbar { width: 5px; }
.search-results::-webkit-scrollbar-track { background: transparent; }
.search-results::-webkit-scrollbar-thumb {
    background: #FDACAC;
    border-radius: 10px;
}

/* --- Panel başlığı --- */
.search-results-head {
    padding: 1rem 1.4rem 0.6rem;
    font-family: 'Montserrat', sans-serif;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #FDACAC;
}

/* --- Tek sonuç --- */
.search-result {
    display: block;
    padding: 0.85rem 1.4rem;
    text-decoration: none !important;
    color: inherit !important;
    border-top: 1px solid rgba(255, 205, 201, 0.28);
    transition: background-color 0.25s ease;
}

.search-result:first-of-type { border-top: 0; }

.search-result:hover,
.search-result.is-active {
    background: rgba(255, 205, 201, 0.22);
}

.search-result-label {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #FD7979;
    margin-bottom: 0.3rem;
}

.search-result-title {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.3;
    color: #2D2424;
    margin-bottom: 0.25rem;
}

.search-result-snippet {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 300;
    line-height: 1.65;
    color: #6b7280;
}

.search-result mark {
    background: rgba(253, 121, 121, 0.22);
    color: #2D2424;
    font-weight: 600;
    border-radius: 3px;
    padding: 0 2px;
}

/* --- Sonuç yok / yükleniyor --- */
.search-empty {
    padding: 1.6rem 1.4rem 1.8rem;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 300;
    line-height: 1.7;
    color: #9ca3af;
}

.search-empty strong {
    color: #2D2424;
    font-weight: 600;
}

/* --- Küçük ekranlar --- */
@media (max-width: 640px) {

    /* Panel header'a sığmaz; ekrana yayılır.
       Üst konum, header'ın gerçek yüksekliğinden JS ile hesaplanır
       (header yüksekliği sayfaya ve kaydırma durumuna göre değişiyor). */
    .search-results {
        position: fixed;
        top: var(--search-panel-top, 76px);
        left: 0.75rem;
        right: 0.75rem;
        width: auto;
        max-height: calc(100vh - var(--search-panel-top, 76px) - 1.5rem);
    }

    /* Kutu, dar ekranda sağa hizalı büyüdüğü için yazılan metin ekranın
       dışında kalıyordu. Mobilde bunun yerine header'a yayılan, sola
       hizalı bir alan oluyor. */
    .search-wrapper.search-open .search-input {
        /* `absolute` sarmalayıcıya göre konumlanır ve sarmalayıcı header'ın
           sağında dar bir alan olduğu için kutu sol taraftan ekran dışına
           çıkıyordu. `fixed` ile doğrudan ekrana hizalanıyor; dikey konum
           header'ın gerçek ortasından JS ile geliyor. */
        position: fixed !important;
        top: var(--search-input-top, 44px) !important;
        left: 0.75rem !important;
        right: 3.25rem !important;
        transform: translateY(-50%) !important;

        width: auto !important;
        max-width: none !important;
        height: 36px !important;
        box-sizing: border-box !important;

        padding: 0 1rem !important;
        margin: 0 !important;

        text-align: left !important;
        font-size: 12px !important;
        letter-spacing: 0.08em !important;
        text-transform: none !important;

        background: #ffffff !important;
        border: 1px solid #FD7979 !important;
        border-radius: 999px !important;
        box-shadow: 0 8px 22px -8px rgba(45, 36, 36, 0.22) !important;
        z-index: 3 !important;
    }

    .search-wrapper.search-open .search-input::placeholder {
        font-size: 10px !important;
        letter-spacing: 0.12em !important;
    }

    /* Büyüteç, açılan alanın üstünde kalsın */
    .search-wrapper.search-open .search-btn {
        position: relative !important;
        z-index: 4 !important;
    }
}

/* Hareket azaltma tercihi */
@media (prefers-reduced-motion: reduce) {
    .search-results { transition: none; }
}
