/* Ebru: ebru astarlı zarf (SVG ile dalgalandırılmış boya), lale mühür ve püskül; kapakta ebru çerçeveli kart. */
:root { --f-display:"Parisienne",cursive; --f-head:"Parisienne",cursive; --f-body:"Philosopher",Georgia,serif; --f-ui:"Jost",system-ui,sans-serif; }
body { --z-paper:var(--soft); --z-liner:var(--primary); --line:color-mix(in srgb, var(--gold) 45%, transparent); font-size:1.08rem; }
.tpl-ebru .opening { background:radial-gradient(90% 70% at 50% 40%, var(--paper), var(--soft)); }
.lead { font-size:1.2rem; }
.e-defs { position:absolute; width:0; height:0; }
.e-marble { position:absolute; inset:-14%; display:block;
  background:
    radial-gradient(circle at 20% 30%, var(--paper) 0 9px, transparent 10px),
    radial-gradient(circle at 70% 60%, var(--gold) 0 7px, transparent 8px),
    radial-gradient(circle at 45% 80%, var(--paper) 0 6px, transparent 7px),
    radial-gradient(circle at 85% 20%, var(--soft) 0 11px, transparent 12px),
    repeating-linear-gradient(104deg, var(--primary) 0 16px, var(--paper) 16px 19px, var(--gold) 19px 25px, var(--deep) 25px 36px, color-mix(in srgb, var(--primary) 55%, var(--paper)) 36px 46px, var(--paper) 46px 48px);
  background-size:90px 90px, 70px 70px, 110px 110px, 130px 130px, auto;
  filter:url(#ebruF); }
.z-back::after { display:none; }
.e-liner { position:absolute; inset:4.5% 4.5% 32%; overflow:hidden; border-radius:4px 4px 0 0; }
.z-flap > b { overflow:hidden; }

.e-seal { width:80px; height:80px; filter:drop-shadow(0 5px 6px rgb(0 0 0 / .3)); }
.e-seal svg { position:relative; width:100%; height:100%; }
.e-tassel { position:absolute; left:50%; top:62%; width:20px; height:84px; translate:-50% 0; transform-origin:50% 0; animation:sway 3.4s ease-in-out infinite; }
.e-tassel::before { content:""; position:absolute; left:50%; top:0; width:2px; height:34px; margin-left:-1px; background:var(--gold); }
.e-tassel::after { content:""; position:absolute; left:50%; top:32px; width:12px; height:12px; margin-left:-6px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #fff8, transparent 50%), var(--gold); }
.e-tassel i { position:absolute; left:0; right:0; top:42px; bottom:0; border-radius:3px 3px 6px 6px;
  background:repeating-linear-gradient(90deg, var(--gold) 0 1.5px, color-mix(in srgb, var(--gold) 60%, #000) 1.5px 3px);
  clip-path:polygon(20% 0, 80% 0, 100% 100%, 0 100%); }
@keyframes sway { 50% { rotate:6deg; } }

/* Kapak: ebru çerçeveli kart */
.hero { gap:0; }
.e-card { position:relative; width:min(100%,390px); padding:16px; box-shadow:var(--shadow); }
.e-border { position:absolute; inset:0; overflow:hidden; border-radius:3px; }
.e-inner { position:relative; display:flex; flex-direction:column; align-items:center; gap:14px; padding:38px 18px 34px; background:var(--z-grain), var(--paper);
  outline:1px solid var(--gold); outline-offset:-8px; }
.e-tulip { width:150px; color:var(--gold); }
.e-photo { margin:0; width:min(58vw,220px); aspect-ratio:4/5; border:1px solid var(--gold); padding:6px; }
.e-photo img { width:100%; height:100%; object-fit:cover; }
.names { font-size:clamp(3.2rem,14vw,4.4rem); line-height:1.05; }
.names em { font-family:var(--f-display); font-style:normal; font-size:.55em; }
.is-birthday .names em { font:italic 400 .34em/1.4 var(--f-body); }
.date-line { font-size:.74rem; }
