/* قالب‌های دعوت‌نامهٔ دیجیتال (آیتم ۱۹۳) — پیش‌نمایشِ CSSی: تصویرِ خارجی ندارد، پس هرگز «بارگذاری‌نشده» نمی‌ماند. */
.itc, .invt-head { --itc-from:#4c2fb0; --itc-to:#2a1a6e; --itc-accent:#c4b5fd; --itc-ink:#fafaf9; --itc-line:rgba(255,255,255,.28); }
[data-template="classic-wedding"]  { --itc-from:#7a2e4d; --itc-to:#3d1426; --itc-accent:#f3c9a8; --itc-line:rgba(243,201,168,.55); }
[data-template="golden-royal"]     { --itc-from:#14213d; --itc-to:#0a1226; --itc-accent:#e9c46a; --itc-line:rgba(233,196,106,.65); }
[data-template="birthday-fun"]     { --itc-from:#c2185b; --itc-to:#6a1b9a; --itc-accent:#ffd54f; --itc-line:rgba(255,213,79,.6); }
[data-template="corporate-seminar"]{ --itc-from:#0d47a1; --itc-to:#06274f; --itc-accent:#80deea; --itc-line:rgba(128,222,234,.5); }
[data-template="charity-warm"]     { --itc-from:#b4532a; --itc-to:#6b2a12; --itc-accent:#ffe0b2; --itc-line:rgba(255,224,178,.55); }
[data-template="vip-luxe"]         { --itc-from:#1c1c1c; --itc-to:#000; --itc-accent:#d4af37; --itc-line:rgba(212,175,55,.7); }

.itc {
    position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem;
    width: 100%; aspect-ratio: 4 / 3; padding: 1rem .75rem; box-sizing: border-box; overflow: hidden; text-align: center;
    border-radius: .9rem; color: var(--itc-ink); isolation: isolate;
    background: radial-gradient(120% 90% at 50% 0%, var(--itc-from), var(--itc-to));
}
.itc::before { content: ""; position: absolute; inset: .5rem; border: 1px solid var(--itc-line); border-radius: .6rem; z-index: -1; }
.itc::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .5; pointer-events: none;
    background: radial-gradient(circle at 12% 18%, var(--itc-line) 0 2px, transparent 3px), radial-gradient(circle at 88% 82%, var(--itc-line) 0 2px, transparent 3px); }
.itc--tall { aspect-ratio: 3 / 4; }
.itc__orn { color: var(--itc-accent); font-size: 1.1rem; line-height: 1; letter-spacing: .4em; }
.itc__occ { color: var(--itc-accent); font-size: .7rem; font-weight: 700; }
.itc__title { margin: 0; font-family: var(--font-display, 'Lalezar', serif); font-size: 1.25rem; line-height: 1.35; color: var(--itc-ink); }
.itc__host { font-size: .72rem; opacity: .85; }
.itc__date { margin-top: .2rem; padding: .15rem .6rem; border: 1px solid var(--itc-line); border-radius: 999px; color: var(--itc-accent); font-size: .68rem; }
.itc--sm .itc__title { font-size: 1rem; }

/* سرصفحهٔ کارتِ عمومی (بدونِ تصویرِ جلد) با رنگِ قالب. متن همیشه روشن است (.on-media). */
.invt-head { background: radial-gradient(120% 120% at 50% 0%, var(--itc-from), var(--itc-to)) !important; border: 1px solid var(--itc-line) !important; }
.invt-head :is(p:first-child) { color: var(--itc-accent) !important; }

/* انتخابگرِ قالب در سازندهٔ مرحله‌ای */
.iw-pick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
@media (min-width: 640px) { .iw-pick { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.iw-pick__item { position: relative; display: block; padding: .4rem; border: 2px solid transparent; border-radius: 1.1rem; cursor: pointer; background: rgba(255,255,255,.04); text-align: center; transition: border-color .15s, transform .15s; }
.iw-pick__item:hover { transform: translateY(-2px); }
.iw-pick__item.is-on { border-color: var(--accent, #8b5cf6); background: rgba(139,92,246,.12); }
.iw-pick__item.is-locked { opacity: .55; }
.iw-pick__name { display: block; margin-top: .4rem; font-size: .8rem; font-weight: 700; }
.iw-pick__plan { display: block; font-size: .68rem; opacity: .7; }

/* نوارِ پیشرفتِ مراحل */
.iw-steps { display: flex; align-items: flex-start; gap: .25rem; margin: 0 0 1.25rem; padding: 0; list-style: none; }
.iw-steps li { flex: 1 1 0; min-width: 0; text-align: center; font-size: .7rem; color: var(--text-muted, #a1a1aa); }
.iw-steps button { display: flex; flex-direction: column; align-items: center; gap: .3rem; width: 100%; padding: 0; background: none; border: 0; color: inherit; font: inherit; cursor: pointer; }
.iw-steps .iw-dot { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; border: 2px solid rgba(255,255,255,.2); font-weight: 800; font-size: .8rem; }
.iw-steps li.is-done .iw-dot { background: var(--accent, #8b5cf6); border-color: var(--accent, #8b5cf6); color: #fff; }
.iw-steps li.is-now .iw-dot { border-color: var(--accent, #8b5cf6); color: var(--accent, #8b5cf6); box-shadow: 0 0 0 4px rgba(139,92,246,.18); }
.iw-steps li.is-now { color: inherit; font-weight: 700; }
.iw-bar { height: .3rem; margin: 0 0 1rem; border-radius: 999px; background: rgba(255,255,255,.1); overflow: hidden; }
.iw-bar > i { display: block; height: 100%; background: var(--accent, #8b5cf6); transition: width .25s; }
@media (max-width: 480px) { .iw-steps li span.iw-lbl { display: none; } .iw-steps li.is-now span.iw-lbl { display: block; } }
