/*
Theme Name: BotGear Community
Theme URI: https://community.botgear.ai/
Description: The BotGear community site's theme: botgear.ai's dark slate and sky look as a Twenty Twenty-Five child theme. Kept in git (cloudseeder apps/wordpress/themes/botgear-community) and mounted read-only.
Author: BotGear
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: botgear-community
*/

/* Dark only, like botgear.ai: native controls and scrollbars match. */
:root { color-scheme: dark; }

body { -webkit-font-smoothing: antialiased; }

/* Keyboard focus is always visible (WCAG 2.4.7). */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ---- Header: sticky, translucent, blurred (botgear.ai's nav bar) ---- */
.bg-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgb(15 23 42 / 0.75);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgb(30 41 59 / 0.6);
}
.admin-bar .bg-header { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .bg-header { top: 0; } }
.bg-header .bg-brand img { border-radius: 8px; }
.bg-header .bg-brand-accent { color: var(--wp--preset--color--accent-1); }
.bg-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}

/* ---- Cards (botgear.ai's .rlx-card: slate-800 border, slate-900/60, blur) ---- */
.bg-card {
	height: 100%;
	box-sizing: border-box;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--accent-5);
	border-radius: var(--wp--custom--radius--card);
	background: rgb(15 23 42 / 0.6);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.bg-card:hover { border-color: var(--wp--preset--color--accent-6); transform: translateY(-2px); }
.bg-card .wp-block-post-featured-image { margin: 0; }
.bg-card .wp-block-post-featured-image img { border-radius: 0; }
.bg-card .bg-card-body { padding: 1.25rem 1.4rem 1.5rem; }
.bg-card .wp-block-post-title a { color: var(--wp--preset--color--white); }
.bg-card .wp-block-post-title a:hover { color: var(--wp--preset--color--sky-300); text-decoration: none; }
.bg-card .wp-block-post-excerpt__excerpt { margin: 0; }
.wp-block-post-template.is-layout-grid > li { height: 100%; }

/* Placeholder when a card has no image yet. */
.bg-card .wp-block-post-featured-image:empty { display: none; }

/* ---- Small uppercase label above titles (botgear.ai's section eyebrows) ---- */
.bg-eyebrow {
	color: var(--wp--preset--color--accent-1);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0;
}
.bg-eyebrow a { color: inherit; }

/* ---- Hero ---- */
.bg-hero { position: relative; overflow: hidden; }
.bg-hero::before {
	content: "";
	position: absolute;
	inset: -40% -10% auto;
	height: 120%;
	background: radial-gradient(ellipse at top, rgb(56 189 248 / 0.16), transparent 60%);
	pointer-events: none;
}
.bg-hero > * { position: relative; }
.bg-hero .bg-hero-logo img { animation: bg-float 6s ease-in-out infinite; }
@keyframes bg-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.bg-gradient-text {
	background: linear-gradient(90deg, #38bdf8, #34d399, #38bdf8);
	background-size: 200% auto;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
}

/* Outline button (botgear.ai's secondary action). */
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--accent-6);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--accent-4);
	color: var(--wp--preset--color--white);
	background: transparent;
}

/* ---- Article content ---- */
.wp-block-post-content :where(h2) { margin-top: 2.75rem; }
.wp-block-post-content :where(h3) { margin-top: 2rem; }
.wp-block-post-content :where(p, li) { color: var(--wp--preset--color--contrast); }
.wp-block-post-content :where(code):not(pre code) {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.875em;
	padding: 0.15em 0.4em;
	border: 1px solid var(--wp--preset--color--accent-5);
	border-radius: 6px;
	background: var(--wp--preset--color--accent-3);
}
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th, .wp-block-table td { padding: 0.6rem 0.75rem; border: 1px solid var(--wp--preset--color--accent-6); text-align: left; }
.wp-block-table thead { border-bottom: 0; background: var(--wp--preset--color--accent-3); }
.wp-block-embed iframe { border-radius: var(--wp--custom--radius--card); }

/* ---- Footer ---- */
.bg-footer { border-top: 1px solid rgb(30 41 59 / 0.6); }
.bg-footer, .bg-footer a { color: var(--wp--preset--color--accent-4); }
.bg-footer a:hover { color: var(--wp--preset--color--white); }
.bg-footer .wp-block-social-links .wp-social-link { color: var(--wp--preset--color--accent-4); }
.bg-footer .wp-block-social-links .wp-social-link:hover { color: var(--wp--preset--color--white); }

/* Pagination as small pills. */
.wp-block-query-pagination .page-numbers {
	padding: 0.35rem 0.7rem;
	border-radius: 6px;
	border: 1px solid var(--wp--preset--color--accent-5);
}
.wp-block-query-pagination .page-numbers.current { border-color: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--white); }

/* Search field on dark. */
.wp-block-search__input {
	background: var(--wp--preset--color--accent-3);
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: var(--wp--custom--radius--control);
}

@media (prefers-reduced-motion: reduce) {
	.bg-hero .bg-hero-logo img { animation: none; }
	.bg-card, .bg-card:hover { transition: none; transform: none; }
}
