/**
 * Page de verification QR (/verifier/).
 * Mobile-first, zones tactiles >= 44px.
 */

body.dm-page.dm-page {
	background: linear-gradient(160deg, var(--dm-dark) 0%, var(--dm-primary) 100%);
	min-height: 100vh;
	margin: 0;
}

.dm-verify {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding: var(--dm-space-md);
}

.dm-verify__inner {
	width: 100%;
	max-width: 420px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--dm-space-lg);
}

/* Logo -------------------------------------------------------------------- */

.dm-verify__logo-link {
	display: block;
}

.dm-verify__logo {
	height: 56px;
	width: auto;
	filter: brightness(0) invert(1);
}

/* Carte de contenu -------------------------------------------------------- */

.dm-verify__card {
	width: 100%;
	text-align: center;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

/* Loading ----------------------------------------------------------------- */

.dm-verify__loading {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--dm-space-md);
	padding: var(--dm-space-xl) var(--dm-space-lg);
}

.dm-spinner {
	width: 40px;
	height: 40px;
	border: 3px solid var(--dm-tertiary);
	border-top-color: var(--dm-primary);
	border-radius: 50%;
	animation: dm-spin 0.8s linear infinite;
}

@keyframes dm-spin {
	to { transform: rotate(360deg); }
}

/* Profil ------------------------------------------------------------------ */

.dm-verify__profile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--dm-space-sm);
	margin-bottom: var(--dm-space-lg);
}

.dm-verify__avatar {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid var(--dm-primary);
}

.dm-verify__info {
	text-align: center;
}

body.dm-page .dm-verify__name {
	font-size: 1.5rem;
	margin-bottom: var(--dm-space-xs);
}

/* Badge statut ------------------------------------------------------------ */

.dm-verify__badge {
	display: inline-flex;
	align-items: center;
	gap: var(--dm-space-sm);
	padding: 10px 20px;
	border-radius: var(--dm-radius-pill);
	font-weight: 600;
	font-size: 0.9375rem;
	margin-bottom: var(--dm-space-lg);
}

.dm-verify__badge--active {
	background: #e8f5e9;
	color: #2e7d32;
}

.dm-verify__badge--expired {
	background: #fdecea;
	color: var(--dm-error);
}

.dm-verify__badge::before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 50%;
	flex-shrink: 0;
}

.dm-verify__badge--active::before {
	background: #2e7d32;
}

.dm-verify__badge--expired::before {
	background: var(--dm-error);
}

/* Actions ----------------------------------------------------------------- */

.dm-verify__actions {
	display: flex;
	flex-direction: column;
	gap: var(--dm-space-md);
}

/* Formulaire PIN ---------------------------------------------------------- */

.dm-verify__pin-form {
	margin-top: var(--dm-space-md);
}

body.dm-page .dm-verify__pin-form input[type="text"] {
	text-align: center;
	font-size: 1.5rem;
	letter-spacing: 0.5em;
	font-weight: 600;
}

/* Confirmation visite ----------------------------------------------------- */

.dm-verify__success-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto var(--dm-space-md);
	border-radius: 50%;
	background: #e8f5e9;
	color: #2e7d32;
	font-size: 2rem;
	line-height: 64px;
	text-align: center;
	font-weight: 700;
}

/* Boutons désactivés ------------------------------------------------------ */

body.dm-page .dm-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}
