.recipe-actions { margin:22px 0 24px; }
.recipe-action-buttons { display:flex; flex-wrap:wrap; gap:10px; }
.recipe-action-buttons button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:11px 16px; border:1px solid var(--ink); border-radius:12px; background:#f1f8e5; color:var(--ink); font:inherit; font-size:13px; font-weight:650; cursor:pointer; }
.recipe-action-buttons button:hover { background:#dff0be; }
.recipe-action-buttons button+button { background:#fffaf2; }
.recipe-action-buttons button+button:hover { background:#fce5c7; }
.recipe-action-status { font-size:12px; line-height:1.6; margin-top:10px; color:var(--ink); }
.recipe-action-status:empty { display:none; }
.recipe-copy-fallback { display:block; margin-top:12px; font-size:12px; }
.recipe-copy-fallback[hidden],.recipe-actions[hidden] { display:none; }
.recipe-copy-fallback input { display:block; width:100%; min-width:0; margin-top:8px; padding:12px; border:1px solid var(--ink); border-radius:8px; background:white; font:inherit; }
.recipe-print { display:none; }
@media(max-width:420px) { .recipe-action-buttons { flex-direction:column; } }
@page { size:auto; margin:16mm; }
@media print {
  html,body,body:has(dialog[open]) { height:auto!important; overflow:visible!important; background:white!important; color:black!important; }
  body.printing-recipe>*:not(#recipe-print) { display:none!important; }
  dialog::backdrop { display:none!important; }
  body.printing-recipe>#recipe-print { display:block!important; font-family:Arial,Helvetica,sans-serif; font-size:10.5pt; line-height:1.5; color:#111; }
  .recipe-print h1 { margin:8pt 0 10pt; font-size:24pt; line-height:1.1; letter-spacing:-.5pt; }
  .recipe-print h2 { margin:16pt 0 7pt; font-size:14pt; break-after:avoid; }
  .recipe-print p { margin:8pt 0; }
  .recipe-print .print-brand { font-size:9pt; letter-spacing:1pt; }
  .recipe-print .print-note { font-size:9pt; color:#333; }
  .print-ingredients { max-width:115mm; padding:0; list-style:none; }
  .print-ingredients li { display:flex; justify-content:space-between; gap:12pt; border-bottom:.5pt solid #ccc; padding:3pt 0; break-inside:avoid; }
  .print-steps { padding-left:17pt; }
  .print-steps li { margin-bottom:7pt; break-inside:avoid; }
  .print-source { border-top:1pt solid #aaa; padding-top:8pt; font-size:8pt; overflow-wrap:anywhere; }
  /* The standalone recipe also prints cleanly when JavaScript is disabled. */
  body:not(.printing-recipe) .site-header,body:not(.printing-recipe) .site-footer,.back-link,.recipe-actions,.recipe-page-caption,.static-recipe>img { display:none!important; }
  body:not(.printing-recipe) .content-page,body:not(.printing-recipe) .static-recipe { width:100%; max-width:none; border:0; margin:0; overflow:visible; }
  body:not(.printing-recipe) .static-recipe .dialog-body { padding:0; }
}

/* Kitchen tools follow the existing cream, green and fruit-colour palette. */
.extra-filters { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; padding:20px; margin:0 0 24px; border:1px solid #29463430; border-radius:18px; background:#f4f7e9; }
.extra-filters[hidden],.priority-control[hidden],.kitchen-panel[hidden],.recipe-detail-grid[hidden] { display:none; }
.extra-filters label { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:14px; font-weight:600; }
.extra-filters select,.priority-control select { font:inherit; color:var(--ink); background:#fffef8; border:1px solid #29463465; border-radius:10px; padding:10px; min-height:44px; max-width:100%; }
.extra-filters input,.kitchen-checklist input { accent-color:#294634; width:22px; height:22px; flex-shrink:0; }
.extra-filters p { margin:0; width:100%; font-size:12px; line-height:1.6; }
.priority-control { margin:20px 0; text-align:left; }
.priority-control label { display:block; font-size:15px; font-weight:700; margin-bottom:8px; }
.priority-control select { width:100%; }
.priority-control p { font-size:12px; line-height:1.6; margin:8px 0; }
.recipe-alternatives { border:1px solid #29463440; border-radius:14px; padding:16px 20px; margin:24px 0; background:#fff7ec; }
.recipe-alternatives summary { cursor:pointer; font-weight:700; line-height:1.5; min-height:32px; }
.recipe-alternatives li { margin:14px 0; line-height:1.7; }
.recipe-alternatives p { font-size:12px; line-height:1.7; }
.recipe-guide { margin:24px 0; padding:20px; border-radius:14px; background:#f2f6e8; }
.recipe-guide h3 { margin:0 0 16px; font-size:19px; }
.fruit-guide-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-top:8px; }
.fruit-guide-links strong { min-width:110px; }
.fruit-guide-links a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; font-size:14px; }
.kitchen-panel { padding:24px; margin:20px 0; border:2px solid #294634; border-radius:20px; background:#fffef8; }
.kitchen-panel h3 { font-size:26px; margin:14px 0; line-height:1.2; }
.kitchen-panel p { line-height:1.65; }
.kitchen-checklist { list-style:none; padding:0; }
.kitchen-checklist li { border-bottom:1px solid #29463425; }
.kitchen-checklist label { display:flex; align-items:center; gap:12px; padding:12px 0; min-height:52px; cursor:pointer; }
.kitchen-checklist label span { flex:1; }
.kitchen-checklist label:has(input:checked) span { text-decoration:line-through; }
.kitchen-checklist strong { font-size:15px; text-align:right; }
.kitchen-check-status,.kitchen-progress { font-size:14px; font-weight:600; }
.kitchen-step { padding-top:24px; margin-top:24px; border-top:2px solid #294634; }
.kitchen-panel .kitchen-instruction { font-size:22px; line-height:1.65; }
.kitchen-navigation { display:flex; flex-wrap:wrap; gap:10px; }
.kitchen-navigation button,.base-portions button { font:inherit; font-weight:600; min-height:48px; min-width:48px; padding:12px 16px; border:1px solid #294634; border-radius:12px; background:#e9f2d6; color:var(--ink); cursor:pointer; }
.kitchen-navigation button:disabled,.base-portions button:disabled { opacity:.45; cursor:default; }
.kitchen-local { font-size:12px; margin-top:24px; }
.recipe-card .priority-badge { display:block; font-size:12px; font-weight:700; margin-bottom:10px; color:#294634; }
:target.storage-reference-fruit,:target.freeze-reference-fruit { outline:3px solid #294634; outline-offset:4px; scroll-margin-top:24px; }
@media(max-width:600px) {
 .extra-filters { padding:16px; gap:16px; }
 .extra-filters>label:first-child { width:100%; }
 .extra-filters select { width:100%; }
 .kitchen-panel { padding:16px; }
 .kitchen-panel .kitchen-instruction { font-size:20px; }
 .fruit-guide-links strong { width:100%; }
 .kitchen-checklist label { flex-wrap:wrap; }
 .kitchen-checklist strong { margin-left:auto; }
}
