/* پیام خوش‌آمدگویی اختصاصی — فقط روی همین سرور. */
@font-face { font-family: 'LW Vazirmatn'; src: url('Vazirmatn-Regular.woff2') format('woff2'); font-weight: 400 600; font-display: swap; }
@font-face { font-family: 'LW Vazirmatn'; src: url('Vazirmatn-Bold.woff2') format('woff2'); font-weight: 700 900; font-display: swap; }

html.lw-open, html.lw-open body { overflow: hidden; }
.lw-nowrap { white-space: nowrap; }
.lw-title, .lw-line, .lw-highlight { text-wrap: balance; }
.lw-line { display: block; }

.lw-overlay {
  position: fixed; inset: 0; z-index: 2147483000;
  display: flex; align-items: center; justify-content: center;
  padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
  background: rgba(17, 24, 15, 0.46);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
  animation: lw-fade 200ms ease-out;
}
.lw-overlay.lw-leaving { opacity: 0; transition: opacity 160ms ease-in; }

.lw-card {
  position: relative; box-sizing: border-box;
  width: 100%; max-width: 30rem; max-height: calc(100dvh - 32px); overflow-y: auto;
  padding: 2rem 1.75rem 1.5rem;
  border-radius: 1.25rem;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(20, 35, 15, 0.28), 0 2px 8px rgba(20, 35, 15, 0.1);
  direction: rtl; text-align: center;
  font-family: 'LW Vazirmatn', var(--admincore-type-font, system-ui), 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
  color: #1f2a1c;
  animation: lw-rise 260ms cubic-bezier(.2, .8, .2, 1);
}
.lw-card::before {
  content: ''; position: absolute; inset: 0 0 auto 0; height: 5px;
  border-radius: 1.25rem 1.25rem 0 0;
  background: linear-gradient(90deg, #6a8f5a, #9cbc8c);
}

.lw-close {
  position: absolute; top: .75rem; inset-inline-end: .75rem;
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.25rem; height: 2.25rem; padding: 0;
  border: 0; border-radius: 999px; background: transparent; color: #6b7280; cursor: pointer;
}
.lw-close:hover { background: #f1f4ef; color: #374151; }
.lw-close:focus-visible, .lw-button:focus-visible { outline: 3px solid #b7d1aa; outline-offset: 2px; }

.lw-mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 3.25rem; height: 3.25rem; margin: 0 auto .9rem;
  border-radius: 999px; background: #eef5ea; color: #577c4a;
}

.lw-title {
  margin: 0 0 1rem; padding: 0 .75rem;
  font-size: 1.2rem; line-height: 1.8; font-weight: 800; color: #24331d;
}

.lw-body { display: grid; gap: .6rem; }
.lw-greeting { margin: 0 0 .1rem; font-size: 1rem; line-height: 1.9; font-weight: 700; color: #2f5226; }
.lw-p { margin: 0; font-size: .95rem; line-height: 2; color: #4b5563; }
.lw-highlight {
  margin: .5rem 0 0; padding: .7rem 1rem;
  border-radius: .8rem; background: #f4f8f1;
  font-size: .98rem; line-height: 1.9; font-weight: 700; color: #3f5d33;
}

.lw-sign {
  display: flex; flex-direction: column; gap: .1rem;
  margin: 1.25rem 0 0; font-size: .9rem; line-height: 1.9; color: #6b7280;
}
.lw-sign__name { font-weight: 700; color: #2f5226; }

.lw-close, .lw-button { font-family: inherit; }
.lw-button {
  display: block; width: 100%; min-height: 2.9rem; margin-top: 1.4rem; padding: .6rem 1rem;
  border: 0; border-radius: .8rem; background: #577c4a; color: #ffffff;
  font: inherit; font-size: 1rem; font-weight: 700; cursor: pointer;
}
.lw-button:hover { background: #476b3a; }

@media (max-width: 380px), (max-height: 640px) {
  .lw-card { padding: 1.4rem 1.1rem 1.1rem; border-radius: 1rem; }
  .lw-mark { width: 2.6rem; height: 2.6rem; margin-bottom: .6rem; }
  .lw-mark svg { width: 21px; height: 21px; }
  .lw-title { font-size: 1.05rem; line-height: 1.7; margin-bottom: .7rem; }
  .lw-body { gap: .4rem; }
  .lw-greeting { font-size: .93rem; }
  .lw-p { font-size: .88rem; line-height: 1.85; }
  .lw-highlight { font-size: .9rem; line-height: 1.8; padding: .55rem .8rem; }
  .lw-sign { margin-top: .9rem; font-size: .85rem; line-height: 1.75; }
  .lw-button { margin-top: 1rem; min-height: 2.6rem; }
}

@keyframes lw-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes lw-rise { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lw-overlay, .lw-card { animation: none; } }
