/*
 * Cyber Centaurs Bricks header support styles.
 * Intended for Bricks global classes on the "Cyber Centaurs -- Header" template.
 * Uses existing design variables and keeps custom CSS narrowly scoped.
 */

.cc-site-header {
	position: relative;
	z-index: 20;
	width: 100%;
	font-family: "IBM Plex Sans", sans-serif;
}

.cc-header-container {
	width: min(100% - clamp(32px, 5vw, 80px), 1400px);
	margin-inline: auto;
}

.cc-utility-bar {
	min-height: 32px;
	background: var(--cc-purple-deep);
	color: var(--cc-text-light);
	font-family: "IBM Plex Sans", sans-serif;
}

.cc-utility-bar__inner {
	min-height: 32px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.cc-utility-bar__label {
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.78;
}

.cc-utility-bar__phone {
	color: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	text-decoration: none;
	white-space: nowrap;
}

.cc-primary-header {
	background: var(--cc-bg-primary);
}

.cc-primary-header__inner {
	min-height: 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(20px, 3vw, 48px);
}

.cc-header-logo {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	max-width: min(300px, 58vw);
}

.cc-header-logo img,
.cc-header-logo svg {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 42px;
}

.cc-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(18px, 2.4vw, 34px);
	margin-left: auto;
}

.cc-primary-nav {
	display: flex;
	align-items: center;
}

.cc-primary-nav nav,
.cc-primary-nav ul {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2vw, 30px);
}

.cc-primary-nav a {
	color: var(--cc-text-light);
	font-family: "IBM Plex Sans", sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.cc-primary-nav a:hover,
.cc-primary-nav a:focus-visible {
	color: var(--cc-purple-accent);
}

.cc-header-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border: 1px solid var(--cc-purple);
	background: var(--cc-purple);
	color: var(--cc-text-light);
	font-family: "IBM Plex Sans", sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	text-decoration: none;
	white-space: nowrap;
}

.cc-header-cta:hover,
.cc-header-cta:focus-visible {
	border-color: var(--cc-purple-accent);
	background: var(--cc-purple-accent);
	color: var(--cc-bg-primary);
}

.cc-mobile-menu-toggle {
	display: none;
}

@media (max-width: 991px) {
	.cc-utility-bar__inner {
		justify-content: center;
	}

	.cc-primary-header__inner {
		min-height: 76px;
	}

	.cc-primary-nav {
		display: none;
	}

	.cc-mobile-menu-toggle {
		display: inline-flex;
	}

	.cc-header-actions {
		gap: 12px;
	}
}

@media (max-width: 640px) {
	.cc-header-container {
		width: min(100% - 32px, 1400px);
	}

	.cc-utility-bar__inner {
		flex-wrap: wrap;
		row-gap: 2px;
		padding-block: 6px;
		text-align: center;
	}

	.cc-primary-header__inner {
		min-height: 76px;
	}

	.cc-header-cta {
		min-height: 38px;
		padding-inline: 12px;
		font-size: 13px;
	}
}
