/* Elevare recipes. Place in the Avada child theme folder next to elevare-recipes.php.
   Colours fall back to Avada's global colours where available; change the fallbacks if needed. */

.elv-listing,
.elv-recipe {
	--elv-text: var(--awb-color8, #212934);
	--elv-muted: #5f6772;
	--elv-line: #dcdfe3;
	--elv-accent: var(--awb-color5, #1d3557);
	--elv-soft: #f5f6f7;
	color: var(--elv-text);
}

/* Filters */
.elv-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: flex-end;
	margin: 0 0 20px;
}
.elv-field label {
	display: block;
	margin-bottom: 4px;
	font-size: 13px;
	color: var(--elv-muted);
}
.elv-field select,
.elv-field input[type="search"] {
	min-width: 150px;
	padding: 9px 10px;
	border: 1px solid var(--elv-line);
	border-radius: 4px;
	background: #fff;
	font-size: 15px;
}
.elv-field select:focus-visible,
.elv-field input:focus-visible,
.elv-btn:focus-visible,
.elv-card a:focus-visible {
	outline: 2px solid var(--elv-accent);
	outline-offset: 2px;
}
.elv-actions {
	display: flex;
	align-items: center;
	gap: 14px;
}
.elv-btn {
	display: inline-block;
	padding: 10px 20px;
	border: 1px solid var(--elv-accent);
	border-radius: 4px;
	background: var(--elv-accent);
	color: #fff;
	font-size: 15px;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}
.elv-btn:hover {
	opacity: 0.9;
	color: #fff;
}
.elv-btn-alt {
	background: transparent;
	color: var(--elv-accent);
}
.elv-btn-alt:hover {
	color: var(--elv-accent);
}
.elv-reset {
	font-size: 14px;
}
.elv-count {
	margin: 0 0 18px;
	font-size: 14px;
	color: var(--elv-muted);
}
.elv-empty {
	padding: 24px 0;
}

/* Grid and cards */
.elv-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 28px 22px;
}
.elv-grid-small {
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
}
.elv-card a {
	display: block;
	color: inherit;
	text-decoration: none;
}
.elv-card-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 4px;
	background: var(--elv-soft);
}
.elv-card h3 {
	margin: 12px 0 4px;
	font-size: 18px;
	line-height: 1.3;
}
.elv-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--elv-muted);
}
.elv-card a:hover h3 {
	text-decoration: underline;
}

/* Chips */
.elv-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}
.elv-card .elv-chips {
	margin: 6px 0 0;
}
.elv-chip {
	margin: 0;
	padding: 3px 10px;
	border: 1px solid var(--elv-line);
	border-radius: 999px;
	font-size: 12px;
	color: var(--elv-muted);
}

/* Pagination */
.elv-pagination {
	margin-top: 32px;
}
.elv-pagination .page-numbers {
	display: inline-block;
	margin-right: 6px;
	padding: 6px 12px;
	border: 1px solid var(--elv-line);
	border-radius: 4px;
	text-decoration: none;
}
.elv-pagination .current {
	background: var(--elv-accent);
	border-color: var(--elv-accent);
	color: #fff;
}

/* Single recipe */
.elv-recipe {
	margin-top: 32px;
}
.elv-block {
	margin: 0 0 28px;
}
.elv-block h3,
.elv-cta h3 {
	margin: 0 0 10px;
	font-size: 20px;
}
.elv-ingredients,
.elv-products,
.elv-method {
	margin: 0;
	padding: 0;
}
.elv-ingredients,
.elv-products {
	list-style: none;
}
.elv-ingredients li {
	display: flex;
	gap: 14px;
	padding: 8px 0;
	border-bottom: 1px solid var(--elv-line);
}
.elv-qty {
	flex: 0 0 90px;
	font-weight: 600;
}
.elv-products li {
	padding: 4px 0;
}
.elv-method {
	padding-left: 22px;
}
.elv-method li {
	margin-bottom: 10px;
	line-height: 1.6;
}
.elv-meta {
	margin: 6px 0 0;
}
.elv-video iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}
.elv-share a {
	margin-right: 18px;
}
.elv-cta {
	padding: 22px;
	border-radius: 4px;
	background: var(--elv-soft);
}
.elv-cta p {
	margin: 0 0 14px;
}
.elv-credit {
	margin: 18px 0 28px;
	font-size: 13px;
	color: var(--elv-muted);
}

@media (max-width: 600px) {
	.elv-field,
	.elv-field select,
	.elv-field input[type="search"] {
		width: 100%;
	}
	.elv-qty {
		flex-basis: 70px;
	}
}

@media print {
	.elv-filters,
	.elv-share,
	.elv-cta,
	.elv-video {
		display: none;
	}
}
