@charset "UTF-8";
:root{--primary:#66704f;--secondary:#e4b63f;--bg:#fff8e8;--text:#403d2e;--accent:#b2862b;--paper:#fffdf7;--line:color-mix(in srgb,var(--accent) 35%,transparent)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:18px/1.72 Georgia,serif}a{color:inherit}.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;color:#fff}.hero-bg{position:absolute;inset:0;background-image:var(--theme-bg);background-position:center;background-size:cover;background-repeat:no-repeat;filter:brightness(.92);transform:scale(1.02)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(#1112,#1117)}.hero-inner{position:relative;z-index:3;padding:70px 20px;width:min(900px,100%)}.eyebrow{font:12px/1.7 Arial,sans-serif;letter-spacing:4px;color:var(--accent)}.hero .eyebrow{color:#fff1ba}.hero h1{font-size:clamp(64px,10vw,112px);font-weight:400;font-style:italic;line-height:.95;margin:30px 0}.hero h1 em{display:block;font-size:34px;color:#ffe3a1}.event-label{font:15px Arial,sans-serif;letter-spacing:6px}.hero-date{display:flex;align-items:center;justify-content:center;gap:24px;margin:34px auto}.hero-date strong{font-size:70px;font-weight:400}.hero-date span{border-block:1px solid #fff7;padding:10px;min-width:90px}.hero-actions,.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.pill,.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);background:transparent;color:var(--text);padding:11px 19px;text-decoration:none;border-radius:999px;font:14px Arial,sans-serif;cursor:pointer}.pill{background:#fffdf0e8}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.section{max-width:900px;margin:auto;text-align:center;padding:82px 24px}.section h2{font-size:clamp(34px,5vw,52px);font-weight:400;font-style:italic;margin:20px}.section p.muted,.muted{color:color-mix(in srgb,var(--text) 65%,transparent)}.families{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--line);margin:42px auto 0;padding-top:28px;max-width:680px}.families>div+div{border-left:1px solid var(--line)}.family-label{font:11px Arial,sans-serif;letter-spacing:2px}.family-names{white-space:pre-line;font-size:21px}.count{background:var(--primary);color:#fff;padding:64px 20px;text-align:center}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:20px}.countdown div{min-width:75px}.countdown strong{display:block;font-size:48px;font-weight:400}.countdown span{font:11px Arial,sans-serif;letter-spacing:2px}.venue{max-width:650px;margin:35px auto 0;border:1px solid var(--line);padding:35px;outline:1px solid var(--line);outline-offset:-7px}.venue h3{font-size:34px;font-weight:400}.venue address{white-space:pre-line;font-style:normal}.upload-box{max-width:680px;margin:20px auto;border:1px solid var(--line);padding:28px;background:var(--paper)}.upload-list{display:grid;gap:10px;margin-top:18px;text-align:left}.upload-item{border:1px solid var(--line);padding:12px;background:#fff}.upload-progress{height:7px;background:#eee;border-radius:99px;overflow:hidden}.upload-progress span{display:block;height:100%;background:var(--accent);width:0}.upload-row{display:flex;justify-content:space-between;gap:10px;font:14px Arial,sans-serif}.upload-note{font:12px Arial,sans-serif;margin:7px 0;color:#666}.invitation-card{display:block;max-width:430px;width:100%;height:auto;margin:35px auto;box-shadow:0 15px 40px #0002}.music-toggle{position:fixed;right:14px;top:14px;z-index:30;border:1px solid #fff7;border-radius:99px;background:#222b;color:#fff;padding:10px 14px}.petal-layer{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.petal{position:absolute;top:-10%;font-size:var(--s);animation:petal var(--d) linear var(--delay) infinite;opacity:.85}.intro{position:fixed;inset:0;z-index:50;background:#15150f;display:grid;place-items:center;transition:opacity .8s}.intro.hide{opacity:0;pointer-events:none}.intro-stage{position:relative;width:min(100vw,620px);height:100svh;overflow:hidden;background:#333}.intro-stage .road{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.intro-car{position:absolute;left:50%;bottom:7%;width:min(48%,430px);height:auto;transform:translateX(-50%);transform-origin:center bottom;filter:drop-shadow(0 16px 12px #0007);z-index:3;animation:driveAway 7s cubic-bezier(.22,.7,.25,1) forwards}.intro-heading{position:absolute;top:8%;left:0;right:0;text-align:center;color:#fff6d2;letter-spacing:3px;font:13px Arial,sans-serif}.intro-message{position:absolute;top:78%;left:0;right:0;text-align:center;color:#ffe270;font-size:44px;font-style:italic;text-shadow:0 2px 8px #000}.intro-skip{position:absolute;right:15px;bottom:15px;z-index:3;border:1px solid #fff8;background:#222a;color:#fff;border-radius:99px;padding:10px 15px}.theme-corner{position:absolute;width:82px;height:82px;object-fit:contain;font-size:70px;z-index:1;opacity:.9;filter:drop-shadow(0 5px 12px #0002)}.c1{left:1%;top:3%}.c2{right:1%;top:3%}.c3{left:1%;bottom:2%}.c4{right:1%;bottom:2%}footer{text-align:center;padding:45px;border-top:1px solid var(--line)}footer strong{font-size:34px;font-style:italic;color:var(--accent)}@keyframes driveAway{0%{bottom:6%;width:min(48%,430px);opacity:1}70%{opacity:1}100%{bottom:60%;width:6%;opacity:.88}}@keyframes petal{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:0}10%{opacity:.8}100%{transform:translate3d(var(--x),115vh,0) rotate(430deg);opacity:.2}}@media(max-width:650px){.families{grid-template-columns:1fr}.families>div+div{border-left:0;border-top:1px solid var(--line);padding-top:20px}.countdown{gap:8px}.countdown div{min-width:50px}.countdown strong{font-size:36px}.hero h1{font-size:72px}.hero-actions{flex-direction:column}.pill,.btn{width:100%}.music-toggle{top:auto;bottom:15px}.theme-corner{font-size:50px}}@media(prefers-reduced-motion:reduce){.petal,.intro-car{animation:none}.intro{display:none}}
.theme-corner.c1{left:2%;top:4%}.theme-corner.c2{right:2%;top:4%}.theme-corner.c3{left:2%;bottom:4%}.theme-corner.c4{right:2%;bottom:4%}.intro-theme .theme-corner{z-index:2;width:74px;height:74px}.intro-theme .it1{left:18px;top:64px}.intro-theme .it2{right:18px;top:64px}.petal-img{position:absolute;top:-10%;width:var(--s);height:var(--s);object-fit:contain;animation:petal var(--d) linear var(--delay) infinite;opacity:.84;filter:drop-shadow(0 2px 4px #0001)}.light{color:#fff3c5!important}@media(max-width:650px){.theme-corner{width:58px;height:58px}.intro-car{width:54%}}
/* V20: theme-synced opening scene + rear-view car trail */
.intro-stage{position:relative;width:min(100vw,720px);height:100svh;overflow:hidden;background:#1b1b18;isolation:isolate}
.intro-scene{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;z-index:0;transform:scale(1.02)}
.intro-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0002 0%,#0000 45%,#0005 100%);z-index:1;pointer-events:none}
.intro-heading,.intro-message,.intro-skip{z-index:6}
.intro-car{z-index:5;bottom:4%;width:min(56%,470px);animation:driveAwayV19 7s cubic-bezier(.18,.66,.22,1) forwards;will-change:transform,bottom,opacity;filter:drop-shadow(0 18px 16px #0008)}
.intro-trail-layer{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.trail-particle{position:absolute;display:block;width:var(--size);height:var(--size);font-size:var(--size);line-height:1;object-fit:contain;animation:trailFall var(--dur) ease-out forwards;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 3px #0002)}
.trail-img{object-fit:contain}
@keyframes driveAwayV19{0%{bottom:3%;transform:translateX(-50%) scale(1);opacity:1}58%{opacity:1}100%{bottom:57%;transform:translateX(-50%) scale(.14);opacity:.94}}
@keyframes trailFall{0%{opacity:.95;transform:translate(-50%,-50%) scale(.75) rotate(0)}100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.15) rotate(var(--rot))}}
@media(max-width:650px){.intro-stage{width:100vw}.intro-car{width:63%}.intro-message{top:80%;font-size:38px}}

/* V20 stable scene/car alignment */
.intro-car{object-fit:contain;max-height:38vh;filter:drop-shadow(0 18px 18px rgba(0,0,0,.58))}
.theme-corner{object-fit:contain}
@keyframes driveAwayV19{0%{bottom:2.5%;transform:translateX(-50%) scale(1);opacity:1}62%{opacity:1}100%{bottom:58%;transform:translateX(-50%) scale(.12);opacity:.92}}
@media(max-width:650px){.intro-car{width:58%;max-height:32vh}}

/* V22 adjustable vehicle animation */
.intro-car{left:50%;animation-duration:var(--drive-seconds,7s)!important}
@keyframes driveAwayV19{0%{bottom:2.5%;transform:translateX(calc(-50% + var(--car-x,0px))) translateY(var(--car-y,0px)) scale(var(--car-start,1));opacity:1}62%{opacity:1}100%{bottom:58%;transform:translateX(calc(-50% + var(--car-x,0px))) translateY(var(--car-y,0px)) scale(var(--car-end,.14));opacity:.94}}


/* ==========================================================
   V25 - ANA SAYFA / TEMA / ARAÇ / OTOMATİK DAVETİYE
   ========================================================== */

/* Seçilen temanın gerçek görselini daha canlı banner olarak göster */
.hero-bg{
  background-image:var(--theme-bg)!important;
  background-position:center center!important;
  background-size:cover!important;
  filter:saturate(1.16) contrast(1.06) brightness(.98)!important;
  transform:scale(1.008)!important;
}
.hero:after{
  background:linear-gradient(180deg,rgba(8,10,12,.08) 0%,rgba(8,10,12,.18) 45%,rgba(8,10,12,.48) 100%)!important;
}
.hero-love{display:block!important;font-size:30px!important;line-height:1.15!important;color:#ffe6a5!important;font-style:normal!important}
.hero-love span{font-size:.9em}

/* Açılışta araç Cupra örneği kadar büyük başlar ve ufka kadar gider */
.intro-stage{width:min(100vw,760px)!important}
.intro-scene{
  background-image:var(--theme-bg);
  background-position:center center!important;
  background-size:cover!important;
  filter:saturate(1.12) contrast(1.04) brightness(.99);
}
.intro-car{
  width:min(76%,640px)!important;
  max-height:48vh!important;
  bottom:-1%!important;
  transform-origin:center bottom!important;
  animation-name:driveAwayV25!important;
  animation-timing-function:cubic-bezier(.18,.68,.22,1)!important;
  animation-fill-mode:forwards!important;
  z-index:5!important;
}
.intro-message{
  top:auto!important;
  bottom:4.6%!important;
  font-size:42px!important;
  z-index:7!important;
}
.intro-couple{
  display:flex!important;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:8px;
  font-size:30px;
  color:#fff7dc;
  font-style:italic;
}
.intro-love{
  display:inline-flex;
  gap:5px;
  align-items:center;
  color:#ffdd5d;
  font-style:normal;
  font-size:23px;
  filter:drop-shadow(0 2px 6px #0007);
}
@keyframes driveAwayV25{
  0%{
    bottom:-2%;
    transform:translateX(calc(-50% + var(--car-x,0px))) translateY(var(--car-y,0px)) scale(max(var(--car-start,1),1.16));
    opacity:1
  }
  18%{opacity:1}
  72%{opacity:1}
  96%{
    bottom:76%;
    transform:translateX(calc(-50% + var(--car-x,0px))) translateY(var(--car-y,0px)) scale(.075);
    opacity:1
  }
  100%{
    bottom:78%;
    transform:translateX(calc(-50% + var(--car-x,0px))) translateY(var(--car-y,0px)) scale(.055);
    opacity:.95
  }
}
@media(max-width:650px){
  .intro-car{width:82%!important;max-height:43vh!important}
  .intro-message{font-size:34px!important;bottom:4%!important}
  .intro-couple{font-size:25px;gap:8px}
  .intro-love{font-size:20px}
}

/* V26: header, seçili tema görselini doğrudan yükler. */
.hero>img.hero-bg{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

/* Admin bilgileri + seçilen tema ile otomatik davetiye */
.invitation-section{max-width:980px}
.auto-invitation{
  --invite-bg:none;
  position:relative;
  width:min(100%,720px);
  aspect-ratio:4/5;
  margin:34px auto 18px;
  overflow:hidden;
  border-radius:30px;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  border:1px solid color-mix(in srgb,var(--accent) 42%,#fff);
  isolation:isolate;
  color:#fff;
}
.auto-invitation-bg{
  position:absolute;inset:0;
  background-image:var(--invite-bg);
  background-position:center;
  background-size:cover;
  filter:saturate(1.14) contrast(1.04) brightness(.94);
  transform:scale(1.015);
  z-index:0
}
.auto-invitation-shade{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(5,8,10,.18),rgba(5,8,10,.22) 36%,rgba(5,8,10,.64) 100%),
    radial-gradient(circle at 50% 36%,rgba(255,255,255,.18),transparent 45%);
}
.auto-invitation-content{
  position:relative;z-index:3;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:7% 7% 8%;
  text-shadow:0 2px 12px rgba(0,0,0,.55)
}
.auto-invitation-kicker{
  font:600 12px/1.3 Arial,sans-serif;
  letter-spacing:5px;
  margin-bottom:7%;
  color:#fff4cb
}
.auto-invitation-names{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:12px 18px;
  font-size:clamp(38px,7vw,72px);
  line-height:1;
  font-style:italic
}
.auto-invitation-names b{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.42em;color:#ffe08b;font-style:normal
}
.auto-invitation-names b i{font-style:normal;font-size:.9em}
.auto-invitation-date{
  margin-top:8%;
  display:flex;align-items:center;justify-content:center;
  gap:18px;
  font:15px/1.1 Arial,sans-serif;
  letter-spacing:2px
}
.auto-invitation-date strong{font:400 clamp(48px,8vw,78px)/1 Georgia,serif}
.auto-invitation-time{
  margin-top:2%;
  font:600 16px Arial,sans-serif;
  letter-spacing:2px
}
.auto-invitation-venue{
  margin-top:7%;
  font-size:clamp(24px,4vw,38px);
  font-style:italic
}
.auto-invitation-address{
  max-width:520px;
  margin-top:1%;
  font:14px/1.65 Arial,sans-serif
}
.auto-invitation-families{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  border-top:1px solid rgba(255,255,255,.48);
  margin-top:7%;
  padding-top:5%
}
.auto-invitation-families>div+div{border-left:1px solid rgba(255,255,255,.36)}
.auto-invitation-families small{
  display:block;
  font:700 10px/1.3 Arial,sans-serif;
  letter-spacing:2px;
  color:#fff0b6
}
.auto-invitation-families span{
  display:block;
  margin-top:8px;
  font-size:17px;
  line-height:1.45
}
.auto-invitation-note{font:13px/1.5 Arial,sans-serif}
@media(max-width:650px){
  .auto-invitation{border-radius:20px;aspect-ratio:3/4}
  .auto-invitation-content{padding:8% 6%}
  .auto-invitation-kicker{letter-spacing:3px}
  .auto-invitation-names{gap:8px 12px}
  .auto-invitation-date{gap:10px}
  .auto-invitation-families{gap:10px}
  .auto-invitation-families span{font-size:14px}
}
