/* دعوتي — شكل الدعوة (مشترك بين المعاينة وصفحة الضيف) */
.dw{--page:#081326;--card:#0d1b33;--ink:#f6ead0;--acc:#d7b56d;--disp:"Aref Ruqaa","Amiri","Cormorant Garamond",serif;--body:"IBM Plex Sans Arabic",Tahoma,sans-serif;
  background:var(--page);color:var(--ink);font-family:var(--body);line-height:1.8;padding:18px 14px 34px;min-height:100%;box-sizing:border-box}
.dw *{box-sizing:border-box}
.dw[lang=en]{--disp:"Cormorant Garamond","Aref Ruqaa",serif}
.dw-card{max-width:460px;margin:0 auto;background:var(--card);border-radius:20px;padding:12px;box-shadow:0 18px 50px rgba(0,0,0,.28);position:relative;overflow:hidden}
.dw-card:before{content:"";position:absolute;inset:0;opacity:.07;pointer-events:none;
  background-image:radial-gradient(circle at 20px 20px,var(--acc) 1.6px,transparent 2px);background-size:40px 40px}
.th-mono .dw-card:before,.th-navy .dw-card:before{display:none}
/* الزخارف */
.fx-geo .dw-card:before{opacity:.12;background-size:56px 56px;
  background-image:linear-gradient(45deg,transparent 47%,var(--acc) 48%,var(--acc) 52%,transparent 53%),linear-gradient(-45deg,transparent 47%,var(--acc) 48%,var(--acc) 52%,transparent 53%)}
.fx-confetti .dw-card:before{opacity:.5;background-size:90px 90px;
  background-image:radial-gradient(circle at 12px 14px,#e8590c 4px,transparent 5px),radial-gradient(circle at 58px 30px,#1c7ed6 3px,transparent 4px),radial-gradient(circle at 34px 70px,#f59f00 4px,transparent 5px),radial-gradient(circle at 78px 76px,#d6336c 3px,transparent 4px)}
.fx-stars .dw-card:before{opacity:.75;background-size:170px 190px;
  background-image:radial-gradient(circle at 18px 26px,var(--ink) 1.2px,transparent 1.8px),radial-gradient(circle at 96px 14px,var(--acc) 1.6px,transparent 2.2px),radial-gradient(circle at 142px 78px,var(--ink) 1px,transparent 1.6px),radial-gradient(circle at 54px 112px,var(--acc) 1.2px,transparent 1.8px),radial-gradient(circle at 120px 158px,var(--ink) 1.4px,transparent 2px),radial-gradient(circle at 30px 172px,var(--ink) .9px,transparent 1.5px)}
.fx-marble .dw-card:before{opacity:1;background-size:auto;
  background-image:linear-gradient(118deg,transparent 30%,rgba(120,105,85,.10) 31%,transparent 33.5%),linear-gradient(101deg,transparent 58%,rgba(120,105,85,.08) 59%,transparent 62%),linear-gradient(152deg,transparent 44%,rgba(120,105,85,.07) 45%,transparent 46.5%),linear-gradient(74deg,transparent 76%,rgba(120,105,85,.09) 77%,transparent 79%),radial-gradient(ellipse at 20% 10%,rgba(160,140,110,.10),transparent 55%)}
.fx-water .dw-card:before{opacity:1;background-size:auto;
  background-image:radial-gradient(ellipse 70% 42% at 0 0,color-mix(in srgb,var(--acc) 34%,transparent),transparent 70%),radial-gradient(ellipse 60% 36% at 100% 100%,color-mix(in srgb,var(--acc) 30%,transparent),transparent 70%),radial-gradient(ellipse 40% 22% at 100% 8%,color-mix(in srgb,var(--acc) 16%,transparent),transparent 70%)}
.fx-foil .dw-names span,.fx-foil .dw-date b,.fx-foil .dw-to b{background:linear-gradient(115deg,var(--acc) 10%,color-mix(in srgb,var(--acc) 45%,#fff) 38%,var(--acc) 55%,color-mix(in srgb,var(--acc) 70%,#000) 78%,color-mix(in srgb,var(--acc) 50%,#fff) 96%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--acc)}
.fx-arch .dw-card{border-radius:240px 240px 22px 22px;padding:10px}
.fx-arch .dw-frame{border-radius:232px 232px 14px 14px;padding-top:66px}
.fx-arch .dw-to{padding-inline:26px}
.fx-floral .dw-frame:before,.fx-floral .dw-frame:after,.fx-leaf .dw-frame:before,.fx-leaf .dw-frame:after,.fx-deco .dw-frame:before,.fx-deco .dw-frame:after,.fx-geo .dw-frame:before,.fx-geo .dw-frame:after,.fx-balloon .dw-frame:before,.fx-balloon .dw-frame:after{
  content:"";position:absolute;width:96px;height:96px;background:var(--acc);pointer-events:none;-webkit-mask:var(--orn) no-repeat center/contain;mask:var(--orn) no-repeat center/contain}
.fx-crosses .dw-card:before{opacity:.13;background:var(--acc);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M23 14h2v6h6v2h-6v10h-2V22h-6v-2h6z'/%3E%3C/svg%3E") 0 0/46px 46px repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M23 14h2v6h6v2h-6v10h-2V22h-6v-2h6z'/%3E%3C/svg%3E") 0 0/46px 46px repeat}
.fx-vine .dw-frame:before,.fx-vine .dw-frame:after{content:"";position:absolute;width:104px;height:104px;background:var(--acc);pointer-events:none;-webkit-mask:var(--orn) no-repeat center/contain;mask:var(--orn) no-repeat center/contain}
.fx-vine .dw-frame{--orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M6 96C6 60 14 30 40 16S84 8 96 6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M40 16c6 8 4 16-2 22' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3Cellipse cx='12' cy='62' rx='10' ry='5' transform='rotate(-70 12 62)'/%3E%3Cellipse cx='22' cy='40' rx='10' ry='5.5' transform='rotate(-40 22 40)'/%3E%3Cellipse cx='60' cy='12' rx='10' ry='5' transform='rotate(-10 60 12)'/%3E%3Cellipse cx='80' cy='12' rx='8' ry='4' transform='rotate(10 80 12)'/%3E%3Ccircle cx='30' cy='40' r='4.3'/%3E%3Ccircle cx='39' cy='40' r='4.3'/%3E%3Ccircle cx='48' cy='40' r='4.3'/%3E%3Ccircle cx='34.5' cy='48' r='4.3'/%3E%3Ccircle cx='43.5' cy='48' r='4.3'/%3E%3Ccircle cx='39' cy='56' r='4.3'/%3E%3Ccircle cx='39' cy='64' r='4.3'/%3E%3Cpath d='M52 20c8 2 10 8 8 14' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E");padding-top:50px;padding-bottom:50px}
.dw-frame:before{top:5px;left:5px}.dw-frame:after{bottom:5px;right:5px;transform:rotate(180deg)}
.fx-floral .dw-frame{--orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M6 96C8 52 26 22 96 6' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3Cellipse cx='12' cy='74' rx='8' ry='3.2' transform='rotate(-58 12 74)'/%3E%3Cellipse cx='21' cy='66' rx='8' ry='3.2' transform='rotate(24 21 66)'/%3E%3Cellipse cx='60' cy='19' rx='8' ry='3.2' transform='rotate(-6 60 19)'/%3E%3Cellipse cx='72' cy='20' rx='8' ry='3.2' transform='rotate(64 72 20)'/%3E%3Cellipse cx='84' cy='10' rx='7' ry='3' transform='rotate(-4 84 10)'/%3E%3Cellipse cx='30' cy='19' rx='5' ry='10' transform='rotate(0 30 30)'/%3E%3Cellipse cx='30' cy='19' rx='5' ry='10' transform='rotate(60 30 30)'/%3E%3Cellipse cx='30' cy='19' rx='5' ry='10' transform='rotate(120 30 30)'/%3E%3Cellipse cx='30' cy='19' rx='5' ry='10' transform='rotate(180 30 30)'/%3E%3Cellipse cx='30' cy='19' rx='5' ry='10' transform='rotate(240 30 30)'/%3E%3Cellipse cx='30' cy='19' rx='5' ry='10' transform='rotate(300 30 30)'/%3E%3Ccircle cx='30' cy='30' r='4.4' fill='%23000'/%3E%3Cellipse cx='48' cy='33' rx='2.6' ry='5.4' transform='rotate(0 48 39)'/%3E%3Cellipse cx='48' cy='33' rx='2.6' ry='5.4' transform='rotate(72 48 39)'/%3E%3Cellipse cx='48' cy='33' rx='2.6' ry='5.4' transform='rotate(144 48 39)'/%3E%3Cellipse cx='48' cy='33' rx='2.6' ry='5.4' transform='rotate(216 48 39)'/%3E%3Cellipse cx='48' cy='33' rx='2.6' ry='5.4' transform='rotate(288 48 39)'/%3E%3Ccircle cx='16' cy='48' r='3'/%3E%3Ccircle cx='12' cy='56' r='2.2'/%3E%3C/svg%3E")}.fx-leaf .dw-frame{--orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M6 96C8 52 26 22 96 6' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3Cellipse cx='11' cy='78' rx='9' ry='3.6' transform='rotate(-60 11 78)'/%3E%3Cellipse cx='20' cy='72' rx='9' ry='3.6' transform='rotate(20 20 72)'/%3E%3Cellipse cx='15' cy='60' rx='9' ry='3.6' transform='rotate(-50 15 60)'/%3E%3Cellipse cx='27' cy='55' rx='9' ry='3.6' transform='rotate(30 27 55)'/%3E%3Cellipse cx='24' cy='43' rx='9' ry='3.6' transform='rotate(-35 24 43)'/%3E%3Cellipse cx='38' cy='41' rx='9' ry='3.6' transform='rotate(45 38 41)'/%3E%3Cellipse cx='37' cy='29' rx='9' ry='3.6' transform='rotate(-20 37 29)'/%3E%3Cellipse cx='51' cy='31' rx='9' ry='3.6' transform='rotate(55 51 31)'/%3E%3Cellipse cx='53' cy='20' rx='9' ry='3.6' transform='rotate(-8 53 20)'/%3E%3Cellipse cx='66' cy='23' rx='9' ry='3.6' transform='rotate(62 66 23)'/%3E%3Cellipse cx='70' cy='13' rx='9' ry='3.6' transform='rotate(0 70 13)'/%3E%3Cellipse cx='82' cy='16' rx='7' ry='3' transform='rotate(68 82 16)'/%3E%3C/svg%3E")}.fx-deco .dw-frame{--orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M4 26A22 22 0 0 0 26 4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Cpath d='M4 40A36 36 0 0 0 40 4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Cpath d='M4 54A50 50 0 0 0 54 4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Cpath d='M4 68A64 64 0 0 0 68 4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Cpath d='M4 4L52 52M4 4L64 28M4 4L28 64' stroke='%23000' stroke-width='1.2'/%3E%3Cpath d='M4 4h78M4 4v78' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E")}.fx-geo .dw-frame{--orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M12 12h32v32H12z'/%3E%3Cpath d='M28 5.4L50.6 28 28 50.6 5.4 28z'/%3E%3Ccircle cx='28' cy='28' r='7'/%3E%3Cpath d='M52 12h44M12 52v44'/%3E%3Cpath d='M62 12l5-5 5 5-5 5zM82 12l5-5 5 5-5 5zM12 62l-5 5 5 5 5-5zM12 82l-5 5 5 5 5-5z'/%3E%3C/g%3E%3C/svg%3E")}.fx-balloon .dw-frame{--orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cellipse cx='30' cy='30' rx='15' ry='19'/%3E%3Cellipse cx='60' cy='24' rx='13' ry='17' opacity='.7'/%3E%3Cellipse cx='48' cy='52' rx='12' ry='15' opacity='.85'/%3E%3Cg fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M30 49q-4 22 6 46'/%3E%3Cpath d='M60 41q6 26-20 54'/%3E%3Cpath d='M48 67q2 14-10 28'/%3E%3C/g%3E%3C/svg%3E")}
.fx-deco .dw-frame:before,.fx-deco .dw-frame:after,.fx-geo .dw-frame:before,.fx-geo .dw-frame:after{width:74px;height:74px;opacity:.9}
.fx-floral .dw-frame,.fx-leaf .dw-frame,.fx-balloon .dw-frame{padding-top:46px;padding-bottom:46px}
.fx-arch.fx-floral .dw-frame,.fx-arch.fx-leaf .dw-frame,.fx-arch.fx-geo .dw-frame{padding-top:66px}
.fx-arch .dw-frame:before{top:auto;bottom:5px;transform:scaleY(-1)}
.fx-balloon .dw-frame:before{top:-4px;left:2px;height:118px;width:104px}
.fx-balloon .dw-frame:after{top:-4px;bottom:auto;right:2px;height:118px;width:104px;transform:scaleX(-1)}
.fx-balloon .dw-frame{padding-top:92px}
.dw-frame{position:relative;border:1.5px solid var(--acc);border-radius:12px;padding:30px 18px 28px;text-align:center;outline:1px solid color-mix(in srgb,var(--acc) 45%,transparent);outline-offset:-7px;background:color-mix(in srgb,var(--card) 88%,transparent)}
.dw-to{margin:0 0 18px;display:grid;gap:2px;font-size:13.5px}
.dw-to span{opacity:.75}.dw-to b{font-family:var(--disp);font-size:24px;color:var(--acc);line-height:1.5}.dw-to em{font-style:normal;font-size:12.5px;opacity:.8}
.dw-sym{color:var(--acc);height:46px;display:grid;place-items:center;margin-bottom:10px}
.dw-sym svg{height:44px;width:auto}.dw-emo{font-size:40px;line-height:1}
.dw-photo{width:132px;height:132px;border-radius:50%;object-fit:cover;border:3px solid var(--acc);display:block;margin:4px auto 14px}
.dw-verse{margin:0 auto 14px;max-width:34ch;font-size:14px;color:var(--acc);line-height:2}
.dw-host{margin:0 0 6px;font-size:15px;opacity:.9}
.dw-names{margin:6px 0 10px;font-family:var(--disp);font-weight:700;color:var(--acc);font-size:clamp(38px,11vw,54px);line-height:1.35;display:grid;gap:0;overflow-wrap:anywhere}
.dw-names i{font-style:normal;font-size:.5em;color:var(--ink);opacity:.85;line-height:1.3}
.dw-intro{margin:0 auto 18px;max-width:30ch;font-size:16px}
.dw-date{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:0 auto 6px;max-width:330px}
.dw-date span{border-block:1px solid var(--acc);padding:7px 2px;font-size:14.5px;font-weight:600}
.dw-date b{font-family:var(--disp);font-size:52px;line-height:1;color:var(--acc);font-variant-numeric:tabular-nums}
.dw[lang=ar] .dw-date b{font-family:var(--body);font-weight:700;font-size:46px}
.dw-time{margin:6px 0 14px;font-size:16px;font-weight:600}
.dw-v2{margin:14px auto 0;display:grid;gap:0;max-width:30ch;padding-top:12px;border-top:1px dashed color-mix(in srgb,var(--acc) 55%,transparent)}
.dw-v2 i{font-style:normal;font-size:13px;color:var(--acc);font-weight:700}.dw-v2 b{font-size:16.5px}.dw-v2 span{font-size:14px;opacity:.9}
.dw-end{margin:16px auto 0;max-width:30ch;font-size:14.5px;color:var(--acc)}
.dw-venue{margin:0;display:grid;gap:0}.dw-venue b{font-size:18px}.dw-venue span{font-size:14px;opacity:.85}

.dw-sec{max-width:460px;margin:16px auto 0;background:color-mix(in srgb,var(--card) 92%,var(--ink));border:1px solid color-mix(in srgb,var(--acc) 40%,transparent);border-radius:16px;padding:16px 16px 18px}
.dw-sec h2{margin:0 0 10px;font-family:var(--disp);font-size:22px;color:var(--acc);text-align:center;font-weight:700}
.dw-prog{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dw-prog li{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:baseline;border-bottom:1px dashed color-mix(in srgb,var(--acc) 35%,transparent);padding-bottom:8px}
.dw-prog li:last-child{border:0;padding:0}.dw-prog time{font-weight:700;color:var(--acc);font-size:14.5px;font-variant-numeric:tabular-nums}
.dw-notes{margin:0;padding-inline-start:20px;display:grid;gap:4px}
.dw-gift{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}
.dw-gift b{font-size:19px;letter-spacing:.5px}
.dw button,.dw .dw-btn{font:inherit;font-weight:700;border-radius:12px;border:1.5px solid var(--acc);background:transparent;color:var(--ink);padding:10px 16px;min-height:44px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;-webkit-tap-highlight-color:transparent}
.dw button.fill,.dw .dw-btn.fill{background:var(--acc);color:var(--card)}
.dw button:focus-visible,.dw .dw-btn:focus-visible,.dw input:focus-visible,.dw textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--acc) 60%,#fff);outline-offset:2px}
.dw button:active,.dw .dw-btn:active{transform:scale(.98)}
.dw-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}

.dw-cd{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center;direction:ltr}
.dw-cd div{background:color-mix(in srgb,var(--acc) 14%,transparent);border-radius:12px;padding:10px 2px}
.dw-cd b{display:block;font-size:26px;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--acc)}.dw-cd span{font-size:12px;opacity:.85}
.dw-cdmsg{text-align:center;margin:0;font-weight:600}

.dw-rsvp{display:grid;gap:12px}
.dw-rsvp label{display:grid;gap:5px;font-size:14px;font-weight:600}
.dw input,.dw textarea{font:inherit;font-size:16px;color:var(--ink);background:color-mix(in srgb,var(--card) 80%,var(--ink) 6%);border:1.5px solid color-mix(in srgb,var(--acc) 55%,transparent);border-radius:12px;padding:11px 12px;width:100%}
.dw textarea{min-height:76px;resize:vertical}
.dw-st{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dw-st button{padding:10px 4px;font-size:14px}.dw-st button[aria-pressed=true]{background:var(--acc);color:var(--card)}
.dw-step{display:flex;align-items:center;gap:14px;justify-content:center}
.dw-step button{width:46px;padding:0;font-size:22px}.dw-step b{font-size:22px;min-width:2ch;text-align:center;font-variant-numeric:tabular-nums}
.dw-done{text-align:center;display:grid;gap:10px;justify-items:center}.dw-done p{margin:0;font-size:18px;font-weight:700}
.dw-err{margin:0;color:#ff8a80;font-size:14px;text-align:center;font-weight:600}
.lt .dw-err{color:#b3261e}
.dw-wishes{display:grid;gap:10px;max-height:420px;overflow:auto}
.dw-wishes blockquote{margin:0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--acc) 12%,transparent)}
.dw-wishes cite{display:block;font-style:normal;font-weight:700;font-size:13.5px;color:var(--acc)}
.dw-qr{display:grid;place-items:center;margin-top:12px}.dw-qr svg{width:150px;height:150px;border-radius:10px;border:6px solid #fff}
.dw-foot{max-width:460px;margin:22px auto 0;text-align:center;font-size:13px;display:grid;gap:8px;justify-items:center}
.dw-foot small{opacity:.7}
.dw-lang{position:fixed;top:10px;inset-inline-end:10px;z-index:5;font:600 13px/1 var(--body,Tahoma);border-radius:999px;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.45);color:#fff;padding:9px 13px;min-height:36px;cursor:pointer;backdrop-filter:blur(6px)}

/* الغلاف: الضيف بيضغط يفتح الدعوة */
.dw-cover{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;text-align:center;background:var(--card);color:var(--ink);transition:opacity .6s ease,transform .6s ease}
.dw-cover.off{opacity:0;transform:scale(1.06);pointer-events:none}
.dw-cover .in{display:grid;gap:14px;justify-items:center;max-width:420px}
.dw-cover .seal{width:104px;height:104px;border-radius:50%;border:2px solid var(--acc);display:grid;place-items:center;color:var(--acc)}
.dw-cover .seal svg{height:50px;width:auto}
.dw-cover h1{margin:0;font-family:var(--disp);font-size:clamp(34px,10vw,48px);color:var(--acc);line-height:1.4;overflow-wrap:anywhere}
.dw-cover p{margin:0;font-size:15px;opacity:.9}.dw-cover p b{display:block;font-family:var(--disp);font-size:26px;color:var(--acc)}
@media (prefers-reduced-motion:reduce){.dw-cover{transition:none}}

#dw-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:#111;color:#fff;font:600 14px/1.4 "IBM Plex Sans Arabic",Tahoma,sans-serif;padding:10px 16px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:99;max-width:86vw;text-align:center}
#dw-toast.on{opacity:1;transform:translate(-50%,0)}
