/* Portion controls within the existing version-3 ingredients card. */
.recipe-ingredients .recipe-portions:not([hidden]) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0.75rem 0;
	padding: 0.5rem;
	border: 1px solid #d8cebb;
	border-radius: 12px;
	font-size: 0.95rem;
}
.recipe-ingredients .recipe-portions button {
	width: 2.75rem;
	height: 2.75rem;
	flex: 0 0 2.75rem;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: #eee5d5;
	color: #241f19;
	font: inherit;
	font-size: 1.3rem;
	cursor: pointer;
}
.recipe-ingredients .recipe-portions button:hover { background: #e3d6c0; }
.recipe-ingredients .recipe-portions button:disabled { opacity: 0.4; cursor: default; }
.recipe-ingredients .recipe-portions button:focus-visible { outline: 2px solid #8a6b3f; outline-offset: 3px; }
.recipe-ingredients .recipe-portions output { font-weight: 700; }
.recipe-portions-value { width: 4.5rem; box-sizing: border-box; padding: 0.4rem 0.15rem; border: 1px solid #d8cebb; border-radius: 6px; background: #fffdf8; color: #241f19; font: inherit; font-weight: 700; text-align: center; appearance: textfield; }
.recipe-portions-value::-webkit-inner-spin-button { appearance: none; }
.recipe-portions-value:focus-visible { outline: 2px solid #8a6b3f; outline-offset: 3px; }
.recipe-ingredients .recipe-portion-notice,
.recipe-ingredients .recipe-scaling-notes {
	margin: 0.75rem 0;
	color: #575149;
	font-size: 0.8rem;
	line-height: 1.5;
}
.recipe-ingredients .recipe-scaling-notes summary { cursor: pointer; }
.recipe-ingredients .recipe-scaling-notes p { margin: 0.65rem 0; }
.recipe-ingredients[data-shopping-list] .recipe-yield { border-bottom: 0; padding-bottom: 0; }
.recipe-shopping-switch + .ingredient-group { border-top: 1px solid #d8cebb; padding-top: 1rem; }
.recipe-shopping-switch:not([hidden]) {
	display: flex;
	gap: 0.25rem;
	margin: 1rem 0;
	padding: 0.25rem;
	border: 1px solid #d8cebb;
	border-radius: 9px;
}
.recipe-shopping-switch button {
	flex: 1;
	min-height: 44px;
	padding: 0.5rem 0.25rem;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #575149;
	font: inherit;
	font-size: 0.82rem;
	cursor: pointer;
}
.recipe-shopping-switch button[aria-pressed="true"] { background: #ddd0b8; color: #241f19; font-weight: 700; box-shadow: 0 1px 3px #241f1920; }
.recipe-ingredients .ingredient-group li { display: flex; align-items: baseline; gap: 0.65rem; }
.recipe-ingredients .ingredient-group input:not([hidden]) { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: #806944; cursor: pointer; }
.recipe-ingredients .ingredient-group .shopping-struck > span { text-decoration: line-through; text-decoration-color: #9b8f7c; opacity: 0.62; }
.recipe-shopping-actions { border-top: 1px solid #d8cebb; margin: 1rem 0; padding-top: 1rem; }
.recipe-shopping-actions button,
.recipe-shopping-dialog button[data-shopping-continue] { border: 1px solid #bcac90; border-radius: 7px; padding: 0.65rem 0.9rem; background: #eee5d5; color: #241f19; font: inherit; font-size: 0.83rem; cursor: pointer; }
.recipe-shopping-actions button:disabled { opacity: 0.55; cursor: wait; }
.recipe-shopping-switch button:focus-visible,
.recipe-shopping-actions button:focus-visible,
.recipe-shopping-dialog button:focus-visible { outline: 2px solid #8a6b3f; outline-offset: 3px; }
.recipe-shopping-status { font-size: 0.8rem; color: #575149; line-height: 1.5; margin: 0.65rem 0 0; }
.recipe-shopping-status:empty { display: none; }
.recipe-shopping-dialog { width: min(440px, calc(100vw - 40px)); box-sizing: border-box; border: 1px solid #d8cebb; border-radius: 15px; padding: 28px; background: #fffdf8; color: #241f19; box-shadow: 0 12px 70px #241f1933; }
.recipe-shopping-dialog::backdrop { background: #241f1966; }
.recipe-shopping-dialog h2 { margin: 0 18px 14px 0; font-size: 1.45rem; }
.recipe-shopping-dialog p { font-size: 0.88rem; line-height: 1.6; }
.recipe-shopping-dialog-close { position: absolute; top: 8px; right: 10px; border: 0; background: transparent; color: inherit; width: 36px; height: 36px; font-size: 1.5rem; cursor: pointer; }
.recipe-shopping-account-links { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1rem 0; }
.recipe-shopping-account-links a { color: #6d5232; text-underline-offset: 3px; }
@media print {
	.recipe-shopping-switch,
	.recipe-shopping-actions,
	.recipe-shopping-dialog,
	.recipe-ingredients .ingredient-group input,
	.recipe-ingredients .recipe-portions button,
	.recipe-ingredients .recipe-scaling-notes { display: none; }
}
