/* Recipe Cards — Saveur Kitchen (food). Warm paper cards, round plate photos, recipe chips. */
.epg-recipes {
	--rc-paper: #fbf3ea; --rc-paper-2: #f4e4d3; --rc-ink: #3b2418; --rc-brown: #8a5a3c; --rc-amber: #f59e0b;
	--rc-gap: 28px; --rc-plate: 212px;
}
[data-theme="dark"] .epg-recipes { --rc-paper: #1f1815; --rc-paper-2: #2c221d; --rc-ink: #f6ebe1; --rc-brown: #d6ad8c; }

.epg-recipes__grid { --cols: 3; display: flex; flex-wrap: wrap; justify-content: center; gap: calc(var(--rc-plate) * .42 + 26px) var(--rc-gap); padding-top: calc(var(--rc-plate) * .42); }
.epg-recipes__card {
	position: relative; display: flex; flex: 0 0 calc((100% - (var(--cols) - 1) * var(--rc-gap)) / var(--cols)); flex-direction: column; align-items: center; min-width: 0;
	border-radius: 30px; background: var(--rc-paper); color: var(--rc-ink);
	box-shadow: 0 1px 0 rgba(120, 70, 40, .06), 0 22px 40px -28px rgba(120, 60, 30, .45);
	transition: transform .35s ease, box-shadow .35s ease;
}
.epg-recipes__grid:has(> .epg-recipes__card:nth-child(4):last-child),
.epg-recipes__grid:has(> .epg-recipes__card:nth-child(8):last-child) { --cols: 4; --rc-plate: 176px; --rc-gap: 22px; }
.epg-recipes__card:hover { transform: translateY(-4px); box-shadow: 0 1px 0 rgba(120, 70, 40, .06), 0 30px 50px -26px color-mix(in srgb, var(--accent) 45%, transparent); }

/* the plate */
.epg-recipes__plate {
	position: relative; display: block; flex-shrink: 0; width: var(--rc-plate); max-width: 78%; aspect-ratio: 1; min-height: 0; overflow: visible; margin-top: calc(var(--rc-plate) * -.42);
	padding: 10px; border-radius: 50%;
	background: radial-gradient(circle at 50% 45%, #ffffff 62%, #efe4d8 100%);
	box-shadow: 0 20px 34px -14px rgba(90, 45, 20, .45), inset 0 0 0 1px rgba(120, 80, 50, .08);
}
.epg-recipes__plate::after { content: ''; position: absolute; inset: 4px; border-radius: 50%; border: 1px dashed rgba(150, 100, 70, .22); pointer-events: none; }
.epg-recipes__img { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0, 0, 0, .06); }
.epg-recipes__img img, .epg-recipes__img .epj-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.2, .7, .2, 1); }
.epg-recipes__card:hover .epg-recipes__img img { transform: rotate(14deg) scale(1.06); }
[data-theme="dark"] .epg-recipes__plate { background: radial-gradient(circle at 50% 45%, #3a2e28 62%, #261d19 100%); box-shadow: 0 20px 34px -14px rgba(0, 0, 0, .7), inset 0 0 0 1px rgba(255, 255, 255, .06); }
[data-theme="dark"] .epg-recipes__plate::after { border-color: rgba(255, 220, 190, .14); }

.epg-recipes__stamp {
	position: absolute; top: 18px; right: 16px; z-index: 2; display: inline-flex; align-items: center; gap: 5px;
	padding: 7px 11px; border-radius: 999px; background: var(--accent-fill, var(--accent)); color: var(--on-accent-fill, #fff);
	font: 700 10.5px/1 var(--font-body, sans-serif); letter-spacing: .8px; text-transform: uppercase; transform: rotate(6deg);
	box-shadow: 0 8px 18px -6px color-mix(in srgb, var(--accent) 60%, transparent);
}
.epg-recipes__stamp i { font-size: 13px; }

.epg-recipes__body { display: flex; flex: 1; flex-direction: column; align-items: center; width: 100%; padding: 20px 26px 0; text-align: center; }
.epg-recipes__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 12px; margin-bottom: 10px; }
.epg-recipes__no { color: var(--accent-text, var(--accent)); font: italic 700 14px/1 var(--font-heading); }
.epg-recipes__cat { position: relative; padding-left: 14px; color: var(--rc-brown) !important; font: 700 11px/1 var(--font-body, sans-serif); letter-spacing: 1.4px; text-transform: uppercase; }
.epg-recipes__cat::before { content: ''; position: absolute; left: 0; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: var(--rc-amber); }
.epg-recipes__cat:hover { color: var(--accent-text, var(--accent)) !important; }
.epg-recipes__title { margin: 0 0 10px; font-family: var(--font-heading); font-size: 1.16rem; font-weight: 700; line-height: 1.42; letter-spacing: -.2px; }
.epg-recipes__title a { color: var(--rc-ink); transition: color .2s; }
.epg-recipes__title a:hover { color: var(--accent-text, var(--accent)); }
.epg-recipes__excerpt { max-width: 34ch; margin: 0 0 18px; font-size: 14.5px; line-height: 1.65; color: color-mix(in srgb, var(--rc-ink) 66%, transparent); }

.epg-recipes__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin: auto 0 22px; padding: 0; list-style: none; }
.epg-recipes__chips li { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 7px 11px; border-radius: 999px; background: var(--rc-paper-2); color: var(--rc-ink); font: 600 12.5px/1 var(--font-body, sans-serif); white-space: nowrap; }
.epg-recipes__chips li::marker { content: none; }
.epg-recipes__chips i { color: var(--accent-text, var(--accent)); font-size: 14px; }
.epg-recipes__dots { display: inline-flex; gap: 3px; }
.epg-recipes__dots i { display: block; width: 6px; height: 6px; border-radius: 50%; background: color-mix(in srgb, var(--rc-amber) 30%, transparent); }
.epg-recipes__lvl[data-level="1"] .epg-recipes__dots i:nth-child(-n+1),
.epg-recipes__lvl[data-level="2"] .epg-recipes__dots i:nth-child(-n+2),
.epg-recipes__lvl[data-level="3"] .epg-recipes__dots i { background: var(--rc-amber); }

/* recipe-card tear line with notches */
.epg-recipes__foot {
	position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; align-self: stretch;
	margin: 0 -26px; padding: 16px 24px 18px; border-top: 2px dashed color-mix(in srgb, var(--rc-brown) 26%, transparent); text-align: left;
}
.epg-recipes__foot::before, .epg-recipes__foot::after { content: ''; position: absolute; top: -10px; width: 18px; height: 18px; border-radius: 50%; background: var(--bg-body); }
.epg-recipes__foot::before { left: -9px; } .epg-recipes__foot::after { right: -9px; }
.epg-recipes__who { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: 12.5px; line-height: 1.3; color: color-mix(in srgb, var(--rc-ink) 60%, transparent); }
.epg-recipes__by { overflow: hidden; color: var(--rc-ink); font: italic 700 13px/1.3 var(--font-heading); white-space: nowrap; text-overflow: ellipsis; }
.epg-recipes__go { display: inline-flex; flex-shrink: 0; align-items: center; gap: 6px; padding: 9px 14px; border-radius: 999px; border: 1.5px solid color-mix(in srgb, var(--accent) 40%, transparent); color: var(--accent-text, var(--accent)) !important; font: 700 12.5px/1 var(--font-body, sans-serif); transition: background .2s, color .2s, border-color .2s; }
.epg-recipes__go i { font-size: 14px; transition: transform .25s; }
.epg-recipes__go:hover { border-color: var(--accent); background: var(--accent-fill, var(--accent)); color: var(--on-accent-fill, #fff) !important; }
.epg-recipes__card:hover .epg-recipes__go i { transform: translateX(3px); }
.epg-recipes__grid:has(> .epg-recipes__card:nth-child(4):last-child) .epg-recipes__go { padding: 9px; }
.epg-recipes__grid:has(> .epg-recipes__card:nth-child(4):last-child) .epg-recipes__go { font-size: 0; gap: 0; }

[data-theme="dark"] .epg-recipes__card { box-shadow: 0 0 0 1px rgba(255, 230, 210, .06), 0 24px 40px -26px rgba(0, 0, 0, .8); }
[data-theme="dark"] .epg-recipes__stamp { color: var(--on-accent-fill, #fff); }

@media (max-width: 1100px) {
	.epg-recipes__grid:has(> .epg-recipes__card:nth-child(4):last-child),
	.epg-recipes__grid:has(> .epg-recipes__card:nth-child(8):last-child) { --cols: 2; --rc-plate: 200px; }
	.epg-recipes__grid:has(> .epg-recipes__card:nth-child(4):last-child) .epg-recipes__go { padding: 9px 14px; font-size: 12.5px; gap: 6px; }
}
@media (max-width: 992px) {
	.epg-recipes__grid { --cols: 2; --rc-plate: 190px; --rc-gap: 22px; }
}
@media (max-width: 600px) {
	.epg-recipes__grid.epg-recipes__grid { --cols: 1 !important; --rc-plate: 200px !important; }
	.epg-recipes__body { padding: 18px 20px 0; }
	.epg-recipes__foot { margin: 0 -20px; padding: 14px 18px 16px; }
}
