/* Signup — کارت دوستونه با هالهٔ گرادیانی */

.signup-stage {
    position: relative;
    min-height: calc(100vh - 76px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 20px;
    overflow: hidden;
}

/* --- هالهٔ گرادیانی پس‌زمینه (تنها عنوان پرجرأت) --- */

.signup-glow {
    position: absolute;
    inset: -20% -10%;
    z-index: 0;
    pointer-events: none;
    filter: blur(70px);
    opacity: .55;
    background:
        radial-gradient(38% 42% at 22% 30%, rgba(99, 102, 241, .55), transparent 70%),
        radial-gradient(34% 38% at 78% 24%, rgba(168, 85, 247, .45), transparent 72%),
        radial-gradient(40% 44% at 60% 82%, rgba(236, 72, 153, .34), transparent 70%);
    animation: glow-drift 18s ease-in-out infinite alternate;
}

html.dark .signup-glow {
    opacity: .34;
}

@keyframes glow-drift {
    0%   { transform: translate3d(0, 0, 0) scale(1); }
    50%  { transform: translate3d(-3%, 2%, 0) scale(1.06); }
    100% { transform: translate3d(3%, -2%, 0) scale(1.02); }
}

/* --- کارت --- */

.signup-card {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 0.85fr 1fr;
    width: min(100%, 880px);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 22px;
    box-shadow: var(--shadow-md);
    overflow: hidden;
    animation: card-rise .7s cubic-bezier(.22, .61, .36, 1) both;
}

@keyframes card-rise {
    from { opacity: 0; transform: translateY(22px); }
    to   { opacity: 1; transform: none; }
}

/* --- ستون برند --- */

.signup-brand {
    position: relative;
    padding: 40px 34px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 28px;
    background: linear-gradient(150deg, #6366f1 0%, #8b5cf6 52%, #d946ef 100%);
    background-size: 180% 180%;
    animation: brand-shift 14s ease-in-out infinite alternate;
}

@keyframes brand-shift {
    from { background-position: 0% 0%; }
    to   { background-position: 100% 100%; }
}

.signup-brand-mark {
    font-size: 30px;
    font-weight: 900;
    letter-spacing: -.5px;
}

.signup-brand-copy {
    font-size: 15px;
    line-height: 1.9;
    color: rgba(255, 255, 255, .9);
}

.signup-brand-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: 13.5px;
    color: rgba(255, 255, 255, .92);
}

.signup-brand-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.signup-brand-list li::before {
    content: "";
    flex: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .85);
}

/* --- ستون فرم --- */

.signup-form-panel {
    padding: 40px 38px;
}

.signup-form-panel h1 {
    margin: 0 0 6px;
    font-size: 26px;
    font-weight: 900;
}

.signup-form-panel .lead {
    margin: 0 0 26px;
    color: var(--muted);
    font-size: 14px;
}

.signup-form-panel form {
    animation: form-rise .7s cubic-bezier(.22, .61, .36, 1) .12s both;
}

@keyframes form-rise {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: none; }
}

/* فیلدها: درخشش ملایم هنگام تمرکز */

.signup-form-panel .field input {
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.signup-form-panel .field input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 4px var(--primary-soft);
}

/* دکمه: درخشش متناسب */

.signup-form-panel .btn-primary {
    position: relative;
    overflow: hidden;
    margin-top: 6px;
}

.signup-form-panel .btn-primary::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-120%);
    background: linear-gradient(
        100deg,
        transparent 20%,
        rgba(255, 255, 255, .28) 50%,
        transparent 80%
    );
    transition: transform .6s ease;
}

.signup-form-panel .btn-primary:hover::after {
    transform: translateX(120%);
}

/* پیوندهای پایین فرم */

.signup-alt {
    margin: 22px 0 0;
    text-align: center;
    font-size: 13.5px;
    color: var(--muted);
}

.signup-alt a {
    color: var(--primary);
    font-weight: 600;
}

.signup-alt a:hover {
    text-decoration: underline;
}

/* --- حالت غیرفعال --- */

.signup-blocked {
    text-align: center;
    animation: form-rise .6s cubic-bezier(.22, .61, .36, 1) .1s both;
}

.signup-blocked .alert {
    text-align: right;
    margin-bottom: 20px;
}

/* --- موبایل --- */

@media (max-width: 760px) {
    .signup-card {
        grid-template-columns: 1fr;
        max-width: 460px;
    }

    .signup-brand {
        padding: 26px 24px;
        gap: 16px;
    }

    .signup-brand-list {
        display: none;
    }

    .signup-form-panel {
        padding: 30px 24px 34px;
    }

    .signup-glow {
        filter: blur(48px);
    }
}

/* --- احترام به ترجیح کاهش حرکت --- */

@media (prefers-reduced-motion: reduce) {
    .signup-glow,
    .signup-brand,
    .signup-card,
    .signup-form-panel form,
    .signup-blocked,
    .signup-form-panel .btn-primary::after {
        animation: none !important;
        transition: none !important;
    }
}
