/* 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; height: 100dvh;
    z-index: 500;
    background-color: #f4f1ee;
    display: flex; justify-content: center; align-items: center;
    overflow: hidden;
}
#envelope-overlay video { width: 100vw; height: 100vh; height: 100dvh; 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; height: 100dvh;
    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: calc(104px + env(safe-area-inset-bottom));
    cursor: pointer;
    z-index: 20;
}

#scroll-hint {
    position: absolute;
    bottom: calc(40px + env(safe-area-inset-bottom));
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
    z-index: 20;
    text-align: center;
}

.scroll-hint-text {
    font-family: 'Lora', serif;
    font-size: 11px;
    color: #ffffffcc;
    letter-spacing: 2px;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.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; 
}

/* BÖLÜM ARASI "AŞAĞI KAYDIR" BUTONU (sticky — bölüm boyunca ekran altında görünür) */
.scroll-more {
    position: sticky;
    bottom: calc(20px + env(safe-area-inset-bottom));
    z-index: 30;
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    width: fit-content;
    margin: 56px auto 0;
    padding: 12px 22px;
    border-radius: 50px;
    backdrop-filter: blur(4px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}
.scroll-more p {
    font-family: 'Lora', serif;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.scroll-more .chevron {
    width: 0; height: 0;
    border-top: 8px solid currentColor;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    animation: bounce 2s infinite;
}
.scroll-more--light { color: #ffffff; background: rgba(0, 0, 0, 0.32); }
.scroll-more--dark { color: #828e70; background: rgba(253, 253, 253, 0.9); }

/* 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;
}

.wedding-label {
    display: block;
    text-align: center;
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 20px;
    color: #b08d2e; /* Altın */
    letter-spacing: 2px;
    margin-bottom: 8px;
}

.wedding-divider {
    width: 60px;
    height: 1px;
    background-color: #d8d8d8;
    margin: 80px auto;
    position: relative;
}
.wedding-divider::after {
    content: "✦";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #b08d2e;
    background: #fdfdfd;
    padding: 0 12px;
    font-size: 14px;
}

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

.venue-event-date {
    font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    font-style: italic;
    color: #828e70; /* Adaçayı Yeşili */
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

.map-link {
    display: inline-block;
    margin-top: 18px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.8rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #828e70;
    text-decoration: none;
    border: 1px solid #828e70;
    padding: 10px 22px;
    border-radius: 50px;
    transition: all 0.25s ease;
}
.map-link:hover {
    background-color: #828e70;
    color: #fff;
}

.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 {
    height: 280px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border: 1px solid #eee;
}

/* GELİN / DAMAT EVİ ADRESİ */
.home-address {
    text-align: center;
    max-width: 600px;
    margin: 32px auto 0 auto;
}

.home-address-label {
    display: block;
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 22px;
    color: #b08d2e; /* Altın */
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}

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

.home-schedule {
    list-style: none;
    margin: 16px auto 18px auto;
    padding: 0;
    width: fit-content;
    text-align: left;
}

.home-schedule li {
    font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    color: #666;
    letter-spacing: 0.5px;
    line-height: 1.9;
}

.home-schedule .schedule-time {
    display: inline-block;
    min-width: 58px;
    font-weight: 600;
    color: #b08d2e; /* Altın */
    margin-right: 8px;
}

@media (max-width: 600px) {
    #main-content { padding: 56px 20px; }
    .map-container iframe { height: 220px; }
    .venue-details { margin-bottom: 28px; }
    .wedding-divider { margin: 48px auto; }
    .scroll-more { margin-top: 40px; }
}

/* 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);} }