/* Custom overrides — kept separate from vendor consultix CSS. */

/* ---------------------------------------------------------------- */
/* Hero slider: dark overlay so text stays legible over any photo   */
/* ---------------------------------------------------------------- */

.banner-section .slide {
	background-color: #0c1116;
}

.banner-section .slide:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background: rgba(10, 14, 18, 0.62);
}

.banner-section .content-column {
	z-index: 2;
}

.banner-section .content-column .title {
	color: #ffffff;
}

.banner-section .content-column h1 {
	color: #ffffff;
}

.banner-section .content-column h1 span {
	color: #6fcf97;
}

.banner-section .content-column .text {
	color: #d9dee2;
}

/* ---------------------------------------------------------------- */
/* Vertically centre the logo against the nav row. The vendor CSS    */
/* sized this row around the tall logo.png; the text logo is short,  */
/* so logo-box and nav-outer need an explicit shared centre line.    */
/* ---------------------------------------------------------------- */

.main-header .header-upper .inner-container {
	display: flex;
	align-items: center;
	gap: 40px;
}

.main-header .header-upper .logo-box {
	float: none;
}

.main-header .header-upper .nav-outer {
	float: none;
	padding-left: 0;
}

/* ---------------------------------------------------------------- */
/* Logo — text fallback, or a configured image (APP_LOGO). Both are  */
/* capped in size so either one keeps the header row's height (and   */
/* therefore the flex-centred alignment above) stable regardless of  */
/* what's uploaded.                                                  */
/* ---------------------------------------------------------------- */

.text-logo {
	display: inline-block;
	font-family: 'Heebo', sans-serif;
	font-weight: 700;
	font-size: 26px;
	line-height: 1;
	color: #000000;
	letter-spacing: -0.01em;
}

.logo-image {
	display: inline-block;
	max-height: 40px;
	width: auto;
}

.main-header .mobile-menu .nav-logo .text-logo {
	font-size: 22px;
}

.main-header .mobile-menu .nav-logo .logo-image {
	max-height: 32px;
}

.main-footer .logo-widget .logo-image {
	max-height: 36px;
}

/* ---------------------------------------------------------------- */
/* Mobile nav toggler: a clearer, deliberately-styled tap target     */
/* ---------------------------------------------------------------- */

@media only screen and (max-width: 800px) {
	.main-header .outer-box {
		display: flex;
		align-items: center;
		top: 0;
		bottom: 0;
	}

	.outer-box .mobile-nav-toggler {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		margin: 0 !important;
		padding: 0 !important;
		border: 1px solid rgba(0, 0, 0, 0.15);
		border-radius: 6px;
		font-size: 22px !important;
	}
}
