@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&family=Dancing+Script:wght@700&display=swap');

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Poppins', sans-serif;
    overflow: hidden;
    background-color: #fce4ec;
}

#map {
    height: 100vh;
    width: 100vw;
    z-index: 1;
}

/* Harita Filtresi */
.leaflet-tile-pane {
    filter: sepia(0.2) hue-rotate(315deg) saturate(1.1) brightness(0.95);
}

/* --- YENİ ZARİF BAŞLIK TASARIMI (Kutusu kaldırıldı, Parlama eklendi) --- */
.main-title {
    position: absolute;
    top: 25px;
    left: 0;
    width: 100%;
    text-align: center;
    font-family: 'Dancing Script', cursive;
    font-size: 55px;
    color: #d81b60;
    /* Kutu yerine sadece yazının arkasında beyaz bir parlama (glow) efekti */
    text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px rgba(255, 255, 255, 0.9), 2px 2px 2px #fff;
    z-index: 500;
    pointer-events: none; /* Başlığa tıklanmaz, harita kaymaya devam eder */
    padding: 0 10px;
    line-height: 1.2;
}

/* Mobilde başlığın küçülüp ekrana tam sığması için */
@media (max-width: 600px) {
    .main-title {
        font-size: 38px;
        top: 20px;
    }
}

/* --- MOBİLDE KESİN ÇALIŞAN KALP İŞARETÇİSİ --- */
.elegant-heart-marker {
    width: 120px;
    height: 120px;
    position: relative;
    cursor: pointer;
    filter: drop-shadow(0px 8px 12px rgba(255, 77, 109, 0.6));
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 1;
    /* Mobilde görsellerin kaybolmasını önleyen donanım hızlandırma */
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.elegant-heart-marker:hover {
    transform: scale(1.15) translateY(-5px) translate3d(0,0,0);
    filter: drop-shadow(0px 12px 20px rgba(255, 20, 147, 0.8));
}

.elegant-heart-marker img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    /* Base64 Kodlaması: Tüm mobil tarayıcılarda (Özellikle iOS) %100 çalışır */
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNDYyLjMgNjIuNkM0MDcuNSAxNS45IDMyNiAyNC4zIDI3NS43IDc2LjJMMjU2IDk2LjVsLTE5LjctMjAuM0MxODYuMSAyNC4zIDEwNC41IDE1LjkgNDkuNyA2Mi42Yy02Mi44IDUzLjYtNjYuMSAxNDkuOC05LjkgMjA3LjlsMTkzLjUgMTk5LjhjMTIuNSAxMi45IDMyLjggMTIuOSA0NS4zIDBsMTkzLjUtMTk5LjhjNTYuMy01OC4xIDUzLTE1NC4zLTkuOC0yMDcuOXoiLz48L3N2Zz4=");
    mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNDYyLjMgNjIuNkM0MDcuNSAxNS45IDMyNiAyNC4zIDI3NS43IDc2LjJMMjU2IDk2LjVsLTE5LjctMjAuM0MxODYuMSAyNC4zIDEwNC41IDE1LjkgNDkuNyA2Mi42Yy02Mi44IDUzLjYtNjYuMSAxNDkuOC05LjkgMjA3LjlsMTkzLjUgMTk5LjhjMTIuNSAxMi45IDMyLjggMTIuOSA0NS4zIDBsMTkzLjUtMTk5LjhjNTYuMy01OC4xIDUzLTE1NC4zLTkuOC0yMDcuOXoiLz48L3N2Zz4=");
    -webkit-mask-size: contain; mask-size: contain;
    -webkit-mask-position: center; mask-position: center;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}

/* Modallar ve Popup Tasarımı */
.modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(255, 192, 203, 0.3); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    z-index: 1000; display: none; align-items: center; justify-content: center;
    opacity: 0; transition: opacity 0.4s ease;
}

.modal-overlay.active { display: flex; opacity: 1; }

.modal-content {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255,255,255,0.5);
    border-radius: 24px; width: 90%; max-width: 500px;
    position: relative; 
    box-shadow: 0 20px 40px rgba(0,0,0,0.1), 0 0 40px rgba(255, 77, 109, 0.2);
    transform: scale(0.8) translateY(30px); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    text-align: center; overflow: hidden; padding: 0;
}

.modal-overlay.active .modal-content { transform: scale(1) translateY(0); }

.modal-body {
    padding: 40px 30px 30px 30px; 
    max-height: 85vh; overflow-y: auto;
}

.close-btn {
    position: absolute; top: 15px; right: 15px; font-size: 24px; color: #ff4d6d;
    cursor: pointer; background: rgba(255, 255, 255, 0.9); border: none; outline: none; 
    transition: transform 0.3s; z-index: 10;
    width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.close-btn:hover { transform: rotate(90deg) scale(1.1); }

.modal-title { font-family: 'Dancing Script', cursive; font-size: 36px; color: #d81b60; margin-bottom: 10px; }
.modal-date { font-size: 14px; color: #888; font-weight: 600; margin-bottom: 20px; display: block; }
.modal-image { width: 100%; border-radius: 16px; margin-bottom: 20px; box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
.modal-text { font-size: 16px; color: #444; line-height: 1.6; text-align: left; }

.modal-body::-webkit-scrollbar { width: 6px; }
.modal-body::-webkit-scrollbar-track { background: transparent; }
.modal-body::-webkit-scrollbar-thumb { background: #ffb6c1; border-radius: 10px; }