@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif&family=Lobster&family=Montserrat:wght@400;700&display=swap');

body { background-color: #5D3A6B; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 40px 20px; margin: 0; box-sizing: border-box; }
.container { text-align: center; width: 100%; max-width: 900px; position: relative; }
h1 { font-family: 'Lobster', cursive; font-size: 4rem; color: #ffffff; text-shadow: 2px 2px 8px rgba(0,0,0,0.4); }
p { font-family: 'Montserrat', sans-serif; font-size: 1.2rem; color: #dcdde1; margin-bottom: 40px; }
.map-container, .bottom-section-container, .extra-sections-container, .gallery-container, .stardew-surprise, .another-surprise, .signature-section { margin-top: 40px; }
.map-container { display: flex; justify-content: space-around; gap: 20px; flex-wrap: wrap; }
.map-box { background-color: rgba(255, 255, 255, 0.1); padding: 15px; border-radius: 15px; border: 2px solid white; box-shadow: 0 10px 20px rgba(0,0,0,0.2); width: 100%; max-width: 400px; height: 350px; }
.bottom-section-container { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }
.photo-frame { background-color: rgba(255, 255, 255, 0.1); padding: 15px; border-radius: 15px; border: 2px solid white; box-shadow: 0 10px 20px rgba(0,0,0,0.2); width: 100%; max-width: 400px; height: 350px; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; }
.framed-photo { max-width: 90%; max-height: 80%; object-fit: contain; border-radius: 8px; border: 3px solid #e84393; box-shadow: 0 5px 15px rgba(0,0,0,0.1); margin-top: 10px; }
.map-box h2, .photo-frame h2 { font-family: 'Montserrat', sans-serif; color: white; margin-top: 0; margin-bottom: 10px; }
.map-box iframe { border-radius: 8px; }
.extra-sections-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.countdown-box, .spotify-box { background-color: rgba(255, 255, 255, 0.1); padding: 20px; border-radius: 15px; border: 2px solid white; box-shadow: 0 10px 20px rgba(0,0,0,0.2); width: 100%; max-width: 400px; min-height: 180px; display: flex; flex-direction: column; }
.countdown-box h2, .spotify-box h2 { font-family: 'Montserrat', sans-serif; color: white; margin-top: 0; margin-bottom: 20px; }
.countdown-timer { display: flex; justify-content: space-around; color: white; text-align: center; margin-top: auto; margin-bottom: auto; }
.countdown-timer div { display: flex; flex-direction: column; }
.countdown-timer span { font-size: 2.5rem; font-weight: bold; }
.countdown-timer small { font-family: 'Montserrat', sans-serif; font-size: 0.8rem; color: #dcdde1; }
.spotify-box iframe { border-radius: 12px; height: 80px; width: 100%; }
.gallery-container h2 { font-family: 'Montserrat', sans-serif; color: white; margin-top: 0; margin-bottom: 20px; }
.photo-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 15px; }
.photo-gallery img { width: 100%; height: 180px; object-fit: cover; border-radius: 10px; border: 3px solid white; filter: grayscale(100%); transition: all 0.4s ease-in-out; }
.photo-gallery img:hover { filter: grayscale(0%); transform: scale(1.05) rotate(2deg); box-shadow: 0 10px 20px rgba(0,0,0,0.3); }
.big-heart { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 15rem; z-index: 1000; opacity: 0; animation: initialHeart 1.5s ease-out forwards; pointer-events: none; }
@keyframes initialHeart { 0% { opacity: 0; transform: translate(-50%, -50%) scale(0.1); } 70% { opacity: 1; transform: translate(-50%, -50%) scale(1.2); } 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
.reveal-on-scroll { opacity: 0; transform: translateY(50px); transition: all 0.8s cubic-bezier(0.5, 0, 0, 1); }
.reveal-on-scroll.visible { opacity: 1; transform: translateY(0); }
.stardew-surprise { margin-top: 40px; }
.stardew-surprise h2 { font-family: 'Montserrat', sans-serif; color: white; margin-top: 0; margin-bottom: 20px; }
.stardew-surprise img { max-width: 100%; width: 700px; border-radius: 15px; border: 4px solid #f7b731; box-shadow: 0 10px 20px rgba(0,0,0,0.3); }
.another-surprise { margin-top: 40px; }
.another-surprise h2 { font-family: 'Montserrat', sans-serif; color: white; margin-top: 0; margin-bottom: 20px; }
.another-surprise img { max-width: 100%; width: 700px; border-radius: 15px; border: 4px solid #ffffff; box-shadow: 0 10px 20px rgba(0,0,0,0.3); }

/* İMZA BÖLÜMÜ STİLLERİ (SADECE FONT DEĞİŞTİRİLDİ) */
.signature-section {
  width: 100%;
  padding-bottom: 20px;
}
.signature-divider {
  border: 0;
  height: 1px;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
  margin-top: 60px;
  margin-bottom: 30px;
}
.final-message {
  font-family: 'Instrument Serif', serif;
  font-size: 2.5rem;
  color: #dcdde1;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
  margin: 0;
}
.signature {
  font-family: 'Instrument Serif', serif;
  font-size: 2rem;
  color: #ffffff;
  margin-top: 10px;
}