/* Canonical desktop and mobile navigation component. */
@media (min-width: 768px) {
	body:not(.woocommerce-checkout) .kf-site-header__top {
		padding-block: 5px !important;
	}

	body:not(.woocommerce-checkout) .kf-site-nav {
		display: flex !important;
		align-items: stretch !important;
		gap: 0 !important;
		height: 82px !important;
		padding: 0 !important;
		border: 1px solid rgba(82, 78, 62, .16) !important;
		border-radius: 16px !important;
		background: #f7f2e7 !important;
		box-shadow: 0 5px 18px rgba(51, 47, 37, .05) !important;
		overflow: visible !important;
	}

	body:not(.woocommerce-checkout) .kf-site-nav__divider,
	body:not(.woocommerce-checkout) .kf-nav-item::before,
	body:not(.woocommerce-checkout) .kf-nav-item::after {
		display: none !important;
	}

	body:not(.woocommerce-checkout) .kf-nav-item,
	body:not(.woocommerce-checkout) .kf-site-cart {
		position: relative !important;
		flex: 0 0 100px !important;
		width: 100px !important;
		height: 80px !important;
		min-width: 100px !important;
		border: 0 !important;
		background: transparent !important;
	}

	body:not(.woocommerce-checkout) .kf-site-nav__link,
	body:not(.woocommerce-checkout) .kf-site-cart__button,
	body:not(.woocommerce-checkout) .kf-site-cart__button:hover,
	body:not(.woocommerce-checkout) .kf-site-cart__button:focus,
	body:not(.woocommerce-checkout) .kf-site-cart__button:focus-visible {
		display: grid !important;
		grid-template-rows: 30px 18px !important;
		align-content: center !important;
		justify-items: center !important;
		gap: 7px !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 80px !important;
		padding: 8px 5px !important;
		border: 0 !important;
		border-radius: 13px !important;
		background: transparent !important;
		box-shadow: none !important;
		color: #303426 !important;
		font: 500 12px/18px Inter, sans-serif !important;
		text-decoration: none !important;
	}

	body:not(.woocommerce-checkout) .kf-site-nav__link {
		width: calc(100% - 8px) !important;
		height: calc(100% - 12px) !important;
		min-height: 68px !important;
		margin: 6px 4px !important;
	}

	body:not(.woocommerce-checkout) .kf-nav-item:hover > .kf-site-nav__link,
	body:not(.woocommerce-checkout) .kf-nav-item:focus-within > .kf-site-nav__link,
	body:not(.woocommerce-checkout) .kf-nav-item.is-current > .kf-site-nav__link {
		background: #ece6d8 !important;
		color: #303426 !important;
	}

	body:not(.woocommerce-checkout) .kf-site-cart__button,
	body:not(.woocommerce-checkout) .kf-site-cart__button:hover,
	body:not(.woocommerce-checkout) .kf-site-cart__button:focus,
	body:not(.woocommerce-checkout) .kf-site-cart__button:focus-visible {
		background: #66704c !important;
		color: #fffdf7 !important;
	}

	body:not(.woocommerce-checkout) .kf-site-nav__link .kf-nav-chevron,
	body:not(.woocommerce-checkout) .kf-site-cart__button::after {
		display: none !important;
	}

	body:not(.woocommerce-checkout) .kf-site-nav__link .kf-nav-icon,
	body:not(.woocommerce-checkout) .kf-site-cart__icon {
		position: static !important;
		grid-row: 1 !important;
		width: 27px !important;
		height: 27px !important;
		margin: 0 !important;
		transform: none !important;
		color: currentColor !important;
	}

	body:not(.woocommerce-checkout) .kf-site-nav__link > span:not(.kf-nav-icon),
	body:not(.woocommerce-checkout) .kf-site-cart__button > span:not(.kf-site-cart-count) {
		display: block !important;
		grid-row: 2 !important;
		font: 500 12px/18px Inter, sans-serif !important;
		white-space: nowrap !important;
	}

	body:not(.woocommerce-checkout) .kf-site-cart-count {
		top: 10px !important;
		right: 15px !important;
		background: #f1ead5 !important;
		color: #3f472f !important;
	}

	body:not(.woocommerce-checkout) .kf-nav-dropdown {
		top: 100% !important;
		left: 0 !important;
		right: auto !important;
		display: none !important;
		grid-template-columns: minmax(210px, 1fr) !important;
		gap: 3px !important;
		min-width: 230px !important;
		width: max-content !important;
		max-width: 290px !important;
		margin: 0 !important;
		padding: 12px !important;
		border: 1px solid rgba(82, 78, 62, .14) !important;
		border-radius: 0 0 14px 14px !important;
		background: #fbf7ee !important;
		box-shadow: 0 14px 30px rgba(43, 39, 31, .09) !important;
		transform: none !important;
	}

	body:not(.woocommerce-checkout) .kf-nav-dropdown::before,
	body:not(.woocommerce-checkout) .kf-nav-dropdown a::after {
		display: none !important;
	}

	body:not(.woocommerce-checkout) .kf-nav-item:hover > .kf-nav-dropdown,
	body:not(.woocommerce-checkout) .kf-nav-item:focus-within > .kf-nav-dropdown {
		display: grid !important;
	}

	body:not(.woocommerce-checkout) .kf-nav-dropdown a {
		display: flex !important;
		align-items: center !important;
		min-height: 44px !important;
		padding: 10px 18px !important;
		border: 0 !important;
		border-radius: 9px !important;
		background: transparent !important;
		color: #303426 !important;
		font: 500 14px/1.45 Inter, sans-serif !important;
		text-decoration: none !important;
	}

	body:not(.woocommerce-checkout) .kf-nav-dropdown a:hover,
	body:not(.woocommerce-checkout) .kf-nav-dropdown a:focus-visible {
		background: #f0ede2 !important;
		color: #40482f !important;
		outline: none !important;
	}
}

@media (max-width: 767px) {
	body:not(.woocommerce-checkout) .kf-mobile-menu {
		align-items: stretch !important;
		justify-content: flex-start !important;
		padding: 0 !important;
		background: rgba(35, 33, 27, .28) !important;
		backdrop-filter: blur(5px) !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-menu__panel {
		width: min(410px, calc(100vw - 18px)) !important;
		height: 100dvh !important;
		margin: 0 !important;
		padding: 18px 12px calc(18px + env(safe-area-inset-bottom)) !important;
		border: 0 !important;
		border-right: 1px solid rgba(82, 78, 62, .15) !important;
		border-radius: 0 20px 20px 0 !important;
		background: #fffdf8 !important;
		box-shadow: 18px 0 48px rgba(39, 36, 29, .14) !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-menu__head {
		display: flex !important;
		justify-content: flex-end !important;
		margin: 0 0 10px !important;
		padding: 0 2px !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-menu__close {
		width: 42px !important;
		height: 42px !important;
		border: 1px solid rgba(82, 78, 62, .16) !important;
		border-radius: 50% !important;
		background: #fffefa !important;
		color: #303426 !important;
		box-shadow: none !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-menu__nav {
		display: grid !important;
		gap: 6px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-item {
		border: 1px solid rgba(82, 78, 62, .12) !important;
		border-radius: 13px !important;
		background: #fbf8f0 !important;
		box-shadow: 0 3px 10px rgba(43, 39, 31, .025) !important;
		overflow: hidden !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-item.is-current {
		background: #f1ece1 !important;
		border-color: rgba(82, 78, 62, .08) !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-item.is-open {
		background: #ece7da !important;
		border-color: rgba(82, 78, 62, .08) !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-row,
	body:not(.woocommerce-checkout) .kf-mobile-nav-main {
		min-height: 56px !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-main {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		padding: 0 14px !important;
		border: 0 !important;
		border-radius: 13px !important;
		background: transparent !important;
		color: #252a20 !important;
		font: 500 17px/1.25 Inter, sans-serif !important;
		text-decoration: none !important;
		box-shadow: none !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-title {
		display: inline-flex !important;
		align-items: center !important;
		gap: 13px !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-title .kf-nav-icon {
		display: inline-grid !important;
		place-items: center !important;
		flex: 0 0 36px !important;
		width: 36px !important;
		height: 36px !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: #f5f2e9 !important;
		color: #3f472f !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-title .kf-nav-icon svg {
		width: 21px !important;
		height: 21px !important;
		color: currentColor !important;
		stroke: currentColor !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-main > svg,
	body:not(.woocommerce-checkout) .kf-mobile-nav-toggle > svg {
		width: 17px !important;
		height: 17px !important;
		color: #31372a !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-children {
		display: grid !important;
		gap: 3px !important;
		margin: 0 12px 12px !important;
		padding: 7px !important;
		border: 0 !important;
		border-radius: 13px !important;
		background: #fffdf8 !important;
		box-shadow: none !important;
		overflow: hidden !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-children[hidden] {
		display: none !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-children a {
		display: flex !important;
		align-items: center !important;
		min-height: 46px !important;
		padding: 10px 16px !important;
		border: 0 !important;
		border-radius: 9px !important;
		background: transparent !important;
		color: #303426 !important;
		font: 500 15px/1.4 Inter, sans-serif !important;
		text-decoration: none !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-children a::after {
		display: none !important;
		content: none !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-nav-children a:hover,
	body:not(.woocommerce-checkout) .kf-mobile-nav-children a:focus-visible {
		background: #f1eee3 !important;
		outline: none !important;
	}

	html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-menu__panel .kf-mobile-menu__contacts {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		grid-template-areas: "phone socials" "address address" !important;
		align-items: center !important;
		justify-content: stretch !important;
		gap: 10px 18px !important;
		margin: 16px 4px 0 !important;
		padding: 15px 8px 0 !important;
		border-top: 1px solid rgba(82, 78, 62, .12) !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-phone-links {
		grid-area: phone !important;
		display: grid !important;
		gap: 6px !important;
		justify-items: start !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-socials {
		grid-area: socials !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-self: end !important;
		gap: 14px !important;
	}

	body:not(.woocommerce-checkout) .kf-mobile-address {
		grid-area: address !important;
		justify-self: stretch !important;
		width: 100% !important;
		padding-top: 2px !important;
	}
}

@media (min-width: 768px) {
	html body:not(.woocommerce-checkout) .kf-site-nav > .kf-nav-item,
	html body:not(.woocommerce-checkout) .kf-site-nav > .kf-site-cart {
		border: 0 !important;
		border-left: 0 !important;
		border-right: 0 !important;
	}

	html body:not(.woocommerce-checkout) .kf-site-nav .kf-site-nav__link:focus,
	html body:not(.woocommerce-checkout) .kf-site-nav .kf-site-nav__link:focus-visible {
		outline: none !important;
		box-shadow: inset 0 0 0 1px rgba(82, 78, 62, .16) !important;
	}

	html body:not(.woocommerce-checkout) .kf-site-nav .kf-site-cart__button,
	html body:not(.woocommerce-checkout) .kf-site-nav .kf-site-cart__button > span:not(.kf-site-cart-count),
	html body:not(.woocommerce-checkout) .kf-site-nav .kf-site-cart__button .kf-site-cart__icon,
	html body:not(.woocommerce-checkout) .kf-site-nav .kf-site-cart__button .kf-site-cart__icon * {
		color: #fffdf7 !important;
		stroke: currentColor !important;
	}

	html body:not(.woocommerce-checkout) .kf-site-nav .kf-site-cart__button .kf-site-cart-count {
		color: #3f472f !important;
	}
}

@media (max-width: 767px) {
	html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-nav-main[aria-expanded="true"] .kf-nav-icon {
		border: 0 !important;
		background: #f5f2e9 !important;
		color: #3f472f !important;
	}
}
/* Production desktop menu polish: inset category hover and optical cart correction. */
@media (min-width: 768px) {
  body:not(.woocommerce-checkout) .kf-site-nav__link { position: relative !important; isolation: isolate !important; background: transparent !important; transform: none !important; transition: color .2s ease !important; }
  body:not(.woocommerce-checkout) .kf-site-nav__link::before { content: ""; position: absolute !important; inset: 3px 2px !important; z-index: -1 !important; border: 0 !important; border-radius: 13px !important; background: transparent !important; pointer-events: none !important; transition: background-color .2s ease !important; }
  body:not(.woocommerce-checkout) .kf-nav-item:hover > .kf-site-nav__link::before,
  body:not(.woocommerce-checkout) .kf-nav-item:focus-within > .kf-site-nav__link::before { background: #f0ecdf !important; }
  body:not(.woocommerce-checkout) .kf-nav-item.is-current > .kf-site-nav__link::before { background: #e7e2d3 !important; }
  html body:not(.woocommerce-checkout) .kf-site-nav .kf-site-cart__icon { position: absolute !important; left: 50% !important; top: 50% !important; margin: 0 !important; display: block !important; grid-area: auto !important; transform: translate(-50%, -50%) !important; }
  body:not(.woocommerce-checkout) .kf-nav-dropdown > a { position: relative !important; border-radius: 8px !important; transition: background-color .2s ease !important; }
  body:not(.woocommerce-checkout) .kf-nav-dropdown > a:not(:last-child)::after { content: ""; display: block !important; position: absolute !important; left: 17px !important; right: 17px !important; bottom: -2px !important; height: 1px !important; background: rgba(85, 82, 65, .12) !important; pointer-events: none !important; }
  body:not(.woocommerce-checkout) .kf-nav-dropdown > a:hover,
  body:not(.woocommerce-checkout) .kf-nav-dropdown > a:focus-visible { background: #f5f1e8 !important; }
}
/* v5.14 — final mobile drawer contact grid through 1024px */
@media (max-width: 1024px) {
  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-menu__panel .kf-mobile-menu__contacts {
    display: grid !important;
    grid-template-columns: minmax(0,max-content) auto !important;
    grid-template-areas: "phone socials" "address address" !important;
    align-items: center !important;
    justify-content: start !important;
    column-gap: 24px !important;
    row-gap: 24px !important;
    margin: 16px 14px 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(83,78,61,.12) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-phone-links {
    grid-area: phone !important;
    display: grid !important;
    align-content: center !important;
    justify-items: start !important;
    gap: 5px !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-phone-link {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-socials {
    grid-area: socials !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-self: start !important;
    gap: 12px !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-instagram,
  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-telegram {
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-instagram svg,
  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-telegram svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-phone-link span,
  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-instagram span,
  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-telegram span,
  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-address span {
    display: none !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-phone-link strong {
    display: block !important;
    color: #303326 !important;
    font: 600 12px/1.25 Inter,sans-serif !important;
    white-space: nowrap !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-address {
    grid-area: address !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0,1fr) !important;
    align-items: center !important;
    justify-self: stretch !important;
    column-gap: 10px !important;
    width: 100% !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-address::before {
    content: "" !important;
    display: block !important;
    grid-column: 1 !important;
    align-self: center !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    background: currentColor !important;
    opacity: .82 !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-address strong {
    display: block !important;
    grid-column: 2 !important;
    align-self: center !important;
    margin: 0 !important;
    color: rgba(48,51,36,.78) !important;
    font: 560 12px/1.35 Inter,sans-serif !important;
    white-space: normal !important;
  }
}

@media (max-width: 1024px) and (orientation: landscape) {
  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-menu__panel .kf-mobile-menu__contacts {
    row-gap: 14px !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
  }
}
/* v5.15 — landscape mobile cart alignment and submenu chevrons */
@media (max-width: 1024px) and (orientation: landscape) {
  html body:not(.woocommerce-checkout) .kf-site-header__mobile > .kf-site-cart--mobile {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    justify-self: end !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body:not(.woocommerce-checkout) .kf-site-header__mobile > .kf-site-cart--mobile > .kf-mobile-cart-button {
    align-self: center !important;
    justify-self: center !important;
    margin: 0 !important;
  }
}

@media (max-width: 1024px) {
  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-nav-children > a {
    display: flex !important;
    align-items: center !important;
    padding-right: 18px !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-nav-children > a::after {
    content: "›" !important;
    display: block !important;
    position: static !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 0 auto !important;
    border: 0 !important;
    color: #7a8059 !important;
    font: 400 18px/1 Inter,sans-serif !important;
    opacity: .62 !important;
    transform: none !important;
    transition: transform .2s ease !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-nav-children > a:hover::after,
  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-nav-children > a:focus-visible::after {
    transform: translateX(2px) !important;
  }
}
/* v5.15 — keep submenu rows styled with the mobile header through 1024px */
@media (min-width: 768px) and (max-width: 1024px) {
  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-nav-children > a {
    min-height: 46px !important;
    padding: 10px 18px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #303426 !important;
    font: 500 15px/1.4 Inter,sans-serif !important;
    text-decoration: none !important;
  }

  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-nav-children > a:hover,
  html body:not(.woocommerce-checkout) .kf-mobile-menu .kf-mobile-nav-children > a:focus-visible {
    background: #f1eee3 !important;
    color: #40482f !important;
    outline: none !important;
  }
}


/* v5.16 - keep populated mobile cart inside the landscape header */
@media (max-width: 1024px) and (orientation: landscape) {
  html body:not(.woocommerce-checkout) .kf-site-header__mobile > .kf-site-cart--mobile {
    position: relative !important;
    align-self: center !important;
    justify-self: end !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 6px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    transform: none !important;
    inset: auto !important;
  }

  html body:not(.woocommerce-checkout) .kf-site-header__mobile > .kf-site-cart--mobile > .kf-mobile-cart-button {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    transform: none !important;
    inset: auto !important;
  }

  html body:not(.woocommerce-checkout) .kf-site-header__mobile > .kf-site-cart--mobile > .kf-mobile-cart-button > svg {
    position: static !important;
    display: block !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    transform: none !important;
  }

  html body:not(.woocommerce-checkout) .kf-site-header__mobile > .kf-site-cart--mobile > .kf-mobile-cart-button > .kf-site-cart-count {
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    bottom: auto !important;
    left: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 2 !important;
  }
}
