/* ===== デモエリアの中央寄せ ===== */
.demo-container {
  justify-content: center;
}

/* ===== ラッパー ===== */
.es-wrapper {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  overflow: hidden;
  width: 100%;
  max-width: 360px;
}

/* ===== 検索ボックス ===== */
.es-search-box {
  position: relative;
  padding: 12px 16px;
  border-bottom: 1px solid #E2E8F0;
}
.es-search-icon {
  position: absolute;
  top: 50%;
  left: 28px;
  transform: translateY(-50%);
  pointer-events: none;
}
.es-input {
  width: 100%;
  padding: 8px 12px 8px 36px;
  font-size: 14px;
  color: #1A2332;
  background: #F8FAFC;
  border: 1.5px solid #E2E8F0;
  border-radius: 8px;
  outline: none;
  font-family: sans-serif;
  transition: border-color 0.15s;
}
.es-input:focus {
  border-color: #2B7FE8;
  background: #fff;
}

/* ===== リスト ===== */
.es-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.es-list li {
  padding: 12px 20px;
  font-size: 14px;
  color: #1A2332;
  border-bottom: 1px solid #E2E8F0;
  transition: background 0.1s;
}
.es-list li:last-child {
  border-bottom: none;
}
.es-list li:hover {
  background: #F8FAFC;
}

/* ===== 空状態 ===== */
.es-empty {
  padding: 40px 20px;
  text-align: center;
}
.es-empty-title {
  margin: 16px 0 8px;
  font-size: 14px;
  font-weight: 600;
  color: #9AA5B4;
}
.es-empty-desc {
  margin: 0;
  font-size: 13px;
  color: #B0BAC9;
}

/* ===== リセットボタン ===== */
.reset-btn {
  padding: 6px 16px;
  font-size: 13px;
  color: #5A6A7A;
  background: #fff;
  border: 1.5px solid #D0D7E0;
  border-radius: 6px;
  cursor: pointer;
  font-family: sans-serif;
  transition: background 0.15s, border-color 0.15s;
}
.reset-btn:hover {
  background: #F4F6F9;
  border-color: #9AA5B4;
}
