.keep { position: relative; display: inline-block; }
.keep > summary { list-style: none; cursor: pointer; }
.keep > summary::-webkit-details-marker { display: none; }
.keep__box {
  position: absolute;
  z-index: 20;
  top: calc(100% + var(--sp-8));
  left: 0;
  width: min(360px, 90vw);
  padding: var(--sp-16);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  box-shadow: 0 12px 32px rgba(16, 35, 49, 0.14);
}
.keep__hint { margin: 0 0 var(--sp-12); font-size: var(--fs-14); color: var(--ink-600); }
.keep__lists { display: flex; flex-wrap: wrap; gap: var(--sp-8); margin-bottom: var(--sp-12); }
.keep__lists:empty { display: none; }
.keep__list {
  min-height: 40px;
  padding: 0 var(--sp-12);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  background: var(--paper);
  color: var(--ink-900);
  font: inherit;
  cursor: pointer;
}
.keep__list:hover { border-color: var(--orange-500); background: var(--orange-50); }
.keep__list span { color: var(--ink-400); }
.keep__new { display: flex; gap: var(--sp-8); }
.keep__new input {
  flex: 1;
  min-width: 0;
  min-height: 44px;
  padding: 0 var(--sp-12);
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  font-size: var(--fs-16);
  color: var(--ink-900);
}
.keep__new .btn { margin-top: 0; }
.keep__note { margin: var(--sp-8) 0 0; font-size: var(--fs-14); color: var(--ink-900); }
.keep__note:empty { display: none; }

.lists { padding-bottom: var(--sp-48); }
.list { max-width: 900px; }
.list__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--sp-8) var(--sp-16); margin-bottom: var(--sp-12); }
.list__head .block__head { margin: 0; }
.list__total { margin: 0; font-family: var(--font-tag); font-weight: 700; font-size: var(--fs-25); }
.list .sheet__table a { color: var(--ink-900); text-decoration: none; }
.list .sheet__table a:hover { color: var(--navy-700); }
.list__gone { color: var(--low); }
.list .cart__actions { margin-top: var(--sp-16); align-items: center; }
.list .cart__actions .btn { margin-top: 0; }

@media (max-width: 640px) {
  .keep { display: block; }
  .keep > summary { width: 100%; }
  .keep__box { position: static; width: auto; margin-top: var(--sp-8); box-shadow: none; }
}
