/* Grocery lists, printable templates and lunch ideas (scripts/list-pages.mjs) */
.lp-print-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 18px}
.lp-print-bar span{font-size:13px;color:var(--muted)}
.lp-sheet{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 30px rgba(32,38,33,.06);padding:26px 28px 18px;margin:0 0 34px;color:var(--ink)}
.lp-sheet-head{display:flex;justify-content:space-between;align-items:end;gap:18px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:16px}
.lp-sheet-head h3{margin:0;font-size:24px}
.lp-fields{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.lp-fields span{display:flex;align-items:end;gap:6px}
.lp-fields i{display:inline-block;width:110px;border-bottom:1px solid #9aa39a;height:14px}
.lp-aisles{columns:2;column-gap:26px}
.lp-aisle{break-inside:avoid;padding-bottom:4px}
.lp-aisle+.lp-aisle{margin-top:12px}
.lp-aisle h3{font-size:11px!important;letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px!important;color:var(--green);border-bottom:1px solid var(--line);padding-bottom:4px}
.article-body .lp-aisle ul,.lp-side ul{list-style:none;padding:0;margin:0}
.article-body .lp-aisle li,.lp-side li{display:flex;align-items:center;gap:9px;margin:0;padding:3px 0;font-size:14px;line-height:1.45;color:var(--ink)}
.lp-aisle li small{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap;padding-left:8px}
.lp-box{flex:none;width:13px;height:13px;border:1.5px solid #59625a;border-radius:2px}
.lp-line{flex:1;border-bottom:1px solid #c9cfc6;height:18px}
.lp-sheet-foot{font-size:11px!important;color:var(--muted);margin:16px 0 0!important;border-top:1px solid var(--line);padding-top:8px}
.lp-planner{display:grid;grid-template-columns:minmax(0,3fr) minmax(150px,1fr);gap:18px;overflow-x:auto}
.lp-grid{table-layout:fixed;min-width:520px;border:1px solid #c9cfc6}
.lp-grid th,.lp-grid td{border:1px solid #c9cfc6;padding:6px 8px;height:58px;background:#fff}
.lp-grid thead th{height:auto;background:var(--soft);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.lp-grid thead th:first-child{width:52px}
.lp-grid tbody th{font-size:12px;background:var(--soft)}
.lp-side h4{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;color:var(--green)}
.lp-side h4+ul{margin-bottom:12px}
.lp-notes{border:1px solid #c9cfc6;min-height:90px}
.lp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.article-body .lp-dinners{list-style:none;padding:0;margin:0 0 6px}
.article-body .lp-dinners li{display:flex;align-items:end;gap:12px;margin:0;padding:8px 0;font-size:14px;color:var(--ink)}
.lp-dinners b{width:96px;flex:none}
.lp-micro{font-size:13px!important;color:var(--muted)}
.lp-lunches{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px;margin:18px 0 30px}
.lp-lunch{display:block;text-decoration:none;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;color:var(--ink)!important}
.lp-lunch:hover{border-color:#b9c2b5}
.lp-lunch img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:var(--soft)}
.lp-lunch-name{display:block;padding:10px 12px 2px;font-weight:650;font-size:15px;line-height:1.3}
.lp-lunch-meta{display:block;padding:0 12px 12px;font-size:12px;color:var(--muted)}
.lp-lunch-meta b{color:var(--green)}
.lp-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px;margin:18px 0 30px}
.lp-lib-item p{margin:6px 2px 0;font-size:12px}
.lp-lib-item p b{color:var(--green)}
.lp-library .rd-card .rd-name{font-size:16px;margin:10px 10px 14px}
.lp-related{border-top:1px solid var(--line);margin-top:40px;padding-top:24px}
.lp-related h2{font-size:20px!important;margin:0 0 12px!important}
.article-body .lp-related ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px;margin:0}
.article-body .lp-related li{margin:0;padding:0;font-size:14px}
.lp-related a{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:5px 12px;text-decoration:none}
.lp-sources{border-top:1px solid var(--line);margin-top:34px;padding-top:18px}
.lp-sources h2{font-size:16px!important;margin:0 0 8px!important}
.article-body .lp-sources li{font-size:13px;line-height:1.6;margin-bottom:6px}
/* unit price calculator */
.up-rows{display:grid;gap:10px;margin-bottom:12px}
.up-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,.9fr) 32px;gap:8px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.up-row label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:650;color:var(--muted)}
.up-row input,.up-row select{width:100%;padding:9px 10px;border:1px solid #d8d8cc;border-radius:8px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.up-remove{border:0;background:none;font-size:20px;color:var(--muted);padding:6px 0}
.up-out{grid-column:1/-1;font-size:14px;color:var(--ink)}
.up-row.best{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.up-row.best .up-out b{color:var(--green)}
.up-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.up-summary{margin:14px 0 0;font-size:15px;color:var(--ink)}
@media(max-width:760px){
 .lp-sheet{padding:18px 14px 12px}
 .lp-aisles{columns:1}
 .lp-planner{grid-template-columns:1fr}
 .up-row{grid-template-columns:1fr 1fr}
 .up-row label:first-child{grid-column:1/-1}
 .up-remove{grid-column:2;justify-self:end}
}
/* Print: only the chosen sheet, on its own page(s). Plain Ctrl/Cmd+P prints the first sheet. */
@page{margin:12mm}
@page planner{size:landscape;margin:10mm}
@media print{
 body:has(.lp-sheets)>:not(main),
 body:has(.lp-sheets) main>.container>:not(.article-layout),
 body:has(.lp-sheets) .article-toc,
 body:has(.lp-sheets) .article-body>:not(.lp-sheets),
 body:has(.lp-sheets) .lp-sheets>:not(.lp-sheet){display:none!important}
 body:has(.lp-sheets) .article-layout{display:block!important;padding:0!important}
 body:has(.lp-sheets) .container{width:100%!important;margin:0!important}
 body:not([data-printing]) .lp-sheet~.lp-sheet,
 body[data-printing] .lp-sheet:not(.printing){display:none!important}
 .lp-sheet{border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;break-after:page}
 .lp-sheet--planner{page:planner}
 .lp-aisles{columns:2!important;column-gap:24px!important}
 .lp-planner{grid-template-columns:3fr 1fr!important;overflow:visible!important}
 .lp-grid{min-width:0!important}
 .lp-grid td,.lp-grid tbody th{height:80px!important}
 .lp-sheet a{color:inherit!important;text-decoration:none!important}
 .lp-box{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
