/* ============================================================
   قالب «عندليب» (andaleeb) — عام بالمعرض
   نسخةٌ مستقلّة من قالب الـVIP «شفق» (shafaq، دعوة /d/mnar): تعديل هنا لا
   يمسّ دعوة الزبونة، وتعديلٌ هناك لا يصل المعرض.
   الدخولية: فيديو ظرف أزرق باهت بختم بسملة ذهبي.
   الواجهة والكسوة: إطار «شينوازري» — كوّة كريمية بحافّة
   ذهبية مزدوجة على أزرق مغبّر، يحفّها زهر وردي وأوراق مريمية وفراشات
   وطير ذهبي. اللوحة كلها عيّنات من الصورة نفسها:
     أزرق الأرضية  #b0b7bd…#c0c8d0   (المتوسط #b8bfc6)
     كريم الكوّة   #efe6df…#f5ede5   (المتوسط #f2e9e1)
     وردي الزهر    #cf9e93…#f6e0db   (المتوسط #e5c5bc)
     أخضر مريمي    #535749…#a5b4af
     ذهب الزخرفة   #896d4b…#d6b37f   (المتوسط #b9935f)
   الخطوط: الأسماء والعناوين بـCormorant Garamond للّاتيني و Markazi Text للعربي
   (نسخٌ كلاسيكي بطابع كورمورانت نفسه — كرار 2026-10-05: «الخطوط مثل الدعوة
   الأصلية»، وأسماء منار لاتينية فتظهر بكورمورانت)، و Mirza للمتن.
   ============================================================ */
:root{
  --blue:#b8bfc6; --blue-dk:#a5aeb6; --blue-lt:#c8cfd6; --blue-mist:#dde3e8;
  --cream:#f2e9e1; --cream-lt:#f7f0e9; --cream-dk:#e8ddd3;
  --blush:#e5c5bc; --blush-dp:#cf9e93; --blush-lt:#f6e0db;
  --sage:#828a79; --sage-dk:#535749;
  --gold:#b9935f; --gold-dk:#896d4b; --gold-lt:#d6b37f; --gold-pale:#e8d3ae;
  --ink:#3f4a55; --ink-soft:#6d7883;
  --line:rgba(var(--gold-rgb, 185, 147, 95), 0.42); --line-soft:rgba(var(--gold-rgb, 185, 147, 95), 0.2);
  /* كورمورانت أولاً يلتقط اللاتيني وحده — وهو بلا حروف عربية، فالعربية تسقط
     تلقائياً إلى مركزي. يعمل بالاتّجاهين مهما بدّل الزبون أسماءه. مركزي بلا
     ڕ ڵ ێ ۆ ە: الدعوة الكردية تظلّله بأميري (KU_FAMILY_FALLBACKS). */
  --display:"Cormorant Garamond","Markazi Text",serif; --body:"Mirza",serif;
  --serif:"Cormorant Garamond",serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);font-size:18px;color:var(--ink);background:var(--blue);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.locked{overflow:hidden;height:100vh}
::selection{background:var(--gold);color:#fff}
video{display:block}
a{color:inherit;text-decoration:none}

/* ==================== الدخولية: الظرف الأزرق بختم البسملة ==================== */
.cover{position:fixed;inset:0;z-index:100;overflow:hidden;
  background:radial-gradient(120% 82% at 50% 46%, #aebccb 0%, #94a9b7 62%, #7f95a5 100%);
  display:grid;place-items:center;
  transition:opacity 2s ease .15s, transform 2.4s cubic-bezier(.2,.9,.2,1), filter 2s ease}
.cover__hero{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .9s ease .2s;
  background:var(--blue) url("/templates/andaleeb/assets/frame.jpg") center/cover no-repeat}
.cover.is-playing .cover__hero{opacity:1}
.cover.is-open{opacity:0;transform:scale(1.035);filter:brightness(1.14);pointer-events:none}
.cover__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}

.cover .fx{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.mote{position:absolute;bottom:-5vh;border-radius:50%;background:radial-gradient(circle,#f6e7c2,rgba(var(--gold-rgb, 185, 147, 95), 0.15));
  box-shadow:0 0 9px rgba(222,196,140,.65);animation:floatUp linear infinite}
.cover.is-playing .fx{opacity:0;transition:opacity .5s}

.cover__ui{position:relative;z-index:8;text-align:center;padding:6vh 24px;align-self:end;margin-bottom:8vh;
  transition:opacity .5s ease, transform .6s ease}
.cover.is-playing .cover__ui{opacity:0;transform:translateY(18px);pointer-events:none}
/* غُلزار نستعليق رفيع: الهالة الكريمية الواسعة كانت تبتلع خطوطه على ورق
   الظرف الأزرق — هالة ضيّقة متعدّدة الطبقات تُبقيه واضحاً بلا تحوير. */
.cover__names{font-family:var(--display);font-size:clamp(2.1rem,9.6vw,3.2rem);line-height:1.75;color:#2f3a46;
  text-shadow:0 1px 2px rgba(255,253,250,.95),0 0 10px rgba(255,253,250,.7),0 2px 18px rgba(255,253,250,.55);
  margin-bottom:26px;opacity:0;animation:fadeUp 1.1s .5s forwards}
.cover__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;
  font-family:var(--body);font-weight:600;font-size:1.24rem;color:#37424f;
  padding:11px 40px;border-radius:100px;
  border:1px solid rgba(var(--gold-rgb, 185, 147, 95), 0.75);
  background:linear-gradient(180deg,#fffdf8,var(--cream, #f2e9e1));
  box-shadow:0 0 0 3px rgba(255,253,248,.45),0 0 0 4px rgba(var(--gold-rgb, 185, 147, 95), 0.42),0 16px 34px -14px rgba(55,66,79,.5),inset 0 1px 0 #fff;
  opacity:0;animation:fadeUp 1s .8s forwards}
.cover__btn::before,.cover__btn::after{content:"";width:15px;height:15px;flex:none;opacity:.85;
  background:url("/templates/andaleeb/assets/butterfly.png") center/contain no-repeat}
.cover__btn::after{transform:scaleX(-1)}
.cover__btn-ring{position:absolute;inset:-9px;border-radius:100px;border:1px solid rgba(255,253,248,.55);animation:btnRing 2.4s ease-out infinite}
.cover__btn:hover{transform:translateY(-2px)}

@keyframes fadeUp{to{opacity:1;transform:none}}
@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:0}12%{opacity:.85}86%{opacity:.7}100%{transform:translateY(-72vh) scale(.55);opacity:0}}
@keyframes btnRing{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.12)}}
@media (prefers-reduced-motion: reduce){.mote{display:none}}

/* ==================== المحتوى ==================== */
.invite{opacity:0;transition:opacity 1.2s ease}
.invite.visible{opacity:1}

/* بتلات وفراشات تطوف فوق الصفحة */
.fx{position:fixed;inset:0;pointer-events:none;z-index:6;overflow:hidden}
.petal{position:absolute;top:-40px;will-change:transform;opacity:0;animation:fall linear infinite;
  background:center/contain no-repeat}
@keyframes fall{0%{opacity:0;transform:translateY(-10px) translateX(0) rotate(0)}12%{opacity:.85}90%{opacity:.75}100%{opacity:0;transform:translateY(104vh) translateX(46px) rotate(320deg)}}

/* ---- الواجهة: إطار الزبونة، والأسماء داخل الكوّة ---- */
.stage{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;
  background:var(--blue) url("/templates/andaleeb/assets/frame.jpg") center/cover no-repeat}
/* شاشة عريضة: أظهر الإطار كاملاً بدل قصّ الكوّة — الأزرق المسطّح يواصل أرضية الصورة */
@media (min-aspect-ratio: 3/4){.stage{background-size:contain}}
.stage__inner{position:relative;z-index:1;padding:6vh 24px;width:min(72%,430px)}
/* «دعوة زفاف» بخطّ الأسماء وبحجمٍ يُقرأ (طلب كرار 2026-10-05: كانت ميرزا ٠٫٨rem صغيرة
   وخطّها غير جميل) — ويتبدّل مع الأسماء إن اختار الزبون خطاً آخر */
.stage__kicker{font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,6.4vw,1.9rem);line-height:1.9;color:var(--gold-dk);margin-bottom:4px}
.stage__orn{display:block;width:26px;height:26px;margin:0 auto 10px;
  background:url("/templates/andaleeb/assets/butterfly.png") center/contain no-repeat}
.couple{font-family:var(--display);line-height:1.62;color:#37424f;
  font-size:clamp(2rem,10vw,3.6rem);display:flex;flex-direction:column;align-items:center}
.couple__amp{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:.4em;line-height:1;margin:2px 0}
.stage__date{font-family:var(--body);font-weight:600;font-size:clamp(1rem,3.6vw,1.2rem);color:var(--ink);margin-top:12px}
.stage__sub{font-family:var(--body);font-size:clamp(1.02rem,3.4vw,1.24rem);color:var(--ink-soft);margin-top:6px;line-height:1.7}
.scroll-cue{display:inline-block;margin-top:22px;font-family:var(--body);font-size:.95rem;color:var(--gold-dk)}
.scroll-cue b{display:block;margin-top:4px;font-size:1.2rem;animation:bob 1.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.85}50%{transform:translateY(7px);opacity:1}}

/* ---- بطاقة المحتوى: كوّة كريمية على الأزرق، بحافّة ذهبية مزدوجة ---- */
.card{position:relative;max-width:620px;margin:0 auto;
  padding:clamp(124px,30vw,168px) clamp(18px,5vw,44px) clamp(34px,8vw,64px);
  background:linear-gradient(180deg,var(--cream-lt),var(--cream));
  border:1px solid var(--line);
  border-radius:52% 52% 26px 26px / 13% 13% 26px 26px;
  box-shadow:0 26px 60px -34px rgba(60,72,84,.55)}
/* الخيط الذهبي الداخلي — يحاكي الحافّة المزدوجة بالصورة */
.card__glow{position:absolute;inset:9px;pointer-events:none;
  border:1px solid var(--line-soft);
  border-radius:52% 52% 20px 20px / 13% 13% 20px 20px}
/* غصنا الزهر يحفّان تاج البطاقة كما بالصورة */
/* ⚠️ z-index صريح: ::after يأتي بعد كل الأبناء بترتيب الرسم، فبدونه
   يغطّي الغصن الأيسر نصّ الآية (ظهرت الآية مقصوصة قبل الضبط). */
.card::before,.card::after{content:"";position:absolute;top:-6px;z-index:0;
  width:min(34%,134px);height:156px;
  background:url("/templates/andaleeb/assets/sprig.png") top center/contain no-repeat;
  pointer-events:none;opacity:.95}
.card::before{right:-10px}
.card::after{left:-10px;transform:scaleX(-1)}

.sec{position:relative;z-index:1;text-align:center;padding:24px 6px}
.sec__title{font-family:var(--display);color:var(--ink);font-size:clamp(1.35rem,5vw,1.9rem);line-height:1.75;margin-bottom:14px}
.sec__title::after{content:"";display:block;width:54px;height:2px;margin:8px auto 0;
  background:linear-gradient(90deg,transparent,var(--gold),transparent)}

.bismillah{font-family:var(--body);font-weight:600;font-size:clamp(1.2rem,4.6vw,1.62rem);color:var(--gold-dk)}
.flourish{display:block;width:30px;height:30px;margin:12px auto;
  background:url("/templates/andaleeb/assets/butterfly.png") center/contain no-repeat;opacity:.9}
.verse__text{font-family:var(--body);font-size:clamp(1.12rem,4vw,1.44rem);line-height:2;color:var(--ink)}
.invitation__text{font-family:var(--body);font-size:clamp(1.08rem,3.6vw,1.3rem);line-height:2.05;color:var(--ink);max-width:40ch;margin:0 auto}

.divider{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 0}
.divider span{height:1px;width:64px;background:linear-gradient(90deg,transparent,var(--gold))}
.divider span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.divider i{width:22px;height:22px;flex:none;opacity:.85;
  background:url("/templates/andaleeb/assets/butterfly.png") center/contain no-repeat}

.families{display:flex;align-items:center;justify-content:center;gap:clamp(14px,5vw,40px);flex-wrap:wrap}
.family__label{font-family:var(--body);font-size:.86rem;color:var(--gold-dk);display:block;margin-bottom:4px}
.family__names{font-family:var(--display);font-size:clamp(1rem,3.8vw,1.28rem);line-height:1.85;color:var(--ink)}

.countdown{display:flex;justify-content:center;gap:clamp(8px,3vw,18px)}
.cd__u{min-width:64px;background:linear-gradient(180deg,#fdfaf5,var(--cream-dk));
  border:1px solid var(--line);border-radius:18px;padding:12px 6px;box-shadow:0 10px 22px -16px rgba(60,72,84,.5)}
.cd__n{display:block;font-family:var(--display);font-size:clamp(1.3rem,5.4vw,1.75rem);color:var(--ink);line-height:1.6}
.cd__l{display:block;font-family:var(--body);font-size:.8rem;color:var(--gold-dk);margin-top:2px}
.count__arrived{font-family:var(--display);color:var(--ink);font-size:1.25rem;line-height:1.8}

/* برنامج الحفل — زهرة تنزلق على الخيط مع التمرير */
.sched{position:relative;max-width:420px;margin:2px auto 0}
.sched__line{position:absolute;left:50%;top:16px;bottom:16px;width:1px;transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,var(--line) 10%,var(--line) 90%,transparent)}
.sched__row{position:relative;display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;gap:4px;padding:16px 0}
.sched__time{font-family:var(--body);font-weight:600;font-size:clamp(1.08rem,4vw,1.32rem);color:var(--ink);text-align:center}
.sched__dot{width:7px;height:7px;margin:0 auto;background:var(--gold-dk);transform:rotate(45deg);opacity:.7}
.sched__event{font-family:var(--body);font-size:clamp(1rem,3.6vw,1.16rem);color:var(--ink);text-align:center;line-height:1.6}
.sched__rose{position:absolute;left:50%;top:16px;width:46px;height:46px;margin:-23px 0 0 -23px;z-index:2;pointer-events:none;
  filter:drop-shadow(0 3px 6px rgba(60,72,84,.25));transition:top .5s cubic-bezier(.25,.6,.3,1)}
.sched__rose svg{width:100%;height:100%;display:block}

.venue__photo{width:100%;height:0;background:var(--blue-mist) center/cover no-repeat;border-radius:18px;border:1px solid var(--line)}
.venue.has-photo .venue__photo{height:190px;margin-bottom:14px}
.venue__name{font-family:var(--display);font-size:clamp(1.12rem,4.4vw,1.45rem);line-height:1.8;color:var(--ink)}
.venue__addr{font-family:var(--body);color:var(--ink-soft);margin-top:2px}
.venue__map{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--body);font-weight:600;color:#fffdf8;
  background:linear-gradient(180deg,var(--gold-lt),var(--gold));padding:9px 26px;border-radius:100px;
  box-shadow:0 12px 26px -12px rgba(var(--gold-rgb, 185, 147, 95), 0.75)}

.notes__list{list-style:none;max-width:400px;margin:0 auto;text-align:start;display:grid;gap:8px}
.notes__item{display:flex;gap:9px;align-items:flex-start;font-family:var(--body);color:var(--ink);line-height:1.8}
.notes__mark{flex:none;width:15px;height:15px;margin-top:7px;opacity:.85;
  background:url("/templates/andaleeb/assets/butterfly.png") center/contain no-repeat}

.contact{display:flex;flex-direction:column;align-items:center;gap:8px}
.contact__label{font-family:var(--body);font-size:.88rem;color:var(--gold-dk)}
.contact__link{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-weight:600;color:var(--ink);
  border:1px solid var(--line);border-radius:100px;padding:8px 24px;background:#fdfaf5}

/* الختام — الطير الذهبي يحطّ فوق العبارة */
.closing{padding-bottom:6px}
.closing__bird{display:block;width:96px;height:112px;margin:0 auto 6px;
  background:url("/templates/andaleeb/assets/bird.png") center/contain no-repeat}
.closing__note{font-family:var(--body);font-size:clamp(1.14rem,4.2vw,1.44rem);line-height:1.9;color:var(--ink)}
.closing__families{font-family:var(--display);color:var(--gold-dk);margin-top:8px;font-size:1.1rem;line-height:1.85}
.closing__hashtag{font-family:var(--body);color:var(--gold-dk);margin-top:6px;direction:ltr}

/* ظهور تدريجي */
.creveal,.sreveal{opacity:0;transform:translateY(26px);filter:blur(5px);transition:opacity .9s cubic-bezier(.2,.9,.2,1),transform .9s cubic-bezier(.2,.9,.2,1),filter .9s}
.creveal.is-visible,.sreveal.is-in{opacity:1;transform:none;filter:none}
.stage__inner .sreveal.is-in:nth-child(2){transition-delay:.1s}
.stage__inner .sreveal.is-in:nth-child(3){transition-delay:.2s}
.stage__inner .sreveal.is-in:nth-child(4){transition-delay:.34s}
.stage__inner .sreveal.is-in:nth-child(5){transition-delay:.46s}
.stage__inner .sreveal.is-in:nth-child(6){transition-delay:.58s}

@media (prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition-duration:.3s!important}}
