/**
 * Our Local Collective — shared design tokens
 * Enqueued by the theme for marketing + content pages.
 * Plugin shortcodes may rely on matching values in their own CSS until fully migrated.
 */

:root {
	--olc-navy: #1b2a5e;
	--olc-navy-deep: #0f1733;
	--olc-navy-mid: #243b7a;
	--olc-gold: #c9a227;
	--olc-gold-deep: #a8861a;
	--olc-ink: #152033;
	--olc-muted: #5c6575;
	--olc-line: #d5dbe6;
	--olc-paper: #ffffff;
	--olc-soft: #f3f5f9;
	--olc-shell: 1120px;
	--olc-header-h: 56px;
	--olc-display: "Barlow Condensed", "Arial Narrow", sans-serif;
	--olc-body: "Source Sans 3", "Segoe UI", sans-serif;
	--olc-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--olc-focus: #c9a227;
	--olc-radius: 4px;
}

.olc-shell {
	width: min(calc(100% - 40px), var(--olc-shell));
	margin: 0 auto;
}

.olc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 20px;
	border-radius: var(--olc-radius);
	font-family: var(--olc-display);
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-decoration: none;
	text-transform: uppercase;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 0.25s var(--olc-ease), background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.olc-btn:hover {
	transform: translateY(-2px);
}

.olc-btn--gold {
	background: linear-gradient(180deg, var(--olc-gold) 0%, var(--olc-gold-deep) 100%);
	color: var(--olc-navy-deep);
	border-color: rgba(0, 0, 0, 0.08);
}

.olc-btn--navy {
	background: var(--olc-navy);
	color: #fff;
}

.olc-btn--ghost {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, 0.55);
}

.olc-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: #fff;
}

.olc-btn--ghost-light {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, 0.4);
}

.olc-btn--ghost-ink {
	background: transparent;
	color: var(--olc-navy);
	border-color: var(--olc-line);
}

.olc-btn--ghost-ink:hover {
	border-color: var(--olc-navy);
	background: var(--olc-soft);
}

.olc-eyebrow {
	margin: 0 0 10px;
	font-family: var(--olc-display);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--olc-gold-deep);
}

.olc-eyebrow--on-dark {
	color: var(--olc-gold);
}

/* Focus system */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
.olc-btn:focus-visible,
.olc-nav a:focus-visible {
	outline: 2px solid var(--olc-focus);
	outline-offset: 3px;
}

.olc-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 10000;
	padding: 10px 16px;
	background: var(--olc-gold);
	color: var(--olc-navy-deep);
	font-family: var(--olc-display);
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.olc-skip:focus {
	left: 12px;
	top: 12px;
}
