/* Beyza & Ekrem — inci & şampanya altını */
:root{
  --zemin:#fbf8f3; --zemin-2:#f4ede3; --zemin-3:#ece2d4; --zemin-kart:#fffdf9;
  --altin:#c6a477; --altin-acik:#d6c29a; --altin-koyu:#9f7c3e; --altin-cizgi:rgba(198,164,119,.42);
  --murekkep:#6e5748; --murekkep-2:#806f54; --murekkep-3:#a79384;
  --dolgu:#fffcf6; --gobek:#f2e2bf; --cizgi:#c6a477; --damar:#cdb184; --nokta:#a8834a;
  --golge:0 22px 48px -26px rgba(104,74,38,.38);
  --yazi:"Cormorant Garamond", "Times New Roman", serif;
  --el:"Parisienne", "Brush Script MT", cursive;
  --ince:"Marcellus", "Cormorant Garamond", serif;
  --doku:none;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--zemin);color:var(--murekkep);font:500 18px/1.55 var(--yazi);font-feature-settings:"lnum" 1;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.kapali{overflow:hidden;height:100svh}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
a{color:inherit}
[hidden]{display:none !important}
img{max-width:100%;display:block}
::selection{background:#ecdcbf}

/* ---------- çiçek çizgileri (cizim.js) ---------- */
.yaprak{fill:var(--dolgu);stroke:var(--cizgi);stroke-linejoin:round}
.damar{fill:none;stroke:var(--damar);stroke-linecap:round;opacity:.9}
.gobek{fill:var(--gobek);stroke:var(--cizgi)}
.nokta{fill:var(--nokta)}
.dal{fill:none;stroke:var(--damar);stroke-linecap:round;stroke-linejoin:round}
.inci{fill:url(#gInci);stroke:#d6c8b5;stroke-width:.45}
.inci-ip{fill:none;stroke:#d7c7ae;stroke-width:.7;opacity:.8}
.ciz .yaprak,.ciz .dal,.ciz .gobek{stroke-dasharray:1 1;stroke-dashoffset:1}
.ciz .yaprak,.ciz .gobek{fill-opacity:0}
.ciz .damar,.ciz .nokta,.ciz .inciler{opacity:0}
.ciz.basla .yaprak,.ciz.basla .dal,.ciz.basla .gobek{stroke-dashoffset:0;fill-opacity:1;transition:stroke-dashoffset 2.2s cubic-bezier(.45,.05,.2,1) var(--d,0s),fill-opacity 1.2s ease calc(var(--d,0s) + 1.3s)}
.ciz.basla .damar,.ciz.basla .nokta{opacity:.9;transition:opacity 1s ease calc(var(--d,0s) + 1.5s)}
.ciz.basla .inciler{opacity:1;transition:opacity 1.6s ease calc(var(--d,0s) + .4s)}

/* ================= AÇILIŞ KAPISI ================= */
#kapi{position:fixed;inset:0;z-index:50;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;overflow:hidden}
.kapi-sahne{position:absolute;inset:0;perspective:1100px;transform-origin:50% 58%}
.kapi-isik{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(62% 46% at 50% 56%,rgba(255,242,216,.96),rgba(255,228,184,.42) 46%,rgba(255,228,184,0) 76%)}
.kapi-kusak{position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,rgba(255,255,255,0) 41%,rgba(255,255,255,.34) 50%,rgba(255,255,255,0) 59%);background-size:270% 100%;background-repeat:no-repeat;animation:kusak 8.5s ease-in-out 1.5s infinite;transition:opacity .4s}
@keyframes kusak{0%,52%{background-position:135% 0}100%{background-position:-35% 0}}
.kapi-yarik{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;pointer-events:none;opacity:0;
  background:linear-gradient(rgba(255,236,200,0) 4%,rgba(255,238,206,.95) 32%,rgba(255,246,222,1) 60%,rgba(255,236,200,0) 96%);box-shadow:0 0 18px 6px rgba(255,214,150,.5)}
.muhur-dalga{position:absolute;left:50%;top:60%;width:var(--muhur);height:var(--muhur);margin:calc(var(--muhur) / -2) 0 0 calc(var(--muhur) / -2);border-radius:50%;pointer-events:none;
  border:1.5px solid rgba(201,166,110,.75);opacity:0;animation:muhurNefes 3.8s ease-out 2s infinite}
@keyframes muhurNefes{0%{transform:scale(.92);opacity:.55}100%{transform:scale(1.6);opacity:0}}
@keyframes muhurDalga{0%{transform:scale(.9);opacity:.85}100%{transform:scale(3.4);opacity:0}}
@keyframes isikAc{0%{opacity:0}38%{opacity:.78}72%{opacity:.5}100%{opacity:0}}
@keyframes yarik{0%{opacity:0;transform:scaleX(1)}30%{opacity:1;transform:scaleX(1.5)}100%{opacity:0;transform:scaleX(16)}}
.kanat{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;will-change:transform;
  background:
    radial-gradient(70% 45% at 50% 34%, rgba(255,255,255,.75), rgba(255,255,255,0) 70%),
    radial-gradient(60% 40% at 30% 85%, rgba(236,224,207,.8), rgba(236,224,207,0) 70%),
    linear-gradient(168deg,#fbf7f1 0%,#f2e9dd 42%,#f8f2ea 68%,#ebdfcf 100%);
  background-size:200% 100%}
.kanat.sol{left:0;transform-origin:0 50%;background-position:0 0}
.kanat.sag{right:0;transform-origin:100% 50%;background-position:100% 0}
.kanat::before{content:"";position:absolute;inset:0;background-image:var(--doku);background-size:160px;opacity:.55;mix-blend-mode:multiply;pointer-events:none}
.kanat.sol::after,.kanat.sag::after{content:"";position:absolute;top:0;bottom:0;width:34px;pointer-events:none}
.kanat.sol::after{right:0;background:linear-gradient(90deg,rgba(120,90,50,0),rgba(120,90,50,.13))}
.kanat.sag::after{left:0;background:linear-gradient(270deg,rgba(120,90,50,0),rgba(120,90,50,.13))}
.kanat-resim{position:absolute;top:0;height:100%}
.kanat.sol .kanat-resim{left:0}
.kanat.sag .kanat-resim{right:0}
.kapi-cizgi{fill:none;stroke:var(--altin);stroke-width:1.3;stroke-opacity:.8}
.kapi-cizgi.ince{stroke-width:.9;stroke-opacity:.6}
.kapi-cizgi.silik{stroke-width:.7;stroke-opacity:.32}
.zincir{stroke:#b19162;stroke-width:.9;stroke-dasharray:2.2 1.6}
.fener-hale{opacity:.6;animation:fenerNefes 5.6s ease-in-out var(--d,0s) infinite alternate}
.fener-alev{animation:fenerNefes 5.6s ease-in-out var(--d,0s) infinite alternate}
@keyframes fenerNefes{from{opacity:.55}to{opacity:.95}}

.muhur-yari{position:absolute;top:calc(60% - var(--muhur) / 2 - 24px);width:calc(var(--muhur) / 2 + 24px);height:calc(var(--muhur) + 48px);overflow:hidden;transition:transform .5s cubic-bezier(.3,.1,.2,1)}
.kanat.sol .muhur-yari{right:0}
.kanat.sag .muhur-yari{left:0}
.muhur-yari svg{position:absolute;top:24px;width:var(--muhur);height:var(--muhur);filter:drop-shadow(0 6px 8px rgba(96,68,32,.3))}
.kanat.sol .muhur-yari svg{left:24px}
.kanat.sag .muhur-yari svg{right:24px}
.muhur-harf text{font:400 40px var(--el)}
.muhur-ve{font:italic 600 18px var(--yazi)}
#kapi:hover .muhur-yari,#kapi:focus-visible .muhur-yari{transform:scale(1.03)}

.kapi-yazi{position:absolute;left:0;right:0;top:calc(60% - var(--muhur) / 2 - 104px);text-align:center;pointer-events:none;padding:0 28px;transition:opacity .6s ease}
.kapi-hitap{margin:0 0 8px;font:400 27px/1.25 var(--el);color:var(--altin-koyu)}
.kapi-cagri{margin:0;font:400 13px/1.9 var(--ince);letter-spacing:.2em;text-transform:uppercase;color:var(--murekkep-2);animation:nefes 3.6s ease-in-out infinite alternate}
@keyframes nefes{from{opacity:.55}to{opacity:1}}

#kapi.aciliyor{cursor:default}
#kapi.aciliyor .kapi-yazi{opacity:0}
#kapi.aciliyor .kapi-sahne{transform:scale(1.17);transition:transform 3.3s cubic-bezier(.45,.04,.25,1) .45s}
#kapi.aciliyor .kapi-isik{animation:isikAc 3.4s ease .35s forwards}
#kapi.aciliyor .kapi-yarik{animation:yarik 1.6s ease .1s forwards}
#kapi.aciliyor .kapi-kusak{opacity:0}
#kapi.aciliyor .muhur-dalga{animation:muhurDalga 1.5s cubic-bezier(.2,.6,.3,1) forwards;border-width:2px}
#kapi.aciliyor .kanat.sol .muhur-yari{transform:translateX(-7px) rotate(-5deg) scale(.97)}
#kapi.aciliyor .kanat.sag .muhur-yari{transform:translateX(7px) rotate(5deg) scale(.97)}
#kapi.aciliyor .kanat{transition:transform 2.9s cubic-bezier(.5,.04,.26,1) .5s, opacity .9s ease 2.5s}
#kapi.aciliyor .kanat.sol{transform:rotateY(84deg);opacity:0}
#kapi.aciliyor .kanat.sag{transform:rotateY(-84deg);opacity:0}
#kapi.sade.aciliyor .kanat,#kapi.sade.aciliyor .kapi-sahne{transition:opacity .7s ease;transform:none}
#kapi.sade .kapi-isik,#kapi.sade .kapi-yarik,#kapi.sade .muhur-dalga,#kapi.sade .kapi-kusak{display:none}
#kapi.bitti{display:none}

/* ================= CANLI SATEN ARKA PLAN (saten.js) ================= */
#saten{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:none}
html.saten-canli #saten{display:block}
html.saten-canli .giris{background:transparent}
html.saten-canli .giris::after,html.saten-canli .saten{display:none}
html.saten-canli .bolum{background:linear-gradient(180deg,rgba(251,248,243,.86) 0%,rgba(255,253,249,.9) 100%)}
html.saten-canli .bolum.koyu{background:linear-gradient(180deg,rgba(255,253,249,.9) 0%,rgba(244,237,227,.86) 100%)}
html.saten-canli .bolum.son{background:linear-gradient(180deg,rgba(251,248,243,.86) 0%,rgba(251,248,243,.35) 100%)}
/* köşe inci-çiçek kümeleri esinti varmış gibi hafifçe salınır */
.kose.ust-sol{transform-origin:0 0;animation:salinUst 9s ease-in-out infinite alternate}
.kose.alt-sag{transform-origin:100% 100%;animation:salinAlt 10s ease-in-out -3s infinite alternate}
@keyframes salinUst{from{transform:rotate(-1.4deg)}to{transform:rotate(1.6deg)}}
@keyframes salinAlt{from{transform:rotate(181.4deg)}to{transform:rotate(178.4deg)}}

/* ================= MÜZİK ================= */
.muzik{position:fixed;top:max(14px, env(safe-area-inset-top));left:12px;z-index:40;width:42px;height:42px;border-radius:50%;border:0;
  background:linear-gradient(145deg,#d1b07c,#a8834c);color:#fffaf0;display:grid;place-items:center;box-shadow:0 8px 20px -8px rgba(110,78,36,.55);
  opacity:0;transform:scale(.8);transition:opacity .8s ease,transform .8s ease}
.muzik.hazir{opacity:1;transform:none}
.muzik svg{width:20px;height:20px;grid-area:1/1}
.muzik .m-dur{display:none}
.muzik[aria-pressed="true"] .m-dur{display:block}
.muzik[aria-pressed="true"] .m-cal{display:none}
.muzik-halka{grid-area:1/1;width:42px;height:42px;border-radius:50%;border:1px solid rgba(198,164,119,.7);opacity:0}
.muzik[aria-pressed="true"] .muzik-halka{animation:halka 3.2s ease-out infinite}
@keyframes halka{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}

/* ================= GİRİŞ ================= */
.giris{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;padding:88px 22px 110px;text-align:center;
  background:
    radial-gradient(110% 60% at 18% 8%, #fffdf9 0%, rgba(255,253,249,0) 62%),
    radial-gradient(90% 55% at 88% 92%, #eadfce 0%, rgba(234,223,206,0) 66%),
    linear-gradient(172deg,#f9f4ed 0%,#f0e7da 52%,#f7f1e8 100%)}
.giris::after{content:"";position:absolute;inset:0;background-image:var(--doku);background-size:160px;opacity:.5;mix-blend-mode:multiply;pointer-events:none}
.saten{position:absolute;inset:-20%;pointer-events:none}
.saten span{position:absolute;border-radius:50%;will-change:transform}
.saten span:nth-child(1){left:-10%;top:6%;width:90%;height:38%;background:radial-gradient(closest-side,rgba(255,255,255,.85),rgba(255,255,255,0));transform:rotate(-24deg);animation:suzul1 26s ease-in-out infinite alternate}
.saten span:nth-child(2){right:-12%;top:38%;width:85%;height:30%;background:radial-gradient(closest-side,rgba(226,212,192,.75),rgba(226,212,192,0));transform:rotate(-18deg);animation:suzul2 31s ease-in-out infinite alternate}
.saten span:nth-child(3){left:6%;bottom:0;width:80%;height:30%;background:radial-gradient(closest-side,rgba(255,252,246,.9),rgba(255,252,246,0));transform:rotate(-30deg);animation:suzul1 37s ease-in-out -9s infinite alternate}
@keyframes suzul1{from{transform:translate(0,0) rotate(-24deg)}to{transform:translate(9%,4%) rotate(-16deg)}}
@keyframes suzul2{from{transform:translate(0,0) rotate(-18deg)}to{transform:translate(-8%,-5%) rotate(-26deg)}}
#isiltilar{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.kose{position:absolute;width:min(62vw,330px);height:auto;pointer-events:none;opacity:.95}
.kose.ust-sol{left:-14px;top:-14px}
.kose.alt-sag{right:-14px;bottom:-14px;transform:rotate(180deg)}
.giris-ic{position:relative;z-index:2;max-width:520px}
.ust-yazi{margin:0 0 8px;font:400 12px var(--ince);letter-spacing:.42em;text-transform:uppercase;color:var(--altin-koyu);padding-left:.42em}
.isimler{margin:0;font:400 clamp(54px,15.5vw,86px)/1.12 var(--el);color:var(--murekkep);font-weight:400;
  background:linear-gradient(176deg,#6f5539 10%,#a17d48 52%,#6a5034 92%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding:0 .15em}
.isimler .ve{display:block;font:italic 400 .42em/1.2 var(--yazi);color:var(--altin);-webkit-text-fill-color:var(--altin);margin:-.1em 0 -.06em}
.tarih-satir{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:26px auto 4px;max-width:340px}
.tarih-satir .yan{font:400 13px var(--ince);letter-spacing:.28em;text-transform:uppercase;color:var(--murekkep-2);padding:9px 0;border-top:1px solid var(--altin-cizgi);border-bottom:1px solid var(--altin-cizgi)}
.tarih-satir .gun{font:500 64px/1 var(--yazi);color:var(--altin-koyu);min-width:1.2em}
.tarih-satir .yil{grid-column:1/-1;font:400 14px var(--ince);letter-spacing:.5em;color:var(--altin);padding-left:.5em;margin-top:6px}
.tarih-satir .saat{grid-column:1/-1;font:italic 500 17px var(--yazi);color:var(--murekkep-2);margin-top:2px}
.aileler{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin:28px auto 30px;max-width:420px}
.aile{font:italic 500 17px/1.35 var(--yazi);color:var(--murekkep-2)}
.aile b{display:block;margin-top:5px;font:400 12.5px var(--ince);font-style:normal;letter-spacing:.24em;text-transform:uppercase;color:var(--murekkep)}
.aile-ayrac{width:1px;height:56px;background:linear-gradient(transparent,var(--altin-cizgi),transparent);position:relative}
.aile-ayrac::after{content:"";position:absolute;left:-3px;top:calc(50% - 3px);width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#e4d8c8 70%,#cdbba6)}
.kaydir{position:absolute;left:50%;bottom:max(20px, env(safe-area-inset-bottom));transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:2px;
  text-decoration:none;font:400 11px var(--ince);letter-spacing:.3em;text-transform:uppercase;color:var(--murekkep-3);padding-left:.3em}
.kaydir svg{width:22px;height:22px;animation:sallan 2.6s ease-in-out infinite}
@keyframes sallan{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* giriş belirişi: kapı açılırken */
.belir{opacity:0;transform:translateY(14px);transition:opacity 1.3s ease,transform 1.3s cubic-bezier(.2,.7,.2,1)}
body.acildi .belir{opacity:1;transform:none}
body.acildi .belir:nth-child(2){transition-delay:.15s}
body.acildi .belir:nth-child(3){transition-delay:.35s}
body.acildi .belir:nth-child(4){transition-delay:.55s}
body.acildi .belir:nth-child(5){transition-delay:.75s}
/* buğudan netleşme + isimler kalemle yazılıyormuş gibi soldan sağa */
.giris-ic{transition:filter 2s ease .2s,transform 2.8s cubic-bezier(.2,.7,.2,1) .1s}
body.kapali .giris-ic{filter:blur(10px);transform:scale(1.07)}
.isimler{-webkit-mask-image:linear-gradient(100deg,#000 40%,rgba(0,0,0,0) 60%);mask-image:linear-gradient(100deg,#000 40%,rgba(0,0,0,0) 60%);
  -webkit-mask-size:300% 100%;mask-size:300% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:100% 0;mask-position:100% 0}
body.acildi .isimler.belir{-webkit-mask-position:0 0;mask-position:0 0;
  transition:opacity 1s ease .45s,transform 1.4s cubic-bezier(.2,.7,.2,1) .45s,-webkit-mask-position 2.8s cubic-bezier(.42,.1,.3,1) .65s,mask-position 2.8s cubic-bezier(.42,.1,.3,1) .65s}
.ust-yazi.belir{letter-spacing:.9em}
body.acildi .ust-yazi.belir{letter-spacing:.42em;transition:opacity 1.4s ease .2s,transform 1.4s ease .2s,letter-spacing 2.4s cubic-bezier(.2,.7,.2,1) .2s}

/* ================= DÜĞMELER ================= */
.dugme{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 24px;border-radius:999px;
  border:1px solid var(--altin);background:rgba(255,253,249,.7);color:var(--altin-koyu);text-decoration:none;
  font:400 12.5px var(--ince);letter-spacing:.2em;text-transform:uppercase;transition:background .3s,color .3s,box-shadow .3s,transform .2s}
.dugme svg{width:18px;height:18px;flex:none}
.dugme:hover{background:#fff}
.dugme:active{transform:scale(.98)}
.dugme.dolu{background:linear-gradient(145deg,#cfae7f,#b08d58);border-color:transparent;color:#fffaf0;box-shadow:0 10px 22px -12px rgba(120,84,36,.7)}
.dugme.dolu:hover{background:linear-gradient(145deg,#d1b07a,#ad8851)}
.dugme.genis{width:100%}
.dugme:disabled{opacity:.45;cursor:not-allowed}
.dugme.parilti{animation:parilti 3.4s ease-in-out infinite}
@keyframes parilti{0%,100%{box-shadow:0 0 0 0 rgba(201,166,110,0)}50%{box-shadow:0 0 22px 2px rgba(201,166,110,.45)}}

/* ================= BÖLÜMLER ================= */
.bolum{position:relative;padding:84px 20px;background:linear-gradient(180deg,var(--zemin) 0%,#fffdf9 100%)}
.bolum.koyu{background:linear-gradient(180deg,#fffdf9 0%,var(--zemin-2) 100%)}
.bolum::before{content:"";position:absolute;inset:0;background-image:var(--doku);background-size:160px;opacity:.35;mix-blend-mode:multiply;pointer-events:none}
.bolum-ic{position:relative;max-width:520px;margin:0 auto;text-align:center}
.bolum-ic.genis{max-width:760px}
.ust-not{margin:0 0 2px;font:400 11.5px var(--ince);letter-spacing:.38em;text-transform:uppercase;color:var(--altin);padding-left:.38em}
.baslik{margin:0;font:400 clamp(40px,11vw,54px)/1.2 var(--el);color:var(--murekkep);font-weight:400}
.ayrac-yer{display:flex;justify-content:center;margin:6px 0 10px}
.ayrac{width:190px;height:22px}
.alt-not{white-space:pre-line;line-height:1.9;margin:0 0 30px;font:400 13px var(--ince);letter-spacing:.2em;text-transform:uppercase;color:var(--altin-koyu)}
.gozle{opacity:0;transform:translateY(22px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.gozle.gorundu{opacity:1;transform:none}

/* ---------- geri sayım ---------- */
.sayac{display:grid;grid-template-columns:repeat(4,1fr);max-width:400px;margin:0 auto}
.hucre{position:relative;padding:6px 2px}
.hucre + .hucre::before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;background:linear-gradient(transparent,var(--altin-cizgi),transparent)}
.hucre b{display:block;font:500 clamp(36px,10vw,46px)/1.05 var(--yazi);color:var(--altin-koyu);font-variant-numeric:lining-nums tabular-nums}
.hucre span{display:block;margin-top:6px;font:400 10.5px var(--ince);letter-spacing:.26em;text-transform:uppercase;color:var(--murekkep-3);padding-left:.26em}
.sayac-bitti{margin:6px auto 0;max-width:360px;font:italic 500 22px/1.4 var(--yazi);color:var(--murekkep-2)}
.yuzuk-yer{display:flex;justify-content:center;margin-top:34px}
.yuzukler{width:min(52%,210px);height:auto}
.yuzukler .pirilti{animation:nefes 4s ease-in-out infinite alternate}

/* ---------- kemer kart ---------- */
.kemer{position:relative;margin:18px auto 0;max-width:360px;padding:92px 30px 34px;border-radius:200px 200px 22px 22px;
  background:linear-gradient(180deg,#fffdf9 0%,#f9f3ea 100%);box-shadow:var(--golge),inset 0 0 0 1px rgba(198,164,119,.55)}
.kemer::before{content:"";position:absolute;inset:9px;border-radius:191px 191px 15px 15px;border:1px solid rgba(198,164,119,.35);pointer-events:none}
.kemer-tepe-yer{position:absolute;left:50%;top:-2px;transform:translateX(-50%);width:170px}
.kemer-tepe{width:100%;height:auto;display:block;margin-top:24px}
.kemer-baslik{margin:0;font:400 38px/1.2 var(--el);color:var(--murekkep);font-weight:400}
.kemer-mekan{margin:10px 0 0;font:600 19px/1.3 var(--yazi);letter-spacing:.04em;color:var(--murekkep)}
.kemer-tarih{white-space:pre-line;margin:10px 0 0;font:500 21px/1.35 var(--yazi);color:var(--altin-koyu)}
.kemer-adres{margin:10px 0 0;font:500 15px/1.5 var(--yazi);color:var(--murekkep-2)}
.kemer-not{margin:16px 0 0;padding-top:14px;border-top:1px dashed var(--altin-cizgi);font:italic 500 16px/1.5 var(--yazi);color:var(--murekkep-2)}
.kemer-dugmeler{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}

/* ---------- program ---------- */
.program{list-style:none;margin:40px auto 0;padding:0;max-width:340px;text-align:left;position:relative}
.program::before{content:"";position:absolute;left:74px;top:10px;bottom:10px;width:1px;background:linear-gradient(transparent,var(--altin-cizgi) 12%,var(--altin-cizgi) 88%,transparent)}
.program li{position:relative;display:grid;grid-template-columns:62px 1fr;gap:26px;padding:10px 0}
.program li::after{content:"";position:absolute;left:70px;top:19px;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#e2d5c4 70%,#c9b79f);box-shadow:0 0 0 3px #fbf6ef}
.program time{font:400 13px var(--ince);letter-spacing:.06em;color:var(--altin-koyu);padding-top:5px;text-align:right}
.program strong{display:block;font:600 19px/1.3 var(--yazi);color:var(--murekkep)}
.program span{display:block;font:italic 500 15px/1.4 var(--yazi);color:var(--murekkep-2)}

/* ---------- harita ---------- */
.harita-cerceve{margin:40px auto 0;max-width:420px;padding:9px;border-radius:26px;background:#fffdf9;box-shadow:var(--golge),inset 0 0 0 1px rgba(198,164,119,.5)}
.harita{position:relative;height:270px;border-radius:18px;overflow:hidden;background:#efe7db;display:grid;place-items:center}
.harita iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:sepia(.18) saturate(.85)}
.harita-yukleniyor{font:400 12px var(--ince);letter-spacing:.2em;text-transform:uppercase;color:var(--murekkep-3)}
.harita-dugmeler{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 16px;padding:12px 6px 6px}
.harita-dugmeler a{font:400 11.5px var(--ince);letter-spacing:.16em;text-transform:uppercase;color:var(--altin-koyu);text-decoration:none;padding:6px 2px;border-bottom:1px solid transparent}
.harita-dugmeler a:hover{border-bottom-color:var(--altin)}

/* ---------- galeri ---------- */
.galeri{position:relative;margin-top:16px}
.galeri-serit{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px max(9%,calc(50% - 200px)) 18px;outline:none;-webkit-overflow-scrolling:touch}
.galeri-serit::-webkit-scrollbar{display:none}
.kare{flex:0 0 min(82%,400px);scroll-snap-align:center;position:relative;aspect-ratio:2/3;border-radius:20px;overflow:hidden;background:#eee4d6;box-shadow:var(--golge);cursor:zoom-in;border:0;padding:0}
.kare img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.kare::after{content:"";position:absolute;inset:8px;border-radius:14px;border:1px solid rgba(255,250,240,.75);pointer-events:none}
.kare figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 18px;background:linear-gradient(transparent,rgba(60,40,20,.5));color:#fff;font:italic 500 17px var(--yazi);text-align:center}
.galeri-ok{position:absolute;top:calc(50% - 30px);width:42px;height:42px;border-radius:50%;border:1px solid rgba(198,164,119,.5);background:rgba(255,253,249,.85);color:var(--altin-koyu);font:400 26px/1 var(--yazi);display:none;place-items:center;padding:0 0 3px}
.galeri-ok.sol{left:6px}.galeri-ok.sag{right:6px}
@media (hover:hover) and (min-width:700px){.galeri-ok{display:grid}}
.galeri-noktalar{display:flex;justify-content:center;gap:8px;margin-top:2px}
.galeri-noktalar button{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:#dccdb7;transition:background .4s,transform .4s}
.galeri-noktalar button.secili{background:var(--altin);transform:scale(1.3)}

.isikkutu{position:fixed;inset:0;z-index:80;background:rgba(32,24,16,.94);display:flex;align-items:center}
.isikkutu-serit{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.isikkutu-serit::-webkit-scrollbar{display:none}
.isikkutu-serit figure{flex:0 0 100%;margin:0;scroll-snap-align:center;display:grid;place-items:center;padding:56px 12px}
.isikkutu-serit img{max-height:100%;max-width:100%;object-fit:contain;border-radius:6px}
.isikkutu-kapat{position:absolute;top:max(12px, env(safe-area-inset-top));right:12px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.25);color:#fff;font:300 30px/1 var(--yazi)}
.isikkutu-sayi{position:absolute;bottom:max(16px, env(safe-area-inset-bottom));left:0;right:0;text-align:center;margin:0;font:400 12px var(--ince);letter-spacing:.3em;color:rgba(255,255,255,.75)}

/* ---------- panel (anı albümü, hava, form) ---------- */
.panel{position:relative;background:var(--zemin-kart);border-radius:26px;padding:30px 22px;box-shadow:var(--golge),inset 0 0 0 1px rgba(198,164,119,.4)}
.panel::before{content:"";position:absolute;inset:8px;border-radius:20px;border:1px solid rgba(198,164,119,.16);pointer-events:none}
.yuvarlak-simge{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#f4ead9);color:var(--altin-koyu);box-shadow:inset 0 0 0 1px rgba(198,164,119,.45),0 6px 16px -8px rgba(120,84,36,.4)}
.yuvarlak-simge svg{width:28px;height:28px}

.album-ac{display:flex;flex-direction:column;align-items:center;width:100%;border:0;background:none;padding:0;text-align:center}
.album-ac .baslik{font-size:42px}
.album-alt{margin-top:4px;font:italic 500 17px/1.4 var(--yazi);color:var(--murekkep-2)}
.album-cagri{margin-top:18px;padding-top:14px;width:100%;border-top:1px solid rgba(198,164,119,.25);font:400 11.5px var(--ince);letter-spacing:.3em;text-transform:uppercase;color:var(--altin)}
.album-ok{display:grid;place-items:center;width:36px;height:36px;margin-top:8px;border-radius:50%;background:#f6eee2;color:var(--altin-koyu);transition:transform .5s ease}
.album-ok svg{width:20px;height:20px}
.album-ac[aria-expanded="true"] .album-ok{transform:rotate(180deg)}
.album-ic{margin-top:18px;text-align:left}
.sekmeler{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:999px;background:#f4ece0;margin-bottom:16px}
.sekme{border:0;background:none;border-radius:999px;padding:9px 4px;font:400 11.5px var(--ince);letter-spacing:.14em;text-transform:uppercase;color:var(--murekkep-2);transition:background .3s,color .3s}
.sekme.secili{background:#fffdf9;color:var(--altin-koyu);box-shadow:0 3px 10px -5px rgba(110,78,36,.45)}
.secim-izgara{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.secim{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:112px;border-radius:18px;
  border:1.5px dashed rgba(198,164,119,.5);background:#fcf8f1;color:var(--altin-koyu);cursor:pointer;text-align:center;padding:12px;transition:background .3s,border-color .3s}
.secim:hover{background:#fff;border-color:var(--altin)}
.secim input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.secim svg{width:30px;height:30px}
.secim span{font:400 11.5px var(--ince);letter-spacing:.16em;text-transform:uppercase}
.secim.kucuk{min-height:0;margin-top:12px;padding:10px;flex-direction:row}
.secilenler{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px}
.secilenler:empty{display:none}
.secilenler li{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#efe6d8;display:grid;place-items:center;font:400 10px var(--ince);letter-spacing:.1em;color:var(--murekkep-2);text-align:center;padding:4px}
.secilenler img,.secilenler video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.secilenler .boyut{position:absolute;left:0;right:0;bottom:0;padding:2px;background:rgba(40,28,16,.55);color:#fff;font-size:9.5px}
.secilenler .kaldir{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(40,28,16,.62);color:#fff;font:400 15px/1 var(--yazi);padding:0 0 2px}
.secilenler li.tamam::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;background:rgba(150,118,66,.45);color:#fff;font:400 28px var(--yazi)}
.secilenler li.hatali::after{content:"!";position:absolute;inset:0;display:grid;place-items:center;background:rgba(160,60,50,.45);color:#fff;font:600 28px var(--yazi)}
.secilenler audio{width:100%}
.secilenler li.ses-oge{grid-column:1/-1;aspect-ratio:auto;padding:10px;background:#f6efe4}

.ses-kayit{display:flex;flex-direction:column;align-items:center;padding:6px 0 4px;text-align:center}
.kayit-dugme{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;border:0;background:linear-gradient(145deg,#cfac76,#b08d58);color:#fffaf0;box-shadow:0 14px 26px -14px rgba(110,78,36,.8)}
.kayit-dugme svg{width:32px;height:32px;grid-area:1/1}
.kayit-dugme .k-dur{display:none}
.kayit-dugme.kayitta{background:linear-gradient(145deg,#c97d6a,#a5594a)}
.kayit-dugme.kayitta .k-dur{display:block}
.kayit-dugme.kayitta .k-mik{display:none}
.kayit-halka{grid-area:1/1;width:84px;height:84px;border-radius:50%;border:1.5px solid rgba(201,125,106,.8);opacity:0}
.kayit-dugme.kayitta .kayit-halka{animation:halka 2.4s ease-out infinite}
.kayit-sure{margin:14px 0 6px;font:500 18px var(--yazi);color:var(--murekkep-2);font-variant-numeric:tabular-nums}
.kayit-seviye{width:160px;height:4px;border-radius:4px;background:#efe5d6;overflow:hidden}
.kayit-seviye i{display:block;height:100%;width:0;background:linear-gradient(90deg,#d6c29a,#c6a477);transition:width .12s linear}
.kayit-ipucu{margin:10px 0 0;font:italic 500 14px var(--yazi);color:var(--murekkep-3)}

.alan{margin-top:16px;text-align:left}
.alan label,.alan .etiket{display:block;margin:0 0 7px 4px;font:400 11px var(--ince);letter-spacing:.22em;text-transform:uppercase;color:var(--murekkep-2)}
.alan label em{font-style:normal;text-transform:none;letter-spacing:.02em;color:var(--murekkep-3)}
.alan input,.alan textarea{width:100%;border:1px solid rgba(198,164,119,.38);border-radius:14px;background:#fffefb;padding:12px 15px;font:500 17px/1.4 var(--yazi);color:var(--murekkep);outline:none;transition:border-color .3s,box-shadow .3s;-webkit-appearance:none}
.alan textarea{resize:vertical;min-height:110px}
.alan input:focus,.alan textarea:focus{border-color:var(--altin);box-shadow:0 0 0 3px rgba(201,166,110,.18)}
.alan input::placeholder,.alan textarea::placeholder{color:#b9a896;font-style:italic}
.sayac-yazi{display:block;text-align:right;margin:5px 6px 0;font:400 10.5px var(--ince);letter-spacing:.12em;color:var(--murekkep-3)}
#aniGonder{margin-top:20px}
.ilerleme{position:relative;margin-top:14px;height:30px;border-radius:999px;background:#f2e9dc;overflow:hidden}
.ilerleme i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#e1cba4,#c09a62);transition:width .3s ease}
.ilerleme span{position:relative;display:grid;place-items:center;height:100%;font:400 11px var(--ince);letter-spacing:.14em;color:var(--murekkep)}
.album-sonuc{margin:16px 0 0;text-align:center;font:italic 500 18px/1.45 var(--yazi);color:var(--altin-koyu)}

/* ---------- hava ---------- */
.hava .baslik{font-size:42px}
.hava-tarih{margin:2px 0 0;font:400 12px var(--ince);letter-spacing:.24em;text-transform:uppercase;color:var(--altin-koyu)}
.hava-yer{margin:8px 0 0;font:500 15px/1.4 var(--yazi);color:var(--murekkep-2)}
.hava-durum{margin:14px 0 0;font:italic 500 21px var(--yazi);color:var(--murekkep)}
.hava-derece{margin:0;font:500 62px/1.1 var(--yazi);color:var(--altin-koyu)}
.hava-ayrinti{display:inline-block;margin:12px 0 0;padding:9px 16px;border-radius:14px;background:#fff6df;box-shadow:inset 0 0 0 1px rgba(198,164,119,.25);font:500 14.5px/1.45 var(--yazi);color:var(--murekkep-2)}
.hava-ayrinti:empty{display:none}
.hava-not{margin:14px 0 0;font:italic 500 14.5px/1.45 var(--yazi);color:var(--murekkep-3)}

/* ---------- katılım ---------- */
.lcv-baslik{margin:0;font:500 clamp(32px,9vw,40px)/1.15 var(--yazi);color:var(--murekkep);white-space:pre-line}
.lcv-alt{margin:0 auto 26px;max-width:380px;font:italic 500 16.5px/1.5 var(--yazi);color:var(--altin-koyu)}
.lcv-form{text-align:left}
.form-baslik{margin:0 0 4px;text-align:center;font:400 12px var(--ince);letter-spacing:.32em;text-transform:uppercase;color:var(--altin-koyu)}
.durumlar{display:grid;gap:8px}
.durumlar button{min-height:48px;border-radius:14px;border:1px solid rgba(198,164,119,.38);background:#fffefb;font:400 12px var(--ince);letter-spacing:.16em;text-transform:uppercase;color:var(--murekkep-2);transition:background .3s,color .3s,border-color .3s,box-shadow .3s;display:flex;align-items:center;justify-content:center;gap:10px}
.durumlar button::before{content:"";width:14px;height:14px;border-radius:50%;border:1px solid var(--altin);flex:none;transition:background .3s,box-shadow .3s}
.durumlar button[aria-checked="true"]{background:#f8efe1;border-color:var(--altin);color:var(--altin-koyu);box-shadow:0 6px 16px -10px rgba(120,84,36,.6)}
.durumlar button[aria-checked="true"]::before{background:var(--altin);box-shadow:inset 0 0 0 3px #f8efe1}
.sayici{display:flex;align-items:center;justify-content:center;gap:14px;padding:6px;border-radius:16px;border:1px solid rgba(198,164,119,.38);background:#fffefb}
.sayici button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(198,164,119,.45);background:#f9f2e7;font:400 24px/1 var(--yazi);color:var(--altin-koyu);padding:0 0 3px}
.sayici button:disabled{opacity:.35}
.sayici output{min-width:40px;text-align:center;font:400 26px/1 var(--ince);color:var(--murekkep);font-variant-numeric:tabular-nums}
.sayici-birim{font:400 11px var(--ince);letter-spacing:.22em;text-transform:uppercase;color:var(--murekkep-3);margin-left:-6px}
#kisiAlan.pasif{opacity:.45;pointer-events:none}
.form-hata{margin:14px 0 0;padding:10px 14px;border-radius:12px;background:#f8e8e2;color:#8f4636;font:500 15.5px/1.4 var(--yazi);text-align:center}
#lcvGonder{margin-top:22px}
.lcv-tesekkur{text-align:center}
.tesekkur-baslik{margin:0;font:400 36px/1.25 var(--el);color:var(--murekkep)}
.tesekkur-metin{margin:8px 0 20px;font:italic 500 17px/1.5 var(--yazi);color:var(--murekkep-2)}

.defter{margin-top:46px;text-align:left}
.defter-baslik{margin:0 0 14px;text-align:center;font:400 12.5px var(--ince);letter-spacing:.34em;text-transform:uppercase;color:var(--altin-koyu);display:flex;align-items:center;gap:14px}
.defter-baslik::before,.defter-baslik::after{content:"";flex:1;height:1px;background:var(--altin-cizgi)}
.defter-liste{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.not-kart{position:relative;padding:18px 20px 16px;border-radius:18px;background:#fffdf9;box-shadow:0 12px 30px -24px rgba(104,74,38,.5),inset 0 0 0 1px rgba(198,164,119,.25)}
.not-kart::before{content:"“";position:absolute;right:16px;top:-4px;font:400 64px/1 var(--yazi);color:rgba(198,164,119,.25)}
.not-ust{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.not-ad{font:600 18px/1.3 var(--yazi);color:var(--murekkep)}
.not-zaman{font:400 10px var(--ince);letter-spacing:.18em;text-transform:uppercase;color:var(--murekkep-3)}
.not-metin{margin:8px 0 0;font:500 16.5px/1.5 var(--yazi);color:var(--murekkep-2);white-space:pre-line;overflow-wrap:anywhere}
.not-kart.yeni{animation:yeniNot 1.2s ease}
@keyframes yeniNot{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.defter-bos{text-align:center;font:italic 500 17px var(--yazi);color:var(--murekkep-3)}
#defterDaha{display:flex;margin:18px auto 0}

/* ---------- son ---------- */
.son{padding-bottom:60px}
.son-kemer{padding-bottom:40px}
.son-kemer .kapak-foto{width:min(62%,210px);margin:6px auto 20px}
.son-isim{margin:0;font:400 clamp(40px,11.5vw,52px)/1.2 var(--el);color:var(--murekkep)}
.son-tarih{margin:6px 0 0;font:400 14px var(--ince);letter-spacing:.42em;color:var(--altin-koyu);padding-left:.42em}
.son-metin{margin:0;font:italic 500 17.5px/1.55 var(--yazi);color:var(--murekkep-2)}
.imza{margin:30px 0 0;font:400 10.5px var(--ince);letter-spacing:.3em;text-transform:uppercase;color:var(--murekkep-3)}

/* ---------- takvim sayfası ---------- */
.sayfa{position:fixed;inset:0;z-index:70;background:rgba(48,34,20,.42);display:flex;align-items:flex-end;justify-content:center;animation:sayfaAc .3s ease}
.sayfa-ic{width:100%;max-width:440px;margin:0 10px max(10px, env(safe-area-inset-bottom));padding:22px 18px 14px;border-radius:24px;background:#fffdf9;box-shadow:0 -10px 40px -20px rgba(0,0,0,.4);text-align:center;animation:sayfaYukari .4s cubic-bezier(.2,.8,.2,1)}
.sayfa-baslik{margin:0;font:400 34px/1.25 var(--el)}
.sayfa-alt{margin:2px 0 14px;font:italic 500 15px var(--yazi);color:var(--murekkep-2)}
.sayfa-secim{display:block;padding:15px;margin-top:8px;border-radius:14px;background:#fff6df;text-decoration:none;font:400 12.5px var(--ince);letter-spacing:.16em;text-transform:uppercase;color:var(--altin-koyu)}
.sayfa-kapat{margin-top:10px;width:100%;padding:14px;border:0;background:none;font:400 12px var(--ince);letter-spacing:.2em;text-transform:uppercase;color:var(--murekkep-3)}
@keyframes sayfaAc{from{opacity:0}}
@keyframes sayfaYukari{from{transform:translateY(40px);opacity:0}}
@media (min-width:600px){.sayfa{align-items:center}}

.bildirim{position:fixed;left:50%;bottom:max(24px, env(safe-area-inset-bottom));z-index:90;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:calc(100% - 32px);
  padding:12px 20px;border-radius:14px;background:rgba(60,44,28,.92);color:#fff8ec;font:500 16px/1.4 var(--yazi);text-align:center;transition:opacity .4s,transform .4s}
.bildirim.acik{opacity:1;transform:translate(-50%,0)}
#efekt{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:60}

.kapak-foto{width:min(56vw,230px);aspect-ratio:3/4;margin:0 auto 22px;padding:7px;border-radius:999px 999px 18px 18px;background:#fffdf9;box-shadow:var(--golge),inset 0 0 0 1px rgba(198,164,119,.5)}
.kapak-foto img{width:100%;height:100%;object-fit:cover;border-radius:999px 999px 12px 12px}
.ornek-rozet{position:fixed;right:10px;bottom:max(10px, env(safe-area-inset-bottom));z-index:45;padding:6px 12px;border-radius:999px;background:rgba(75,58,45,.82);color:#fff6e8;font:400 10px var(--ince);letter-spacing:.2em;text-transform:uppercase;pointer-events:none}

/* ---------- önizleme görseli üretimi (?onizleme) ---------- */
body.onizleme-modu #kapi,body.onizleme-modu .muzik,body.onizleme-modu .kaydir,body.onizleme-modu .bolum,body.onizleme-modu [data-takvim]{display:none !important}
body.onizleme-modu .giris{min-height:630px;height:630px;padding:30px}
body.onizleme-modu .aileler{margin-bottom:0}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .gozle,.belir{opacity:1;transform:none}
}
@media (min-width:900px){
  .bolum{padding:110px 24px}
  .giris{padding-top:110px}
}
