/**
 * Add-to-cart error dialog (native <dialog>, appended to body).
 * Used on single product pages and homepage product cards.
 */

dialog.veylo-pdp-atc-dialog {
	position: fixed;
	inset: 0;
	z-index: 200000;
	width: min(540px, calc(100vw - var(--space-8)));
	max-height: min(80vh, 560px);
	margin: auto;
	padding: 0;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--color-danger) 28%, transparent);
	border-radius: var(--radius-lg);
	background: var(--color-surface);
	box-shadow: 0 16px 42px color-mix(in srgb, var(--color-primary) 25%, transparent);
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: var(--text-base);
	line-height: var(--leading-body);
}

dialog.veylo-pdp-atc-dialog::backdrop {
	background: color-mix(in srgb, var(--color-primary) 48%, transparent);
	backdrop-filter: blur(2px);
}

dialog.veylo-pdp-atc-dialog .veylo-pdp-atc-dialog__inner {
	display: grid;
	gap: var(--space-4);
	padding: var(--space-6) var(--space-6) var(--space-5);
}

dialog.veylo-pdp-atc-dialog .veylo-pdp-atc-dialog__title {
	margin: 0;
	padding: 0;
	font-family: var(--font-display);
	font-weight: var(--font-weight-display);
	font-size: clamp(var(--text-lg), 4vw, var(--text-2xl));
	line-height: var(--leading-tight);
	color: var(--color-primary);
}

dialog.veylo-pdp-atc-dialog .veylo-pdp-atc-dialog__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: var(--space-3);
}

dialog.veylo-pdp-atc-dialog .veylo-pdp-atc-dialog__item {
	position: relative;
	margin: 0;
	padding: 0 0 0 var(--space-6);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	line-height: var(--leading-body);
	color: var(--color-text);
}

dialog.veylo-pdp-atc-dialog .veylo-pdp-atc-dialog__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: var(--radius-full);
	background: var(--color-danger);
}

dialog.veylo-pdp-atc-dialog .veylo-pdp-atc-dialog__actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-3);
	padding-top: var(--space-2);
}

dialog.veylo-pdp-atc-dialog .veylo-pdp-atc-dialog__dismiss {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--size-touch-lg);
	padding: var(--space-3) var(--space-4);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	line-height: var(--leading-snug);
	text-decoration: none;
	box-sizing: border-box;
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	border: 0;
	outline: none;
	box-shadow: none;
	background: var(--color-primary);
	color: var(--color-surface);
}

dialog.veylo-pdp-atc-dialog .veylo-pdp-atc-dialog__dismiss:hover {
	background: var(--color-primary-hover);
	color: var(--color-surface);
}

dialog.veylo-pdp-atc-dialog .veylo-pdp-atc-dialog__dismiss:focus {
	outline: none;
}

dialog.veylo-pdp-atc-dialog .veylo-pdp-atc-dialog__dismiss:focus-visible {
	outline: var(--focus-ring);
	outline-offset: var(--focus-offset);
}
