/**
 * PowerFlow Wash — base tokens, resets, accessibility primitives.
 * Colors/type/spacing presets are generated by theme.json as
 * --wp--preset--* custom properties; this file adds the extra tokens
 * (glass, motion, focus) theme.json has no slot for.
 */

:root {
	--pf-glass-fill: rgba(255, 255, 255, 0.66);
	--pf-glass-fill-dark: rgba(10, 35, 66, 0.55);
	--pf-glass-border: rgba(255, 255, 255, 0.55);
	--pf-glass-blur: 16px;

	--pf-focus-ring: 0 0 0 3px rgba(11, 107, 227, 0.35);

	--pf-dur-instant: var(--wp--custom--motion--duration-instant, 80ms);
	--pf-dur-fast: var(--wp--custom--motion--duration-fast, 160ms);
	--pf-dur-base: var(--wp--custom--motion--duration-base, 240ms);
	--pf-dur-slow: var(--wp--custom--motion--duration-slow, 420ms);
	--pf-dur-slower: var(--wp--custom--motion--duration-slower, 720ms);

	--pf-ease-flow: var(--wp--custom--motion--ease-flow, cubic-bezier(0.22, 1, 0.36, 1));
	--pf-ease-jet: var(--wp--custom--motion--ease-jet, cubic-bezier(0.16, 1, 0.3, 1));
	--pf-ease-spring: var(--wp--custom--motion--ease-spring, cubic-bezier(0.34, 1.56, 0.64, 1));

	--pf-hover-lift: var(--wp--custom--motion--hover-lift, -3px);
	--pf-press-scale: var(--wp--custom--motion--press-scale, 0.97);
	--pf-float-amplitude: var(--wp--custom--motion--float-amplitude, 10px);

	--pf-header-height: 76px;
	--pf-header-height-scrolled: 64px;
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--pf-dur-instant: 0ms;
		--pf-dur-fast: 0ms;
		--pf-dur-base: 0ms;
		--pf-dur-slow: 0ms;
		--pf-dur-slower: 0ms;
		--pf-hover-lift: 0px;
		--pf-press-scale: 1;
		--pf-float-amplitude: 0px;
	}
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	overflow-x: hidden;
}

img,
svg {
	max-width: 100%;
	height: auto;
	display: block;
}

/* Skip link */
.powerflow-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 0.85rem 1.5rem;
	background: var(--wp--preset--color--brand, #0b6be3);
	color: #fff;
	border-radius: 0 0 var(--wp--custom--radius--md, 12px) 0;
	font-weight: 700;
	text-decoration: none;
}

.powerflow-skip-link:focus {
	left: 0;
}

/* Universal focus visibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--wp--preset--color--brand, #0b6be3);
	outline-offset: 2px;
	box-shadow: var(--pf-focus-ring);
}

/* Eyebrow heading style (registered as a block style variant too) */
.is-style-powerflow-eyebrow {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--xs, 0.75rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brand, #0b6be3);
}

/* Glass card style variant */
.is-style-powerflow-glass-card {
	background: var(--pf-glass-fill);
	border: 1px solid var(--pf-glass-border);
	backdrop-filter: blur(var(--pf-glass-blur));
	-webkit-backdrop-filter: blur(var(--pf-glass-blur));
	box-shadow: 0 16px 40px rgba(7, 24, 43, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

/* Ink band style variant */
.is-style-powerflow-ink-band {
	background: linear-gradient(160deg, #0a2342 0%, #07182b 100%);
	color: #fff;
}

.is-style-powerflow-ink-band a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--accent, #16c7dc);
}

/* Flow gradient CTA button style variant */
.is-style-powerflow-flow-cta .wp-block-button__link {
	background: linear-gradient(100deg, #0b6be3 0%, #16c7dc 100%);
	color: #fff;
	box-shadow: 0 10px 30px rgba(11, 107, 227, 0.35);
}

.is-style-powerflow-flow-cta .wp-block-button__link:hover {
	transform: translateY(var(--pf-hover-lift));
	filter: brightness(1.06);
}

/* Visually hidden utility (used for ARIA live regions / labels) */
.powerflow-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
