/* Compact grocery cards; restaurant previews and order dialogs are unchanged. */
html[data-customer-view="grocery"] #product-grid{gap:10px}
html[data-customer-view="grocery"] #product-grid .product-card{cursor:pointer;display:flex;flex-direction:column;padding:0 10px 10px;border-radius:16px;box-shadow:0 3px 12px #10244709}
html[data-customer-view="grocery"] #product-grid .product-card-media{border-radius:15px 15px 0 0;isolation:isolate;margin:0 -10px 7px;overflow:hidden;position:relative;width:calc(100% + 20px)}
html[data-customer-view="grocery"] #product-grid .product-photo{display:block;height:132px;object-fit:cover;background:#fff;padding:0;margin:0;width:100%;box-sizing:border-box}
html[data-customer-view="grocery"] #product-grid .product-discount-badge{background:linear-gradient(105deg,#ff8050,#f04e38);border:0;border-radius:0 10px 10px 0;box-shadow:0 5px 12px rgba(174,54,31,.32),inset 0 1px rgba(255,255,255,.26);color:#fff;font-size:9px;font-weight:900;isolation:isolate;left:0;letter-spacing:.03em;margin:0;min-width:67px;overflow:visible;padding:5px 11px 5px 9px;position:absolute;text-align:center;text-shadow:0 1px 1px rgba(117,35,24,.22);top:10px}
html[data-customer-view="grocery"] #product-grid .product-discount-badge:before{border-style:solid;border-width:0 0 6px 7px;border-color:transparent transparent #a93629 transparent;bottom:-6px;content:"";height:0;left:0;position:absolute;width:0}
html[data-customer-view="grocery"] #product-grid .product-discount-badge:after{background:linear-gradient(100deg,transparent 22%,rgba(255,255,255,.45) 50%,transparent 78%);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;transform:translateX(-145%) skewX(-18deg);width:46%;z-index:0;animation:discountRibbonShine 4.8s ease-in-out infinite}
html[data-customer-view="grocery"] #product-grid .product-category{font-size:9px;margin:0;line-height:1.3}
html[data-customer-view="grocery"] #product-grid .product-card h3{font-size:13px;line-height:1.35;margin:5px 0;min-height:0;letter-spacing:0}
html[data-customer-view="grocery"] #product-grid .product-card-store{align-items:center;color:var(--muted);display:flex;font-size:10px;font-weight:700;gap:5px;line-height:1.2;margin:0 0 6px;min-width:0}
html[data-customer-view="grocery"] #product-grid .product-card-store-logo{align-items:center;background:#f5f8ff;border:1px solid #dbe5fa;border-radius:50%;display:flex;flex:0 0 auto;height:18px;justify-content:center;overflow:hidden;width:18px}
html[data-customer-view="grocery"] #product-grid .product-card-store-logo{background:var(--partner-logo-background,#f5f8ff)}html[data-customer-view="grocery"] #product-grid .product-card-store-logo img{display:block;height:100%;object-fit:var(--partner-logo-fit,contain);object-position:var(--partner-logo-position,center);transform:scale(var(--partner-logo-scale,1));width:100%}
html[data-customer-view="grocery"] #product-grid .product-card-store>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-customer-view="grocery"] #product-grid .product-unit{background:transparent;border:0;padding:0;min-height:0;margin:0 0 8px;font-size:10px;color:var(--muted)}
html[data-customer-view="grocery"] #product-grid .product-card-actions{display:grid;gap:6px;position:absolute;right:8px;top:8px;z-index:5}
html[data-customer-view="grocery"] #product-grid .product-card-actions button{cursor:pointer}
html[data-customer-view="grocery"] #product-grid .product-card-price{align-items:baseline;background:linear-gradient(135deg,rgba(17,70,177,.96),rgba(52,102,229,.94));border:1px solid rgba(255,255,255,.34);border-bottom:0;border-left:0;border-radius:0 11px 0 0;bottom:0;box-shadow:0 -3px 14px rgba(10,37,102,.2);color:#fff;display:flex;gap:6px;isolation:isolate;left:0;line-height:1;margin:0;min-height:0;overflow:hidden;padding:5px 8px 5px 9px;position:absolute;text-shadow:0 1px 2px rgba(8,27,77,.3);z-index:4}
html[data-customer-view="grocery"] #product-grid .product-card-price:after{animation:priceRibbonShine 3.8s ease-in-out infinite;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.03) 37%,rgba(255,255,255,.62) 50%,rgba(255,255,255,.05) 63%,transparent 80%);content:"";inset:0;position:absolute;transform:translateX(-125%) skewX(-18deg);width:78%;z-index:0}
html[data-customer-view="grocery"] #product-grid .product-card-price strong{font-size:14px;font-weight:900;letter-spacing:-.035em;position:relative;z-index:1}
html[data-customer-view="grocery"] #product-grid .product-card-price s{color:rgba(255,255,255,.7);font-size:9px;font-weight:700;position:relative;text-decoration-thickness:1px;z-index:1}
@media(max-width:700px){
 html[data-customer-view="grocery"] #product-grid{gap:8px}
 html[data-customer-view="grocery"] #product-grid .product-card{padding:0 8px 8px;border-radius:13px}
 html[data-customer-view="grocery"] #product-grid .product-card-media{border-radius:12px 12px 0 0;margin:0 -8px 6px;width:calc(100% + 16px)}
 html[data-customer-view="grocery"] #product-grid .product-photo{height:96px;padding:0;margin:0;width:100%}
 html[data-customer-view="grocery"] #product-grid .product-card h3{margin:4px 0;line-height:1.3}
 html[data-customer-view="grocery"] #product-grid .product-card-store{font-size:9px;margin-bottom:5px}
 html[data-customer-view="grocery"] #product-grid .product-card-store-logo{height:16px;width:16px}
 html[data-customer-view="grocery"] #product-grid .product-unit{margin-bottom:5px}
 html[data-customer-view="grocery"] #product-grid .product-discount-badge{left:0;min-width:60px;padding:4px 9px 4px 7px;top:7px}
 html[data-customer-view="grocery"] #product-grid .product-card-actions{right:6px;top:6px}
 html[data-customer-view="grocery"] #product-grid .product-card-price{bottom:0;gap:5px;left:0;padding:4px 7px 4px 8px}
 html[data-customer-view="grocery"] #product-grid .product-card-price strong{font-size:13px}
 html[data-customer-view="grocery"] #product-grid .product-card-price s{font-size:8px}
 html[data-customer-view="grocery"] .catalog-section{margin-top:12px}
}
@media(min-width:701px){html[data-customer-view="grocery"] #product-grid .product-photo{height:160px}html[data-customer-view="grocery"] #product-grid .product-card h3{font-size:15px}}
@keyframes priceRibbonShine{0%,63%{transform:translateX(-125%) skewX(-18deg)}82%,100%{transform:translateX(190%) skewX(-18deg)}}
@keyframes discountRibbonShine{0%,68%{transform:translateX(-145%) skewX(-18deg)}86%,100%{transform:translateX(245%) skewX(-18deg)}}
@media(prefers-reduced-motion:reduce){html[data-customer-view="grocery"] #product-grid .product-discount-badge:after{animation:none}}

/* Grocery-only saved products.  This stays separate from restaurant favorites. */
html[data-customer-view="grocery"] .product-favorites-filter,
html[data-customer-view="grocery"] .product-favorite-card-button{align-items:center;background:#f7fbff;border:1px solid #c8d8fb;border-radius:50%;color:#265bd8;display:grid;justify-content:center;position:relative;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
html[data-customer-view="grocery"] .product-favorites-filter svg,
html[data-customer-view="grocery"] .product-favorite-card-button svg{fill:none;height:19px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:19px}
html[data-customer-view="grocery"] .product-favorites-filter{height:38px;width:38px}
html[data-customer-view="grocery"] .product-favorites-filter.hidden{display:none}
html[data-customer-view="grocery"] .product-favorites-count{align-items:center;background:#f15a4a;border:2px solid #fff;border-radius:999px;color:#fff;display:grid;font-size:9px;font-style:normal;font-weight:900;height:17px;justify-content:center;line-height:1;min-width:17px;padding:0 3px;position:absolute;right:-5px;top:-5px}
html[data-customer-view="grocery"] .product-favorites-count.hidden{display:none}
html[data-customer-view="grocery"] #product-grid .product-favorite-card-button{height:34px;position:static;width:34px;z-index:4}
html[data-customer-view="grocery"] .product-favorites-filter:hover,
html[data-customer-view="grocery"] .product-favorites-filter:focus-visible,
html[data-customer-view="grocery"] #product-grid .product-favorite-card-button:hover,
html[data-customer-view="grocery"] #product-grid .product-favorite-card-button:focus-visible{background:#fff0eb;border-color:#ffb39d;color:#e74d3c;outline:0;transform:translateY(-1px)}
html[data-customer-view="grocery"] .product-favorites-filter.is-active,
html[data-customer-view="grocery"] #product-grid .product-favorite-card-button.is-favorite{background:linear-gradient(135deg,#ff7b49,#ed4762);border-color:#ed4762;color:#fff;box-shadow:0 7px 15px #ed476236}
html[data-customer-view="grocery"] .product-favorites-filter.is-active svg,
html[data-customer-view="grocery"] #product-grid .product-favorite-card-button.is-favorite svg{fill:currentColor}
html[data-customer-view="grocery"] #product-grid .product-favorite-card-button[aria-busy="true"]{opacity:.62;pointer-events:none}
html[data-customer-view="grocery"] .product-favorites-empty>span{color:#ed4762;font-size:42px}
html[data-theme="dark"][data-customer-view="grocery"] .product-favorites-filter,
html[data-theme="dark"][data-customer-view="grocery"] #product-grid .product-favorite-card-button{background:#182a4a;border-color:#395b96;color:#b9ccff}
html[data-theme="dark"][data-customer-view="grocery"] #product-grid .product-card-price{background:linear-gradient(135deg,rgba(34,85,199,.98),rgba(85,65,214,.96));border-color:rgba(192,216,255,.28);color:#fff}
html[data-theme="dark"][data-customer-view="grocery"] #product-grid .product-card-price s{color:rgba(234,242,255,.66)}
html[data-theme="dark"][data-customer-view="grocery"] #product-grid .product-card-store-logo{background:#182a4a;border-color:#395b96}
html[data-theme="dark"][data-customer-view="grocery"] .product-favorites-filter.is-active,
html[data-theme="dark"][data-customer-view="grocery"] #product-grid .product-favorite-card-button.is-favorite{background:linear-gradient(135deg,#ff7b49,#ed4762);border-color:#ed4762;color:#fff}
@media(max-width:700px){html[data-customer-view="grocery"] .product-favorites-filter{height:34px;width:34px}html[data-customer-view="grocery"] .product-favorites-filter svg{height:18px;width:18px}html[data-customer-view="grocery"] #product-grid .product-favorite-card-button{height:30px;width:30px}html[data-customer-view="grocery"] #product-grid .product-favorite-card-button svg{height:17px;width:17px}}
@media(prefers-reduced-motion:reduce){html[data-customer-view="grocery"] .product-favorites-filter,html[data-customer-view="grocery"] #product-grid .product-favorite-card-button{transition:none}html[data-customer-view="grocery"] #product-grid .product-card-price:after{animation:none}}
