/* ===================== فارسی‌سازی و بخش‌های ما ===================== */
html,body{margin:0;padding:0;background:#fff}
#gate{position:fixed;inset:0;z-index:9999;overflow:auto;
      transition:opacity .6s ease,visibility .6s ease}
body.locked{overflow:hidden}

/* متن‌ها: وزیرمتن */
[style*="Lora"],[style*="Baskerville"],[style*="Times New Roman"],
[style*="Roboto"],[style*="EB Garamond"]{
  font-family:"Vazirmatn",system-ui,sans-serif !important;
}
/* نام‌ها و تیترها: نستعلیق — بعد از قاعدهٔ بالا، پس برنده است */
[style*="Viaoda Libre"],[style*="Playfair Display"],.fa-nas{
  font-family:"Noto Nastaliq Urdu",serif !important;
  line-height:2.1 !important;padding-block:.16em;
}
[class*="uppercase"]{text-transform:none !important}
[class*="uppercase"],[style*="letter-spacing"]{letter-spacing:normal !important}
h1[class*="leading-tight"],[class*="leading-none"]{line-height:2 !important}

:root{--pp:#7869a0;--pp-soft:#9a8cc0;--pp-pale:#efeaf6}

/* ---------- نام میهمان روی پرده ---------- */
.gt-guest{margin:14px auto 0;max-width:300px}
.gt-guest__label{margin:0 0 4px;font-size:11px;letter-spacing:.18em;
  color:rgba(120,105,160,.65);font-family:"Vazirmatn",sans-serif}
.gt-guest__name{margin:0;font-family:"Noto Nastaliq Urdu",serif;
  font-size:19px;line-height:2.1;color:var(--pp)}
.gt-guest__note{margin:2px 0 0;font-size:12px;color:rgba(120,105,160,.7);
  font-family:"Vazirmatn",sans-serif}

/* ---------- بخش‌های ساختهٔ ما ---------- */
.wx{position:relative;z-index:10;padding:46px 24px;text-align:center;direction:rtl}
.wx__title{margin:0 0 26px;font-family:"Noto Nastaliq Urdu",serif;
  font-size:clamp(20px,6vw,26px);line-height:2.1;color:var(--pp)}
.wx__rule{width:44px;height:1px;background:var(--pp);opacity:.4;margin:0 auto}

.wx-poem p{margin:.1em 0;font-family:"Noto Nastaliq Urdu",serif;
  font-size:clamp(15px,4.4vw,19px);line-height:2.95;color:var(--pp)}
.wx-poem__end{margin:22px 0 0;font-family:"Vazirmatn",sans-serif;font-size:13px;
  line-height:2.2;color:rgba(120,105,160,.85)}

/* ---------- گالری ---------- */
.wx-gal{position:relative}
.wx-gal__track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:4px 0 14px;scrollbar-width:none;-ms-overflow-style:none}
.wx-gal__track::-webkit-scrollbar{display:none}
.wx-gal__item{flex:0 0 78%;max-width:300px;scroll-snap-align:center;
  border-radius:18px;overflow:hidden;background:#fff;
  box-shadow:0 10px 30px -14px rgba(87,74,120,.5);aspect-ratio:3/4}
.wx-gal__item>*{width:100%;height:100%;object-fit:cover;display:block}
.wx-gal__dots{display:flex;gap:7px;justify-content:center;margin-top:4px}
.wx-gal__dots i{width:6px;height:6px;border-radius:50%;background:rgba(120,105,160,.28);
  transition:background .3s,transform .3s}
.wx-gal__dots i.on{background:var(--pp);transform:scale(1.25)}
.wx-gal__ph{display:grid;place-items:center;height:100%;
  background:var(--pp-pale);color:rgba(120,105,160,.7);
  font-family:"Vazirmatn",sans-serif;font-size:12px;letter-spacing:.1em}

/* ---------- روزشمار ---------- */
.wx-cd{display:flex;justify-content:center;gap:0;direction:rtl}
.wx-cd__cell{flex:0 1 78px;padding:0 4px;position:relative}
.wx-cd__cell+.wx-cd__cell::before{content:'';position:absolute;right:0;top:14%;
  bottom:30%;width:1px;background:rgba(120,105,160,.22)}
.wx-cd__n{display:block;font-family:"Vazirmatn",sans-serif;font-weight:300;
  font-size:clamp(24px,7vw,32px);line-height:1.5;color:var(--pp);
  font-variant-numeric:tabular-nums}
.wx-cd__l{display:block;font-size:11px;letter-spacing:.14em;
  color:rgba(120,105,160,.7);font-family:"Vazirmatn",sans-serif}

/* ---------- تقویم ---------- */
.wx-cal{max-width:330px;margin:26px auto 0;background:#fff;border-radius:16px;
  padding:18px 14px 20px;box-shadow:0 10px 30px -18px rgba(87,74,120,.45)}
.wx-cal__head{margin:0 0 12px;font-family:"Noto Nastaliq Urdu",serif;
  font-size:17px;line-height:2;color:var(--pp)}
.wx-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px 0}
.wx-cal__dow{font-size:10px;color:rgba(120,105,160,.55);padding-bottom:6px;
  font-family:"Vazirmatn",sans-serif}
.wx-cal__d{font-size:13px;line-height:2.1;color:rgba(120,105,160,.85);
  font-family:"Vazirmatn",sans-serif;font-variant-numeric:tabular-nums;
  position:relative;isolation:isolate}
.wx-cal__d.off{color:transparent}
.wx-cal__d.on{color:#fff;font-weight:500}
.wx-cal__d.on::before{content:'';position:absolute;left:50%;top:50%;
  width:30px;height:27px;transform:translate(-50%,-52%);z-index:-1;
  background:var(--pp);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 21C6.8 17.4 3.4 14.3 3.4 10.6 3.4 8 5.5 6 8 6c1.6 0 3 .8 4 2 1-1.2 2.4-2 4-2 2.5 0 4.6 2 4.6 4.6 0 3.7-3.4 6.8-8.6 10.4z'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 21C6.8 17.4 3.4 14.3 3.4 10.6 3.4 8 5.5 6 8 6c1.6 0 3 .8 4 2 1-1.2 2.4-2 4-2 2.5 0 4.6 2 4.6 4.6 0 3.7-3.4 6.8-8.6 10.4z'/></svg>") center/contain no-repeat;
}

/* ---------- محل ---------- */
.wx-loc__name{margin:0 0 6px;font-family:"Noto Nastaliq Urdu",serif;
  font-size:clamp(18px,5.4vw,23px);line-height:2.1;color:var(--pp)}
.wx-loc__addr{margin:0 0 20px;font-family:"Vazirmatn",sans-serif;font-size:13px;
  color:rgba(120,105,160,.8);line-height:2}
.wx-loc__btns{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.wx-btn{display:inline-block;padding:10px 20px;border-radius:100px;
  font-family:"Vazirmatn",sans-serif;font-size:12.5px;text-decoration:none;
  border:1px solid rgba(120,105,160,.35);color:var(--pp);background:#fff;
  transition:background .3s,color .3s}
.wx-btn:hover{background:var(--pp);color:#fff}
.wx-btn--fill{background:var(--pp);color:#fff;border-color:var(--pp)}

/* ---------- دفتر یادگاری ---------- */
.wx-gb__form{max-width:320px;margin:0 auto 22px;display:grid;gap:9px}
.wx-gb__form input,.wx-gb__form textarea{width:100%;padding:11px 13px;border-radius:12px;
  border:1px solid rgba(120,105,160,.3);font-family:"Vazirmatn",sans-serif;
  font-size:13px;color:var(--pp);background:#fff;direction:rtl}
.wx-gb__form textarea{min-height:82px;resize:vertical}
.wx-gb__form button{padding:11px;border:0;border-radius:100px;background:var(--pp);
  color:#fff;font-family:"Vazirmatn",sans-serif;font-size:13px;cursor:pointer}
.wx-gb__list{max-width:330px;margin:0 auto;display:grid;gap:10px}
.wx-gb__card{background:#fff;border:1px solid rgba(120,105,160,.18);border-radius:14px;
  padding:13px 15px;text-align:right}
.wx-gb__who{font-family:"Vazirmatn",sans-serif;font-size:13px;font-weight:500;color:var(--pp)}
.wx-gb__when{font-family:"Vazirmatn",sans-serif;font-size:10.5px;color:rgba(120,105,160,.55);
  float:left}
.wx-gb__msg{margin:7px 0 0;font-family:"Vazirmatn",sans-serif;font-size:13px;
  line-height:2.1;color:rgba(120,105,160,.9)}
.wx-gb__empty{font-family:"Vazirmatn",sans-serif;font-size:12.5px;
  color:rgba(120,105,160,.6);line-height:2.2}

/* ---------- ناوبری گالری ---------- */
.wx-gal{position:relative;padding:0 6px}
.wx-gal__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.92);color:var(--pp);font-size:22px;line-height:1;
  box-shadow:0 4px 14px -4px rgba(87,74,120,.5);
  display:grid;place-items:center;padding:0 0 3px}
.wx-gal__nav--prev{right:2px}
.wx-gal__nav--next{left:2px}
.wx-gal__nav:active{transform:translateY(-50%) scale(.94)}
.wx-gal__item{position:relative}
.wx-gal__dots i{cursor:pointer}

/* ---------- محتوای روی کارت بنفش ---------- */
.wx--on-purple{
  background:#7869a0;border-radius:13px;
  padding:30px 20px;
  box-shadow:0 10px 30px -18px rgba(87,74,120,.8)}
.wx--on-purple .wx__title,
.wx--on-purple .wx-poem p,
.wx--on-purple .wx-cd__n{color:#fff}
.wx--on-purple .wx-poem__end,
.wx--on-purple .wx-cd__l{color:rgba(255,255,255,.82)}
.wx--on-purple .wx__rule{background:#fff;opacity:.55}
.wx--on-purple .wx-cd__cell+.wx-cd__cell::before{background:rgba(255,255,255,.35)}
/* تقویم روی کارت بنفش سفید می‌ماند */
.wx--on-purple .wx-cal{background:#fff}
.wx--on-purple .wx-cal__head{color:var(--pp)}

/* ---------- دکمهٔ صدا ---------- */
.wx-mute{position:fixed;top:14px;left:14px;z-index:9998;width:42px;height:42px;
  border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;
  background:rgba(255,255,255,.9);color:var(--pp);font-size:16px;
  box-shadow:0 4px 16px -6px rgba(87,74,120,.6)}
.wx-mute .off{display:none}
.wx-mute.is-muted .on{display:none}
.wx-mute.is-muted .off{display:block}

/* ---------- پاورقی ---------- */
.wx-heart{display:inline-block;font-size:20px;color:var(--pp);text-decoration:none;
  line-height:1;padding:6px;transition:transform .3s,color .3s}
.wx-heart:hover{transform:scale(1.15);color:#c9a24a}

/* ---------- تاریخ و ساعت زیر روزشمار ---------- */
.wx-when{margin:18px 0 0;font-family:"Noto Nastaliq Urdu",serif;font-size:16px;
  line-height:2.2;color:#fff}
.wx-when--time{margin-top:2px;font-family:"Vazirmatn",sans-serif;font-size:12.5px;
  color:rgba(255,255,255,.85);letter-spacing:.02em}

/* ---------- دکمهٔ صدا (گرافیکی) ---------- */
.wx-mute{position:fixed;top:14px;left:14px;z-index:9998;width:46px;height:46px;
  border-radius:50%;border:1px solid rgba(120,105,160,.18);cursor:pointer;
  display:grid;place-items:center;padding:0;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  box-shadow:0 6px 18px -6px rgba(87,74,120,.55);
  transition:transform .25s ease, box-shadow .25s ease}
.wx-mute:hover{transform:scale(1.06)}
.wx-mute:active{transform:scale(.94)}
.wx-mute svg{width:22px;height:22px;fill:none;stroke:var(--pp);
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wx-mute svg .spk{fill:var(--pp);stroke:none}
.wx-mute svg .x{display:none}
.wx-mute .w1{animation:wxwave 1.6s ease-in-out infinite}
.wx-mute .w2{animation:wxwave 1.6s ease-in-out .25s infinite}
@keyframes wxwave{0%,100%{opacity:.35}50%{opacity:1}}
.wx-mute.is-muted .w1,.wx-mute.is-muted .w2{display:none}
.wx-mute.is-muted .x{display:block}
.wx-mute.is-muted{background:rgba(255,255,255,.75)}
.wx-mute.is-muted svg{stroke:rgba(120,105,160,.55)}
.wx-mute.is-muted svg .spk{fill:rgba(120,105,160,.55)}

/* ---------- گل‌ها روی محتوا ---------- */
#invite section [aria-hidden="true"],
#invite section img[src*="decoration"]{z-index:40 !important;pointer-events:none}
.wx{position:relative;z-index:1}

/* ---------- دکمهٔ تقویم ---------- */
.wx-ics{display:inline-block;margin:16px auto 0;padding:10px 22px;border-radius:100px;
  background:#fff;color:var(--pp);font-family:"Vazirmatn",sans-serif;font-size:12.5px;
  text-decoration:none;box-shadow:0 6px 16px -8px rgba(0,0,0,.4);
  transition:transform .25s ease}
.wx-ics:hover{transform:translateY(-2px)}

/* ---------- کارت سفید مستقل ---------- */
.wx--card{background:#fff;border-radius:13px;padding:28px 20px;
  box-shadow:0 10px 30px -20px rgba(87,74,120,.6)}

/* ---------- نقشه ---------- */
.wx-map{margin:16px auto 18px;max-width:320px;border-radius:14px;overflow:hidden;
  box-shadow:0 10px 26px -18px rgba(87,74,120,.7);background:#eee}
.wx-map iframe{display:block;width:100%;height:190px;border:0}

/* ---------- بزرگ‌نمایی ---------- */
.wx-lb{position:fixed;inset:0;z-index:10001;display:none;place-items:center;
  background:rgba(40,32,55,.88);backdrop-filter:blur(4px);padding:22px}
.wx-lb.on{display:grid}
.wx-lb__body{max-width:min(92vw,520px);max-height:88vh;display:grid;place-items:center}
.wx-lb__body img,.wx-lb__body video{max-width:100%;max-height:88vh;border-radius:12px;
  display:block;box-shadow:0 20px 50px -20px rgba(0,0,0,.8)}
.wx-lb__x{position:absolute;top:14px;left:16px;width:40px;height:40px;border:0;
  border-radius:50%;background:rgba(255,255,255,.9);color:var(--pp);font-size:24px;
  line-height:1;cursor:pointer}
.wx-gal__item{cursor:zoom-in}

/* ---------- چسبیدن حروف در نستعلیق ---------- */
.wx-poem p,.wx__title,.gt-guest__name,.wx-when{
  font-variant-ligatures:common-ligatures contextual;
  font-feature-settings:"liga" 1,"calt" 1,"rlig" 1;
  letter-spacing:0 !important;word-spacing:-.02em}

/* ---------- بخش مستقل دفتر یادگاری ---------- */
.wx-gb-sec{position:relative;z-index:20;display:block;width:83%;max-width:367px;
  margin:0 auto 46px;padding:0}
@media(min-width:768px){.wx-gb-sec{max-width:520px}}

/* ---------- سایت خاموش ---------- */
.wx-closed{min-height:100svh;display:grid;place-content:center;text-align:center;
  background:linear-gradient(160deg,#9a8cc0,#7869a0);color:#fff;gap:8px;padding:30px;
  font-family:"Vazirmatn",sans-serif}
.wx-closed p{margin:0;font-family:"Noto Nastaliq Urdu",serif;font-size:22px;line-height:2.2}
.wx-closed .sub{font-family:"Vazirmatn",sans-serif;font-size:13px;opacity:.85}

/* ---------- موبایل ---------- */
html{-webkit-text-size-adjust:100%}
*{-webkit-tap-highlight-color:transparent}
html,body{overflow-x:hidden}
img,video,iframe{max-width:100%}
.wx-gal__track{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain}
.wx-gal__item{will-change:transform}
.wx-gb__form input,.wx-gb__form textarea{font-size:16px}   /* جلوی زوم خودکار iOS */
.wx-btn,.wx-ics,.wx-gb__form button{min-height:44px;display:inline-flex;
  align-items:center;justify-content:center}
.wx-lb__body video,.wx-lb__body img{width:auto;height:auto}

@media (max-width:430px){
  .wx{padding:34px 16px}
  .wx--on-purple{padding:24px 14px}
  .wx--card{padding:22px 15px}
  .wx-gal__item{flex-basis:82%}
  .wx-map iframe{height:170px}
  .wx-cd__cell{flex-basis:70px}
  .wx-loc__btns{gap:7px}
  .wx-btn{padding:9px 15px;font-size:12px}
  .wx-mute{top:10px;left:10px;width:42px;height:42px}
}
@media (prefers-reduced-motion:reduce){
  .wx-gal__track{scroll-behavior:auto}
  .wx-mute .w1,.wx-mute .w2{animation:none}
}
