:root{--ink:#39342f;--gold:#b68b47;--gold-dark:#8f682f;--cream:#fbf8f1;--line:rgba(150,120,70,.22);--blush:#f5e9e4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 10% 10%,#fff 0,#fbf7ee 42%,#f4eee3 100%);color:var(--ink);font-family:Montserrat,Arial,sans-serif;line-height:1.65}
body:before,body:after{content:"";position:fixed;z-index:-1;width:34vw;height:34vw;filter:blur(10px);opacity:.42;background:radial-gradient(circle at 40% 40%,rgba(183,141,69,.15),transparent 65%);pointer-events:none}body:before{left:-8vw;top:28vh}body:after{right:-8vw;bottom:0}
.nav{height:76px;padding:0 clamp(20px,7vw,110px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(251,248,241,.86);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.brand,.footer-names{font-family:'Great Vibes',cursive;font-size:2rem;color:var(--ink);text-decoration:none}.brand span,.footer-names span,h1 span{color:var(--gold);font-family:'Cormorant Garamond',serif}.nav nav{display:flex;gap:28px}.nav nav a{text-decoration:none;color:var(--ink);text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;padding:28px 0 20px}.nav nav a.active,.nav nav a:hover{color:var(--gold);border-bottom:2px solid var(--gold)}.menu-toggle{display:none;border:0;background:transparent;font-size:1.5rem;color:var(--ink)}
.section{padding:90px clamp(24px,9vw,140px);border-bottom:1px solid var(--line)}h2{text-align:center;text-transform:uppercase;font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:.1em;color:var(--gold-dark);font-size:clamp(1.55rem,3vw,2rem);margin:0 0 6px}.ornament{text-align:center;color:var(--gold);letter-spacing:.15em;margin:5px 0 28px}.ornament.small{margin-top:8px}.eyebrow{font-family:'Cormorant Garamond',serif;letter-spacing:.12em;font-size:clamp(1rem,2vw,1.35rem);color:var(--gold-dark);text-align:center}
.city-tag{text-align:center;font-size:.68rem;letter-spacing:.22em;color:var(--gold);font-weight:600;margin:0 0 6px}
.nav-switch{color:var(--gold-dark)!important;font-weight:600}.nav-switch:hover{color:var(--gold)!important}
.hero{min-height:620px;display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:40px;padding-top:35px;padding-bottom:35px;overflow:hidden}.hero-copy{padding-left:4vw}.hero h1{font-family:'Great Vibes',cursive;font-weight:400;font-size:clamp(4rem,8vw,8rem);line-height:1.25;margin:10px 0 30px;text-align:center}.hero h1 span{font-size:.58em;margin:0 .08em}.date{text-align:center;font-family:'Cormorant Garamond',serif;font-size:1.35rem;letter-spacing:.12em;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:8px 0;margin:0 auto;width:max-content;max-width:100%}.hero-image-wrap{height:560px;position:relative}.hero-image-wrap:before{content:"∞";position:absolute;font-family:'Cormorant Garamond',serif;font-size:25rem;color:rgba(182,139,71,.08);left:-22%;top:20%;z-index:0}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:4px;box-shadow:0 22px 55px rgba(57,52,47,.15);position:relative;z-index:1}
.details{background:rgba(255,255,255,.28)}.info-grid{max-width:950px;margin:35px auto 26px;display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;align-items:center;text-align:center}.divider{height:64px;background:var(--line)}.info-item{display:flex;flex-direction:column;gap:3px;letter-spacing:.08em}.info-item .icon{font-size:1.6rem;color:var(--gold);margin-bottom:6px}.info-item strong{font-family:'Cormorant Garamond',serif;font-size:1.2rem}.info-item span{font-size:.67rem}.gold-button{display:block;width:max-content;margin:20px auto 0;padding:15px 31px;border:0;border-radius:6px;background:linear-gradient(135deg,var(--gold-dark),#c5a261);color:#fff;text-decoration:none;font:600 .75rem Montserrat,sans-serif;letter-spacing:.14em;cursor:pointer;box-shadow:0 10px 24px rgba(143,104,47,.17)}.gold-button:hover{transform:translateY(-2px)}
.countdown{text-align:center}.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));max-width:800px;margin:25px auto 0;gap:16px}.countdown-grid div{padding:20px 10px;background:rgba(255,255,255,.65);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 25px rgba(57,52,47,.06)}.countdown-grid b{display:block;font-family:'Cormorant Garamond',serif;color:var(--gold-dark);font-size:3.3rem;font-weight:500;line-height:1}.countdown-grid span{font-size:.66rem;letter-spacing:.12em}
.story{display:grid;grid-template-columns:.78fr 1.22fr;gap:60px;align-items:center}.story h2{text-align:left;font-family:'Great Vibes',cursive;text-transform:none;font-size:3.3rem;letter-spacing:0;color:var(--ink)}.story-copy .ornament{text-align:left}.story-copy p{max-width:420px}.heart-line{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:4rem;margin-top:15px}.gallery{position:relative;min-height:430px}.photo{position:absolute;margin:0;padding:9px;background:#fff;box-shadow:0 18px 38px rgba(57,52,47,.18)}.photo img{display:block;width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:transform .35s ease,box-shadow .35s ease}.photo img:hover,.photo img:focus{transform:scale(1.035);box-shadow:0 10px 26px rgba(57,52,47,.28);outline:none}
.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(30,26,22,.86);padding:30px;backdrop-filter:blur(3px)}.lightbox.open{display:flex}.lightbox img{max-width:min(92vw,900px);max-height:88vh;object-fit:contain;border-radius:4px;box-shadow:0 25px 70px rgba(0,0,0,.45);animation:rise .3s ease both;user-select:none}.lightbox-close{position:absolute;top:22px;right:26px;width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.2rem;cursor:pointer;display:grid;place-items:center;z-index:2}.lightbox-close:hover{background:rgba(255,255,255,.18)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;display:grid;place-items:center;z-index:2}.lightbox-nav:hover{background:rgba(255,255,255,.18)}.lightbox-prev{left:18px}.lightbox-next{right:18px}
.lightbox-counter{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:.74rem;letter-spacing:.1em;background:rgba(0,0,0,.3);padding:6px 16px;border-radius:20px}
@media(max-width:640px){.lightbox-nav{width:40px;height:40px;font-size:1.4rem}.lightbox-prev{left:8px}.lightbox-next{right:8px}}
.gallery-extra{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;max-width:900px;margin:34px auto 0}
.gallery-extra figure{margin:0;padding:6px;background:#fff;box-shadow:0 10px 24px rgba(57,52,47,.14)}
.gallery-extra img{display:block;width:100%;height:140px;object-fit:cover;cursor:zoom-in;transition:transform .3s ease,box-shadow .3s ease}
.gallery-extra img:hover,.gallery-extra img:focus{transform:scale(1.035);box-shadow:0 8px 20px rgba(57,52,47,.25);outline:none}.photo-main{width:47%;height:400px;left:26%;top:10px;z-index:3}.photo-left{width:30%;height:270px;left:0;top:110px;transform:rotate(-7deg);z-index:2}.photo-right{width:30%;height:270px;right:0;top:85px;transform:rotate(6deg);z-index:1}
.rsvp{background:rgba(255,255,255,.2)}.rsvp-form{max-width:780px;margin:25px auto 0;text-align:center}.choice-row,.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.choice{border:1px solid var(--line);border-radius:8px;padding:19px;cursor:pointer;letter-spacing:.09em;font-size:.8rem;background:rgba(255,255,255,.5)}.choice input{display:none}.choice.selected{border-color:var(--gold);box-shadow:0 8px 20px rgba(182,139,71,.08);color:var(--gold-dark)}.fields input,.fields select{border:1px solid var(--line);border-radius:8px;padding:16px;background:rgba(255,255,255,.72);font:400 .85rem Montserrat,sans-serif;color:var(--ink);width:100%}.form-note{font-size:.72rem;color:#756c64}.form-message{font-size:.82rem;color:var(--gold-dark);min-height:1.4em}.form-message.error{color:#b33d3d}.gold-button:disabled{opacity:.6;cursor:not-allowed;transform:none}
.photos{background:rgba(255,255,255,.28);text-align:center}.photos-intro{max-width:560px;margin:0 auto 26px;font-size:.9rem;color:#5c554d}.photo-form{max-width:640px;margin:0 auto}.photo-form>input[name="ad"]{width:100%;border:1px solid var(--line);border-radius:8px;padding:16px;background:rgba(255,255,255,.72);font:400 .85rem Montserrat,sans-serif;color:var(--ink);margin-bottom:16px}
.file-drop{display:flex;align-items:center;justify-content:center;border:2px dashed var(--gold);border-radius:10px;padding:26px 16px;cursor:pointer;background:rgba(255,255,255,.5);color:var(--gold-dark);font-size:.85rem;letter-spacing:.03em;margin-bottom:16px;transition:background .2s ease}.file-drop:hover{background:rgba(255,255,255,.8)}.file-drop input{display:none}
.photo-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;margin-bottom:18px}.photo-preview img{width:100%;height:84px;object-fit:cover;border-radius:6px;box-shadow:0 6px 14px rgba(57,52,47,.15)}
.photo-progress{font-size:.72rem;color:var(--gold-dark);letter-spacing:.05em}
.footer{text-align:center;padding:65px 20px 30px;border-top:1px solid var(--line);background:rgba(255,255,255,.25)}.footer p{max-width:440px;margin:0 auto}.footer-names{font-size:3.5rem;margin:8px 0 20px}.footer small{letter-spacing:.08em;color:var(--gold-dark);font-size:.62rem}.to-top{position:fixed;right:25px;bottom:25px;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:white;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.18);font-size:1.4rem}.reveal{animation:rise .8s ease both}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* ---------- Giriş kapıları ---------- */
body.doors-locked{overflow:hidden;height:100vh}
.door-overlay{position:fixed;inset:0;z-index:300;display:flex;cursor:pointer}
.door-overlay.hidden{display:none}
.door{flex:1;position:relative;background:linear-gradient(160deg,#f8f2e4,#e9dcbd 55%,#e2d3ab);box-shadow:inset 0 0 90px rgba(143,104,47,.22);transition:transform 1.15s cubic-bezier(.77,0,.18,1),opacity 1.15s ease}
.door:before{content:"";position:absolute;inset:18px;border:1px solid rgba(143,104,47,.35);pointer-events:none}
.door:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:rgba(143,104,47,.35)}
.door-left{border-right:2px solid var(--gold)}
.door-left:after{right:0}
.door-right{border-left:2px solid var(--gold)}
.door-right:after{left:0}
.door-handle{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--gold-dark);box-shadow:0 0 0 5px rgba(182,139,71,.22);transform:translateY(-50%)}
.door-left .door-handle{right:22px}
.door-right .door-handle{left:22px}
.door-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;text-align:center;color:var(--ink);pointer-events:none;transition:opacity .5s ease}
.door-center .door-ornament{color:var(--gold);letter-spacing:.15em;margin-bottom:8px;font-size:.9rem}
.door-names{font-family:'Great Vibes',cursive;font-size:clamp(2.6rem,7vw,4.6rem);line-height:1}
.door-names span{color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:.6em;margin:0 .1em}
.door-hint{margin-top:18px;font-size:.68rem;letter-spacing:.18em;color:var(--gold-dark);animation:doorPulse 1.8s ease-in-out infinite}
@keyframes doorPulse{0%,100%{opacity:.5}50%{opacity:1}}
.door-overlay.open .door-left{transform:translateX(-100%)}
.door-overlay.open .door-right{transform:translateX(100%)}
.door-overlay.open .door-center{opacity:0}
@media(max-width:640px){.door:before{inset:10px}.door-handle{display:none}}
@media(max-width:800px){.nav{height:64px}.nav nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fbf8f1;padding:8px 24px 20px;flex-direction:column;gap:0;border-bottom:1px solid var(--line)}.nav nav.open{display:flex}.nav nav a{padding:12px 0}.menu-toggle{display:block}.section{padding:65px 22px}.hero{grid-template-columns:1fr;padding-top:55px;gap:25px}.hero-copy{padding:0}.hero h1{font-size:5.5rem}.hero-image-wrap{height:430px}.info-grid{grid-template-columns:1fr;gap:24px}.divider{display:none}.countdown-grid{grid-template-columns:repeat(2,1fr)}.story{grid-template-columns:1fr;gap:20px}.story h2,.story-copy .ornament{text-align:center}.story-copy p{margin-left:auto;margin-right:auto;text-align:center}.heart-line{text-align:center}.gallery{min-height:350px}.photo-main{height:330px;width:52%;left:24%}.photo-left,.photo-right{height:205px;width:34%;top:110px}.choice-row,.fields{grid-template-columns:1fr}.footer-names{font-size:3rem}}
