/*
Theme Name: HIVE Sprint
Theme URI: https://yoursite.com
Author: Your Name
Author URI: https://yoursite.com
Description: Custom theme for multiple pages and content
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hivesprint
*/

/* Minimal reset – layout and typography come from Tailwind / .hivesprint-ui */
body {
	margin: 0;
	padding: 0;
}

/* ----- HIVEsprint-only styles ----- */

/* Global page wrap: white base with subtle HIVE cyan→blue depth */
.hero-gradient {
	background-color: #ffffff;
	background-image:
		radial-gradient(circle at 0% 0%, rgba(14, 165, 233, 0.10) 0%, transparent 55%),
		radial-gradient(circle at 100% 100%, rgba(37, 99, 235, 0.08) 0%, transparent 55%),
		radial-gradient(circle at 60% 10%, rgba(59, 130, 246, 0.05) 0%, transparent 45%);
	background-repeat: no-repeat;
}

/* Soft section surface that still feels "white" but branded */
.section-surface {
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.015) 0%, rgba(15, 23, 42, 0) 35%);
	border-top: 1px solid rgba(148, 163, 184, 0.25); /* slate-400 @ low opacity */
}

/* Brand-consistent link styling (used for "View details") */
.hive-link {
	color: #0369a1; /* sky-700 */
}
.hive-link:hover {
	color: #0c4a6e; /* sky-900 */
}

/* Hero headline accent */
.asset-text {
	color: #e2e8f0;
	font-weight: 600;
}

/* ----- Shared dark hero: mesh gradient + animated radial glows (front page, QE, etc.) ----- */
.hero-dark-mesh {
	position: relative;
	background-color: #020617; /* slate-950 */
	min-height: 70vh;
	display: flex;
	align-items: center;
	overflow: hidden;
}

/* Case study typography: Inter primary font */
.hivesprint-case-study {
	font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* Blog typography: Inter primary font */
.hivesprint-blog-detail {
	font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}
.hero-dark-mesh::before,
.hero-dark-mesh::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.hero-dark-mesh::before {
	background: radial-gradient(
		ellipse 80% 60% at 15% 20%,
		rgba(14, 165, 233, 0.38) 0%,
		rgba(14, 165, 233, 0.14) 42%,
		transparent 70%
	);
	animation: hero-glow-cyan 8s ease-in-out infinite;
}
.hero-dark-mesh::after {
	background:
		radial-gradient(
			ellipse 70% 50% at 85% 30%,
			rgba(37, 99, 235, 0.30) 0%,
			rgba(37, 99, 235, 0.10) 48%,
			transparent 70%
		),
		radial-gradient(
			ellipse 60% 70% at 70% 85%,
			rgba(99, 102, 241, 0.22) 0%,
			rgba(99, 102, 241, 0.07) 52%,
			transparent 72%
		);
	animation: hero-glow-blue-indigo 10s ease-in-out infinite;
}
@keyframes hero-glow-cyan {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.85; transform: scale(1.05); }
}
@keyframes hero-glow-blue-indigo {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.9; }
}
.hero-dark-mesh .hero-content {
	position: relative;
	z-index: 1;
}
/* Dark hero paragraph highlight (e.g. QE hero) */
.hero-dark-mesh .hero-content p span {
	color: #34d399; /* emerald-400 */
}

/* Service templates (QE, Testing of AI, etc.): smaller hero, padding set in template */
.hero-dark-mesh--compact {
	min-height: 50vh;
}

/* Pillar cards: active states (JS toggles .pillar-active-* on .pillar-node) */
.pillar-node.pillar-active-amber {
	border-color: #0284c7; /* sky-600 */
	box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.20), 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.pillar-node.pillar-active-blue {
	border-color: #2563eb; /* blue-600 */
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.20), 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.pillar-node.pillar-active-emerald {
	border-color: #0891b2; /* cyan-600 */
	box-shadow: 0 0 0 2px rgba(8, 145, 178, 0.20), 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.pillar-node.pillar-active-indigo {
	border-color: #6366f1;
	box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.20), 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* Mega menu: per-pillar flyouts (sub-services) */
.qe-trigger > .qe-flyout {
	display: none;
}
.qe-trigger:hover > .qe-flyout {
	display: block;
}

/* Reusable highlight card: slate-800/90 background, same dimensions as First 30 Days–style cards */
.hivesprint-highlight-card {
	background-color: #f8fafc; /* light slate-50 tint */
	padding: 1.5rem;
	border-radius: 0.75rem;
	border: 1px solid #e2e8f0; /* slate-200 */
	box-shadow: 0 18px 45px -20px rgba(15, 23, 42, 0.18);
}

/* ----- Mobile menu: drawer + overlay ----- */
.mobile-menu-overlay {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.mobile-menu-overlay.mobile-menu-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.mobile-menu-drawer {
	transform: translateX(100%);
	transition: transform 0.3s ease;
}
.mobile-menu-drawer.mobile-menu-open {
	transform: translateX(0);
}
.mobile-nav-list .sub-menu {
	list-style: none;
	padding-left: 1rem;
	margin-top: 0.25rem;
	margin-bottom: 0.5rem;
}
.mobile-nav-list .sub-menu a {
	display: block;
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	color: #475569;
}
.mobile-nav-list a {
	display: block;
	padding: 0.625rem 0.75rem;
	color: #334155;
	font-weight: 500;
	border-radius: 0.375rem;
}
.mobile-nav-list a:hover {
	background-color: #f8fafc;
}

/* ----- Footer v2 (fallback if Tailwind loads late or is cached) ----- */
.hivesprint-footer-v2 {
	background-color: #fff;
	border-top: 1px solid #f1f5f9;
	padding: 6rem 1.5rem;
	text-align: left;
}
.hivesprint-footer-v2 .max-w-7xl {
	max-width: 80rem;
	margin-left: auto;
	margin-right: auto;
}
.hivesprint-footer-v2 .grid {
	display: grid;
	gap: 4rem;
}
@media (min-width: 1024px) {
	.hivesprint-footer-v2 .lg\:grid-cols-12 {
		grid-template-columns: repeat(12, minmax(0, 1fr));
	}
	.hivesprint-footer-v2 .lg\:col-span-5 {
		grid-column: span 5 / span 5;
	}
	.hivesprint-footer-v2 .lg\:col-span-7 {
		grid-column: span 7 / span 7;
	}
	.hivesprint-footer-v2 .lg\:gap-24 {
		gap: 6rem;
	}
}
@media (min-width: 640px) {
	.hivesprint-footer-v2 .sm\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.hivesprint-footer-v2 .flex {
	display: flex;
}
.hivesprint-footer-v2 .flex-col {
	flex-direction: column;
}
@media (min-width: 768px) {
	.hivesprint-footer-v2 .md\:flex-row {
		flex-direction: row;
	}
}
.hivesprint-footer-v2 .footer-link {
	position: relative;
	transition: all 0.3s ease;
}
.hivesprint-footer-v2 .footer-link:hover {
	padding-left: 4px;
}
.hivesprint-footer-v2 i[data-lucide] {
	width: 18px !important;
	height: 18px !important;
	stroke-width: 2;
	display: inline-block !important;
	vertical-align: middle;
}
.hivesprint-footer-v2 p {
	margin-bottom: 0 !important;
}

/* ----- Header primary nav layout fixes ----- */
header nav[aria-label="Primary"] {
	flex-wrap: nowrap; /* prevent primary items from wrapping into multiple rows */
}

header nav[aria-label="Primary"] > * {
	white-space: nowrap; /* keep each top-level item on a single line */
}
