/*
 * Botcrawl 4.29.0 presentation layer.
 *
 * This file intentionally contains visual tokens and component overrides only.
 * Existing templates, Core data contracts, menus, search, maps, and submission
 * behavior remain owned by the working 4.28.0 code.
 */

:root {
	--bc-font: "Manrope", Arial, sans-serif;
	--bc-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	--bc-text: #17191c;
	--bc-text-soft: #4c555d;
	--bc-muted: #687178;
	--bc-accent: #14e21c;
	--bc-accent-dark: #0dad14;
	--bc-surface: #fff;
	--bc-surface-alt: #f5f7f8;
	--bc-surface-dark: #17191b;
	--bc-border: #dfe4e7;
	--bc-header-bg: #000;
	--bc-header-text: #fff;
	--bc-footer-bg: #111;
	--bc-footer-text: #b0b0b0;
	--bc-radius: 10px;
	--bc-radius-sm: 7px;
	--bc-shadow: 0 12px 34px rgba(17, 24, 39, .08);
}

body {
	font-family: var(--bc-font);
	letter-spacing: -.01em;
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid var(--bc-accent);
	outline-offset: 3px;
}

.bc-header {
	color: var(--bc-header-text);
	background: var(--bc-header-bg);
	border-bottom: 1px solid rgba(255, 255, 255, .13);
	box-shadow: none;
}

.bc-header__inner,
.bc-footer__bottom {
	min-height: 76px;
}

.bc-brand-logo,
.bc-brand-logo:hover {
	gap: 8px;
	color: #fff;
	font-family: var(--bc-font);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1;
	text-decoration: none;
}

.bc-brand-logo__accent {
	fill: var(--bc-accent);
}

.bc-nav__menu > li > a,
.bc-header-search-toggle,
.bc-nav-toggle {
	min-height: 44px;
	color: #dfe4e1;
	border-radius: 7px;
	font-size: .9rem;
	font-weight: 700;
}

.bc-nav__menu > li > a:hover,
.bc-nav__menu > li.current-menu-item > a,
.bc-header-search-toggle:hover,
.bc-nav-toggle:hover {
	color: #fff;
	background: rgba(255, 255, 255, .08);
}

.bc-entry-header,
.bc-directory-spotlight,
.bc-page-intro,
.bc-error-page {
	color: #fff;
	background: var(--bc-surface-dark);
}

.bc-entry-header h1,
.bc-page-intro h1,
.bc-directory-spotlight h1,
.bc-error-page h1 {
	font-weight: 800;
	letter-spacing: -.06em;
	line-height: .98;
}

.bc-entry-header :is(p, .bc-entry__meta),
.bc-page-intro p,
.bc-directory-spotlight p {
	color: #b9c1bd;
}

.bc-entry-header .bc-eyebrow,
.bc-page-intro .bc-eyebrow,
.bc-directory-spotlight .bc-eyebrow,
.bc-eyebrow {
	color: var(--bc-accent);
	font-family: var(--bc-mono);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .12em;
}

.bc-card,
.bc-record-card,
.bc-widget,
.bc-entry__featured,
.bc-sidebar .wp-block-group,
.post-navigation a,
.comment-list .comment-body {
	border-color: var(--bc-border);
	border-radius: var(--bc-radius);
	box-shadow: none;
}

.bc-card:hover,
.bc-record-card:hover,
.post-navigation a:hover {
	border-color: #b8c2c7;
	box-shadow: var(--bc-shadow);
	transform: translateY(-2px);
}

.bc-button,
.bc-search-form__button,
.comment-form input[type="submit"],
.wp-element-button {
	min-height: 44px;
	padding: .65rem 1rem;
	color: #071208;
	border: 1px solid var(--bc-accent);
	border-radius: var(--bc-radius-sm);
	background: var(--bc-accent);
	font-family: var(--bc-font);
	font-weight: 800;
	transition: transform .16s ease, background .16s ease, border-color .16s ease;
}

.bc-button:hover,
.bc-search-form__button:hover,
.comment-form input[type="submit"]:hover,
.wp-element-button:hover {
	color: #071208;
	border-color: #3bf143;
	background: #3bf143;
	transform: translateY(-1px);
}

.bc-button:active,
.bc-search-form__button:active,
.comment-form input[type="submit"]:active,
.wp-element-button:active {
	transform: scale(.97);
}

.bc-search-form__field,
.comment-form input:not([type="submit"]),
.comment-form textarea {
	color: var(--bc-text);
	border-color: var(--bc-border);
	border-radius: var(--bc-radius-sm);
	background: #fff;
}

.bc-search-form__field:focus,
.comment-form input:not([type="submit"]):focus,
.comment-form textarea:focus {
	border-color: var(--bc-accent-dark);
	box-shadow: 0 0 0 3px rgba(20, 226, 28, .16);
}

.bc-footer {
	color: var(--bc-footer-text);
	background: var(--bc-footer-bg);
}

.bc-footer .bc-brand-logo,
.bc-footer .bc-brand-logo:hover,
.bc-footer .bc-widget__title {
	color: #fff;
}

.bc-footer a:hover {
	color: var(--bc-accent);
}

@media (max-width: 720px) {
	.bc-header__inner,
	.bc-footer__bottom {
		min-height: 68px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bc-card,
	.bc-record-card,
	.post-navigation a,
	.bc-button,
	.bc-search-form__button,
	.comment-form input[type="submit"],
	.wp-element-button {
		transition: none;
	}
}
