.grocery{max-width:1160px;margin:auto;padding:24px}.grocery-hero{background:linear-gradient(120deg,#103f37,#215e4b);color:#fff;border-radius:22px;padding:32px;margin-bottom:24px}.grocery-hero h1{font-size:clamp(2.1rem,5vw,3.8rem);line-height:1.05;margin:10px 0}.grocery-hero p{color:#e0eee8;max-width:650px}.grocery-hero a{color:#fff}.grocery-find,.comparison-summary,.grocery-note{background:#f0f5ef;border:1px solid #cddbcf;border-radius:16px;padding:22px;margin:20px 0;color:#173c31}.grocery h2{font-size:1.6rem}.grocery label{display:block;font-weight:700;font-size:.9rem;margin:12px 0 5px}.grocery input,.grocery select{width:100%;min-width:0;min-height:46px;padding:10px;border:1px solid #9dac9e;border-radius:8px;background:#fff;color:#193d33;font:inherit;box-sizing:border-box}.grocery button,.search-line a,.flyer-links a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border:1px solid #769282;border-radius:9px;background:#fff;color:#124335;font-weight:700;text-decoration:none;cursor:pointer}.search-line{display:flex;gap:10px}.search-line input{flex:1}.search-line a{background:#14523d;color:white;white-space:nowrap}.flyer-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.fine,#search-note{font-size:.85rem;line-height:1.5}.deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.deal-card{border:1px solid #c5d2c9;padding:18px;border-radius:14px;background:#fff;color:#163c30}.deal-card h3{margin:0}.deal-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.deal-fields .wide{grid-column:1/-1}.deal-card output{display:block;background:#eaf4ed;color:#174d36;font-size:1.3rem;font-weight:800;padding:14px;margin-top:16px;border-radius:8px}.deal-card details{margin-top:12px}.deal-card summary{cursor:pointer;min-height:32px}.deal-card .remove{margin-top:14px;font-size:.85rem;min-height:44px}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.table-wrap{overflow:auto}.grocery table{width:100%;border-collapse:collapse;text-align:left}.grocery th,.grocery td{padding:13px;border-bottom:1px solid #c3d1c7;vertical-align:top}.grocery caption{text-align:left;font-size:.85rem;padding:10px 0}.grocery a:focus-visible,.grocery button:focus-visible,.grocery input:focus-visible,.grocery select:focus-visible,.grocery summary:focus-visible{outline:3px solid #b95b17;outline-offset:3px}.grocery-note{margin-top:30px} .grocery [hidden]{display:none!important}@media(max-width:850px){.deal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.grocery{padding:16px}.grocery-hero{padding:24px}.deal-grid{grid-template-columns:1fr}.search-line,.section-heading{flex-direction:column;align-items:stretch}.flyer-links a{flex:1 1 40%}.grocery-find,.comparison-summary{padding:16px}}
/* Contrast is explicit on this surface in every theme, including photo backgrounds. */
html body .shop-item-finder,html body .shop-empty{background:#183d32!important;color:#f5fff9!important;border:1px solid #608572!important;border-radius:16px;padding:22px;margin:20px 0}html body .shop-item-finder :is(h2,p,label,a),html body .shop-empty :is(h2,p,label,a){color:#f5fff9!important}html body .shop-item-finder label,html body .shop-empty label{display:block;font-weight:700;margin:12px 0 7px}html body .shop-item-finder input,html body .shop-empty input{background:#fff!important;color:#153c2f!important;border:1px solid #82988b!important;min-height:48px;padding:12px;border-radius:9px;font:inherit;min-width:0}html body .shop-item-finder button,html body .shop-empty button,.grocery .search-line button{background:#f7c36a!important;color:#172e25!important;border:1px solid #f7c36a!important;min-height:48px;padding:12px 16px;border-radius:9px;font:inherit;font-weight:750;cursor:pointer}html body .shop-finder #shop-search-note,html body .shop-finder #shop-count{color:inherit!important;opacity:1!important}html body .shop-item-finder :focus-visible,html body .shop-empty :focus-visible{outline:3px solid #f7c36a;outline-offset:4px}.shop-item-finder form{margin-bottom:14px}.shop-item-finder p,.shop-empty p{line-height:1.5}.shop-item-finder input,.shop-empty input{width:100%;box-sizing:border-box}.shop-item-finder [role=alert]:empty,.shop-empty [role=alert]:empty,.grocery [role=alert]:empty{display:none}.shop-empty form{margin-bottom:16px}
