/* فرم عضویت و حساب کاربری */

.gnis-membership-form,
.gnis-member-profile-form { max-width: 480px; }

.gnis-form-error {
	background: #FEE2E2;
	color: #991B1B;
	border-radius: var(--radius-sm, 8px);
	padding: 10px 14px;
	margin-bottom: 14px;
	font-size: 14px;
}
.gnis-form-success {
	background: #DCFCE7;
	color: #166534;
	border-radius: var(--radius-sm, 8px);
	padding: 10px 14px;
	margin-bottom: 14px;
	font-size: 14px;
}
.gnis-form-closed {
	background: var(--color-bg-section-alt, #F5F7FA);
	border: 1px dashed var(--color-border-strong, rgba(0,30,82,.22));
	border-radius: var(--radius-md, 14px);
	padding: 16px;
	margin-bottom: 16px;
	color: var(--color-text-muted, #5B6472);
}

.gnis-field--checkbox label { display: flex; align-items: flex-start; gap: 8px; font-weight: 400; }
.gnis-field--checkbox input { width: auto; margin-top: 4px; }
.gnis-field-hint { font-size: 12.5px; color: var(--color-text-muted, #5B6472); margin-top: 4px; }

.gnis-membership-success h2 { margin-bottom: 8px; }

/* حساب کاربری */
.gnis-member-summary {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}
.gnis-member-avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--color-gold, #FFA700);
}
.gnis-member-account h3 { margin: 28px 0 14px; }

/* ==========================================================
   کارت دیجیتال عضو
   ========================================================== */
.gnis-member-card-page { max-width: 380px; }

.gnis-member-card {
	width: 340px;
	max-width: 100%;
	border-radius: var(--radius-md, 14px);
	overflow: hidden;
	box-shadow: var(--shadow-card, 0 8px 24px -6px rgba(0,30,82,.12));
	margin-bottom: 16px;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

.gnis-member-card--color {
	background: var(--gradient-navy, linear-gradient(135deg, #0A2E68 0%, #001E52 100%));
	color: #fff;
}
.gnis-member-card-topbar {
	height: 6px;
	background: var(--gradient-gold, linear-gradient(135deg, #FFC247 0%, #FFA700 55%, #E69500 100%));
}
.gnis-member-card-body { padding: 22px 24px 26px; text-align: center; }
.gnis-member-card-logo { height: 28px; width: auto; margin: 0 auto 14px; }

.gnis-member-card-photo {
	width: 84px;
	height: 84px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 12px;
	border: 2px solid var(--color-gold, #FFA700);
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.08);
}
.gnis-member-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.gnis-member-card-initial { font-size: 30px; font-weight: 700; color: var(--color-gold, #FFA700); }

.gnis-member-card-name { font-size: 18px; font-weight: 700; color: #fff; }
.gnis-member-card-role { font-size: 13px; color: rgba(255,255,255,0.72); margin-top: 2px; }
.gnis-member-card-id {
	margin-top: 14px;
	font-size: 13px;
	letter-spacing: 0.5px;
	color: var(--color-gold, #FFA700);
	font-weight: 700;
}

/* نسخه تک‌رنگ برای چاپ سیاه‌وسفید */
.gnis-member-card--mono {
	background: #fff;
	border: 2px solid #001E52;
	color: #001E52;
}
.gnis-member-card--mono .gnis-member-card-name { color: #001E52; }
.gnis-member-card--mono .gnis-member-card-role { color: #444; }
.gnis-member-card--mono .gnis-member-card-id { color: #001E52; }
.gnis-member-card--mono .gnis-member-card-brand { margin-top: 10px; font-weight: 800; letter-spacing: 2px; }

.gnis-member-card-note { font-size: 12.5px; color: var(--color-text-muted, #5B6472); margin-bottom: 16px; }
.gnis-member-card-actions { display: flex; gap: 10px; flex-wrap: wrap; }

@media print {
	body * { visibility: hidden; }
	#gnis-print-card:not([hidden]), #gnis-print-card:not([hidden]) *,
	#gnis-print-card-mono:not([hidden]), #gnis-print-card-mono:not([hidden]) * {
		visibility: visible;
	}
	.gnis-member-card {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		margin: 0 auto;
		/* اندازه استاندارد کارت شناسایی؛ برای چاپگرهایی که این اندازه کاغذ را ندارند، مرورگر به نزدیک‌ترین اندازه A6 نگاشت می‌کند. */
		width: 85.6mm;
		height: 54mm;
	}
	.gnis-no-print,
	.gnis-header,
	.gnis-footer { display: none !important; }
}

@page {
	size: 85.6mm 54mm;
	margin: 0;
}
