/* ===== البطاقة ===== */
.card{--pad:clamp(22px,6vw,34px);position:relative;width:100%;max-width:420px;margin-inline:auto;color:var(--ink);font-family:var(--f-ui);background-color:var(--paper);background-image:linear-gradient(color-mix(in srgb,var(--paper) 55%,transparent),color-mix(in srgb,var(--paper) 55%,transparent)),var(--pat),linear-gradient(160deg,var(--paper) 0%,var(--paper) 55%,var(--paper2) 100%);box-shadow:0 1px 0 rgba(0,0,0,.04),0 22px 44px -24px rgba(40,30,15,.45);text-align:center;line-height:1.7}
.card.pat-marble{background-image:radial-gradient(ellipse at 20% 15%,rgba(255,255,255,.9),transparent 45%),linear-gradient(115deg,transparent 30%,rgba(120,115,105,.10) 31%,transparent 33%,transparent 58%,rgba(150,140,125,.12) 59%,transparent 61%),linear-gradient(35deg,transparent 45%,rgba(140,135,125,.08) 46%,transparent 48%),linear-gradient(160deg,var(--paper),var(--paper2))}
.card.is-dark{box-shadow:0 22px 50px -20px rgba(0,0,0,.6)}
.card-frame{position:relative;margin:12px;padding:calc(var(--pad) + 18px) var(--pad) calc(var(--pad) + 14px);border:1px solid color-mix(in srgb,var(--accent) 70%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:-6px}
.orn-lace .card-frame{border-style:dashed}
.orn-deco .card-frame{outline-offset:-9px;outline-width:2px}
.corner{position:absolute;width:58px;height:58px;color:var(--accent);opacity:.92;pointer-events:none}
.corner svg{width:100%;height:100%;display:block}
.c-bl{left:6px;bottom:6px}
.c-br{right:6px;bottom:6px;transform:scaleX(-1)}
.c-tl{left:6px;top:6px;transform:scaleY(-1)}
.c-tr{right:6px;top:6px;transform:scale(-1,-1)}
.polas{display:flex;justify-content:center;margin:-6px 0 18px;height:150px;position:relative}
.pola{margin:0;background:#fff;padding:7px 7px 22px;box-shadow:0 10px 22px -10px rgba(0,0,0,.45);width:118px}
.pola img{display:block;width:100%;aspect-ratio:1/1.1;object-fit:cover}
.pola.p0{transform:rotate(-6deg) translateY(4px);margin-inline-end:-14px;z-index:1}
.pola.p1{transform:rotate(5deg) translateY(-4px)}
.c-intro{margin:0 0 14px;font-family:var(--f-name);font-size:17px;color:var(--soft)}
.c-fams{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px;font-size:14px;font-weight:500;line-height:1.5}
.c-fams.one{grid-template-columns:1fr}
.c-fams span{display:block}
.c-line{margin:0 auto 6px;max-width:30ch;font-size:14px;font-weight:300;color:var(--soft)}
.c-names{margin:6px 0 2px;font-family:var(--fname),var(--f-name);font-weight:700;font-size:clamp(38px,11vw,50px);line-height:1.3;display:flex;flex-direction:column;align-items:center}
.c-names .amp{font-family:var(--f-ui);font-weight:300;font-size:18px;color:var(--accent);line-height:1;margin:6px 0 10px}
.c-names .nm{padding:0 4px;background:linear-gradient(180deg,var(--ink),color-mix(in srgb,var(--ink) 65%,var(--accent)));-webkit-background-clip:text;background-clip:text;color:transparent}
.is-dark .c-names .nm{background:linear-gradient(180deg,#fff6df,var(--accent) 120%);-webkit-background-clip:text;background-clip:text}
[lang=en] .c-names{font-family:"Futura PT",var(--f-name);font-weight:500;letter-spacing:.02em;font-size:clamp(32px,9vw,42px)}
.c-div{color:var(--accent);margin:14px auto 12px;width:150px}
.c-div svg{display:block;width:100%;height:16px}
.c-date{display:flex;flex-direction:column;gap:2px;margin:0 0 8px}
.c-date .wd{font-size:14px;color:var(--soft)}
.c-date .dm{font-size:22px;font-weight:500}
.c-date .num{font-family:var(--f-num);font-weight:500}
.c-date .hj{font-size:13px;color:var(--soft)}
.c-time{margin:0 0 10px;font-size:15px}
.c-venue{margin:0;font-size:16px;font-weight:500;display:flex;flex-direction:column}
.c-venue span{font-size:13px;font-weight:300;color:var(--soft)}
.c-sec{margin:10px auto 0;display:inline-block;padding:2px 12px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);font-size:12.5px;color:var(--soft)}
.c-notes{list-style:none;margin:14px 0 0;padding:0;font-size:12.5px;color:var(--soft);display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px}
.c-notes li{position:relative}
.c-notes li+li::before{content:"";position:absolute;inset-inline-start:-9px;top:50%;width:3px;height:3px;background:var(--accent);transform:translateY(-50%) rotate(45deg)}
.c-for{margin:20px -6px 0;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--accent) 35%,transparent);display:flex;flex-direction:column;font-size:12.5px;color:var(--soft)}
.c-for b{font-size:17px;font-weight:500;color:var(--ink)}
.c-for em{font-style:normal}

/* رسومات مرسومة (ألوان مائية) فوق وتحت البطاقة */
.card.has-art{background-image:var(--art-t),var(--art-b),linear-gradient(160deg,var(--paper) 0%,var(--paper) 55%,var(--paper2) 100%);background-size:100% auto,100% auto,auto;background-position:top center,bottom center,center;background-repeat:no-repeat;background-blend-mode:multiply}
.card.has-art .card-frame{border-color:transparent;outline-color:transparent;padding-top:calc(var(--pad) + 150px);padding-bottom:calc(var(--pad) + 130px)}
.card.has-art .corner{display:none}
.card.has-art.is-dark{background-blend-mode:screen;background-image:var(--art-t),var(--art-b),linear-gradient(160deg,var(--paper) 0%,var(--paper) 55%,var(--paper2) 100%)}
.card.art-majlis .card-frame{padding-bottom:calc(var(--pad) + 215px)}

/* ===== أشكال البطاقة ===== */
/* ليتربرس عاجي: ورق قطني محبّب، ونقش بارز، وحافة ذهبية */
.card.cs-letterpress{background-color:color-mix(in srgb,var(--paper) 92%,#fff 8%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .4 0 0 0 0 .33 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 80%,transparent),0 0 0 4px var(--paper),0 0 0 5px color-mix(in srgb,var(--accent) 45%,transparent),0 18px 40px rgba(0,0,0,.14)}
.cs-letterpress .card-frame{border:0;outline:0;padding-top:calc(var(--pad) + 26px);padding-bottom:calc(var(--pad) + 22px)}
.cs-letterpress .corner{opacity:.55;filter:drop-shadow(0 1px 0 rgba(255,255,255,.8)) drop-shadow(0 -1px 0 rgba(0,0,0,.12))}
.cs-letterpress .c-intro,.cs-letterpress .c-line,.cs-letterpress .c-fams,.cs-letterpress .c-date,.cs-letterpress .c-time,.cs-letterpress .c-venue{color:color-mix(in srgb,var(--ink) 85%,var(--paper));text-shadow:0 1px 0 rgba(255,255,255,.75),0 -1px 0 rgba(0,0,0,.08)}
.cs-letterpress .c-names .nm{background:linear-gradient(170deg,color-mix(in srgb,var(--accent) 60%,#fff 40%) 0%,var(--accent) 38%,color-mix(in srgb,var(--accent) 70%,#000 30%) 62%,color-mix(in srgb,var(--accent) 80%,#fff 20%) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 rgba(255,255,255,.7))}
.is-dark.cs-letterpress{background-color:var(--paper)}

/* مجلة: خط كبير، ومساحات واسعة، وخطوط رفيعة */
.cs-editorial .card-frame{border:0;outline:0;margin:0;padding:calc(var(--pad) + 6px) calc(var(--pad) + 4px) calc(var(--pad) + 10px);text-align:start;align-items:stretch}
.cs-editorial .corner,.cs-editorial .c-div{display:none}
.cs-editorial .c-intro{font-size:12px;letter-spacing:.08em;color:var(--soft);border-bottom:1px solid var(--ink);padding-bottom:10px;margin-bottom:22px;text-align:start}
.cs-editorial .c-fams{text-align:start;justify-content:flex-start}
.cs-editorial .c-line{text-align:start;font-size:15px;margin-top:18px}
.cs-editorial .c-names{align-items:flex-start;font-size:clamp(58px,18vw,84px);line-height:1.02;margin:10px 0 18px;font-family:var(--f-ui);font-weight:700;letter-spacing:-.01em}
.cs-editorial .c-names .nm{background:none;color:var(--ink);padding:0}
.cs-editorial .c-names .amp{font-size:28px;margin:4px 0;color:var(--accent);font-weight:300}
.cs-editorial .c-date{align-items:flex-start;text-align:start;border-top:1px solid var(--ink);border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding:14px 0;margin:6px 0 8px}
.cs-editorial .c-date .dm{font-size:20px}
.cs-editorial .c-date .dm .num:first-child{display:block;font-size:76px;line-height:1;color:var(--accent);margin-bottom:4px}
.cs-editorial .c-time,.cs-editorial .c-venue,.cs-editorial .c-sec{text-align:start}
.cs-editorial .c-for{text-align:start;align-items:flex-start}

/* المونوغرام: حرفين العروسين بالذهب بالنص */
.c-mono{display:grid;place-items:center;margin:4px auto 16px;width:132px;height:132px;border-radius:50%;box-shadow:0 0 0 1px var(--accent),0 0 0 6px var(--paper),0 0 0 7px color-mix(in srgb,var(--accent) 55%,transparent)}
.c-mono span{display:flex;align-items:center;gap:10px;direction:rtl;font-family:var(--fname),var(--f-name);font-weight:700;font-size:46px;line-height:1;background:linear-gradient(170deg,color-mix(in srgb,var(--accent) 55%,#fff 45%),var(--accent) 45%,color-mix(in srgb,var(--accent) 70%,#000 30%));-webkit-background-clip:text;background-clip:text;color:transparent}
.c-mono i{width:1px;height:46px;background:var(--accent);opacity:.6}
.cs-monogram .corner{opacity:.5}
.cs-monogram .c-names{font-size:clamp(30px,9vw,40px)}

/* صورتكم: صورة العروسين بعرض البطاقة */
.c-photo{margin:calc((var(--pad) + 18px) * -1) calc(var(--pad) * -1) 18px;position:relative;aspect-ratio:4/5;overflow:hidden}
.c-photo img{width:100%;height:100%;object-fit:cover;display:block}
.c-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,var(--paper))}
.cs-photo .card-frame{border-color:transparent;outline-color:transparent}
.cs-photo .corner{display:none}

/* ===== الحرفين (المونوغرام) ===== */
.mono{--ms:132px;position:relative;width:var(--ms);height:var(--ms);margin:4px auto 16px;display:flex;align-items:center;justify-content:center;gap:8px;direction:rtl;color:var(--accent)}
.mono-big{--ms:min(62vw,240px)}
.mo-l{font-family:var(--mfont,var(--fname)),var(--f-name);font-weight:700;font-size:calc(var(--ms) * .34);line-height:1;background:linear-gradient(170deg,color-mix(in srgb,var(--accent) 55%,#fff 45%),var(--accent) 45%,color-mix(in srgb,var(--accent) 70%,#000 30%));-webkit-background-clip:text;background-clip:text;color:transparent;padding:.08em .02em}
.mo-frame{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--accent);stroke-width:1.2;overflow:visible}
.mo-bar{width:1px;height:calc(var(--ms) * .3);background:var(--accent);opacity:.6}
.mono-stack{flex-direction:column;gap:2px}
.mono-stack .mo-l{font-size:calc(var(--ms) * .3)}
.mo-rule{width:calc(var(--ms) * .4);height:1px;background:var(--accent)}
.mo-amp{font-family:var(--f-name);font-size:calc(var(--ms) * .5);color:color-mix(in srgb,var(--accent) 40%,transparent);margin:0 -.15em;line-height:1}
.mono.mono-overlap .mo-l{position:absolute;font-size:calc(var(--ms) * .62)}
.mono-overlap .mo-a{transform:translate(18%,-6%)}
.mono-overlap .mo-b{transform:translate(-18%,8%);opacity:.75}
.mono-diamond .mo-l,.mono-star .mo-l,.mono-hexagon .mo-l{font-size:calc(var(--ms) * .28)}
.mo-leaves{fill:color-mix(in srgb,var(--accent) 75%,transparent);stroke:none}
.mo-wax{fill:var(--seal);stroke:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.mono-seal .mo-wax circle{fill:none;stroke:color-mix(in srgb,var(--seal) 65%,#000 35%);stroke-width:2}
.mono-seal .mo-l{background:linear-gradient(170deg,#fff6e2,#f1dcb4);-webkit-background-clip:text;background-clip:text;font-size:calc(var(--ms) * .3)}
.mono-square .mo-frame{stroke-width:2.4}
.mono-ribbon{flex-wrap:wrap;align-content:center;height:auto;padding:10px 0 0}
.mo-ribbon{flex-basis:100%;width:100%;height:calc(var(--ms) * .22);margin-top:6px;fill:color-mix(in srgb,var(--accent) 85%,transparent)}
.mo-ctext{font-family:var(--f-ui);font-size:7px;fill:var(--accent);stroke:none;letter-spacing:.06em}
.mono-circletext .mo-l{font-size:calc(var(--ms) * .26)}
.mono-dated{flex-wrap:wrap;align-content:center}
.mo-date{flex-basis:100%;text-align:center;font-family:var(--f-num);font-size:12px;letter-spacing:.2em;color:var(--soft);margin-top:6px}
.mo-logo{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.is-dark .mo-logo{mix-blend-mode:screen}
.mono-emblem{--ms:150px}
.mo-emb{position:absolute;inset:-6%;background:linear-gradient(170deg,color-mix(in srgb,var(--accent) 50%,#fff 50%),var(--accent) 45%,color-mix(in srgb,var(--accent) 75%,#000 25%));-webkit-mask:var(--emb) center/contain no-repeat;mask:var(--emb) center/contain no-repeat}
.mono-emblem .mo-l{position:relative;font-size:calc(var(--ms) * .24)}
.mono-emblem .mo-bar{position:relative;height:calc(var(--ms) * .2)}
.mono .mo-l,.mono .mo-bar,.mono .mo-amp,.mono .mo-rule,.mono .mo-date{position:relative;z-index:1}

/* ===== أشكال البطاقات الجاهزة ===== */
/* لوحة كاملة: الرسمة خلفية، والتفاصيل على لوح ورق شفاف */
.card.cs-fullbg{background:var(--art-x) center/cover no-repeat,var(--paper)}
.cs-fullbg .card-frame{margin:16% 7%;padding:calc(var(--pad) + 6px) var(--pad);background:color-mix(in srgb,var(--paper) 84%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:-5px;box-shadow:0 14px 40px rgba(0,0,0,.18)}
.cs-fullbg .corner{display:none}

/* شريط جانبي: الورد نازل على جنب، والتفاصيل بالجنب الثاني */
.card.cs-side{background:var(--art-x) right top/auto 100% no-repeat,var(--paper)}
[dir=ltr].cs-side{background-position:left top}
.cs-side .card-frame{border:0;outline:0;margin:0;margin-inline-start:30%;padding:calc(var(--pad) + 18px) var(--pad) calc(var(--pad) + 18px) calc(var(--pad) * .6)}
.cs-side .corner{display:none}
.cs-side .c-names{font-size:clamp(34px,10vw,46px)}

/* إكليل: حرفين العروسين جوا إكليل بأعلى البطاقة */
.cs-wreath .card-frame{border-color:color-mix(in srgb,var(--accent) 40%,transparent);outline:0}
.cs-wreath .corner{display:none}
.c-wreath{width:min(62%,230px);aspect-ratio:1;margin:-6px auto 10px;background:var(--art-x) center/contain no-repeat;mix-blend-mode:multiply;display:grid;place-items:center}
.is-dark .c-wreath{mix-blend-mode:normal}
.c-wreath span{display:flex;align-items:center;gap:8px;direction:rtl;font-family:var(--mfont,var(--fname)),var(--f-name);font-size:40px;font-weight:700;color:var(--accent)}
.c-wreath i{width:1px;height:34px;background:var(--accent);opacity:.6}

/* زاويتين: باقتين بزاويتين متقابلتين */
.card.cs-corners{background:var(--art-x) center/100% 100% no-repeat,var(--paper);background-blend-mode:multiply}
.cs-corners .card-frame{border:0;outline:0;padding-top:calc(var(--pad) + 80px);padding-bottom:calc(var(--pad) + 80px)}
.cs-corners .corner{display:none}

/* بطاقة بريدية: مشهد مرسوم مع طابع */
.cs-postcard .card-frame{outline:0}
.cs-postcard .corner{display:none}
.c-post{position:relative;margin:calc((var(--pad) + 6px) * -1) 0 18px;aspect-ratio:3/2;background:var(--art-x) center/cover no-repeat;border:8px solid #fffdf8;box-shadow:0 10px 24px rgba(0,0,0,.18);transform:rotate(-1.5deg)}
.c-stamp{position:absolute;top:-14px;left:-12px;width:62px;height:72px;display:grid;place-items:center;background:var(--paper);border:2px dashed color-mix(in srgb,var(--accent) 70%,transparent);font-family:var(--mfont,var(--fname)),var(--f-name);font-size:22px;color:var(--accent);transform:rotate(6deg);box-shadow:0 4px 10px rgba(0,0,0,.15)}

/* ذهب على غامق: إطار ذهبي مرسوم على خلفية غامقة */
.card.cs-luxe{background:var(--art-x) center/100% 100% no-repeat,linear-gradient(170deg,color-mix(in srgb,var(--paper) 90%,#000),#050505);background-blend-mode:screen;color:#f3e9d2}
.cs-luxe .card-frame{border:0;outline:0;padding:calc(var(--pad) + 44px) calc(var(--pad) + 18px)}
.cs-luxe .corner{display:none}
.cs-luxe .c-names .nm{background:linear-gradient(175deg,#fff2c8,var(--accent) 50%,#a07a32);-webkit-background-clip:text;background-clip:text;color:transparent}
.cs-luxe .c-intro,.cs-luxe .c-line,.cs-luxe .c-fams,.cs-luxe .c-sec{color:color-mix(in srgb,#f3e9d2 75%,transparent)}

/* بلاط: نقشة حوالين لوح الأسماء */
.card.cs-tile{background:var(--art-x) center/150px repeat,var(--paper)}
.cs-tile .card-frame{margin:28px;background:var(--paper);border:1px solid var(--accent);outline:5px solid var(--paper);outline-offset:0;box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 50%,transparent),0 18px 40px rgba(0,0,0,.25)}
.cs-tile .corner{opacity:.7}
/* بعض الخطوط حروفها صغيرة: بنكبّرها حسب كل خط */
.c-names .nm{font-size:calc(1em * var(--fscale,1))}
