/* Saray: koyu kadife zemin, altın çerçeve, Cinzel büyük harfler, aralanan perde. */
:root { --f-display:"Cinzel",Georgia,serif; --f-head:"Cinzel",Georgia,serif; --f-body:"Cormorant Garamond",Georgia,serif; --f-ui:"Jost",system-ui,sans-serif; }
body { --on-primary:var(--deep); --field:color-mix(in srgb, var(--paper) 80%, #fff 6%); --line:color-mix(in srgb, var(--gold) 55%, transparent);
  --muted:color-mix(in srgb, var(--ink) 72%, var(--bg)); --shadow:0 20px 50px rgb(0 0 0 / .35); --h2-size:clamp(1.35rem,5.6vw,1.7rem); }
body::before { background:
  radial-gradient(70% 45% at 50% 0%, color-mix(in srgb, var(--gold) 16%, transparent), transparent 70%),
  repeating-linear-gradient(90deg, rgb(0 0 0 / .12) 0 2px, transparent 2px 46px),
  linear-gradient(180deg, var(--bg), color-mix(in srgb, var(--bg) 70%, #000)); }
h2 { letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:500; }
h2::after { content:""; display:block; width:60px; height:1px; margin:14px auto 0; background:var(--gold); }
.btn:hover { color:var(--ink); background:var(--soft); border-color:var(--gold); }
.btn.ghost { color:var(--gold); border-color:var(--gold); }
.btn.ghost:hover { background:var(--gold); color:var(--deep); }
.detail-card, .rsvp form, .thanks { background:color-mix(in srgb, var(--paper) 88%, transparent); outline:1px solid color-mix(in srgb, var(--gold) 35%, transparent); outline-offset:-7px; }
.field input, .field select, .field textarea, .choice span { border-color:color-mix(in srgb, var(--gold) 35%, transparent); }
.choice input:checked + span { color:var(--deep); }
.form-error { background:#4a1520; color:#ffd5dc; }

/* Açılış: perde */
.tpl-kadife .opening { background:radial-gradient(60% 50% at 50% 50%, color-mix(in srgb, var(--gold) 22%, var(--bg)), var(--deep)); transition:opacity .8s var(--ease) 1.3s, visibility 0s 2.5s; }
.stage { position:absolute; inset:0; pointer-events:none; }
.curtain { position:absolute; top:0; bottom:0; width:52%; z-index:3;
  background:
    linear-gradient(90deg, rgb(0 0 0 / .35), transparent 18%, transparent 82%, rgb(0 0 0 / .35)),
    repeating-linear-gradient(90deg, color-mix(in srgb, var(--soft) 80%, #000) 0 10px, var(--soft) 22px, color-mix(in srgb, var(--soft) 70%, #fff 10%) 30px, var(--soft) 38px, color-mix(in srgb, var(--soft) 80%, #000) 48px);
  transition:transform 1.4s cubic-bezier(.6,0,.2,1); }
.curtain::after { content:""; position:absolute; bottom:0; display:none; left:0; right:0; height:10px; background:repeating-linear-gradient(90deg, var(--gold) 0 6px, transparent 6px 12px); opacity:.8; }
.curtain.left { left:0; transform-origin:0 0; }
.curtain.right { right:0; transform-origin:100% 0; }
.valance { position:absolute; top:0; left:0; right:0; height:58px; z-index:4; background:linear-gradient(180deg, color-mix(in srgb, var(--soft) 60%, #000), var(--soft)); border-bottom:2px solid var(--gold); box-shadow:0 8px 18px rgb(0 0 0 / .35); }
.valance::after { content:""; position:absolute; left:0; right:0; top:100%; height:14px; background:repeating-linear-gradient(90deg, var(--gold) 0 2px, transparent 2px 7px); opacity:.85; }
.plaque { z-index:5; display:grid; gap:8px; padding:26px 30px; min-width:min(80vw,320px); border:1px solid var(--gold); outline:1px solid color-mix(in srgb, var(--gold) 50%, transparent); outline-offset:6px; background:color-mix(in srgb, var(--deep) 85%, transparent); color:var(--ink); transition:opacity .5s, transform .6s; }
.plaque small { font:500 .7rem var(--f-ui); letter-spacing:.34em; text-transform:uppercase; color:var(--gold); }
.plaque b { font:500 1.5rem/1.3 var(--f-display); letter-spacing:.08em; }
.plaque i { font:italic 400 1.2em var(--f-body); color:var(--gold); }
.tpl-kadife .opening-eyebrow { color:var(--gold); }
.tpl-kadife .opening-hint { color:color-mix(in srgb, var(--ink) 70%, transparent); }
.is-opening .plaque { opacity:0; transform:scale(.92); }
.is-stage2 .curtain.left { transform:translateX(-96%) skewX(-4deg); }
.is-stage2 .curtain.right { transform:translateX(96%) skewX(4deg); }
.is-stage2 .valance { transform:translateY(-100%); transition:transform 1s .5s; }

/* Kapak: altın çerçeve */
.hero { padding:28px 0 76px; }
.frame { position:relative; display:flex; flex-direction:column; align-items:center; gap:20px; width:100%; padding:52px 22px 44px; border:1px solid var(--gold); outline:1px solid color-mix(in srgb, var(--gold) 45%, transparent); outline-offset:-10px; border-radius:180px 180px 6px 6px; background:radial-gradient(80% 50% at 50% 20%, color-mix(in srgb, var(--gold) 12%, transparent), transparent); }
.is-open .frame > * { animation:rise 1.2s var(--ease) both; }
.is-open .frame > :nth-child(6) { animation-delay:.15s; } .is-open .frame > :nth-child(7) { animation-delay:.3s; } .is-open .frame > :nth-child(8) { animation-delay:.45s; }
.corner { position:absolute; width:46px; height:46px; color:var(--gold); }
.corner svg { width:100%; height:100%; display:block; }
.corner { display:none; }
.frame::before { content:""; position:absolute; top:-9px; left:50%; width:16px; height:16px; translate:-50% 0; rotate:45deg; background:var(--bg); border:1px solid var(--gold); box-shadow:inset 0 0 0 3px var(--bg), inset 0 0 0 9px var(--gold); }
.frame::after { content:""; position:absolute; bottom:-4px; left:50%; width:120px; height:7px; translate:-50% 0; background:radial-gradient(circle, var(--gold) 2.5px, transparent 3px) 0 0/14px 7px; }
.crest { display:flex; align-items:center; gap:14px; font:500 2.6rem/1 var(--f-display); color:var(--gold); }
.crest i { width:14px; height:14px; rotate:45deg; border:1px solid var(--gold); }
.palace-photo { width:min(60vw,230px); aspect-ratio:3/4; margin:0; padding:8px; border:1px solid var(--gold); border-radius:999px 999px 4px 4px; }
.palace-photo img { width:100%; height:100%; object-fit:cover; border-radius:999px 999px 2px 2px; }
.names { font:500 clamp(2.1rem,10vw,3rem)/1.15 var(--f-display); letter-spacing:.08em; color:var(--ink); text-transform:uppercase; }
.names em { font:italic 400 .55em/1.6 var(--f-body); color:var(--gold); text-transform:none; letter-spacing:0; }
.eyebrow { color:var(--gold); }
.date-line { color:var(--ink); }

.cd div { background:transparent; border-color:var(--gold); box-shadow:0 0 0 4px var(--bg), 0 0 0 5px color-mix(in srgb, var(--gold) 40%, transparent); }
.cd b { color:var(--gold); font-family:var(--f-display); font-weight:500; }
.families b { font-family:var(--f-display); font-weight:500; font-size:1rem; letter-spacing:.06em; }
.amp { color:var(--gold); font-family:var(--f-body); font-style:italic; }
.sign b { font:500 1.6rem/1.4 var(--f-display); color:var(--gold); letter-spacing:.08em; }
.scroll-cue { border-color:var(--gold); } .scroll-cue span { background:var(--gold); }
.credit { color:color-mix(in srgb, var(--ink) 55%, transparent); }
