/* ==========================================================================
   EM Farm - Header
   ========================================================================== */

.menu-item-description {
  display: none!important;
}

.em-site-header {
  position: relative;
  z-index: 50;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid rgba(7, 38, 29, 0.08);
}

.em-container {
  width: min(100% - var(--em-gutter, 48px), var(--em-container, 1520px));
  margin-right: auto;
  margin-left: auto;
}

/* Top bar */

.em-header-topbar {
  background: #145f35;
  color: #fff;
  font-family: var(--em-font-heading, "Montserrat", sans-serif);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

.em-header-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 30px;
  gap: 24px;
}

.em-header-topbar a {
  color: #fff;
  text-decoration: none;
}

.em-header-topbar a:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.em-header-topbar__right {
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

/* Main header */

.em-header-main {
  background: #fff;
}

.em-header-main__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 100px;
  gap: 24px;
}

.em-header-main__left {
  min-width: 1px;
}

.em-site-branding {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}

.em-site-logo {
  margin: 0;
}

.em-site-logo .custom-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.em-site-logo .custom-logo {
  display: block;
  width: auto;
  max-width: 150px;
  max-height: 62px;
}

.em-site-title {
  color: #07261d;
  font-family: var(--em-font-heading, "Montserrat", sans-serif);
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Header actions */

.em-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.em-header-main__left .em-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}

.em-header-action {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 35px;
  color: #07261d;
  text-decoration: none;
  transition:
	transform 0.2s ease,
	background-color 0.2s ease,
	color 0.2s ease;
}

.button-action {
	display: flex;
	align-items: center;
	font-weight: 800;
	  text-transform: uppercase;
	  font-size: 14px;
}

.button-action a {
	margin-right: 10px;
}

.em-header-action svg {
  display: block;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.em-header-action--promo {
  background: #efe7df;
}

.em-header-action--account,
.em-header-action--cart {
  background: #145f35;
  color: #fff;
}

.em-header-action:hover {
  color: #fff;
  transform: translateY(-1px);
}

.em-header-action--promo:hover {
  background: #afa194;
}

.em-header-action--account:hover,
.em-header-action--cart:hover {
  background: #07261d;
}

.em-cart-count {
  position: absolute;
  top: -4px;
  right: -4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #24733a;
  color: #fff;
  font-family: var(--em-font-heading, "Montserrat", sans-serif);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

/* Menu */

.em-header-menu {
  background: #fff;
}

.em-header-menu__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 34px;
}

.em-primary-navigation {
  margin: 0;
}

.em-primary-navigation > div > .em-menu-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.em-primary-navigation .em-menu-wrapper > li {
  position: relative;
  margin: 0;
}

.em-primary-navigation .em-menu-wrapper > li > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0;
  color: #24733a;
  font-family: var(--em-font-heading, "Montserrat", sans-serif);
 font-size: 12px;
   font-weight: 600;
   line-height: 1;
   text-decoration: none;
   letter-spacing: 0;
   text-transform: uppercase;
}

.em-primary-navigation .em-menu-wrapper > li > a::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: #24733a;
  content: "";
  opacity: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition:
	opacity 0.2s ease,
	transform 0.2s ease;
}

.em-primary-navigation .em-menu-wrapper > li > a:hover,
.em-primary-navigation .em-menu-wrapper > li.current-menu-item > a,
.em-primary-navigation .em-menu-wrapper > li.current_page_item > a {
  color: #07261d;
  text-decoration: none;
}

.em-primary-navigation .em-menu-wrapper > li > a:hover::after,
.em-primary-navigation .em-menu-wrapper > li.current-menu-item > a::after,
.em-primary-navigation .em-menu-wrapper > li.current_page_item > a::after {
  opacity: 1;
  transform: scaleX(1);
}

/* Sub menu */

.em-primary-navigation .sub-menu {
  border: 0;
  background: #fff;
  box-shadow: 0 18px 45px rgba(7, 38, 29, 0.12);
}

.em-primary-navigation .sub-menu a {
  color: #07261d;
  font-family: var(--em-font-body, "Urbanist", sans-serif);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

.em-primary-navigation .sub-menu a:hover {
  color: #24733a;
  text-decoration: none;
}

/* Override Twenty Twenty-One focus/header spacing */

.site-header,
.site-main,
.widget-area,
.site-footer {
  padding-top: 0;
  padding-bottom: 0;
}

.primary-navigation .current-menu-item > a:first-child,
.primary-navigation .current_page_item > a:first-child,
.primary-navigation a:hover {
  text-decoration: none;
}

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
  outline: none;
  background: none;
  text-decoration: none;
}

/* Mobile */

@media (max-width: 991px) {
  .em-header-topbar {
	font-size: 12px;
  }

  .em-header-topbar__inner {
	min-height: 28px;
  }

  .em-header-topbar__left {
	display: none;
  }

  .em-header-topbar__right {
	width: 100%;
	justify-content: center;
  }

  .em-header-main__inner {
	grid-template-columns: auto 1fr auto;
	min-height: 76px;
  }

  .em-site-branding {
	justify-content: flex-start;
  }

  .em-site-logo .custom-logo {
	max-width: 126px;
	max-height: 54px;
  }

  .em-header-actions {
	gap: 8px;
  }

  .em-header-action {
	width: 38px;
	height: 38px;
  }

  .em-header-action svg {
	width: 19px;
	height: 19px;
  }

  .em-header-menu__inner {
	justify-content: flex-start;
	min-height: auto;
  }

  .em-menu-button-container {
	display: block;
  }

  .em-mobile-menu-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0;
	background: transparent;
	color: #07261d;
	border: 0;
	font-family: var(--em-font-heading, "Montserrat", sans-serif);
	font-size: 14px;
	font-weight: 700;
  }

  .em-primary-navigation > div > .em-menu-wrapper {
	display: block;
	width: 100%;
	padding: 16px 0 20px;
  }

  .em-primary-navigation .em-menu-wrapper > li > a {
	min-height: 42px;
	color: #07261d;
	font-size: 18px;
  }

  .em-primary-navigation .em-menu-wrapper > li > a::after {
	display: none;
  }
}

@media (max-width: 575px) {
  .em-container {
	width: min(100% - 32px, var(--em-container, 1520px));
  }

  .em-header-topbar__right {
	font-size: 11px;
  }

  .em-header-topbar__right a:first-child,
  .em-header-topbar__right span {
	display: none;
  }

  .em-header-main__inner {
	gap: 14px;
  }

  .em-site-logo .custom-logo {
	max-width: 112px;
  }

  .em-header-action--promo {
	display: none;
  }
}


/* ==========================================================================
   EM Farm - Sticky menu on scroll
   ========================================================================== */

.em-header-menu {
  position: relative;
  z-index: 900;
  width: 100%;
  background: #fff;
  transition:
	box-shadow 0.22s ease,
	transform 0.22s ease,
	border-radius 0.22s ease;
}

.em-header-menu.em-header-menu--sticky {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9999;
  background: #fff;
  box-shadow: 0 12px 34px rgba(7, 38, 29, 0.10);
  animation: emStickyMenuIn 0.24s ease both;
}

/* Se sei loggato in WordPress */
body.admin-bar .em-header-menu.em-header-menu--sticky {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .em-header-menu.em-header-menu--sticky {
	top: 46px;
  }
}

.em-header-menu-placeholder {
  display: none;
  width: 100%;
}

.em-header-menu-placeholder.is-active {
  display: block;
}

@keyframes emStickyMenuIn {
  from {
	opacity: 0;
	transform: translateY(-8px);
  }

  to {
	opacity: 1;
	transform: translateY(0);
  }
}

/* Mobile: se non vuoi il menu sticky su mobile */
@media (max-width: 991px) {
  .em-header-menu.em-header-menu--sticky {
	position: relative;
	top: auto;
	right: auto;
	left: auto;
	box-shadow: none;
	animation: none;
  }

  .em-header-menu-placeholder.is-active {
	display: none;
  }
}