/* End custom CSS */

.elementor-34430 .elementor-element.elementor-element-f686c70 {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

.elementor-34430 .elementor-element.elementor-element-0adcbca {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
	--margin-top: 80px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--margin-right: 0px;
}

.elementor-widget-theme-archive-title .elementor-heading-title {
	color: var(--e-global-color-primary);
}

.elementor-34430 .elementor-element.elementor-element-c6d46a4 {
	text-align: center;
}

.elementor-widget-text-editor {
	color: var(--e-global-color-text);
}

.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap {
	background-color: var(--e-global-color-primary);
}

.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap {
	color: var(--e-global-color-primary);
	border-color: var(--e-global-color-primary);
}

/* Start custom CSS for html, class: .elementor-element-e810463 */

/* BACK TO ALL RECIPES LINK */
.back-to-all {
	text-align: left;
	/* Or center, depending on your layout */
	margin-bottom: 30px;
}

.back-to-all a {
	font-family: "League Spartan", sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 4px !important;
	text-transform: uppercase !important;
	color: #a2b9cd !important;
	/* The soft blue-grey from your labels */
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	transition: all .3s ease;
}

.back-to-all .arrow {
	margin-right: 10px;
	font-size: 14px;
	transition: transform .3s ease;
}

/* HOVER INTERACTION */
.back-to-all a:hover {
	color: #427898 !important;
}

.back-to-all a:hover .arrow {
	transform: translateX(-5px);
}

/* End custom CSS */

/* Start custom CSS for theme-archive-title, class: .elementor-element-c6d46a4 */
.elementor-34430 .elementor-element.elementor-element-c6d46a4 .elementor-heading-title {
	font-family: "League Spartan", sans-serif !important;
	color: #455560 !important;
	font-size: 70px !important;
	/* Adjusted for League Spartan's scale */
	font-weight: 800 !important;
	/* Bold/Extra-Bold */
	text-transform: uppercase !important;
	letter-spacing: -3px !important;
	/* Tight tracking for that specific look */
	line-height: .85em !important;
	text-align: center;
	margin-top: 0;
	margin-bottom: 15px;
}

/* Mobile Adjustment */
@media (max-width: 767px) {
	.elementor-34430 .elementor-element.elementor-element-c6d46a4 .elementor-heading-title {
		font-size: 42px !important;
		letter-spacing: -1.5px !important;
	}
}

/* End custom CSS */

/* Start custom CSS for text-editor, class: .elementor-element-9cf6ddb */

/* EDITORIAL ARCHIVE DESCRIPTION STYLE - WIDER VERSION */
.elementor-widget-text-editor {
	/* Increased from 700px to 900px for a better horizontal balance */
	max-width: 900px !important;
	margin: 0 auto 60px auto !important;
}

.elementor-widget-text-editor p {
	font-family: "League Spartan", sans-serif !important;
	font-size: 16px !important;
	/* Slightly larger font to match the wider width */
	line-height: 1.7 !important;
	color: #455560 !important;
	font-weight: 400;
	letter-spacing: .3px !important;
	text-align: center;
}

/* THE MANIFESTO LEAD-IN */
.elementor-widget-text-editor p strong {
	color: #427898 !important;
	text-transform: uppercase;
	letter-spacing: 3px !important;
	font-size: 13px !important;
	display: inline-block;
	/* Changed to inline-block so it flows with the text */
	margin-bottom: 5px;
}

/* End custom CSS */

/* Start custom CSS for html, class: .elementor-element-d5fd05a */

/* 1. CONTAINER & SEARCH OVERLAP FIX */
.he-cooks-engine-wrap {
	position: relative;
	z-index: 1;
	margin: 40px auto;
	max-width: 1200px;
}

.search-row {
	position: relative;
	margin-bottom: 60px;
}

/* SEARCH RESULTS DROPDOWN - Branded Float + Scroll Fix */
.fcomplete-results {
	position: absolute !important;
	z-index: 9999 !important;
	background: #fff !important;
	border: none !important;
	box-shadow: 0 15px 45px rgba(69, 85, 96, .2) !important;
	width: 100% !important;
	margin-top: 5px;
	padding: 10px 0 !important;
	/* SCROLL FIX: Limits height and enables vertical scrolling */
	max-height: 400px !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
}

/* INDIVIDUAL SEARCH RESULT ROWS */
.fcomplete-result {
	padding: 12px 25px !important;
	font-family: "League Spartan", sans-serif !important;
	font-size: 15px !important;
	color: #455560 !important;
	transition: all .2s ease !important;
	cursor: pointer;
	border-bottom: 1px solid rgba(69, 85, 96, .05);
}

.fcomplete-result:last-child {
	border-bottom: none;
}

/* SEARCH RESULT HOVER */
.fcomplete-result:hover, .fcomplete-result.selected {
	background-color: rgba(162, 185, 205, .1) !important;
	color: #427898 !important;
	padding-left: 30px !important;
}

/* Custom Scrollbar Styling for a premium feel */
.fcomplete-results::-webkit-scrollbar {
	width: 8px;
}

.fcomplete-results::-webkit-scrollbar-track {
	background: #f1f1f1;
}

.fcomplete-results::-webkit-scrollbar-thumb {
	background: #a2b9cd;
	border-radius: 10px;
}

.fcomplete-results::-webkit-scrollbar-thumb:hover {
	background: #455560;
}

/* 2. THE EDITORIAL SEARCH BAR (INPUT) */
.editorial-label {
	display: block;
	font-family: "League Spartan", sans-serif;
	font-size: 13px;
	letter-spacing: 4px;
	color: #a2b9cd;
	text-align: center;
	margin-bottom: 15px;
	font-weight: 600;
}

.facetwp-type-autocomplete input {
	border: none !important;
	border-bottom: 2px solid #455560 !important;
	background: transparent !important;
	font-family: "League Spartan", sans-serif !important;
	font-size: 32px !important;
	text-transform: uppercase;
	text-align: center;
	color: #455560 !important;
	width: 100% !important;
	padding-bottom: 10px !important;
}

.facetwp-autocomplete-update {
	display: none !important;
}

/* 3. THE 3:4 EDITORIAL GRID */
.facetwp-template {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 60px 40px !important;
}

.recipe-image-wrap {
	position: relative;
	overflow: hidden;
	box-shadow: 0 8px 25px rgba(69, 85, 96, .15) !important;
	transition: all .4s ease;
}

.recipe-image-wrap img {
	width: 100% !important;
	aspect-ratio: 3/4 !important;
	object-fit: cover !important;
	display: block;
	transition: transform .6s ease;
}

/* 4. REFINED HOVER EFFECTS */
.recipe-card-modular:hover .recipe-image-wrap {
	transform: translateY(-8px);
	box-shadow: 0 15px 35px rgba(69, 85, 96, .25) !important;
}

.recipe-card-modular:hover img {
	transform: scale(1.05);
}

.recipe-name {
	font-family: "League Spartan", sans-serif !important;
	color: #455560 !important;
	font-size: 18px !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	letter-spacing: 1px;
	margin-top: 25px !important;
	line-height: 1.3;
	display: block;
	text-decoration: none !important;
	transition: color .3s ease;
}

.recipe-card-modular:hover .recipe-name {
	color: #427898 !important;
	opacity: 1;
}

/* 5. LOAD MORE BUTTON */
.pagination-wrap {
	text-align: center;
	margin-top: 60px;
}

.facetwp-load-more {
	background: transparent !important;
	border: 2px solid #455560 !important;
	color: #455560 !important;
	font-family: "League Spartan", sans-serif !important;
	padding: 15px 45px !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	cursor: pointer;
	transition: all .3s ease !important;
}

.facetwp-load-more:hover {
	background: #455560 !important;
	color: #fff !important;
}

/* ============================================================
   MOBILE & TABLET OPTIMIZATION (Structural Integrity Maintained)
   ============================================================ */
@media (max-width: 1024px) {
	/* Tablet: Switch to 2 columns to prevent cramped images */
	.facetwp-template {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 40px 30px !important;
	}
}

@media (max-width: 768px) {
	/* 1. WRAPPER: Creates a "frame" so content doesn't hit screen edges */
	.he-cooks-engine-wrap {
		margin: 20px auto;
		padding: 0 25px !important;
		box-sizing: border-box;
	}
	
	/* 2. SEARCH INPUT: Scaled down for mobile viewport width */
	.facetwp-type-autocomplete input {
		font-size: 22px !important;
		padding-bottom: 8px !important;
		letter-spacing: 1px;
	}
	
	.editorial-label {
		font-size: 11px;
		letter-spacing: 2px;
		margin-bottom: 10px;
	}
	
	/* 3. GRID: Stacks to 1 column with centered spacing */
	.facetwp-template {
		grid-template-columns: 1fr !important;
		gap: 50px 0 !important;
		width: 100%;
		margin: 0 auto !important;
	}
	
	/* 4. TITLES: Prevents "stretched" edge-to-edge look */
	.recipe-name {
		font-size: 17px !important;
		margin-top: 20px !important;
		padding: 0 10px !important;
		/* Internal breathing room */
		text-align: center;
		/* Centering helps the "stretched" feeling on mobile */
		max-width: 90%;
		/* Forces a wrap before the edge */
		margin-left: auto !important;
		margin-right: auto !important;
	}
	
	/* 5. SEARCH DROPDOWN: Thumb-friendly sizing */
	.fcomplete-results {
		max-height: 320px !important;
		width: calc(100% - 10px) !important;
	}
	
	.fcomplete-result {
		padding: 15px 20px !important;
		font-size: 16px !important;
	}
	
	/* 6. BUTTON: Full-width tap target */
	.facetwp-load-more {
		width: 100%;
		box-sizing: border-box;
		padding: 18px 0 !important;
		font-size: 14px !important;
	}
	
	/* Ensure images don't lose their 3:4 ratio on mobile */
	.recipe-image-wrap img {
		aspect-ratio: 3/4 !important;
	}
}
