/**
 * PPB Core — shared theme baseline (hub + venue).
 *
 * Themes keep identity only: --ppb-color-surface-page, heading weight,
 * --font-* / --ppb-font-weight-display-*, logo rules.
 */

body {
	margin: 0;
	font-family: var(--font-body, "Josefin Sans", system-ui, sans-serif);
	line-height: var(--ppb-leading-normal, 1.5);
	color: var(--ppb-color-text, #1a1a1a);
	background: var(--ppb-color-surface-page, #f7f6f2);
}

.ppb-wrap {
	max-width: var(--ppb-layout-max-width, 1460px);
	margin-inline: auto;
	padding: 1.5rem;
}

.ppb-heading {
	font-family: var(--font-display, var(--font-body, "Josefin Sans", sans-serif));
	font-weight: var(--ppb-font-weight-display-soft, 600);
	color: var(--color-primary, #917145);
}

a {
	color: var(--color-secondary, #1e374b);
	text-underline-offset: 0.2em;
	transition:
		color var(--ppb-transition-base),
		text-decoration-color var(--ppb-transition-base);
}

a:hover,
a:focus-visible {
	color: color-mix(in srgb, var(--color-secondary) 82%, black);
}
