/* Both public lists follow the internal shopping-list rows, quantities and checks. */
body.pub-page :is(#pm-shopping,#ow #ow-sl) { box-sizing:border-box; max-width:720px; width:100%; margin-left:auto; margin-right:auto; color:#3a3a3a; }
body.pub-page #pm-shopping { border:0; border-radius:0; padding:0 4px; }
body.pub-page #ow #ow-shop .ow-demo-frame { border:0; border-radius:0; box-shadow:none; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is(.ps-shopping-groups,#pd-items) { display:block; margin-top:14px; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is(.ps-shopping-group,.ow-sl-cat) { float:none; display:flow-root; width:100%; margin:0; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is(.ps-shopping-group h3,.ow-sl-cath) { float:none; width:100%; box-sizing:border-box; font-size:13.5px; font-weight:700; line-height:1.4; letter-spacing:.3px; text-transform:none; padding:10px 2px 5px; margin:15px 0 5px; border-bottom:2px solid currentColor; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is(.ps-shopping-group ul) { margin:0; padding:0; list-style:none; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is(.ps-shopping-group li,.ow-sl-row) { float:none; width:100%; box-sizing:border-box; margin:0 0 7px; border-bottom:1px solid #efefef; border-radius:0; background:#fff; }
body.pub-page #pm-shopping .ps-shopping-group li { padding:0; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is(.ps-shopping-group label,.ow-sl-row) { position:relative; display:flex; align-items:center; gap:15px; box-sizing:border-box; width:100%; min-height:40px; padding:10px 5px; margin:0; font-size:14px; font-weight:400; line-height:20px; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is(.ps-item-text,.ow-sl-name) { flex:1; min-width:0; margin:0; font-size:14px; font-weight:400; line-height:20px; color:#3a3a3a; overflow-wrap:anywhere; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is(.psl-quantity,.ps-amount,.ps-unit,.ow-sl-qty) { color:#a3a3a3; font-size:inherit; font-weight:400; margin:0; }
body.pub-page #pm-shopping .ps-shopping-group input[type="checkbox"] { position:absolute; top:50%; left:5px; transform:translateY(-50%); margin:0; opacity:0; width:20px; height:20px; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is(.psl-check,.ow-sl-row .ow-sl-buy) { position:relative; display:block; box-sizing:border-box; flex:0 0 20px; width:20px; height:20px; min-width:20px; min-height:20px; padding:0; margin:0; border:2px solid #02b30f; border-radius:5px; background:#fff; color:#02b30f; }
body.pub-page #ow #ow-sl .ow-sl-buy svg { width:16px; height:16px; }
body.pub-page #pm-shopping .psl-check::after { content:''; position:absolute; left:5px; top:1px; width:5px; height:10px; border:solid #02b30f; border-width:0 2px 2px 0; transform:rotate(45deg); opacity:0; }
body.pub-page #pm-shopping label:hover .psl-check::after { opacity:.5; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) input:checked + .psl-check { background:#02b30f; }
body.pub-page #pm-shopping input:checked + .psl-check::after { opacity:1; border-color:#fff; }
body.pub-page #pm-shopping input:focus-visible + .psl-check { outline:2px solid #2875ce; outline-offset:3px; }
body.pub-page #pm-shopping label:has(input:checked) .ps-item-text { text-decoration:line-through; opacity:.45; }
body.pub-page #ow #ow-sl :is(.ow-on,.ow-home) .ow-sl-buy { border-color:transparent; background:none; color:#888; }
body.pub-page #ow #ow-sl .ow-on .ow-sl-name { text-decoration:line-through; color:#9a9a9a; }
body.pub-page #ow #ow-sl .ow-home .ow-sl-name { color:#c55d00; }
body.pub-page #ow #ow-sl .psl-print-button { width:auto; float:none; margin:0 0 0 auto; padding:8px 14px; min-height:36px; border:1px solid #c7dfff; border-radius:8px; background:#f3f8ff; color:#265a9b; font:inherit; font-size:13px; box-shadow:none; }
.psl-print-heading { display:none; }
@media print {
	@page { size:A4; margin:12mm; }
	body.psl-printing { background:#fff !important; color:#2c2c2c; }
	body.psl-printing .psl-print-path > :not(.psl-print-path):not(.psl-print-target),body.psl-printing > :not(.psl-print-path):not(.psl-print-target) { display:none !important; }
	body.psl-printing .psl-print-path { position:static !important; float:none !important; display:block !important; width:100% !important; max-width:none !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; background:#fff !important; overflow:visible !important; }
	body.psl-printing .psl-print-path::before,body.psl-printing .psl-print-path::after { display:none !important; }
	body.psl-printing .psl-print-target { max-width:none !important; margin:0 !important; padding:0 !important; border:0 !important; float:none !important; }
	body.psl-printing :is(#pm-shopping,#ow #ow-sl) :is(h2,.ps-shop-tools,.pd-controls,.ow-sl-add,.pd-note,#pd-status,.ow-sl-more,.pd-links,.psl-check,.ow-sl-buy,.ow-sl-home,#ow-sl-bought,#ow-sl-have) { display:none !important; }
	body.psl-printing #pm-shopping > p:not(.ps-note):not(.ps-warning),body.psl-printing #pm-shopping > .ps-note:last-child { display:none !important; }
	body.psl-printing #pm-shopping li:has(input:checked),body.psl-printing #pm-shopping .ps-shopping-group:not(:has(input:not(:checked))) { display:none !important; }
	body.psl-printing #pm-shopping input[type="checkbox"] { display:none !important; }
	body.psl-printing :is(#pm-shopping,#ow #ow-sl) :is(.ps-shopping-group h3,.ow-sl-cath) { font-size:12px; text-transform:uppercase; break-after:avoid; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
	body.psl-printing :is(#pm-shopping,#ow #ow-sl) :is(.ps-shopping-group,.ow-sl-cat) { break-inside:auto; }
	body.psl-printing :is(#pm-shopping,#ow #ow-sl) :is(.ps-shopping-group li,.ow-sl-row) { break-inside:avoid; }
	body.psl-printing :is(#pm-shopping,#ow #ow-sl) :is(.ps-shopping-group label,.ow-sl-row) { padding:5px 0; min-height:0; }
	body.psl-printing :is(#pm-shopping,#ow #ow-sl) :is(.ps-item-text,.ow-sl-name) { font:12px/1.5 Arial,sans-serif; }
	body.psl-printing .psl-print-heading { display:block; background:#1a2e1b; color:#fff; font:700 20px/1.4 Arial,sans-serif; padding:10px 12px; margin:0 0 12px; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
	body.psl-printing .psl-print-heading small { display:block; color:#8ab08c; font-size:11px; font-weight:400; }
	body.psl-printing .psl-brand-ca { color:#ffbe47; }
	body.psl-printing .psl-brand-cook { color:#02b30f; }
}

body.pub-page :is(#pm-shopping,#ow #ow-sl) :is([data-group="meat"] h3,[data-cat="meat"] .ow-sl-cath) { color:#cd015f; border-bottom-color:#cd015f; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is([data-group="fish"] h3,[data-cat="fish"] .ow-sl-cath) { color:#2e86ab; border-bottom-color:#2e86ab; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is([data-group="veg"] h3,[data-cat="veg"] .ow-sl-cath) { color:#4a8b3a; border-bottom-color:#4a8b3a; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is([data-group="dairy"] h3,[data-cat="dairy"] .ow-sl-cath) { color:#c9961e; border-bottom-color:#c9961e; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is([data-group="bakery"] h3,[data-cat="bakery"] .ow-sl-cath) { color:#a9762f; border-bottom-color:#a9762f; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is([data-group="spice"] h3,[data-cat="spice"] .ow-sl-cath) { color:#04af8f; border-bottom-color:#04af8f; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is([data-group="seeds"] h3,[data-cat="seeds"] .ow-sl-cath) { color:#7a6a1e; border-bottom-color:#7a6a1e; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is([data-group="canned"] h3,[data-cat="canned"] .ow-sl-cath) { color:#7e8b3d; border-bottom-color:#7e8b3d; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is([data-group="drinks"] h3,[data-cat="drinks"] .ow-sl-cath) { color:#7d3c98; border-bottom-color:#7d3c98; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is([data-group="other"] h3,[data-cat="other"] .ow-sl-cath) { color:#e5a900; border-bottom-color:#e5a900; }
body.pub-page :is(#pm-shopping,#ow #ow-sl) :is([data-group="extras"] h3,[data-cat="extras"] .ow-sl-cath) { color:#be29d9; border-bottom-color:#be29d9; }
body.pub-page #ow #ow-sl [data-cat="bought"] .ow-sl-cath { color:#02b30f; border-bottom-color:#02b30f; }
body.pub-page #ow #ow-sl [data-cat="have"] .ow-sl-cath { color:#c55d00; border-bottom-color:#c55d00; }
