/* Pastel Kart: puantiyeli zemin, katlı tebrik kartı, bantlı polaroid, yuvarlak hatlar. */
:root { --f-display:"Dancing Script",cursive; --f-head:"Dancing Script",cursive; --f-body:"Quicksand",system-ui,sans-serif; --f-ui:"Quicksand",system-ui,sans-serif; }
body { --radius:22px; --btn-radius:99px; --line:color-mix(in srgb, var(--primary) 35%, transparent); --shadow:0 12px 30px color-mix(in srgb, var(--primary) 14%, transparent); font-size:1.05rem; font-weight:500; }
body::before { background:radial-gradient(circle, color-mix(in srgb, var(--primary) 16%, transparent) 2.5px, transparent 3px) 0 0/26px 26px, var(--bg); }
h2 { font-weight:600; }
.lead { font-style:normal; font-size:1.12rem; font-weight:500; }
.muted { font-style:normal; }
.detail-card, .rsvp form, .thanks { border:2px dashed var(--line); background:var(--paper); }
.d-item svg { stroke:var(--primary); }
.d-item small, .families small, .eyebrow { color:var(--primary); font-weight:700; }
.d-item span { font-style:normal; }
.btn { font-weight:700; letter-spacing:.08em; text-transform:none; font-size:.98rem; box-shadow:0 6px 0 var(--deep); }
.btn:active { transform:translateY(3px); box-shadow:0 3px 0 var(--deep); }
.btn.ghost { box-shadow:none; background:var(--paper); }
.field input, .field select, .field textarea, .choice span { font-family:var(--f-ui); font-weight:500; font-size:1rem; border-radius:14px; }

/* Açılış: katlı kart */
.tpl-kart .opening { background:radial-gradient(circle, color-mix(in srgb, var(--primary) 18%, transparent) 3px, transparent 3.5px) 0 0/30px 30px, var(--soft); transition:opacity .8s var(--ease) 1.1s, visibility 0s 2.1s; }
.folded { width:min(72vw,280px); aspect-ratio:3/4; perspective:1300px; }
.inside, .cover { position:absolute; inset:0; border-radius:12px; }
.inside { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:20px; background:var(--paper); box-shadow:0 18px 40px color-mix(in srgb, var(--deep) 22%, transparent); }
.inside small { font:700 .7rem var(--f-ui); letter-spacing:.24em; text-transform:uppercase; color:var(--primary); }
.inside b { font:600 2.3rem/1.15 var(--f-display); color:var(--deep); }
.inside em { font:500 .95rem var(--f-ui); font-style:normal; color:var(--muted); }
.cover { transform-origin:0 50%; transform-style:preserve-3d; transition:transform 1.2s cubic-bezier(.6,0,.2,1); }
.cover-front, .cover-back { position:absolute; inset:0; border-radius:12px; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.cover-front { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:var(--paper);
  background:radial-gradient(circle, color-mix(in srgb, #fff 22%, transparent) 3px, transparent 3.5px) 0 0/22px 22px, linear-gradient(160deg, var(--primary), var(--deep)); box-shadow:inset -6px 0 12px rgb(0 0 0 / .12); }
.cover-front svg { width:54px; color:var(--gold); animation:beat 1.6s ease-in-out infinite; }
@keyframes beat { 15%, 45% { transform:scale(1.12); } 30% { transform:scale(1); } }
.cover-front b { font:600 2.4rem/1 var(--f-display); }
.cover-front small { font:600 .8rem var(--f-ui); letter-spacing:.12em; opacity:.85; }
.cover-back { transform:rotateY(180deg); background:linear-gradient(90deg, var(--soft), var(--paper)); }
.is-opening .cover { transform:rotateY(-165deg); }
.is-stage2 .folded { transform:scale(1.1) translateX(10%); transition:transform 1.2s var(--ease); }

/* Kapak */
.hero { gap:24px; }
.polaroid { position:relative; width:min(70vw,270px); padding:12px 12px 6px; background:#fff; rotate:-3deg; box-shadow:0 18px 36px color-mix(in srgb, var(--deep) 20%, transparent); }
.polaroid > img, .doodle { width:100%; aspect-ratio:1; object-fit:cover; background:var(--paper); }
.doodle svg { width:100%; height:100%; display:block; }
.caption { margin:6px 0 4px; font:600 1.5rem/1.2 var(--f-display); color:var(--deep); }
.tape { position:absolute; width:86px; height:26px; background:color-mix(in srgb, var(--gold) 45%, transparent); }
.tape.t1 { top:-12px; left:-22px; rotate:-30deg; }
.tape.t2 { top:-10px; right:-24px; rotate:34deg; }
.names { font:600 clamp(3.4rem,15vw,4.6rem)/1 var(--f-display); color:var(--deep); }
.names em { font:600 .38em/1.6 var(--f-ui); font-style:normal; color:var(--primary); }
.names em i { font-style:normal; display:inline-grid; place-items:center; width:1.9em; height:1.9em; border-radius:50%; background:var(--gold); color:#fff; margin-right:.2em; }
.ticket { display:flex; margin:0; border-radius:14px; overflow:hidden; font:700 .85rem var(--f-ui); }
.ticket span { padding:10px 16px; background:var(--primary); color:#fff; }
.ticket span + span { background:var(--paper); color:var(--deep); border:2px dashed var(--primary); border-left:0; border-radius:0 14px 14px 0; }

.cd div { border-radius:20px; aspect-ratio:auto; padding:16px 0; box-shadow:none; border:2px solid var(--line); }
.cd b { font-family:var(--f-ui); font-weight:700; }
.amp { color:var(--primary); }
.sign b { color:var(--deep); font-weight:600; }
.note p { border:2px dashed var(--line); border-radius:22px; font-style:normal; }
