/*
 * SEFICO – Menu e-commerce
 * Every selector is scoped to a plugin-owned class.
 */

.sefico-ecm-root {
	--sefico-ecm-ink: #310404;
	--sefico-ecm-ink-soft: #3f1b17;
	--sefico-ecm-beige: #e4d8b9;
	--sefico-ecm-beige-soft: #f7f3e9;
	--sefico-ecm-border: rgba(63, 27, 23, 0.14);
	--sefico-ecm-shadow: 0 16px 42px rgba(49, 4, 4, 0.14);
	--sefico-ecm-new: #176b45;
	--sefico-ecm-promo: #a52720;
	--sefico-ecm-duration: 180ms;
	isolation: isolate;
}

.sefico-ecm-root.sefico-ecm-ready,
.sefico-ecm-root.sefico-ecm-ready .et_pb_menu_inner_container,
.sefico-ecm-root.sefico-ecm-ready .et_pb_menu__wrap,
.sefico-ecm-root.sefico-ecm-ready .et_pb_menu__menu,
.sefico-ecm-root.sefico-ecm-ready .et-menu-nav {
	position: relative;
	z-index: 100002;
}

.sefico-ecm-root.sefico-ecm-ready .et_pb_menu__wrap {
	overflow: visible;
}

.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-menu,
.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-menu li,
.sefico-ecm-drawer .sefico-ecm-menu,
.sefico-ecm-drawer .sefico-ecm-menu li {
	list-style: none;
	margin: 0;
}

.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-menu a,
.sefico-ecm-drawer .sefico-ecm-menu a,
.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-toggle,
.sefico-ecm-drawer .sefico-ecm-toggle,
.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-fallback-trigger,
.sefico-ecm-drawer .sefico-ecm-drawer__close {
	-webkit-tap-highlight-color: transparent;
}

.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-menu a:focus-visible,
.sefico-ecm-drawer .sefico-ecm-menu a:focus-visible,
.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-toggle:focus-visible,
.sefico-ecm-drawer .sefico-ecm-toggle:focus-visible,
.sefico-ecm-root.sefico-ecm-ready .mobile_menu_bar:focus-visible,
.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-fallback-trigger:focus-visible,
.sefico-ecm-drawer .sefico-ecm-drawer__close:focus-visible {
	outline: 3px solid var(--sefico-ecm-ink, #310404);
	outline-offset: 3px;
}

/* Desktop navigation. */
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .et_pb_menu__menu {
	display: flex !important;
	min-width: 0;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .et_mobile_nav_menu,
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-fallback-trigger {
	display: none !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: clamp(2px, 0.35vw, 8px);
	white-space: nowrap;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li {
	display: flex;
	align-items: center;
	position: relative;
	padding: 0;
}

/*
 * Mega panels use the white menu module as their containing block. Keeping
 * every intermediate Divi wrapper static prevents a right-side item such as
 * Bazar from becoming the panel's positioning origin.
 */
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .et_pb_menu__wrap,
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .et_pb_menu__menu,
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .et-menu-nav,
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop,
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-is-mega {
	position: static !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li > a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 10px clamp(5px, 0.45vw, 9px) !important;
	color: var(--sefico-ecm-ink) !important;
	font-family: inherit;
	font-size: clamp(13px, 1.05vw, 15px) !important;
	font-weight: 650 !important;
	line-height: 1.25 !important;
	text-decoration: none;
	transition: color var(--sefico-ecm-duration) ease, background-color var(--sefico-ecm-duration) ease;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li > a::before {
	content: "";
	position: absolute;
	right: 8px;
	bottom: 13px;
	left: 8px;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--sefico-ecm-duration) ease;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li:hover > a::before,
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-open > a::before,
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.current-menu-item > a::before,
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.current-menu-ancestor > a::before,
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.current-menu-parent > a::before {
	transform: scaleX(1);
}

.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-menu--desktop .menu-item-has-children > a:first-child::after {
	display: none !important;
}

/* Hide Divi's native arrow before JavaScript finishes enhancing the menu. */
.sefico-ecm-source.et-menu .menu-item-has-children > a:first-child::after {
	display: none !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li > .sefico-ecm-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	width: 32px;
	height: 44px;
	margin-left: -7px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--sefico-ecm-ink);
	font-size: 0;
	line-height: 0;
	vertical-align: middle;
	transform: none !important;
	cursor: pointer;
}

.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-toggle > span,
.sefico-ecm-drawer .sefico-ecm-toggle > span {
	display: block;
	flex: 0 0 auto;
	position: static !important;
	width: 8px;
	height: 8px;
	margin: 0 !important;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform var(--sefico-ecm-duration) ease;
}

.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-open > .sefico-ecm-toggle > span,
.sefico-ecm-drawer .sefico-ecm-open > .sefico-ecm-toggle > span {
	transform: rotate(225deg);
}

/* Native/custom badges: text comes from the menu-item metadata. */
.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-menu a[data-sefico-badge]::after,
.sefico-ecm-drawer .sefico-ecm-menu a[data-sefico-badge]::after {
	content: attr(data-sefico-badge);
	display: inline-flex;
	align-items: center;
	min-height: 18px;
	margin-left: 7px;
	padding: 2px 6px;
	border: 1px solid currentColor;
	border-radius: 3px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.055em;
	line-height: 1;
	text-transform: uppercase;
}

.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-badge-new > a,
.sefico-ecm-drawer .sefico-ecm-badge-new > a {
	color: var(--sefico-ecm-new) !important;
}

.sefico-ecm-root.sefico-ecm-ready .sefico-ecm-badge-promo > a,
.sefico-ecm-drawer .sefico-ecm-badge-promo > a {
	color: var(--sefico-ecm-promo) !important;
}

/* Shared desktop submenu panel. */
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop .sub-menu {
	box-sizing: border-box;
	margin: 0 !important;
	border: 1px solid var(--sefico-ecm-border) !important;
	border-top: 3px solid var(--sefico-ecm-beige) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: var(--sefico-ecm-shadow) !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(4px);
	transition: opacity var(--sefico-ecm-duration) ease, transform var(--sefico-ecm-duration) ease, visibility 0s linear var(--sefico-ecm-duration);
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop li.sefico-ecm-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop .sub-menu a {
	display: flex;
	align-items: center;
	min-height: 42px;
	padding: 9px 14px !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--sefico-ecm-ink-soft) !important;
	font-family: inherit;
	font-size: 14px !important;
	font-weight: 550 !important;
	line-height: 1.35 !important;
	text-decoration: none;
	white-space: normal;
	transition: color var(--sefico-ecm-duration) ease, background-color var(--sefico-ecm-duration) ease, padding-left var(--sefico-ecm-duration) ease;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop .sub-menu a:hover,
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop .sub-menu a:focus-visible,
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop .sub-menu .current-menu-item > a {
	padding-left: 18px !important;
	background: var(--sefico-ecm-beige-soft) !important;
	color: var(--sefico-ecm-ink) !important;
}

/* Compact dropdown. */
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-is-dropdown > .sub-menu {
	position: absolute !important;
	top: calc(100% - 3px) !important;
	left: 0 !important;
	display: block !important;
	width: min(300px, calc(100vw - 24px)) !important;
	padding: 8px !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-is-dropdown.sefico-ecm-align-right > .sub-menu {
	right: 0 !important;
	left: auto !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop li.sefico-ecm-is-dropdown .sub-menu li {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 0;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop li.sefico-ecm-is-dropdown .sub-menu li > a {
	flex: 1 1 auto;
	width: auto !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop li.sefico-ecm-is-dropdown .sub-menu .sefico-ecm-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--sefico-ecm-ink);
	cursor: pointer;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop li.sefico-ecm-is-dropdown .sub-menu .sefico-ecm-toggle > span {
	transform: rotate(-45deg);
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop li.sefico-ecm-is-dropdown .sub-menu .sub-menu {
	position: absolute !important;
	top: -11px !important;
	left: calc(100% + 8px) !important;
	display: block !important;
	width: min(280px, calc(100vw - 24px)) !important;
	padding: 8px !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop li.sefico-ecm-is-dropdown .sub-menu li.sefico-ecm-flip > .sub-menu {
	right: calc(100% + 8px) !important;
	left: auto !important;
}

/* Mega-menu: direct children become columns; deeper levels stay in-flow. */
.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-is-mega > .sub-menu {
	position: absolute !important;
	top: 100% !important;
	left: var(--sefico-ecm-panel-local-left, 0px) !important;
	display: grid !important;
	grid-template-columns: repeat(var(--sefico-ecm-columns, 3), minmax(0, 1fr));
	gap: 8px 22px;
	width: var(--sefico-ecm-panel-width) !important;
	max-height: var(--sefico-ecm-panel-max-height) !important;
	padding: 24px !important;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-is-mega > .sub-menu > li {
	position: static !important;
	display: block;
	min-width: 0;
	padding: 0 !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-is-mega > .sub-menu > li > a {
	min-height: 38px;
	padding: 7px 8px 9px !important;
	border-bottom: 1px solid var(--sefico-ecm-border) !important;
	color: var(--sefico-ecm-ink) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-is-mega > .sub-menu > li:not(.sefico-ecm-has-submenu) > a {
	border-bottom-color: transparent !important;
	font-weight: 650 !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-is-mega > .sub-menu .sub-menu {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	display: block !important;
	width: auto !important;
	margin-top: 4px !important;
	padding: 0 0 3px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: none !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-is-mega > .sub-menu .sub-menu .sub-menu {
	margin: 2px 0 7px 12px !important;
	padding-left: 8px !important;
	border-left: 2px solid var(--sefico-ecm-beige) !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-is-mega .sub-menu .sefico-ecm-toggle {
	display: none !important;
}

.sefico-ecm-root.sefico-ecm-ready:not(.sefico-ecm-mobile-active) .sefico-ecm-menu--desktop > li.sefico-ecm-is-mega > .sub-menu .sub-menu a {
	min-height: 36px;
	padding: 7px 8px !important;
	font-size: 13.5px !important;
}

/* Mobile mode switches only this Divi menu module. */
.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .et_pb_menu__menu {
	display: none !important;
}

.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .et_mobile_nav_menu {
	display: flex !important;
	align-items: center;
	margin-left: auto;
}

.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .mobile_nav,
.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .mobile_menu_bar,
.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .sefico-ecm-fallback-trigger {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--sefico-ecm-ink);
	cursor: pointer;
}

.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .mobile_menu_bar::before {
	position: static !important;
	font-size: 34px !important;
	color: var(--sefico-ecm-ink) !important;
}

.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .sefico-ecm-fallback-trigger > span,
.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .sefico-ecm-fallback-trigger > span::before,
.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .sefico-ecm-fallback-trigger > span::after {
	display: block;
	width: 24px;
	height: 2px;
	background: currentColor;
}

.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .sefico-ecm-fallback-trigger > span {
	position: relative;
}

.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .sefico-ecm-fallback-trigger > span::before,
.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .sefico-ecm-fallback-trigger > span::after {
	content: "";
	position: absolute;
	left: 0;
}

.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .sefico-ecm-fallback-trigger > span::before {
	top: -7px;
}

.sefico-ecm-root.sefico-ecm-ready.sefico-ecm-mobile-active .sefico-ecm-fallback-trigger > span::after {
	top: 7px;
}

/* Drawer is detached from the header so ancestor transforms cannot trap position:fixed. */
.sefico-ecm-backdrop {
	position: fixed;
	z-index: 2147483000;
	inset: 0;
	background: rgba(20, 6, 5, 0.48);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity var(--sefico-ecm-duration, 180ms) ease, visibility 0s linear var(--sefico-ecm-duration, 180ms);
}

.sefico-ecm-drawer {
	position: fixed;
	z-index: 2147483001;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: min(88vw, 430px);
	max-width: 100%;
	min-width: min(320px, 100vw);
	background: #fff;
	box-shadow: -18px 0 48px rgba(49, 4, 4, 0.2);
	color: #310404;
	font-family: "Nunito Sans", Helvetica, Arial, Lucida, sans-serif;
	transform: translateX(105%);
	visibility: hidden;
	pointer-events: none;
	transition: transform var(--sefico-ecm-duration, 180ms) ease, visibility 0s linear var(--sefico-ecm-duration, 180ms);
}

.sefico-ecm-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 0 0 auto;
	min-height: 68px;
	padding: 10px 14px 10px 20px;
	border-bottom: 1px solid rgba(63, 27, 23, 0.14);
	background: #fff;
}

.sefico-ecm-drawer__title {
	font-size: 19px;
	font-weight: 800;
	letter-spacing: 0.01em;
}

.sefico-ecm-drawer__close {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #310404;
	cursor: pointer;
}

.sefico-ecm-drawer__close > span::before,
.sefico-ecm-drawer__close > span::after {
	content: "";
	position: absolute;
	top: 23px;
	left: 13px;
	width: 22px;
	height: 2px;
	background: currentColor;
}

.sefico-ecm-drawer__close > span::before {
	transform: rotate(45deg);
}

.sefico-ecm-drawer__close > span::after {
	transform: rotate(-45deg);
}

.sefico-ecm-drawer .sefico-ecm-menu--mobile {
	position: static !important;
	display: block !important;
	flex: 1 1 auto;
	box-sizing: border-box;
	width: 100% !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 10px 14px 40px !important;
	border: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	transform: none !important;
}

.sefico-ecm-drawer .sefico-ecm-menu--mobile .sub-menu-toggle {
	display: none !important;
}

.sefico-ecm-drawer .sefico-ecm-menu--mobile li {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	padding: 0 !important;
	border-bottom: 1px solid rgba(63, 27, 23, 0.1);
}

.sefico-ecm-drawer .sefico-ecm-menu--mobile li > a {
	display: flex;
	align-items: center;
	flex: 1 1 calc(100% - 52px);
	box-sizing: border-box;
	min-width: 0;
	min-height: 52px;
	padding: 11px 8px !important;
	border: 0 !important;
	background: transparent !important;
	color: #3f1b17 !important;
	font-size: 16px !important;
	font-weight: 650 !important;
	line-height: 1.3 !important;
	text-decoration: none;
}

.sefico-ecm-drawer .sefico-ecm-menu--mobile > li > a {
	color: #310404 !important;
	font-size: 17px !important;
	font-weight: 750 !important;
}

.sefico-ecm-drawer .sefico-ecm-menu--mobile li > a:hover,
.sefico-ecm-drawer .sefico-ecm-menu--mobile li > a:focus-visible,
.sefico-ecm-drawer .sefico-ecm-menu--mobile li.current-menu-item > a,
.sefico-ecm-drawer .sefico-ecm-menu--mobile li.current-menu-ancestor > a {
	background: #f7f3e9 !important;
	color: #310404 !important;
}

.sefico-ecm-drawer .sefico-ecm-menu--mobile .sefico-ecm-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;
	box-sizing: border-box;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: 0;
	border-left: 1px solid rgba(63, 27, 23, 0.1);
	border-radius: 0;
	background: transparent;
	color: #310404;
	cursor: pointer;
}

.sefico-ecm-drawer .sefico-ecm-menu--mobile .sub-menu {
	position: static !important;
	display: block !important;
	flex: 1 0 100%;
	box-sizing: border-box;
	width: 100% !important;
	max-height: 0;
	margin: 0 !important;
	padding: 0 0 0 14px !important;
	border: 0 !important;
	border-left: 2px solid #e4d8b9 !important;
	background: #fff !important;
	box-shadow: none !important;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	pointer-events: none;
	transform: none !important;
	transition: max-height 240ms ease, opacity var(--sefico-ecm-duration, 180ms) ease, visibility 0s linear 240ms;
}

.sefico-ecm-drawer .sefico-ecm-menu--mobile li.sefico-ecm-open > .sub-menu {
	max-height: 2400px;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.sefico-ecm-drawer .sefico-ecm-menu--mobile .sub-menu li > a {
	min-height: 48px;
	font-size: 15px !important;
	font-weight: 600 !important;
}

.sefico-ecm-drawer .sefico-ecm-menu--mobile .sub-menu .sub-menu li > a {
	font-size: 14px !important;
}

body.sefico-ecm-drawer-open .sefico-ecm-backdrop {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

body.sefico-ecm-drawer-open .sefico-ecm-drawer {
	transform: translateX(0);
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

body.sefico-ecm-scroll-lock {
	position: fixed;
	right: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
}

@media (max-width: 420px) {
	.sefico-ecm-drawer {
		width: 100vw;
		min-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sefico-ecm-root.sefico-ecm-ready *,
	.sefico-ecm-drawer,
	.sefico-ecm-drawer *,
	.sefico-ecm-backdrop {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		transition-delay: 0s !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
