.pp-recipe-card { max-width: 800px; margin: 0 auto; font-size: 1rem; line-height: 1.6; }

.pp-cheat-badge {
	display: inline-block;
	background: #c0392b;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 2px 10px;
	border-radius: 3px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 12px;
}

.pp-description { font-style: italic; color: #555; margin-bottom: 20px; }

/* Meta bar */
.pp-meta-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	background: #f8f8f8;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	padding: 14px 18px;
	margin-bottom: 28px;
}
.pp-meta-item { display: flex; flex-direction: column; min-width: 70px; }
.pp-meta-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.06em; color: #888; }
.pp-meta-value { font-weight: 700; font-size: 1rem; color: #222; }

/* Sections */
.pp-section { margin-bottom: 32px; }
.pp-section-title { font-size: 1.1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 2px solid #222; padding-bottom: 6px; margin-bottom: 14px; }

/* Ingredients — two-column table */
.pp-ingredient-table { width: 100%; border-collapse: collapse; }
.pp-ingredient-table tr { border-bottom: 1px solid #f0f0f0; }
.pp-ingredient-table tr:last-child { border-bottom: none; }
.pp-ingredient-table td { padding: 7px 0; vertical-align: top; }
.pp-ing-qty { text-align: right; width: 110px; padding-right: 18px !important; white-space: nowrap; color: #555; font-variant-numeric: tabular-nums; }
.pp-ing-name-col { text-align: left; }

/* Instructions */
.pp-instruction-list { padding-left: 24px; margin: 0; }
.pp-instruction-list li { padding: 8px 0; border-bottom: 1px solid #f0f0f0; }
.pp-instruction-list li:last-child { border-bottom: none; }

/* Nutrition */
.pp-nutrition-note { font-size: 0.8rem; color: #888; margin-bottom: 12px; }
.pp-nutrition-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.pp-nutrition-table th,
.pp-nutrition-table td { padding: 8px 12px; text-align: left; border-bottom: 1px solid #eee; }
.pp-nutrition-table thead th { background: #f4f4f4; font-weight: 700; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; }
.pp-nutrition-table tbody th { font-weight: 600; color: #333; }
.pp-per-oz-row { background: #fffbe6; font-weight: 600; }
.pp-food-scale-note { font-size: 0.75rem; font-weight: normal; color: #888; }

/* Yield sub-units in meta bar */
.pp-meta-yield { flex-direction: column; }
.pp-meta-sub { font-size: 0.72rem; color: #888; margin-top: 2px; }

/* Portion calculator */
.pp-calculator { margin-top: 20px; padding: 16px; background: #f9f9f9; border: 1px solid #e5e5e5; border-radius: 6px; }
.pp-calc-title { font-size: 0.95rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; margin: 0 0 12px; }
.pp-calc-controls { display: flex; flex-direction: column; gap: 10px; }
.pp-calc-input-row { display: flex; align-items: center; gap: 10px; }
.pp-calc-input { width: 90px; padding: 6px 8px; font-size: 1rem; border: 1px solid #ccc; border-radius: 4px; }
.pp-unit-label { font-weight: 700; min-width: 20px; }
.pp-unit-toggle { padding: 5px 10px; font-size: 0.8rem; cursor: pointer; border: 1px solid #999; border-radius: 4px; background: #fff; }
.pp-unit-toggle:hover { background: #f0f0f0; }
.pp-calc-slider { width: 100%; accent-color: #222; cursor: pointer; }
.pp-calc-results { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 0.88rem; }
.pp-calc-results th { background: #eee; padding: 6px 10px; text-align: left; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; }
.pp-calc-results td { padding: 8px 10px; font-weight: 600; border-bottom: 1px solid #eee; }

/* Attribution */
.pp-attribution { margin-top: 24px; font-size: 0.85rem; color: #888; border-top: 1px solid #eee; padding-top: 12px; }
.pp-attribution a { color: #555; }

@media ( max-width: 600px ) {
	.pp-nutrition-table { font-size: 0.78rem; }
	.pp-nutrition-table th,
	.pp-nutrition-table td { padding: 6px 6px; }
}
