/* =========================================================
   HEADER
   Blanca Sosa World Lawyer
========================================================= */

.bs-header {

	position:
		relative;

	z-index:
		1000;

	width:
		100%;

	background:
		var(--bs-cream);

	border-bottom:
		1px solid rgba(25, 55, 95, 0.06);
}


/* Inner
========================================================= */

.bs-header__inner {

	min-height:
		var(--bs-header-height);

	display:
		flex;

	align-items:
		center;

	justify-content:
		space-between;

	gap:
		40px;
}


/* Brand
========================================================= */

.bs-header__brand {

	display:
		flex;

	align-items:
		center;

	flex-shrink:
		0;
}


.bs-header__brand .custom-logo-link {

	display:
		flex;

	align-items:
		center;
}


.bs-header__brand .custom-logo {

	width:
		auto;

	max-width:
		115px;

	max-height:
		72px;

	object-fit:
		contain;
}


.bs-header__brand-fallback {

	display:
		flex;

	flex-direction:
		column;

	line-height:
		1.05;
}


.bs-header__brand-name {

	font-family:
		var(--bs-font-title);

	font-size:
		1.35rem;

	font-weight:
		700;

	color:
		var(--bs-navy);
}


.bs-header__brand-tagline {

	margin-top:
		4px;

	font-size:
		0.67rem;

	text-transform:
		uppercase;

	letter-spacing:
		0.14em;

	color:
		var(--bs-gold);
}


/* Navigation
========================================================= */

.bs-header__nav {
	margin-left: auto;
}


.bs-header__menu {

	display:
		flex;

	align-items:
		center;

	gap:
		clamp(28px, 4vw, 52px);

	margin:
		0;

	padding:
		0;

	list-style:
		none;
}


.bs-header__menu li {
	margin: 0;
}


.bs-header__menu a {

	position:
		relative;

	display:
		inline-flex;

	align-items:
		center;

	min-height:
		44px;

	color:
		var(--bs-navy);

	font-size:
		1rem;

	font-weight:
		700;

	letter-spacing:
		0.01em;
}


.bs-header__menu a::after {

	content:
		'';

	position:
		absolute;

	left:
		0;

	right:
		100%;

	bottom:
		4px;

	height:
		2px;

	background:
		var(--bs-gold);

	transition:
		right var(--bs-transition);
}


.bs-header__menu a:hover {
	color: var(--bs-gold);
}


.bs-header__menu a:hover::after,
.bs-header__menu .current-menu-item > a::after {
	right: 0;
}


/* Mobile Toggle
========================================================= */

.bs-menu-toggle {

	display:
		none;

	width:
		46px;

	height:
		46px;

	padding:
		10px;

	flex-direction:
		column;

	justify-content:
		center;

	gap:
		5px;

	background:
		transparent;

	border:
		0;

	cursor:
		pointer;
}


.bs-menu-toggle span {

	display:
		block;

	width:
		100%;

	height:
		2px;

	background:
		var(--bs-navy);

	border-radius:
		10px;

	transition:
		transform var(--bs-transition),
		opacity var(--bs-transition);
}


/* Mobile Navigation
========================================================= */

.bs-mobile-nav {
	display: none;
}


.bs-mobile-nav__menu {

	margin:
		0;

	padding:
		10px 0 24px;

	list-style:
		none;
}


.bs-mobile-nav__menu a {

	display:
		block;

	padding:
		13px 0;

	border-bottom:
		1px solid var(--bs-border);

	color:
		var(--bs-navy);

	font-weight:
		700;
}