/* Fortuna UI — native <dialog>. Vereist fu-tokens en fu-button. */
.fu-dialog {
	box-sizing: border-box;
	width: min(640px, calc(100vw - 24px));
	max-width: min(640px, calc(100vw - 24px));
	max-height: 80vh;
	max-height: 80dvh;
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: var(--fu-radius);
	background: var(--fu-surface);
	color: var(--fu-text);
	font-family: var(--fu-font);
	font-size: var(--fu-text-size);
	line-height: 1.6;
	box-shadow: var(--fu-shadow), 0 0 0 1px var(--fu-ring);
	overflow: hidden;
}

.fu-dialog[open] {
	display: flex;
	flex-direction: column;
}

.fu-dialog::backdrop {
	background: var(--fu-backdrop);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.fu-dialog .fu-dialog__head {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 16px 12px 20px;
	border-bottom: 1px solid var(--fu-line);
}

.fu-dialog .fu-dialog__heading {
	flex: 1 1 auto;
	min-width: 0;
	padding-top: 8px;
}

.fu-dialog h2.fu-dialog__title {
	margin: 0;
	padding: 0;
	color: var(--fu-green-dark);
	font-family: var(--fu-font);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: normal;
	text-transform: none;
}

.fu-dialog .fu-badge {
	display: inline-block;
	margin: 6px 0 0;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--fu-green-tint);
	color: var(--fu-green-dark);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
}

.fu-dialog .fu-dialog__status {
	margin: 0;
	padding: 14px 20px 0;
	color: var(--fu-text);
	font-weight: 500;
}

.fu-dialog .fu-dialog__status:has(+ .fu-dialog__body:empty) {
	padding-bottom: 16px;
}

.fu-dialog .fu-dialog__body {
	flex: 1 1 auto;
	min-height: 0;
	padding: 14px 20px 18px;
	overflow: auto;
	overscroll-behavior: contain;
}

.fu-dialog .fu-dialog__body:focus-visible {
	outline: 3px solid var(--fu-focus);
	outline-offset: -3px;
}

.fu-dialog .fu-dialog__body:empty {
	display: none;
}

.fu-dialog .fu-dialog__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	padding: 12px 20px 16px;
	border-top: 1px solid var(--fu-line);
}

.fu-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

html.fu-scroll-lock {
	overflow: hidden;
}

@media (max-width: 600px) {
	.fu-dialog {
		width: calc(100vw - 16px);
		max-width: calc(100vw - 16px);
		max-height: 88vh;
		max-height: 88dvh;
	}

	.fu-dialog .fu-dialog__foot .fu-btn {
		flex: 1 1 auto;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.fu-dialog[open] {
		animation: fu-dialog-in 160ms ease-out;
	}

	@keyframes fu-dialog-in {
		from {
			opacity: 0;
			transform: translateY(8px);
		}
		to {
			opacity: 1;
			transform: none;
		}
	}
}
