/* Global musts: focus visibility, skip link, selection color, reduced-motion-safe smooth scroll. */

/* Visually hidden but present for screen readers/heading structure. */
.plu-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

*:focus-visible {
	outline: 2px solid var(--wp--preset--color--purple-dark);
	outline-offset: 2px;
	border-radius: 2px;
}

::selection {
	background-color: var(--wp--preset--color--purple);
	color: var(--wp--preset--color--white);
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

.skip-link {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100000;
	transform: translateY(-100%);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--purple-dark);
	padding: 0.85rem 1.5rem;
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	border-radius: 0 0 8px 0;
	transition: transform 0.15s ease;
}

.skip-link:focus-visible,
.skip-link:focus {
	transform: translateY(0%);
	outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {
	.skip-link {
		transition: none;
	}
}

/* Decorative SVGs (blobs, dot grids, floaters) never take focus or interfere with content. */
.plu-decor {
	pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
	.plu-float {
		animation: plu-float 6s ease-in-out infinite;
	}
}

@keyframes plu-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

/* Outline button block style variants (registered in functions.php) */
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--purple-dark);
	color: var(--wp--preset--color--purple-dark);
	background: transparent;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--purple-dark);
	color: var(--wp--preset--color--white);
}

.wp-block-button.is-style-outline-white .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--white);
	color: var(--wp--preset--color--white);
	background: transparent;
}

.wp-block-button.is-style-outline-white .wp-block-button__link:hover {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--purple-dark);
}
