/**
 * Subsensor-owned interface foundation.
 *
 * Custom modules opt in with .subsensor-ui so BeTheme and Elementor button
 * effects cannot silently change their controls. Existing store pages remain
 * outside this boundary until they are deliberately migrated.
 */
.subsensor-ui {
	--subsensor-primary: #120fbf;
	--subsensor-primary-dark: #120fbf;
	--subsensor-accent: #8fc4ff;
	--subsensor-ink: #17203a;
	--subsensor-muted: #667085;
	--subsensor-quiet: #98a2b3;
	--subsensor-border: #e4e7ec;
	--subsensor-soft: #f7f8fc;
	--subsensor-success: #067647;
	--subsensor-success-soft: #ecfdf3;
	--subsensor-error: #b42318;
	--subsensor-error-soft: #fef3f2;
	--subsensor-warning: #b54708;
	--subsensor-warning-soft: #fff7e8;
	--subsensor-font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

:root {
	--subsensor-primary-tint-90: #e7e7f9;
	--subsensor-space-1: 4px;
	--subsensor-space-dense: 6px;
	--subsensor-space-2: 8px;
	--subsensor-space-3: 12px;
	--subsensor-space-4: 16px;
	--subsensor-space-5: 24px;
	--subsensor-space-6: 32px;
	--subsensor-space-7: 48px;
	--subsensor-space-filter-content: var(--subsensor-space-3);
	--subsensor-space-title-content: var(--subsensor-space-4);
	--subsensor-catalog-title-size: 32px;
	--subsensor-catalog-title-size-mobile: 26px;
	--subsensor-catalog-title-line-height: 1.25;
	--subsensor-space-group: var(--subsensor-space-5);
	--subsensor-space-section: var(--subsensor-space-6);
	--subsensor-space-major: var(--subsensor-space-7);
	--subsensor-mobile-page-gutter: 10px;
	--subsensor-mobile-inline-space: 20px;
	--subsensor-mobile-content-top: 12px;
	--subsensor-mobile-panel-gap: 14px;
}

.subsensor-ui,
.subsensor-ui *,
.subsensor-ui *::before,
.subsensor-ui *::after {
	box-sizing: border-box;
}

.subsensor-ui :where(button, .button, input[type="button"], input[type="reset"], input[type="submit"], .subsensor-control) {
	-webkit-appearance: none;
	appearance: none;
	background-image: none !important;
	box-shadow: none;
	font: inherit;
	text-decoration: none;
	text-shadow: none;
	text-transform: none;
	transform: none !important;
	transition: none !important;
	animation: none !important;
}

.subsensor-ui :where(button, .button, .subsensor-control)::before,
.subsensor-ui :where(button, .button, .subsensor-control)::after {
	display: none !important;
	content: none !important;
}

.subsensor-ui :where(button, .button, input, select, textarea, a):focus-visible {
	outline: 2px solid var(--subsensor-primary);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.subsensor-ui,
	.subsensor-ui *,
	.subsensor-ui *::before,
	.subsensor-ui *::after {
		scroll-behavior: auto !important;
		transition: none !important;
		animation: none !important;
	}
}

/* Native Gravity Forms receipts share the neutral completion surface. */
body .gform_confirmation_wrapper .gform_confirmation_message {
	box-sizing: border-box;
	margin: 0;
	padding: var(--subsensor-space-4);
	border: 1px solid #e4e7ec;
	border-radius: 12px;
	background: #fff;
	color: #17203a;
	font-size: 15px;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
body .gform_confirmation_wrapper .gform_confirmation_message p { margin: 0; }
