/* GENEL AYARLAR */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: #fdfdfd;
    font-family: 'Lora', serif;
    color: #444;
    overflow-x: clip;
}

.hidden { display: none !important; pointer-events: none !important; }

/* 1. ZARF EKRANI */
#envelope-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    z-index: 500;
    background-color: #f4f1ee;
    display: flex; justify-content: center; align-items: center;
    overflow: hidden;
}
#envelope-overlay video { width: 100vw; height: 100vh; object-fit: fill; }
#seal-clicker { position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer; z-index: 510; }

/* 2. KUŞLU EKRAN & KARARTMA KATMANI */
#looping-screen {
    position: relative;
    width: 100vw; height: 100vh;
    background: #000;
    overflow: hidden;
}

#looping-screen::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.55);
    z-index: 5;
}

#bg-loop-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.overlay-content {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 24px;
    z-index: 10;
}

.center-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 56rem;
}

.top-title { 
    font-family: 'Lora', serif;
    font-size: 12px;
    height: 16px;
    line-height: 16px;
    letter-spacing: 6px;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    margin-bottom: 24px;
    display: block;
}

.main-names { 
    display: block;
    width: 100%;
}

.main-names .name {
    font-family: 'Great Vibes', cursive;
    font-size: 48px;
    font-weight: 400;
    height: 60px;
    line-height: 60px;
    color: rgb(255, 255, 255);
    display: block;
    filter: drop-shadow(rgba(0, 0, 0, 0.04) 0px 10px 8px) drop-shadow(rgba(0, 0, 0, 0.1) 0px 4px 3px);
}

.main-names .ampersand {
    font-family: 'UnifrakturMaguntia', cursive !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    height: 32px;
    line-height: 32px;
    color: rgb(238, 179, 43);
    margin-top: 8px;
    margin-bottom: 8px;
    display: block;
    filter: drop-shadow(rgba(0, 0, 0, 0.07) 0px 4px 3px) drop-shadow(rgba(0, 0, 0, 0.06) 0px 2px 2px);
}

.flex-items-center-gap-4 {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 16px;
    height: 28px;
    margin-top: 24px;
    margin-bottom: 24px;
}

.h-px-bg-white-w-20 {
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5);
    width: 50px;
}

@media (min-width: 768px) {
    .h-px-bg-white-w-20 { width: 80px; }
}

.text-gold-✦ {
    color: rgb(238, 179, 43);
    font-size: 18px;
    filter: drop-shadow(rgba(0, 0, 0, 0.4) 0px 4px 3px);
}

.date-title { 
    font-family: "Cormorant Garamond", serif;
    font-size: 16px;
    font-style: italic;
    height: 24px;
    line-height: 24px;
    letter-spacing: 0.8px;
    color: rgba(255, 255, 255, 0.9);
    margin-top: 0px; 
    display: block;
    filter: drop-shadow(rgba(0, 0, 0, 0.07) 0px 4px 3px) drop-shadow(rgba(0, 0, 0, 0.06) 0px 2px 2px);
}

#enter-site-trigger {
    position: absolute;
    bottom: 40px;
    cursor: pointer;
    z-index: 20;
}

.bottom-cta { 
    font-family: 'Lora', serif; 
    font-size: 12px; 
    color: #ffffffcc; 
    letter-spacing: 2px; 
    margin-bottom: 10px;
    text-transform: uppercase;
}
.arrow-down { 
    margin: 0 auto; 
    animation: bounce 2s infinite; 
    border-top: 8px solid #ffffffcc; 
    border-left: 6px solid transparent; 
    border-right: 6px solid transparent; 
    width: 0; height: 0; 
}

/* 3. GERİ SAYIM ALANI */
#countdown-section {
    background-color: #828e70; 
    padding: 100px 20px;
    text-align: center;
    color: #ffffff;
}

.countdown-title { font-family: 'Great Vibes', cursive; font-size: 48px; color: #ffffff; margin-bottom: 10px; }
.countdown-subtitle { font-family: 'Great Vibes'; font-size: 36px; color: #ffffffb3; margin-bottom: 40px; }

.countdown-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    max-width: 350px;
    margin: 0 auto;
}

.countdown-box {
    border: 1px solid rgba(255, 255, 255, 0.4);
    padding: 30px 10px;
    border-radius: 8px;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.countdown-box span { display: block; font-family: 'Lora', serif; font-size: 2.5rem; margin-bottom: 5px; }
.countdown-box p { font-family: 'Montserrat', sans-serif; font-size: 0.75rem; letter-spacing: 2px; opacity: 0.8; }

/* 4. KONUM VE ADRES BÖLÜMÜ (YENİ EKLENENLER) */
#main-content {
    padding: 80px 24px;
    background-color: #fdfdfd;
}

.details h3 {
    font-family: 'Lora', serif;
    font-size: 24px;
    text-align: center;
    color: #828e70; /* Adaçayı Yeşili */
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 40px;
}

.venue-details {
    text-align: center;
    max-width: 600px;
    margin: 0 auto 40px auto;
}

.venue-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 36px;
    color: #444;
    margin-bottom: 15px;
}

.venue-address {
    font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    font-style: italic;
    color: #666;
    line-height: 1.6;
    letter-spacing: 0.5px;
}

.map-container iframe {
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border: 1px solid #eee;
}

/* RSVP FORM */
.rsvp-container {
    margin-top: 80px;
    scroll-margin-top: 24px;
}

.form-wrapper {
    position: relative;
    max-width: 700px;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border: 1px solid #eee;
    isolation: isolate;
    z-index: 2;
    pointer-events: auto;
}

.form-wrapper iframe {
    display: block;
    width: 100%;
    border: 0;
    background: #fff;
    pointer-events: auto;
}

/* SES KONTROLÜ */
.music-control { position: fixed; bottom: 20px; right: 20px; z-index: 600; cursor: pointer; }
.music-icon { 
    background: rgba(0, 0, 0, 0.4); 
    padding: 10px; 
    border-radius: 50%; 
    backdrop-filter: blur(5px); 
    border: 1px solid rgba(255,255,255,0.1); 
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
}

#fade-screen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: white; z-index: 1000; opacity: 0; pointer-events: none; transition: opacity 0.8s ease-in-out; }

@keyframes bounce { 0%, 20%, 50%, 80%, 100% {transform: translateY(0);} 40% {transform: translateY(-8px);} }