/* أماني — صفحة دعوة حفل الإشهار (V9.5) */
@font-face{font-family:'Amiri';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/amiri-arabic-400-normal.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Amiri';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/amiri-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/amiri-arabic-700-normal.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/amiri-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-sans-arabic-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-sans-arabic-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/ibm-plex-sans-arabic-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Aref Ruqaa';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/aref-ruqaa-700.woff2') format('woff2')}
:root{
  --ivory:#FBF6EA;--paper:#FFFCF4;--sand:#EFE2C2;--sepia:#17110A;--sepia-2:#241B10;--sepia-3:#3A2B19;
  --gold:#C1902F;--gold-2:#D9AE5A;--gold-deep:#8A6519;--gold-pale:#E9DAB2;--gold-light:#F5DCA4;
  --muted:#6B6352;--olive:#5C6B3E;--danger:#A13D2D;
  --ruqaa:'Aref Ruqaa','Amiri',serif;--amiri:'Amiri',serif;--sans:'IBM Plex Sans Arabic',system-ui,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{min-height:100vh;min-height:100svh;font-family:var(--sans);color:var(--sepia-2);background:#2A1C0E;overflow-x:hidden;line-height:1.7}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}

/* ═══ الخلفية ═══ */
.iv-bg{position:fixed;inset:0;z-index:0;background:#3a2612 url('../assets/invite/bg-wide.webp') center/cover no-repeat}
@media (max-aspect-ratio:4/5){.iv-bg{background-image:url('../assets/invite/bg-tall.webp')}}
.iv-bg::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 42%,rgba(255,206,130,.20),transparent 70%)}
.iv-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 120% 90% at 50% 45%,transparent 45%,rgba(20,12,4,.62) 100%),linear-gradient(180deg,rgba(20,12,4,.25),rgba(20,12,4,0) 30%,rgba(20,12,4,.35))}
.iv-dust{position:fixed;inset:0;z-index:1;pointer-events:none;width:100%;height:100%}

/* ═══ الافتتاح ═══ */
.intro{position:fixed;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(ellipse at 50% 45%,rgba(40,26,10,.55),rgba(14,9,3,.92) 75%);transition:opacity 1.1s var(--ease)}
.intro canvas{position:absolute;inset:0;width:100%;height:100%}
.intro-logo{position:relative;opacity:0;transform:scale(1.15);filter:blur(10px) drop-shadow(0 0 30px rgba(255,200,110,.5));transition:opacity 1.4s var(--ease),transform 1.8s var(--ease),filter 1.4s var(--ease)}
.intro-logo img{width:clamp(170px,46vw,260px);height:auto}
.intro-line{position:relative;font-family:var(--ruqaa);font-size:clamp(1.3rem,5.4vw,2rem);color:#FFE3A6;opacity:0;transform:translateY(14px);transition:1.1s var(--ease);text-shadow:0 3px 18px rgba(0,0,0,.7)}
.intro.s2 .intro-logo{opacity:1;transform:none;filter:blur(0) drop-shadow(0 0 30px rgba(255,200,110,.45))}
.intro.s3 .intro-line{opacity:1;transform:none}
.intro.out{opacity:0;pointer-events:none}
.intro-skip{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:none;border:1px solid rgba(228,189,115,.4);color:#E9D3A4;border-radius:30px;padding:6px 18px;font-size:.84rem;opacity:.75}

/* ═══ الكتاب ═══ */
.book-stage{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:8px;text-align:center;transition:opacity .9s var(--ease),transform 1.1s var(--ease)}
.env-kicker{font-family:var(--sans);letter-spacing:.3em;font-size:.82rem;color:var(--gold-light);opacity:.9;display:flex;align-items:center;gap:12px}
.env-kicker::before,.env-kicker::after{content:"";width:46px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-light))}
.env-kicker::after{transform:scaleX(-1)}
.env-to{font-family:var(--ruqaa);font-size:clamp(1.6rem,6vw,2.4rem);color:#FFE7B4;text-shadow:0 3px 14px rgba(0,0,0,.55);margin-bottom:18px}
.book3d-wrap{perspective:1600px;animation:bookIn 1.4s var(--ease) both}
@keyframes bookIn{from{opacity:0;transform:translateY(50px) scale(.92)}}
.book3d{--bw:min(58vw,300px);position:relative;display:block;width:var(--bw);aspect-ratio:2/3;border:0;padding:0;background:none;transform-style:preserve-3d;
  transform:rotateY(var(--ry,-18deg)) rotateX(var(--rx,6deg));transition:transform .9s var(--ease);filter:drop-shadow(0 34px 40px rgba(0,0,0,.55))}
.b-pages{position:absolute;inset:1.2% 0 1.2% 3%;background:repeating-linear-gradient(90deg,#F4EBD6 0 1px,#E3D5B4 1px 2px);border-radius:2px 4px 4px 2px;transform:translateZ(-14px)}
.b-inner{position:absolute;inset:0;border-radius:3px 6px 6px 3px;transform:translateZ(-2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10% 9%;
  background:radial-gradient(ellipse at 30% 20%,rgba(255,236,190,.6),transparent 60%),linear-gradient(180deg,#FFFCF4,#F3E7CC);box-shadow:inset 8px 0 18px -10px rgba(120,80,20,.35)}
.bi-garland{width:86%;opacity:.9}.bi-garland.flip{transform:scaleY(-1)}
.bi-k{font-size:.7rem;letter-spacing:.24em;color:var(--gold-deep)}
.bi-t{font-family:var(--ruqaa);font-size:clamp(1.5rem,7vw,2.1rem);color:var(--gold-deep);line-height:1.4}
.bi-s{font-family:var(--amiri);font-size:clamp(.82rem,3.4vw,1rem);color:var(--sepia-3);line-height:1.6}
.b-cover{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:100% 50%;transition:transform 1.5s cubic-bezier(.6,.02,.3,1)}
.b-cover-front,.b-cover-back{position:absolute;inset:0;border-radius:3px 6px 6px 3px;overflow:hidden;backface-visibility:hidden}
.b-cover-front img{width:100%;height:100%;object-fit:cover}
.b-cover-front::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.0) 0,rgba(0,0,0,0) 90%,rgba(0,0,0,.35) 96%,rgba(255,255,255,.12) 97.5%,rgba(0,0,0,.3));pointer-events:none}
.b-cover-back{transform:rotateY(180deg);background:linear-gradient(180deg,#EBDDBB,#D9C391)}
.b-cover-back::after{content:"";position:absolute;inset:8%;border:1.5px solid rgba(138,101,25,.4)}
.b-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,240,200,.55) 48%,transparent 60%);transform:translateX(-120%);animation:shine 4.5s ease-in-out 1.6s infinite}
@keyframes shine{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
.b-spine{position:absolute;top:0;bottom:0;right:-1px;width:16px;transform-origin:100% 50%;transform:rotateY(-90deg);background:linear-gradient(90deg,#2B1D0F,#4A3418,#2B1D0F);border-radius:2px}
.book3d:hover{--ry:-10deg}
.book-stage .env-cta{margin-top:28px;background:none;border:0;color:#FFF2D6;font-size:.98rem;opacity:.92;animation:hint 2.2s ease-in-out infinite;text-shadow:0 2px 8px rgba(0,0,0,.6)}
@keyframes hint{0%,100%{transform:translateY(0);opacity:.75}50%{transform:translateY(-4px);opacity:1}}
.book-stage.opening .book3d{--ry:0deg;--rx:0deg}
.book-stage.opening .b-cover{transform:rotateY(165deg)}
.book-stage.opening .b-shine{animation:none;opacity:0}
.book-stage.opening .env-cta,.book-stage.opening .env-to,.book-stage.opening .env-kicker{opacity:0;transition:opacity .5s}
.book-stage.zoom .book3d{transform:scale(1.35) translateZ(80px);transition:transform 1.1s var(--ease)}
.book-stage.gone{opacity:0;pointer-events:none}

/* ═══ البطاقة ═══ */
.invite-main{position:relative;z-index:3;padding:clamp(28px,6vw,70px) 14px 40px;display:grid;gap:28px;justify-items:center}
.card{position:relative;width:min(100%,700px);border-radius:6px;padding:clamp(40px,7vw,64px) clamp(24px,6vw,58px) clamp(34px,6vw,54px);text-align:center;
  background:
    radial-gradient(ellipse at 20% 10%,rgba(255,236,190,.55),transparent 55%),
    radial-gradient(ellipse at 85% 90%,rgba(225,196,140,.35),transparent 60%),
    repeating-linear-gradient(94deg,rgba(150,110,50,.025) 0 2px,transparent 2px 7px),
    linear-gradient(180deg,#FFFCF4,#F7EEDA);
  box-shadow:0 40px 80px -20px rgba(0,0,0,.6),0 0 0 1px rgba(193,144,47,.35);}
.card::before{content:"";position:absolute;inset:13px;border:1.6px solid rgba(193,144,47,.75);border-radius:3px;pointer-events:none}
.card::after{content:"";position:absolute;inset:19px;border:1px solid rgba(193,144,47,.35);border-radius:2px;pointer-events:none}
.corner{position:absolute;width:44px;height:44px;pointer-events:none;z-index:1}
.corner::before{content:"";position:absolute;inset:0;border-top:2px solid var(--gold);border-right:2px solid var(--gold);border-top-right-radius:14px}
.corner::after{content:"";position:absolute;top:-5px;right:-5px;width:10px;height:10px;background:var(--gold);transform:rotate(45deg);box-shadow:0 0 8px rgba(193,144,47,.6)}
.corner.tr{top:8px;right:8px}
.corner.tl{top:8px;left:8px;transform:scaleX(-1)}
.corner.br{bottom:8px;right:8px;transform:scaleY(-1)}
.corner.bl{bottom:8px;left:8px;transform:scale(-1,-1)}
.garland{width:min(78%,440px);margin:0 auto;opacity:.92}
.garland.top{margin-bottom:6px}
.garland.bottom{margin-top:30px;transform:scaleY(-1);animation:sway 7s ease-in-out infinite;transform-origin:50% 0}
@keyframes sway{0%,100%{transform:scaleY(-1) rotate(0)}50%{transform:scaleY(-1) rotate(.6deg) translateY(-2px)}}
.card{transform-style:preserve-3d;transition:transform .5s var(--ease)}
.glare{position:absolute;inset:0;border-radius:6px;pointer-events:none;z-index:2;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),rgba(255,236,190,.38),transparent 45%);mix-blend-mode:soft-light;opacity:.9}
.family{position:relative;margin:0 auto 6px;width:min(100%,460px);border-radius:4px;padding:8px;background:linear-gradient(135deg,#E9C77E,#9A6F1E 40%,#F2D697 60%,#8A6519);box-shadow:0 18px 34px -14px rgba(60,35,5,.6)}
.family img{width:100%;height:auto;aspect-ratio:8/7;object-fit:cover;border-radius:2px;filter:sepia(.12) saturate(1.05)}
.family::after{content:"";position:absolute;inset:8px;border-radius:2px;box-shadow:inset 0 0 50px rgba(30,18,5,.45);pointer-events:none}
.family figcaption{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);white-space:nowrap;background:var(--sepia-2);color:var(--gold-light);font-family:var(--ruqaa);font-size:1rem;padding:2px 18px 4px;border-radius:30px;box-shadow:0 0 0 1px rgba(228,189,115,.5),0 6px 14px rgba(0,0,0,.35)}
.card-logo img{margin-top:22px}
.card-logo img{width:clamp(120px,30vw,170px);height:auto;margin:6px auto 4px;filter:drop-shadow(0 6px 14px rgba(120,80,20,.25))}
.eyebrow-line{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold-deep);font-size:.82rem;letter-spacing:.28em;margin-top:6px}
.eyebrow-line::before,.eyebrow-line::after{content:"";width:54px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.eyebrow-line::after{transform:scaleX(-1)}
.host{font-family:var(--amiri);font-size:clamp(1.05rem,3.6vw,1.25rem);color:var(--muted);margin-top:14px}
.title{font-family:var(--ruqaa);font-weight:700;font-size:clamp(1.75rem,6.4vw,2.7rem);line-height:1.55;margin:8px 0 6px;
  background:linear-gradient(100deg,#7E5A12 0%,#A8781F 30%,#F2D38A 45%,#A8781F 60%,#6A4A0E 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gleam 6s ease-in-out infinite}
@keyframes gleam{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.guest-name{font-family:var(--ruqaa);font-size:clamp(1.25rem,4.4vw,1.6rem);color:var(--gold-deep);margin:6px 0}
.guest-name::before{content:"ضيفنا الكريم: ";font-family:var(--sans);font-size:.62em;color:var(--muted)}
.message{font-family:var(--amiri);font-size:clamp(1.05rem,3.7vw,1.22rem);line-height:2.05;color:var(--sepia-3);max-width:520px;margin:14px auto 0;white-space:pre-line}
.details{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:34px 0 8px;border-top:1px solid rgba(193,144,47,.4);border-bottom:1px solid rgba(193,144,47,.4)}
.detail{padding:22px 12px 20px;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}
.detail+.detail::before{content:"";position:absolute;right:0;top:22%;bottom:22%;width:1px;background:linear-gradient(transparent,rgba(193,144,47,.55),transparent)}
.d-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#FFF4DB,#F1DEB0);box-shadow:inset 0 0 0 1px rgba(193,144,47,.55);margin-bottom:6px}
.d-icon svg{width:22px;height:22px;fill:none;stroke:var(--gold-deep);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.d-label{font-size:.74rem;letter-spacing:.14em;color:var(--muted)}
.d-main{font-family:var(--ruqaa);font-weight:700;font-size:clamp(1.3rem,4.4vw,1.6rem);color:var(--sepia-2);line-height:1.5}
.d-sub{font-size:.9rem;color:var(--sepia-3)}
.d-sub.hijri{font-size:.8rem;color:var(--muted)}
.d-link{margin-top:6px;font-size:.84rem;color:var(--gold-deep);text-decoration:none;border-bottom:1px solid rgba(138,101,25,.4)}
.d-link:hover{color:var(--sepia)}
.countdown{margin-top:26px}
.cd-title{font-size:.84rem;letter-spacing:.12em;color:var(--muted);margin-bottom:10px}
.cd-row{display:flex;justify-content:center;gap:clamp(8px,2.4vw,14px);direction:rtl}
.cd{width:clamp(64px,17vw,84px);padding:12px 4px 8px;border-radius:10px;background:linear-gradient(180deg,#2B1F12,#17110A);box-shadow:0 10px 20px -8px rgba(23,17,10,.6),inset 0 0 0 1px rgba(228,189,115,.35)}
.cd b{display:block;font-family:var(--amiri);font-weight:700;font-size:clamp(1.6rem,6vw,2.2rem);line-height:1.2;color:var(--gold-light);font-variant-numeric:tabular-nums}
.cd span{font-size:.72rem;color:#CDB78C}
.cd b.tick{animation:tick .45s var(--ease)}
@keyframes tick{from{transform:translateY(-6px);opacity:.3}}
.iv-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.iv-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:40px;border:1px solid rgba(138,101,25,.55);background:rgba(255,252,244,.7);color:var(--sepia-2);font-size:.92rem;text-decoration:none;transition:.25s var(--ease)}
.iv-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.iv-btn:hover{background:var(--sepia-2);color:var(--gold-light);border-color:var(--sepia-2)}
.iv-btn.ghost{background:transparent}
.iv-btn.solid{background:linear-gradient(180deg,#C89A3B,#8A6519);color:#FFF7E3;border-color:transparent}
.iv-btn.solid:hover{filter:brightness(1.08);color:#fff;background:linear-gradient(180deg,#C89A3B,#8A6519)}
/* كلمة المؤلف */
.voice{display:flex;align-items:center;gap:14px;margin:26px auto 0;max-width:460px;padding:12px 16px;border-radius:60px;background:linear-gradient(180deg,#2B1F12,#17110A);box-shadow:inset 0 0 0 1px rgba(228,189,115,.35),0 12px 24px -12px rgba(23,17,10,.7);text-align:right}
.v-play{flex:none;width:46px;height:46px;border-radius:50%;border:0;display:grid;place-items:center;background:linear-gradient(180deg,#E6BE6C,#A4741F);box-shadow:0 0 0 4px rgba(228,189,115,.18)}
.v-play svg{width:20px;height:20px;fill:#2A1C0E}
.v-play .pa{display:none}.voice.on .v-play .pa{display:block}.voice.on .v-play .pl{display:none}
.v-txt{flex:1;min-width:0;display:flex;flex-direction:column}
.v-txt b{font-family:var(--ruqaa);color:#FFE3A6;font-size:1.05rem;line-height:1.4}
.v-txt span{font-family:var(--amiri);color:#D9C49A;font-size:.86rem;line-height:1.5}
.v-bars{display:flex;align-items:center;gap:3px;height:30px;flex:none}
.v-bars i{width:3px;height:30%;border-radius:2px;background:var(--gold-2);opacity:.75;transition:height .12s}
@media (max-width:420px){.v-bars{display:none}}
.pass-img{display:block;width:min(100%,360px);margin:14px auto 0;border-radius:12px;box-shadow:0 20px 40px -16px rgba(0,0,0,.6)}
.cal-menu{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.cal-menu a{font-size:.86rem;padding:7px 14px;border-radius:8px;background:#F4E7C8;color:var(--sepia-2);text-decoration:none;border:1px solid rgba(193,144,47,.45)}
.cal-menu a:hover{background:var(--gold-pale)}
.iv-note{margin-top:20px;font-size:.92rem;color:var(--sepia-3);background:rgba(233,218,178,.45);border-radius:8px;padding:10px 14px;display:inline-block}

/* ═══ تأكيد الحضور ═══ */
.rsvp h2{font-family:var(--ruqaa);font-size:clamp(1.6rem,5.6vw,2.2rem);color:var(--gold-deep);line-height:1.5}
.rsvp-sub{color:var(--muted);margin:4px 0 22px}
#rsvpForm{text-align:right;max-width:500px;margin:0 auto}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:18px 10px 16px;border-radius:12px;cursor:pointer;
  background:#FFFDF8;border:1.5px solid rgba(193,144,47,.35);transition:.25s var(--ease)}
.choice-card input{position:absolute;opacity:0;pointer-events:none}
.c-ico{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#F3E6C6;margin-bottom:6px;transition:.25s}
.c-ico svg{width:24px;height:24px;fill:none;stroke:var(--gold-deep);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.c-t{font-family:var(--ruqaa);font-size:1.22rem;color:var(--sepia-2)}
.c-s{font-size:.76rem;color:var(--muted)}
.choice-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.choice-card:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.choice-card.yes:has(input:checked){border-color:var(--gold);background:linear-gradient(180deg,#FFF6DF,#F6E4B8);box-shadow:0 10px 24px -10px rgba(138,101,25,.55)}
.choice-card.yes:has(input:checked) .c-ico{background:var(--gold-deep)}
.choice-card.yes:has(input:checked) .c-ico svg{stroke:#FFF4D8}
.choice-card.no:has(input:checked){border-color:#8E8576;background:#F3EFE6}
.choice-card.no:has(input:checked) .c-ico{background:#6F6656}
.choice-card.no:has(input:checked) .c-ico svg{stroke:#fff}
.field{margin-top:16px;display:flex;flex-direction:column;gap:6px}
.field label{font-weight:500;font-size:.92rem;color:var(--sepia-2)}
.field label em{font-style:normal;color:var(--muted);font-weight:400;font-size:.82rem}
.field input,.field textarea{font:inherit;font-size:1rem;padding:12px 14px;border-radius:10px;border:1px solid #DCCCA5;background:#FFFEFA;color:var(--sepia);transition:border .2s,box-shadow .2s;width:100%}
.field textarea{resize:vertical;min-height:84px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(193,144,47,.18)}
.field.bad input{border-color:var(--danger)}
.err{color:var(--danger);font-size:.82rem;min-height:0}
.err:empty{display:none}
.hint{color:var(--muted);font-size:.8rem}
.stepper{display:inline-flex;align-items:center;gap:0;border:1px solid #DCCCA5;border-radius:40px;background:#FFFEFA;width:fit-content;overflow:hidden}
.st-btn{width:48px;height:46px;border:0;background:transparent;font-size:1.5rem;color:var(--gold-deep);transition:background .2s}
.st-btn:hover{background:#F6EBCD}
.st-btn:disabled{opacity:.3;cursor:default;background:transparent}
.stepper output{min-width:54px;text-align:center;font-family:var(--amiri);font-weight:700;font-size:1.5rem;color:var(--sepia)}
.hp{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%);pointer-events:none}
#rsvpForm{position:relative}
.iv-submit{margin-top:22px;width:100%;padding:15px;border:0;border-radius:12px;font-size:1.06rem;font-weight:700;color:#FFF7E3;
  background:linear-gradient(180deg,#C89A3B,#8A6519);box-shadow:0 12px 26px -10px rgba(138,101,25,.8),inset 0 1px 0 rgba(255,240,200,.5);transition:.25s var(--ease)}
.iv-submit:hover{transform:translateY(-2px);filter:brightness(1.06)}
.iv-submit:disabled{opacity:.6;transform:none;cursor:wait}
.form-msg{margin-top:10px;font-size:.9rem;text-align:center;color:var(--danger)}
.form-msg:empty{display:none}
.deadline{margin-top:10px;font-size:.82rem;color:var(--muted);text-align:center}
.rsvp-closed{font-family:var(--amiri);font-size:1.15rem;color:var(--sepia-3);padding:10px 0}
.done{animation:doneIn .8s var(--ease) both}
@keyframes doneIn{from{opacity:0;transform:translateY(16px) scale(.98)}}
.done h3{font-family:var(--ruqaa);font-size:clamp(1.6rem,5.6vw,2.1rem);color:var(--gold-deep);line-height:1.5}
.done p{font-family:var(--amiri);font-size:1.12rem;color:var(--sepia-3)}
.done-burst{width:80px;height:80px;margin:0 auto 6px;border-radius:50%;background:radial-gradient(circle,#FFE6A8 0,#E2B35A 45%,transparent 70%);position:relative;animation:burst 1.2s var(--ease) both}
.done-burst::after{content:"";position:absolute;inset:22px;border-radius:50%;background:#8A6519;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
@keyframes burst{from{transform:scale(.3);opacity:0}60%{transform:scale(1.12)}}
/* بطاقة الحضور */
.pass{display:flex;margin:22px auto 8px;max-width:520px;border-radius:14px;overflow:hidden;text-align:right;
  background:linear-gradient(135deg,#2E2113,#17110A);color:#F6E7C6;box-shadow:0 22px 40px -16px rgba(0,0,0,.65);position:relative}
.pass::before{content:"";position:absolute;inset:8px;border:1px solid rgba(228,189,115,.35);border-radius:9px;pointer-events:none}
.pass-main{flex:1;padding:22px 24px;display:flex;flex-direction:column;gap:4px}
.pass-k{font-size:.72rem;letter-spacing:.24em;color:var(--gold-2)}
.pass-name{font-family:var(--ruqaa);font-size:clamp(1.4rem,5vw,1.9rem);color:#FFE3A6;line-height:1.5}
.pass-row{font-size:.86rem;color:#E4D3AE}
.pass-row b{color:#FFE3A6;font-weight:500}
.pass-stub{width:clamp(118px,30%,150px);padding:16px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;
  background:linear-gradient(180deg,#3B2B18,#251A0E);border-right:2px dashed rgba(228,189,115,.45)}
.pass-stub::before,.pass-stub::after{content:"";position:absolute;right:-11px;width:20px;height:20px;border-radius:50%;background:#F7EEDA}
.pass-stub::before{top:-10px}.pass-stub::after{bottom:-10px}
.pass-stub span{font-family:var(--ruqaa);font-size:.78rem;color:var(--gold-2);text-align:center;line-height:1.4}
.pass-qr{background:#FFF8E6;border-radius:8px;padding:5px;width:96px;height:96px}
.pass-qr svg{width:100%;height:100%}
.pass-hint{font-family:var(--sans)!important;font-size:.82rem!important;color:var(--muted)!important}
/* التذييل */
.iv-foot{text-align:center;color:#F6E7C6;font-size:.86rem;padding-bottom:20px}
.iv-home{color:var(--gold-light);text-decoration:none;letter-spacing:.06em;font-weight:500}
.iv-foot p a{color:var(--gold-light)}
/* غير متاحة */
.iv-off{position:relative;z-index:3;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;color:#FFF2D6}
.iv-off img{width:160px;height:auto}
.iv-off h1{font-family:var(--ruqaa);font-size:2rem}
.iv-off .iv-btn{background:rgba(255,252,244,.9)}
/* الصوت والتنبيه */
.sound{position:fixed;z-index:20;bottom:max(16px,env(safe-area-inset-bottom));left:16px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(228,189,115,.55);background:rgba(23,17,10,.65);backdrop-filter:blur(6px);display:grid;place-items:center}
.sound svg{width:22px;height:22px;fill:none;stroke:var(--gold-light);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sound svg path:first-child{fill:var(--gold-light)}
.sound.off .w{opacity:.15}
.iv-toast{position:fixed;z-index:30;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:var(--sepia);color:var(--gold-light);padding:10px 18px;border-radius:30px;font-size:.9rem;transition:.35s var(--ease);pointer-events:none;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.iv-toast.show{transform:translate(-50%,0);opacity:1}

/* ظهورٌ متتابع */
.invite-main.reveal .card>*,.invite-main.reveal .rsvp>*{animation:rise .9s var(--ease) both}
.invite-main.reveal .card{animation:cardIn 1.1s var(--ease) both}
.invite-main.reveal .card>*:nth-child(5){animation-delay:.15s}.invite-main.reveal .card>*:nth-child(6){animation-delay:.25s}
.invite-main.reveal .card>*:nth-child(7){animation-delay:.35s}.invite-main.reveal .card>*:nth-child(8){animation-delay:.45s}
.invite-main.reveal .card>*:nth-child(9){animation-delay:.55s}.invite-main.reveal .card>*:nth-child(10){animation-delay:.65s}
.invite-main.reveal .card>*:nth-child(11){animation-delay:.75s}.invite-main.reveal .card>*:nth-child(12){animation-delay:.85s}
.invite-main.reveal .card>*:nth-child(n+13){animation-delay:.95s}
@keyframes cardIn{from{opacity:0;transform:translateY(60px) scale(.96)}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}

@media (max-width:600px){
  .details{grid-template-columns:1fr}
  .detail+.detail::before{right:22%;left:22%;top:0;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(193,144,47,.55),transparent)}
  .choice{grid-template-columns:1fr 1fr;gap:8px}
  .c-t{font-size:1.05rem}
  .corner{width:32px;height:32px}
  .card::before{inset:10px}.card::after{inset:15px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media print{.iv-bg,.iv-dust,.sound,.envelope-stage,.iv-actions,.cal-menu{display:none!important}body{background:#fff}.invite-main{padding:0}.card{box-shadow:none}}
