.shopping-item{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);overflow:hidden;box-shadow:0 6px 18px var(--shadow-soft);transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.shopping-item.checked{border-color:color-mix(in srgb,var(--leaf) 34%,var(--line));background:color-mix(in srgb,var(--leaf-soft) 34%,var(--surface-raised));box-shadow:0 4px 14px var(--shadow-soft)}.shopping-item.duplicate-attention{animation:shopping-item-duplicate-attention .72s cubic-bezier(.22,1,.36,1)}.shopping-item.deleting{pointer-events:none;animation:shopping-item-delete .3s cubic-bezier(.22,1,.36,1) both}.shopping-item-row{position:relative;z-index:1;min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;grid-gap:8px;gap:8px;padding-right:8px;background:var(--surface-raised);transition:transform .18s ease}.shopping-item button:active{transform:none}.shopping-item.delete-revealed .shopping-item-row{transform:translateX(-86px)}.shopping-item.no-store .shopping-item-row{grid-template-columns:minmax(0,1fr)}.shopping-item-toggle{min-width:0;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;grid-gap:9px;gap:9px;padding:8px 10px;border:0;background:transparent;color:var(--foreground);text-align:left;touch-action:pan-y;transition:opacity .18s ease}.shopping-item-check{width:24px;height:24px;display:grid;place-items:center;border:2px solid var(--check-border);border-radius:50%;color:white;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.shopping-item-details{min-width:0;display:flex;flex-direction:column;gap:2px}.shopping-item-details small,.shopping-item-details strong{overflow-wrap:anywhere}.shopping-item-details strong{position:relative;width:-moz-fit-content;width:fit-content;max-width:100%}.shopping-item-details strong:after{content:"";position:absolute;left:-2px;right:-2px;top:55%;height:2px;border-radius:999px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .18s ease-out}.shopping-item-details small{color:var(--muted)}.shopping-item.checked .shopping-item-toggle{opacity:.58}.shopping-item.checked .shopping-item-check{border-color:var(--leaf);background:var(--leaf);animation:check-pop .22s ease-out}.shopping-item.checked .shopping-item-details strong:after{transform:scaleX(1);transition-duration:.28s}.aisle-button{width:58px;min-width:58px;margin:10px 0;display:grid;align-content:center;grid-gap:2px;gap:2px;padding:6px;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 38%,transparent);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,white 22%,transparent),transparent),var(--gold-soft);color:var(--gold);text-align:center;box-shadow:inset 0 1px 0 color-mix(in srgb,white 42%,transparent)}.aisle-button-label{color:color-mix(in srgb,var(--gold) 72%,var(--foreground));font-size:.56rem;font-weight:900;line-height:1;text-transform:uppercase}.aisle-button-value{overflow:hidden;color:var(--gold);font-size:1rem;font-weight:900;line-height:1;overflow-wrap:anywhere;word-break:break-word}.aisle-button.location-loading{cursor:wait;opacity:.72}.aisle-button.location-loading .aisle-button-value{animation:location-loading-pulse .9s ease-in-out infinite alternate}.delete-item-button{position:absolute;inset:0 0 auto auto;width:86px;min-height:64px;display:grid;place-items:center;padding:0;border:0;background:var(--danger);color:white;font-weight:800}@keyframes check-pop{0%{transform:scale(.86)}62%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes shopping-item-delete{0%{max-height:300px;opacity:1}to{max-height:0;margin-bottom:-8px;border-width:0;opacity:0;transform:translateX(-24px)}}@keyframes shopping-item-duplicate-attention{0%,to{border-color:var(--line);background:var(--surface-raised);box-shadow:0 6px 18px var(--shadow-soft)}38%{border-color:var(--leaf);background:color-mix(in srgb,var(--leaf-soft) 58%,var(--surface-raised));box-shadow:0 0 0 4px color-mix(in srgb,var(--leaf) 18%,transparent),0 8px 22px var(--shadow-soft)}}@keyframes location-loading-pulse{0%{opacity:.42}to{opacity:1}}@media (prefers-reduced-motion:reduce){.shopping-item.deleting,.shopping-item.duplicate-attention{animation:none}}