/*
Theme Name: Diaco Login
Theme URI: https://example.com/diaco-login
Author: Diaco
Author URI: https://example.com
Description: قالب تک‌صفحه‌ای ورود — پس از لاگین مستقیم به پیشخوان وردپرس هدایت می‌شود.
Version: 1.0.0
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: diaco-login
*/

:root {
	--dl-bg-start: #1e1b4b;
	--dl-bg-end: #6d28d9;
	--dl-card: rgba(255, 255, 255, 0.94);
	--dl-border: rgba(255, 255, 255, 0.35);
	--dl-text: #111827;
	--dl-muted: #64748b;
	--dl-primary: #6d28d9;
	--dl-primary-dark: #5b21b6;
	--dl-danger-bg: #fef2f2;
	--dl-danger-text: #b91c1c;
	--dl-radius: 18px;
	--dl-shadow: 0 24px 60px rgba(30, 27, 75, 0.35);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	height: 100%;
}

body.dl-body {
	margin: 0;
	min-height: 100%;
	font-family: 'Yekan', Tahoma, 'Segoe UI', Arial, sans-serif;
	color: var(--dl-text);
	background:
		radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.12), transparent 28%),
		radial-gradient(circle at 80% 0%, rgba(167, 139, 250, 0.25), transparent 32%),
		linear-gradient(135deg, var(--dl-bg-start) 0%, var(--dl-bg-end) 100%);
}

.dl-page {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.dl-shell {
	width: 100%;
	max-width: 440px;
}

.dl-brand {
	text-align: center;
	margin-bottom: 18px;
	color: #fff;
}

.dl-brand__title {
	margin: 0 0 6px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.3;
}

.dl-brand__subtitle {
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.78);
}

.dl-card {
	background: var(--dl-card);
	border: 1px solid var(--dl-border);
	border-radius: var(--dl-radius);
	box-shadow: var(--dl-shadow);
	padding: 28px 24px 24px;
	backdrop-filter: blur(12px);
}

.dl-card__title {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 700;
}

.dl-card__hint {
	margin: 0 0 22px;
	font-size: 14px;
	color: var(--dl-muted);
	line-height: 1.7;
}

.dl-alert {
	margin-bottom: 16px;
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--dl-danger-bg);
	color: var(--dl-danger-text);
	font-size: 13px;
	line-height: 1.6;
}

.dl-alert--success {
	background: #ecfdf5;
	color: #047857;
}

.dl-field {
	margin-bottom: 16px;
}

.dl-field label {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 700;
	color: #334155;
}

.dl-input {
	width: 100%;
	padding: 13px 14px;
	border: 1px solid #dbeafe;
	border-radius: 12px;
	background: #fff;
	font-family: 'Yekan', Tahoma, 'Segoe UI', Arial, sans-serif;
	font-size: inherit;
	color: var(--dl-text);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dl-input:focus {
	outline: none;
	border-color: #a78bfa;
	box-shadow: 0 0 0 4px rgba(109, 40, 217, 0.12);
}

.dl-input--ltr {
	direction: ltr;
	text-align: left;
}

.dl-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
}

.dl-check {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #475569;
	cursor: pointer;
	user-select: none;
}

.dl-check input {
	width: 16px;
	height: 16px;
	accent-color: var(--dl-primary);
}

.dl-btn {
	width: 100%;
	border: none;
	border-radius: 12px;
	padding: 14px 18px;
	font-family: 'Yekan', Tahoma, 'Segoe UI', Arial, sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	cursor: pointer;
	background: linear-gradient(135deg, var(--dl-primary) 0%, var(--dl-primary-dark) 100%);
	box-shadow: 0 10px 24px rgba(91, 33, 182, 0.28);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.dl-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(91, 33, 182, 0.34);
}

.dl-btn:focus-visible {
	outline: 3px solid rgba(167, 139, 250, 0.55);
	outline-offset: 2px;
}

.dl-footer {
	margin-top: 18px;
	text-align: center;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.72);
}

@media (max-width: 480px) {
	.dl-page {
		padding: 16px;
	}

	.dl-card {
		padding: 22px 18px 18px;
	}

	.dl-brand__title {
		font-size: 24px;
	}
}
