/* Cooking controls extend the existing palette and type, in both editions. */
.cooking-controls{border-block:1px solid var(--line);padding:17px 0;margin:22px 0;color:var(--ink);font:12px/1.6 var(--sans)}
.cooking-portions-row{display:flex;align-items:end;gap:16px;flex-wrap:wrap}
.cooking-portions-row label,.cooking-selected-controls label{display:flex;flex-direction:column;gap:5px;font:11px/1.5 var(--sans);min-width:0}
.cooking-portions-row select,.cooking-selected-controls select{width:88px;padding:10px 28px 10px 11px;background:var(--paper);color:var(--ink);border:1px solid var(--line);font:12px var(--sans)}
.cooking-controls .button{font:11px/1.4 var(--sans);padding:12px 16px;gap:12px;min-height:40px;max-width:100%}
.cooking-batch-note{color:var(--muted);font-size:11px;margin:11px 0 0;max-width:50ch}
.cooking-status{font-size:11px;margin:8px 0 0;min-height:0;overflow-wrap:anywhere}
.cooking-status:empty{display:none}
.cooking-serving-summary{font:11px/1.5 var(--sans);color:var(--muted);margin:13px 0}
#shopping-nav{margin-inline-start:auto;white-space:nowrap}
.results-bar:has(#shopping-nav){flex-wrap:wrap}
.cooking-dialog{width:min(680px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:28px;margin:auto;font:13px/1.6 var(--sans);box-shadow:0 20px 80px #0004}
.cooking-dialog::backdrop{background:#20232199}
.cooking-dialog *{min-width:0}
.cooking-dialog-header{display:flex;justify-content:space-between;align-items:start;gap:18px}
.cooking-dialog h2{font:500 38px/1.1 var(--serif);letter-spacing:-.6px;margin:0;overflow-wrap:anywhere}
.cooking-dialog h3{font:500 25px/1.2 var(--serif);margin:27px 0 12px}
.cooking-dialog-intro,.cooking-empty{color:var(--muted);font-size:12px;margin:17px 0;overflow-wrap:anywhere}
.cooking-text-button{color:var(--ink);background:none;border:0;border-bottom:1px solid var(--line);font:11px/1.5 var(--sans);padding:4px 0;align-self:start;white-space:nowrap}
.cooking-text-button:hover{border-color:var(--ink)}
.cooking-dialog button:focus-visible,.cooking-dialog input:focus-visible,.cooking-dialog select:focus-visible,.cooking-controls select:focus-visible{outline:3px solid var(--olive);outline-offset:3px}
.cooking-selected-recipe{border-block-end:1px solid var(--line);padding:12px 0;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.cooking-selected-title{font-size:13px;margin:0;overflow-wrap:anywhere}
.cooking-selected-controls{display:flex;gap:15px;align-items:center}
.cooking-selected-controls .cooking-text-button{align-self:end;margin-bottom:10px}
.cooking-shopping-items{list-style:none;padding:0;margin:0}
.cooking-shopping-items li{border-block-end:1px solid var(--line);margin:0;padding:0}
.cooking-shopping-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;padding:13px 0;font-size:13px;cursor:pointer}
.cooking-shopping-row input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--olive)}
.cooking-shopping-row span{overflow-wrap:anywhere}
.cooking-shopping-row:has(input:checked) span{color:var(--muted);text-decoration:line-through}
.cooking-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.cooking-dialog-actions .button{font:11px/1.4 var(--sans);padding:12px 16px;gap:12px;max-width:100%}
.cooking-dialog button:disabled{opacity:.5;cursor:default}
.cooking-storage-status{font-size:10px;color:var(--muted);margin:14px 0 0;overflow-wrap:anywhere}
@media(max-width:440px){.cooking-dialog{padding:18px 16px}.cooking-dialog h2{font-size:32px}.cooking-selected-recipe{grid-template-columns:1fr;gap:8px}.cooking-selected-controls{justify-content:space-between}.cooking-dialog-header{gap:12px}.cooking-portions-row{gap:12px}.cooking-portions-row .button{font-size:10px;padding-inline:12px}}
@media print{.cooking-controls,.cooking-dialog,#shopping-nav{display:none!important}.cooking-serving-summary{display:block!important;color:#000;font-size:10pt;margin:8pt 0}}
@media print{.cooking-dialog::backdrop{display:none!important}}

.cooking-list-note{font:11px/1.65 var(--sans);color:var(--muted);margin:11px 0 0;max-width:52ch}
.cooking-portions-row .button{white-space:normal;text-align:left}
