/**
 * Order Now + Read More CTAs: clean modern hover (overrides Customizer inner-border animation).
 * Astra scroll-to-top (#ast-scroll-top): same gold/black CTA palette and hover.
 * Header widget 8ec1515: full opacity in bar (≥768px) and in the header row when menu is open.
 * Homepage hero overlay Order Now (hidden after scroll via body.chefx-scrolled).
 * Homepage hero 9eda6b2 (Read More in Our Story section).
 */

body.chefx-mobile-fixes {
	--chefx-cta-duration: 0.22s;
	--chefx-cta-ease: ease;
	--chefx-cta-hover-bg: var(--e-global-color-primary, #000);
	--chefx-cta-hover-text: var(--e-global-color-bf40bb4, #d1a460);
	--chefx-cta-hover-border: var(--e-global-color-bf40bb4, #d1a460);
	--chefx-cta-hover-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
	--chefx-cta-hero-hover-shadow: 0 10px 28px rgba(0, 0, 0, 0.38);
	--chefx-cta-focus-outline: var(--e-global-color-primary, #111111);
}

/*
 * Disable Customizer "INNER HOVER BORDER ANIMATION" (::after scale-in black border)
 * on all Elementor buttons site-wide for consistent CTAs.
 */
body.chefx-mobile-fixes .elementor-button::after,
body.chefx-mobile-fixes a.elementor-button::after,
body.chefx-mobile-fixes button.elementor-button::after {
	content: none !important;
	display: none !important;
	border: none !important;
	transform: none !important;
	transition: none !important;
}

/* Hero overlay Order Now — gold brand button over video */
body.chefx-mobile-fixes.home .chefx-hero-overlay__order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.85rem 1.75rem;
	font-family: var(--e-global-typography-primary-font-family, "Montserrat", sans-serif);
	font-size: clamp(0.95rem, 2.4vw, 1.05rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--e-global-color-primary, #000000);
	background-color: var(--e-global-color-bf40bb4, #d1a460);
	border: 1px solid rgba(209, 164, 96, 0.65);
	border-radius: 0;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
	transition:
		background-color var(--chefx-cta-duration) var(--chefx-cta-ease),
		border-color var(--chefx-cta-duration) var(--chefx-cta-ease),
		box-shadow var(--chefx-cta-duration) var(--chefx-cta-ease),
		color var(--chefx-cta-duration) var(--chefx-cta-ease);
}

body.chefx-mobile-fixes.home .chefx-hero-overlay__order:hover,
body.chefx-mobile-fixes.home a.chefx-hero-overlay__order.elementor-button:hover {
	background-color: var(--chefx-cta-hover-bg) !important;
	border-color: var(--chefx-cta-hover-border) !important;
	box-shadow: var(--chefx-cta-hero-hover-shadow);
	color: var(--chefx-cta-hover-text) !important;
}

body.chefx-mobile-fixes.home .chefx-hero-overlay__order:hover .elementor-button-text,
body.chefx-mobile-fixes.home a.chefx-hero-overlay__order.elementor-button:hover .elementor-button-text {
	color: var(--chefx-cta-hover-text) !important;
}

body.chefx-mobile-fixes.home .chefx-hero-overlay__order:focus-visible,
body.chefx-mobile-fixes.home a.chefx-hero-overlay__order.elementor-button:focus-visible {
	background-color: var(--chefx-cta-hover-bg) !important;
	border-color: var(--chefx-cta-hover-border) !important;
	box-shadow: var(--chefx-cta-hero-hover-shadow);
	color: var(--chefx-cta-hover-text) !important;
	outline: 2px solid var(--chefx-cta-focus-outline);
	outline-offset: 3px;
}

body.chefx-mobile-fixes.home .chefx-hero-overlay__order:focus-visible .elementor-button-text,
body.chefx-mobile-fixes.home a.chefx-hero-overlay__order.elementor-button:focus-visible .elementor-button-text {
	color: var(--chefx-cta-hover-text) !important;
}

body.chefx-mobile-fixes.home .chefx-hero-overlay__order .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* --- Shared CTA hover: color + shadow only (no transform jumps) --- */
body.chefx-mobile-fixes .elementor-location-header .elementor-element-8ec1515 .elementor-button,
body.chefx-mobile-fixes .elementor-element-9eda6b2 .elementor-button {
	opacity: 1 !important;
	transition:
		background-color var(--chefx-cta-duration) var(--chefx-cta-ease),
		border-color var(--chefx-cta-duration) var(--chefx-cta-ease),
		box-shadow var(--chefx-cta-duration) var(--chefx-cta-ease),
		color var(--chefx-cta-duration) var(--chefx-cta-ease);
}

body.chefx-mobile-fixes .elementor-location-header .elementor-element-8ec1515 .elementor-button:hover,
body.chefx-mobile-fixes .elementor-element-9eda6b2 .elementor-button:hover {
	background-color: var(--chefx-cta-hover-bg) !important;
	border-color: var(--chefx-cta-hover-border) !important;
	box-shadow: var(--chefx-cta-hover-shadow);
	color: var(--chefx-cta-hover-text) !important;
}

body.chefx-mobile-fixes .elementor-location-header .elementor-element-8ec1515 .elementor-button:hover .elementor-button-text,
body.chefx-mobile-fixes .elementor-element-9eda6b2 .elementor-button:hover .elementor-button-text {
	color: var(--chefx-cta-hover-text) !important;
}

body.chefx-mobile-fixes .elementor-location-header .elementor-element-8ec1515 .elementor-button:focus-visible,
body.chefx-mobile-fixes .elementor-element-9eda6b2 .elementor-button:focus-visible {
	background-color: var(--chefx-cta-hover-bg) !important;
	border-color: var(--chefx-cta-hover-border) !important;
	box-shadow: var(--chefx-cta-hover-shadow);
	color: var(--chefx-cta-hover-text) !important;
	outline: 2px solid var(--chefx-cta-focus-outline);
	outline-offset: 3px;
}

body.chefx-mobile-fixes .elementor-location-header .elementor-element-8ec1515 .elementor-button:focus-visible .elementor-button-text,
body.chefx-mobile-fixes .elementor-element-9eda6b2 .elementor-button:focus-visible .elementor-button-text {
	color: var(--chefx-cta-hover-text) !important;
}

/*
 * Menu open/closing: keep hamburger (close) and Order Now in the same header row
 * coordinates as the closed state — no DOM move to the overlay, no flex reflow.
 */
body.chefx-mobile-fixes.chefx-menu-open,
body.chefx-mobile-fixes.chefx-menu-closing {
	padding-right: var(--chefx-scrollbar-width, 0px) !important;
}

body.chefx-mobile-fixes.chefx-menu-open .elementor-87.elementor-location-header .elementor-element-078714f,
body.chefx-mobile-fixes.chefx-menu-closing .elementor-87.elementor-location-header .elementor-element-078714f,
body.chefx-mobile-fixes.chefx-menu-open .elementor-87.elementor-location-header .elementor-element-078714f:not(.elementor-motion-effects-element-type-background),
body.chefx-mobile-fixes.chefx-menu-closing .elementor-87.elementor-location-header .elementor-element-078714f:not(.elementor-motion-effects-element-type-background) {
	box-sizing: border-box;
	padding-right: var(--chefx-scrollbar-width, 0px);
	min-height: var(--chefx-menu-header-height, 4.5rem);
}

body.chefx-mobile-fixes.chefx-menu-open .elementor-location-header .elementor-element-078714f > .e-con-inner,
body.chefx-mobile-fixes.chefx-menu-closing .elementor-location-header .elementor-element-078714f > .e-con-inner {
	justify-content: flex-start !important;
	min-height: var(--chefx-menu-header-height, 4.5rem);
}

/* Keep the logo slot in flow (invisible) so the bar height and right chrome stay put */
body.chefx-mobile-fixes.chefx-menu-open .elementor-location-header .elementor-element-3297390,
body.chefx-mobile-fixes.chefx-menu-closing .elementor-location-header .elementor-element-3297390 {
	display: flex !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.chefx-mobile-fixes.chefx-menu-open .elementor-location-header .elementor-element-d7d521c,
body.chefx-mobile-fixes.chefx-menu-closing .elementor-location-header .elementor-element-d7d521c {
	display: block !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

@media (min-width: 768px) {
	body.chefx-mobile-fixes.chefx-menu-open
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a,
	body.chefx-mobile-fixes.chefx-menu-closing
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a {
		display: flex !important;
		position: relative;
		z-index: 10002;
		pointer-events: auto;
		margin-left: auto;
		margin-right: 0;
		animation: none !important;
		transform: none !important;
	}

	body.chefx-mobile-fixes.chefx-menu-open
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515,
	body.chefx-mobile-fixes.chefx-menu-closing
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515,
	body.chefx-mobile-fixes.chefx-menu-open
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515
		.elementor-button,
	body.chefx-mobile-fixes.chefx-menu-closing
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515
		.elementor-button {
		opacity: 1 !important;
		pointer-events: auto;
		flex-shrink: 0;
		overflow: visible;
		width: auto;
		max-width: none;
		text-align: right;
		transform: none;
		white-space: nowrap;
	}

	body.chefx-mobile-fixes.chefx-menu-open
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515
		.elementor-button-wrapper,
	body.chefx-mobile-fixes.chefx-menu-closing
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515
		.elementor-button-wrapper {
		display: inline-block;
	}
}

@media (min-width: 768px) {
	body.chefx-mobile-fixes.chefx-menu-open .elementor-location-header .elementor-element-2a92055,
	body.chefx-mobile-fixes.chefx-menu-closing .elementor-location-header .elementor-element-2a92055 {
		margin-left: 0.35rem !important;
		margin-right: 0 !important;
	}
}

/*
 * Below tablet: hide header Order Now when the menu is closed.
 * When the burger menu is open/closing, show it in the pinned header row
 * (beside the close control). Homepage hero overlay (.chefx-hero-overlay__order)
 * is separate and unchanged.
 */
@media (max-width: 767px) {
	body.chefx-mobile-fixes:not(.chefx-menu-open):not(.chefx-menu-closing)
		.elementor-location-header
		.elementor-element-b789d2a {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	body.chefx-mobile-fixes.chefx-menu-open
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a,
	body.chefx-mobile-fixes.chefx-menu-closing
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a {
		display: flex !important;
		position: relative;
		z-index: 10002;
		pointer-events: auto;
		margin-left: 0 !important;
		margin-right: auto !important;
		order: 2;
		animation: none !important;
		transform: none !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	body.chefx-mobile-fixes.chefx-menu-open
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515,
	body.chefx-mobile-fixes.chefx-menu-closing
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515,
	body.chefx-mobile-fixes.chefx-menu-open
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515
		.elementor-button,
	body.chefx-mobile-fixes.chefx-menu-closing
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515
		.elementor-button {
		opacity: 1 !important;
		pointer-events: auto;
		flex-shrink: 0;
		overflow: visible;
		width: auto;
		max-width: none;
		text-align: left;
		transform: none;
		white-space: nowrap;
	}

	body.chefx-mobile-fixes.chefx-menu-open
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515
		.elementor-button-wrapper,
	body.chefx-mobile-fixes.chefx-menu-closing
		.elementor-location-header
		.elementor-element-078714f
		> .e-con-inner
		> .elementor-element-b789d2a
		.elementor-element-8ec1515
		.elementor-button-wrapper {
		display: inline-block;
	}

	body.chefx-mobile-fixes.chefx-menu-open .elementor-location-header .elementor-element-2a92055,
	body.chefx-mobile-fixes.chefx-menu-closing .elementor-location-header .elementor-element-2a92055 {
		margin-left: auto !important;
		margin-right: 0 !important;
	}
}

@media (max-width: 767px) {
	body.chefx-mobile-fixes.home .elementor-67 .elementor-element-9eda6b2 {
		width: 100%;
		max-width: none;
		text-align: center;
		align-self: center;
	}

	body.chefx-mobile-fixes.home .elementor-67 .elementor-element-9eda6b2 .elementor-button-wrapper {
		display: block;
		width: auto;
		max-width: none;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}

	body.chefx-mobile-fixes.home .elementor-67 .elementor-element-9eda6b2 .elementor-button {
		width: auto;
		max-width: none;
		margin-left: auto;
		margin-right: auto;
		display: inline-block;
		transform: scale(0.85);
		transform-origin: center center;
	}

	body.chefx-mobile-fixes.home .elementor-67 .elementor-element-9eda6b2 .elementor-button:hover,
	body.chefx-mobile-fixes.home .elementor-67 .elementor-element-9eda6b2 .elementor-button:focus-visible {
		transform: scale(0.85);
	}
}

/* Header Order Now (8ec1515) — natural Elementor box; hamburger sync uses JS-measured height only */
body.chefx-mobile-fixes .elementor-location-header .elementor-element-8ec1515 .elementor-button {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

body.chefx-mobile-fixes .elementor-location-header .elementor-element-8ec1515 .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Measurement-only: chefxcafe-order-btn.js toggles .chefx-measure-order-btn on <body> */
body.chefx-mobile-fixes.chefx-measure-order-btn
	.elementor-location-header
	.elementor-element-8ec1515
	.elementor-button {
	line-height: 1;
	min-height: 0 !important;
}

/*
 * Hamburger toggle — late override after Elementor post-87 + mega-menu CSS.
 * Elementor sets --n-menu-toggle-icon-size: 20px on 7a3a117; svg width follows that var.
 */
body.chefx-mobile-fixes .elementor-location-header .elementor-element-7a3a117 {
	--n-menu-toggle-icon-size: calc(
		var(--chefx-header-order-btn-height) * var(--chefx-header-hamburger-icon-ratio, 0.58)
	);
}

body.chefx-mobile-fixes .elementor-location-header .elementor-element-7a3a117 .e-n-menu-toggle,
body.chefx-mobile-fixes .elementor-location-header .elementor-element-7a3a117 .e-n-menu-toggle[aria-expanded="true"] {
	min-height: var(--chefx-header-order-btn-height) !important;
	min-width: var(--chefx-header-order-btn-height) !important;
	height: var(--chefx-header-order-btn-height) !important;
	width: var(--chefx-header-order-btn-height) !important;
}

body.chefx-mobile-fixes .elementor-location-header .elementor-element-7a3a117 .e-n-menu-toggle svg,
body.chefx-mobile-fixes .elementor-location-header .elementor-element-7a3a117 .e-n-menu-toggle i {
	width: var(--n-menu-toggle-icon-size) !important;
	height: var(--n-menu-toggle-icon-size) !important;
	max-width: none !important;
	max-height: none !important;
	font-size: var(--n-menu-toggle-icon-size) !important;
}

/* Astra scroll-to-top (#ast-scroll-top) — match Order Now CTA rest + hover */
body.chefx-mobile-fixes #ast-scroll-top {
	background-color: var(--e-global-color-bf40bb4, #d1a460) !important;
	color: var(--e-global-color-primary, #000000) !important;
	border: 1px solid var(--e-global-color-bf40bb4, #d1a460);
	box-sizing: border-box;
	box-shadow: none;
	transition:
		background-color var(--chefx-cta-duration) var(--chefx-cta-ease),
		border-color var(--chefx-cta-duration) var(--chefx-cta-ease),
		box-shadow var(--chefx-cta-duration) var(--chefx-cta-ease),
		color var(--chefx-cta-duration) var(--chefx-cta-ease);
}

body.chefx-mobile-fixes #ast-scroll-top .ast-icon.icon-arrow svg,
body.chefx-mobile-fixes #ast-scroll-top .ast-icon.icon-arrow svg path {
	fill: var(--e-global-color-primary, #000000);
}

body.chefx-mobile-fixes #ast-scroll-top:hover .ast-icon.icon-arrow svg,
body.chefx-mobile-fixes #ast-scroll-top:hover .ast-icon.icon-arrow svg path,
body.chefx-mobile-fixes #ast-scroll-top:focus-visible .ast-icon.icon-arrow svg,
body.chefx-mobile-fixes #ast-scroll-top:focus-visible .ast-icon.icon-arrow svg path {
	fill: currentColor;
}

body.chefx-mobile-fixes #ast-scroll-top:hover {
	background-color: var(--chefx-cta-hover-bg) !important;
	color: var(--chefx-cta-hover-text) !important;
	border-color: var(--chefx-cta-hover-border) !important;
	box-shadow: var(--chefx-cta-hover-shadow);
}

body.chefx-mobile-fixes #ast-scroll-top:focus-visible {
	background-color: var(--chefx-cta-hover-bg) !important;
	color: var(--chefx-cta-hover-text) !important;
	border-color: var(--chefx-cta-hover-border) !important;
	box-shadow: var(--chefx-cta-hover-shadow);
	outline: 2px solid var(--chefx-cta-focus-outline);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	body.chefx-mobile-fixes .elementor-location-header .elementor-element-8ec1515 .elementor-button,
	body.chefx-mobile-fixes .elementor-element-9eda6b2 .elementor-button,
	body.chefx-mobile-fixes.home .chefx-hero-overlay__order,
	body.chefx-mobile-fixes #ast-scroll-top {
		transition: none;
	}

	body.chefx-mobile-fixes .elementor-location-header .elementor-element-8ec1515 .elementor-button:hover,
	body.chefx-mobile-fixes .elementor-element-9eda6b2 .elementor-button:hover,
	body.chefx-mobile-fixes.home .chefx-hero-overlay__order:hover,
	body.chefx-mobile-fixes #ast-scroll-top:hover,
	body.chefx-mobile-fixes #ast-scroll-top:focus-visible {
		box-shadow: none;
	}
}
