.mci-promotion-bar {
	position: relative;
	z-index: 100001;
	width: 100%;
	background: #0a648d;
	border-bottom: 0;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.mci-promotion-bar__inner {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 40px;
  max-width: 1280px;
  margin: 0 auto;
  width: 90%;
  padding: 8px 0px;
}

.mci-promotion-bar__message {
	grid-column: 1;
	text-align: left;
	white-space: nowrap;
}

.mci-promotion-bar__message a {
	color: inherit;
	text-decoration: none;
}

.mci-promotion-bar__message a:hover,
.mci-promotion-bar__message a:focus {
	text-decoration: underline;
}

.mci-promotion-bar__languages {
	grid-column: 3;
	display: inline-flex;
	justify-self: end;
	overflow: hidden;
	border-radius: 999px;
	background: #171717;
}

.mci-promotion-bar__languages a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 28px;
	padding: 4px 10px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.mci-promotion-bar__languages a.is-active {
	margin: 3px;
	min-width: 34px;
	min-height: 22px;
	padding: 3px 8px;
	border-radius: 999px;
	background: #fff;
	color: #171717;
}

@media (max-width: 1279px) and (min-width: 768px) {
	.mci-promotion-bar__inner {
		padding-right: 24px;
		padding-left: 24px;
	}
}

@media (max-width: 767px) {
  .mci-promotion-bar__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    width: 90%;
    min-height: auto;
    padding: 7px 0;
  }

  .mci-promotion-bar__message {
    grid-column: 1;
    min-width: 0;
    font-size: 11px;
    line-height: 1.3;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .mci-promotion-bar__languages {
    align-self: center;
    justify-self: end;
    flex-shrink: 0;
  }
}

@media (min-width: 768px) {
	.mci-promotion-bar--hide-desktop {
		display: none;
	}
}

/*
 * Applied to Divi's real header element by promotion-bar.js.
 * The value already includes Divi's native logged-in/logged-out top offset.
 */


/*
 * Use native sticky positioning instead of continuously changing `top`
 * during scroll. The promotion bar remains in normal document flow, so it
 * scrolls away first. The header then reaches the viewport top and sticks.
 */
.mci-native-sticky-header {
	position: sticky !important;
	top: var(--mci-native-sticky-top, 0px) !important;
	z-index: 99999 !important;
}

/*
 * Divi reserves space for its fixed header on #page-container.
 * Remove that space only when the promotion bar is rendered.
 */
body:has(.mci-promotion-bar).et_fixed_nav.et_show_nav #page-container {
	padding-top: 0 !important;
}

/*
 * Sticky-header offsets:
 * - Logged out: viewport top
 * - Logged in desktop: below the fixed WordPress admin bar
 * - Logged in mobile: viewport top because the mobile admin bar scrolls away
 */
body:not(.admin-bar) .mci-native-sticky-header {
	--mci-native-sticky-top: 0px !important;
}

body.admin-bar .mci-native-sticky-header {
	--mci-native-sticky-top: 32px !important;
}

@media (max-width: 782px) {
	body.admin-bar .mci-native-sticky-header {
		--mci-native-sticky-top: 0px !important;
	}
}

/* Account menu beside the language switcher. */
.mci-promotion-bar__controls {
	grid-column: 2;
	display: inline-flex;
	align-items: center;
	justify-self: end;
	gap: 8px;
}

.mci-promotion-bar__controls .mci-promotion-bar__languages {
	grid-column: auto;
}

.mci-account-menu {
	position: relative;
	flex: 0 0 auto;
}

.mci-account-menu__toggle {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-width: 32px;
	padding: 0;
	border: 2px solid rgba(255,255,255,.9);
	border-radius: 999px;
	background: #171717;
	color: #fff;
	box-shadow: none;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.mci-account-menu__toggle:hover,
.mci-account-menu__toggle:focus-visible,
.mci-account-menu.is-open .mci-account-menu__toggle {
	border-color: #fff;
	background: #1688b8;
	outline: none;
}

.mci-account-menu__toggle svg {
	display: block;
	width: 17px;
	height: 17px;
	fill: currentColor;
}

.mci-account-menu::after {
	content: "";
	position: absolute;
	top: 100%;
	right: 0;
	width: 100%;
	height: 22px;
}

.mci-account-menu__dropdown {
	position: absolute;
	top: calc(100% + 20px);
	right: 0;
	z-index: 100010;
	display: none;
	min-width: 190px;
	padding: 7px;
	border: 1px solid #cfe0ea;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 14px 38px rgba(14,36,54,.16);
}

.mci-account-menu__dropdown::before {
	content: "";
	position: absolute;
	right: 10px;
	bottom: 100%;
	width: 18px;
	height: 10px;
}

.mci-account-menu__dropdown a {
	display: block;
	padding: 9px 11px;
	border-radius: 8px;
	color: #0e2436;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	white-space: nowrap;
}

.mci-account-menu__dropdown a:hover,
.mci-account-menu__dropdown a:focus-visible {
	background: #eaf6fb;
	color: #0a648d;
	outline: none;
}

.mci-account-menu.is-open .mci-account-menu__dropdown {
	display: block;
}

@media (min-width: 768px) {
	.mci-account-menu:hover .mci-account-menu__dropdown,
	.mci-account-menu:focus-within .mci-account-menu__dropdown {
		display: block;
	}
}

@media (max-width: 767px) {
	.mci-promotion-bar__controls {
		grid-column: 2;
		gap: 6px;
	}

	.mci-account-menu__toggle {
		width: 30px;
		height: 30px;
		min-width: 30px;
	}

	.mci-account-menu__dropdown {
		right: 0;
		min-width: 200px;
	}
}
