/* Print page - iambaker layout: controls on top, recipe in a bordered light box (650 px). */
html { font-size: 14px; }
body.ffr-print-page { margin: 0; padding: 20px 16px 48px; background: #fff; color: #333; font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.6; }
body.ffrp-smaller { font-size: 12px; }
body.ffrp-larger { font-size: 17px; }
.ffrp-controls { text-align: center; font-size: 16px; margin: 0 auto 40px; }
.ffrp-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 20px; margin: 0 0 16px; }
.ffrp-btn { display: inline-block; padding: 9px 20px; border: 1px solid #333; border-radius: 3px; background: #fff; color: #333; font: inherit; text-decoration: none; cursor: pointer; line-height: 1.4; }
.ffrp-btn--dark { background: #333; color: #fff; }
.ffrp-toggle { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.ffrp-toggle input { width: 20px; height: 20px; margin: 0; accent-color: #333; }
.ffrp-servings { display: inline-flex; align-items: center; }
.ffrp-step { width: 20px; height: 28px; padding: 0; border: 0; background: #333; color: #fff; font: inherit; cursor: pointer; line-height: 1; }
.ffrp-step:first-child { border-radius: 3px 0 0 3px; }
.ffrp-servings input { width: 40px; height: 28px; border: 1px solid #333; border-left: 0; border-right: 0; text-align: center; font: inherit; padding: 0; -moz-appearance: textfield; }
.ffrp-servings input::-webkit-inner-spin-button, .ffrp-servings input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ffrp-servings [data-ffrp="more"] { border-radius: 0 3px 3px 0; }
.ffrp-servings-label { margin-left: 6px; }
.ffrp-size { display: inline-flex; border: 1px solid #333; border-radius: 3px; overflow: hidden; }
.ffrp-size button { border: 0; background: #fff; color: #333; font: inherit; padding: 2px 10px; cursor: pointer; }
.ffrp-size button.is-on { background: #333; color: #fff; }
.ffrp-btn:focus-visible, .ffrp-size button:focus-visible, .ffrp-step:focus-visible { outline: 2px solid #587570; outline-offset: 2px; }

.ffrp-recipe { box-sizing: border-box; max-width: 650px; margin: 0 auto; padding: 10px; border: 1px solid #333; background: #fafafa; font-size: 1rem; }
body.ffrp-smaller .ffrp-recipe { font-size: 12px; }
body.ffrp-larger .ffrp-recipe { font-size: 17px; }
.ffrp-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.ffrp-title { font-size: 1.86em; font-weight: 700; line-height: 1.3; margin: 0 0 4px; color: #000; }
.ffrp-summary p { margin: 0; }
.ffrp-rating { flex: none; text-align: center; font-size: .86em; color: #333; }
.ffrp-stars { display: flex; color: #333; }
.ffrp-stars svg { width: 16px; height: 18px; margin: 0 1px; }
.ffrp-image { text-align: center; margin: 10px 0 0; }
.ffrp-image img { max-width: 250px; height: auto; }
.ffrp-image[hidden] { display: none; }
.ffrp-times { display: flex; margin: 16px 0 14px; padding: 5px 0; border-top: 1px solid #777; border-bottom: 1px solid #777; text-align: center; }
.ffrp-time { flex: 1 1 0; border-left: 1px solid #777; padding: 0 8px; }
.ffrp-time:first-child { border-left: 0; }
.ffrp-time .ffrp-label { display: block; color: #777; }
.ffrp-value { display: block; }
.ffrp-meta { margin: 0 0 24px; }
.ffrp-meta-item { display: inline-block; margin-right: 16px; }
.ffrp-label { color: #777; }
.ffrp-h { font-size: 1.15em; font-weight: 700; color: #000; margin: 20px 0 2px; }
.ffrp-group { font-size: 1em; font-weight: 700; margin: 8px 0 2px; }
.ffrp-ingredients { margin: 0 0 8px; padding-left: 32px; list-style: disc; }
.ffrp-ingredients li { margin: 0; }
.ffrp-notes { color: #777; }
.ffrp-steps { margin: 0 0 8px; padding-left: 32px; }
.ffrp-steps li { margin: 0 0 6px; }
.ffrp-steps img, .ffrp-notes-body img { display: none; }
.ffrp-nutrition p { margin: 0; }
.ffrp-nutrition[hidden] { display: none; }
small { font-size: .8em; }
@media print {
	.ffrp-controls { display: none; }
	body.ffr-print-page { padding: 0; }
	.ffrp-recipe { border: 0; background: #fff; max-width: none; padding: 0; }
}
