@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&display=swap');

.fudesup-header {
	--fudesup-primary: #841c1f;
	--fudesup-menu: #2f3236;
	position: relative;
	z-index: 150;
	width: 100%;
	font-family: Barlow, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.fudesup-header--sticky {
	position: sticky;
	top: 0;
}

.admin-bar .fudesup-header--sticky { top: 32px; }
.fudesup-header * { box-sizing: border-box; }
.fudesup-header a { text-decoration: none; }

.fudesup-header__container {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding-right: 32px;
	padding-left: 32px;
}

.fudesup-header__topbar {
	background: var(--fudesup-primary);
	color: #f3dede;
	font-size: 12.5px;
}

.fudesup-header__topbar-inner {
	min-height: 38px;
	display: flex;
	align-items: center;
	gap: 24px;
}

.fudesup-header__contact,
.fudesup-header__quick-links {
	display: flex;
	align-items: center;
	gap: 0;
}

.fudesup-header__contact > * + *::before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 13px;
	margin: 0 24px;
	vertical-align: -2px;
	background: rgba(255,255,255,.35);
}

.fudesup-header__topbar a { color: #fff; }
.fudesup-header__topbar a:hover { color: #fff; }

.fudesup-header__quick-links {
	margin-left: auto;
	gap: 22px;
}

.fudesup-header__quick-links a {
	font-weight: 600;
	border-bottom: 1px solid rgba(255,255,255,.45);
}

.fudesup-header__main {
	background: #fff;
	border-bottom: 1px solid #e4e0dc;
	box-shadow: 0 2px 10px rgba(28,24,22,.025);
}

.fudesup-header__main-inner {
	min-height: 82px;
	display: flex;
	align-items: center;
	gap: 30px;
}

.fudesup-header__logo {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

.fudesup-header__logo img {
	display: block;
	width: 66px;
	height: auto;
}

.fudesup-header__site-name {
	color: var(--fudesup-primary);
	font-size: 20px;
	font-weight: 700;
}

.fudesup-header__navigation {
	display: flex;
	align-items: center;
	gap: 26px;
	min-width: 0;
	flex: 1;
}

.fudesup-header__navigation nav { min-width: 0; flex: 1; }
.fudesup-header__menu { width: 100%; margin: 0; padding: 0; list-style: none; display: flex; align-items: center; gap: 21px; }
.fudesup-header__menu > li { position: relative; margin: 0; padding: 0; }
.fudesup-header__menu > li > a {
	display: block;
	padding: 29px 0 27px;
	border-bottom: 2px solid transparent;
	color: var(--fudesup-menu);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	transition: color .2s ease, border-color .2s ease;
}

.fudesup-header__menu > li:hover > a,
.fudesup-header__menu > .current-menu-item > a,
.fudesup-header__menu > .current-menu-ancestor > a {
	color: var(--fudesup-primary);
	border-bottom-color: var(--fudesup-primary);
}

.fudesup-header__menu .sub-menu {
	position: absolute;
	top: calc(100% - 1px);
	left: -18px;
	display: block;
	min-width: 220px;
	margin: 0;
	padding: 10px;
	list-style: none;
	background: #fff;
	border: 1px solid #e4e0dc;
	border-radius: 0 0 8px 8px;
	box-shadow: 0 12px 28px rgba(22,18,17,.1);
	opacity: 0;
	visibility: hidden;
	transform: translateY(7px);
	transition: .2s ease;
}

.fudesup-header__menu li:hover > .sub-menu,
.fudesup-header__menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.fudesup-header__menu .sub-menu a { display: block; padding: 9px 10px; border-radius: 5px; color: var(--fudesup-menu); font-size: 13.5px; }
.fudesup-header__menu .sub-menu a:hover { background: #f5f2ef; color: var(--fudesup-primary); }

.fudesup-header__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin-left: auto;
	padding: 10px 21px;
	border-radius: 6px;
	background: var(--fudesup-primary);
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.fudesup-header__cta:hover { transform: translateY(-1px); box-shadow: 0 7px 16px rgba(132,28,31,.18); }
.fudesup-header__toggle { display: none; }
.fudesup-header__empty { color: #777; font-size: 13px; }

@media (max-width: 1080px) {
	.fudesup-header__menu { gap: 14px; }
	.fudesup-header__main-inner { gap: 22px; }
}

@media (max-width: 900px) {
	.admin-bar .fudesup-header--sticky { top: 46px; }
	.fudesup-header__container { padding-right: 22px; padding-left: 22px; }
	.fudesup-header__topbar-inner { min-height: 36px; }
	.fudesup-header__contact > span { display: none; }
	.fudesup-header__contact > * + *::before { margin: 0 14px; }
	.fudesup-header__quick-links a:first-child { display: none; }
	.fudesup-header__main-inner { min-height: 72px; justify-content: space-between; }
	.fudesup-header__logo img { width: 58px; }
	.fudesup-header__toggle {
		display: flex;
		width: 42px;
		height: 42px;
		padding: 10px;
		border: 1px solid #ddd7d2;
		border-radius: 6px;
		background: #fff;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		cursor: pointer;
	}
	.fudesup-header__toggle span { display: block; width: 100%; height: 2px; background: var(--fudesup-primary); transition: .2s ease; }
	.fudesup-header__navigation {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		padding: 18px 22px 24px;
		background: #fff;
		border-bottom: 1px solid #e4e0dc;
		box-shadow: 0 16px 25px rgba(22,18,17,.1);
	}
	.fudesup-header.is-open .fudesup-header__navigation { display: block; }
	.fudesup-header.is-open .fudesup-header__toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.fudesup-header.is-open .fudesup-header__toggle span:nth-child(2) { opacity: 0; }
	.fudesup-header.is-open .fudesup-header__toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.fudesup-header__navigation nav { width: 100%; }
	.fudesup-header__menu { display: block; width: 100%; }
	.fudesup-header__menu > li { border-bottom: 1px solid #eeeae7; }
	.fudesup-header__menu > li > a { padding: 12px 2px; border: 0; white-space: normal; }
	.fudesup-header__menu .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 8px 14px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
	.fudesup-header__cta { width: 100%; margin-top: 18px; }
}

@media (max-width: 600px) {
	.fudesup-header__topbar-inner { padding-top: 7px; padding-bottom: 7px; }
	.fudesup-header__contact a[href^="mailto:"] { display: none; }
	.fudesup-header__quick-links { margin-left: auto; }
	.fudesup-header__quick-links a { font-size: 11.5px; }
}

@media (max-width: 420px) {
	.fudesup-header__contact a[href^="tel:"] { font-size: 11.5px; }
	.fudesup-header__quick-links { display: none; }
}
