/*
 * Globals styles — brand-templated for engagement isjac.
 *
 * Source: vendor/zysys/wp-runtime/assets/css/globals.css.template
 * Built:  wp-content/zysys-generated/isjac/css/globals.css
 *
 * The template substitutes isjac at composer install. To change
 * a rule, edit this template and re-run `composer install` (or
 * `composer update`) in the consumer repo.
 *
 * Naming convention: <brand>-<class> per ADR-002.
 */

/*
 * Base body rule lives UNLAYERED with a `html body` compound selector for
 * the cascade-priority reason explained in tokens.css.template's layer
 * declaration. WordPress core (wp-block-library) and Kadence both ship
 * unlayered `body { font-family: ... }` rules; an `@layer components`-
 * wrapped body rule loses to ANY unlayered author rule regardless of
 * specificity or source order. Bumping to `html body` (specificity
 * 0,0,2) lets the runtime's brand font win on specificity against the
 * theme's `body` (0,0,1) selectors that load later in the cascade.
 */
html body {
	font-family: var(--isjac-font-body);
	font-size: var(--isjac-font-size-body);
	line-height: var(--isjac-baseline);
	color: var(--isjac-text-primary);
	/* Page-surface gradient is canonical per brand-guide §05. `background-
	 * attachment: fixed` keeps the lit corners anchored on long-scrolling
	 * pages so the gradient doesn't repeat every viewport-height. */
	background: var(--isjac-page-background);
	background-attachment: fixed;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/*
 * Kadence's `.content-bg` ships as `background: #fff` AND a card-style
 * box-shadow ("boxed content" treatment). Both fight brand spec, which
 * uses paper as the page surface — the residual shadow under transparent
 * content reads as a stray horizontal divider near the footer.
 *
 * Override at compound specificity (0,2,0) so we don't escalate to !important.
 */
.entry.content-bg,
.entry.content-bg.single-entry {
	background: transparent;
	box-shadow: none;
}

/* Kadence's secondary content wrappers also paint #fff in some templates. */
.content-wrap,
.entry-content-wrap,
.content-style-unboxed .entry-content-wrap {
	background: transparent;
}

/*
 * Block separator — brand hairline, always.
 *
 * Brand-guide §A section dividers are 1px `--isjac-color-rule`. Gutenberg's
 * `core/separator` ships three style variants (default, is-style-wide,
 * is-style-dots), each with its own thickness. Normalize all three to the
 * hairline so the editor can't drift this just by toggling a block style.
 * Width tracks the variant: default sits at body width, `is-style-wide`
 * spans wide-content. Color and weight stay constant.
 */
hr.wp-block-separator,
.entry-content hr.wp-block-separator {
	background: var(--isjac-color-rule);
	border: 0;
	height: 1px;
	opacity: 1;
}

/* Selection color — brand-deep on brand-wash for legibility. */
::selection {
	background: var(--isjac-color-brand-deep);
	color: var(--isjac-color-paper);
}

/* Reduce motion — respect user preference for any transitions we add. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important; /* stylelint-disable-line declaration-no-important — required by spec */
		transition-duration: 0.01ms !important; /* stylelint-disable-line declaration-no-important — required by spec */
	}
}
