
/* ===================== لودینگ محتشم — شروع ===================== */
:root{
  --mt-ink:#0E4F57;      /* فیروزه‌ای کاشی */
  --mt-inner:#FAF7F2;    /* شیارها و طومارها */
  --mt-bg:#FAF7F2;       /* زمینهٔ صفحهٔ لودینگ */
  --mt-text:#4A5557;
  --mt-p1:#C8336A; --mt-p2:#A82A58; --mt-p3:#7E1D45; --mt-gold:#D9A33A;
  --mt-cycle:2.8s;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --mt-ink:#FFFFFF; --mt-inner:#0E4F57; --mt-bg:#0B3237; --mt-text:#CFE3E5; }
}
:root[data-theme="dark"]{ --mt-ink:#FFFFFF; --mt-inner:#0E4F57; --mt-bg:#0B3237; --mt-text:#CFE3E5; }

.mt-loader{
  position:fixed; inset:0; z-index:9999;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  background:var(--mt-bg);
  transition:opacity .5s ease, visibility .5s ease;
}
.mt-loader.is-done{ opacity:0; visibility:hidden; }
.mt-loader svg{ width:120px; height:120px; overflow:visible; }
.mt-loader svg *{ transform-box:view-box; }
.mt-loader .ink{ fill:var(--mt-ink); }
.mt-loader .inner-f{ fill:var(--mt-inner); }
.mt-loader .inner-s{ stroke:var(--mt-inner); fill:none; }
.mt-loader .p1{ fill:var(--mt-p1); } .mt-loader .p2{ fill:var(--mt-p2); }
.mt-loader .p3{ fill:var(--mt-p3); } .mt-loader .gold{ fill:var(--mt-gold); }
.mt-loader .label{
  font-family:Vazirmatn, Tahoma, sans-serif; font-size:15px; font-weight:600; color:var(--mt-text);
  letter-spacing:0;
}
.mt-loader .label i{ font-style:normal; animation:mt-dot var(--mt-cycle) infinite; opacity:0; }
.mt-loader .label i:nth-child(2){ animation-delay:.25s } .mt-loader .label i:nth-child(3){ animation-delay:.5s }

/* ستون از پایه بالا می‌آید */
.mt-step1{ transform-origin:50px 98px; animation:mt-rise var(--mt-cycle) infinite cubic-bezier(.3,.7,.3,1); }
.mt-step2{ transform-origin:50px 94px; animation:mt-rise2 var(--mt-cycle) infinite cubic-bezier(.3,.7,.3,1); }
.mt-shaft{ transform-origin:50px 89px; animation:mt-shaft var(--mt-cycle) infinite cubic-bezier(.3,.7,.3,1); }
.mt-cap  { transform-origin:50px 50px; animation:mt-cap var(--mt-cycle) infinite cubic-bezier(.3,.7,.3,1); }
.mt-cup  { transform-origin:50px 42px; animation:mt-cup var(--mt-cycle) infinite ease-out; }
/* گل گلبرگ‌به‌گلبرگ باز می‌شود */
.mt-pet  { transform-origin:50px 40px; }
.mt-pet.o{ animation:mt-bloom-o var(--mt-cycle) infinite cubic-bezier(.2,.9,.3,1.2); }
.mt-pet.m{ animation:mt-bloom-m var(--mt-cycle) infinite cubic-bezier(.2,.9,.3,1.2); }
.mt-pet.c{ animation:mt-bloom-c var(--mt-cycle) infinite cubic-bezier(.2,.9,.3,1.2); }
.mt-all  { animation:mt-fade var(--mt-cycle) infinite ease; }

@keyframes mt-rise  { 0%{transform:scaleX(0)} 8%,100%{transform:scaleX(1)} }
@keyframes mt-rise2 { 0%,4%{transform:scaleX(0)} 12%,100%{transform:scaleX(1)} }
@keyframes mt-shaft { 0%,8%{transform:scaleY(0)} 26%,100%{transform:scaleY(1)} }
@keyframes mt-cap   { 0%,24%{transform:translateY(-6px);opacity:0} 32%,100%{transform:none;opacity:1} }
@keyframes mt-cup   { 0%,32%{transform:scale(0)} 38%,100%{transform:scale(1)} }
@keyframes mt-bloom-o{ 0%,38%{transform:scale(0)} 50%,100%{transform:scale(1)} }
@keyframes mt-bloom-m{ 0%,44%{transform:scale(0)} 56%,100%{transform:scale(1)} }
@keyframes mt-bloom-c{ 0%,50%{transform:scale(0)} 62%,100%{transform:scale(1)} }
@keyframes mt-fade  { 0%,84%{opacity:1} 96%,100%{opacity:0} }
@keyframes mt-dot   { 0%,10%{opacity:0} 20%,80%{opacity:1} 90%,100%{opacity:0} }

/* برای کاربرانی که حرکت کمتر خواسته‌اند: فقط تپش آرام */
@media (prefers-reduced-motion: reduce){
  .mt-loader svg *{ animation:none !important; }
  .mt-loader .mt-all{ animation:mt-pulse 1.8s ease-in-out infinite !important; transform-origin:50px 50px; }
  @keyframes mt-pulse{ 0%,100%{opacity:1} 50%{opacity:.55} }
}
/* ===================== لودینگ محتشم — پایان ===================== */


.mt-loader{animation:mt-safety-hide .01s 12s forwards} @keyframes mt-safety-hide{to{opacity:0;visibility:hidden;pointer-events:none}} @media(prefers-reduced-motion:reduce){.mt-loader .mt-all,.mt-loader .label i{animation:none!important;opacity:1}.mt-loader{animation:mt-safety-hide .01s 12s forwards!important}}
