/* Generations PML brand base: v0.1.0
   Palette tokens (see the Brand Direction canvas). Use these names in any future custom CSS. */
:root {
	--gpm-plum-900: #2A1B3D;
	--gpm-plum-700: #4A3768;
	--gpm-plum-500: #6D5E87;
	--gpm-lavender-200: #DCD5E8;
	--gpm-plum-50: #F4F1F8;
	--gpm-gold: #C9A24A;        /* on plum only, never text on white */
	--gpm-gold-light: #E7C873;  /* text / focus ring on Plum 900 */
	--gpm-gold-ink: #8A6418;    /* the only gold allowed as text on white */
	--gpm-silver: #C4C8CF;
	--gpm-steel: #8B919C;
	--gpm-slate: #5B6270;
	--gpm-mist: #F6F5F8;
	--gpm-ink: #1F1A26;
	--gpm-error: #B42318;
	--gpm-success: #1E6B3A;
	--gpm-focus: 3px solid var(--gpm-plum-700);
	/* Photo overlay for the header and page heroes: deep plum on the left (behind the text), richer and lighter plum on the right.
	   Runs left to right, so the header and the hero below line up without a seam. */
	--gpm-hero-overlay: linear-gradient(to right, rgba(42, 27, 61, 0.90) 0%, rgba(74, 55, 104, 0.80) 55%, rgba(107, 91, 149, 0.70) 100%);
}

/* Visible keyboard focus everywhere (WCAG 2.2: 2.4.7 / 2.4.11). Mouse clicks are unaffected. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: var(--gpm-focus);
	outline-offset: 3px;
	border-radius: 2px;
}

/* On dark plum rows/columns, switch the focus ring to gold. */
.ast-primary-header-bar :focus-visible,
.site-footer :focus-visible {
	outline-color: var(--gpm-gold-light);
}

/* Text selection */
::selection {
	background-color: var(--gpm-lavender-200);
	color: var(--gpm-ink);
}

/* Form fields: clearer borders and focus (3:1 minimum for UI components). */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form select,
.wpcf7-form textarea {
	border: 2px solid var(--gpm-steel);
	border-radius: 8px;
}
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
	border-color: var(--gpm-plum-700);
}
.wpcf7-form .wpcf7-not-valid {
	border-color: var(--gpm-error);
	border-width: 3px;
}
.wpcf7-not-valid-tip {
	color: var(--gpm-error);
	font-weight: 600;
}

/* Respect reduced-motion settings. */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
